Fungsi atau Prosedur ya???

Assalamualaikum, ciaoooo teman-teman seperjuangan mahasiswa haha akhirnya diriku ini kembali lagi untuk memberikan teman-teman semua kebahagiaan seperti halnya nama blog ini. Gak kayak postingan yang kemarin tentang secuil cerita tentang kehidupan pribadi sang penulis, kali ini aku mau bagi-bagi informasi yang mungkin saja bermanfaat bagi kalian semua apalagi buat maba-maba jurusan sistem informasi nih hehe hayoooo aku mau posting apa ya kali iniiiii…..

Oke guys kali ini postingan aku adalah tentang Function and Procedure atau fungsi dan prosedur pada algoritma pemprogaman. Buat kalian semua yang belum atau udah belajar tentang materi ini mungkin saja bisa terbantu jadii kalian semua bisa makin mendalami materi ini dengan adanya postingan kali ini. Langsung aja ea nih guys, capcusss!!!

Pertama aku mau kasih tau nih apa sih procedure dan function itu,

Procedure dan Function adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama.

  1. PROSEDUR

Prosedur adalah sederetan instruksi algoritmik yang diberi nama, dan akan menghasilkan efek neto yang terdefinisi. Mendefinisikan prosedur berarti menentukan nama prosedur serta parameternya (jika ada),  Mendefinisikan keadaan awal ( initial state ) dan keadaan akhir ( final state ) serta Prosedur didefinisikan dalam Kamus. Sebuah prosedur yang terdefinisi “disimpan” di tempat lain, dan ketika “dipanggil” dengan menyebutkan namanya “seakan-akan” teks yang tersimpan di tempat lain itu menggantikan teks pemanggilan, lalu Pada saat itu terjadi asosiasi parameter (jika ada). Setiap prosedur harus Didefinisikan (dibuat spesifikasinya) dan dituliskan kode programnya dan Dipanggil  pada saat eksekusi.

Pemanggilan prosedur adalah menuliskan nama prosedur yang pernah didefinisikan, dan memberikan harga-harga yang dibutuhkan oleh prosedur itu untuk dapat melaksanakan suatu aksi tertentu. Sebuah prosedur juga boleh “memakai” atau memanggil prosedur. Pada saat eksekusi, terjadi asosiasi nama parameter formal dengan nama parameter aktual. Pada notasi algoritmik, asosiasi dilakukan dengan cara “by position”, urutan nama parameter aktual akan diasosiasikan sesuai dengan urutan parameter formal. Karena itu, type harus kompatibel.

Prosedur dapat mempunyai kamus lokal, yaitu pendefinisian nama yang dipakai dan hanya berlaku dalam ruang lingkup prosedur tersebut. Jika nama yang dipakai di dalam prosedur tidak terdefinisi dalam list parameter formal atau dalam kamus lokal, maka nama tersebut harus sudah terdefinisi pada prosedur yang memakainya.

 

NOTASI ALGORITMIK UNTUK PENDEFINISIAN PROSEDUR

Procedure NAMAPROSEDUR (Input/Output: [list nama parameter formal: type])

{Spesifikasi, Initial State, Final State}

Kamus lokal:

{semua NAMA yang dipakai dalam BADAN PROSEDUR}

Algoritma:

{BADAN PROSEDUR}

{deretan instruksi pemberian harga, input, output, analisa kasus, pengulangan atau prosedur}

Dengan syarat:

  • nama prosedur dan parameternya harus disebutkan dalam kamus pemanggil
  • list parameter formal boleh tidak ada (kosong), dalam hal ini di dalam prosedur akan dipakai nama lokal dan nama-nama yang telah terdefinisi dalam kamus “pemakai”-nya
  • jika list parameter ada (tidak kosong, minimal satu nama), maka harus berupa satu atau beberapa nama INFORMASI beserta typenya.

 

NOTASI ALGORITMIK UNTUK PEMANGGILAN PROSEDUR

Program POKOKPERSOALAN

{Spesifikasi, Input, Proses, Output}

Kamus:

{semua NAMA yang dipakai dalam algoritma}

Procedure NAMAPROSEDUR (Input/Output: [list nama parameter formal: type])

{Spesifikasi, Initial State, Final State}

Algoritma:

{deretan instruksi pemberian harga, input, output, analisa kasus, pengulangan}

NAMAPROSEDUR (list parameter aktual)

dengan syarat:

  • Pada waktu pemanggilan terjadilah korespondensi antara parameter formal dengan parameter aktual sesuai dengan urutan penulisan dalam list-nama parameter formal
  • List parameter aktual harus sama jumlah, urutan, dan type-nya dengan list parameter formal
  • List parameter aktual yang berupa input dapat berupa nama INFORMASI atau KONSTANTA yang telah terdefinisi dalam kamus atau konstanta, dapat juga berupa harga konstanta, atau harga yang dihasilkan oleh suatu ekspresi atau fungsi
  • List parameter aktual yang berupa output harus berupa nama INFORMASI, yaitu jika didefinisikan sebagai input, walaupun pernah diubah dalam badan prosedur, isi dari nama yang dipakai pada parameter aktual tidak pernah berubah dan Jika didefinisikan sebagai output dan parameter formal korespondensinya pernah diubah harganya dalam badan prosedur, isinya akan berubah.

Contoh:

#include <stdio.h>

#include <stdlib.h>

 

//variabel global

int g, l;

//deklarasi prosedur

void prosedur();

int main()

{

printf(” PROSEDUR BAHASA Cn”);

//variabel lokal

int n, a;

//pemanggilan prosedur

prosedur();

 

}

//prosedur

void prosedur()

{

printf(” Panggil Prosedur n”);

}

 

  1. FUNGSI

Fungsi adalah sebuah mesin abstrak yang Menghasilkan suatu harga sesuai dengan domain, didefinisikan pada spesifikasinya, Menerima suatu harga dengan type tertentu dan menghasilkan keluaran sesuai dengan domain yang didefinisikan dalam spesifikasinya. Fungsi diberi nama dan parameter formal (harga masukan yang juga diberi nama dan dijelaskan typenya) serta Fungsi harus didefinisikan dalam kamu.

 

NOTASI ALGORITMIK PENDEFINISIAN FUNGSI

Function NAMAFUNGSI ([list-parameter input]) →[type hasil]

{Spesifikasi fungsi}

Kamus lokal:

{semua NAMA yang dipakai dalam algoritma dari fungsi}

Algoritma:

{deretan fungsi algoritmik:pemberian harga, input, output, analisa kasus, pengulangan}

{Pengiriman harga di akhir fungsi, harus sesuai dengan type hasil}→ hasil

Dengan syarat:

  • list parameter input boleh tidak ada (kosong), dalam hal ini di fungsi tidak membutuhkan apa-apa dari pemakainya untuk menghasilkan harga
  • Jika list parameter input (parameter FORMAL) ada: tidak kosong, minimal satu nama, maka harus berupa satu atau beberapa nama INFORMASI beserta typenya
  • pada akhir dari FUNGSI, harga yang dihasilkan oleh fungsi dituliskan seperti pada notasi di atas, type hasil boleh type dasar atau type terstruktur.

 

NOTASI ALGORITMIK PEMANGGILAN FUNGSI

Program POKOKPERSOALAN

{Spesifikasi: Input, Proses, Output}

Kamus:

{semua NAMA yang dipakai dalam algoritma}

Function NAMAFUNGSI ([list nama parameter input])→[type hasil]

{Spesifikasi fungsi}

Algoritma:

{deretan instruksi pemberian harga, input, output, analisa kasus, pengulangan yang memakai fungsi}

{harga yang dihasilkan fungsi juga dapat dipakai dalam ekspresi}

Nama ← NAMAFUNGSI ([list parameter aktual])

output(NAMAFUNGSI ([list parameter aktual]))

{harga yang dihasilkan fungsi juga dapat dipakai dalam ekspresi}

Dengan syarat:

  • Pada waktu pemanggilan terjadilah korespondensi antara parameter input dengan parameter aktual sesuai dengan urutan penulisan dalam list-nama parameter input
  • List parameter input dapat berupa nama INFORMASI atau KONSTANTA yang telah terdefinisi dalam kamus atau konstanta; dapat juga berupa harga konstanta, atau harga yang dihasilkan oleh suatu ekspresi atau fungsi
  • List parameter aktual harus sama jumlah, urutan, dan typenya dengan list parameter input pada pendefinisian fungsinya
  • Harga yang dihasilkan oleh fungsi dapat didefinisikan domainnya dengan lebih rinci
  • Pada akhir dari eksekusi FUNGSI, harga yang dihasilkan oleh fungsi dikirimkan ke pemakainya
  • Fungsi boleh dipakai oleh program utama, prosedur, atau fungsi lain

Contoh:

#include “stdio.h”

 

/* prototype fungsi tambah(), ada titik koma */

float tambah(float x, float y);

 

main(){

float a, b, c;

printf(“A = “); scanf(“%f”, &a);

printf(“B = “); scanf(“%f”, &b);   

c = tambah(a, b); /* pemanggilan fungsi tambah() */

printf(“A + B = %.2f”, c);

}

/* Definisi fungsi , tanpa titik koma */

float tambah(float x, float y){

return (x+y); /* Nilai balik fungsi */

}

 

PERBEDAAN FUNGSI DAN PROSEDUR

  • ada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan).
  • Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variable yang lainnya.
  • Nama Prosedur tidak dapat digunakan lagsung tidak seperti pada Nama Fungsi, yang dapat langsung digunakan dari sebuah prosedur adalah parameternya yang mengandung nilai balik.
  • Pada dasarnya tidak ada perbedaan yang signifikan antara prosedur dan fungsi pada Bahasa C, hanya dibedakan dari return value. Jika suatu sub program tersebut memiliki nilai balik (return value)maka sub program tersebut disebut Function (Fungsi) jika tidak memiliki nilai balik maka sub program tersebut merupakan prosedure (Procedure).

 

Gimana guys, udah makin paham dengan materi fungsi dan prosedur diatas? Semoga postingan yang aku tulis diatas berguna serta bermanfaat bagi kalian semua ya meskipun terlalu panjang untuk dibaca:’) semangat teman-teman semuanya, karena segala sesuatu tidak ada yang praktis dan mudah seperti pepatah “Bersakit-sakit dahulu, Bersenang-senang kemudian” thank you so much guys, see you on the next post ya!! Bye!!!

 

Sumber:

http://kur2003.if.itb.ac.id/file/IF1282_PemrogramanProsedural_Pertemuan4_v01.pdf

https://onestring.wordpress.com/2013/06/03/membuat-fungsi-pada-bahasa-c/

http://www.indra-update.web.id/2015/02/mengenal-prosedur-dalam-bahasa-pemrograman-c.html

http://www.markijar.com/2015/04/perbedaan-fungsi-dan-prosedur-dalam-c.html

Share on Facebook0Tweet about this on TwitterShare on Google+0Email this to someoneShare on LinkedIn0Pin on Pinterest0
Posted in Uncategorized