Upload
cecep-usdaseroja
View
1.071
Download
2
Embed Size (px)
DESCRIPTION
TUGAS MANDIRI ALGORITMA SEMSETER 1 TEHNIK INFORMATIKA UNIVERSITAS PUTRA BATAM
Citation preview
ALGORITMA BATAM 2013/2014
TUGAS MANDIRI
“FUNGSI”
Disusun Oleh :
Nama: Cecep Sugianto
NPM: 130210367
Prodi: Teknik Informatika
Dosen : Realize.S.Kom., M.SI.
UNIVERSITAS PUTRA BATAM
2013 / 2014
1
ALGORITMA BATAM 2013/2014
KATA PEMGANTAR
Assalamu’alaikum warahmatullahi wabarakatuh.
Alhamdulillahirabbilalamin, banyak nikmat yang Allah berikan, tetapi sedikit sekali yang
kita ingat. Segala puji hanya layak untuk Allah Tuhan seru sekalian alam atas segala berkat,
rahmat, taufik, serta hidayah-Nya yang tiada terkira besarnya, sehingga penulis dapat
menyelesaikan makalah dengan judul ”FUNGSI”.
Dalam penyusunannya, penulis memperoleh banyak bantuan dari berbagai pihak, karena
itu penulis mengucapkan terima kasih yang sebesar-besarnya kepada: Kedua orang tua dan
segenap keluarga yang telah memberikan dukungan, kasih, dan kepercayaan yang begitu besar.
Dari sanalah semua kesuksesan ini berawal, semoga semua ini bisa memberikan sedikit
kebahagiaan dan menuntun pada langkah yang lebih baik lagi.
Meskipun penulis berharap isi dari makalah ini bebas dari kekurangan dan kesalahan, namun
selalu ada yang kurang. Oleh karena itu, penulis mengharapkan kritik dan saran yang
membangun agar skripsi ini dapat lebih baik lagi.
Akhir kata penulis berharap agar makalah ini bermanfaat bagi semua pembaca.
Batam Desember 2013
Penyusun
Cecep sugianto
2
ALGORITMA BATAM 2013/2014
DAFTAR ISI
Kata pengantar ………………………………………………………………………..…….1
Daftar isi …………………………………………………………………………….………2
BAB I Pendahuluan ……………………………………………………………………......3
Latar belakang ………………………………………..…………………………...…3
BAB II Pembahasan ………………………………………………………………………..4
1. Apa itu fungsi…………… …………………………..…………………………....4
2. Definisi dari fingsi…… ……………………………………….………………......4
3. Pemanggilan fungsi……………. ………………………………………………....5
4. Prosedur atau Fungsi……………………………………………….. ……………..8
5. Contoh tambahan…………… ……………………………………………………17
6. Translari Notasi Algoritmik Untuk Fungsi…………………………….…………..18
BAB III Penutup ……………………………………………………………………………18
Daftar pusataka ………………………………………………………………………18
3
ALGORITMA BATAM 2013/2014
BAB I
PENDAHULUAN
A.Latar belakang
Dalam pembuatan program, khususnya dalam implementasi teknik pemrograman yang
terstruktur, penulisan kode program dalam blok – blok yang berulang sebaliknya dihindari. Di
samping itu, penulisan kode dengan pengarah proses (dikenal dengan statemen goto ) sedapat
mungkin dihindari juga. Untuk menghindari hal tersebut, maka teknik pembuatan kode dengan
memanfaatkan teknik modular merupakan cara yang sangat efektif untuk membantu
penyelesaian masalah tersebut.
Dalam bahasa pemograman umum, biasanya dikenal istilah fungsi (function), tetapi dalam
bahasa pemograman pascal dikenal dengan istilah prosedur. Prosedur sebenarnya merupakan
salah satu bentuk khusus dari suatu fungsi.
Dalam prosedur dan fungsi pertukaran nilai dapat dilewatkan melalui parameternya,
sedangkan perbedaan yang signifikan antara prosedur dan fungsi terletak pada suatu prosedur,
nilai hanya bertukar melalui parameter saja sedangkan pada fungsi, nilai dapat bertukar selain
melalui nama fungsi juga dapat melalui parameternya. Meski sebenarnya ada juga prosedur atau
fungsi yang menggunakan tanapa parameter, tetapi itu bukan merupakan topik bahasan saat ini.
Pada teknik ini, akan dibedakan antara main program dengan subprogram. Prosedur dan
fungsi termasuk dalam subprogram. Subprogram dapat dibagi menjadi subprogram yang bebes,
subprogram yang memanggil subprogram lain, dan subprogram yang memanggil dirinya sendiri.
4
ALGORITMA BATAM 2013/2014
BAB II
PEMBAHASAN
A. Apa itu Fungsi.
Fungsi adalah upa-program yang memberikan / mengembalikan (returun) sebuah nilai
dari tipe tertentu (tipe dasar atau tipe bentukan ). Definisi fungsi di dalam program bersesuaian
dengan definisi fungsi di dalam matematika.
Function (Fungsi) secara garis besar sama dengan procedure yang membedakannya adalah
nama fungsi harus dideklarasikan dengan type datanya. Fungsi adalah suatu bagian program yang
mengerjakan satu tugas dan hasilnya biasanya hanya satu. Fungsi juga menerima parameter-paramter
seperti procedure yaitu Parameter Nilai dan Parameter Variabel. Selain itu fungsi juga diperbolehkan
memiliki deklarasi lokal tersendiri. Dan Cara memanggil fungsi adalah dengan menuliskan nama fungsi
beserta parameter-parameter yang diperlukan.
B. Bentuk – bentuk Fungsi
Fungsi
Fungsi
fungsi sebagai prosedur
fungsi sebagai fungsi
C. Penulisan Prosedur dan Fungsi di algoritma
Prosedur
Algoritma
5
ALGORITMA BATAM 2013/2014
Syntax:
Proceure nama_prosedur(parameter : type)
DEKLARASI
Berisi deklarasi variabel
DESKRIPSI
Berisi blok prosedur
Prosedur memanggil prosedur lain
AlgoritmaProcedure pangkat(x,n : integer)
DEKLARASI
Hasil I : integer
DESKRIPSI
Hasil := 1
For I:= 1 to n do
Hasil := hasil * x
Returun hasil
Endfor
Procedure faktorial ( n : integer )
DEKLARASI
Kali, I : integer
DESKRIPSI
Kali := 1
For I := 1 to n do
6
ALGORITMA BATAM 2013/2014
Kali := kali * i
Return kali
Endfor
Procedure bagi ( x, n : integer )
DEKLARASI
I : integer
Hsl : real
DESKRIPSI
Call pangkat (x,n)
Call faktorial (n)
Y = pangkat / faktorial
Return y
Fungsi
AlgorimaSyntax;
Function nama_fungsi (parameter : type) : type
DEKLARASI
Berisi deklarasi variabel – variable
DESKRIPSI
Berisi blok fungsi lengkap
Fungsi sebagai prosedur
Algoritma
7
ALGORITMA BATAM 2013/2014
Function pangkat(x, n; integer) : integer
DEKLARASI
Hasil, I : integer
DESKRIPSI
Hasil := 1
For I:=1 to n do
Hasil := hasil * x
Endfor
Fungsi sebagai fungsi
AlgoritmaFunction pangkat(x,n : integer) : integer
DEKLARASI
Hasil, I : integer
DESKRIPSI
Hasil := 1
For I:=1 to n do
Hasil := hasil * x
Endfor
D. Penulisan Fungsi di Delphi / Pascal
Function
Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan menjadi
satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu
yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu. Dalam bahasa pemrograman
lain fungsi dapat disebut sebagai subrutin (basic, VB) atau procedure (pascal, Delphi)
8
ALGORITMA BATAM 2013/2014
Keuntungan Fungsi
1. Dapat melakukan pendekatan top-down dan divide-and-conquer:
2. Top-down: penelusuran program mudah
3. Divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.
4. Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami
5. Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan
6. Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana
Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
7. Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu
program keseluruhan
8. Fungsi – fungsi menjadikan program mempunyai struktur yang jelas.
9. Dengan memisahkan langkah – langkah detail ke satu atau lebih fungsi – fungsi, maka
fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti.
10. Fungsi -fungsi digunakan untuk menghindari penulisan program yang sama yang
ditulis secara berulang – ulang. Langkah – langkah tersebut dapat dituliskan sekali saja
secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan
langkah – langkah ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi
tersebut.
11. Mempermudah dokumentasi.
12. Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain
Sifat-sifat fungsi
1. Nilai fan-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna semakin
tinggi nilai fan-in
2. Nilai Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin rendah nilai
fan-out
3. Memiliki Self-contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya sendiri
9
ALGORITMA BATAM 2013/2014
Kategori fungsi dalam C
Standard Library Function . Yaitu fungsi-fungsi yang telah disediakan oleh C dalam file-file
header atau librarynya. Misalnya: clrscr(), printf(), getch(). Untuk function ini kita harus
mendeklarasikan terlebih dahulu library yang akan digunakan, yaitu dengan menggunakan
preprosesor direktif. Misalnya: #include
Programmer-Defined Function . Adalah function yang dibuat oleh programmer sendiri.
Function ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari program
utama,dan bisa dijadikan satu ke dalam suatu library buatan programmer itu sendiri yang
kemudian juga di-include-kan jika ingin menggunakannya.
Perancangan Fungsi
Dalam membuat fungsi, perlu diperhatikan:
1. Data yang diperlukan sebagai inputan
2. Informasi apa yang harus diberikan oleh fungsi yang dibuat ke pemanggilnya
3. Algoritma apa yang harus digunakan untuk mengolah data menjadi informasi
Struktur Fungsi
Deklarasi function (function prototype/ declaration)Terdiri dari:
1. Judul fungsi
2. Tipe data yang akan dikembalikan/void
3. Tidak ada kode implementasi function tersebut Bentuk umum: tipe_data|void
nama_fungsi([arguman 1, argument 2,....]);
Deklarasi fungsi
Deklarasi fungsi diakhiri dengan titik koma . Tipe_data dapat berupa segala tipe data yang
dikenal C ataupun tipe data buatan, namun tipe data dapat juga tidak ada dan digantikan dengan
void yang berarti fungsi tersebut tidak mengembalikan nilai apapun. Nama fungsi adalah nama
yang unik. Argumen dapat ada atau tidak (opsional) yang digunakan untuk menerima
argumen/parameter. Antar argumen-argumen dipisahkan dengan menggunakan tanda koma.
Suatu fungsi perlu dideklarasikan sebelum digunakan. Untuk alasan dokumentasi program yang
10
ALGORITMA BATAM 2013/2014
baik, sebaiknya semua fungsi yang digunakan dideklarasikan terlebih dahulu Deklarasi fungsi
ditulis sebelum fungsi tersebut digunakan
Struktur Fungsi
1. Tubuh Function/Definisi Function (FunctionDefinition)Terdiri dari:
2. function prototype yang disertai dengan kode implementasi dari function yang berisikan
statemen/instruksi yang akan melakukan tugas sesuai dengan tujuan dibuatnya fungsi tersebut.
Bentuk Umum Definisi Fungsi
Tubuh fungsi dapat berisi segala perintah yang dikenal oleh C, pada dasarnya tubuh fungsi
sama dengan membuat program seperti biasa. Return bersifat opsional, adalah keyword
pengembalian nilai dari fungsi ke luar fungsi, return wajib jika fungsi tersebut mengembalikan
nilai berupa tipe data tertentu, sedangkan return tidak wajib jika fungsi tersebut bersifat void.
Kapan menggunakan Deklarasi dan Definisi Fungsi?
Karena prinsip kerja program C sekuensial, maka. Jika bagian dari program yang menggunakan
fungsi diletakkan sebelum definisi dari fungsi, maka deklarasi dari fungsi diperlukan. Akan
tetapi jika bagian dari program yang menggunakan fungsi terletak nsetelah definisi dari fungsi,
maka deklarasi dari fungsi dapat tidak dituliskan.
Jenis fungsi dalam C
Fungsi Void
Fungsi yang void sering disebut juga prosedur . Disebut void karena fungsi tersebut tidak
mengembalikan suatu nilai keluaran yang didapat dari hasil proses fungsi tersebut.
Ciri:
1. Tidak adanya keyword return.
2. tidak adanya tipe data di dalam deklarasi fungsi.
3. menggunakan keyword void.
4. Tidak dapat langsung ditampilkan hasilnya
5. Tidak memiliki nilai kembalian fungsi
11
ALGORITMA BATAM 2013/2014
Fungsi non-void
Fungsi non-void disebut juga function. Disebut non-void karena mengembalikan nilai kembalian
yang berasal dari keluaran hasil proses function tersebut .
Ciri:
1. ada keyword return
2. ada tipe data yang mengawali fungsi
3. tidak ada keyword void
4. Memiliki nilai kembalian . Dapat dianalogikan sebagai suatu variabel yang memiliki tipe
data tertentu sehingga dapat langsung ditampilkan hasilnya.
Keyword void
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter apapun.
Contoh fungsi Faktorial
The main Function
. function main() dibutuhkan agar program C dapat dieksekusi!
. Tanpa function main, program C dapat dicompile tapi tidak dapat dieksekusi (harus
dengan flag parameter -c, jika di UNIX) . Pada saat program C dijalankan, makacompiler C
pertama kali akan mencari function main() dan melaksanakan instruksi-instruksi yang ada di
sana. Function main, sering dideklarasikan dalam 2 bentuk:
int main()
void main()
int main()
Berarti di dalam function main tersebut harus terdapat keyword return di bagian akhir
fungsi dan mengembalikan nilai bertipe data int. Mengapa hasil return harus bertipe int juga?
karena tipe data yang mendahului fungsi main() diatas dideklarasikan int. Tujuan nilai kembalian
berupa integer adalahuntuk mengetahui status eksekusi program. jika “terminated successfully”
(EXIT_SUCCESS) maka, akan dikembalikan status 0, sedangkan jika “terminated
unsuccessfully” (EXIT_FAILURE) akan dikembalikan nilai status tidak 0, biasanya bernilai 1.
12
ALGORITMA BATAM 2013/2014
Biasanya dipakai di lingkungan UNIX void main(). Berarti berupa function yang void
sehingga tidak mengembalikan nilai status program sehingga nilai status program tidak bisa
diketahui. Biasanya dipakai pada program C di lingkungan Windows Bentuk pemanggilan fungsi
di C. Pada dasarnya fungsi dapat memanggil fungsi lain, bahkan fungsi dapat memanggil dirinya
sendiri (rekursif)
Contoh tambahan
Fungsi
program Project2;
{$APPTYPE CONSOLE}
function tambah(x,y:integer):integer;
begin
tambah:=x+y;
end;
{program utama}
begin
writeln('2+3=',tambah(2,3));
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
Fungsi sebagai Prosedur
program Project1;
{$APPTYPE CONSOLE}
uses
13
ALGORITMA BATAM 2013/2014
SysUtils;
var
i,x,n : integer;
kali,jumlah : integer;
function pangkat (x,n : integer) : integer;
begin
kali :=1;
for i := 1 to n do
kali:=kali*x;
writeln(x,' pangkat ',n,'=',kali);
end;
begin
write('masukkan x : ');
readln(x);
write('masukkan n : ');
readln(n);
pangkat(x,n);
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
Fungsi sebagai Fungsi
program Project1;
14
ALGORITMA BATAM 2013/2014
{$APPTYPE CONSOLE}
uses
SysUtils;
var
i,x,n,kali:integer;
function pangkat (x,n : integer) : integer;
begin
kali :=1;
for i := 1 to n do
kali:=kali*x;
pangkat := kali;
end;
begin
write('masukkan x : ');
readln(x);
write('masukkan n : ');
readln(n);
writeln(x,'pangkat ',n,' =',pangkat(x,n));
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
15
ALGORITMA BATAM 2013/2014
BAB III
PENUTUP
Demikian yang dapat kami paparkan mengenai materi yang menjadi pokok bahasan
dalam makalah ini, tentunya masih banyak kekurangan dan kelemahannya, kerena terbatasnya
pengetahuan dan kurangnya rujukan atau referensi yang ada hubungannya dengan judul
makalah ini.
Penulis banyak berharap para pembaca yang budiman dusi memberikan kritik dan saran yang
membangun kepada penulis demi sempurnanya makalah ini dan dan penulisan makalah di
kesempatan-kesempatan berikutnya. Semoga makalah ini berguna bagi penulis pada khususnya
juga para pembaca yang budiman pada umumnya.
16
ALGORITMA BATAM 2013/2014
DAFTAR PUSTAKA
Munir,Rinaldi. 2011 ALGORITMA PEMROGRAMAN & DALAM
BAHASA PASCAL dan C. Bandung : INFORMATIKA Bandung.
Sumber lain
http://www.Google.com
http://www.ilmukomputer.com
17