Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
PROSEDUR & FUNGSI
2
PROSEDUR Prosedur Memasak Mie Kuah :
Masukkan mie dalam 400cc (2 gelas) air mendidih, aduk selama 3 menit Siapkan bumbu, minyak bumbu, dan bubuk cabe ke dalam mangkok, sementara mie dimasak Tuangkan mie beserta kuahnya ke dalam mangkok yang sudah berisi bumbu, aduk sampai rata 4. Mie kuah siap untuk disantap PROSEDUR
3
procedure NamaProsedur (deklarasi parameter, jika ada)
{ Spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini. K.Awal : keadaan sebelum prosedur dilaksanakan. K.Akhir : keadaan setelah prosedur dilaksanakan. } DEKLARASI { Semua nama yang dipakai di dalam prosedur dan hanya berlaku lokal di dalam prosedur yang didefinisikan} ALGORITMA { badan prosedur, berisi urutan instruksi }
4
Prosedur Tanpa Parameter
Prosedur untuk mencetak kata “Subrutin” sebanyak 100 kali Procedure CetakKata { Mencetak kata “Subrutin” } { K.Awal : sembarang } { K.Akhir : kata “Subrutin” tercetak } DEKLARASI { tidak ada } ALGORITMA write(‘Subrutin’)
5
Prosedur Tanpa Parameter
Pemanggilan prosedur CetakKata program cetak_Subrutin DEKLARASI i, n : integer procedure cetakkata { Mencetak kata “Subrutin” } ALGORITMA read(n) for i = 1 to n do cetakkata endfor
6
Prosedur Tanpa Parameter
Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang x lebar procedure HitungLuasSegiempat { Menghitung luas segi empat dengan rumus L = panjang x lebar } { K.Awal : sembarang } { K.Akhir : luas segiempat tercetak} DEKLARASI panjang : real lebar : real luas : real ALGORITMA read(panjang,lebar) luas panjang * lebar write(luas)
7
Prosedur Tanpa Parameter
Pemanggilan prosedur HitungLuasSegiempat program Segiempat { Menghitung luas n buah segiempat } DEKLARASI i, n : integer procedure HitungLuasSegiempat { Menghitung luas segi empat dengan rumus L = panjang x lebar } ALGORITMA read(n) for i = 1 to n do HitungLuasSegiempat endfor
8
Parameter Masukan Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang x lebar procedure HitungLuasSegiempat(input panjang,lebar : real) { Menghitung luas segi empat dengan rumus L = panjang x lebar } { K.Awal : panjang dan lebar sudah terdefinisi nilainya } { K.Akhir : luas segiempat tercetak} DEKLARASI luas : real ALGORITMA luas panjang * lebar write(luas)
9
Parameter Masukan Pemanggilan prosedur HitungLuasSegiempat (versi 1)
program Segiempat { Menghitung luas n buah segiempat } DEKLARASI i, n : integer panjang, lebar : real procedure HitungLuasSegiempat(input panjang,lebar : real) { Menghitung luas segi empat dengan rumus L = panjang x lebar } ALGORITMA read(n) for i = 1 to n do read(panjang, lebar) HitungLuasSegiempat(panjang,lebar) endfor
10
Parameter Masukan Pemanggilan prosedur HitungLuasSegiempat (versi 2)
program Segiempat { Menghitung luas n buah segiempat } DEKLARASI i, n : integer p, l : real procedure HitungLuasSegiempat(input panjang,lebar : real) { Menghitung luas segi empat dengan rumus L = panjang x lebar } ALGORITMA read(n) for i = 1 to n do read(p, l) HitungLuasSegiempat(p,l) endfor
11
Parameter Keluaran Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang x lebar procedure HitungLuasSegiempat(input panjang,lebar : real, output luas : real) { Menghitung luas segi empat dengan rumus L = panjang x lebar } { K.Awal : panjang dan lebar sudah terdefinisi nilainya } { K.Akhir : luas segiempat tercetak} DEKLARASI { tidak ada } ALGORITMA luas panjang * lebar
12
Parameter Keluaran Pemanggilan prosedur HitungLuasSegiempat
program Segiempat { Menghitung luas n buah segiempat } DEKLARASI i, n : integer p, l, NilaiLuas : real procedure HitungLuasSegiempat(input panjang,lebar : real, output luas : real) { Menghitung luas segi empat dengan rumus L = panjang x lebar } ALGORITMA read(n) for i = 1 to n do read(p, l) HitungLuasSegiempat(p,l,NilaiLuas) write(NilaiLuas) endfor
13
Parameter Masukan/Keluaran
Prosedur untuk menghitung x = x + 1 seperti prosedur Inc(x)dalam pemrograman Pascal procedure Inc(input/output x : integer) { Menaikkan nilai x sebesar 1 } { K.Awal : x sudah terdefinisi sebelumnya } { K.Akhir : nilai x bertambah 1} DEKLARASI { tidak ada } ALGORITMA x x + 1
14
Parameter Masukan/Keluaran
Pemanggilan prosedur Inc program Cetak0Sampai10 { Mencetak nilai dari 0 sampai 10 } DEKLARASI x : integer procedure Inc(input/output x : integer) { Menaikkan nilai x sebesar 1 } ALGORITMA x 0 repeat write(x) Inc(x) until x > 10
15
Pemanggilan Prosedur Call by value Call by reference
Pemanggilan prosedur yang hanya mempunyai parameter input Call by value Pemanggilan prosedur yang mempunyai parameter input/output Call by reference
16
Contoh : Call by value procedure pass_val(input j : integer) DEKLARASI { tidak ada } ALGORITMA j j + 1 write(j)
17
Pemanggilan prosedur pass_val
program callbyvalue DEKLARASI i : integer procedure pass_val(input j : integer) ALGORITMA i 6 write(i) pass_val(i)
18
Contoh : Call by reference
procedure pass_ref(input/output j : integer) DEKLARASI { tidak ada } ALGORITMA j j + 1 write(j)
19
Pemanggilan prosedur pass_ref
program callbyreference DEKLARASI i : integer procedure pass_val(input/output j : integer) ALGORITMA i 6 write(i) pass_ref(i)
20
Skema Umum Prosedur Rekursi
procedure C(input x : x_type) { prosedur yang memanipulasi nilai x } { K. Awal : x terdefinisi nilainya } { K. Akhir : kumpulan aksi yang memanipulasi nilai x dilakukan } DEKLARASI { variabel lokal, jika ada } ALGORITMA if P(x) then M(x) { basis } else S1(x) C(F(x)) { rekurens } S2(x) endif
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.