Algoritma dan Pemrograman PROSEDUR Oleh: Eddy Prasetyo N
Definisi Sederetan instruksi algoritmik yang diberi nama, dan akan menghasilkan efek neto yang terdefinisi. Spesifikasi nama prosedur dan parameter (jika ada) initial state (IS) dan final state (FS) Prosedur didefinisikan dalam kamus Ketika dipanggil akan terjadi asosiasi paramater (jika ada) IS dan FS menjamin bahwa eksekusi program akan menghasilkan efek neto yang diharapkan
Definisi (lanj) Jadi, setiap prosedur harus Dibuat spesifikasinya dan dituliskan kode programnya Dipanggil, pada saat eksekusi
Parameter Tanpa parameter Memanfaatkan nama-nama yang terdefinisi pada kamus global Harus hati-hati, jika teks program sangat besar dan memuat banyak file. Berparamater Untuk kode yang sama pada saat eksekusi dapat dipakai untuk nama paramater yang berbeda-beda Parameter yang dituliskan pada definisi prosedur disebut paramater formal Paramter yang dituliskan pada pemanggilan disebut paramater aktual
Parameter (lanj) Parameter formal, list nama variabel untuk mendefinisikan prosedur, agar dapat dieksekusi dengan nama yang berbeda ketika dipanggil akan diasosiasikan terhadap nama variabel lain pada saat pemanggilan type parameter input, diperlukan sebagai masukan untuk melakukan aksi output, nilai yang dihasilkan oleh prosedur. Input/output, nilai yang diperlukan sebagai masukan untuk melakukan aksi dan pada akhir prosedur akan dihasilkan nilai yang baru.
Parameter (lanj) Parameter aktual, nama variabel atau nilai (harga) yang dipakai ketika prosedur dipanggil dapat berupa nama atau harga (nilai) harus berupa nama jika tipe parameter output yang digunakan (karena hasil disimpan di nama var tsb) Pada saat pemanggilan, parameter aktual harus sesuai dengan parameter formalnya. parameter input harus terdefinisi nilainya parameter output tidak perlu didefinisikan nilainya paramter input/output harus terdefinisi nilainya. pada saat pemanggilan, terjadi asosiasi antara parameter formal dan aktual sesuai posisi (posisition based), maka type var atau nilai (harga) harus kompatibel
Kamus lokal vs global pendefinisian variabel kamus global berlaku untuk program dan semua prosedur/fungsi yang didefinisikan di kamus algoritma utama pendefinisian variabel pada kamus lokal hanya berlaku dalam ruang lingkup fungsi/prosedur yang bersangkutan dan fungsi/prosedur yang didefinisikan di dalamnya.
Pemrograman Moduler program dibagi menjadi modul-modul yang terdefinisi dengan baik dalam bentuk prosedurprosedur harus jelas definisi dan ruang lingkupnya agar dapat dipanggil secara independen mempermudah programmer untuk membaca suatu program yang sangat besar pada beberapa bahasa pemrograman, programmer tidak perlu tahu sama sekali isi dari suatu prosedur/fungsi karena sudah disediakan oleh bahasa pemrograman tsb. Programmer cukup memanggilnya saja
Notasi Algoritmik pendefinisian/spesifikasi prosedur Harus didefinisikan di kamus pemanggil boleh kosong, jika ada (minimal satu nama) maka harus satu atau beberapa nama variabel beserta type nya
Notasi Algoritmik pemanggilan prosedur Saat dipanggil terjadi asosiasi antara parameter aktual dan formal list-nama parameter formal dan aktual harus sama jumlah, urutan dan typenya.
Notasi Algoritmik Syarat pemanggilan prosedur : list-parameter aktual yang berupa Input dpt menggunakan nama variabel atau nama konstanta yg telah dididefinisikan di kamus atau konstanta harga suatu konstanta atau harga yg dihasilkan ekspresi atau fungsi list-parameter aktual yang berupa Output harus berupa nama variabel list-parameter aktual yang berupa Input/Output harus berupa nama variabel
Format di JAVA public void nama_prosedur (tipedata var_input) { /*body prosedure */ } Contoh: Public void Apaaja (String apa){...; }
Contoh: public class iseng{ } public static void tulis(string kata)/*parameter formal*/ { System.out.println (kata); } public static void main (String[] apaaja){ String kate= bilangnya apa aja... ; tulis(kate); /* paramater aktual */ }
Contoh 1. Voltage
Contoh Solusi 1 : Voltage
Contoh Solusi 2 : Voltage
Komentar Solusi Voltage Prosedur dg parameter lebih menjamin modularitas program. Sedapat mungkin semua prosedur diparameterisasi dg baik Prosedur tanpa parameter bekerja dg nama variabel global. Hanya boleh dipakai untuk kasus yg sangat khusus yaitu jika nama variabel global mrp universe dari program. Prosedur tanpa parameter tidak boleh dipakai jika alasannya hanya karena pemrogram malas menuliskan parameter!
Contoh 2 : Tukar
Contoh 2 : Tukar
Contoh 3 : Tukar
Latihan Prosedur 1. Bonus Pegawai
Latihan Prosedur 2. Gaji Karyawan
Latihan Prosedur 3. Akar Persamaan Kuadrat 4. Jumlah hari dalam bulan