makalah tentang prosedure dan fungsi_lantera billahi_1101092010_mi1b

21

Click here to load reader

Upload: rizaputriyani

Post on 25-Jul-2015

116 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

KATA PENGANTAR

Puji syukur saya ucapkan atas kehadirat Allah swt, karena rahmat dan karunianya saya

di beri kesempatan untuk menyelesaikan makalah ini.

Tidak lupa saya ucapkan terima kasih kepada dosen pembimbing, keluarga, teman-

teman yang telah memberikan saya dukungan dalam penyelesaian makalah ini.

Penulis menyadari bahwa dalam penulisan makalah ini masih banyak kekurangan.

Oleh sebab itu saya sebagai penulis sangat mengharapkan kririk dan saran yang membangun.

Semoga makalah ini bisa bermanfaat bagi para pembacanya. Amin.

Page 2: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

DAFTAR ISI

Kata Pengantar i

Daftar Isi ii

Pendahuluan 1

Pembahasan

penulisan Algoritma dengan kode semu 2

Deklarasi konstanta 3

Deklarasi Tipe 4

Deklarasi Variabel 4

Deklarasi fungsi 5

Prosedur sederhana 6

Prosedur yang menerima masukan 8

Contoh 9

Perbedaan procedure dan Fungsi 13

Penutup 14

Page 3: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

PENDAHULUAN

Prosedure dan function merupakan bentuk subprogram dalam pascal, yaitusekelompok pernyataan

bebas yang bisa menjadi bagian dari program/subprogram.Dengan menggunakan procedure dan function,

penulisan program dan modifikasi menjadi lebih mudah dilaksakan.

Penggunaan prosedur dan fungsi untuk memecahkan program yang kompleks menjadi

lebih sederhana, menjadi sub problem yang secara logika terpisah. Dengan menggunakan

procedure dan fungsi, penulisan program dan modifikasi menjadi mudah di laksanakan.

Berikut akan di bahas lebih lanjut penggunaan prosedur dan fungsi.

1

Page 4: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

PEMBAHASAN

I. Penulisan Algoritma dengan Kode Semu (Pseudo-Code)

Procedure adalah subprogram yang dapat dipanggil di dalam program (atau subprogram

lain).

function luas_lingkaran(r)

{Algoritma yang menghasilkan luas suatu lingkaran apabila diberikan jari-jarinya r}

l pi*r*r

return l

procedure tukar_nilai(a, b)

{Algoritma yang mempertukarkan isi a dan isi b}

c a

a b

b c

Algoritma yang ditulis dengan cara seperti di atas sering disebut dengan kode semu

(pseudo-code). Kode semu pun tidak memiliki bentuk yang baku, masing-masing orang bisa

menuliskan kode semu dalam bentuk yang berbeda. Dari contoh di atas tampak bahwa suatu

algoritma dapat dinyatakan sebagai sebuah fungsi (function) atau prosedur (procedure).

Perbedaan fungsi dan prosedur adalah fungsi menghasilkan suatu nilai kembali sedangkan

prosedur tidak. Fungsi maupun prosedur seringkali mempunyai parameter yang dapat

digunakan untuk melewatkan suatu nilai ke/dari fungsi/prosedur. Pada kedua contoh di atas r,

a, maupun b merupakan contoh parameter. Pada contoh di atas fungsi luas_lingkaran akan

menghasilkan nilai kembali 25 jika nilai parameter masukan r adalah 5. Sedangkan prosedur

tukar_nilai sama sekali tidak menghasilkan nilai kembali, tetapi prosedur tersebut akan

mempertukarkan nilai dari variabel-variabel yang dijadikan parameternya. Misalnya variabel

x pada awalnya

bernilai 10 dan variabel y bernilai 7, maka setelah dilakukan prosedur tukar_nilai(x, y) maka

variabel x menjadi bernilai 7 dan variabel y menjadi bernilai 10. Suatu fungsi ditandai dengan

adanya kata return.

2

Pada contoh di atas terdapat kata const, kata const merupakan salah satu contoh dari

apa yang dinamakan deklarasi. Deklarasi adalah bagian dari algoritma yang mendefinisikan

nama-nama yang akan digunakan pada algoritma. Deklarasi ada bermacam-macam,

antara lain :

Page 5: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

1. Deklarasi konstanta

Konstanta memiliki nilai yang tetap, tidak dapat diubah di bagian manapun dari algoritma.

Contoh deklarasi konstanta :

{deklarasi konstanta}

const pi = 3.1415926535897932384626433832795

function luas_lingkaran(r)

{Algoritma yang menghasilkan luas suatu lingkaran apabila diberikan jari-jarinya r}

l pi*r*r

return l

{deklarasi konstanta}

const e = 2.7182818284590452353602874713527

Catatan :

Bagian yang berada di dalam kurung kurawa {} disebut dengan komentar. Fungsi komentar

adalah untuk memberikan penjelasan pada algoritma. Komentar bukan termasuk dari

langkah-langkah algoritma yang akan dieksekusi. Bahkan komentar dapat dibuang begitu

saja tanpa mempengaruhi kebenaran algoritma.

2. Deklarasi tipe

Tipe yang dimaksud di sini adalah tipe-tipe data yang digunakan di dalam algoritma. Ada dua

jenis tipe data yaitu tipe dasar dan tipe bentukan. Tipe dasar adalah tipe yang tidak perlu

dideklarasikan lagi, biasanya sudah dikenal secara umum dan didukung langsung oleh

perangkat keras

3

komputer. Tipe bentukan adalah tipe yang perlu dideklarasikan, biasanya belum dikenal

secara umum dan tidak mendapat dukungan langsung dari perangkat keras. Contoh tipe dasar

antara lain integer, real, char, dan boolean. Contoh tipe bentukan adalah record, enumerasi,

array, dan lain lain. Berikut ini adalah contoh deklarasi suatu tipe bentukan :

{deklarasi tipe}

type kompleks = record

nyata: real

imajiner: real

Page 6: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

function norma_kompleks(c: kompleks)

{Algoritma yang menghasilkan norma dari suatu bilangan kompleks}

n c.nyata*c.nyata + c.imajiner*c.imajiner

return n

type person = record

name: string

age: integer

male: boolean

type tab = array [1..50] of integers

type gender = enum {male, female}

type matriks = array [1..20, 1..20] of integers

type pointerperson = person

Kadang-kadang suatu tipe dideklarasikan hanya sebagai nama alias dari tipe yang lain :

type bilanganbulat = integers

type jeniskelamin = gender

Pembahasan mengenai berbagai jenis tipe terdapat pada bagian selanjutnya.

4

Page 7: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

3. Deklarasi variabel

Variabel adalah tempat yang digunakan untuk menampung suatu nilai. Setiap variable

memiliki tipe tertentu. Berbeda dengan konstanta, nilai dari variabel dapat diubah di berbagai

bagian dari algoritma. Contoh deklarasi variabel adalah sebagai berikut :

type kompleks = record

nyata: real

imajiner: real

{deklarasi variabel}

a: kompleks

b: kompleks

procedure tukar

{Algoritma untuk menukar isi a dan b}

temp: real {deklarasi variabel}

temp a.nyata

a.nyata b.nyata

b.nyata temp

temp a.imajiner

a.imajiner b.imajiner

b.imajiner temp

const n = 250

{deklarasi variabel}

i: integer

f: real

c: char

b: booelan

s: string

r: array [1..30] of integers

v: array [1..n] of integers

array u[1..100]

array w[1..n]

5

Page 8: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

t: tab

l: gender

m: matriks

Deklarasi variabel dapat dilakukan di sebarang tempat. Variabel yang dideklarasikan

di dalam suatu fungsi/prosedur disebut sebagai variabel lokal sedangkan variabel yang

dideklarasikan tidak di dalam fungsi/prosedur disebut variabel global. Variabel local dikenali

hanya di dalam fungsi yang bersangkutan dan tidak akan dikenali di luar fungsi tersebut.

Varibel global dapat dikenali di sebarang tempat dari algoritma. Dalam banyak kasus,

deklarasi variabel tidak selalu harus dilakukan. Kadang-kadang notasi algoritmik menjadi

lebih sederhana dan lebih jelas apabila variabel-variabel yang ada pada algoritma tidak

dideklarasikan terlebih dahulu.

4. Deklarasi fungsi/prosedur

contoh di atas, setiap algoritma mengandung sebuah fungsi/prosedur yang dapat

disebut sebagai fungsi/prosedur utama. Kadang-kadang fungsi/prosedur utama memanggil

sebuah fungsi/prosedur yang lain. Maka fungsi/prosedur yang dipanggil tersebut juga harus

dideklarasikan di dalam algoritma. Contoh algoritma yang memiliki

lebih dari satu fungsi :

const pi = 3.1415926535897932384626433832795

function luas_lingkaran(r)

l pi*r*r

return l

function isi_silinder(r, t)

{Algoritma yang menghasilkan volume silinder apabila diberikan jari-jari alas r dan tinggi t}

a luas_lingkaran(r) v a*t

return v

6

Page 9: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

Berikut ini adalah contoh algoritma yang cukup rumit penulisannya :

const N = 100

type tabs = array [1..N] of integers

T: tabs

procedure isi_data

for i 1 to N do

T[i] random(10*N)

function isi_dan_cari_minimum

{Algoritma untuk mengisi elemen-elemen T secara random kemudian mencari nilai minimum

dari elemen-elemen T tersebut}

isi_data min T[1]

for i 2 to N do

if T[i] < min then

min T[i]

return min

Prosedur Sederhana

Prosedur sederhana adalah sebuah subprogram yang tidak mempunyai parameter

masukan maupun parameter keluaran.

Berikut ini adalah skema prosedure sederhana:

procedure A; { nama prosedur adalah A }

var varlok1, varlok2, … : tipevar;

begin

{ statement }

end;

Pada skema di atas, terlihat bahwa dalam prosedur dapat digunakan variable yang

dideklarasikan juga dalam prosedur tersebut, variable-variabel ini disebut variable local.

7

Page 10: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

Contoh program

Program Perhitungan_2_bil;

uses crt;

var bil1,bil2: integer;

Procedure jumlahkan;

var hasilJum: integer;

begin

hasilJum := bil1+bil2;

writeln('hasil penjumlahan: ',hasilJum);

end;

BEGIN

clrscr;

writeln('masukan 2 bilangan');

write('bilangan pertama: '); readln(bil1);

write('bilangan kedua : '); readln(bil2);

jumlahkan;

END.

Keluaran program

masukan 2 bilangan

bilangan pertama: 5

bilangan kedua : 7

hasil penjumlahan: 12

Penjelasan program

Bil1, bil2 adalah variable global, sedangkan hasilJum adalah variable local untuk prosedur

jumlahkan

8

Page 11: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

Prosedur yang menerima masukan

Sebuah prosedur dapat menerima masukan yang digunkan dalam proses sesuai

tugasnya. Prosedur semacam ini dikatakan prosedur yang mempunyai parameter masukan.

Berikut ini adalah skema prosedure yang menerima masukan:

procedure B(param1, param2, … : tipeparam);

var varlok1, varlok2, … : tipevar;

begin

{ statement }

end;

Contoh program

Program Perhitungan_4_bil;

uses crt;

var bil1,bil2,bil3,bil4: integer;

Procedure jumlahkan(angka1,angka2: integer);

var hasilJum: integer;

begin

hasilJum := angka1+angka2;

writeln('hasil penjumlahan: ',hasilJum);

end;

BEGIN

clrscr;

writeln('masukan 4 bilangan');

write('bilangan pertama: '); readln(bil1);

write('bilangan kedua : '); readln(bil2);

write('bilangan ketiga : '); readln(bil3);

9

Page 12: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

write('bilangan keempat: '); readln(bil4);

writeln;

writeln('bilangan pertama dan kedua');

jumlahkan(bil1,bil2);

writeln;

writeln('bilangan ketiga dan keempat');

jumlahkan(bil3,bil4);

END.

Keluaran program

masukan 4 bilangan

bilangan pertama: 5

bilangan kedua : 8

bilangan ketiga : 2

bilangan keempat: 7

bilangan pertama dan kedua

hasil penjumlahan: 13

bilangan ketiga dan keempat

hasil penjumlahan: 9

Prosedur yang menerima masukan dan menghasilkan keluaran

Prosedur yang paling komplek adalah yang menerima masukan dan menghasilkan

keluaran. Prosedur seperti ini disebut prosedur yang mempunyai parameter masukan dan

parameter keluaran.

Berikut ini adalah skema prosedur yang menerima masukan dan menghasilkan keluaran:

10

Page 13: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

procedure C(param1, param2, … : tipeparam;

var paramx, paramy, … : tipeparam);

var varlok1, varlok2, … : tipevar;

begin

{ statement }

end;

Pada skema prosedur di atas didefinisikan dua macam parameter, yaitu:

- parameter nilai (value parameter) : param1, param2

- parameter acuan (reference parameter): paramx, paramy

Contoh program

Program Perhitungan_4_bil;

uses crt;

var bil1,bil2,bil3,bil4,bil12,bil34,bil1234: integer;

Procedure jumlahkan(angka1,angka2: integer; var hasilJum: integer);

begin

hasilJum := angka1+angka2;

end;

BEGIN

clrscr;

writeln('masukan 4 bilangan');

write('bilangan pertama: '); readln(bil1);

write('bilangan kedua : '); readln(bil2);

write('bilangan ketiga : '); readln(bil3);

write('bilangan keempat: '); readln(bil4);

write('jumlah bilangan pertama dan kedua : ');

11

Page 14: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

jumlahkan(bil1,bil2,bil12); writeln(bil12);

write('jumlah bilangan ketiga dan keempat: ');

jumlahkan(bil3,bil4,bil34); writeln(bil34);

write('jumlah semua bilangan : ');

jumlahkan(bil12,bil34,bil1234); writeln(bil1234);

END.

Keluaran program

masukan 4 bilangan

bilangan pertama: 5

bilangan kedua : 8

bilangan ketiga : 2

bilangan keempat: 7

jumlah bilangan pertama dan kedua : 13

jumlah bilangan ketiga dan keempat: 9

jumlah semua bilangan : 22

Penjelasan program

Perhatikan contoh di atas, lihat parameter angka1, angka2, hasilJum di dalam

pendeklarasian prosedur jumlahkan yang sesuai dengan parameter bil1, bil2, bil12 pada

pemakaian prosedur di dalam tubuh program.

Dalam hal ini dapat didefinisikan dua macam parameter, yaitu:

- parameter formal, di dalam deklarasi prosedur: angka1, angka2, hasilJum

- parameter actual, pada pemanggilan prosedur: bil1, bil2, bil12

12

Page 15: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

3. Perbedaan procedure dan fungsi

Perbedaan antara function dan procedure adalah : kalau function dia akan

mengembalikan suatu nilai pada  pemanggilnya, sedangkan kalau procedure dia tidak

akan mengembalikan nilai apapun pada fungsi pemanggilnya. Untuk lebih jelasnya saya

akan memberikan contoh studi kasus program untuk menghitung luas persegi panjang

dalam bahasa Java.

Page 16: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

13

PENUTUP

FUNGSI adalah :

modul program yang memberikan/mengembalikan(return)sebuah nilai dan tipe tertentu

(tipe dasar atau tipe bentukan).

PROSEDURE adalah :

suatu program terpisah dan berdiri dalam dalam suatu blok program dan berfungsi sebagai

sebuah sub program(program bagian). Penulisan procedure di awali dengan kata Procedure

pada bagian deklarasi program dan cukup menuliskan nama procedure yang di buat dalam

bagian Implementasi. Struktur dasar procedure adalah bagian judul yang terdiri atas nama procedure dan

komentar yang menjelaskan spesifikasi procedure tersebut, bagian deklarasi, dan bagian deskripsi.

Page 17: Makalah Tentang Prosedure Dan Fungsi_Lantera Billahi_1101092010_mI1b

14