KUG1C3 Dasar Algoritma & Pemrograman Analisa Kasus
Pengantar [1] Dalam menyelesaikan suatu permasalahan di dunia nyata sering kali kita berhadapan dengan kondisi percabangan/ harus melakukan pengambilan keputusan sesuai dengan kondisi/ keadaan
Pengantar [2] Kondisi percabangan juga dapat terjadi ketika kita merumuskan suatu algoritma dalam menyelesaikan masalah Lalu bagaimana notasi algoritmik yang dapat digunakan untuk memecahkan masalah percabangan (kasus)???
Analisa Kasus [1] Secara umum apabila kita berhadapan dengan suatu permasalahan / kasus maka pertama-tama kita akan melakukan proses analisa Demikian juga ketika kita berhadapan dengan masalah percabangan (kasus)
Analisa Kasus [2] Analisa Kasus merupakan salah satu konstruksi terpenting dalam algoritma yang memungkinkan kita untuk melakukan eksekusi yang berbeda-beda sesuai dengan kondisi yang dihadapi (kasus)
Analisa Kasus [3] Ada 2 bagian penting yang perlu kita definisikan dalam Analisa Kasus, yaitu: Kondisi suatu ekspresi yang menghasilkan/memiliki nilai boolean [true,false] Aksi yang akan dilakukan dalam suatu kondisi Antara kondisi dan aksi terdapat suatu hubungan berpasangan
Analisa Kasus [4] Konstruksi dari Analisa Kasus dapat dimulai dengan menentukan semua kondisi yang mungkin (melakukan partisi domain) atau menentukan variasi aksi
Kasus 1: Input Mata Kuliah Dalam melakukan input mata kuliah pada saat registrasi ada beberapa kondisi yang akan mempengaruhi aksi yang akan dilakukan oleh mahasiswa. Coba definisikan kemungkinan kondisi yang ada! Coba definisikan kemungkinan aksi yang dapat dilakukan!
Analisa Kasus [5] Secara umum ada beberapa notasi algoritmik yang digunakan dalam membangun analisa kasus, yaitu : Depend on biasanya digunakan untuk analisa kasus dengan kasus banyak (kemungkinan kondisi banyak) If … then biasanya digunakan untuk analisa kasus dengan satu atau dua kasus yang komplementer
IF … THEN … [1] Notasi algoritmik if … then biasanya digunakan untuk analisa kasus untuk jumlah kasus satu atau dua yang komplementer
IF … THEN … [2] else secara berisikan kondisi yang merupakan negasi dari kondisi pada if Karena else berisi negasi kondisi secara implisit maka untuk analisa kasus dengan 2 kemungkinan kondisi maka kita tidak perlu menuliskan kondisinya lagi
Kasus 3b: Even or Odd Coba kita selesaikan kasus Even or Odd dengan menggunakan if .. then Analisa?
Kasus 3b: Even or Odd Coba bandingkan, apa perbedaannya?
Kasus 4: 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 4: Indeks Nilai Analisa Ada 5 kemungkinan kondisi nilai>80 aksi menampilkan ‘A’ 60<= nilai <=80 aksi menampilkan ‘B’ 50<= nilai <60 aksi menampilkan ‘C’ 40<=nilai <50 aksi menampilkan ‘D’ nilai<40 aksi menampilkan ‘E’
Kasus 4: Indeks Nilai
Depend On [1]
Depend On [2] Syarat dari depend on :
Kasus 2: Maksimum 2 Harga Pernyataan: Analisa: Dibaca dua buah harga a dan b. Tuliskan harga yang lebih besar! Analisa: Ada 3 kemungkinan kondisi: a<b aksi menampilkan b a>b aksi menampilkan a a=b aksi menampilkan “kedua bilangan sama”
Kasus 2: Maksimum 2 Harga Notasi Algoritmik dari kasus 2
Kasus 3: Even or Odd Pernyataan: Misalkan kita diberikan sebuah harga 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!
Kasus 3: Even or Odd Analisa: Ada ? kemungkinan kondisi: Kondisi? Aksi? Kondisi? Aksi?
Kasus 3: Even or Odd Notasi Algoritmik dari kasus 3
Latihan Depend On 1.Coba tuliskan Notasi Algoritmik dari kasus WUJUD CAIR
Jawaban Latihan Depend On Notasi Algortimik dari Latihan 1
Latihan Depend On 2.Coba tuliskan Notasi Algoritmik dari kasus RANKING
Jawaban Latihan Depend On Notasi Algortimik dari Latihan 2
Latihan Analisa Kasus 1. Bonus Pegawai
Latihan Analisa Kasus 2. Gaji Karyawan
Latihan Analisa Kasus 3. Akar Persamaan Kuadrat 4. Jumlah hari dalam bulan
Referensi Liem, Inggriani. 2003. Diktat kuliah Algoritma & Pemrograman. Bandung: ITB