21
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 1

TUGAS MANDIRI algoritma

Embed Size (px)

DESCRIPTION

TUGAS MANDIRI ALGORITMA SEMSETER 1 TEHNIK INFORMATIKA UNIVERSITAS PUTRA BATAM

Citation preview

Page 1: TUGAS MANDIRI algoritma

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

Page 2: TUGAS MANDIRI algoritma

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

Page 3: TUGAS MANDIRI algoritma

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

Page 4: TUGAS MANDIRI algoritma

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

Page 5: TUGAS MANDIRI algoritma

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

Page 6: TUGAS MANDIRI algoritma

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

Page 7: TUGAS MANDIRI algoritma

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

Page 8: TUGAS MANDIRI algoritma

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

Page 9: TUGAS MANDIRI algoritma

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

Page 10: TUGAS MANDIRI algoritma

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

Page 11: TUGAS MANDIRI algoritma

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

Page 12: TUGAS MANDIRI algoritma

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

Page 13: TUGAS MANDIRI algoritma

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

Page 14: TUGAS MANDIRI algoritma

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

Page 15: TUGAS MANDIRI algoritma

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

Page 16: TUGAS MANDIRI algoritma

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

Page 17: TUGAS MANDIRI algoritma

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