Anda di halaman 1dari 26

Membuat Program

Sederhana

Lab. Sistem Informasi &


Keputusan
Studi Kasus 1
Menghitung Nilai rata-rata dari 3 bilangan integer

Uraian permasalahan:
Diketahui 3 bilangan integer, hitung harga
rata-rata yang bersifat integer dan cetak
hasilnya

Spesifikasi input:
Dibuat satu basis input yang mengandung
3 bilangan integer
Penyelesaian 1
rata dari3: prosedur inisial

spesifikasi storage
variabel
a,b,c,rata : integer
end of spesifikasi storage

begin
input a,b,c
rata  (a+b+c)/3
output ‘harga rata-rata adalah’, rata
end
Penyelesaian 2
rata dari3: prosedur inisial
parameter formal
average3: fungsi integer
spesifikasi storage spesifikasi storage
variabel parameter
a,b,c,rata : integer x,y,z : integer in only
end of spesifikasi storage end of spesifikasi storage
begin begin
input a,b,c average3  (x+y+z)/3
rata  average3(a,b,c) end
output ‘harga rata-rata adalah’, rata
end
parameter aktual
Program Walkthrough
rata dari3: prosedur inisial
a 85 Integer
spesifikasi storage
variabel b 73 Integer
a,b,c,rata : integer c 92 Integer
end of spesifikasi storage rata integer
Integer

begin average3 integer


input a,b,c
rata  average3(a,b,c)
output ‘harga rata-rata
adalah’, rata
end
Program Walkthrough
average3: fungsi integer a 85 Integer
spesifikasi storage b 73 Integer
parameter c 92 Integer
x,y,z : integer in only
end of spesifikasi storage rata Integer
begin average3 83 Integer
average3  (x+y+z)/3
end x 85 Integer
y 73 Integer
z 92 integer
Program Walkthrough
rata dari3: prosedur inisial
a 85 Integer
spesifikaswi storage
variabel b 73 Integer
a,b,c,rata : integer c 92 Integer
end of spesifikasi storage
rata 83 Integer
begin
input a,b,c average3 83 Integer
rata  average3(a,b,c) x 85 Integer
output ‘harga rata-rata
adalah’, rata y 73 Integer
end z integer
Studi Kasus 2
Luas Segi Empat
Uraian permasalahan:
Hitung dan cetak luas segi empat

Spesifikasi input:
Dua nilai real, representasi panjang dan
lebar
Penyelesaian
LuasSegiEmpat: prosedur inisial
spesifikasi storage Luas: fungsi real
variabel spesifikasi storage
parameter
panjang, lebar : riil
panjang,lebar : real in only
end of spesifikasi storage end of spesifikasi storage
begin
begin luas  panjang*lebar
input panjang,lebar end
output ‘panjang’, panjang,’x lebar’,lebar, ‘=‘,
luas(panjang,lebar)
end
Penulisan parameter formal sama dengan parameter
aktual  boleh
Studi Kasus 3
Swap Dua Nilai
Uraian permasalahan:
Input dua nilai integer, cetak berdasarkan
urutan pada saat input, cetak dalam
urutan berlawanan

Spesifikasi input:
Dua bilangan integer dalam satu baris
Penyelesaian
test swap: prosedur inisial swap: prosedur
variabel spesifikasi storage
x,y : integer parameter
a,b : integer in out
end of spesifikasi storage
begin
begin
input x,y ab
output ‘x = ’, x,’y = ’,y ba
swap(x,y) end
output ‘x = ’, x,’y = ’,y
end
Penyelesaian
test swap: prosedur inisial swap: prosedur
spesifikasi storage spesifikasi storage
variabel parameter
x,y : integer a,b : integer in out
end of spesifikasi storage variabel
temp : integer
begin end of spesifikasi
variabel storage
lokal
input x,y begin
output ‘x = ’, x,’y = ’,y temp  a
swap(x,y) ab
output ‘x = ’, x,’y = ’,y b  temp
end end
Program Walkthrough
test swap: prosedur inisial
variabel
x,y : integer x 10 Integer
y 15 Integer
begin
input x,y
output ‘x = ’, x,’y = ’,y
swap(x,y)
output ‘x = ’, x,’y = ’,y
end
Program Walkthrough
swap: prosedur
parameter
a,b : integer in out ax 10
15 Integer
variabel by 15
10 Integer
temp : integer
temp 10 integer
begin
temp  a
ab
b  temp
end
Latihan
Andaikan pada prosedur swap sebelumnya,
pernyataan
a,b : integer in out
diganti dengan pernyataan
a,b : integer in only
Bagaimana hasilnya?
Perancangan Top Down
Problem statement
Prosedur Inisial
Sub persoalan dipecahkan melalui fungsi
dan prosedur
Perancangan fungsi dan prosedur
Pola yang sama untuk sub-sub persoalan
Perbedaan Fungsi & Prosedur
Fungsi digunakan untuk menghitung satu
nilai baru, prosedur digunakan untuk
melaksanakan suatu sub persoalan

Fungsi memperluas kumpulan operator,


Prosedur memperluas kumpulan
pernyataan
Perbedaan Fungsi & Prosedur
Fungsi hanya menggunakan tipe
parameter in-only, prosedur dapat
menggunakan parameter in-only, in-out,
out-only

Fungsi harus menghindari penggunaan


pernyataan input, output atau lainnya yang
dapat menimbulkan efek yang tidak
diinginkan
Studi Kasus 2.4
Menghitung Bunga Sederhana
Uraian permasalahan
Hitung bunga yang diperoleh berdasarkan
bunga sederhana dengan diberikan
– nilai awal yang diinvestasikan,
– tingkat suku bunga tahunan,
– lama waktu investasi dalam tahun dan hari

Spesifikasi input
Dua bilangan real untuk nilai investasi dan
tingkat suku bunga tahunan, serta dua bilangan
integer untuk jumlah tahun dan hari
Penyelesaian
bunga sederhana : prosedur inisial
spesifikasi storage
variabel
awal, suku, hasil riil
tahun, hari : integer
end of spesifikasi storage
begin
input awal,suku,tahun,hari
hasil bunga(awal,suku,tahun,hari)
output ‘bunga yang diperoleh = ‘ hasil
end
Bunga per tahun = awal * suku/100
Bunga per hari = 1/365 * bunga per tahun
Total bunga = (awal * suku/100)*tahun +
(1/365 * bunga per tahun)*hari
 (awal * suku/100) * (tahun + hari/365)

bunga: fungsi real


spesifikasi storage
parameter
awal,suku : real in only
tahun,hari :
end of spesifikasi storage
begin
bunga  (awal * suku/100) * (tahun + hari/365)
end
Studi Kasus 4.2
Menghitung Bunga Berganda
Hitung bunga yang diperoleh berdasarkan
bunga berganda dengan diberikan
– nilai awal yang diinvestasikan,
– tingkat suku bunga tahunan,
– lama waktu investasi dalam tahun dan hari
Dua bilangan real untuk nilai investasi dan
tingkat suku bunga tahunan, serta dua
bilangan integer untuk jumlah tahun dan
hari
Hasil tahun-1 = awal * (1+suku/100)
Hasil tahun-2 = Hasil tahun-1 * (1+suku/100)
= awal * (1+suku/100)2
Hasil tahun-3 = awal * (1+suku/100)3
Hasil tahun-n = awal * (1+suku/100)n

bunga: fungsi real


spesifikasi storage
parameter
awal,suku : real in only
tahun,hari : integer in only
end of spesifikasi storage
begin
bunga  awal *(1+ suku/100) (tahun + hari/365)
- awal
end
Studi Kasus 2.5
Menghitung Luas Trapesium
Uraian permasalahan
Diketahui nilai a,b dan h, hitung luas
trapesium dengan panjang sisi paralel a
dan b serta tinggi h.

Spesifikasi input
Satu baris input yang mengandung 3 nilai
real a,b dan h
Penyelesaian dengan fungsi luas
LuasTrapesium : prosedur inisial
spesifikasi storage
variabel trapesi: fungsi real
a,b,h : riil spesifikasi storage
end of spesifikasi storage parameter
begin a,b,h : real in only
end of spesifikasi storage
input a,b,h
begin
output trapesi(a,b,h)
trapesi  luas(h,(a+b)/2)
end end
Penyelesaian langsung
LuasTrapesium : prosedur inisial
variabel
a,b,h : riil trapesi: fungsi real
end of spesifikasi storage parameter
begin a,b,h : real in only
input a,b,h
begin
output trapesi(a,b,h)
trapesi  h*(a+b)/2
end
end