10 - FUNGSI DAN PROSEDUR

10 - FUNGSI DAN PROSEDUR

10 - FUNGSI DAN PROSEDUR
Senin, 10 Januari 2022

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

Buatlah fungsi menghitung volume kubus dengan panjang sisi berupa inputan.

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;
}


Dan sekian dari materi fungsi dan prosedur, bila ada kesalahan dalam penulisan dan kekurangan lainnya mohon di maafkan, karena disini kita sama-sama belajar, dan bila mempunyai referensi lebih atau saran silahkan tambahkan di kolom komentar. Terima kasih.


Seorang yang lebih suka menyendiri dan tidak suka di keramaian, walaupun dunia ini luas tapi sendiri lebih nyaman.
  • Facebook
  • WhatsApp
  • Instagram
  • Iklan Atas Artikel

    Iklan Tengah Artikel 1

    Iklan Tengah Artikel 2

    Iklan Bawah Artikel