Anda di halaman 1dari 25

TI-2241

Membuat Keputusan
Laboratorium Sistem Informasi dan Keputusan Departemen Teknik Industri

Studi Kasus 3.1 Mencari Nilai Terbesar dari dua nilai

Uraian Permasalahan Diberikan dua nilai integer a dan b, carilah maksimum dari a dan b
Spesifikasi Input Satu baris input yang mengandung dua nilai integer a dan b

Penyelesaian if-then-else
nilai maksimum: prosedur inisial
spesifikasi storage variabel a,b : integer end of spesifikasi storage begin input a,b output maksi(a,b) end

Penyelesaian if-then-else
Untuk memilih yang terbesar dari 2 nilai dilakukan dengan cara: Apabila a lebih besar dari b, set a sebagai maksi, selain itu set b sebagai maksi if a>b then a merupakan nilai terbesar else b merupakan nilai terbesar end if

Penyelesaian if-then-else
nilai maksimum: prosedur inisial spesifikasi storage maksi: fungsi integer variabel spesifikasi storage a,b : integer parameter end of spesifikasi storage a,b : integer in only begin end of spesifikasi storage input a,b begin output maksi(a,b) if a>b end then maksi a else maksi b endif end

Bentuk umum
if kondisi then [kelompok pernyataan yang dikerjakan apabila kondisi benar] else [kelompok pernyataan yang dikerjakan apabila kondisi salah] end if

Studi Kasus 3.2 Mencari Nilai Terbesar dari tiga nilai

Uraian Permasalahan Diberikan tiga nilai integer a,b dan c,carilah maksimum dari a,b dan c
Spesifikasi Input Satu baris input yang mengandung tiga nilai integer a,b dan c

Penyelesaian if-then-else
nilai maksimum: prosedur inisial
spesifikasi storage variabel a,b,c : integer end of spesifikasi storage begin input a,b,c output maksi(a,b,c) end

(1) Nested if-then-else


if a>b then [putuskan yang lebih besar antara a dan c] else [putuskan yang lebih besar antara b dan c] end if

(1) Nested if-then-else


if a>b then if a>c then maksi a else maksi c end if else if b>c then maksi b else maksi c end if end if

(1) Nested if-then-else


maksi: fungsi integer

nilai maksimum: prosedur inisialspesifikasi storage parameter spesifikasi storage a,b,c : integer in only variabel end of spesifikasi storage a,b,c : integer begin If a>b end of spesifikasi storage
begin input a,b,c output maksi(a,b,c) end
then if a>c then maksi a else maksi c end if else if b>c then maksi b else maksi c end if end if

end

(1) Nested if-then-else


maksi: fungsi integer

Pengujian: - Lintasan eksekusi a>b, a>c a>b, a<c a<b, b>c a<b, b<c - Nilai-nilai khusus (nilai sama) - Total kombinasi 27

spesifikasi storage parameter a,b,c : integer in only end of spesifikasi storage begin If a>b then if a>c then maksi a else maksi c end if else if b>c then maksi b else maksi c end if end if

(2) variabel lokal


maksi: fungsi integer

nilai maksimum: prosedur inisial spesifikasi storage variabel a,b,c : integer end of spesifikasi storage
begin input a,b,c output maksi(a,b,c) end

spesifikasi storqage parameter a,b,c : integer in only variabel besar : integer end of spesifikasi stoage begin
If a>b then besar a else besar b end if If besar>c then maksi besar else maksi c end if

end

(3) Ekspresi terkondisi berganda


maksi: fungsi integer

If a lebih besar dari b dan c, Maka a terbesar If b lebih besar dari a dan c, Maka b terbesar If c lebih besar dari a dan b, Maka c terbesar
10 15 15 Tidak memperhatikan nilai khusus akan berakibat fatal

spesifikasi storage parameter a,b,c : integer in only end of spesifikasi storage begin
If (a>b) and (a>c) then maksi a end if If (b>a) and (b>c) then maksi b end if If (c>a) and (c>b) then maksi c end if

end

(3) Ekspresi terkondisi berganda


maksi: fungsi integer spesifikasi storage parameter a,b,c : integer in only end of spesifikasi storage begin
If (a>=b) and (a>=c) then maksi a end if If (b>=a) and (b>=c) then maksi b end if If (c>=a) and (c>=b) then maksi c end if

Tidak efisien !!!

end

(4) Fungsi maksimum


nilai maksimum: prosedur inisial spesifikasi storage maksimum: fungsi integer variabel spesifikasi storage a,b,c : integer parameter end of spesifikasi storage a,b,c : integer in only
begin input a,b,c output maksimum(a,b,c) begin besar maksi(a,b) end maksimum maksi(besar,c)
end variabel besar : integer end of spesifikasi storage

(4) Fungsi maksimum


nilai maksimum: prosedur inisial spesifikasi storage maksimum: fungsi integer spesifikasi storage variabel parameter a,b,c : integer a,b,c : integer in only end of spesifikasi storage of spesifikasi storage end
begin begin maksimum maksi(maksi(a,b),c) input a,b,c end output maksimum(a,b,c) end

Studi Kasus 3.3 Sort Tiga Bilangan Integer

Uraian Permasalahan Diberikan tiga bilangan integer yang tidak berurutan, cetak dalam urutan membesar dari kiri ke kanan
Spesifikasi Input Satu baris input yang mengandung tiga bilangan integer

Penyelesaian
sort: prosedur inisial
spesifikasi storage variabel a,b,c : integer end of spesifikasi storage begin input a,b,c sort3(a,b,c) output a,b,c end

Penyelesaian
strategi - parameter formal in out (p,q,r) - If p>q, lakukan swap - Beri komentar khusus (assert)
-

If p>q then swap(p,q) endif assert pq

If p>r, lakukan swap Beri komentar khusus (assert) If q>r, lakukan swap Beri komentar khusus (assert)

If p>r then swap(p,r) endif assert pq and pr


If q>r then swap(q,r) endif assert pq and qr

Penyelesaian
sort: prosedur inisial
spesifikasi storage variabel a,b,c : integer end of spesifikasi storage begin input a,b,c sort3(a,b,c) output a,b,c end

sort3:prosedur
spesifikasi sstorage parameter p,q,r : integer in out end of spesifikasi storage begin If p>q then swap(p,q) endif assert pq If p>r then swap(p,r) endif assert pq and pr If q>r then swap(q,r) endif assert pq and qr end

Verifikasi program
3 3 4 4 5 5 4 5 3 5 3 4 5 4 5 3 4 3 4 4 4 4 5 3 4 4 4 5 3 4 4 4 5 3 4 4 4 4 4

Studi Kasus 3.4


Menugaskan Nilai Huruf dari Nilai Angka Mahasiswa

Uraian permasalahan: Diberikan input angka terendah untuk masing2 nilai huruf A, B,C dan D, diikuti dengan nilai angka mahasiswa, hitung dan cetak nilai huruf yang benar untuk setiap mahasiswa. Soesifikasi Input: Empat nilai angka sebagai batas bawah dari nilai huruf A, B, C dan D, diikuti oleh nilai angka mahasiswa. Semua nilai dalam bilangan riil.

Penyelesaian
assign nilai : prosedur inisial
spesifikasi storage variabel lowa,lowb,lowc,lowd,nilai: riil end of spesifikasi storage begin input lowa,lowb,lowc.lowd input nilai cetaknilai(lowa,lowb,lowc,lowd,nilai) end

(1) Jaring if then - else


strategi
if [nilainya A] then [keluarkan nilai A] else [cari nilai huruf dibawah A yg benar] endif

Anda mungkin juga menyukai