materi 3

30
MATERI 3 PROSEDUR

Upload: henrietta-jordan

Post on 01-Jan-2016

68 views

Category:

Documents


4 download

DESCRIPTION

MATERI 3. 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) - PowerPoint PPT Presentation

TRANSCRIPT

MATERI 3

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) NL return ke baris berikutnya

Instruksi Dasar (2)

ContohNL; 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 (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.

Prosedur sebagai Instruksi (2)

DidefinisikanProgram 3.4: NL;p*;ps;ps;ps;p*Program 3.5: NL; p*;p*;p*;p*;p*

Bagaimana cara membuat bentuk di bawah ini?

***** * ** * * ** * ****** * * ****** * *

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

Prosedur sebagai Instruksi (Latihan)

Buatlah program untuk mencetak huruf HELLO dalam posisi vertikal. Ukuran tiap huruf 5x5.

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.

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() enddefdef 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* enddefO(); NL; H() akan menghasilkan huruf O di atas H.

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)

Definisi dalam Definisi (2) Contoh:

Program 3.11:def pattern() =

def H() = t1();t1();t2();t1() enddefdef O() = t2();t1();t1();t2() enddef;def t1() = NL;p*;ps;ps;ps; p* enddef def t2() = NL;p*;p*;p*;p*;p* enddefO(); NL; H()

enddefpattern(); NL;pattern();NL;pattern()

Definisi dalam Definisi (2)

Cara lain: def H() = t1();t1();t2();t1();t1() enddefdef O() = t2();t1();t1();t1();t2() enddefdef 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() enddefpattern();NL;pattern();NL;pattern()

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* enddefp();p();p() (Program 3.14)di mana arti dari Program 3.14 adalah mencetak sembilan *.

MATERI 4

PROSEDUR DENGAN PARAMETER

Prosedur dengan Parameter (1)

Perhatikan lagi prosedur berikut ini :def p() = p* enddefp(); p(); p() (Program 4.1)

def p() = NL;p*;p*;p* enddefp();p();p() (Program 4.2)

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() enddefdef one() = p* enddefdef two() = NL enddefdef three() = NL; p*;p*;p* enddefr3(one); r3(two); r3(three) (Program 4.3)

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 hasilr3(one) one(), one(), one() ***r3(two) two(), two(), two() r3(three) three(), three(), three() ***

*** ***

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?

Tambahan Instruksi (1) Instruksi dengan satu argumen karakter:

pc(‘ ‘): print karakter. Akan mencetak karakter yang diberikan di dalam tanda kurung.

Contoh:pc(‘*’) *pc(‘ ‘) satu spacepc(‘+’) +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’)

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’);

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

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’) enddefdef pX() = pc(‘X’) enddefmaka:sandwich(pX,pO) mencetak OXO

sandwich(pO,pX) mencetak XOX sandwich(pO,pO) mencetak OOO

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’) enddefdef b() = pc(‘b’) enddefdef c() = pc(‘c’) enddefdef one() = sandwich(a,b) enddefdef two() = bigmac(c,a,b) enddefsandwich(one, two) (Program 4.4)

Latihan

Buat programnya dengan sandwich (tengah, luar) *

** I *** * ** II *** * ** I ***

Tugas Take Home

Diketahui 4 digit nim dibelakang anda 672006208 (diambil yg warna merah)

Buatlah PROSEDUR dan PROSEDUR BERPARAMETER

Ketentuan tiap karakter berukuran 5x6. CONTOH: angka 6

************** *******

Tugas Take Home

Dikumpulkan Dalam File *.DOC di email [email protected].

Paling Lambat Kamis 22 September 2011, jam 6 Sore Waktu GOOGLE