Anda di halaman 1dari 15

LOGIKA DAN ALGORITMA

- PERTEMUAN 7 –
SUB PROGRAM
Pengantar
Program yang besar perlu dipecah menjadi program
kecil.
Tiap sub program disebut Modul.
Dirancang oleh programmer atau developer program.
Disebut Teknik Pemrograman Modular.
Beberapa pemrograman menyebut modul dengan
sebutan :
Routine
Prosedur
Fungsi
Terdapat proses utama, yang berfungsi untuk
menggabungkan modul yang ada.
Bagan Cara Kerja Sub Program
Modul Modul 1
Utama
A1 M11
A2 M12
A3
M13
Call Modul 1
M14
A4
A5 Modul 2
Call Modul 2 M21
A6
M22
A7
M23
Call Modul 1
A8 M24
Contoh Prosedur (1)
Procedure Hitung_Luas_Lingkaran
{Menghitung nilai luas lingkaran dari masukan jari-
jari di program utama}
Deklarasi
Luas:Real
Const phi =22/7
Deskripsi
Luas  phi*r*r
write(Luas)
Contoh Prosedur (2)
Procedure Hitung_Keliling_Lingkaran
{Menghitung nilai keliling lingkaran dari masukan
jari-jari di program utama}
Deklarasi
Keliling:Real
Const phi =22/7
Deskripsi
Keliling  2*phi*r
write(Keliling)
Contoh Prosedur (3)
Procedure Hitung_Keliling_Luas_Lingkaran
{Menghitung nilai keliling dan Luas lingkaran}
Deklarasi
r:Real
Procedure Hitung_Luas_Lingkaran
Procedure Hitung_Keliling_Lingkaran
Deskripsi
read(r)
Hitung_Luas_Lingkaran
Hitung_Keliling_Lingkaran
LATIHAN SOAL
Tuliskan procedure untuk menentukan nilai terbesar
antara 2 buah variabel bil bulat, A dan B. Nilai terbesar
dicetak ke layar.
Buatlah masing-masing procedur untuk menghitung
luas dan volume balok dari daftar menu sederhana.
dimana L balok = 6 x s x s
V balok = s x s x s
Parameter Masukan
(Input Parameter)
Parameter yang nilainya berlaku sebagai masukan
untuk procedure yang dipanggil.
Biasa disebut parameter nilai (value parameter atau
parameter by value)
Contoh Parameter Masukan
Procedure TentukanMaksimum (Input A,B:Integer)
{Menentukan nilai terbesar dari 2 buah variabel A dan B.
Nilai A dan B dibaca terlebih dahulu}
Deklarasi
Maks :Integer
Deskripsi
If (A>B) then
Maks  A
Else
Maks  B
Endif
Write(Maks)
Algoritma Utama
{Algoritma utama untuk memanggil TentukanMaksimum}
Deklarasi
X, Y :Integer
Procedure TentukanMaksimum (Input A,B :Integer)
Deskripsi
read(X,Y)
TentukanMaksimum(X,Y)
Parameter Keluaran
(Output Parameter)
Parameter yang menampung keluaran yang dihasilkan
oleh procedure.
Parameter keluaran dideklarasikan di dalam header
prosedur, seperti parameter masukan.
Contoh Parameter Keluaran
Procedure TentukanMaksimum (Input A,B:Integer, Output Maks : integer)
{Menentukan nilai terbesar dari 2 buah variabel A dan B.
Nilai A dan B dibaca terlebih dahulu}
Deklarasi
{tidak ada}
Deskripsi
If (A>B) then
Maks  A
Else
Maks  B
Endif

Algoritma Utama
{Algoritma utama untuk memanggil TentukanMaksimum}
Deklarasi
X, Y, Z :Integer
Procedure TentukanMaksimum (Input A,B :Integer, Output Hasil:integer)
Deskripsi
read(X,Y)
TentukanMaksimum(X,Y,Z)
write(Z)
Parameter Masukan/Keluaran
Procedure TentukanMaksimum (I/O A,B:integer)
{Menentukan nilai terbesar dari 2 buah variabel A dan B.
Nilai A dan B dibaca terlebih dahulu}
Deklarasi
tukar:integer
Deskripsi
If (A<B) then
tukar  A
A B
B  tukar
Endif

Algoritma Utama
{Algoritma utama untuk memanggil TentukanMaksimum}
Deklarasi
X, Y, :Integer
Procedure TentukanMaksimum (I/O A,B:integer)
Deskripsi
read(X,Y)
TentukanMaksimum(X,Y)
write(A)
Fungsi
Program yang memberikan/mengembalikan sebuah nilai
(return) dari tipe tertentu.
Dalam nama fungsi terdapat sebuah nilai, seperti halnya
sebuah variabel. Biasanya berupa kata kerja.
Format Pembuatan Fungsi :
Function NamaFungsi(daftar parameter)  Tipe Data
{Bagian nama fungsi}
Deklarasi
{Pendeklarasian kamus data}
Deskripsi
{Bagian algoritma Utama}
Return (nilai)
Contoh Fungsi
Function HitungFaktorial(input x : integer)  integer
Deklarasi
Hasil:integer
Deskripsi
Hasil  1
{menghitung nilai Hasil}
For i  N downto 1 do
hasil=hasil*I
Endfor
Return(hasil)
Algoritma Menghitung nilai e
{Menghitung nilai e}
Deklarasi
A, n ,r temp:integer
Function HitungFaktorial(input x:integer)  integer
Deskripsi
read(n)
exp1
for i 1 to n do
expexp+1/HitungFaktorial(i)
Endfor
write(exp)
LATIHAN 7
Tuliskan Fungsi untuk mendeteksi tipe suatu segitiga,
apakah termasuk :
Segitiga siku-siku
Segitiga sama sisi
Segitiga sama kaki
Segitiga sembarang
Jika dimasukkan dari keyboard panjang sisi-sisinya a,b,c
(type real) dan outputnya berupa type segitiga

Anda mungkin juga menyukai