Function Dan Procedure - 4 Engineering

Function Dan Procedure


Function dan Procedure dalam dunia pemrograman keduanya sangat dibutuhkan, Function dan Procedure bersifat modular, ketika kita ingin menggunakannya kita hanya memanggil nama dari Function atau Procedure tersebut didalam program utama. Kenapa harus menggunakan Function dan Procedure? Perlu kalian ketahui keuntungan Function dan Procedure ini sangat berpengaruh terhadap sebuah program yang sangat besar. Tujuannya adalah untuk memudahkan para programmer dalam membaca script atau coding. Program yang sangat besar dan sangat kompleks pastinya akan sangat banyak baris yang dibutuhkan, disinilah keutamaan dari adanya Function dan Procedure, ketika program tersebut akan dikembangkan, programmer tidak perlu susah - susah untuk mencari bagian mana yang harus ditambahkan scriptnya dan bagian mana yang harus dikurangkan scriptnya, programmer tersebut akan mengarah pada Function dan Procedure yang sebelumnya sudah dibuat. Bayangkan saja apabila sebuah program yang begitu besar yang terdiri dari beribu - ribu baris tidak menggunakan Function dan Procedure pastinya akan menyusahkan programmer tersebut dalam pengemangannya. Untuk lebih jelasnya, mimin akan menjelaskan Function dan Procedure secara terperinci.

FUNCTION
Dalam ilmu matematika fungsi ditulis f(x) dalam dunia pemrograman cara penulisan fungsi sama seperti cara penulisan di dalam matematika, dimana f adalah nama fungsinya dan (x) adalah parameternya. Namun ada sedikit perbedaan cara penulisan parameter dalam matematika dan pemrograman. Perukalian ketahui, Function bisa memiliki satu, banyak atau tidak memiliki parameter sama sekali dan Function harus memiliki nilai keluaran. Contoh dalam matematika :
f(x) = 2x + 4

  • Ketika x = 2, f(x) mengembalikan nilai 8
  • Ketika x = 5, f(x) mengembalikan niali 14
Dari contoh fungsi diatas, keluarannya adalah 8 (ketika x bernilai 2) atau 14 (ketika x bernilai 5). Dalam program biasanya disebut return

Penulisan Funtion dalam algoritma adalah seperti berikut :
function nama_fungsi(parameter1) -> return type
{Ini komentar, Boleh ditulis atau tidak juga tidak masalah
IS : ...
FS : ...
IS adalah Inisial State
FS adalah Final State}
kamus loka
    var1, var2 : type_data
algoritma
{tulis algoritma disini}

...

-> return_value

Contoh :
Versi1
function lPersegiP(p : integer, l : integer) -> integer
kamus lokal
{Apabila ada variable tambahkan disini. Varaible hanya bisa digunakan di function ini karena bersifat lokal}

algoritma
    -> p * l {return value}


=====================================================================

Versi2
function lPersegiP(p : integer, l : integer) -> integer {return type}
kamus lokal
{Apabila ada variable tambahkan disini. Varaible hanya bisa digunakan di function ini karena bersifat lokal}
    hasil : integer
algoritma
    hasil <- p * l
    -> hasil {return value}

*WARNING : Apabila return value berupa variable, tipe datanya harus sama dengan return type

PROCEDURE
Procedure pada dasarnya sama seperti fungsi, bisa memiliki satu parameter atau lebih atau tidak memiliki parameter sama sekali. Namun procedure tidak bisa mengembalikan nilai (return value). Procedure hanya bisa menghasilkan niali saja. Namun ada sedikit perbedaan antara Function dengan Procedure pada parameternya, parameter Function hanya bisa menerima nilai sedangkan pada parameter Procedure bisa menerima dan bisa mengeluarkan nilai. Berikut cara penulisan Procedure :
procedure nama_procedure(input/output parameter1, ...)
{komentar ini bisa ditulis, tidak ditulis juga tidak masalah
IS : Spesifikasi sebelum procedure ini dieksekusi
FS : kondisi yang terjadi setelah procedure ini dieksekusi}
kamus lokal
{deklarasi variable lokal (variable hanya bisa dipakai diprocedure ini)}
algortima
{tulis algoritma dari procedure disini}


*NOTE : Untuk parameter input/output bisa pilih satu input saja atau output saja atau keduanya. Sesuaikan dengan fungsi dari procedure tersebut. Apabila parameternya input berarti parameter tersebut hanya bisa menerima nilai saja, apabila output berarti parameter tersebut hanya bisa mengeluarkan nilai saja, sedangkan input/output berarti parameter tersebut bisa menerima sekaligus mengeluarkan nilai yang sudah diproses dalam Procedure.

Contoh :
procedure tukar(input/output a, b : integer)
kamus lokal
    c : integer;
algoritma
    c <- a
    a <- b
    b <- c

Cara Pemanggilan
Cara pemanggilan Fungsi dan Procedure tidak berbeda jauh, hanya saja nilai return dari Fungsi harus dimasukkan kedalam sebuah variable atau bisa juga langsung dioutputkan sedangkan untuk Procedure tinggal panggil saja. Keduanya dipanggil di program utama. Berikut cara pemanggilannya :

Pemanggilan Function :
program program_utama
kamus
    function function_name(parameter1) -> return_type
    var1, var2 : type_data
algoritma
{tulis algoritma program utama disini}

var2 <- function_name(var1)

output(var2)


=================================================================
ATAU TIDAK DIMASUKKAN KEDALAM VARIABLE
=================================================================

program program_utama
kamus
    function function_name(parameter1) -> return_type
    var1, var2 : type_data
algoritma
{tulis algoritma program utama disini}

output(function_name(var1))

Pemanggilan Procedure :
program program_utama
kamus
    procedure nama_procedure(parameter1)
    var1, var2 : type_data
algoritma
{tulis algoritma program utama disini}

    nama_procedure(var1)

Contoh Pemanggilan Function :
function lPersegiP(p : integer, l : integer) -> integer
kamus lokal {variable lokal}
{Apabila ada variable tambahkan disini. Varaible hanya bisa digunakan di function ini karena bersifat lokal}

algoritma

    -> p * l {return value}

{Panggil fungsi diatas di program utama}
program program_utama
kamus {variable global}
    function lPersegiP(p : integer, l : integer) -> return_type
    panjang, lebar, hasil : integer
algoritma
{tulis algoritma program utama disini}
    
    input(panjang)
    input(lebar)

    {pemanggilan function}     hasil <- lPersegiP(panjang, lebar)

    {menampilkan hasil dari proses function lPersegiP}    output(hasil)


*NOTE : Variable yang akan dimasukkan kedalam parameter harus sama tipe datanya. Pada Function lPersegiP memiliki parameter p dan l yang bertipekan integer, ketika dipanggil di program utama, variable globalnya harus sama dengan parameter pada Function (apabila ingin dimasukkan kedalam parameter) seperti contoh diatas. Varaible global panjang dan lebar akan dimasukkan kedalam parameter Function lPersegiP, nantinya parameter p akan berisi nilai yang sama dengan variable panjang dimana nilai dari variable panjang adalah inputan user begitu juga dengan paramter l nialinya akan sama dengan variable lebar dimana niali dari variable lebar adalah inputan user.

Contoh Pemanggilan Procedure :
procedure tukar(input/output a, b : integer)
kamus lokal {variable lokal}
    c : integer;
algoritma
    c <- a
    a <- b
    b <- c

{panggil procedure diatas di program utama}
program program_utama
kamus {variable global}
    
    bil1, bil2 : integer

algoritma
{algoritma program utama}
    input(bil1)
    input(bil2)

    {pemanggilan procedure}
    tukar(bil1, bil2)
    
    {menampilkan bil1 dan bil2 dari proses procedure tukar}
    output(bil1, bil2)


*NOTE : Tipe data pada parameter Procedure dan tipe data pada variable global harus sama (apabila varaible global akan dimasukkan kedalam parameter Procedure). Parameter a dan b keduanya merupakan inputan sekaligus outputan (ketika sudah diproses didalam procedure). Varaible global bil1 dan bil2 pada Procedure akan dikenali sebagai a dan b, nialinya pun akan sama, bil1 akan sama dengan abil2 akan sama dengan b. Ketika bil1 dan bil2 sudah diproses dalam Procedure maka nilainya akan dikeluarkan kembali.

Demikian yang dapat mimin bagikan, mudah - mudahan apa yang sudah mimin bagikan ini dapat bermanfaat bagi kalian. Mohon maaf apabila masih ada kesalahan karena mimin juga masih belajar hehe. Untuk membuktikan algoritma diatas harus dicoba kedalam pascal atau bahasa pemrograman lainnya. Terimakasih atas kunjungan kalian. 

Artikel yang berkaitan
Function Dan Procedure Function Dan Procedure Reviewed by Admin on January 12, 2017 Rating: 5

No comments:

Powered by Blogger.