Struktur Kontrol: Keputusan Boldson H. Situmorang, S.Kom., MMSI Algoritma dan Pemrograman I
Algoritma vs Real Life
Materi If If else If else if Switch
Kondisi Kondisi : ekspresi boolean yang bernilai benar atau salah Kondisi dapat berupa: Sebuah nilai boolean : True atau False Sebuah variabel boolean Sebuah perbandingan data Dua perbandingan data atau lebih yang digabung
Contoh Kondisi If (x) then If (!x) then If (x>y) then If (harga >= 100000 ) then If (nama==“VANIE”) then If (kota !=“BANDUNG”) then If ((a % b != 2)) then If ((a>=5) && (b>=10)) then
Aksi Aksi berupa satu statement atau beberapa statement yang akan dilakukan Statement dapat berupa : Statement pengisian nilai , contoh: a 5 Statement input data Statement output data Statement pemilihan (IF-THEN atau CASE) Statement pengulangan (FOR, REPEAT, WHILE)
Tabel Logika
Struktur if Memutuskan mengeksekusi statemen jika dan hanya jika kondisi terpenuhi
Alur true kondisi statement
Contoh DEKLARASI nilai: integer ALGORITMA nilai ← 90 pseudocode DEKLARASI nilai: integer ALGORITMA nilai ← 90 IF nilai > 80 THEN write(“Lulus”) END IF
Struktur if else Memutuskan mengeksekusi statemen bila kondisi terpenuhi, atau mengekseskusi statemen lain bila kondisi tidak terpenuhi
Alur true kondisi false statement statement
Contoh DEKLARASI nilai: integer ALGORITMA nilai ← 75 pseudocode DEKLARASI nilai: integer ALGORITMA nilai ← 75 IF nilai > 80 THEN write(“Lulus”) ELSE write(“Gagal”) END IF
Struktur if else if Struktur if cabang kondisi else dari struktur if else sebelumnya
Alur true kondisi false statement true kondisi false statement
Contoh DEKLARASI nilai: integer ALGORITMA nilai ← 75 pseudocode DEKLARASI nilai: integer ALGORITMA nilai ← 75 IF nilai > 80 THEN write(“Sangat Bagus”) ELSE IF nilai > 50 THEN write(“Bagus”) ELSE write(“Jelek”) END IF
Latihan 1 Menentukan besarnya potongan dari pembelian barang yang diberikan seorang pembeli, dengan kriteria : Tidak ada potongan jika total pembelian kurang dari Rp. 50.000,- Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan yang diterima sebesar 20% dari total pembelian.
Latihan 1 Analisis masalah : Data yang diinput sembarang, Misalkan variable pb dengan tipe data double. Proses : pb = pembelian dp = diskon pembelian (20%)-> jika pb >= 50000 tp = total pembelian tp = pb – (pb*20%) Algoritma : judul : program pemberian diskon deklarasi : pb, dp, tp = double deskripsi : Read ( pb ) If ( pb >= 50000 ) then tp = pb – dp Wirte (tp) Else Write (tp) Endif
Flowchart Start pb, dp, tb = double pb = 0 ; dp = 0; tb = 0 pb = 45000 Input pb pb >= 50.000 true dp = pb * 20% tb = pb - dp Output tb End false tb = pb Output tb
Program Latihan 1 #include<stdio.h> #include<conio.h> #include<iostream> main() { using namespace std; double pb, dp=0, tb=0; //clrscr(); cout<<"Total Pembelian Rp. "; cin>>tb; if (pb>= 50000) dp = 0.2 * tot_beli; cout<<"Besarnya Potongan Rp. "<<potongan<<endl; jum_bayar = pb - dp; cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar; getch(); }
Struktur Switch Kontrol keputusan berdasar nilai variabel melalui banyak cabang
Alur true statement break false true statement break false true selektor statement break false true selektor statement break false true selektor statement break false default statement
Notes Ketika ditemukan case selector yang sesuai maka semua statement dalam case akan dieksekusi, kemudian statement lain pada case setelah itu juga dieksekusi. Untuk mencegah, gunakan statement break pada akhir case. Jika tidak ditemukan case selector yang sesuai, maka blok default akan dieksekusi. Catatan: blok default bersifat opsional
Contoh pseudocode DEKLARASI nilai: integer ALGORITMA nilai ← 7 SWITCH nilai CASE 10 CASE 9 write(“Sangat Bagus”) BREAK CASE 8 CASE 7 CASE 6 write(“Bagus”) DEFAULT write(“Gagal”) END SWITCH
Latihan 1 - Switch #include<stdio.h> #include<conio.h> #include<iostream> main() { using namespace std; char kode; //clrscr(); cout<<"Masukkan Kode Barang [A..C] : "; cin>>kode; switch(kode) case 'A' : cout<<"Alat Olah Raga"; break; case 'B' : cout<<"Alat Elelktronik"; case 'C' : cout<<"Alat Masak"; default: cout<<"Anda Salah Memasukan kode"; } getch(); }
Latihan 2 - Switch /*program contoh penggunaan perintah switch*/ #include <iostream.h> #include <conio.h> main () { char nh,nama[20],mk[20]; cout<<"Mengubah nilai huruf menjadi angka\n"; cout<<"-----------------------------------\n"; cout<<"Nama mhs : ";cin>>nama; cout<<"Mata kuliah : ";cin>>mk; cout<<"Nilai huruf : ";cin>> nh; int na; switch (nh) { case 'A': na=4; break; case 'B': na=3; case 'C': na=2; case 'D': na=1; case 'E': na=0; default: cout<<"\nNilai yang anda masukkan salah"; } cout<<"\nNilai angka : "<<na; getch();
Kesimpulan Pernyataan if dapat digunakan untuk membuat keputusan berdasarkan rentang nilai tertentu atau kondisi tertentu, Pernyataan switch membuat keputusan hanya berdasarkan nilai unik dari tipe integer atau karakter Selektor adalah konstanta unik dari nilai integer atau karakter.
Terima Kasih.....