ALGORITMA
Algoritma & sub Algoritma
• Menurut Al-Khuwarizmi
Untuk mencapai tujuan besar, maka tujuan
tersebut harus dibagi-bagi menjadi tujuan kecil
sampai tujuan kecil itu merupakan tujuan yang
dapat dicapai berdasarkan kondisi dan potensi
yang dimiliki saat itu.
Pemrograman Modular
Memecah program besar menjadi beberapa sub
program (routine) yang lebih kecil
• Keuntungan
– menjadi sederhana
– Menghindari penulisan yang sama berulangkali
– Dapat mengurangi panjang program/algoritma
Sub Algoritma
• Komponen algoritma yang terpisah dari
algoritma utamanya atau berdiri sendiri
tapi diproses dibawah kendali algoritma
utama
• Dibedakan menjadi :
1. Procedure
2. Function
Gambaran umum
Algoritma utama Sub Algoritma A
: :
: Return
Panggil Sub Algoritma A
:
Panggil Sub Algoritma B Sub algoritma B
: :
exit return
Procedure
• Sub algoritma yang diaktifkan dengan
perintah Call dan diikuti dengan nama
procedure dan parameternya;
• mempunyai satu output atau lebih; atau
sama sekali tidak
Procedure
Format Penulisan :
– Procedure nama_procedure;
– Procedure nama_procedure[parameter1, parameter2 ,……]
• Contoh :
Procedure Bagi(dibagi, pembagi bil. Bulat; hasil,sisa bil.
real)
Call Bagi(para_1,para_2,para_3,Para_4)
Procedure
• Contoh :
– Procedure Bagi[dibagi, pembagi,hasil,sisa]
– Call bagi(10,5,hasilnya,sisanya)
Contoh sub algoritma : Contoh pemanggilan :
Deklarasi
Procedure Tukar[X,Y bil. bulat]
A,B bil. bulat
Deklarasi
Deskripsi
Sementara bil bulat Read (A,B)
Dekripsi : Call Tukar [A,B]
Sementara X Write(A, ‘ ‘,B)
XY
Y Sementara
Return
Function
• Sub algoritma yang diproses langsung dalam suatu
ekspresi dan selalu menghasilkan satu nilai output
• Pada awal penulisan sub algoritma function harus
dituliskan nama dan parameternya
Formatnya :
Function nama(daftar parameter)
Contoh :
Function RataRata(Nilai_1, Nilai_2, Nilai_3, Nilai_4
bil. bulat)
Function
a = 10 b = 20 c = 30
x = 40 y = 50 z = 60
Maka Hasilnya :
a=0 b=0 c=0
x = 40 y=0 z = 60
Keterangan :
• a adalah variabel global yang dikenal di algoritma utama
maupun di sub algoritma karena disub Algoritma reset nilai a
(diisi 0) maka nilai a pada algoritma utama juga akan berubah
menjadi 0.
• Ada 2 variabel x, pada sub algoritma yang merupakan
variabel lokal dan pada algoritma utama yang merupakan
variabel global.
• Nilai variabel lokal x tidak akan dikenal oleh algoritma utama
sehingga nilai x pada algoritma utama tetap 40 walaupun pada
sub algoritma nilai x diberi nilai 0.
• Perhatikan bahwa parameter x pada algoritma utama dipanggil
dengan argumen y sehingga nilai variabel y yang direset.
• Variabel lokal dapat diubah menjadi variabel global dengan
menggunakan perintah public