Pilih Mangga
Apakah
ya kuning?
tidak
Selesai
18/01/2017 KU1072/Pengenalan Teknologi Informasi B 4
Contoh lain: Mengupas Kentang Revisited
• Berdasarkan pengamatan, ada hari-hari di mana ibu
memakai celemek ketika mengupas kentang, tapi
ada hari-hari lain yang tidak
– Setelah diamati, ternyata jika ibu sedang memakai baju
berwarna cerah, maka ibu memakai celemek ➔ takut
bajunya terlihat kotor ☺
– Jika tidak (memakai baju berwarna gelap), maka ibu tidak
memakai celemek
Kondisi:
Apakah Pakai celemek
memakai baju
warna cerah
Kupas kentang
Kasus-2:
Tidak
Kentang tersedia
18/01/2017 KU1072/Pengenalan Teknologi Informasi B
Kentang terkupas 6
Flowchart: Mengupas Kentang
Keadaan awal:
(Revisited)
Mulai Kentang Tersedia
Apakah
memakai Ya Kupas
Pakai celemek Selesai
baju warna Kentang
cerah?
Tidak
layar
Selesai
true
if ( kondisi )
aksi aksi
...
end
...
selesai
Output
% ALGORITMA (“positif”)
i=input('');
if (i >= 0)
disp('positif') selesai
• Input i
Input (i)
• Jika i >= 0; cetak “positif”
• Jika tidak, cetak “negatif”
true false
Program CetakPosNeg i >= 0
% Input i;
% Jika i >= 0, cetak “positif”
% Jika tidak, cetak “negatif”
Output Output
ALGORITMA (“negatif”)
% Lihat flowchart di samping (“positif”)
selesai
% Program CetakPosNeg
% Input i; Jika i >= 0, cetak “positif”
Input (i)
% Jika tidak, cetak “negatif”
% ALGORITMA
i=input('i=')
true false
if (i >= 0) i >= 0
disp('positif');
end
selesai
18/01/2017 KU1072/Pengenalan Teknologi Informasi B 19
Banyak Kasus (1)
Dibaca: tergantung nilai
var-1, var-2, ..., var-n
kondisi-1, kondisi-2, ...., kondisi-n ditentukan oleh nilai var-1, var-2, ..., var-n
kondisi-x adalah ekspresi boolean: menghasilkan [true, false]
Property yang perlu diperhatikan untuk kondisi-x: disjoint dan complete
i=0
selesai
18/01/2017 KU1072/Pengenalan Teknologi Informasi B 23
Contoh Persoalan: Banyak kasus (3) – MATLAB
% Program CetakPosNeg
% Input i; Jika i > 0, cetak “positif”
% Jika i = 0, cetak “nol”; Jika i < 0, cetak “negatif”
clc
clear all
% ALGORITMA
i=input('i=');
if (i > 0)
disp('positif');
else if (i == 0)
disp('nol');
else % i < 0
disp('negatif')
end %untuk else if
end %untuk if
aksi-
aksi-1 aksi-2 ... aksi-1
default
A=2 A=12
selesai
false
1<=A<=12
Bandingkan true
dengan solusi
slide 28 A=1 A=12
A
A=2
selesai
18/01/2017 KU1072/Pengenalan Teknologi Informasi B 32
Contoh Kasus Validasi (3)- MATLAB
clc;clear all;
% Program NamaBulan
% Menuliskan nama bulan berdasarkan masukan nomor bulan
% ALGORITMA
A=input('');
if (A >= 1) && (A <= 12)
switch (A)
case 1
disp('Januari')
break
case 2
disp('februari')
break
... % lanjutkan sendiri
end
else % A < 1 || A > 12
disp('Nomor bulan tidak tepat')
end
18/01/2017 KU1072/Pengenalan Teknologi Informasi B 33
Soal-1a
• Dalam sebuah program dikenal 2 buah variabel
bertipe integer yaitu A dan B
• Ingin dituliskan, nilai yang paling besar di antara A
dan B
• Apa saja kasus yang harus didefinisikan sehingga
memenuhi kriteria:
– Complete / lengkap
– Disjoint / saling lepas
Program Max2Integer
% Menentukan 2 nilai Input (i)
% mana yang paling besar
ALGORITMA
% Lihat flowchart di samping
true false
A>=B
Input
(suhu)
selesai
% ALGORITMA
suhu=input('');
if (suhu<=0)
disp('Beku')
else if (suhu > 0) && (suhu < 100)
disp('Cair')
else
disp('Uap')
end
end
Output
RT = R1 + R2 + R3
(“Hambatan tidak
boleh negatif”)
Output(RT)
selesai
18/01/2017 KU1072/Pengenalan Teknologi Informasi B 44
Alt. Solusi Soal-3 (3) – MATLAB
% Program HambatanSeri
% Menghitung hambatan total berdasarkan hambatan R1, R2, R3
clc
clear all
% ALGORITMA
R1=input('R1');R2=input('R2');R3=input('R3');
end