Procuder pada bahasa pemograman C++

Hasil gambar untuk gambar bahasa pemrograman


Prosedure

Secara sederhana, dapat diartikan bahwa sebuah prosedur yang terdefinisi “disimpan” di tempat lain, dan ketika “dipanggil” dengan menyebutkan namanya “seakanakan” 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 :
1. Didefinisikan (dibuat spesifikasinya) dan dituliskan kode programnya
2. Dipanggil, pada saat eksekusi oleh prosedur lain atau oleh program utama

Parameter Prosedure

Prosedur tanpa parameter memanfaatkan nilai dari nama-nama yang terdefinisi pada kamus global. Pemakaiannya biasanya harus “hatihati”, 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 berbeda-beda. Nama parameter yang dituliskan pada definisi/spesifikasi prosedur disebut sebagai parameter formal. Sedangkan parameter yang dituliskan pada pemanggilan prosedur disebut sebagai parameter aktual. Parameter formal adalah namanama 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 :
1. Parameter Input, yaitu parameter yang diperlukan prosedur sebagai masukan untuk melakukan aksi yang efektif. 
2. Parameter Output, yaitu parameter yang nilainya akan dihasilkan oleh prosedur. Hasil nilai akan disimpan pada nama Parameter Output ini.
3. Parameter Input/Output, yaitu parameter yang nilainya diperlukan prosedur sebagai masukan untuk melakukan aksi, dan pada akhir prosedur akan dihasilkan nilai yang baru. 

Pemanggilan Prosedure

Memakai, atau "memanggil" prosedur adalah menuliskan nama prosedur yang pernah didefinisikan, dan memberikan harga-harga yang dibutuhkan oleh prosedur itu untuk dapat melaksanakan suatu aksi terdefinisi. Sebuah prosedur juga boleh "memakai" atau memanggil prosedur. Pada saat pemanggilan terjadi “passing parameter”. Parameter aktual adalah namanama informasi yang dipakai ketika prosedur itu dipakai ("dipanggil"). Parameter aktual dapat berupa nama atau harga, tetapi harus berupa nama jika parameter tersebut adalah parameter Output (karena hasilnya akan disimpan dalam nama tersebut). Sesuai dengan jenis parameter formal, parameter aktual pada saat pemanggilan :
1. Parameter Input harus terdefinisi nilainya (karena dibutuhkan oleh prosedur untuk menghasilkan nilai). Karena yang dibutuhkan untuk eksekusi hanya nilai, maka parameter input dapat digantikan dengan suatu nilai tanpa menggunakan nama.
2. Parameter Output tidak perlu terdefinisi nilainya, tetapi justru setelah pemanggilan prosedur akan dimanfaatkan oleh deretan instruksi berikutnya, karena nilainya akan dihasilkan oleh prosedur. Karena parameter output menampung hasil, maka harus berupa nama, dan tidak boleh diberikan nilai saja.
3. Parameter Input/Output harus terdefinisi nilainya dan nilai baru yang diperoleh karena eksekusi prosedur akan dimanfaatkan oleh deretan instruksi berikutnya. Seperti halnya parameter output, maka paramteter aktual harus berupa nama. 

Pada saat eksekusi, terjadi asosiasi nama parameter formal dengan nama parameter aktual. Pada notasi algoritmik, asosiasi dilakukan dengan cara “by position”. Urutan nama pada parameter aktual akan diasosiasikan sesuai dengan urutan parameter formal. Karena itu, type harus kompatibel. Beberapa bahasa pemrograman, dapat dilakukan asosiasi dengan nama dan memperbolehkan adanya nilai default. Beberapa bahasa pemrograman (Ada, C) juga memperbolehkan nama prosedur yang sama tetapi parameternya berbeda (overloading).

Sub Rutin dalam Bahasa Pemograman

Bentuk umum sub rutin (function) pada C++ dan Java sangat mirip. Untuk function yang mengembalikan nilai, setiap function harus didahului oleh tipe data yang sesuai dengan jenis data yang akan dikembalikan, kecuali tipe data array. Setiap function juga mempunyai daftar parameter dimana setiap parameter dipisahkan dengan tanda koma (,). Parameter-parameter ini digunakan untuk menerima data (nilai) dari program yang memanggilnya.

Kita dapat mendeklarasikan banyak parameter atau tidak sama sekali. Untuk fungsi yang tidak mempunyai parameter merupakan fungsi yang nilainya tetap (tidak berubah). Sedangkan fungsi yang mempunyai parameter nilai fungsinya dinamis (dapat berubah-ubah). Parameter-parameter ini merupakan variabel-variabel yang harus dideklarasikan sendiri-sendiri meskipun tipe datanya sama.
Bentuk umum dari function yang mengembalikan nilai adalah sebagai berikut :
Perhatikan contoh program function yang benar
Sedangkan program yang menggunakan function salah adalah sebagai berikut :

Setiap function mempunyai kode-kode program sendiri-sendiri karena tugas yang harus diselesaikan oleh setiap function juga berbeda-beda. Variabel-variabel yang digunakan dalam function disebut dengan variabel lokal. Oleh karena itu variabel tersebut hanya dapat digunakan didalam function itu sendiri tidak bisa digunakan oleh function lain atau program utama. Variabel lokal ini berfungsi pada saat function tersebut aktif dan akan hilang (dihapus) jika function sudah tidak aktif lagi atau setelah function selesai melakukan tugasnya (kecuali variabel yang digunakan dalam function adalah variabel global yang dapat digunakan oleh semua function dan program utama). Untuk dapat digunakan, function biasanya mempunyaiparameter-parameter yang digunakan untuk menerima masukan dari program yang memanggilnya. Parameter-parameter ini disebut dengan parameter formal. Parameter formal ini termasuk dalam variabel lokal yang akan berfungsi pada saat function aktif dan akan dihapus pada saat function selesai melakukan tugasnya. 
Perhatikan contoh function dalam bahasa C++ berikut ini: 
Function cek() mempunyai dua buah parameter formal, yaitu s dan c yang mempunyai tipe data yang sama, char. Function cek() merupakan function yang mengembalikan nilai sehingga dia harus mempunyai tipe data dimana tipe data-nya dalam hal ini adalah integer. Function cek() ini bertugas untuk memeriksa apakah variabel c sama dengan variabel s. Jika sama maka function cek() akan bernilai 1, sebaliknya jika tidak maka akan bernilai 0. Variabel s dan c ini merupakan variabel lokal yang hanya dapat digunakan dalam function cek() saja, tidak bisa digunakan oleh function atau program lain. Permasalahan yang sama untuk Java adalah sebagai berikut :
  
Telah disebutkan sebelumnya bahwa sub rutin dalam Java berbentuk class dimana didalam class tersebut dimungkinkan untuk mempunyai satu atau lebih function method. Class ricek() ini dapat digunakan oleh class lain, dalam hal ini untuk mengecek suatu karakter karena class ricek() mempunyai function method cek(). Berikut ini adalah kode lengkap dari kedua program di atas.
Perhatikan Program dalam bahasa C++ :
Keluaran program adalah :
 
Dari kode program C++ di atas terlihat bahwa function cek() dipanggil melalui argumen pada program utama (main()) dimana argumen tersebut mempunyai variabel masukan untuk function cek() yaitu variabel a dan b. Variabel a dan b ini kemudian disalin oleh parameter formal function cek() yaitu s dan c. Parameter formal ini kemudian diproses lebih lanjut yaitu pengecekan apakah parameter formal s sama dengan parameter formal c. Jika sama maka function cek() akan bernilai 1, sebaliknya jika tidak sama maka function cek() akan bernilai 0. Nilai dari function cek() ini kemudian langsung dicetak ke layar oleh program utama. Kode program untuk bahasa Java dari permasalahan yang sama adalah:
  
 
Dalam Java, class ricek() yang mempunyai function method cek() tidak bisa langsung kita gunakan (kita panggil), tetapi harus dibuat / diciptakan dahulu obyek dari class ricek() seperti yang terlihat pada baris ke-9 dimana obyek baru dari class ricek() dalam class ricekApp() diberi nama ck. Dengan obyek ck inilah kita dapat mengakses method yang dipunyai oleh class ricek() karena secara otomatis obyek ck juga mempunyai method cek() yang dimiliki oleh class ricek(). Contoh di atas merupakan contoh function dimana function tersebut mempunyai parameter, dalam hal ini parameter s dan c yang bertipe char. Function cek() tersebut nilainya akan berubah-ubah sesuai dengan nilai masukannya. Untuk contoh di atas nilai function dari cek() cuma ada dua, yaitu 0 atau 1. Berikut ini adalah contoh function yang tidak mempunyai parameter sama sekali sehingga nilai function-nya tidak akan berubah-ubah seperti halnya pada contoh sebelumnya. 
Contoh program dalam bahasa C++:
 
 
Keluaran Programnya adalah :
 
Contoh Program dalam Bahasa Java :
 
Keluaran Programnya adalah : 
 
Nilai dari function fpb() di atas untukbahasa C++ pasti 6 karena nilai dari a dan b telah ditetapkan besarnya, yaitu 24 dan 18. Sedangkan untuk bahasa Java nilai method fpb() dari class hitung() juga pasti tetap, yaitu 6
karena nilai a dan b juga telah ditentukan (a=78 dan b=24). 


Related Posts

Procuder pada bahasa pemograman C++
4/ 5
Oleh

- Dilarang memberikan komentar berbau SARA, pornografi dan provokasi
- Dilarang menyematkan link aktif
- Berkomentarlah sesuai dengan isi konten
- Komentar akan kami respon secepatnya

Terima Kasih telah berkunjung