Seleksi Pendahuluan Struktur runtunan hanya terdapat pada program

  • Slides: 18
Download presentation
Seleksi

Seleksi

Pendahuluan • Struktur runtunan hanya terdapat pada program sederhana • Pada umumnya masalah yang

Pendahuluan • Struktur runtunan hanya terdapat pada program sederhana • Pada umumnya masalah yang akan diselesaikan memiliki beberapa alternatif pelaksanaan aksi. • Suatu aksi hanya dilakukan bila persyaratan atau kondisi tertentu dipenuhi.

Perintah IF Perintah ini untuk memilih satu atau 2 atau lebih alternatif jawaban yang

Perintah IF Perintah ini untuk memilih satu atau 2 atau lebih alternatif jawaban yang disediakan. Jika perintah IF terdiri dari dua atau lebih pernyataan, maka pernyataan tersebut harus berada diantara begin dan end. Perintah IF memiliki bentuk : IF (kondisi) pernyataan Bentuk diatas mempunyai pengertian jika kondisi bernilai benar maka pernyataan dibawahnya akan dkerjakan. Jadi perintah IF merupakan perintah yang menentukan pengambilan keputusan bahwa pernyataan itu dikerjakan atau tidak.

Perintah IF…. . ELSE • Perintah IF…. ELSE formatnya adalah IF (kondisi) Pernyataan 1

Perintah IF…. . ELSE • Perintah IF…. ELSE formatnya adalah IF (kondisi) Pernyataan 1 Else Pernyatan 2 • Bentuk ini mempunyai arti: jika kondisi benar, maka pernyataan 1 akan dikerjakan, tetapi jika kondisi salah, maka pernyataan 2 yang akan dikerjakan.

Nested IF (IF di dalam IF) • Bentuk umum yang digunakan adalah : If

Nested IF (IF di dalam IF) • Bentuk umum yang digunakan adalah : If (kondisi 1) If (kondisi 2) pernyataan 1; else pernyataan 2; else pernyataan 3;

Satu Kasus • Notasi algoritmik untuk analisis dengan satu kasus adalah dengan menggunakan struktur

Satu Kasus • Notasi algoritmik untuk analisis dengan satu kasus adalah dengan menggunakan struktur IF THEN if kondisi then aksi endif • Aksi sesudah kata then dapat berupa satu atau lebih aksi hanya akan dilaksanakan bila kondisi bernilai benar (true). Bila kondisi bernilai salah (false), tidak ada aksi apapun yang dikerjakan. Kata endif sengaja ditambahkanuntuk mempertegas awal dan akhir struktur if-then

Contoh • if x > 100 then x x+1 endif • if kar=‘*’ then

Contoh • if x > 100 then x x+1 endif • if kar=‘*’ then stop true endif

Dua Kasus • Notasi algoritmik untuk analisis dengan satu kasus adalah dengan menggunakan struktur

Dua Kasus • Notasi algoritmik untuk analisis dengan satu kasus adalah dengan menggunakan struktur IF THEN-ELSE if kondisi then aksi 1 else aksi 2 endif • Aksi 1 akan dilaksanakan jika kondisi bernilai benar, tetapi jika kondisi bernilai salah maka aksi 2 yang akan dilaksanakan. Perhatikan bahwa “else” menyatakan ingkaran (negation) dari kondisi

Contoh : • if a > 0 then write(‘bilangan positif’) else write(‘bilangan bukan positif’)

Contoh : • if a > 0 then write(‘bilangan positif’) else write(‘bilangan bukan positif’) endif • Tuliskan algoritma yang membaca bilangan bulat, lalu menuliskan pesan “bilangan genap” jika bilangan tersebut habis dibagi 2. atau menuliskan bilangan “ganjil” jika bilangan itu tidak habis dibagi 2.

Algoritma BILANGAN_GENAP_DAN_GANJIL {mencetak pesan : bilangan genap” jika sebuah bilanan bulat yang dibaca dai

Algoritma BILANGAN_GENAP_DAN_GANJIL {mencetak pesan : bilangan genap” jika sebuah bilanan bulat yang dibaca dai piranti masukan habis dibagi 2, atau bilangan ganjil, jika bilangan tersebut tidak habis dibagi 2” DEKLARASI bil : integer DESKRIPSI read(bil) if bilmod 2 = 0 then write(‘bilangan genap’) else write(‘bilangan ganjil’) endif

Tiga Kasus atau Lebih Masalah yang mempunyai tiga buah kasus atau lebih tetap dapat

Tiga Kasus atau Lebih Masalah yang mempunyai tiga buah kasus atau lebih tetap dapat dianalisis dengan struktur IF-THEN-ELSE sebagaimana hanya pada masalah dengan dua kasus. Tiga kasus : if kondisi 1 then aksi 1 else if kondisi 2 then aksi 2 else if kondisi 3 then aksi 3 endif

Contoh tiga kasus Tulislah algoritma yang membaca sebuah bilangan bulat, lalu menentukan apakah bilangan

Contoh tiga kasus Tulislah algoritma yang membaca sebuah bilangan bulat, lalu menentukan apakah bilangan tersebut positif, negatif atau nol Jawab : Algoritma JENIS_BILANGAN {mencetak pesan “bilangan positif” jika sebuah bilangan bulat yang dibaca dari piranti masukan > 0, atau “bilangan negatif” jika bilangan tersebut <0 atau “nol” jika bilangan tersebut = 0} DEKLARASI bil : integer DESKRIPSI : read(bil) if bil > 0 then write(‘bilangan positif’) else if bil < 0 then write(‘bilangan negatif’) else if bil < 0 write(‘nol’) endif

CASE • Untuk masalah dengan dua kasus atau lebih , struktur CASE dapat menyederhanakan

CASE • Untuk masalah dengan dua kasus atau lebih , struktur CASE dapat menyederhanakan penulisan IF THEN ELSE yang bertingkat tinggi sebagaimana pada contoh-contoh sebelumnya.

Struktur CASE Untuk masalah dengan dua kasus atau lebih, struktur CASE dapat menyederhanakan penulisan

Struktur CASE Untuk masalah dengan dua kasus atau lebih, struktur CASE dapat menyederhanakan penulisan IF-THEN-ELSE yang bertingkat. Struktur CASE adalah sebagai berikut: Case (ekspresi) kondisi 1 : kondisi 2 : kondisi 3 : . . kondisi 4 : [otherwise endcase aksi 1 aksi 2 aksi 3 aksi 4 aksi. X] Kondisi 1, kondisi 2, …, kondisi. N dapat bernilai benar atau salah. Tiap kondisi diperiksa nilai kebenarannya mulai dari kondisi pertama sampai ditemukan kondisi yang bernilai benar. Jika kondisi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE. Aksi yang dipasangkan dengan kondisi ke-k dapat lebih dari satu. Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise dikerjakan. Perhatikanlah bahwa otherwise optional, artinya boleh ditulis boleh juga tidak ditulis.

Struktur CASE tersebut (pada slide sebelumnya) menggantikan analisis kasus yang ekivalen dengan struktur IF-THEN-ELSE

Struktur CASE tersebut (pada slide sebelumnya) menggantikan analisis kasus yang ekivalen dengan struktur IF-THEN-ELSE berikut: if kondisi 1 then aksi 1 else if kondisi 2 then aksi 2 else if kondisi 3 then aksi 3 else if kondisi 4 then aksi 4 endif

Tidak semua bahasa pemrograman menyediakan struktur case (misalnya bahasa Fortran). Bahasa C, JAVA, dan

Tidak semua bahasa pemrograman menyediakan struktur case (misalnya bahasa Fortran). Bahasa C, JAVA, dan PASCAL menyediakan struktur ini. Jika bahasa pemrograman tidak menyediakan struktur CASE, maka CASE dapat diganti dengan struktur IF-THEN-ELSE yang ekivalen. Contoh Soal: Buatlah algoritma yang membaca sebuah angka bulat yang nilainya terletak antara 1 sampai 4, lalu menuliskan ke piranti keluaran angka tersebut dalam kata-kata. Misalkan bila dibaca angka 1, maka tercetak tulisan “satu”, bila dibaca 2, maka tercetak tulisan “dua”, demikian seterusnya. Jika angka yang dimasukkan selain 1 sampai 4 tuliskan pesan bahwa angka yang dimasukkan salah.

Dengan struktur IF-THEN-ELSE

Dengan struktur IF-THEN-ELSE

Dengan struktur CASE, algoritma untuk masalah tersebut dapat dibuat menjadi lebih singkat sebagai berikut:

Dengan struktur CASE, algoritma untuk masalah tersebut dapat dibuat menjadi lebih singkat sebagai berikut: