KUG1A3 Algoritma& Pemrograman

Slides:



Advertisements
Presentasi serupa
MATERI 8 CHOICE / PILIHAN.
Advertisements

Algoritma dan Struktur Data
CS1023 Pemrograman Komputer
Dasar-Dasar Komputer FKIP Prodi Matematika Univ. Muhammadiyah Gresik
ALGORITMA DAN PEMROGRAMAN Minggu 4 – Runtunan & Pemilihan
PENYELEKSIAN KONDISI (PEMILIHAN)
Algoritma Dasar Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan Dalam membuat algoritma dapat digunakan.
PEMROGRAMAN TERSTRUKTUR
Analisis Kasus Algortima Pemrograman Muhamad Akbar.
STATEMENT PENGENDALIAN (PEMILIHAN)
*Operator - ARITMATIKA
Pemprograman Terstruktur 1
Kasus Buat algoritma untuk menghitung total pembayaran dari proses pembelian.
Algoritma dan Struktur Data
Algoritma & Pemrograman Chapter 6
Chapter 3 PEMROGRAMAN TERSTRUKTUR
Prodi S1-Sistem Komputer, F Teknik Elektro
MODUL KE-9 PEMILIHAN.
KUG1A3 Algoritma& Pemrograman
Percabangan Dosen Pengampu: M. Zidny Naf’an, M.Kom.
Algoritma dan Pemrograman STRUKTUR PEMILIHAN (lanjutan)
ALGORITMA PEMROGRAMAN 2A
KUG1A3 Algoritma& Pemrograman
Algoritma Pemrograman
Prodi S1-Sistem Komputer, F Teknik Elektro
Prodi S1-Sistem Komputer, F Teknik Elektro
ALGORITMA & PEMROGRAMAN
KUG1E3/ Pemrograman Terstruktur 1
Algoritma dan Pemrograman STRUKTUR PEMILIHAN (SELECTION) lanjutan
Prodi S1-Sistem Komputer, F Teknik Eelktro
KUG1A3 Algoritma& Pemrograman
KUG1A3 Algoritma& Pemrograman
KUG1A3 Algoritma& Pemrograman
Buatlah flowchart untuk pembagian 3 buah bilangan
KUG1C3 Dasar Algoritma & Pemrograman
IF … THEN …, IF … THEN … ELSE … CASE … OF …
Prodi S1-Sistem Komputer, F Teknik Elektro
Variabel dan Ekspresi Struktur Percabangan dan Struktur Perulangan
KUG1A3 Algoritma& Pemrograman
Prodi S1-Sistem Komputer, F Teknik Elektro
ALGORITMA DAN PEMROGAMAN
Runtunan dan Pemilihan
Struktur Seleksi (Percabangan)
Ucu Nugraha, ST. Algoritma.
KUG1E3/ Pemrograman Terstruktur 1
PERTEMUAN 7 STATEMENT PEMILIHAN
Matakuliah : Algoritma & Struktur Data Versi Materi
Pseudocode – Tipe Data, Variabel, dan Operator
Algoritma & Pemrograman 1
Algoritma dan Pemrograman
Algoritma dan Pemrograman STRUKTUR PEMILIHAN (SELECTION) lanjutan
BAB V Teknik Percabangan.
ALGORITMA DAN PEMROGRAMAN Struktur Algoritma
Menuliskan Algoritma Dengan Pseudocode
Algoritma Percabangan
Runtunan dan Pemilihan
Algoritma & Pemrograman 1
Seleksi.
Algoritma dan Pemrograman (Pertemuan 04)
Dasar Algoritma dan Pemrograman
Algoritma dan Pemrograman STRUKTUR PEMILIHAN (SELECTION) lanjutan
Algoritma Pemrograman
Latihan Buatlah algoritma untuk menentukan status kelulusan mahasiswa pada satu matakuliah. Mahasiswa dinyatakan lulus apabila nilai >= 60. Input : nilai.
Algoritma Pemrograman Muhamad Akbar
Dosen Pengasuh : Fatoni, MM.,M.Kom
Pemilihan Dua Kasus, tiga kasus dan banyak kasus
ALGORITMA & PEMROGRAMAN 2B
Dasar Pemrograman Percabangan Nurul Anisa Sri Winarsih, M. CS
Dasar Pemrograman Aksi Sekuensial Nurul Anisa Sri Winarsih, M. CS
CONDITION I (Tunggal – Ganda) IF - Then. Seleksi kondisi adalah proses penentuan langkah berikutnya berdasarkan proses yang terjadi sebelumnya. Bila kondisi.
Transcript presentasi:

KUG1A3 Algoritma& Pemrograman Burhanuddin D Prodi S1-Sistem Komputer, F Teknik Elektro Universitas Telkom Presentasi 5 Analisa Kasus ( Pengambilan Keputusan ) Bagian 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

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

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

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

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

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)

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

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

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

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’;

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;

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

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

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

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

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?

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 :

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

Latihan Analisa Kasus 1. Bonus Pegawai

Latihan Analisa Kasus 2. Gaji Karyawan

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