Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

KUG1A3 Algoritma& Pemrograman

Presentasi serupa


Presentasi berjudul: "KUG1A3 Algoritma& Pemrograman"— Transcript presentasi:

1 KUG1A3 Algoritma& Pemrograman
Burhanuddin D Prodi S1-Sistem Komputer, F Teknik Elektro Universitas Telkom Presentasi 5 Analisa Kasus ( Pengambilan Keputusan ) Bagian 2

2 IF … THEN … ELSE… If ( kondisi ) then aksi-1 else aksi-2
 Jika kondisi bernilai benar, maka kerjakan aksi-1. Jika tidak benar, kerjakan aksi-2. Kondisi setelah else adalah lawan dari kondisi pada if. Dengan demikian, maka untuk analisa kasus dengan 2 kemungkinan kondisi, maka kita tidak perlu menuliskan kondisi yang berlawanan setelah else

3 Contoh kasus : Odd or Even
Jika a integer bagaimana cara kita menentukan bahwa a itu bilangan genap atau ganjil? Tuliskan ‘genap’ bila a merupakan bilangan genap dan ‘ganjil’ bila a merupakan bilangan ganjil

4 Solusi untuk EvenOdd Coba bandingkan, apa perbedaannya?
Program GanjilGenap1 Program GanjilGenap2 Kamus a,b: integer Kamus a: integer Algortima input(a) b  a mod 2 if b=0 then output (‘genap’) else output (‘ganjil’) Algortima input(a) if (a mod 2=0) then output (‘genap’) else if (a mod 2  0) then output (‘ganjil’)

5 X Solusi untuk EvenOdd Bandingkan juga, apa perbedaannya?
Program GanjilGenap3 Program GanjilGenap4 Kamus a: integer; b: boolean Kamus a: integer; b:boolean Algortima input(a) b  (a mod 2)=0 if b then output (‘genap’) else output (‘ganjil’) Algortima input(a) b  (a mod 2)=0 if ( b= true ) then output (‘genap’) else output (‘ganjil’) X

6 Kasus : Indeks Nilai Buatlah algortima untuk menentukan indeks nilai mata kuliah X dengan aturan: Indeks A , nilai>80 Indeks B , 60<= nilai <=80 Indeks C , 50<= nilai <60 Indeks D , 40<=nilai <50 Indeks E , nilai<40

7 Kasus : Indeks Nilai (lanj)
Program GanjilGenap1 Kamus nilai: integer indeks : character Algortima input(nilai) if (nilai >80) then indeks’A’ else if (nilai  60) then indeks’B’ if (nilai  50) then indeks’C’ if (nilai  40) then indeks’D’ else indeks’E’ output(indeks)

8 IF … THEN … Notasi algoritmik if … then biasanya digunakan untuk analisa kasus dalam kondisi pengecualian. if ( kondisi ) then aksi  Jika kondisi bernilai benar, maka kerjakan aksi

9 Contoh : Kasus If … then …
Baca nilai. Jika nilai tersebut berisi 100, hitung cacah nilai dengan menambahkan N100 dengan 1. Input(nilai) If (nilai=100) then N100N100+1 Jumlahkan a dan b, simpan di c. Jika hasilnya genap, tambahkan a dengan 1. c a+b if (c mod 2=0 ) then a  a+1

10 If..then.. dalam Pascal Bentuk hampir sama :
Dalam Pascal, jika aksi / instruksi setelah then hanya sebaris, maka semua boleh ditulis sebaris Kalau lebih sebaris, beri begin..end If (i mod 2=0 ) then a  a+ 1 If (i mod 2=0) then a:=a+1; If ( nilai >90 ) then Begin N90 :=N90+1; Ttl90 := Ttl90+nilai; End; If ( nilai >90 ) then N90  N90+1 Ttl90  Ttl90+nilai

11 If..then..else dalam Pascal
Bentuk hampir sama : Dalam Pascal, jika aksi / instruksi setelah then hanya sebaris, maka semua boleh ditulis sebaris Kalau lebih sebaris, beri begin..end. Sebelum ‘else’ tidak ada titik koma (;) ! If ( jwb=‘Y’) then Harga  Harga * 0.9 Bonus  ‘Tidak ada’ Else Bonus  ‘Payung’ If ( jwb=‘Y’) then Begin harga := harga * 0.9; Bonus :=‘Tidak ada’; End Else Bonus := ‘Payung’;

12 Depend on dalam Pascal Umumnya, serupa dengan ‘case..of’ .
Bentuk case of : Hanya jika pilihan tergantung dari1 variabel Tipe variabel integer, karakter atau boolean Nilai kondisi adalah konstanta, bukan ekspresi boolean Depend on menu menu=1 : makan’baso’ menu=2: makan’soto’ menu=3: makan’bubur’ Case menu of 1 : makan := ‘baso’; 2 : makan := ‘soto’; 3 : makan := ‘bubur’; End;

13 Depend on dalam Pascal Tidak semua bisa dibuat dengan ‘case..of’ .
Jika kondisi berupa ekspresi boolean yang menghasilkan bukan nilai pasti atau kondisi lebih dari 1 variabel depend on (a,b) a>b : output (a) a<b : output (b) a=b : output (‘a=b’) If (a>b) then writeln(a) Else if (a<b) then writeln(b) else writeln(‘ a=b ‘);

14 Analisa Kasus Bertingkat
Struktur analisa kasus dalam struktur analisa kasus lainnya, misal if..then..else ( atau if..then) dalam if..then..else yang lain atau depend on. Diperlukan untuk menyaring beberapa kondisi secara bertahap. Kalau penyaringan pada kondisi bisa dilakukan sekaligus, tidak perlu struktur bertingkat. Bisa dilakukan dengan penambahan operator boolean pada kondisi. Misal : seleksi adminstrasi pegawai baru Jika ( IPK>2.75 dan berasal dari PT terkenal) maka lulus tes adminsitrasi Misal : kelulusan tingkat I Jika (IPK ≥ 2.0 dan semua matakuliah tingkat 1 lulus dan tidak ada nilai E, T dan K) then lulus tingkat 1

15 Analisa Kasus Bertingkat
Misal : Perhatikan menu di warung di bawah ini Perhatikan juga percakapan antara pembeli dan penjual berikut ini.

16 Skenario Pembelian Mang, ada soto apa aja?
1 baso urat,ya. Tunggu sebentar. Kalau begitu baso 1 mang. Soto babat, kudus, dan soto bandung. Tapi sudah habis. Ini, Gan. Selamat menikmati. Baso urat aja, Mang ! Makasih, Mang ! Baso telor atau urat? Pembeli Penjual

17 Analisa Kasus Bertingkat
Perintah : ubah menu agar pembeli dapat mengetahui jenis-jenis makanan, tanpa harus selalu bertanya pada si penjual ! Perhatikan dari percakapan di atas ! Mang, ada soto apa aja? Soto babat, kudus, dan soto bandung. Tapi sudah habis. Kalau begitu baso 1 mang. Baso telor atau urat?

18 Analisa Kasus Bertingkat
Dari percakapan tersebut : Ada 3 jenis soto : soto babat, soto ayam dan soto daging Ada 2 jenis baso : baso telor dan baso urat. Dengan demikian, menu dapat ditulis sebagai berikut :

19 Dalam algoritma : Input (menu) Depend on menu
menu=‘baso’ : harga  10000 input (pil) if (pil=‘telor’) then menu=‘baso telor’ else menu=‘baso urat’ menu=‘soto’ : harga  7500 depend on pil pil=‘babat’ : menu’soto babat’ pil=‘kudus’ : menu’soto kudus’ pil=‘bandung’ : menu’soto bandung’ menu=‘mie ayam’ : harga  6000 menu=‘mie ayam’ : harga  5000

20 Latihan Analisa Kasus 1. Bonus Pegawai

21 Latihan Analisa Kasus 2. Gaji Karyawan

22 Potongan algoritma Gaji
Input : golongan, nama, jam kerja Output : gaji Proses : Gaji tetap / bulanan : tergantung golongan Gaji hadir : tarif per jam (tergantung golongan) * jam hadir Gaji lembur : jika jam kerja > 150, jam lembur = jam kerja – 150, jika tidak sama, maka jam lembur = 0. Gaji lembur = 1.5 * gaji/jam ( tergantung golongan) * jam lembur


Download ppt "KUG1A3 Algoritma& Pemrograman"

Presentasi serupa


Iklan oleh Google