Soal Latihan STATEMENT KENDALI

2008 | Direktorat Pembinaan SMK 223

BAB 6 PROSEDUR DAN SUBROUTIN

6.1. Prosedur

Prosedur adalah sederetan instruksi algoritmik yang diberi nama, dan akan menghasilkan efek neto yang terdefinisi. Prosedur menyatakan suatu aksi dalam konsep algoritma yang dibicarakan pada cerita “Mengupas kentang”. Dimana contoh ini dari aksi yang dilakukan pleh Ibu Tati yang mengupas kentang untuk mempersiapkan makan malam sebagai berikut. Pernyataan ini mencakup hal yang luas ruang lingkupnya, misalnya :  Apakah kentangnya harus dibeli dulu atau sudah ada di dapur ?  Apakah yang dimaksud dengan mengupas kentang untuk makan malam berarti sampai dengan kentang terhidang ?  Ketika kentangnya terhidang, jadi sup, digoreng atau direbus saja ? Maka kita harus membatasi dengan jelas keadaan awal yang menjadi titik tolak mengupas kentang dan keadaan akhir yang ingin dicapai supaya dapat “merencanakan” efek neto yang diinginkan. Sehingga hal tersebut dapat ditentukan:  Initial state I.S. keadaan awal, T0, adalah kentang sudah ada di kantong kentang, yang ditaruh di rak di dapur, di mana ibu Tati akan mengupasnya  Final state F.S. keadaan akhir, T1, kentang dalan keadaan terkupas di panci, siap untuk dimasak dan kantong kentangnya harus dikembalikan ke rak lagi. 6.1. Prosedur

6.2. Parameter Prosedur

6.3. Pemanggilan Prosedur

6.4. Sub Rutin 6.5. Sub Rutin Dalam Bahasa Pemrograman

6.6. Function yang Mengembalikan Nilai

6.7. Function yang Tidak Mengembalikan Nilai

6.8. Function Call Function

6.9. Call by Value dan Call by References

6.10. Parameter dengan Nilai Default 6.11. Overloading

6.12. Soal Latihan

224 Direktorat Pembinaan SMK | 2008 Pengandaian yang lain adalah bahwa persediaan kentang di ibu selalu cukup untuk makan malam. Penambahan kentang ke dapur di luar tinjauan masalah ini. Ini adalah contoh bagaimana kita menentukan batasan dari persoalan yang akan diprogram. Suatu kejadian dapat dipandang sebagai urut-urutan dari beberapa kejadian, berarti dapat diuraikan dalan beberapa sub aksi yang terjadi secara sekuensial. Dengan sudut pandang ini makan efek kumulatifnya sama dengan efek neto dari seluruh kejadian. Dikatakan bahwa kejadian tersebut dianggap sebagai sequential process atau disingkat proses. Mendefinisikan membuat spesifikasi prosedur berarti menentukan nama prosedur serta parameternya jika ada, dan mendefinisikan keadaan awal Initial State, I.S. dan keadaan akhir Final State, F.S. dari prosedur tersebut. Prosedur didefinisikan dituliskan spesifikasinya dalam kamus. Cara penulisan spesifikasi : prosedur diberi nama, dan parameter formal jika ada yang juga diberi nama dan dijelaskan typenya. Secara sederhana, dapat diartikan bahwa sebuah prosedur yang terdefinisi “disimpan” di tempat lain, dan ketika “dipanggil” dengan menyebutkan namanya “seakan- akan” teks yang tersimpan di tempat lain itu menggantikan teks pemanggilan. Pada saat itu terjadi asosiasi parameter jika ada. Dengan konsep ini, maka I.S dan F.S dari prosedurlah yang menjamin bahwa eksekusi program akan menghasilkan efek neto yang diharapkan. Jadi, setiap prosedur harus :  Didefinisikan dibuat spesifikasinya dan dituliskan kode programnya  Dipanggil, pada saat eksekusi oleh prosedur lain atau oleh program utama

6.2. Parameter Prosedur

Prosedur tanpa parameter memanfaatkan nilai dari nama-nama yang terdefinisi pada kamus global. Pemakaiannya biasanya harus “hati- hati”, apalagi jika teks program sudah sangat besar dan implementasinya menjadi banyak file. Prosedur berparameter dirancang, agar sepotong kode yang sama ketika eksekusi dilakukan, dapat dipakai untuk nama parameter yang bebeda- beda. Nama parameter yang dituliskan pada definisispesifikasi prosedur disebut sebagai parameter formal. Sedangkan parameter yang dituliskan pada pemanggilan prosedur disebut sebagai parameter aktual. Parameter formal adalah nama- nama variabel list nama yang dipakai dalam mendefinisikan prosedur, dan membuat prosedur tersebut dapat dieksekusi dengan nama-nama yang berbeda ketika dipanggil. Parameter formal adalah list nama yang akan dipakai pada prosedur, yang nantinya akan diasosiasikan terhadap nama variabel lain pada saat pemanggilan. Sesuai dengan ketentuan nilainya, ada tiga type parameter formal: