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.

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

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. {Nama fungsi. Contoh : Prosedur menyebut kata Deklarasi Kata = string Algoritma Kata ← “isikan kata” Tulis “kata” Untuk memanggil prosedur kita dapat menggunakan perintah panggil atau call 2. Prosedur merupakan sub Program yang berisi urutan kegiatan yang melakukan tugas-tugas tertentu. 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. Penulisan fungsi diawali dengan kata cadangan function dan dideklarasikan dalam bagian deklarasi fungsi. Dan penulisan program fungsi ditempatkan pada program utama. Penulisan prosedur meliputi judul deklarasi dan algoritma. menyebutkan domain dan range} function RealToInt (x:real) → integer .

Perbedaannya adalah pada function nama fungsi merupakan satu peubah sehingga dapat digunakan sebagai bagian dari ungkapan. Penggunaan fungsi adalah untuk mempersingkat proses pengkodean.{mengubah harga x yang bertype real menjadi harga ekivalen yang bertype integer} Function mempunyai kegunaan yang hampir sama dengan procedure. Pernyataan . Begin ... Listing Program Dengan Fungsi Function hitung(var a.. 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.b : integer): integer... Bagian deklarasi variabel lokal.. End.... dalam arti ketika menghadapi masalah yang memiliki penyelesaian yang sama.. Begin . ketika harus melakukan proses kalkulasi tertentu terhadap sejumlah angka secara berulang – ulang......... Misalnya saja..

Text). Hasil itu diperoleh dari pengiriman nilai dari teks ke nilai pada variabel diprogram utama (x := strtoint(enil1. hasil. Fungsi Untuk Memanggil Fungsi yang Lain Merupakan pembuatan program fungsi yang digunakan untuk memanggil program fungsi yang lain didalam satu listing program.y : real):real.Text := inttostr(c).Text). Selanjutnya nilai pada variabel diprogram utama dikirim ke fungsi hitung untuk mendapat hasil penjumlahan (c:= hitung(x. begin x := strtoint(enil1.y). end. .hitung := a+b.y := strtoint(enil2.bjumlahClick(Sender: TObject).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. procedure TForm10. c:= hitung(x.Text). end.y).y : integer. var x. c : integer. Listing Program Fungsi Perhitungan Bunga¬ function pangkat(x.).). y := strtoint(enil2.

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

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

Artinya..} Fungsi juga bisa mempunyai parameter yang kosong (tanpa parameter). kita dapat memanggil fungsi ini. Contoh untuk fungsi seperti ini adalah: int fungsiku_tanpa_parameter () {cout << “hi\n”. 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.. untuk fungsi yang tidak mempunyai kembalian maka sebenarnya ada tipe khusus untuk fungsi ini yaitu void / kosong. lalu nama fungsi tersebut kemudian parameter dan kerja dari fungsi tersebut. 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). tanpa adanya sebuah variabel pun.} Contoh lain dari fungsi: #include <iostream> using namespace std. cout << “n setelah di pangkat dua adalah “ << n2 << “\n”.

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

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

Sign up to vote on this title
UsefulNot useful