BAB II
TENTANG
P R O S E D U R
A. Pendahuluan
Deskripsi
Singkat
Bab ini akan mengemukakan bahasan tentang pemrograman
moduler, definisi prosedur, pendefinisian prosedur, pemanggilan prosedur.
Relevansi
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.
Tujuan
Instruksional Khusus
Mahasiswa mampu
membuat program aplikasi dengan menggunakan prosedur
B. Penyajian
1) Konsep Pemrograman Moduler
Dalam membuat program besar dan kompleks, si pemrogram perlu memecah
program menjadi beberapa sub program yang lebih kecil. Tiap sub program
kadangkala cukup independen dari program utama sehingga programnya dapat
dirancang tanpa mempertimbangkan konteks tempat di mana sub program tersebut
digunakan. Tiap sub program, yang disebut modul dapat dirancang oleh pemrogram
selain dari orang yang mengembangkan program utama. Modul yang sudah ditulis
dapat dipasang ke program lain yang membutuhkannya. Teknik pemrograman seperti
ini dinamakan teknik pemrograman modular. Beberapa bahasa pemrograman termasuk
Pascal menamakan modul dengan sebutan rutin,
prosedur atau fungsi.
Modularisasi program memberikan 2 (dua) keuntungan. Pertama, untuk
aktivitas yang harus dilakukan lebih dari satu kali, modularisasi menghindari
penulisan teks program yang sama secara berulangkali.Di sini, modul program
cukup ditulis sekali saja, lalu modul tersebut dapat diakses dari bagian lain
di dalam program.Di sini, penggunaan modul program dapat mengurangi panjang
program.
Keuntungan kedua dari modularisasi adalah kemudahan menulis dan menemukan
kesalahan program. Kemudahan menulis akan sangat berguna pada masalah besar
yang dikerjakan oleh satu tim pemrogram yang beranggotakan beberapa orang.
Masalah yang akan diprogram dipecah menjadi beberapa masalah yang lebih keil.
Setiap masalah yang lebih kecl tersebut ditulis ke dalam modul individual yang
spesifik dan dikerjakan oleh orang yang berbeda. Seluruh modul diintegrasikan
menjadi satu buah program yang lengkap. Program modular menjai lebih mudah
untuk dibaca dan dimengerti. Program yang tidak modular sulit dipahami,
khususnya kalau program tersebut panjang atau terdiri dari puluhan, ratusan
atau ribuan baris intruksi.
Karena setiap modul melakukan aktivitas specsifik, maka apabila terdapat
kesalahan di dalam program, kesalahan tersebut dapat dilokalisisr pada modul
yang bersangkutan. Kebanyakan program komputer dapat ditulis modular, meskipun
program tersebut tidak melibatkan eksekusi yang berulang dari aktivitas yang
sama. Pemecahan program menjadi modul-modul individul umumnya dianggap sebagai
praktek pemrograman yang baik.
Terdapat dua jenis modul program, pertama prosedur (procedure) dan
kedua fungsi (function). Struktur
setiap modul tersebut pada hakikatnya sama dengan struktur algoritma biasa,
yaitu ada bagian judul (header) yang
berisi nama modul, bagian deklarasi, dan bagian badan (body) program yang berisi instruksi yang akan dilaksanakan.
2)
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.
3) 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}
Contoh 3.1
Tuliskan
prosedur mencetak string ’Hello World!’.
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)
4)
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
Gambar 2.2 Pemanggilan Prosedur(sumber:Rahardjo)
Ketika NamaProsedur dipanggil, kendali program berpindah
secara otomatis ke prosedur tersebut. Instruksi di dalam badan prosedur
dilaksanakan. Setelah semua instruksi selesai dilaksanakan, kendali program
berpindah secara otomatis ke instruksi sesudah pemanggilan prosedur.
Di dalam program pemanggil, kita harus mendeklarasikan prototype
prosedur di dalam bagian deklarasi. Prototype prosedur hanya
berisi bagian judul prosedur. Tujuan pendeklarasian prototype program
adalah supaya program pemanggil “mengenal“ nama prosedur tersebut serta cara
mengaksesnya.
Contoh 3.3
Tuliskan
contoh program utama untuk memanggil prosedur CetakHalo
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 uatama untuk menghitung luas segitiga}
Deklarasi
Prcedure HitungLuasSegitiga
{menghitung luas segitiga dengan rumus L=(alas x tinggi)/2}
Deskripsi
Write(’Menghitung Luas Segitiga’)
HitungLuasSegitiga
Write (’Selesai’)
C. Penutup
Kata prosedur sering kita dengar dalam kehidupan
sehari-hari. Seorang mahasiswa pada setiap awal semester selalu melakukan
penaftaran ulang (registrasi). Langkah-langkah pendaftaran ulang lazim
dinyatakan dalam sebuah prosedur yang dinamakan prosedur daftar ulang. Ketika
sebuah prosedur dilakukan, maka instruksi-instruksi di dalamnya dikerjakan satu
per satu.
Dalam dunia pemrograman, 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 sebuah prosedur. Oleh sebab itu, pada setiap prosedur
kita perlu mendefinisikan keadaan awal sebelum rangkaian instruksi di dalam
prosedur dilaksanakan dan keadaan akhir yang diharapkan setelah rangkaian
instruksi di dalam prosedur dilaksanakan.
1)
Pertanyaan
Buat program perhitungan luas segitiga menggunakan prosedur.
2) Umpan Balik dan Tindak Lanjut
Untuk menguasai materi ini, sebaiknya anda membuat
ringkasan materi tentang prosedur dan membuat sendiri beberapa program dengan
menggunakan prosedur.
Jawab pertanyaan di atas dengan langsung membuat program
di komputer. Jalankan program tersebut sampai benar. Hapus kembali listing
program yang sudah benar dan buat kembali program tersebut, dan jalankan. Kalau
tingkat kesalahan pada pembuatan program sudah kecil, anda dapat melanjutkan
materi berikutnya. Kalau program belum jalan, perbaiki terus sampai benar.
3)
Kunci
Jawaban
program
luas_segitiga;
procedure
hitungluas;
var
alas,tinggi,luas
: real;
begin
write('alas
:');readln(alas);
write('tinggi:');readln(tinggi);
luas:=(alas*tinggi)/2;
write('luas
segitiga :',luas:2:0);
end;
begin
writeln('menghitung
luas segitiga');
hitungluas;
readln
end.
Daftar Pustaka
Jogiyanto, 1989. Turbo Pascal. Yogyakarta
: Andi Ofset.
Jurusan Informatika. 2006. Bahan
Ajar Pemrograman 2. Hibah Pengajaran PHK A1 Universitas Negeri Gorontalo
Kadir, Abdul. 2002. Pemrograman Pascal Buku 1. Yogyakarta: Andi Offset.
Munir, Rinaldi. 2005. Algoritma dan
Pemrograman dalam bahasa Pascal dan C Edisi 3. Bandung: Informatika.
Rahardjo, Budi.
2005. Teknik Pemrograman Pascal.
Bandung:Informatika
0 komentar:
Speak up your mind
Tell us what you're thinking... !