PROCEDURE DAN FUNCTION

Prosedure dan function merupakan bentuk subprogram dalam pascal, yaitu sekelompok pernyataan bebas yang bisa menjadi bagian dari program/subprogram. Dengan menggunakan procedure dan function, penulisan program dan modifikasi menjadi lebih mudah dilaksakan. 1. PROCEDURE Prosedur adalah suatu program terpisah dan berdiri dalam suatu blok program dan befungsi sebagai sebuah sub program (program bagian). Penulisan prosedur diawali dengan kata Procedure pada bagian deklarasi program dan cukup menuliskan nama prosedur yang dibuat pada bagian Implementasi. {Nama prosedur, menyebutkan “IS” initial state, “FS” final state dan proses} procedure tukar (input/output x,y : real) { IS x dan y terdefinisi, x = a dan y = b FS x = b dan y = a Proses : menukar isi informasi bilangan x dan y } Alasan penggunaan prosedur : 1. Digunakan untuk penggalan program yang akan digunakan secara berulang – ulang dalam suatu proses program. 2. Digunakan untuk memecah – mecah program menjadi sebuah modul program, sehingga listing program menjadi lebih sederhana. Syarat penulisan nama procedure : 1. Harus diawali dengan karakter. 2. Untuk nama prosedur dengan menggunakan dua kata atau lebih penulisannya tidak boleh menggunakan spasi, harus digabung atau dihubungkan dengan underscore (_) 3. Tidak mengenal tanda baca.

. End. yang dapat diakses ke semua bagian program. kemudian dipanggil di program utama....... Parameter nilai : Mengambil nilai dari parameter aktual yang sesuai tanpa mengubah nilainya... Parameter peubah : Mengambil nilai dari parameter aktual dan jika nilainya berubah maka nilai parameter aktual juga berubah..... Begin . Pernyataan . di bawah deklarasi VAR pada program utama.Deklarasi procedure terletak pada bagian deklarasi. Sebuah procedure bisa memanggil procedure lain yang telah didefinisikan sebelumnya.. meskipun nilai parameter formal berubah.. Sedangkan pada procedure terdapat variabel lokal. 2. Daftar parameter formal bersifat optional.. Daftar ini digunakan untuk mengontrol komunikasi informasi dari dan ke prosedur tersebut. Bentuk umumnya adalah: Procedure nama_procedure (daftar parameter formal). yaitu variabel yang hanya bisa diakses oleh bagian program dimana variabel tersebut dideklarasikan. yaitu: 1... .. Dalam procedure maupun program utama terdapat bagian deklarasi variabel. Bagian deklarasi variabel lokal. Terdapat 2 parameter formal. Variabel yang dideklarasikan di program utama disebut dengan variabel global..

Penulisan prosedur meliputi judul deklarasi dan algoritma. menyebutkan domain dan range} function RealToInt (x:real) → integer . FUNCTION Pengertian secara umum mengenai fungsi adalah merupakan sebuah penggalan program yang terpisah dari program utama dan berfungsi sebagai sebuah program bagian dari program utama. {Nama fungsi. Penulisan fungsi diawali dengan kata cadangan function dan dideklarasikan dalam bagian deklarasi fungsi.Untuk memanggil procedure dari program utama bentuk umum perintahnya adalah: nama_procedure (daftar parameter aktual). Satu hal yang perlu diperhatikan dalam penulisan fungsi adalah harus diikuti dengan tipe datanya. Prosedur merupakan sub Program yang berisi urutan kegiatan yang melakukan tugas-tugas tertentu. Contoh : Prosedur menyebut kata Deklarasi Kata = string Algoritma Kata ← “isikan kata” Tulis “kata” Untuk memanggil prosedur kita dapat menggunakan perintah panggil atau call 2. Dan penulisan program fungsi ditempatkan pada program utama.

.{mengubah harga x yang bertype real menjadi harga ekivalen yang bertype integer} Function mempunyai kegunaan yang hampir sama dengan procedure. Begin .. ketika harus melakukan proses kalkulasi tertentu terhadap sejumlah angka secara berulang – ulang.... dalam arti ketika menghadapi masalah yang memiliki penyelesaian yang sama. Listing Program Dengan Fungsi Function hitung(var a. Bagian deklarasi variabel lokal. Begin .. Pernyataan .. Penggunaan fungsi adalah untuk mempersingkat proses pengkodean.. End. Perbedaannya adalah pada function nama fungsi merupakan satu peubah sehingga dapat digunakan sebagai bagian dari ungkapan... Fungsi Tunggal Fungsi tunggal merupakan suatu fungsi dimana proses pemanggilan dirinya sendiri tanpa melalui fungsi yang lain atau fungsi yang tidak terdapat dalam fungsi yang lain... Bentuk Umum penulisan Fungsi : Function nama_function (daftar parameter formal): tipe......... Misalnya saja.b : integer): integer.

y : integer.Text).Text). Didalam program utama tidak ditempatkan rumus untuk menghitung penjumlahan tetapi ketika dilakukan eksekusi terhadap program dan kita melakukan input nilai 1 dan 2 dan kita klik jumlah maka akan ditampilkan hasil yang diinginkan.y := strtoint(enil2. c : integer. Listing Program Fungsi Perhitungan Bunga¬ function pangkat(x.Text). Hasil itu diperoleh dari pengiriman nilai dari teks ke nilai pada variabel diprogram utama (x := strtoint(enil1.bjumlahClick(Sender: TObject). procedure TForm10.). y := strtoint(enil2. begin x := strtoint(enil1.Text).). c:= hitung(x. hasil.y).y : real):real. var x.hitung := a+b. Selanjutnya nilai pada variabel diprogram utama dikirim ke fungsi hitung untuk mendapat hasil penjumlahan (c:= hitung(x.y). . end. Fungsi Untuk Memanggil Fungsi yang Lain Merupakan pembuatan program fungsi yang digunakan untuk memanggil program fungsi yang lain didalam satu listing program.Text := inttostr(c). end.

end.d. d := bunga(a.0'.Text := floattostr(e).b.btotalClick(Sender: TObject). begin bunga := e*pangkat((1+f/100). end.Text). c := strtofloat(elama.0'. e := d/c. end.d). Program Bersih¬ procedure bbersih.g). var a.c).e).Text := ''.Text := formatfloat('#. begin jumlah.Text). function bunga(e. .Text := floattostr(d).b.Text). Program Total¬ procedure TForm15. cicil. begin a := strtofloat(ejumlah.e : real.g : real):real. b := strtofloat(ebunga.begin pangkat := exp(ln(x)*y).f.Text :=''. cicil. kembalian.###.Text := formatfloat('#.###. lama. kembalian.c.

end. Fungsi dapat di panggil dengan perintah panggil/call atau dengan cara menulis nama fungsi tersebut.Text :=''.Text := ''. Contoh: Program memasukkan berat barang Deklarasi Berat barang as array (1.10) of real Algoritma For I = o to 10 do Berat ← nilai tertentu Endfor .Text := ''. begin close. kembalian.Text := ''. Fungsi adalah sub program yang mengembalikan nilai dalam tipe tertentu.peminjam.. bunga. cicil. Program Menutup Form¬ procedure bclose. end.

. lalu nama fungsi tersebut kemudian parameter dan kerja dari fungsi tersebut. cout << “n setelah di pangkat dua adalah “ << n2 << “\n”.} Fungsi juga bisa mempunyai parameter yang kosong (tanpa parameter). Artinya. int fungsiku (int angka) . Jadi. <tipe_data> <nama_fungsi> (<tipe_data_dari_parameter paramater>) {//kerja dari fungsi di taruh di sini. Contoh fungsi yang tidak mempunyai tipe kembalian adalah: void fungsiku_yang_void (int n) {int n2 = n * n. Contoh untuk fungsi seperti ini adalah: int fungsiku_tanpa_parameter () {cout << “hi\n”.. tanpa adanya sebuah variabel pun. untuk fungsi yang tidak mempunyai kembalian maka sebenarnya ada tipe khusus untuk fungsi ini yaitu void / kosong.} Contoh lain dari fungsi: #include <iostream> using namespace std. kita dapat memanggil fungsi ini. return <variabel_kembalian> //optional} Tipe data kembalian bisa tidak dispesifikasikan jika memang tidak ada kembalian dari fungsi kita.Penulisan fungsi adalah di mulai dari tipe data kembaliannya (return).

Contohnya adalah seperti kode berikut ini: #include <iostream> using namespace std.} void main () {int angka1.}} void main () {int masukan. angka2.{return (angka * 2). int m) {if (n == m) cout << "angkanya setelah diproses berkali-kali. adalah: " << n << "\n". dan “ << fungsiku (angka3) << “\n”. cout << "masukkan sebuah angka yang genap: \n".} Fungsi Rekursif Sebuah fungsi dikatakan rekursif kalau fungsii itu memanggil dirinya sendiri. cin >> angka1 >> angka2 >> angka3. . “ << fungsiku (angka2) <<. masukan2. Misalnya saja fungsi A setelah melakukan kerjanya. Misalnya saja. memanggil ulang dirinya sendiri sampai pada batas tertentu yang telah ditetapkan. void masukan_angkanya (int n. m). else {n -= 1. cin >> masukan. cout << “angka anda setelah di kalikan dengan 2 adalah: “ <<fungsiku (angka1) << “ terus. cout << “masukkan tiga angka yang anda ingin kalikan dengan 2: “. mengurangi sebuah angka sampai tersisa hanya setengah dari nilainya saja. masukan_angkanya (n. angka3.

} . masukan_angkanya (masukan.masukan2 = masukan / 2. masukan2).