PROGRAM SEBAGAI LOGIKA INSTRUKSI

Slides:



Advertisements
Presentasi serupa
Mata Kuliah: Bahasa C++ Harni Kusniyati
Advertisements

FUNGSI Erizal, S.Si, M.Kom Universitas Respati Yogyakarta
Lingkup Variabel Kelas Penyimpanan Rekursi
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
All sections to appear here
MATERI 9 FUNGSI REKURSIF.
Interaction Diagram.
Instruksi macro Instruksi macro (macro) Contoh:
Pemrograman Terstruktur
STRUKTUR DATA (5) Pointer dan Function
HIMPUNAN.
SUB-PROSES # PENGANTAR MANFAAT PARAMETER PROSEDUR
FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur.
STRUKTUR DATA Pointer dan Function
Materi 5 Nama dan Environment Dasar-Dasar Pemrograman.
MATERI 3 PROSEDUR.
REPETITION / PERULANGAN LOOP/Iteration
IT-132 Dasar-Dasar Pemrograman
PENGULANGAN INSTRUKSI
Fungsi Fungsi (Sub Program) :
Dibuat oleh : Renni Angreni, S.Kom.
FUNGSI.
PENGULANGAN INSTRUKSI
Fungsi dan Prosedur.
FUNGSI.
Procedure , Function dan Parameter
SEKUENSIAL Christine Dewi S.Kom, M.Cs,. bestfriends406.blogspot.com
Tujuan Instruksional Mahasiswa memahami konsep fungsi
BAB I PENDAHULUAN.
Prosedur Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer
Notasi Algoritma & Tipe Data
Pemrograman Terstruktur
SUBALGORITMA.
PROGRAM SEBAGAI LOGIKA INSTRUKSI
HIMPUNAN.
Pengantar Pemrograman
HIMPUNAN ..
MODULAR (FUNGSI)
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
Teknik Pemrograman Terstruktur 2
Pemrograman Repetisi Ramos Somya, S.Kom., M.Cs..
IT-132 Dasar-Dasar Pemrograman
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Castaka agus sugiato, M.Kom., M.CS
Pemrograman Terstruktur
Dasar-Dasar Pemrograman
Sequence, Procedure & Function
Pemrograman (IN124) Ramos Somya, S.Kom., M.Cs.
MATERI 3 Sub Program PRAKTIKUM DDP.
HIMPUNAN.
Algoritma dan Pemrograman
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
Algoritma dan Sequence
MODULAR (FUNGSI)
Algoritma dan Pemrograman (Pertemuan 04)
Tipe data & Variabel 1. Aturan Leksikal. 2. Operator. 3. Statement
Percabangan dalam VB6: GoTo, GoSub, Sub, Function
Algoritma dan Pemrograman FUNGSI (FUNCTION)
IT-132 Dasar-Dasar Pemrograman
Pemrograman Terstruktur
Dasar-Dasar Pemrograman
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Fungsi.
Pemrograman (IN124) Ramos Somya, S.Kom., M.Cs.
PENGULANGAN INSTRUKSI
PROGRAM SEBAGAI LOGIKA INSTRUKSI
HIMPUNAN ..
Pemrograman (IN124) Ramos Somya, S.Kom., M.Cs.
Notasi Algoritmik, Tipe Dasar, Nilai, Ekspresi dan Input/Output
Transcript presentasi:

PROGRAM SEBAGAI LOGIKA INSTRUKSI MATERI 8 PROGRAM SEBAGAI LOGIKA INSTRUKSI

Instruksi Dasar (1) Tiga jenis instruksi di bawah ini akan dipakai untuk merencanakan program kita: c*  mencetak satu * dan membuat kursor maju satu langkah. cb  mencetak satu space kosong dan maju satu langkah. BB  return ke baris berikutnya

Instruksi Dasar (2) Contoh BB; c*;c*;c* BB; c*;c*;c* (Program 4.1) Disederhanakan: BB; c*;c*;c* (Program 4.2) Program 4.2; Program 4.2; Program 4.2 (Program 4.3)

Prosedur sebagai Instruksi yang Ditemukan (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 suatu instruksi.

Prosedur sebagai Instruksi yang Ditemukan (2) Didefinisikan Program 4.4: BB;c*;cb;cb;cb;c* Program 4.5: BB; c*;c*;c*;c*;c* Bagaimana cara membuat bentuk di bawah ini? ***** * * * * * * * * *****

Prosedur sebagai Instruksi yang Ditemukan (3) Jawab: Program 4.6: Program 4.5; Program 4.4; Program 4.4; Program 4.4; Program 4.5 Program 4.7: Program 4.4; Program 4.4; Program 4.5; Program 4.4; Program 4.4

Prosedur sebagai Instruksi yang Ditemukan (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 akhdef. Contoh: def tiga*() = BB;c*;c*;c* akhdef Di sini nama prosedur adalah tiga*. Arti prosedur diberikan oleh BB;c*;c*;c* Tanda () menunjukkan bahwa bilamana prosedur ini dipanggil, tak ada parameter yang dibutuhkan untuk mengeksekusinya.

Notasi Definisi dan Pemanggilan Prosedur (2) Contoh untuk Program 4.3. dapat ditulis tiga*();tiga*();tiga*() (Program 4.8) def H() = t1();t1();t2();t1() akhdef def O() = t2();t1();t1();t2() akhdef; def t1() = BB;c*;cb;cb;cb;c* akhdef (Program 4.9) def t2() = BB; c*;c*;c*;c*;c* akhdef O(); BB; 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 4.9;BB;Program 4.9;BB;Program 4.9 (Program 4.10)

Definisi dalam Definisi (2) Program 4.10 belum merupakan suatu program yang lengkap karena Program 4.9 belum didefinisikan. Program 4.11: def polan() = def H() = t1();t1();t2();t1() akhdef def O() = t2();t1();t1();t2() akhdef; def t1() = BB;c*;cb;cb;cb; c* akhdef def t2() = BB;c*;c*;c*;c*;c* akhdef O(); BB; H() akhdef polan(); BB;polan();BB;polan()

Definisi dalam Definisi (2) Cara lain: def H() = t1();t1();t2();t1() akhdef def O() = t2();t1();t1();t2() akhdef def t1() = BB;c*;cb;cb;cb;c* akhdef def t2() = BB;c*;c*;c*;c*;c* akhdef (Program 4.12) def polan()= O(); BB; H() akhdef polan();BB;polan();BB;polan()

Prosedur dengan Parameter (1) def p() = c* akhdef p(); p(); p() (Program 4.13) Arti dari Program 4.13 adalah tercetaknya tiga *. Tetapi dengan nama yang sama dapat didefinisikan p() sbb: def p() = BB;c*;c*;c* akhdef p();p();p() (Program 4.14) di mana arti dari Program 4.14 adalah mencetak sembilan *.

Prosedur dengan Parameter (1) Namun p() dalam Program 4.13 dan 4.14 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() akhdef def satu() = c* akhdef def dua() = BB akhdef def tiga() = BB; c*;c*;c* akhdef r3(satu); r3(dua); r3(tiga) (Program 4.15)

Prosedur dengan Parameter (2) Dalam Program 4.13: urutan instruksi p();p();p() adalah batang tubuh dari prosedur r3. Setiap prosedur r3(satu), r3(dua); r3(tiga) meminta eksekusi dari p();p();p(). Arti p() itu sendiri tergantung pada parameter yang disuplai. Sebagai contoh: instruksi eksekusi hasil r3(satu) satu(), satu(), satu() *** r3(dua) dua(), dua(), dua() r3(tiga) tiga(),tiga(),tiga() *** *** ***

Latihan Soal Definisikan prosedur x, y, dan z sehingga urutan instruksi BB; r3(x); BB; r3(y);BB; r3(z) mencetak pola di bawah ini * * * ** ** ** *** *** *** Definisikan prosedur r4 sehingga bila diberikan definisi x, y, dan z dari soal 1, urutan instruksi BB; r4(x); BB; r4(y);BB; r4(z) akan mencetak pola * * * * ** ** ** ** *** *** *** *** Kalau r3(satu) seperti yang didefinisikan di atas yaitu mencetak satu *. Bila diberikan definisi def A() = r3(satu); r3(satu); r3(satu); r3(satu) akhdef Berapa * yang dicetak?

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

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

Nilai Prosedur yang Mengambil Argumen (1) def kedua(x) = x(‘*’); x(‘+’) enddef Bila diberikan definisi satu() dalam Program 4.3, maka kedua(satu) tidak akan masuk akal sebab satu(‘*’) dan satu(‘+’) tidak masuk akal. Tetapi kedua(cc) masuk akal dan akan mencetak * dan +. Begitu juga dengan kedua(segiempat) masuk akal dan akan mencetak segiempat * dan +.

Nilai Prosedur yang Mengambil Argumen (2) Jadi dengan melihat pada definisi prosedur kedua, terlihat bahwa parameter prosedur ini adalah suatu prosedur. Prosedur yang disuplai haruslah prosedur yang menerima karakter sebagai argumennya. Bila diberikan kedua(r3) di mana r3 telah didefinisikan, maka tidak masuk akal karena meskipun r3 menerima suatu argumen, r3 membutuhkan suatu prosedur dan bukan suatu nilai karakter sebagai argumennya.

Nilai Prosedur yang Mengambil Argumen (3) Diberikan definisi def quote(c) = BB; cc(‘’’) cc(c); cc(‘’’) akhdef def x() = c* akhdef Prosedur quote adalah suatu prosedur yang membutuhkan argumen karakter yang dipakai pada urutan instruksi ketiga yaitu cc(c) c bukan nama prosedur.

Nilai Prosedur yang Mengambil Argumen (4) Mana yang masuk akal? quote(‘x’); masuk akal karena ‘x’ adalah nilai bukan prosedur. quote(‘*’); idem quote(‘c’); idem quote(c); tidak masuk akal karena c bukan nilai dan tidak didefinisikan. quote(x); tidak masuk akal karena x adalah prosedur

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

Prosedur Berparameter Banyak (Latihan) Diberikan definisi prosedur sandwich (idem) dan prosedur bigmac: def bigmac(f1, f2, bread) = bread(); f1(); bread(); f2(); bread() akhdef Cari arti dari program di bawah ini: def a() = cc(‘a’) akhdef def b() = cc(‘b’) akhdef def c() = cc(‘c’) akhdef def satu() = sandwich(a,b) akhdef def dua() = bigmac(c,a,b) akhdef sandwich(satu, dua) (Program 4.16)

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