10 - FUNGSI DAN PROSEDUR
FUNGSI DAN PROSEDUR
PENGERTIAN FUNGSI
Fungsi menurut saya adalah kegiatan pengelompokkan suatu intruksi sesuai dengan kegunaanya, ciri khas dari fungsi adalah memiliki parameter yang berisi variabel dengan tipe data. Pengertian lain dari fungsi adalah pemeetaan suatu domain ke range berdomain tertentu. Fungsi adalah tranformasi akibat pemetaan suatu nilai (dari domain) ke nilai lain diberikan lewat parameter formal bertype tertentu (jika ada) dan menghasilkan suatu nilai sesuai dengan domain yang didefinisikan dalam spesifikasi fungsi. Bahasa mudah nya adalah kegiatan mengelompokkan intruksi atau tugas dengan parameter bertype.
Dalam penulisannya, fungsi diberi nama, dan parameter formal yaitu harga masukan yang juga diberi nama dan dijelaskan typenya. Fungsi harus didefinisikan dalam kamus.
Fungsi yang didefinisikan dapat dipanggil untuk di eksekusi lewat namanya, dan dengan parameter aktualnya.
Fungsi merupakan suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai pengembalian nilai / mengembalikan sebuah nilai (memiliki return value) dari tipe tertentu (tipe dasar atau tipe bentukan).
Daripada masih bingung langsung saja ke contoh soal.
CONTOH SOAL FUNGSI SEDERHANA
| Judul menghitung volume kubus dan luas kubus sisi berupa inputan |
| Kamus function volume(s : integer) <- integer function luas (s : integer) <- integer hasilV, hasilL, sisi <- integer |
| Algoritma output ("Masukkan panjang sisi kubus : ") input (sisi) hasilV <- volume(sisi) hasilL <- luas(sisi) output ("Hasil volume kubus adalah : ")(hasilV) output ("Hasil Luas kubus adalah : ")(hasilL) function volume(s : integer) <- integer { hasil <- integer hasil <- s * s * s return hasil } function luas (s : integer) <- integer { hasil <- integer hasil <- 6 * s * s return hasil } |
Kodingan:
/***************************
Judul : volume dan luas kubus menggunakan fungsi
Nama : Samuel Andrey Aji Prasetya
***************************/
#include <iostream>
using namespace std;
// Kamus
int volume(int s);
int luas(int s);
int hasilV, hasilL, sisi;
// Algoritma
int main()
{
cout <<"Masukkan panjang sisi kubus : ";
cin >> sisi;
hasilV = volume(sisi); // pengsian parameter volume
hasilL = luas(sisi); // pengsian parameter luas
cout <<"Hasil volume kubus adalah : "<< hasilV << endl;
cout <<"Hasil luas kubus adalah : "<< hasilL << endl;
cin.get();
return 0;
}
int volume(int s) // fungsi dari volume
{
int hasil = s * s * s;
return hasil;
}
int luas(int s) // fungsi dari luas
{
int hasil = 6 * s * s;
return hasil;
}
Hasil run:
Untuk pembahasan soal lainnya menyusul dan bila ada kesempatan akan saya isi artikel ini dengan prosedur. Terima kasih
PENGERTIAN PROSEDUR
Prosedur adalah sederetan intruksi algoritmik yang diberi nama, dan akan menghasilkan efek neto yang terdefinisi. 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 atau 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 tejadi asosiasi pada parameter (jika diberi parameter).
Jadi, setiap prosedur harus:
- didefinisikan (dibuat spesifikasinya) dan dituliskan kode programnya,
- dipanggil, pada saat eksekusi oleh prosedur lain atau oleh program utama.'
PARAMETER PROSEDUR
Prosedur tanpa parameter memanfaatkan nilai dari nama-nama yang terdefinisi pada kamus global. Pemakaianya biasanya harus hati-hati, apalagi jika teks program sudah sangat besar dan implementasinya sudah 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 spesifikasi prosedur disebut sebagi parameter formal. Sedangkan paramter 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:
- parameter input, yaitu parameter yang diperlukan prosedur sebagai masukan untuk melakukan aksi efektif.
- parameter output, yaitu paramter yang nilainya akan dihasilkan oleh prosedur. Hasil nilai akan disimpan pada nama parameter output ini.
- Parameter input/output, yaitu parameter yang nilainya diperlukan prosedur sebagai masukan untuk melakukan aksi, dan pada akhir prosedur akan dihasilkan nilai yang baru.
PEMANGGILAN PROSEDUR
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 (mereplace variabel atau menimpa variable yang ada di variabel).
Parameter aktual adalah nama-nama 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:
- 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.
- parameter output tidak perlu terdefinisi nilainya, tetapi justru setelah pemanggilan prosedur akan dimanfaatkan oleh deretan intruksi berikutnya, karena nilainya akan dihasilkan oleh prosedur. Karena parameter output menampung hasil, maka harus berupa nama, dan tidak bole diberikan nilai saja.
- parameter input/output harus terdefinisi nilianya dan nilai baru yang diperoleh karena eksekusi prosedur akan dimanfaatkan oleh deretan intruksi berikutnya. Seperti halnya parameter output, maka parameter aktual harus berupa nama.
CONTOH SOAL PROSEDUR SEDERHANA
Kali ini kita akan mencoba prosedur menggunakan bahasa pemrograman C++. kita akan membuat sebuah sederet intruksi lalu kita panggil di perintah utama.
| Judul Menghitung luas persegi panjang |
| Kamus procedure luas() |
| Algoritma luas() |
| procedure Menghitung luas persegi panjang |
| Kamus p, l , luas : integer |
| Algoritma output ("Masukkan panjang : ") input(p) output ("Masukkan lebar : ") input(l) luas <- p * l output ("Luas persegi panjang adalah : ")(luas) |
Kodingan:
#include <iostream>
using namespace std;
// Kamus
void luas();
// Algoritma
int main()
{
luas(); // pemanggilan procedure
cin.get();
return 0;
}
void luas() // procedure
{
int p,l,luas;
cout <<"Masukkan panjang : "; cin >> p;
cout <<"Masukkan lebar : "; cin >> l;
luas = p * l;
cout <<"Luas persegi panjang adalah : "<< luas;
}
Posted by