Kamis, 30 Maret 2017

TUGAS WORKSHOP DIKTAT BAB V PERULANGAN

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
write (a)

Flowchart 1


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





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
else
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
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





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
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)

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

Popular Posts

Diberdayakan oleh Blogger.