Senin, 06 Agustus 2012

Prosedur


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 *.

Tidak ada komentar:

Posting Komentar