Dasar-Dasar Pemrograman Choice Ramos Somya, S.Kom., M.Cs.
4 Bagian Utama dalam Program Sequence Procedure & Function Choice Repetition
… 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. Contoh: printer. Contoh: program pembagian. Operasi pembagian pada kondisi tertentu tidak diperbolehkan suatu angka dibagi dengan bilangan 0. Pembahasan bab ini adalah tentang choice di mana sebuah program dapat dibuat untuk mengerjakan hal yang berbeda-beda tergantung dari kondisi saat itu.
Contoh Choice Sederhana 1 repeatedly if ”tinta habis” on label: stop printing if ”kabel unplugged” on label: tampilkan warning until switched off
Contoh Choice Sederhana 2 repeatedly if ”tinta habis” on label: stop printing if ”kabel unplugged” on label: tampilkan warning if neither ”tinta habis” nor ”kabel unplugged”: do nothing until switched off
Instruksi Select Select adalah perintah yang digunakan pada pemrograman untuk menetukan suatu aksi berdasarkan kondisi tertentu. Struktur dasar select:
contoh
Operator Kondisi pada Pascal (Formula Kondisi) Operator matematika akan memberikan angka sebagai hasil proses. Operator kondisi memberikan hasil suatu proses dengan nilai true atau false.
Operator Logika and or not
Tabel kebenaran and
Tabel kebenaran or
Contoh (2>1) and (4>6) ? (4 < 4) or (5 < 4) ?
...
case ... of Perintah lain yang memiliki cara kerja yang sama dengan select adalah perintah case of. Bentuk dasar dari sama perintah case of adalah:
Contoh case... of
if ... then ... else Bentuk yang lain dari choice adalah dengan menggunakan perintah if ... then. Bentuk dasarnya adalah :
...
...
Choice Pada Pascal if then else case of
if then else Syntaks: Dengan else: IF kondisi THEN BEGIN ... END; aksi jika kondisi benar end else begin aksi jika kondisi salah end;
… Apabila kondisi terpenuhi, maka program akan menjalankan perintah yang ada setelah THEN. Tapi jika kondisi tidak terpenuhi, maka program akan menjalankan program setelah ELSE.
Contoh uses crt; var i:integer; begin clrscr; write('Masukkan bilangan : '); readln(i); if i<=50 then begin write('bilangan kecil'); end else begin write('bilangan besar'); end; readkey; end.
Contoh uses crt; var nilaiHuruf: char; begin clrscr; write('Masukkan nilai huruf : '); readln(nilaiHuruf); if(nilaiHuruf='A') then write('Sangat Baik') else if(nilaiHuruf='B') then write('Baik') else if(nilaiHuruf='C') then write('Cukup') else write('Anda sebaiknya mengulang!'); readkey; end.
uses crt; var nilaiHuruf: char; begin clrscr; write('Masukkan nilai huruf : '); readln(nilaiHuruf); if(nilaiHuruf='A') then write('Sangat Baik'); end else if(nilaiHuruf='B') then write('Baik'); else if(nilaiHuruf='C') then write('Cukup'); else write('Anda sebaiknya mengulang!'); end; readkey; end.
case of Struktur Case – Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statement yang diawali dengan suatu label permasalahan (case label) yang mempunyai tipe sama dengan selector. Statement yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan nilai selector akan diproses, sedang statement yang lainya tidak.
… Daftar Case label dapat berupa konstanta, range dari konstanta yang bukan bertipe real. Case VariabelKondisi Of Case–Label 1: Statement 1; Case–Label 2: Statement 2; Case–Label 3: Statement 3; Case–Label 4: Statement 4; ........ Case–Label n : Statement n ; End ; { end dari case }
Contoh uses crt; var nilai: char; Begin clrscr; write ('Nilai Nilai Huruf yang didapat : '); readln(nilai); case (nilai) of 'A': writeln ('Sangat Baik'); 'B': writeln('Baik'); 'C': writeln('Cukup'); 'D': writeln('Kurang'); 'E': writeln('Sangat Kurang'); else begin write('Nilai DT'); end; readkey; end.
Option dalam case dapat berupa range uses crt; var nilaiAngka: integer; var nilaiHuruf: char; begin clrscr; write('Masukkan nilai : '); readln(nilaiAngka); case (nilaiAngka) of 0 .. 40 : NilaiHuruf := 'E'; 41..50 : NilaiHuruf := 'D'; 51..70 : NilaiHuruf := 'C'; 71..84 : NilaiHuruf := 'B'; 85..100 : NilaiHuruf := 'A'; end; write('Nilai Huruf Anda adalah : ',NilaiHuruf); readkey; end.
Latihan Buat program untuk menentukan suatu bilangan yang diinputkan adalah bilangan genap atau ganjil menggunakan choice. Buatlah program untuk mengecek nama hari berdasarkan kode hari. Misal input kode hari = 1 maka output adalah Senin.
Jawaban(1) uses crt; var x, sisa: integer; begin clrscr; write('Masukkan x : '); readln(x); if (x mod 2=0) then write('Bilangan genap'); end else begin write('Bilangan ganjil'); end; readkey; end.
Jawaban(2) uses crt; var a, b, i: integer; begin clrscr; write('Masukkan batas bawah = '); readln(a); write('Masukkan batas atas = '); readln(b); write('Bilangan genap antara ' ,a,' dan ', b , ' = '); writeln; for i:=a to b do if (i mod 2=0) then write(i, ' '); end; readkey; end.
See You Next Week