Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

MATERI 3 PROSEDUR. Instruksi Dasar (1) Tiga jenis instruksi di bawah ini akan dipakai untuk merencanakan program dasar:  print*  mencetak satu * dan.

Presentasi serupa


Presentasi berjudul: "MATERI 3 PROSEDUR. Instruksi Dasar (1) Tiga jenis instruksi di bawah ini akan dipakai untuk merencanakan program dasar:  print*  mencetak satu * dan."— Transcript presentasi:

1 MATERI 3 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 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)

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 3.4: NL;p*;ps;ps;ps;p* Program 3.5: NL; p*;p*;p*;p*;p* Bagaimana cara membuat bentuk di bawah ini? ****** ** * * *

6 Prosedur sebagai Instruksi (3) Jawab:  Program 3.6: Program 3.5; Program 3.4; Program 3.4; Program 3.4; Program 3.5  Program 3.7: Program 3.4; Program 3.4; Program 3.5; Program 3.4; Program 3.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 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.

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 3.9;NL;Program 3.9;NL;Program 3.9 (Program 3.10)

11 Definisi dalam Definisi (2) 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()

12 Definisi dalam Definisi (2) 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()

13 Prosedur dengan Parameter (1) def p() = p* enddef p(); p(); p() (Program 3.13) Arti dari Program 3.13 adalah tercetaknya tiga *. 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 *.

14 MATERI 4 PROSEDUR DENGAN PARAMETER

15 Prosedur dengan Parameter (1) Perhatikan lagi prosedur berikut ini : def p() = p* enddef p(); p(); p() (Program 4.1) def p() = NL;p*;p*;p* enddef p();p();p()(Program 4.2)

16 Prosedur dengan Parameter (2) Prosedur p() dalam Program 4.1 dan 4.2 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 4.3)

17 Prosedur dengan Parameter (3) Dalam Program 4. 3:  urutan instruksi p();p();p() adalah batang tubuh dari prosedur r3.  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 Definisikan prosedur x, y, dan z sehingga urutan instruksi NL; r3(x); NL; r3(y);NL; r3(z) mencetak pola di bawah ini * * * ** ** ** *** *** *** Definisikan prosedur r4 sehingga bila diberikan definisi x, y, dan z dari soal 1, urutan instruksi NL; r4(x); NL; r4(y);NL; r4(z) akan mencetak pola * * * * ** ** ** ** *** *** *** *** Kalau r3(one) seperti yang didefinisikan di atas yaitu mencetak satu *. Bila diberikan definisi 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 Tambahan Instruksi (Latihan) Tulis definisi dari prosedur segiempat agar supaya setiap pemanggilan :  segiempat(‘*’) akan mencetak suatu segiempat berukuran 3x3 *,  suatu segiempat(‘+’) akan menghasilkan segiempat 3x3 +.

22 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

23 Prosedur Berparameter Banyak (Latihan) Diberikan definisi prosedur sandwich (selai,roti) dan prosedur bigmac: def bigmac(f1, f2, bread) = bread(); f1(); bread(); f2(); bread() enddef Cari arti dari program di bawah ini: def a() = pc(‘a’) enddef def b() = pc(‘b’) enddef def c() = pc(‘c’) enddef def one() = sandwich(a,b) enddef def two() = bigmac(c,a,b) enddef sandwich(one, two) (Program 4.4)

24 Latihan Buat programnya dengan sandwich (tengah, luar) * ** I *** * ** II *** * ** I ***

25

26

27

28

29 Tugas Take Home  Diketahui 4 digit nim dibelakang anda (diambil yg warna merah)  Buatlah PROSEDUR dan PROSEDUR BERPARAMETER  Ketentuan tiap karakter berukuran 5x6.  CONTOH: angka 6 ****** * ****** * ******

30 Tugas Take Home  Dikumpulkan Dalam File *.DOC di  Paling Lambat Kamis 22 September 2011, jam 6 Sore Waktu GOOGLE


Download ppt "MATERI 3 PROSEDUR. Instruksi Dasar (1) Tiga jenis instruksi di bawah ini akan dipakai untuk merencanakan program dasar:  print*  mencetak satu * dan."

Presentasi serupa


Iklan oleh Google