Instruksi Dasar
n Tiga
jenis instruksi di bawah ini akan dipakai untuk merencanakan program dasar:
– print* à mencetak satu * dan membuat kursor maju
satu langkah. (print* = p*)
– prints à mencetak satu space kosong dan maju satu
langkah. (prints = ps)
– NL à return ke baris berikutnya
n Contoh
NL; p*;p*;p*
NL; p*;p*;p* (Program
3.1)
NL; p*;p*;p*
Disederhanakan:
NL; p*;p*;p* (Program 3.2)
Program 3.2; Program 3.2; Program 3.2 (Program 3.3)
Prosedur
n Kesulitan dalam mengingat urutan
sekumpulan instruksi menghasilkan pemikiran untuk memberi nama (label) kepada
kumpulan instruksi tersebut.
n Cara seperti ini disebut membuat prosedur.
n Dengan prosedur tidak perlu lagi
menyebutkan sekuens dari kumpulan instruksi tersebut tetapi cukup dengan
menyebutkan nama (label) prosedurnya saja.
n Prosedur adalah suatu program yang
digunakan oleh program lain sama seperti sebuah instruksi.
Prosedur sebagai
Instruksi
Notasi Definisi dan Pemanggilan Prosedur
n Suatu
prosedur akan selalu dimulai dengan kata “def” dan berakhir dengan enddef.
n Contoh:
def
threestars() = NL;p*;p*;p* enddef
n Nama
prosedur adalah threestars .
– Arti prosedur diberikan oleh NL;p*;p*;p*
– Tanda () menunjukkan bahwa bilamana
prosedur ini dipanggil, tak ada parameter yang dibutuhkan untuk mengeksekusinya.
n Contoh
– untuk Program 3.3. dapat ditulis
threestars();threestars();threestars();
(Program 3.8)
– def H() = t1();t1();t2();t1() enddef
def O() = t2();t1();t1();t2()
enddef;
def t1() = NL;p*;ps;ps;ps;p* enddef (Program
3.9)
def t2() = NL; p*;p*;p*;p*;p*
enddef
O(); NL; H() akan menghasilkan
huruf O di atas H.
Definisi dalam
Definisi
n Suatu prosedur dapat berisi definisi dari
suatu prosedur lain.
n Contoh: untuk mencetak pola OH tiga kali
dengan blank memisahkan tiap pola
n Program dapat dibuat dengan:
Program
3.9;NL;Program 3.9;NL;Program 3.9
(Program
3.10)
n Contoh:
Program
3.11:
def
pattern() =
def H() =
t1();t1();t2();t1() enddef
def O() =
t2();t1();t1();t2() enddef;
def t1() =
NL;p*;ps;ps;ps; p* enddef
def t2() =
NL;p*;p*;p*;p*;p* enddef
O(); NL; H()
enddef
pattern();
NL;pattern();NL;pattern()
n Cara lain:
def H() = t1();t1();t2();t1();t1() enddef
def O() = t2();t1();t1();t1();t2() enddef
def t1() = NL;p*;ps;ps;ps;p*
enddef
def t2() = NL;p*;p*;p*;p*;p* enddef
(Program 3.12)
def pattern()= O(); NL; H()
enddef
pattern();NL;pattern();NL;pattern()
Prosedur dengan Parameter
n def
p() = p* enddef
p();
p(); p() (Program
3.13)
n Arti dari Program 3.13 adalah tercetaknya
tiga *.
n Tetapi dengan nama yang sama dapat
didefinisikan p() sbb:
def p() = NL;p*;p*;p* enddef
p();p();p() (Program 3.14)
di mana arti dari Program 3.14
adalah mencetak sembilan *.