1 / 35

MATERI 8

MATERI 8. CHOICE / PILIHAN. Pengantar. Program yang telah menggunakan repetition dan procedure merupakan program yang agak rumit, namun jalannya program masih dapat ditebak dan diketahui karena selalu mengerjakan sequence yang sama.

aquene
Télécharger la présentation

MATERI 8

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATERI 8 CHOICE / PILIHAN

  2. Pengantar • Program yang telah menggunakan repetition dan procedure merupakan program yang agak rumit, namun jalannya program masih dapat ditebak dan diketahui karena selalu mengerjakan sequence yang sama. • Hal ini seperti robot yang diprogram untuk mengerjakan sesuatu secara berulang-ulang tanpa memperhatikan kondisi apa pun. Misalnya saja printer yang bekerja hanya berdasarkan sequence, procedure dan repetitition akan terus mencetak sebanyak yang diperintahkan tanpa melihat kondisi apakah ada kertas atau tidak.

  3. Pengantar • Pembahasan Materi ini adalah tentang choice/Pilihan dimana sebuah program dapat dibuat untuk mengerjakan hal yang berbeda-beda tergantung dari kondisi saat itu.

  4. Choice Sederhana • Contoh sederhana, misalnya sebuah robot yang diciptakan untuk memotong sebuah batang besi menjadi beberapa bagian. • Pada batangan besi telah diberikan tanda, berapa banyak potongan besi yang harus dihasilkan. • Dengan melihat tanda tersebut, robot akan memotong besi menjadi potongan yang lebih kecil sesuai dengan jumlah yang tercantum.

  5. Choice Sederhana repeatedly if ”tanda 2” onlabel: lakukan proses potong 2 if ”tanda 3” onlabel: lakukan proses potong 3 untilswitchedoff Program 8.1

  6. Choice Sederhana • Program 8.1 akan berulang-ulang dikerjakan oleh robot selama robot tersebut “hidup”. Jika pada batang besi tertulis tanda 2 maka yang dikerjakan adalah proses pemotongan menjadi 2 bagian. Begitu pun jika yang tertera adalah tanda 3, maka yang dikerjakan adalah proses pemotongan menjadi 3 bagian. • Kondisi pilihan yang diberikan memiliki cela, yaitu misalnya tidak ada tanda pada batang besi, atau tanda yang diberikan cacat dan tidak terbaca, atau tanda yang tertera bukan tanda 2 maupun tanda 3, maka robot tidak dapat mengambil keputusan, proses apa yang dikerjakan. Hal ini dapat menyebabkan robot berhenti berfungsi atau melakukan proses yang tidak terkendali.

  7. Choice Sederhana • Program 8.1 dapat ditulis dengan pilihan yang lebih lengkap, untuk kasus tanda yang tertera bukan tanda 2 maupun tanda 3. repeatedly if ”tanda 2” onlabel : lakukan proses potong 2 if ”tanda 3” onlabel : lakukan proses potong 3 ifneither ”tanda 2” nor ”tanda 3” : donothing untilswitchedoff Program 8.2

  8. Choice Sederhana • Pada Program 8.2, proses yang dikerjakan jika tanda yang tertera bukan 2 maupun 3 adalah donothing atau tidak melakukan apa-apa pada saat itu.

  9. Instruksi Select • Select adalah perintah yang digunakan pada pemrograman untuk menentukan suatu aksi berdasarkan kondisi tertentu. Struktur dasar dari perintah select adalah: select kondisi 1 : aksi 1 kondisi 2 : aksi 2 kondisi 3 : aksi 3 ... kondisi n : aksi n endselect

  10. Instruksi Select • Kata select dan endselect merupakan awal dan akhir dari instruksi ini. • Kondisi merupakan sesuatu yang menjadi acuan dalam mengerjakan suatu proses. • Aksi merupakan rangkaian perintah yang dikerjakan untuk suatu kondisi tertentu. Jumlah kondisi dan aksi tidak terbatas. • Yang akan dikerjakan oleh program adalah setiap aksi yang kondisinya terjadi pada saat itu.

  11. Instruksi Select • Penggunaan select dapat dipelajari pada Program 8.3. : select a>b : printstring(”a lebih besar b”) a<b : printstring(”a lebih kecil b”) a=b : printstring(”a sama dengan b”) Endselect • Program 8.3 akan mencetak suatu string, tergantung dari nilai variabel a dan variabel b. Terlihat jelas bahwa ada 3 kondisi yang mungkin terjadi, sehingga pasti akan dikerjakan salah satu dari 3 aksi yang sesuai. • Dengan nilai a = 3 dan nilai b =7 maka kondisi yang terpenuhi adalah kondisi ke 2 ( a < b) sehingga aksi yang dikerjakan adalah mencetak kalimat ”a lebih kecil b”. Program 8.3

  12. Formula Kondisi • Beberapa operator umum yang bisa digunakan sebagai kondisi pada bahasa Pemrograman Pascal terlihat pada Tabel 8.1.

  13. Tabel 8.1. Tabel Operator pada Pascal

  14. Formula Kondisi • Operasi matematika akan memberikan angka sebagai hasil proses. Berbeda denga kondisi, yang menjadi hasil dari proses. • Analisa suatu kondisi adalah nilai true(benar) dan false(salah). • Nilai true biasanya dinotasikan dengan angka 1 dan false dinotasikan dengan angka 0. Beberapa logika yang digunakan untuk kondisi adalah logika and, logika or dan logika not.

  15. Formula Kondisi • Lebih jelas mengenai setiap logika, dapat dilihat pada Tabel 8.2. Angka 1 merupakan nilai true dan angka 0 merupakan nilai false.

  16. Tabel 8.2. Tabel Logika Kebenaran

  17. Formula Kondisi • Perhatikan contoh pada Program 8.4 untuk memahami penggunaan logika kebenaran pada.

  18. 1 select (a+b = 10) and (a < 5): printstring(”a lebih besar 5”) (a+b = 10) and (b < 5): printstring(”b lebih kecil 5”) (a + b > 10) : printstring(”a + b lebih dari 10”) (a + b < 10) : printstring(”a + b kurang dari 10”) endselect 2 3 4 Program 8.4

  19. Pada program 8.4, jika nilai a=3 dan nilai b=7, Pada kondisi (1): (a + b = 10) bernilai true (a < 5) bernilai true (a+ b = 10) and (a < 5) trueandtrue = true dengan nilai true pada kondisi (1) maka aksi pada kondisi (1) akan dikerjakan yaitu mencetak ”a lebih besar 5”. Pada kondisi (2): (a + b = 10) bernilai true (b < 5) bernilai false (a+ b = 10) and (b < 5) trueandfalse = false dengan nilai false pada kondisi (2) maka aksi pada kondisi (2) tidak akan dikerjakan.

  20. Pada program 8.4, jika nilai a=3 dan nilai b=7, Pada kondisi (3): (a + b > 10) bernilai false dengan nilai false pada kondisi (3) maka aksi pada kondisi (3) tidak akan dikerjakan. Pada kondisi (4): (a + b < 10) bernilai false dengan nilai false pada kondisi (4) maka aksi pada kondisi (4) tidak akan dikerjakan.

  21. Instruksi Case…of • Perintah lain yang memiliki cara kerja yang sama dengan select adalah perintah case of. Bentuk dasar dari perintah case of adalah: case (variabel)of nilai 1 : aksi 1 nilai 2 : aksi 2 nilai 3 : aksi 3 ... nilai n : aksi n endcase

  22. Contoh Instruksi Case…of case (angka)of 0 : printstring(”nol”); 1 : printstring(”satu”); 2 : printstring(”dua”); 3 : printstring(”tiga”); ... 9 : printstring(”sembilan”); Endcase • Pada program 8.5 jika nilai dari variabel angka adalah 0 maka yang akan dikerjakan adalah perintah printstring(”nol”). Begitu juga dengan kondisi nilai yang lain pada variabel angka. • Yang akan dikerjakan adalah aksi yang sesuai dari setiap kondisi yang benar. Program 8.5

  23. Instruksi if ... then ... else • Bentuk yang lain dari choice adalah dengan menggunakan perintah if ... then…else. Bentuk dasarnya adalah : if (kondisi)then aksi jika kondisi benar else aksi jika kondisi salah fi

  24. Contoh Instruksi if ... then ... else if (a > 0) then printstring(” a positif ”) else printstring(” a negatif ”) fi • Program 8.6 akan mencetak keterangan apakah nilai variabel a adalah bilangan positif atau negatif. Saat (a > 0 ) bernilai true maka yang tercetak adalah ”a positif”. Jika kondisi tersebut tidak terpenuhi (a > 0 false) maka bagian else yang akan dikerjakan yaitu mencetak ”a negatif”. Program 8.6

  25. Kekurangan dari Program 8.6 adalah jika nilai a adalah 0. pada kasus ini, kondisi (a > 0) akan bernilai false sehingga yang dicetak adalah ”a negatif”, padahal untuk kondisi ini ada dua kasus yang harus diperhatikan, apakah benar a < 0 atau a = 0. Program 8.6 dapat disempurnakan menjadi Program 8.7. if (a > 0) then printstring(” a positif ”) else if ( a = 0 ) then printstring(” a nol ”) else printstring(” a negatif ”) fi fi Program 8.7

  26. Latihan • Jika nilai >= 90  ps(“Cum Laude”) • Jika nilai >=85 dan <90  ps(“Sangat baik”) • Jika nilai >= 65 dan < 85  ps(“lulus”) • Jika nilai < 65  ps(“tidak lulus”) JAWAB : If nilai >= 90 then ps(“cum laude”); else if nilai >= 85 then ps(“Sangat baik”); else if nilai >= 65 then ps(“lulus”); else ps(“tidak lulus”);

  27. Choice pada Bahasa Pascal • Bahasa Pascal menggunakan case-of dan if-then-else sebagai perintah untuk melakukan pilihan. Bentuk dasarnya adalah : if (kondisi) then begin aksi jika kondisi benar end else begin aksi jika kondisi salah end • begin dan end tidak perlu dituliskan jika aksi yang dikerjakan hanya 1 perintah.

  28. Contoh Program 8.8 : (1) uses crt; (2) var x,sisa : integer; (3) BEGIN (4) readln(x); (5) sisa := x mod 2; (6) if (sisa=0) then (7) writeln(’bilangan genap’) (8) else (9) writeln(’bilangan ganjil’); (10) END.

  29. Program 8.8 awalnya akan menerima input dari keyboard, dengan harapan yang diinputkan adalah angka, yang kemudian akan disimpan pada variabel x (baris 4). • Baris (5) merupakan operasi pembagian x dengan 2. • Yang disimpan pada variabel sisa adalah sisa pembagian. Misalnya 7 mod 2, hasilnya adalah 3 dan sisanya adalah 1. • Baris (7) sampai baris (9) akan menuliskan salah satu dari 2 keterangan yang ada tergantung dari nilai variabel sisa. • Jika variabel sisa bernilai 0 maka yang dicetak adalah ”bilangan genap”, selain itu (sisa <> 0) maka yang dicetak adalah ”bilangan ganjil”.

  30. Dari program 8.8: • Jika angka yang diinputkan adalah 20 apakah output-nya? • Jika angka yang diinputkan adalah 17 apakah output-nya?

  31. Latihan • Jika mahasiswa A mendapat nilai 45 dan sudah membayar uang kuliah, apa status mahasiswa tersebut? • Jika mahasiswa B mendapat nilai 25 dan belum membayar uang kuliah, apa status mahasiswa tersebut ? • Jika mahasiswa C mendapat nilai 80 dan sudah membayar uang kuliah, apa status mahasiswa tersebut ? PerhatikanPerintahberikutini: If (nilai > 59) AND (bayar = “SUDAH”) then Status = “LULUS” Else if (nilai > 59) AND (bayar = “BELUM”) then Status = “LULUS BERSYARAT” Else Status = “TIDAK LULUS” Endif endif

  32. Choice dalam Pascal • Pilihan Biner (2 macam) • If <kondisi> then <aksi jika kondisi benar> • else < aksi jika kondisi salah> • Pilihan Banyak ( lebih dari 2 macam) • Case <variabel> of • <nilai alternatif 1> : <aksi alternatif 1> • <nilai alternatif 2> : <aksi alternatif 2> • : • else < aksi alternatif lainnya> • end; Repeat : Until <kondisi>

  33. While <kondisi> do <aksi> For i:= 1 to 5 do writeln(i); Ubah perintah for menjadi while ... Do i:=1; While i <=5 do begin writeln(i); i:=i+1; End; Ubah perintah for menjadi repeat ... Until i:=1; Repeat writeln(i); i:=i+1; Until (i <=5) ????????????????

  34. Latihan : Jika pilihan = 1 tampilkan **** *** buat di prosedur segi3 ** * Jika pilihan = 2 tampilkan *** ***** buat di prosedur lingkaran ***** *** Jika pilihan = 3 tampilkan **** **** buat di prosedur segi4 ****

  35. -selesai-

More Related