Struktur Kontrol Keputusan Boldson H Situmorang S Kom

Struktur Kontrol: Keputusan Boldson H. Situmorang, S. Kom. , MMSI Algoritma dan Pemrograman I

Algoritma vs Real Life

Materi �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 statement kondisi

Contoh 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 statement kondisi false statement

Contoh 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 statement false kondisi true statement kondisi false statement

Contoh 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 selektor true statement break false selektor 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”) BREAK 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"; break; case 'C' : cout<<"Alat Masak"; break; default: cout<<"Anda Salah Memasukan kode"; break; } 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 angkan"; 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; break; case 'C': na=2; break; case 'D': na=1; break; case 'E': na=0; break; default: cout<<"n. Nilai yang anda masukkan salah"; } cout<<"n. Nilai 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. . .
- Slides: 28