Workshop Algoritma Pemrograman #4

Kasus

Analisis Program 4.2

a.

Analisis program membaca 3 bilangan dan menentukan bilangan terbesarnya

Algoritma :

  1. Meminta masukan 3 bilangan
  2. Mengecek kondisi dari 3 bilangan
  3. Menentukan bilangan terbesar

Deklarasi :

X, Y, Z : integer

Deskripsi :

read (X, Y, Z)

if (X>Y) and (X>Z) put “Bilangan terbesar adalah “+X;

else if (Y>X) and (Y>Z) put “Bilangan terbesar adalah “+Y;

else put “Bilangan terbesar adalah”+Z;

b.

Analisis mencari nilai maksimum

Algoritma :

  1. Meminta masukan 3 bilangan
  2. Mengecek kondisi dari 3 bilangan
  3. Memindahkan nilai variabel terbesar ke dalam variabel maks
  4. Mencetak nilai variabel maks

Deklarasi :

X, Y, Z : integer

maks : integer

Deskripsi :

read (X, Y, Z)

maks=X;

if (X>maks) maks=Y;

if (Z>maks) maks=Z;

write (maks)

Latihan

Persamaan Kuadrat

Analisis program untuk mencari nilai persamaan kuadrat

Algoritma :

  1. Meminta masukan
  2. Menghitung
  3. Melakukan pengecekan kondisi
  4. Menghitung nilai persamaan kuadrat
  5. Mencetak nilai hasil persamaan kuadrat

Deklarasi :

A, B, C : integer

disk : longint

x1, x2 : real

Deskripsi :

read (A, B, C)

disk=B*B-4*A*C

if (A=0) put “Bukan persamaan kuadrat”

else if (disk>0)

x1 (-B + sqrt (disk)/2*A)

x2 (-B – sqrt (disk)/2*A)

put x1+” “+x2

else if disk=0

x1 (-B/2*A)

x2 (x1)

put x1+” “+x2

else put “Akar imajiner”

#include <iostream>
#include <string>
#include <math.h>

using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int b;
int c;
int a;
int x2;
int disk;
int x1;

raptor_prompt_variable_zzyz =”Masukan Nilai A”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> a;
raptor_prompt_variable_zzyz =”Masukan Nilai B”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> b;
raptor_prompt_variable_zzyz =”Masukan Nilai C”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> c;
disk =b*b-4*a*c;
if (a==0)
{
cout << “Bukan Persamaan Kuadrat” << endl; }
else
{
if (disk>0)
{
x1 =-b+sqrt(disk)/2*a;
x2 =-b-sqrt(disk)/2*a;
cout << x1+” “+x2 << endl; }
else
{
if (disk==0)
{
x1 =-b/2*a;
x2 =x1;
cout << x1<<” “<<x2 << endl; }
else
{
cout << “Akar Imajiner” << endl; }
}
}

return 0;
}

Menghitung Banyak Hari

Analisis program untuk menghitung jumlah hari dalam 1 bulan dengan mempertimbangkan antara tahun kabisat dan tidak

algoritma :

  1. Meminta masukan angka bulan dan tahun
  2. Mengecek kondisi tahun apakah kabisat atau tidak
  3. Memproses
  4. Mencetak output

Deklarasi :

bulan, tahun : integer

Deskripi :

read (bulan, tahun)

if (bulan>=1 and bulan<=12)

if (bulan%2!=0) put “Jumlah hari adalah 31”

else if (bulan=2)

if (tahun%4=0) put “Jumlah hari adalah 29”

else put “Jumlah hari adalah 28”

else if (bulan%2=0) put “Jumlah hari adalah 30”

#include <iostream>
#include <string>

using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int bulan;
int tahun;

raptor_prompt_variable_zzyz =”Masukkan tahun”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> tahun;
raptor_prompt_variable_zzyz =”Masukan Bulan”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> bulan;
if (bulan>=1 && bulan<=12)
{
if (bulan % 2!=0)
{
cout << “Jumlah hari adalah 31” << endl; }
else
{
if (bulan==2)
{
if (tahun % 4==0)
{
cout << “Jumlah hari adalah 29” << endl; }
else
{
cout << “Jumlah hari adalah 28” << endl; }
}
else
{
if (bulan % 2==0)
{
cout << “Jumlah hari adalah 30” << endl; }
else
{
}
}
}
}
else
{
cout << “BULAN TIDAK DITEMUKAN!!!” << endl; }

return 0;
}

Konversi Nilai

Analisis program yang mengkonversi nilai angka menjadi nilai huruf

Algoritma : 

  1. Meminta masukan
  2. Mengecek kondisi angka
  3. Memproses
  4. Mencetak output

Deklarasi : 

angka : integer

Deskripsi : 

read (angka)

if (angka<0 || angka>100) put “INPUT ERROR”

else if (angka<=60) put “Nilai F”

else if (angka<=70) put “Nilai D”

else if (angka<=80) put “Nilai C”

else if (angka<=90) put “Nilai B”

else if (angka<=100) put “Nilai A”

Kemudian di generate ke dalam c++;

#include <iostream>
#include <string>

using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int angka;

raptor_prompt_variable_zzyz =”Masukan angka”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> angka;
if (angka<0 || angka>100)
{
cout << “INPUT ERROR!!!” << endl; }
else
{
if (angka<=60)
{
cout << “Nilai F” << endl; }
else
{
if (angka<=70)
{
cout << “Nilai D” << endl; }
else
{
if (angka<=80)
{
cout << “Nilai C” << endl; }
else
{
if (angka<=90)
{
cout << “Nilai B” << endl; }
else
{
if (angka<=100)
{
cout << “Nilai A” << endl; }
else
{
}
}
}
}
}
}

return 0;
}

Maka output yang dihasilkna akan seperti ini

Memecah Mata Uang Rupiah

Analisis program yang menerima masukan nilai rupiah dan kemudian akan memecah

Algoritma : 

  1. Menerima masukan nilai rupiah
  2. Membagi nilai uang rupiah
  3. Mengecek kondisi dari uang rupiah
  4. Mencari modulus
  5. Membagi nilai uang rupiah
  6. Mengecek kembali kondisi
  7. Mencetak

Deklarasi : 

uang2, uang5, sisa, uang, uang100, uang20, uang50, uang100s, uang10, uang1, uang500 : integer

Deskripsi : 

if (uang100>0)
else
if (uang50>0)
else
if (uang20>0)
else
if (uang10>0)
else
if (uang5>0)
else
if (uang2>0)
else
if (uang1>0)
else
if (uang500>0)
else
write(uang100)
write(uang50)
write(uang20)
write(uang10)
write(uang5)
write(uang1)
write(uang500)
write(uang100s)
Bentuknya di dalam c++ adalah seperti ini:
#include <iostream>
#include <string>using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int uang2;
int uang5;
int sisa;
int uang;
int uang100;
int uang20;
int uang50;
int uang100s;
int uang10;
int uang1;
int uang500;raptor_prompt_variable_zzyz =”Masukan nilai uang”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> uang;
uang100 =uang/100000;
cout << “Pecahan uang anda” << endl; if (uang100>0)
{
cout << “100.000 = “<<uang100<<” lembar” << endl; }
else
{
}
sisa =uang % 100000;
uang50 =sisa/50000;
if (uang50>0)
{
cout << “50.000 = “<<uang50<<” lembar” << endl; }
else
{
}
sisa =uang % 50000;
uang20 =sisa/20000;
if (uang20>0)
{
cout << “20.000 = “<<uang20<<” lembar” << endl; }
else
{
}
sisa =sisa % 20000;
uang10 =sisa/10000;
if (uang10>0)
{
cout << “10.000 = “<<uang10<<” lembar” << endl; }
else
{
}
sisa =sisa % 10000;
uang5 =sisa/5000;
if (uang5>0)
{
cout << “5000 = “<<uang5<<” lembar” << endl; }
else
{
}
sisa =sisa % 5000;
uang2 =sisa/2000;
if (uang2>0)
{
cout << “2000 = “<<uang2<<” lembar” << endl; }
else
{
}
sisa =sisa % 2000;
uang1 =sisa/1000;
if (uang1>0)
{
cout << “1000 = “<<uang1<<” lembar” << endl; }
else
{
}
sisa =uang % 1000;
uang500 =sisa/500;
if (uang500>0)
{
cout << “500 = “<<uang500<<” lembar” << endl; }
else
{
}
sisa =uang % 500;
uang100s =sisa/100;
cout << “100 = “<<uang100s<<” lembar” << endl;
return 0;
}

Soal Praktek

Menampilkan Angka Terbesar

Analisis program untuk mencari bilangan terbesar dari 3 bilangan

Algoritma :

  1. Meminta masukan 3 bilangan
  2. Mengecek kondisi
  3. Mencetak output

Deklarasi : 

X, Y, Z : integer

Deskripsi :

read (X, Y, Z)

if (X>Y && X>Z) put “Bilangan terbesar”+X

else if (Y>X && Y>Z) put “Bilangan terbesar”+Y

else put “Bilangan terbesar”+Z

Kemudian di generate ke dalam c++

#include <iostream>
#include <string>

using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int x;
int y;
int z;

raptor_prompt_variable_zzyz =”Masukan Bilangan Ke-1″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> x;
raptor_prompt_variable_zzyz =”Masukan Bilangan Ke-2″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> y;
raptor_prompt_variable_zzyz =”Masukan Bilangan Ke-3″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> z;
if (x>y && x>z)
{
cout << “Bilangan Terbesar “<< x << endl; }
else
{
if (y>x && y>z)
{
cout << “Bilangan Terbesar “<< y << endl; }
else
{
cout << “Bilangan Terbesar “<< z << endl; }
}

return 0;
}

Dan outputnya akan seperti ini

Rangkaian

Analisis program untuk menghitung rangkaian total dimana pengguna dapat memilih jenis rangkaian antar rangkaian seri atau paralel

Algoritma :

  1. Menerima masukan dari 3 tahanan R1, R2, R3
  2. Menampilkan menu agar pengguna dapat memilih jenis rangkaian
  3. Melakukan perhitungan berdasarkan kepada pilihan pengguna
  4. Mencetak output

Deklarasi :

r1, r2, r3, pilih : integer

rtot : float

Deskripsi :

read (r1, r2, r3)
if (pilih==1) rtot=(1/r1)+(1/r2)+(1/r3)

else if (pilih==2) rtot=r1+r2+r3

else put “Pilihan Tidak Dikenali”

Kemudian di generate ke dalam c++

#include <iostream>
#include <string>

using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int r3;
float rtot;
int r2;
int pilih;
int r1;

raptor_prompt_variable_zzyz =”Masukan R1″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> r1;
raptor_prompt_variable_zzyz =”Masukan R2″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> r2;
raptor_prompt_variable_zzyz =”Masukan R3″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> r3;
raptor_prompt_variable_zzyz =”Pilih 1 untu rangkaian paralel dan pilih 2 untuk rangkaian seri”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> pilih;
if (pilih==1)
{
rtot =(1/r1)+(1/r2)+(1/r3);
cout << “Rtot = “<<rtot << endl; }
else
{
if (pilih==2)
{
rtot =r1+r2+r3;
cout << “Rtot = “<<rtot << endl; }
else
{
cout << “Pilihan Tidak Dikenali” << endl; }
}

return 0;
}

Output nya adalah seperti ini

Segmen Segitiga

Analisis program yang meminta 3 masukan nilai segmen lalu segmen tersebut akan di cetak ke dalam bentuk segitiga

Algoritma : 

  1. Meminta masukan nilai 3 segmen
  2. Mengecek kondisi
  3. Memproses
  4. Mencetak segitiga

Deklarasi :

seg1, seg2, seg3, t : integer

Deskripsi : 

read (seg1, seg2, seg3, t)
write (j, k, i)
if (d!=0 && b!=0 && c!=0)
while (!(i>x))
while (!(j<i))
while (!(k>i+(i-1)))

Kemudian di generate ke dalam c++

#include <iostream>
#include <string>

using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int k;
int seg3;
int t;
int seg1;
int j;
int seg2;
int i;

raptor_prompt_variable_zzyz =”Masukan segmen 1″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> seg1;
raptor_prompt_variable_zzyz =”Masukan segmen 2″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> seg2;
raptor_prompt_variable_zzyz =”Masukan segmen 3″;
cout << raptor_prompt_variable_zzyz << endl;
cin >> seg3;
if (seg1!=0 && seg2!=0 && seg3!=0)
{
raptor_prompt_variable_zzyz =”Masukan tinggi”;
cout << raptor_prompt_variable_zzyz << endl;
cin >> t;
i =1;
while (!(i>t))
{
j =t;
while (!(j<i))
{
cout << ” “; j =j-1;
}
k =1;
while (!(k>i+(i-1)))
{
cout << “*”; k =k+1;
}
cout << “” << endl; i =i+1;
}
}
else
{
cout << “Segmen tidak bisa di bentuk” << endl; }

return 0;
}

Dan outputnya adalah seperti ini

Sekian dari saya cek juga program lainnya dari teman saya di

http://asepkurni06.blogspot.co.id/

http://cicakkeseleo.blogspot.co.id

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s