2 PROSEDUR
Intisari
Bab ini akan mengemukakan bahasan tentang pemrograman moduler,
definisi prosedur, pendefinisian prosedur, pemanggilan prosedur.
Kompetensi
Pembahasan pada bab ini sangat penting dipahami, karena materi
prosedur ini memberikan manfaat bagi pemrogram untuk membuat
program yang menggunakan prosedur. Materi prosedur sangat
berkaitan dengan materi lainnya dalam sebuah pemrograman
terstruktur, terutama pemrograman moduler.
B. Definisi Prosedur
Prosedur adalah modul program yang mengerjakan tugas/aktivitas yang spesifik dan
menghasilkan suatu efek netto. Suatu efek netto diketahui dengan membandingkan
keadaan awal dan keadaan akhir pada pelaksanaan prosedur. Oleh karena itu, pada
prosedur kita harus mendefinisikan keadaan awal sebelum rangkaian instruksi di dalam
prosedur dilaksanakan dan keadaan akhir yang diharapkan setelah rangkaian instruksi
dilaksanakan.
C. Pendefinisian Prosedur
Pada dasarnya, struktur prosedur sama dengan struktur algoritma yang sudah dikenal,
yaitu : bagian judul yang terdiri atas nama prosedur dan komentar yang menjelaskan yang
menjelaskan spesifikasi prosedur tersebut, bagian deklarasi dan badan prosedur. Setiap
prosedur memiliki nama yang unik. Nama prosedur sebaiknya diawali dengan kata kerja
karena prosedur berisi suatu aktivitas, misalnya HitungLuas, Tukar, CariMaks, Inisialisasi,
AktifkanMenu dan lain sebagainya.
Notasi Algoritma yang digunakan untuk mendefinisikan struktur prosedur adalah :
Procedure NamaProsedur
{Spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan
prosedur ini}
{K. Awal : keadaan sebelum prosedur dilaksanakan}
{K. Akhir : keadaan setelah prosedur dilaksanakan}
Deklarasi
{semua nama yang dipakai dalam prosedur dan hanya berlaku lokal
di dalam prosedur yang didefinisikan di sini}
Deskripsi
{badan prosedur, berisi kumpulan instruksi}
Penyelesaian
Procedure CetakHalo
{mencetak string ’Hello World!’ ke piranti keluaran}
{K. Awal : sembarang}
{K. Akhir : string ’Hello World!’ tercetak}
Deklarasi
{tidak ada}
Deskripsi
Write (’[Hello World!’)
Contoh 3.2
Tuliskan prosedur untuk menghitung luas segitiga dengan rumus L=(alas x tinggi)/2.
Panjang alas dan tinggi segitiga dibaca dari dalam prosedur. Luas segitiga dicetak ke
piranti keluaran.
Penyelesaian
Procedure HitungLuasSegitiga
{menghitung luas segitiga dengan rumus L=(alas x tinggi)/2
{K. Awal : sembarang}
{K. Akhir : L berisi luas segitiga. Nilai L dicetak ke piranti keluaran}
Deklarasi
Alas, tinggi, luas : real
Deskripsi
Read (alas, tinggi)
Luas (alas*tinggi)/2
Write (L)
D. Pemanggilan Prosedur
Prosedur bukan program yang berdiri sendiri, jadi tidak dapat dieksekusi secara
langsung. Ini berarti, instruksi-instruksi di dalam prosedur baru dapat dilaksanakan
hanya bila prosedur tersebut diakses/dipanggil. Prosedur diakses dengan cara
m,emanggil namanya dan program pemanggil (program utama atau modul program
lain) :
NamaProsedur
Contoh 3.3
Penyelesaian
Algoritma Halo
{program utama untuk mencetak string ’Halo!’}
Deklarasi
Procedure CetakHalo
{mencetak string ’Halo!’ ke piranti keluaran}
Deskripsi
CetakHalo {panggil prosedur CetakHalo}
Contoh 3.4
Tuliskan contoh program utama untuk memanggil prosedur HitungLuasSegitiga.
Penyelesaian
Algoritma Luas_Segitiga
{program utama untuk menghitung luas segitiga}
Deklarasi
Procedure HitungLuasSegitiga
{menghitung luas segitiga dengan rumus L=(alas x tinggi)/2}
Deskripsi
Write(’Menghitung Luas Segitiga’)
HitungLuasSegitiga
Write (’Selesai’)
1. Tugas
Buat program perhitungan luas segitiga menggunakan prosedur.
[1] Dwi Sanjaya, 2001, Berpetualang dengn Struktur Data di Planet Pascal,
Yogyakarta: J&J Learning;
[2] Kadir, Abdul. 2002. Pemrograman Pascal Buku1. Yogyakarta: Andi Offset.
[3] Kadir, Abdul. 2002. Pemrograman Pascal Buku2. Yogyakarta: Andi Offset.
[4] Morin, P. (2012). Open Data Structures (in Java), edition 0.1 E. Retrieved from
http://opendatastructures.org/ods-java/
[5] Munir, Rinaldi. 2005. Algoritma dan Pemrograman dalam bahasa Pascal dan C
Edisi 3. Bandung: Informatika.
[6] Rahardjo, Budi. 2005. Teknik Pemrograman Pascal. Bandung:Informatika
FUNGSI
Intisari
Bab ini akan mengemukakan bahasan tentang definisi fungsi, cara
mendefinisikan fungsi, cara pemanggilan fungsi dan parameter.
Kompetensi
Pembahasan pada bab ini sangat penting dipahami, karena materi
fungsi ini memberikan manfaat bagi pemrogram untuk membuat
program yang menggunakan fungsi. Materi fungsi sangat berkaitan
dengan materi lainnya dalam sebuah pemrograman terstruktur,
terutama pemrograman moduler.
A. Definisi Fungsi
Fungsi (function) sebenarnya sama dengan sebuah prosedur. Perbedaannya, pada
fungsi terdapat pengembalian nilai, sehingga pada saat pemanggilan, fungsi dapat
langsung digunakan untuk mengisikan sebuah ekspresi.
B. Pendefinisian Fungsi
Berbeda dengan prosedur yang didefinisikan dengan kata kunci function. Berikut ini
bentuk umum dari pendefinisian sebuah fungsi.
Kita juga dapat mendeklarasikan variabel lokal untuk menyimpan nilai sebelum
akhirnya dikembalikan lagi ke fungsi, misalnya seperti kode di bawah ini.
Function Kali (x, y : integer) : longint;
var
Hasil : longint;
Begin
Hasil := x * y;
Kali := Hasil;
End;
C. Pemanggilan fungsi
Fungsi diakses dengan cara memanggil namanya dari program pemanggil, diikuti
dengan daftar parameter aktual (bila ada). Oleh karena fungsi menghasilkan sebuah nilai
maka pada saat pemanggilannya juga dapat ditampung ke dalam suatu variabel. Berikut ini
contoh pemanggilan fungsi di atas.
var
A : longint;
Begin
{memanggil fungsi Kali dan menyimpan nilainya ke dalam variabel A)
A := Kali (10, 5);
...
End.
D. Parameter
Parameter merupakan suatu nilai atau referensi yang dilewatkan ke dalam rutin
tertentu dan kehadirannya akan mempengaruhi proses maupun nilai yang terdapat di dalam
rutin itu sendiri. Parameter ditempatkan di dalam tanda kurung setelah nama rutin
bersangkutan. Suatu fungsi umumnya mempunyai parameter. Namun bisa saja suatu fungsi
tidak memiliki paramater.
Setiap parameter yang dilewatkan harus memiliki tipe data tersendiri yang dapat
berupa dari tipe dasar maupun bentukan seperti array, record atau pointer. Untuk
mengetahui arti parameter, perhatikan fungsi matematika di bawah ini.
f (x) = 2x2 + 5x – 3
Bila x=2, maka f akan mengembalikan nilai 15, yang berasal dari
f (2) = 2(2)2 + 5(2) – 3 = 8 + 10 – 3 = 15
Dari ilustrasi tersebut terlihat jelas bahwa hasil nilai dari fungsi f ditentukan oleh
besarnya nilai x, sehingga x disebut sebagai parameter dari fungsi f.
E. Penutup
Seperti halnya prosedur, fungsi juga merupakan sub program yang mempunyai tujuan
spesifik. Pertanyaan sering muncul dalam pemrograman moduler adalah : apakah sebuah
modul program akan dibuat sebagai prosedur atau fungsi ? Fungsi digunakan apabila
modul program mengembalikan sebuah nilai, sementara prosedur digunakan apabila modul
menghasilkan efek netto dari satu atau sekumpulan aksi. Pemilihan apakah sebuah modul
direalisasikan sebagai fungsi atau prosedur bergantung pada kebutuhan dan seni
memprogram.
1) Pertanyaan
Buat program perhitungan nilai faktorial menggunakan fungsi.
[1] Dwi Sanjaya, 2001, Berpetualang dengn Struktur Data di Planet Pascal,
Yogyakarta: J&J Learning;
[2] Kadir, Abdul. 2002. Pemrograman Pascal Buku1. Yogyakarta: Andi Offset.
[3] Kadir, Abdul. 2002. Pemrograman Pascal Buku2. Yogyakarta: Andi Offset.
[4] Morin, P. (2012). Open Data Structures (in Java), edition 0.1 E. Retrieved from
http://opendatastructures.org/ods-java/
[5] Munir, Rinaldi. 2005. Algoritma dan Pemrograman dalam bahasa Pascal dan C
Edisi 3. Bandung: Informatika.
[6] Rahardjo, Budi. 2005. Teknik Pemrograman Pascal. Bandung:Informatika