PROSEDUR FUNGSI Prosedur Memasak Mie Kuah 1 Masukkan

  • Slides: 20
Download presentation
PROSEDUR & FUNGSI

PROSEDUR & FUNGSI

Prosedur Memasak Mie Kuah : 1. Masukkan mie dalam 400 cc (2 gelas) air

Prosedur Memasak Mie Kuah : 1. Masukkan mie dalam 400 cc (2 gelas) air mendidih, aduk selama 3 menit 2. Siapkan bumbu, minyak bumbu, dan bubuk cabe ke dalam mangkok, sementara mie dimasak 3. Tuangkan mie beserta kuahnya ke dalam mangkok yang sudah berisi bumbu, aduk sampai rata 4. Mie kuah siap untuk disantap PROSEDUR

procedure Nama. Prosedur (deklarasi parameter, jika ada) { Spesifikasi prosedur, berisi penjelasan tentang apa

procedure Nama. Prosedur (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 }

Prosedur Tanpa Parameter • Prosedur untuk mencetak kata “Subrutin” sebanyak 100 kali Procedure Cetak.

Prosedur Tanpa Parameter • Prosedur untuk mencetak kata “Subrutin” sebanyak 100 kali Procedure Cetak. Kata { Mencetak kata “Subrutin” } { K. Awal : sembarang } { K. Akhir : kata “Subrutin” tercetak } DEKLARASI { tidak ada } ALGORITMA write(‘Subrutin’)

Prosedur Tanpa Parameter • Pemanggilan prosedur Cetak. Kata program cetak_Subrutin DEKLARASI i, n :

Prosedur Tanpa Parameter • Pemanggilan prosedur Cetak. Kata program cetak_Subrutin DEKLARASI i, n : integer procedure cetakkata { Mencetak kata “Subrutin” } ALGORITMA read(n) for i = 1 to n do cetakkata endfor

Prosedur Tanpa Parameter • Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang

Prosedur Tanpa Parameter • Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang x lebar procedure Hitung. Luas. Segiempat { 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)

Prosedur Tanpa Parameter • Pemanggilan prosedur Hitung. Luas. Segiempat program Segiempat { Menghitung luas

Prosedur Tanpa Parameter • Pemanggilan prosedur Hitung. Luas. Segiempat program Segiempat { Menghitung luas n buah segiempat } DEKLARASI i, n : integer procedure Hitung. Luas. Segiempat { Menghitung luas segi empat dengan rumus L = panjang x } ALGORITMA read(n) for i = 1 to n do Hitung. Luas. Segiempat endfor lebar

Parameter Masukan • Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang x

Parameter Masukan • Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang x lebar procedure Hitung. Luas. Segiempat(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)

Parameter Masukan • Pemanggilan prosedur Hitung. Luas. Segiempat (versi 1) program Segiempat { Menghitung

Parameter Masukan • Pemanggilan prosedur Hitung. Luas. Segiempat (versi 1) program Segiempat { Menghitung luas n buah segiempat } DEKLARASI i, n : integer panjang, lebar : real procedure Hitung. Luas. Segiempat(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) Hitung. Luas. Segiempat(panjang, lebar) endfor

Parameter Masukan • Pemanggilan prosedur Hitung. Luas. Segiempat (versi 2) program Segiempat { Menghitung

Parameter Masukan • Pemanggilan prosedur Hitung. Luas. Segiempat (versi 2) program Segiempat { Menghitung luas n buah segiempat } DEKLARASI i, n : integer p, l : real procedure Hitung. Luas. Segiempat(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) Hitung. Luas. Segiempat(p, l) endfor

Parameter Keluaran • Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang x

Parameter Keluaran • Prosedur untuk menghitung luas segiempat dengan rumus luas = panjang x lebar procedure Hitung. Luas. Segiempat(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

Parameter Keluaran • Pemanggilan prosedur Hitung. Luas. Segiempat program Segiempat { Menghitung luas n

Parameter Keluaran • Pemanggilan prosedur Hitung. Luas. Segiempat program Segiempat { Menghitung luas n buah segiempat } DEKLARASI i, n : integer p, l, Nilai. Luas : real procedure Hitung. Luas. Segiempat(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) Hitung. Luas. Segiempat(p, l, Nilai. Luas) write(Nilai. Luas) endfor

Parameter Masukan/Keluaran • Prosedur untuk menghitung x = x + 1 seperti prosedur Inc(x)dalam

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

Parameter Masukan/Keluaran • Pemanggilan prosedur Inc program Cetak 0 Sampai 10 { Mencetak nilai

Parameter Masukan/Keluaran • Pemanggilan prosedur Inc program Cetak 0 Sampai 10 { 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

Pemanggilan Prosedur Call by value Call by reference • Pemanggilan prosedur yang hanya mempunyai

Pemanggilan Prosedur Call by value Call by reference • Pemanggilan prosedur yang hanya mempunyai parameter input • Pemanggilan prosedur yang mempunyai parameter input/output

Contoh : Call by value procedure pass_val(input j : integer) DEKLARASI { tidak ada

Contoh : Call by value procedure pass_val(input j : integer) DEKLARASI { tidak ada } ALGORITMA j j + 1 write(j)

 • Pemanggilan prosedur pass_val program callbyvalue DEKLARASI i : integer procedure pass_val(input j

• Pemanggilan prosedur pass_val program callbyvalue DEKLARASI i : integer procedure pass_val(input j : integer) ALGORITMA i 6 write(i) pass_val(i) write(i)

Contoh : Call by reference procedure pass_ref(input/output j : integer) DEKLARASI { tidak ada

Contoh : Call by reference procedure pass_ref(input/output j : integer) DEKLARASI { tidak ada } ALGORITMA j j + 1 write(j)

 • Pemanggilan prosedur pass_ref program callbyreference DEKLARASI i : integer procedure pass_val(input/output j

• Pemanggilan prosedur pass_ref program callbyreference DEKLARASI i : integer procedure pass_val(input/output j : integer) ALGORITMA i 6 write(i) pass_ref(i) write(i)

Skema Umum Prosedur Rekursi procedure C(input x : x_type) { prosedur yang memanipulasi nilai

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) else S 1(x) C(F(x)) S 2(x) endif { basis } { rekurens }