Catatan Kuliah PAM 282 Pemrograman Komputer II Oleh Narwen, M.Si Jurusan Matematika FMIPA Unand 1
SUBPROGRAM Subprogram disebut juga dengan Subrutin atau modul. Subprogram berguna untuk, 1. Memecah program besar menjadi beberapa bagian kecil, sehingga memudahkan untuk membagi tugas bila program tersebut dibuat oleh lebih dari satu orang. Selain itu juga memudahkan mengecek dan menelusuri program bila terjadi kesalahan; 2. Membuat program menjadi modular; 3. Menjalankan perintah yang sama akan dipakai dalam satu program secara berulang-ulang pada tempat yang berbeda; 2
4. Memudahkan proses dokumentasi; 5. Menyelesaikan masalah yang sama untuk data yang berbeda. Semua pendeklarasian variabel di dalam subprogram bersifat lokal. Artinya, pendeklarasian tersebut hanya dikenal di dalam subrogram itu saja dan tidak dikenal di dalam program utama dan subprogram-sub program lainnya yang ada di dalam program itu. Sebaliknya, pendeklarasian variabel di dalam program utama bersifat global. Artinya, variabelvariabel tersebut dikenal untuk semua subprogram dan dikenal juga di dalam program utama. 3
Subprogram dideklarasikan pada bagian pendeklarasian di dalam program utama. Nama dari subprogram adalah sebuah identifier dan isi dari subprogram di mulai dari begin dan diakhiri dengan end;. Subprogram akan dieksekusi bila dipanggil dari program utama. Subprogram dapat dikelompokan menjadi 2 bagian, yaitu Prosedur dan Fungsi. Perbedaan utama diantara keduanya adalah, pertama, prosedur dimulai dengan reserved word PROCEDURE, sedangkan fungsi dengan FUNCTION. Kedua, fungsi dideklarasikan dengan tipenya, sedangkan prosedur tidak. Ketiga, fungsi dapat menampung nilai, sedangkan prosedur tidak. 4
Sebagian dari prosedur dan fungsi ini, ada yang sudah didefinisikan di dalam pascal. Prosedur dan fungsi demikian dinamakan prosedur standar dan fungsi standar. Program pascal itu sendiri dibangun oleh prosedur dan fungsi standar ini. Prosedur (Procedure). Pendeklarasian prosedur dimulai dengan reserved word Procedure. Prosedur dapat dikelompokan atas dua kelompok, yaitu, prosedur tanpa parameter dan prosedur dengan parameter. 1. Prosedur tanpa parameter. Prosedur tanpa parameter dalam pendeklarasiannya langsung pada nama prosedurnya. Program yang dibuat seolah-olah dipecah menjadi beberapa bagian. 5
Bentuk umumnya sebagai berikut, Procedure <nama_prosedur>; pendeklarasian lokal; begin <isi prosedur> end; Contoh1. Menghitung luas persegi panjang, bila nilai panjang dan lebar diberikan. Contoh 2. Menghitung nilai sinus, cosinus dan tangen, bila nilai sudut yang diberikan dalam satuan derajat. Contoh 3. Mengkonversi bilangan biner ke desimal. Contoh 4. Mengkonversi bilangan desimal ke biner. 6
2. Prosedur dengan parameter. Berdasarkan tempat penulisannya, maka parameter dibedakan atas parameter formal dan parameter aktual. Parameter formal adalah paramater yang ditulis pada prosedur atau fungsi, bila prosedur dan fungsi tersebut menggunakan parameter. Sedangkan parameter aktual adalah parameter yang dimasukkan pada program utama sebagai pengganti parameter formal atau dengan kata lain, parameter yang ditulis pada perintah pemanggil prosedur atau fungsi di program utama. Kedua parameter ini akan saling mempenga-ruhi dalam memberikan nilai parameter terakhir. Nilai tersebut tergantung dari pendefinisian parameter formal. 7
Berdasarkan nilai yang dibawa oleh parameter, maka parameter formal dapat dibedakan atas parameter sebagai acuan (parameter by refference) dan parameter sebagai nilai (parameter by value). Parameter by refference adalah parameter yang apa bila nilai parameter formal dirubah maka nilai parameter aktualnya juga ikut berubah. Terjadi aliran dua arah perubahan antara parameter formal dengan aktual. Ciri-ciri dari parameter ini adalah parameternya diawali dengan kata var. Parameter by value adalah nilai parameter aktual tidak akan ikut berubah bila nilai parameter formal dirubah. Terjadi aliran satu arah ke arah parameter fomal dan cirinya di depan parameternya tidak ada kata var. 8
Bentuk umumnya adalah sebagai berikut, Procedure <nama_prosedur>(<daftar parameter formal>); pendeklarasian lokal; begin <isi prosedur> end; begin <nama prosedur>(<daftar parameter aktual>); end. Contoh 5. Menukar nilai antara dua variabel. Contoh 6. Menyelesaikan persamaan kuadrat ax 2 +bx+c=0 yang mana nilai-nilai a,b,c diberikan. Contoh 7. Membuat kalkulator sederhana. 9
Fungsi (Function). Pendeklarasian fungsi dimulai dengan reserved word Function. Seperti prosedur, fungsi juga dapat dikelompokan atas dua kelompok, yaitu, fungsi tanpa parameter dan fungsi dengan parameter. Berbeda dengan prosedur, dalam pendeklarasian fungsi harus ditentukan juga terlebih dahulu tipe nilai dari fungsi tersebut. Dalam pemanggilan fungsi di program utama, maka fungsi tersebut dipanggil dengan operasi assignment terhadap sebuah variabel yang tipenya sama dengan tipe fungsi. 10
Bentuk umumnya adalah sebagai berikut, Function <nama_fungsi>(<daftar parameter formal>):<tipe_fungsi>; pendeklarasian lokal; begin <isi fungsi> <nama_fungsi> := end; begin <variabel> := <nama fungsi>(<daftar parameter aktual>); end. Contoh 8. Menghitung a b, a dan b bilangan real. Contoh 9. Menghitung nilai faktorial. Contoh 10. Menghitung nilai fungsi rasional. 11