TUGAS WORKSHOP DIKTAT BAB V PERULANGAN
Ada 3 pernyataan perulangan dalam C++, yaitu menggunakan struktur for, while dan do – while. Pola di atas adalah pola perulangan naik. Ini ditunjukkan dengan i++. Tentu saja syarat aksi dilaksanakan bila akhir >= awal. Namun bila dikehendaki pola turun bagian i++ diganti dengan i--, dan syarat menjadi awal >= akhir.
1. Dibaca N bilangan bulat positif tampilkan jumlah bilangan 1+2+..+ N
Algoritma menghitung jumlah bilangan deret
{menghitung jumlah bilangan deret dari sebuah bilangan bulat positif yang diinputkan (n)}
Deklarasi
n,a,i : integer
Deskripsi
read (n)
a <- 0
i <- 0
while (!(i>=n))
i <- i+1
a <- a+i
Translasi 1
#include <iostream>
#include <string>
using namespace std;
class deret{
private:
string raptor_prompt_variable_zzyz;
int n,a,i;
public:
deret(){
raptor_prompt_variable_zzyz ="Masukkan angka: ";
cout << raptor_prompt_variable_zzyz;
cin >> n;
a =0;
i =0;
}
void output();
};
void deret::output(){
while (!(i>=n))
{
i =i+1;
a =a+i;
cout << a << endl; }
cout << "hasil = "<<a << endl;
}
int main()
{
deret d;
d.output();
return 0;
}
Hasil Kasus 1
2. Dibaca bilangan non negatif secara berulang sampai diakhiri dengan membaca
bilangan negatif, kemudian tampilkan hasil penjumlahan bilangan non negatif
tersebut.
Algoritma bilangan negatif, kemudian tampilkan hasil penjumlahan bilangan non negatif
{membaca bilangan non negatif secara berulang sampai diakhiri dengan membaca bilangan negatif, kemudian tampilkan hasil penjumlahan bilangan non negatif}
Deklarasi
banyak,a,jumlah : integer
Deskripsi
jumlah <- 0
banyak <- 0
a <- 1
while (!(a<0)
read (a)
if (a>0) then
banyak <- banyak+1
jumlah <- jumlah+a
else
write (banyak,jumlah)
endif
endwhile
Flowchart 2
Translasi 2
#include <iostream>
#include <string>
using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int banyak;
int a;
int jumlah;
jumlah =0;
banyak =0;
a =1;
cout<<"Menghitung Jumlah Bil Non Negatif"<<endl;
while (!(a<0))
{
raptor_prompt_variable_zzyz ="Masukan Angka : ";
cout << raptor_prompt_variable_zzyz;
cin >> a;
if (a>0)
{
banyak =banyak+1;
jumlah =jumlah+a;
}
else
{
}
}
cout << "Banyak Nya : "<<banyak << endl;
cout << "Jumlah : "<<jumlah << endl;
return 0;
}
Hasil Kasus 2
banyak <- 0
a <- 1
while (!(a<0)
read (a)
if (a>0) then
banyak <- banyak+1
jumlah <- jumlah+a
else
write (banyak,jumlah)
endif
endwhile
Flowchart 2
Translasi 2
#include <iostream>
#include <string>
using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int banyak;
int a;
int jumlah;
jumlah =0;
banyak =0;
a =1;
cout<<"Menghitung Jumlah Bil Non Negatif"<<endl;
while (!(a<0))
{
raptor_prompt_variable_zzyz ="Masukan Angka : ";
cout << raptor_prompt_variable_zzyz;
cin >> a;
if (a>0)
{
banyak =banyak+1;
jumlah =jumlah+a;
}
else
{
}
}
cout << "Banyak Nya : "<<banyak << endl;
cout << "Jumlah : "<<jumlah << endl;
return 0;
}
Hasil Kasus 2
3. Buatlah tabel harga BBM mulai dari 1 sampai 100 liter untuk Premium, Pertamax
dan Solar
Algoritma menghitung harga bbm dari 1-100 liter
{menghitung harga bbm dari 1-100 liter sesuai dengan jenis bbm yang terdaftar di menu}
Deklarasi
a,b,c,d : integer
Deskripsi
read (a)
if (a==1)
for (b=1;b<=100;b++) do
c <- b*6550
else if (a==2)
for (b=1;b<=100;b++) do
c <- b*8150
if (a==1)
for (b=1;b<=100;b++) do
c <- b*6550
else if (a==2)
for (b=1;b<=100;b++) do
c <- b*8150
for (b=1;b<=100;b++) do
c <- b*5300
write (b,c)
endfor
endif
Translasi 3
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
class bbm{
private:
int a,b,c,d;
public:
bbm(){
cout<<" TABEL HARGA BBM "<<endl;
cout<<endl;
cout<<" Daftar Harga BBM Pom Bensin Kusuma Negara "<<endl;
cout<<" 1.Premium "<<endl;
cout<<" 2.Pertamax "<<endl;
cout<<" 3.Solar "<<endl;
cout<<endl;
cout<<" Masukkan pilihan BBM = ";
cin>>a;
}
void output();
};
void bbm::output(){
if (a==1){
cout<<" Daftar harga Premium "<<endl;
cout<<endl;
for (b=1;b<=100;b++){
c=b*6550;
cout<<b<<" liter = "<<c<<endl;}}
else if (a==2){
cout<<" Daftar harga Pertamax "<<endl;
for (b=1;b<=100;b++){
c=b*8150;
cout<<b<<" liter = "<<c<<endl;}}
else{
cout<<" Daftar harga Solar "<<endl;
for (b=1;b<=100;b++){
c=b*5300;
cout<<b<<" liter = "<<c<<endl;}}
}
int main(int argc, char** argv) {
bbm x;
x.output();
return 0;
}
Hasil Kasus 3
4. Dibaca N bilangan kemudian buat menu pilihan untuk
a. Menampilkan jumlahnya
b. Menampilkan rata-ratanya
c. Menampilkan nilai maksimum
d. Menampilkan nilai minimum
Algoritma membuat menu pilihan
{menentukan jumlah,rata-rata,max,min dari sebuah menu yang telah di buat}
Deklarasi
i,bts,maks,n,jumlah,mins,pilih : Integer
rata : float
rata : float
Deskripsi
read (bts)
i <- 0
jumlah <- 0
maks <- 0
read (n)
jumlah <- jumlah+n
rata <- jumlah/bts
if (maks<=n)
i <- i+1
read (pilih)
if (pilih==1)
else
if (pilih==2)
else
if (pilih==3)
else
endif
write (humlah,rata,maks,mins)
Flowchart 4
Translasi 4
#include <iostream>
#include <string>
using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int i,bts,maks,n,jumlah,mins,pilih;
float rata;
raptor_prompt_variable_zzyz ="Masukan Batas Inputan : ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> bts;
i =0;
jumlah =0;
maks =0;
while (!(i>=bts))
{
raptor_prompt_variable_zzyz ="Masukan Angka : ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> n;
jumlah =jumlah+n;
rata =jumlah/bts;
if (maks<=n)
{
maks =n;
}
else
{
mins =n;
}
i =i+1;
}
raptor_prompt_variable_zzyz ="1. Jumlah 2. Rata-rata 3. Max 4. Min ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> pilih;
if (pilih==1)
{
cout << "Jumlah "<<jumlah << endl; }
else
{
if (pilih==2)
{
cout << "Rata-rata "<<rata << endl; }
else
{
if (pilih==3)
{
cout << "Nilai Max "<<maks << endl; }
else
{
cout << "Nilai Min "<<mins << endl; }
}
}
return 0;
}
Hasil Kasus 4
i <- 0
jumlah <- 0
maks <- 0
read (n)
jumlah <- jumlah+n
rata <- jumlah/bts
if (maks<=n)
i <- i+1
read (pilih)
if (pilih==1)
else
if (pilih==2)
else
if (pilih==3)
else
endif
write (humlah,rata,maks,mins)
Flowchart 4
Translasi 4
#include <iostream>
#include <string>
using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int i,bts,maks,n,jumlah,mins,pilih;
float rata;
raptor_prompt_variable_zzyz ="Masukan Batas Inputan : ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> bts;
i =0;
jumlah =0;
maks =0;
while (!(i>=bts))
{
raptor_prompt_variable_zzyz ="Masukan Angka : ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> n;
jumlah =jumlah+n;
rata =jumlah/bts;
if (maks<=n)
{
maks =n;
}
else
{
mins =n;
}
i =i+1;
}
raptor_prompt_variable_zzyz ="1. Jumlah 2. Rata-rata 3. Max 4. Min ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> pilih;
if (pilih==1)
{
cout << "Jumlah "<<jumlah << endl; }
else
{
if (pilih==2)
{
cout << "Rata-rata "<<rata << endl; }
else
{
if (pilih==3)
{
cout << "Nilai Max "<<maks << endl; }
else
{
cout << "Nilai Min "<<mins << endl; }
}
}
return 0;
}
Hasil Kasus 4
5. Buatlah program untuk menampilkan deret Fibonacci sampai suku ke N
Analisis:
Ketika kita menghitung suku ke-3 (F(3)) maka suku ke-1 sebenarnya sudah tidak digunakan. Untuk itu kita bisa “menggeser tempat” :
f1 f2Lalu berulang kita hitung suku berikutnya : f3
Ketika kita menghitung suku ke-3 (F(3)) maka suku ke-1 sebenarnya sudah tidak digunakan. Untuk itu kita bisa “menggeser tempat” :
f1 f2Lalu berulang kita hitung suku berikutnya : f3
Bilangan Fibonacci dapat
disajikan sebagai berikut :
0, 1, 1, 2, 3, 5, 8, …
Dimulai dari suku pertama = 0 dan kedua = 1, suku ketiga adalah jumlah 2 suku pertama. Dalam rumus :
F(n) = F(n-1) + F(n-2)
0, 1, 1, 2, 3, 5, 8, …
Dimulai dari suku pertama = 0 dan kedua = 1, suku ketiga adalah jumlah 2 suku pertama. Dalam rumus :
F(n) = F(n-1) + F(n-2)
Algoritma menampilkan deret fibonacci
{menampilakan deret bilangan fibonacci sampai suku ke (n) ke piranti keluaran}
Deklarasi
(n,a,b,c) : integer
Deskripsi
a <- 0
b <- 1
c <- 1
read (n)
if (n>0)
c <- a+b;
a = b
b = c
write (c)
Translasi 5
#include <iostream>
#include <string>
using namespace std;
void fibonaci (int n,int a,int b,int c)
{
if (n>0)
{
cout << c << endl;
c =a+b;
a =b;
b =c;
fibonaci(n-1,a,b,c);
}
else
{
}
}
int main()
{
string raptor_prompt_variable_zzyz;
int n,a,b,c;
a=0;
b =1;
c =1;
raptor_prompt_variable_zzyz ="Masukan Banyaknya Suku : ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> n;
cout<<endl;
fibonaci(n,a,b,c);
return 0;
}
Hasil Kasus 5
6. Buatlah program untuk menampilkan bilangan prima dari 1 sampai 100
Analisis
Bilangan prima merupakan bilangan lebih besar dari angka 1 yang tidak
menghasilkan sisa bagi (mod) hanya pada 2 bilangan yaitu :
1.
Bilangan itu sendiri
2.
Bilangan 1
Contoh bilangan prima adalah : 2,3,5,7,11,13,17…dst.
Algoritma Menentukan Bilangan Prima 1-100
{menampilkan bilangan prima dari 1 sampai 100 ke piranti keluaran}
Deklarasi
i,j,c : integer
Deskripsi
for(i=1;i<=100;i++)c <- 0
for(j=1;j<=i;j++)
if(i%j==0){c=c+1)
if (c==2)
endfor
endif
write (i)
Translasi 6
#include <iostream>
#include <conio.h>
using namespace std;
class prima{
private:
int i,j,c;
public:
prima(){
}
void output();
};
void prima::output(){
cout<<"Bilangan Prima Antara 1-100 :\n\n";
for(i=1;i<=100;i++){
c=0;
for(j=1;j<=i;j++){
if(i%j==0){c=c+1;}
}
if (c==2)cout<<i<<" ";
}
}
int main(){
prima x;
x.output();
return 0;
}
Hasil Kasus 6










0 komentar:
Posting Komentar