makalah algoritma

21
 PEMROGRAMAN : [Procedure & Function] 1 | BAB II PEMBAHASAN A. Pengertian Procedure Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Diawali dengan kata cadangan ³Procedure´ didalam bagian deklarasi prosedur. Prosedur banyak digunakan pada program yang terstruktur karena : - merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur. - Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam  prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan. 1. Parameter Dalam Prosedur  Nilai didalam modul program Pascal sifatnya adalah local, artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program yang lainnya. Bentuk Umum : PROGRAM judul_program ; PROCEDURE judul_prosedur ; Begin Statement prosedur ; « « « End ; Begin Statement program utama ; « « « end.

Upload: lini-tan

Post on 15-Jul-2015

1.265 views

Category:

Documents


10 download

TRANSCRIPT

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 1/20

 

PEMROGRAMAN : [Procedure & Function]

1 |

BAB II

PEMBAHASAN

A. Pengertian Procedure

Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai

subprogram (program bagian). Diawali dengan kata cadangan ³Procedure´ didalam bagian

deklarasi prosedur. Prosedur banyak digunakan pada program yang terstruktur karena :

- merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit

menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.

- Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam

 prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

1. Parameter Dalam Prosedur

  Nilai didalam modul program Pascal sifatnya adalah local, artinya hanya dapat

digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada

modul atau unit program yang lainnya.

Bentuk Umum :

PROGRAM judul_program ;

PROCEDURE judul_prosedur ;

Begin

Statement prosedur ;

«

«

«

End ;BeginStatement program utama ;

«

««

end.

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 2/20

 

PEMROGRAMAN : [Procedure & function ]

2 |

Contoh program :

*Keterangan contoh program :

Bila program dikompilasi, akan di deteksi kesalahan oleh compiler, karena variable Y

yang sifatnya local di procedure Tanya_hitung digunakan pada program utama.

Agar nilai-nilai variable dapat digunakan di modul lainnya yang membutuhkan, maka dapat

dilakukan dengan beberapa cara, yaitu :

- Dibuat bersifat global.

Harus di deklarasikan diatas modul yang akan menggunakannya.

Contoh :

Procedure Tanya_hitung ;

Var 

X, Y : real ;

Begin

Write (µNilai X =¶) ;

Readln (X) ;

Y : = X * X ;

End ;

Begin

Tanya_hitung ;

Writeln (µNilai Y =¶, Y : 6 : 2 ) ;

End.

Procedure kesatu ; Procedure Ketiga;

Begin Begin

« «

End ; End;

Var Begin { program utama }

A, B : word ; «

End.

Procedure kedua ;

Begin

«

End ;

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 3/20

 

PEMROGRAMAN : [Procedure & Function]

3 |

*Keterangan contoh :

Variabel A dan B dapat digunakan untuk modul Procedure kedua dan ketiga serta

modul/program utama, tetapi tidak bersifat global untuk procedure kesatu.

- Dikirimkan sebagai parameter ke modul yang membutuhkannya.

Parameter yang dikirmkan dari modul utama ke modul prosedur disebut dengan parameter 

nyata (actual parameter) dan parameter yang ada dan dituliskan pada judul prosedur 

disebut dengan parameter formal (formal parameter). Proses pengiriman data lewat

 parameter nyata ke parameter formal disebut dengan parameter passing. Parameter nyata

dan parameter formal harus dengan tipe yang sama. Didalam pascal, parameter dapat

dikirimkan secara nilai (by value) atau secara acuan (by reference).

1.1 Pengiriman Parameter Secara Nilai

Bila parameter dikirimkan secara nilai nilai, parameter formal di prosedur akan berisi

nilai yang dikirmkan yang kemudian bersifat local di prosedur. Bila nilai parameter formal di

  prosedur berubah, tidak akan mempengaruhi nilai parameter nyata ( nilai parameter nyata

tetap, tidak berubah). Pengiriman secara nilai ini merupakan pengiriman searah, yaitu dari

  parameter nyata ke parameter formal, yang tidak dikirimkan balik dari parameter formal ke

  parameter nyata. Parameter ± parameter yang digunakan dengan pengiriman secara nilai ini

disebut dengan parameter nilai ( value parameter ).

Contoh program :Procedure Hitung(A, B : integer ) ;

Var 

C : integer ;

Begin

C : = A + B ;

Writeln (µNilai C =¶, C ) ;

End ;

Var 

X, Y : integer ;

Begin

Write ( µNilai X =¶ ) ; readln ( X ) ;

Write ( µNilai Y =¶ ) ; readln ( Y ) ;

Hitung ( X, Y ) ;

End.

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 4/20

 

PEMROGRAMAN : [Procedure & function ]

4 |

Output program :

 Nilai X = 2

 Nilai Y = 3

 Nilai C = 5

Penjelasan program :

- prosedur dimulai dengan deklarasi prosedur dengan judul prosedur hitung. Variable A

dan B adalah parameter formal dan integer adalah tipe parameternya.

- Variable local yang hanya dipergunakan di prosedur dan tidak termasuk parameter formal

(parameter nilai), harus didefinisikan sendiri, yaitu : variable C

- Hubungan antara parameter formal di prosedur dengan parameter nyata di modul utama

adalah : nilai parameter nyata X dan Y di modul utama dikirimkan ke parameter formal

A dan B di prosedur. Dengan demikian nilai parameter A dan B diprosedur akan berisi

nilai yang sama dengan parameter X dan Y di modul utama.

1.2 Pengiriman Parameter Secara Acuan

Bila pengiriman parameter secara acuan, maka perubahan-perubahan yang terjadi pada

nilai parameter formal di prosedur akan mempengaruhi nilai parameter nyata. Parameter-

  parameter ini disebut dengan variable parameter serta dideklarasikan di deklarasi prosedur 

dengan menggunakan kata cadangan Var, sebagai berikut :

PROCEDURE hitung (VAR A, B, C : integer ) ;

Contoh program :

Procedure Hitung ( var A, B, C : integer ) ;

Begin

C : = A + B ;

End ;

Var 

X, Y, Z : integer ;

Begin

X : = 2 ; Y : = 3 ;

Hitung ( X, Y, Z ) ;

Writeln (µ X = µ, X , µ Y = µ , Y, µ Z = µ , Z ) ;

End.

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 5/20

 

PEMROGRAMAN : [Procedure & Function]

5 |

Output program :

X = 2 Y = 3 Z = 5

*Penjelasan program :

- pengiriman parameter secara acuan merupakan pengiriman dua arah, bolak-balik,

sehingga perubahan nilai di parameter formal akan mempengaruhi nilai parameter 

nyata juga. Pada contoh, nilai parameter nyata Z akan mengikuti perubahan nilai dari

 parameter formal C.

1.3 Pengiriman Parameter Sebagian Secara Nilai, Sebagian Acuan

Pengiriman parameter dapat dicampur sebagian secara nilai dan sebagian secara acuan

dalam suatu prosedur. Parameter yang hanya dibutuhkan pada prosedur saja dapat dikirimkan

secara nilai dan yang ingin dikirimkan balik dapat dilakukan secara acuan, sebagai berikut :

Output program :

X = 2 Y = 3 Z = 5

Penjelasan program :

- pengiriman parameter secara acuan merupakan pengiriman dua arah, bolak-balik,

sehingga perubahan nilai di parameter formal akan mempengaruhi nilai parameter 

nyata juga. Pada contoh, nilai parameter nyata Z akan mengikuti perubahan nilai dari

 parameter formal C.

PROCEDURE Hitung ( A, B : integer ; Var C : integer ) ;

Contoh program :

Procedure Hitung ( A, B : integer ; Var C ; integer ) ;

Begin

C : = A + B ;

End ;

Var 

X, Y, Z : integer ;

Begin

X : = 2 ; Y : = 3 ;

Hitung ( X, Y, Z ) ;

Writeln ( µ X = µ, X , µ Y = µ, Y , µ Z = µ, Z ) ;

End.

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 6/20

 

PEMROGRAMAN : [Procedure & function ]

6 |

PROCEDURE Hitung ( A, B : integer ; Var C : integer ) ;

Contoh program :

Output program :

X = 2 Y = 3 Z = 5

2. Prosedur Memanggil Prosedur Yang Lain

Prosedur dapat memanggil prosedur yang lainnya.

Contoh Program :

Output program :

 Nilai X = 5 ada diprosedur Pro2 Nilai X = 5 ada diprosedur Pro1 

Procedure Hitung ( A, B : integer ; Var C ; integer ) ;

Begin

C : = A + B ;

End ;

Var 

X, Y, Z : integer ;Begin

X : = 2 ; Y : = 3 ;

Hitung ( X, Y, Z ) ;Writeln ( µ X = µ, X , µ Y = µ, Y , µ Z = µ, Z ) ;

End.

Prosedur Pro1(X1: Interger);

Begin

Writeln ( µNilai X = µ, X1, µada di prosedur Pro1¶ ) ;

End ;

Procedure Pro2 (X2 : integer ) ;

Begin

Writeln ( µNilai X = µ, X2, µada diprosedur Pro2¶ ) ;Pro1 (X2) ;

End;Var 

X: Interger;

Begin

X:= 5;

Pro2 : (X);

End.

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 7/20

 

PEMROGRAMAN : [Procedure & Function]

7 |

3. Prosedur Tersarang

Adalah prosedur yang berada didalam prosedur yang lainnya.

Bentuk Umum :

4. Prosedur Memanggil Dirinya Sendiri

Merupakan prosedur yang memanggil atau menggunakan prosedur itu juga. Proses dari

suatu program bagian yang memanggil dirinya sendiri dikenal dengan istilah recursion. Tidak 

semua bahasa menyediakan kemampuan untuk melakukan proses recursion, tetapi pascal

dapat. Walaupun proses ini merupakan algoritma yang baik, tetapi membutuhkan banyak 

memori, karena setiap kali program bagian dipanggil oleh dirinya sendiri, sejumlah ruang

memori tambahan dibutuhkannya.

Contoh program :

Program

Procedure

ProcedureBegin

«

««

End ;

Begin

«

«

«

End ;Begin«

«

«

end .

Var I : integer ;

Procedure Rekursi ;

Begin

Writeln ( µHallo saya Pascal µ ) ;

I : = I + 1 ;

If I < 10 Then

Rekursi ;

End ;Begin

I := 1;

Rekursi;End.

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 8/20

 

PEMROGRAMAN : [Procedure & function ]

8 |

5. Acuan Forward

Digunakan untuk mendeklarasikan dimuka judul prosedur terpisah dari bloknya. Judul

  prosedur yang berisi parameter terpisah ini merupakan judul yang semestinya dan di

deklarasikan dengan menambahkan kata cadangan ³ Forward ´. Blok prosedur ini letaknya

terpisah dari judulnya, juga diawali dengan judul prosedur, tetapi hanya mencantumkan judul

atau nama prosedurnya saja, tanpa mencantumkan parameter formalnya.

Contoh program :

Output:

Prosedur PRO1

ProsedurPRO2

B. Prosedur Standar

1. Prosedur Standar Exit

Digunakan untuk keluar dari suatu blok. Bila diletakkan pada program bagian,

  prosedur standar exit akan menyebabkan proses di program bagian berhenti dan proses

kembali ke blok program yang memanggilnya. Bila berada di program utama,

menyebabkan proses program berhenti. 

Procedure Pro1 (Var I : integer ) ; Forward ;

Procedure Pro2 (Var I : integer ) ;

Begin

Writeln ( µ Prosedur PRO¶, I ) ;

End ;

Procedure Pro1 ;BeginWriteln ( µProsedur PRO¶, I ) ;

End ;

Var 

I: Interger;Begin

I:= 1;

Pro1(I);

I:= 2;

Pro2 (I);

End.

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 9/20

 

PEMROGRAMAN : [Procedure & Function]

9 |

2. Prosedur Standar Halt

Digunakan untuk menghentikan proses program baik di program bagian maupun

 program utama.

3. Prosedur Standar Move

Bentuk umum :

Move ( var source, dest; count : word )

Digunakan untuk menyalinkan suatu blok sebanyak count byte memori dari blok dimulai

 byte pertama source dan disalinkan ke byte pertama dest.

Contoh program :

Output Program:

ABCDE ABCIJ

4. Prosedur Standar FillChar

Digunakan untuk mengisi sejumlah byte nilai ke dalam suatu variable, sbb :

FillChar ( x ; count : word ; ch )

X adalah variable yang dapat bertipe apapun yang akan diisi dengan nilai tipE ordinal ch

sebanyak count byte

Var

Sumber , Tujuan : String;Sejumlah: word;

Begin

Sumber:= (ABCDE);

Tujuan:= (FGHIJ);

Sejumlah:= 4;

Move (Sumber,Tujuan,Sejumlah);

Writeln (Sumber: 7, Tujuan: 7);

End. 

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 10/20

 

PEMROGRAMAN : [Procedure & function ]

10 |

B. Pengertian Function

Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan

menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memilikinama 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).

  Keuntungan Penggunaan Fungsi:

  Dapat melakukan pendekatan top-down dan divide-and- conquer :

       Top-down: penelusuran program mudah

       Divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.  Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami

  Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan

koordinasi yang mudah.

  Mudah dalam mencari kesalahan-kesalahan karena alur logika jelas dan sederhana

  Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.

  Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu

 program keseluruha

  Fungsi - fungsi menjadikan program mempunyai struktur yang jelas.

       Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi -fungsi, maka

fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti.

  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.

  Mempermudah dokumentasi.

  Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain 

  Sifat-sifat Fungsi:

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 11/20

 

PEMROGRAMAN : [Procedure & Function]

11 |

  Nilai f an-in tinggi, artinya semakin sering suatu modul dipanggil oleh pengguna

semakin tinggi nilai fan-in

  Nilai Fan-out rendah, artinya semakin spesifik fungsi suatu modul akan semakin

rendah nilai fan-out

  Memiliki Self -contained tinggi: artinya kemampuan untuk memenuhi kebutuhannnya

sendiri

  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 dengann menggunakan preprosesor direktif. Misalnya: #include

<conio.h>

  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-includekan jika ingin

menggunakannya.Dalam membuat fungsi, perlu diperhatikan:-  Data yang diperlukan sebagai inputan

-  Informasi apa yang harus diberikan oleh fungsi yang dibuat ke pemanggilnya

-  Algoritma apa yang harus digunakan untuk mengolah data menjadi informasi

Contoh:

  Fungsi Dasar :

 Int GetMAX (int nFirst, int nLast)

 Int nReturn;

if(Int nFirst>nLast)

nReturn=nFrist;

else;

nReturn=nLast 

return nReturn;

 }

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 12/20

 

PEMROGRAMAN : [Procedure & function ]

12 |

Fungsi standar C yang mengemban tugas khusus contohnya adalah ;

-   printf(), yaitu untuk menampilkan informasi atau data ke layar.

-  scanf(), yaitu untuk membaca kode tombol yang diinputkan.

Pada umumnya fungsi memerlukan nilai masukan atau parameter yang disebut

sebagai argumen. Nilai masukan ini akan diolah oleh fungsi. Hasil akhir fungsi berupa

sebuah nilai (disebut sebagai return value atau nilai keluaran fungsi). Oleh karena itu

fungsi sering digambarkan sebagai "kotak gelap" seperti ditunjukkan pada gambar di

 bawah ini.

Penggambaran sebagai kotak gelap di antaranya menjelaskan bahwa bagian dalam

fungsi bersifat pribadi bagi fungsi. Tak ada suatu pernyataan di luar fungsi yang bisa

mengakses bagian dalam fungsi, selain melalui parameter (atau variabel eksternal yang

akan dibahas belakangan). Misalnya melakukan  goto dari pernyataan di luar fungsi ke

  pernyataan dalam fungsi adalah tidak diperkenankan. Bentuk umum dari definisi sebuahfungsi adalah sebagai berikut :

Keterangan :

  tipe-keluaran-fungsi, dapat berupa salah satu tipe data C, misalnya char atau int . Kalau

 penentu tipe tidak disebutkan maka dianggap bertipe int (secara default ).

  Tubuh fungsi berisi deklarasi variabel (kalau ada) dan statemen-statemen yang akan

melakukan tugas yang akan diberikan kepada fungsi yang bersangkutan. Tubuh fungsi

ini ditulis di dalam tanda kurung kurawal buka dan kurung kurawal tutup.

Sebuah fungsi yang sederhana bisa saja tidak mengandung parameter sama sekali dan

tentu saja untuk keadaan ini deklarasi parameter juga tidak ada. Contoh ;

Parameter Keruaran

Fungsi

 

FUNGSI 

tipe-keluaran-fungsi nama-fungsi (deklarasi argumen)

tubuh fungsi

 }

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 13/20

 

PEMROGRAMAN : [Procedure & Function]

13 |

Pada fungsi di atas:

  tipe keluaran fungsi tidak disebutkan, berarti keluaran fungsi ber tipe int.

  inisialisasi adalah nama fungsi.

  Tanda ( ) sesudah nama fungsi menyatakan bahwa fungsi tak memiliki parameter.

  Tanda { dan  } adalah awal dan akhir fungsi

  Return (0) merupakan sebuah pernyataan dalam tubuh fungsi.

  Nama fungsi

 Inisialisasi ( ) Sepasang tanda kurung tanpa argumen tanpa di akhiri tanda ( ; )

{ Awal fungsi

  Return ( 0 ); Tubuh fungsi

  } Akhir fungsi

  Memberikan Nilai Keluaran Fungsi

Suatu fungsi dibuat untuk maksud menyelesaikan tugas tertentu. Suatu fungsi dapat

hanya melakukan suatu tugas saja tanpa memberikan suatu hasil keluaran atau melakukan

suatu tugas dan kemudian memberikan hasil keluaran. Fungsi yang hanya melakukan suatu

tugas saja tanpa memberikan hasil keluaran misalnya adalah fungsi untuk menampilkan

hasil di layar. Dalam tubuh fungsi, pernyataan yang digunakan untuk memberikan nilai

keluaran fungsi berupa return. Sebagai contoh, pada fungsi inisialisasi ( ) di atas terdapat

 pernyataan

 Return ( 0 ) ;

merupakan pernyataan untuk memberikan nilai keluaran fungsi berupa nol. Selengkapnya

 perhatikan program di bawah ini

 /* File program : inisial.c

Contoh pembuatan fungsi */ 

 Inisialisasi ( )

 Return ( 0 ) ;

 }

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 14/20

 

PEMROGRAMAN : [Procedure & function ]

14 |

int inisialisasi();

#include <stdio.h>

main()

int x, y;

 x = inisialisasi();

  printf("x = %d\n", x); Pemanggilan Fungsi

 y = inisialisasi();

 printf("y = %d\n", y);

 }

int inisialisasi()

return(0); Definisi fungsi

 }

Contoh eksekusi :

X= 0

Y= 0

Program di atas sekaligus menjelaskan bahwa suatu fungsi cukup didefinisikan satukali tetapi bisa digunakan beberapa kali. Pada keadaan semacam ini seandainya tubuh

fungsi mengandung banyak pernyataan, maka pemakaian fungsi dapat menghindari

duplikasi kode dan tentu saja menghemat penulisan program maupun kode dalam memori.

Misalnya pada saat pernyataan

 x = inisialisasi( );

Dijalankan, mula-mula eksekusi akan diarahkan ke fungsi inisialisasi ( ) , selanjutnya

suatu nilai keluaran (hasil fungsi) akhir fungsi diberikan ke  x. Proses yang serupa,

dilakukan untuk pernyataan

 y = inisialisasi( );

Bagi suatu fungsi, jika suatu pernyataan return dieksekusi, maka eksekusi terhadap

fungsi akan berakhir dan nilai pada parameter return akan menjadi keluaran fungsi. Untuk 

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 15/20

 

PEMROGRAMAN : [Procedure & Function]

15 |

fungsi yang tidak memiliki pernyataan return, tanda  } pada bagian akhir fungsi akan

menyatakan akhir eksekusi fungsi.

Di bawah ini diberikan contoh sebuah fungsi yang mengandung dua buah

 pernyataan return . Fungsi digunakan untuk memperoleh nilai minimum di antara 2 buah

nilai yang menjadi parameternya.

int minimum (int x, int y) 

if (x < y)

return(x);

else

return(y);

 }

Pada fungsi di atas terdapat dua buah parameter berupa x dan y. Oleh karena itu fungsi

  juga mengandung bagian untuk mendeklarasikan parameter, yang menyatakan x dan  y

 bertipe int . Adapun penentuan nilai keluaran fungsi dilakukan pada tubuh fungsi, berupa

 pernyataan

if (x < y)

return(x);

else

return(y );

yang menyatakan :

  jika x < y maka nilai keluaran fungsi adalah sebesar nilai x.

  untuk keadaan lainnya (x > = y) maka keluaran fungsi adalah sebesar y.

Selengkapnya perhatikan program di bawah ini.

 /* File program : minimum1.c */ 

#include <stdio.h>

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 16/20

 

PEMROGRAMAN : [Procedure & function ]

16 |

int minimum (int, int);

main()

int a, b, kecil;

 printf("Masukkan nilai a : ");

 scanf("%d", &a);

 printf("Masukkan nilai b : ");

 scanf("%d", &b);

kecil = minimum(a, b);

 printf("\nBilangan terkecil antara %d dan %d adalah %d\n\n", a, b, kecil);

 }

int minimum(int x, int y)

if (x < y)

return(x);

else

return(y);

 }

  Fungsi Standar

6.1. Fungsi standar arutmatika

  Fungsi standar ABS

Bentuk umum : ABS(x); 

Digunakan untuk memutlakkan suatu nilai yang ditunjukkan oleh argumen x.

Contoh :

Begin

X:=-2.3; Write(µNilai X = µ,X,¶ Nilai mutlaknya = µ,Abs(X):3:1);

End.

  Fungsi standar EXP

Bentuk Umum : EXP(x:):real;

Digunakan untuk menghitung nilai pangkat dari bilangan e yaitu sebesar ex.

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 17/20

 

PEMROGRAMAN : [Procedure & Function]

17 |

Hasil :

Nilai yang akan dibulatkan

= 9.99

Nilai pembulatannya

= 9.00

Hasilnya:

Nilai X = 9.99

Nilai Pecahannya =

0.990

Hasilnya berupa nilai real.

  Fungsi standar LN

Bentuk umum : LN(x):real; 

Digunakan untuk menghitung nilai logaritma alam (natural logarithm) dari nilai x.

Hasilnya berupa nilai real.

  Fungsi standar INT

Bentuk umum : INT(x:real):real;

Digunakan untuk menghasilkan nilai integer dari x. hasil dari fungsi adalah tipe

real dengan nilai yang berupa pembulatan ke bawah (nilai pecahan dibuang) dari

nilai x.

  Fungsi standar FRAC

Bentuk umum : FRAC(x:):real;

Digunakan untuk mendapatkan nilai pecahan dari argumen x. Argumen x dapat

 bernilai real maupun integer dan hasil dari fungsi adalah real.

Contoh :

Begin

X:=9.99;

Write(µNilai X = µ,X,¶ Nilai pecahannya = µ,Frac(X):4:3);

End.

Contoh :

Begin 

X:=9.99;

Write(µNilai yang akan dibulatkan = µ,X);

Writeln(µNilai pembulatannya = µ,Int(X):3:2);

End. 

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 18/20

 

PEMROGRAMAN : [Procedure & function ]

18 |

Hasilnya:

Nilai X = 2

Nilai kuadratnya = 4

  Fungsi standar SQR 

Bentuk umum : SQR(x);

Digunakan untuk menghitung nilai pangkat kuadrat dari argumen x.

Contoh :

Begin

X :=2;

Write(µNilai X = µ,X,¶ Nilai kuadratnya = µ,sqr(x));

End. 

  Fungsi standar SQRT

Bentuk umum : SQRT(x) : real;

Digunakan untuk menghitung nilai akar dari argumen x, hasilnya berupa real.

  Fungsi standar PI, SIN, COS, ARCTAN

6.2. Fungsi Standar Transf er

Digunakan untuk merubah suatu nilai ke bentuk nilai lain.  Fungsi standar CHR  

Bentuk umum : CHR(x:byte):char; 

Digunakan untuk merubah nilai dari byte x ke bentuk karakter yang sesuai dengan

kode ASCII.

Contoh :

 X := 66;

Write(µNilai X = µ,x,¶ Nilai karakternya = µ,CHR(X));

 Hasilnya : Nilai X = 66 Nilai karakternya = B

  Fungsi standar ORD 

Bentuk umum : ORD(x):longint;

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 19/20

 

PEMROGRAMAN : [Procedure & Function]

19 |

Digunakan untuk merubah nilai x ke bentuk nilai longint yang sesuai dengan kode

ASCII, merupakan kebalikan dari fungsi CHR.

  Fungsi standar ROUND

Bentuk umum : ROUND(x:real):longint; 

Digunakan untuk membulatkan nilai dari real x ke nilai longint yang terdekat.

Bila nilai pecahan sama dengan atau lebih besar dari 0.5 akan dibulatkan ke atas,

sedang kalau lebih kecil dari 0.5 akan dibulatkan ke bawah.

Contoh :

Write(¶10 dibagi 3 hasil pembulatan terdekat µ,Round(10/3));

Writeln(¶20 dibagi 3 hasil pembulatan terdekat adalah µ,Round(20/3);

 Hasilnya :

10 dibagi 3 hasil pembulatan terdekat adalah 3

20 dibagi 3 hasil pembulatan terdekat adalah 7 

  Fungsi standar TRUNC

Bentuk umum : TRUNC(x:real):longint;

Digunakan untuk membulatkan nilai dari real x ke nilai longint terkecil. Atau

dengan kata lain membulatkan ke bawah.

Contoh :

Write(¶10 dibagi 3 hasil pembulatan terdekat µ,Trunc(10/3));

Writeln(¶20 dibagi 3 hasil pembulatan terdekat adalah µ,Trunc(20/3);

 Hasilnya :

10 dibagi 3 hasil pembulatan terdekat adalah 3

20 dibagi 3 hasil pembulatan terdekat adalah 6 

6.3. Fungsi Standar Lainnya

Fungsi standar yang tidak termasuk dalam kelompok pembagian di atas :

  Fungsi standar Hi, Lo, Swap

  Fungsi standar Random

Bentuk umum : Random [(range :word)]; 

Digunakan untuk menghasilkan angka random berkisar dari nilai lebih besar atau

5/13/2018 Makalah Algoritma - slidepdf.com

http://slidepdf.com/reader/full/makalah-algoritma 20/20

 

PEMROGRAMAN : [Procedure & function ]

20 |

sama dengan nol dan lebih kecil dari satu. Bila range tidak disebutkan, hasil dari

fungsi ini adalah real, bila range disebutkan, hasilnya adalah word.

  Fungsi standar SizeOf  

Bentuk umum : SizeOf (x):word; 

Digunakan untuk menunjukkan besarnya byte yang digunakan oleh suatu variabel

x, hasilnya berupa nilai word.

  Fungsi standar UPCASE

Bentuk umum : UpCase(Ch:char):char; 

Digunakan untuk merubah argumen suatu karakter yang ditunjukkan oleh Ch

menjadi bentuk karakter huruf besar (upper case).