DasarDasar Pemrograman Prosedur dan Fungsi Definisi l Prosedur

  • Slides: 19
Download presentation
Dasar-Dasar Pemrograman Prosedur dan Fungsi

Dasar-Dasar Pemrograman Prosedur dan Fungsi

Definisi l Prosedur dan fungsi adalah subprogram terpisah dalam blok sendiri yang merupakan bagian

Definisi l Prosedur dan fungsi adalah subprogram terpisah dalam blok sendiri yang merupakan bagian dari program utama. l Prosedur dan fungsi diletakkan pada bagian deklarasi program.

Prosedur l Menggunakan reserved word procedure. l Bentuk: PROCEDURE nama; atau PROCEDURE nama (parameter

Prosedur l Menggunakan reserved word procedure. l Bentuk: PROCEDURE nama; atau PROCEDURE nama (parameter formal: tipe data);

Prosedur l Bentuk: uses crt; var x: integer; procedure coba; var y: real; begin

Prosedur l Bentuk: uses crt; var x: integer; procedure coba; var y: real; begin … … end. Variabel x berlaku di semua program, sedangkan variabel y hanya berlaku di prosedur coba.

Prosedur dengan Parameter l Nilai di dalam suatu modul program sifatnya lokal, artinya hanya

Prosedur dengan Parameter l Nilai di dalam suatu modul program sifatnya lokal, artinya hanya dapat digunakan pada modul yang bersangkutan saja, tidak dapat digunakan pada modul yang lain. l Supaya nilai variabel dapat digunakan di modul lainnya, maka dapat dilakukan dengan cara : ¡ Dibuat bersifat global: harus dideklarasikan di atas modul yang menggunakannya. ¡ Dikirimkan sebagai parameter ke modul yang membutuhkannya

Parameter l Terdapat dua jenis parameter: ¡Parameter aktual ¡Parameter formal

Parameter l Terdapat dua jenis parameter: ¡Parameter aktual ¡Parameter formal

Parameter Aktual l Parameter yang dikirim dari modul utama ke modul prosedur.

Parameter Aktual l Parameter yang dikirim dari modul utama ke modul prosedur.

Parameter Formal l Parameter yang ada prosedur dan dituliskan pada judul prosedur.

Parameter Formal l Parameter yang ada prosedur dan dituliskan pada judul prosedur.

Pengiriman Parameter l Terdapat 2 pengiriman parameter: ¡Pengiriman berdasarkan referensi (call by reference) ¡Pengiriman

Pengiriman Parameter l Terdapat 2 pengiriman parameter: ¡Pengiriman berdasarkan referensi (call by reference) ¡Pengiriman berdasarkan nilai (call by value)

Pengiriman berdasarkan Nilai l Parameter formal yang ada di prosedur akan berisi nilai yang

Pengiriman berdasarkan Nilai l Parameter formal yang ada di prosedur akan berisi nilai yang dikirimkan yang kemudian bersifat lokal di prosedur.

Pengiriman berdasarkan Nilai Ex. uses crt; var x, y, jumlah: integer; procedure hitung(a, b,

Pengiriman berdasarkan Nilai Ex. uses crt; var x, y, jumlah: integer; procedure hitung(a, b, jum: integer); begin jum: =a+b; writeln('Di dalam prosedur: ', a, '+', b, '=', jum); end; begin clrscr; write('Masukkan nilai x = '); readln(x); write('Masukkan nilai y = '); readln(y); hitung(x, y, jumlah); writeln('Di luar prosedur: ', x, '+', y, '=', jumlah); readln; end.

Pengiriman berdasarkan Nilai Ex. l Hasil: Masukkan nilai x = 4 Masukkan nilai y

Pengiriman berdasarkan Nilai Ex. l Hasil: Masukkan nilai x = 4 Masukkan nilai y = 5 Di dalam prosedur: 4+5=9 Di luar prosedur: 4+5=0

Pengiriman berdasarkan Acuan l Perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan

Pengiriman berdasarkan Acuan l Perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai parameter aktual.

Pengiriman berdasarkan Acuan Ex. uses crt; var x, y, jumlah: integer; procedure hitung(a, b:

Pengiriman berdasarkan Acuan Ex. uses crt; var x, y, jumlah: integer; procedure hitung(a, b: integer; var jum: integer); begin jum: =a+b; writeln('Di dalam prosedur: ', a, '+', b, '=', jum); end; begin clrscr; write('Masukkan nilai x = '); readln(x); write('Masukkan nilai y = '); readln(y); hitung(x, y, jumlah); writeln('Di luar prosedur: ', x, '+', y, '=', jumlah); readln; end.

Pengiriman berdasarkan Acuan Ex. l Hasil: Masukkan nilai x = 4 Masukkan nilai y

Pengiriman berdasarkan Acuan Ex. l Hasil: Masukkan nilai x = 4 Masukkan nilai y = 5 Di dalam prosedur: 4+5=9 Di luar prosedur: 4+5=9

Fungsi l Menggunakan reserved word function. l Fungsi hampir sama dengan prosedur, hanya hasil

Fungsi l Menggunakan reserved word function. l Fungsi hampir sama dengan prosedur, hanya hasil fungsi harus dideklarasikan dengan tipe datanya. l Bentuk: FUNCTION nama: tipe data hasil; atau FUNCTION nama (parameter formal: tipe data): tipe data hasil;

Contoh uses crt; var x, y, jumlah: integer; function hitung(a, b: integer): integer; begin

Contoh uses crt; var x, y, jumlah: integer; function hitung(a, b: integer): integer; begin hitung: =a+b; end; begin clrscr; write('Masukkan nilai x = '); readln(x); write('Masukkan nilai y = '); readln(y); writeln(x, '+', y, '=', hitung(x, y)); readln; Hasil: end. Masukkan nilai x = 4 Masukkan nilai y = 5 4+5=9

Prosedur vs Fungsi l Nama fungsi harus digunakan untuk menampung hasil yang akan dikirimkan

Prosedur vs Fungsi l Nama fungsi harus digunakan untuk menampung hasil yang akan dikirimkan dari fungsi ke program. Contoh: function hitung (a, b: integer): integer; begin hitung: =a+b; end; l Jika prosedur, hasil dikirimkan dengan parameter yang dikirimkan secara acuan.

Prosedur vs Fungsi l Karena hasil berada di nama fungsi tersebut, maka fungsi dapat

Prosedur vs Fungsi l Karena hasil berada di nama fungsi tersebut, maka fungsi dapat langsung digunakan untuk dicetak hasilnya pada program utama. Contoh: begin a: =4; b: =3; write(hitung(a, b)); readln; end. l Jika prosedur, nama prosedur tidak dapat langsung digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.