III. Pemilihan 1
III. Pemilihan 1
Modul Praktikum 3
Pemilihan I
TUJUAN PRAKTIKUM
Setelah kita pahami tentang variabel, jenis data dan berbagai aspek programming lainnya, tiba saatnya
pada sebuah saat dimana kita harus menentukan sikap kita terhadap nilai suatu variabel. Apa teks yang
akan kita tampilkan apabila kita bertanya pilihan pengguna dan ternyata dia memilih suatu pilihan?
Bagaimana kita akan memproses luas suatu bangun layang-layang apabila salah satu diagonalnya 0 cm?
Kita perlu menyeleksi nilai yang diketikkan oleh pengguna sehingga kita dapat melakukan sesuatu yang
tepat sesuai dengan nilai yang dia masukkan.
Jika nilai yang diketikkan selain yang di atas maka nilai tidak terdefinisi
Pada titik inilah kita perlu memahami tentang struktur pemilihan IF dalam turbo pascal. IF berguna untuk
menyeleksi suatu kondisi (kondisi yang dimaksud adalah suatu pernyataan logika) dan menentukan
tindakan program yang sesuai dengan tindakan yang terseleksi. Contohnya apabila kita sedang membuat
sebuah program penilaian, IF berfungsi untuk menentukan kategori nilai dari nilai angka yang diketikkan
pengguna.
Pernyataan Logika
Pernyataan Logika atau Kalimat Logika pada dasarnya merupakan kalimat logika matematika.
Pernyataan Logika merupakan pernyataan yang dapat bernilai benar atau salah, namun tidak dapat
bernilai benar dan/atau salah sekaligus. Contohnya, 1 lebih besar dari 2. Nilai kebenaran pernyataan ini
adalah salah.
>= Lebih besar dari atau sama dengan (contoh: 1>=1 bernilai TRUE)
<= Lebih kecil dari atau sama dengan (contoh: 1<=1 bernilai TRUE)
AND
Dalam turbo pascal berlaku hukum konjungsi dan disjungsi pada logika matematika. AND
digunakan dalam turbo pascal layaknya tanda topi (^) digunakan pada konjungsi dalam ilmu
logika matematika. AND akan bernilai TRUE apabila kedua pernyataan bernilai TRUE. Selain
itu, maka AND bernilai FALSE.
Contoh:
Kucing hitam itu berbulu AND Selimut terbuat dari kain (kedua-duanya TRUE maka
pernyataan dengan AND bernilai TRUE)
Laptop itu terbuat dari kain AND keyboard dibuat dari plastik (yang pertama TRUE dan
yang kedua FALSE maka AND bernilai FALSE)
1=1 AND 2=2 (bernilai TRUE)
1<>2 AND 2<>2 (bernilai FALSE)
Syntax:
OR
OR dalam turbo pascal bekerja seperti hukum konjungsi dalam matematika. OR digunakan
dalam turbo pascal seperti kata ganti ATAU pada logika matematika. OR akan bernilai true
apabila salah satu pernyataan bernilai TRUE. Apabila kedua pernyataan bernilai FALSE maka
OR juga akan bernilai FALSE.
Contoh:
Saya siswa OR Saya pergi ke sekolah (kedua-duanya TRUE maka OR bernilai TRUE)
Saya siswa OR Saya tidak pergi ke sekolah (salah satunya TRUE dan yang lain FALSE maka
OR bernilai TRUE)
Saya bukan siswa OR Saya tidak pergi ke sekolah (kedua-duanya FALSE maka OR bernilai
FALSE)
CATATAN!
Apabila hendak menggunakan AND atau OR, ada baiknya anda kurungi kedua pernyataan yang
anda konjungsi / disjungsikan.
Contoh: (1 = 1) OR (2 = 2)
Syntax IF
Syntax dari IF itu sendiri adalah sebagai berikut untuk satu pernyataan.
Boleh juga
IF (PernyataanLogika) THEN
Pernyataan;
Apabila pernyataan yang akan dilakukan banyak, maka semua pernyataan harus berada dalam
blok pernyataan BEGIN dan END;
IF (PernyataanLogika) THEN
BEGIN
Pernyataan1;
Pernyataan2;
...
PernyataanTerakhir;
END;
Apabila dalam tutorial ini dan selanjutnya disebut 'Blok Pernyataan', maka yang dimaksud adalah semua
USES crt;
BEGIN
IF (Nilai < 90) And (Nilai > 85) Then WriteLn('Lulus Baik');
END;
Struktur IF sendiri terbagi atas beberapa jenis. Semuanya merupakan variasi dan penambahan
dari struktur IF yang biasa. Jenis-jenis struktur IF yang dimaksud adalah sebagai berikut.
A. Struktur IF..ELSE
IF (PernyataanLogika) Then
ELSE
Apabila kondisi pada Pernyataan Logika terpenuhi, maka program akan menjalankan Statement
atau Blok Pernyataan 1. Apabila kondisi pada Pernyataan Logika tidak terpenuhi, maka program
akan menjtalankan Statement atau Blok Pernyataan 2.
IF (PernyataanLogika1) Then
IF (PernyataanLogika2) Then
IF (PernyataanLogika3) Then
Program akan melakukan statement atau blok pernyataan sesuai dengan kondisi yang terpenuhi
pada salah satu struktur IF.
IF (PernyataanLogika1) Then
...
ELSE
Apabila Pernyataan Logika 1 bernilai benar, maka program akan menjalankan Statement
atau Blok Pernyataan 1. Apabila Pernyataan Logika 2 benar maka program akan menjalankan
Statement atau Blok Pernyataan 2. Begitu seterusnya hingga ketika tidak ada kondisi yang
memenuhi maka program akan menjalankan perintah yang terdapat pada Statement atau Blok
Pernyataan Akhir.
D. Struktur IF Pasti
IF TRUE THEN
program ifsatukasus;
uses wincrt;
var
tahun : integer;
begin
write('Masukkan Tahun Yang Akan Diperiksa : '); readln(tahun);
if (tahun mod 4 = 0) and (tahun mod 100 <> 0) or (tahun mod 400
= 0) then
writeln('Tahun ',tahun, ' Merupakan Tahun Kabisat');
readln
end.
program ifduakasus;
uses wincrt;
var
lampu : string;
begin
write('Warna Lampu Lalu Lintas : '); readln(lampu);
if lampu = 'merah' then
write('Hentikan Kendaraan Anda')
else
write('Silahkan Jalan Dan Hati-Hati')
end.
program sudut_segitiga;
uses wincrt;
var
a, b , c : integer;
begin
write('Masukkan Panjang Sisi A : ');readln(a);
Contoh Program Menetukan Bilangan Ganjil & Genap Menggunakan If Then Else :
var x:integer;
begin
readln(x);
begin
write(‘Bilangan Genap’);
readln;
end
else
write(‘Bilangan Ganjil’);
readln;
end.
program Project1;
oper:string;
hasil:real;
begin
if oper=’+’then
begin
hasil:=op1 + op2;
end;
if oper=’-’then
begin
hasil:=op1 – op2;
end;
if oper=’*’then
begin
hasil:=op1 * op2;
end;
if oper=’/’then
begin
hasil:=op1/op2;
end;
writeln;
writeln(‘——————————’);
writeln(‘——————————’);
writeln(‘——————————’);
writeln;
readln;
end.
Suatu aksi akan dikerjakan atau di eksekusi oleh program apabila kondisi yang
didefinisikan untuk aksi tersebut bernilai benar (true). Sebaliknya, bila kondisi tidak terpenuhi
atau salah (false) maka program akan melakukan aksi lain (jika ada) atau langsung keluar dari
blok pemilihan. Dalam bahasa Pascal blok pemilihan dapat didefinisikan dengan dua cara, yaitu
dengan menggunakan statemen if atau case.
Statemen if akan diikuti oleh ekspresi (sebagai kondisi yang akan diperiksa) dan selalu
berpasangan dengan kata kunci then. Apabila statemen yang akan dilakukan hanya satu maka
kita tidak perlu menuliskan blok begin…end. Namun apabila statemen lebih dari satu maka blok
begin…end harus dituliskan.
LATIHAN
A. 1 > 1
B. 1 >= 1
C. 1 < 1
D. 1 <= 1
E. 1 = 1
F. 1 <> 1
G. (1 = 1) AND (2 = 2)
H. (1 <> 1) AND (2 = 2)
J. (1 = 1) OR (2 = 2)
K. (1 <> 1) OR (2 = 2)
L. (1 = 1) OR (2 <> 2)
M. (1 <> 1) OR (2 <> 2)
P. (TRUE) OR (FALSE)
R. (FALSE) OR (TRUE)
S. (FALSE) OR (FALSE)
2. Tentukan apa yang akan ditulis pada layar monitor berdasarkan dari pseudo-code TP7 berikut.
IF (Nilai < 80) AND (Nilai >= 75) THEN Write('Lulus biasa saja...');
A. Nilai := 80
B. Nilai := 90
C. Nilai := 76
D. Nilai := 40
E. Nilai := -100
F. Nilai := 1000
G. Nilai := 1/0
H. Nilai := 0
A. Anda sedang membuat program. Anda sudah membuat variabel dengan nama Nilai dan
anda menggunakan variabel tersebut untuk menyimpan nilai yang diinputkan pengguna.
Anda diminta untuk menuliskan kode untuk menyeleksi nilai tersebut. Nilai yang diatas 80
atau 80 dianggap lulus, Nilai dibawah 80 dianggap tidak lulus.
B. Anda telah membuat variabel bernama Nilai dan anda menggunakan variabel tersebut untuk
menyimpan nilai yang diinputkan pengguna. Anda diminta mengelompokkan nilai tersebut
dengan kriteria: nilai diatas atau sama dengan 95 predikatnya A+, nilai diantara 94 dan 80
predikatnya A, nilai diantara 79 dan 75 predikatnya B dan selain itu C.
C. Anda diminta membuat sebuah program ramalan. Anda membuat satu variabel dengan jenis
string untuk mencatat hari lahir pengguna. Anda melaporkan laporan ramalan pengguna
berdasarkan dari hari lahirnya dengan kriteria sebagai berikut:
D. Anda diminta membuat sebuah program bebas. Lalu, bos anda meminta agar ukuran file
programnya besar. Oleh karena itu, anda menambahkan banyak sekali struktur IF sampah
dalam program anda agar ketika dicompile, ukurannya bertambah karena banyak
sampahnya.
E. Anda diminta membuat sebuah program bebas dan anda ditegur bos anda karena anda
membuat sebuah program dengan banyak sampah didalamnya. Oleh karena itu, apa yang
harus anda lakukan agar ukuran programnya tetap besar namun tidak menggunakan
struktur IF sampah?