P. 1
Rekayasa Perangkat Lunak Jilid 2

Rekayasa Perangkat Lunak Jilid 2

|Views: 352|Likes:
Published by Eddy Purwoko

More info:

Published by: Eddy Purwoko on Dec 29, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/22/2011

pdf

text

original

Setiap bahasa pemrograman selalu menyediakan fungsi-fungsi yang sudah
didefinisikan oleh bahasa pemrograman tersebut (built-in function). Namun ada
kalanya kita memerlukan suatu prosedur tertentu yang kita gunakan berulang
kali dan tidak tersedia dalam built-in function.

Prosedur adalah sekumpulan perintah yang merupakan bagian dari
program yang lebih besar yang berfungsi mengerjakan suatu tugas tertentu.
Prosedur atau kadang disebut subrutin / subprogram biasanya relative
independent terhadap bagian kode program yang lain. Atau sebenarnya
prosedur dapat berdiri sendiri. Keuntungan menggunakan prosedur adalah :

o mengurangi duplikasi kode program.

o memberikan kemungkinan penggunaan kembali kode untuk program yang

lain.

o memecah masalah yang rumit dalam masalah-masalah yang lebih kecil dan
lebih mudah diselesaikan (lihat prinsip problem reduction pada Bab 2).

o membuat kode program lebih mudah dibaca.

o dapat digunakan untuk menyembunyikan detil program.

Pada flowchart untuk menuliskan prosedur digunakan notasi Predefined
Process (lihat Bab 5 untuk notasi flowchart). Secara skematis penggunaan
prosedur dapat dilihat pada Gambar 6.6.

Gambar 6.6. Skema penggunaan prosedur.

Gambar 6.6. menunjukkan ada proses utama yang terjadi dan ada
prosedur yang sebenarnya merupakan bagian dari proses utama ini. Ketika
proses utama membutuhkan suatu tugas tertentu maka proses utama akan
memanggil prosedur tertentu menyelesaikan tugas tersebut. Perhatikan contoh
berikut:

Rekayasa Perangkat Lunak 137

Contoh 6.3. Prosedur

Buatlah algoritma menghitung luas segitiga, segiempat, dan lingkaran.
Penyelesaian:
Untuk membuat algoritma ini kita dapat memandang proses perhitungan
luas segitiga, luas segiempat dan luas lingkaran sebagai bagian program
yang berdiri sendiri. Kita dapat membuat prosedur untuk masing-masing
proses. Dan kita akan memanggil prosedur tersebut dari proses utama
(Gambar 6.7).

Gambar 6.7. Penyelesaian contoh 6.3.

Urutan proses pada Gambar 6.7 adalah sebagai berikut.

o Pembacaan data

o Pada proses utama akan terjadi pengecekan pada data yang
dibaca,

o Apabila data yang dibaca adalah untuk segitiga, maka proses
utama akan memanggil prosedur hitung luas segitiga dengan

138 Rekayasa Perangkat Lunak

membawa nilai variable yang diperlukan oleh prosedur luas
hitung segitga.

o Proses perhitungan luas segitiga hanya dilakukan pada prosedur
tersebut.

o Setelah proses perhitungan maka hasil perhitungan akan dibawa
kembali ke proses utama untuk dicetak hasilnya.
Urutan proses yang sama juga terjadi jika data yang dibaca adalah untuk

segiempat atau lingkaran.

Prosedur yang baik memiliki ciri-ciri sebagai berikut :

o Hanya memiliki satu fungsi tujuan (logical inherent).

Sebuah prosedur sebaiknya hanya memiliki satu fungsi tujuan dan tidak
bercampur dengan tujuan-tujuan lain. Hal ini untuk membuat prosedur
lebih focus sehingga tujuan akan dapat tercapai dengan baik.

o Tidak tergantung pada prosedur lain (independent).

Sebuah prosedur harusnya bersifat mandiri, artinya prosedur ini dapat
berjalan dan diuji tanpa menunggu bagian lainnya selesai. Selain itu
variable-variabel yang digunakan dalam prosedur tersebut tidak
mempengaruhi variable-variabel yang digunakan pada bagian lain di
keseluruhan program.

o Berukuran kecil (small size).

Yang dimaksud ukuran disini adalah panjang algoritma atau panjang kode
program pada suatu prosedur. Ukuran kecil akan mudah dibaca dan
diperbaiki. Apabila sebuah modul sudah terlalu besar maka sebaiknya
dipertimbangkan untuk dipecah-pecah menjadi beberapa modul yang lebih
kecil.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->