1 / 21

MATERI 4

MATERI 4. PROSEDUR. Instruksi Dasar (1). 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)

Download Presentation

MATERI 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MATERI 4 PROSEDUR

  2. Instruksi Dasar (1) • 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

  3. Instruksi Dasar (2) • Contoh NL; p*;p*;p* NL; p*;p*;p* (Program 7.1) NL; p*;p*;p* • Disederhanakan: NL; p*;p*;p* (Program 7.2) Program 7.2; Program 7.2; Program 7.2 (Program 7.3)

  4. Prosedur (1) • Kesulitan dalam mengingat urutan sekumpulan instruksi menghasilkan pemikiran untuk memberi nama (label) kepada kumpulan instruksi tersebut. • Cara seperti ini disebut membuat prosedur. • Dengan prosedur tidak perlu lagi menyebutkan sekuens dari kumpulan instruksi tersebut tetapi cukup dengan menyebutkan nama (label) prosedurnya saja. • Prosedur adalah suatu program yang digunakan oleh program lain sama seperti sebuah instruksi.

  5. Prosedur sebagai Instruksi (2) • Didefinisikan Program 7.4: NL;p*;ps;ps;ps;p* Program 7.5: NL; p*;p*;p*;p*;p* • Bagaimanacaramembuatbentukdibawahini? ***** * * * * * * * * ***** * * * * ***** * *

  6. Prosedur sebagai Instruksi (3) • Jawab: • Program 7.6: Program 7.5; Program 7.4; Program 7.4; Program 7.4; Program 7.5 • Program 7.7: Program 7.4; Program 7.4; Program 7.5; Program 7.4; Program 7.4

  7. Prosedur sebagai Instruksi (Latihan) • Buatlah program untuk mencetak huruf HELLO dalam posisi vertikal. Ukuran tiap huruf 5x5.

  8. Notasi Definisi dan Pemanggilan Prosedur (1) • Suatu prosedur akan selalu dimulai dengan kata “def” dan berakhir dengan enddef. • Contoh: def threestars() = NL;p*;p*;p* enddef • 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.

  9. Notasi Definisi dan Pemanggilan Prosedur (2) • Contoh • untuk Program 7.3. dapat ditulis threestars();threestars();threestars(); (Program 7.8) def t1() = NL;p*;ps;ps;ps;p* enddef (Program 7.9) def t2() = NL; p*;p*;p*;p*;p* enddef def H() = t1();t1();t2();t1();t1() enddef def O() = t2();t1();t1();t1();t2() enddef O(); NL; H(); akan menghasilkan huruf O di atas H.

  10. Definisi dalam Definisi (1) • Suatu prosedur dapat berisi definisi dari suatu prosedur lain. • Contoh: untuk mencetak pola OH tiga kali dengan blank memisahkan tiap pola • Program dapat dibuat dengan: Program 7.9;NL;Program 7.9;NL;Program 7.9; (Program 7.10)

  11. Definisi dalam Definisi (2) • Contoh: Program 7.11: def pattern() = def t1() = NL;p*;ps;ps;ps; p* enddef def t2() = NL;p*;p*;p*;p*;p* enddef def H() = t1();t1();t2();t1() enddef def O() = t2();t1();t1();t2() enddef O(); NL; H(); enddef pattern(); NL;pattern();NL;pattern();

  12. Definisi dalam Definisi (2) • Cara lain: def t1() = NL;p*;ps;ps;ps;p* enddef def t2() = NL;p*;p*;p*;p*;p* enddef def H() = t1();t1();t2();t1() enddef def O() = t2();t1();t1();t2() enddef (Program 7.12) def pattern()= O(); NL; H() enddef pattern();NL;pattern();NL;pattern();

  13. Prosedur dengan Parameter (1) • def p() = p* enddef p(); p(); p() (Program 7.13) • Arti dari Program 7.13 adalah tercetaknya tiga *. • Tetapi dengan nama yang sama dapat didefinisikan p() sbb: def p() = NL;p*;p*;p* enddef p();p();p() (Program 7.14) di mana arti dari Program 7.14 adalah mencetak sembilan *.

  14. PROSEDUR DENGAN PARAMETER

  15. Prosedur dengan Parameter (1) • Perhatikanlagiprosedurberikutini : def p() = p* enddef p(); p(); p() (Program 7.15) def p() = NL;p*;p*;p* enddef p();p();p() (Program 7.16)

  16. Prosedur dengan Parameter (2) • Prosedur p() dalam Program 7.15 dan Program 7.16 selalu mempunyai arti yang tetap. Sekali didefinisikan akan selalu seperti itu. Ini disebabkan p() tidak mempunyai parameter. Pemberian parameter memungkinkan mengubah arti p() setiap saat. def r3(p) = p();p();p() enddef def one() = p* enddef def two() = NL enddef def three() = NL; p*;p*;p* enddef r3(one); r3(two); r3(three); (Program 7.17)

  17. Prosedur dengan Parameter (3) • Dalam Program 7. 17: • urutan instruksi p();p();p() adalah batang tubuh dari prosedur r3(p) • Setiap prosedur r3(one), r3(two); r3(three) meminta eksekusi dari p();p();p(). • Arti p() itu sendiri tergantung pada parameter yang disuplai. • Sebagai contoh: instruksi eksekusi hasil r3(one) one(), one(), one() *** r3(two) two(), two(), two() r3(three) three(), three(), three() *** *** ***

  18. Latihan Soal • Definisikanprosedur x, y, dan z sehinggaurutaninstruksi NL; r3(x); NL; r3(y);NL; r3(z) mencetakpoladibawahini * * * ** ** ** *** *** *** • Definisikanprosedur r4 sehinggabiladiberikandefinisi x, y, dan z darisoal 1, urutaninstruksi NL; r4(x); NL; r4(y);NL; r4(z) akanmencetakpola * * * * ** ** ** ** *** *** *** *** • Kalau r3(one) seperti yang didefinisikandiatasyaitumencetaksatu *. Biladiberikandefinisi def A() = r3(one); r3(one); r3(one); enddef Berapa * yang dicetak?

  19. Tambahan Instruksi (1) • Instruksi dengan satu argumen karakter: • pc(‘ ‘): print karakter. Akan mencetak karakter yang diberikan di dalam tanda kurung. • Contoh: pc(‘*’)  * pc(‘ ‘)  satu space pc(‘+’)  + def threec(c) = pc(c); pc(c); pc(c) enddef • Maka threec (‘9’) akan mencetak 999 sebab parameter c disubstitusi menjadi 9 ke dalam batang tubuh dari prosedur tiga menjadi urutan instruksi: pc(‘9’); pc(‘9’); pc(‘9’)

  20. Tambahan Instruksi (2) • Instruksi dengan satu argumen string: • pstring(‘ ‘): print string. Akan mencetak string yang diberikan di dalam tanda kurung. • Contoh: pstring(‘good’);ps;pstring(‘morning’);

  21. Prosedur Berparameter Banyak • def sandwich(selei,roti)=roti();selei();roti() enddef • Prosedur membutuhkan dua nilai argumen yang masing-masing adalah suatu prosedur. • Bila diberikan definisi sbb: def pO() = pc(‘O’) enddef def pX() = pc(‘X’) enddef maka: sandwich(pX,pO) mencetak OXO sandwich(pO,pX) mencetak XOX sandwich(pO,pO) mencetak OOO

More Related