Anda di halaman 1dari 24

ALGORITMA & PEMROGRAMAN 2A

MATERI 5
ALGORITMA & PEMROGRAMAN 2A (1IA) 2

FUNGSI
• Pengertian Funtion : Blok pada function hampir sama dengan
blok pada procedure, hanya pada function harus
dideklarasikan dengan tipe dari function tersebut yang
merupakan tipe hasil dari function itu sendiri, sehingga
dikatakan function dapat mengembalikan nilai
• Function tidak hanya dapat dipakai untuk
mengelompokkan baris-baris perintah seperti halnya
procedure, tetapi Function juga dapat menampung nilai yang
disimpan pada nama Function
• Berbeda dengan procedure, function merupakan modul
program yang menghasilkan suatu kuantitas. Hal ini dapat
dilihat dari bentuk header-nya yang menyebutkan jenis data
dari kuantitas yang dihasilkan
ALGORITMA & PEMROGRAMAN 2A (1IA) 3

Secara Umum Bentuk Header Suatu Function Adalah :

1. Header Function Tanpa Parameter


Suatu function tanpa parameter berarti nilai balik yang akan
dihasilkan merupakan nilai yang sudah pasti. Function tanpa
parameter jarang digunakan

Bentuk Umum :

Contoh :
ALGORITMA & PEMROGRAMAN 2A (1IA) 4
Struktur Blok Program :

Contoh Program :
ALGORITMA & PEMROGRAMAN 2A (1IA) 5

2. Header Function Dengan Parameter

Bentuk Umum :

Contoh :

Struktur Blok Program :


ALGORITMA & PEMROGRAMAN 2A (1IA) 6

2.1 Parameter Nilai dalam function


Parameter dalam function dapat dikirimkan secara nilai atau
secara acuan
ALGORITMA & PEMROGRAMAN 2A (1IA) 7
2.2 Function dengan parameter acuan
Penulisan judul function dengan menggunakan parameter secara
acuan adalah sama dengan procedure yaitu ditambah Var pada
deklarasi parameter. Dengan demikian nilai parameter acuan ini
dapat digunakan sebagai hasil balik
ALGORITMA & PEMROGRAMAN 2A (1IA) 8
Fungsi -> diawali dengan kata Function
Fungsi ini merupakan suatu sub program yang akan mengembalikan
sebuah nilai dengan tipe sederhana (dalam namanya). Fungsi ini,
sama dengan prosedur, cukup ditulis sebanyak satu kali namun dapat
dipanggil dari bagian program utama
Pada dasarnya, struktur prosedur sama dengan struktur program yang
sudah dikenal, hanya saja bagian judul (Header) ditulis FUNCTION
Bentuk Umum :

Atau
ALGORITMA & PEMROGRAMAN 2A (1IA) 9
Contoh :
ALGORITMA & PEMROGRAMAN 2A (1IA) 10
ALGORITMA & PEMROGRAMAN 2A (1IA) 11

PERBEDAAN PROCEDURE DAN FUNCTION


1. Jika membuat suatu procedure maka harus dideklarasikan dengan
reserved word “Procedure”. Jika membuat suatu function harus
dideklarasikan dengan reserved word “Function”
2. Function harus dideklarasikan dengan typenya, sedangkan
procedure tidak. Hal ini menunjukkan bahwa function dapat
menampung nilai, sedang procedure tidak dapat menampung nilai
3. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama
fungsinya (kalau pada prosedur pada parameter yang dikirimkan
secara acuan). Pada contoh, nama fungsi tersebut adalah Hitung
dan nilai yang dikirim balik berada pada nama fungsi tersebut.
Sehingga nama fungsi ini harus digunakan untuk menampung
hasil yang akan dikirimkan dari fungsi, sebagai berikut :
ALGORITMA & PEMROGRAMAN 2A (1IA) 12

4. 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

Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke


pengenal variabel yang lainnya, sbb :
Hasil := Hitung(X,Y);
Writeln(X,‟ + „,Y, „ + „,Hasil);

5. Pada prosedur, nama prosedur tersebut tidak dapat digunakan


langsung, yang dapat langsung digunakan adalah parameternya
yang mengandung nilai balik
ALGORITMA & PEMROGRAMAN 2A (1IA) 13

PERSAMAAN PROCEDURE DAN FUNCTION

1. Memecah sebuah program besar menjadi beberapa


bagian / modul sehingga memudahkan pembagian
tugas jika program dibuat oleh lebih dari 1 orang, dan
mempermudah pengecekan kesalahan / error
2. Jika terdapat perintah-perintah yang sama yang akan
dipakai dalam suatu program, maka sebaiknya
perintah-perintah tersebut dipisahkan dalam suatu
modul program dengan bantuan procedure,
sehingga jika ingin memakainya hanya tinggal
memanggil nama procedure tersebut
3. Mempermudah proses dokumentasi
ALGORITMA & PEMROGRAMAN 2A (1IA) 14

REKURSI PADA FUNCTION


Rekursi adalah dimana suatu function memanggil dirinya sendiri.
Proses dapat dilihat pada contoh berikut. Dimana fungsi faktor
dipanggil oleh dirinya sendiri
ALGORITMA & PEMROGRAMAN 2A (1IA) 15

FUNGSI STANDAR
A. Fungsi Standar Aritmatika
• Abs (X);
Memutlakkan suatu nilai yang ditunjukkan oleh argument x.
Dapat berupa tipe real atau integer

• Exp (x : real ) : real ;


Untuk menghitung nilai pangkat dari bilangan e. Dapat berupa
real atau integer dan hasil dari fungsinya adalah real

• Ln (x : real ) : real ;
Untuk menghitung nilai logaritma alam dari nilai x. Tipe
datanya real atau integer dan hasil fungsinya adalah real
ALGORITMA & PEMROGRAMAN 2A (1IA) 16
• Int (x : real) : real ;
Untuk menghasilkan nilai integer dari x. hasil dari fungsi
adalah tipe real dengan nilai yang berupa pembulatan ke bawah
dari nilai x

• Franc (x : real ) : real ;


Untuk mendapatkan nilai pecahan dari argument x. Argumen x
dapat berbentuk real atau integer dan hasilnya adalah real
ALGORITMA & PEMROGRAMAN 2A (1IA) 17

• Sqr (x) ;
Untuk menghitung nilai pangkat kuadrat dari argument x

• Sqrt (x : real ) : real ;


Untuk menghitung nilai akar dari argument x. Dapat
real dan integer dan hasil dari fungsinya adalah real

• Pi
Akan menghasilkan nilai PI sebesar 3,14
ALGORITMA & PEMROGRAMAN 2A (1IA) 18
B. Fungsi Standar Transfer
Digunakan untuk merubah suatu nilai ke bentuk nilai yang
lain
• Chr (x : byte) : char ;
Untuk merubah nilai dari byte x ke bentuk karakter
yang sesuai dengan kode ASCII

• Ord (x) : longint ;


Untuk merubah nilai x ke bentuk nilai longint yang sesuai
dengan kode ASCII. Fungsi ini kebalikan dari fungsi
standar Chr
ALGORITMA & PEMROGRAMAN 2A (1IA) 19
• Round (x : real) : longint ;
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, sedangkan bilai nilai pecahan lebih kecil
dari 0,5 akan dibulatkan ke bawah
Contoh :
Write(‟10 dibagi 3 hasil pembulatan terdekat „,Round(10/3));
Hasilnya : 10 dibagi 3 hasil pembulatan terdekat adalah 3

• Trunc (x : real) : longint ;


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));
Hasilnya : 10 dibagi 3 hasil pembulatan terdekat adalah 3
ALGORITMA & PEMROGRAMAN 2A (1IA) 20

C. Fungsi Standar Lainnya


• Hi (x) : byte ;
Untuk mengisi low order byte dari hasil fungsi
dengan high order byte dari ungkapan integer x.
High order byte dari hasil fungsi akan bernilai nol.
Tipe hasil dari fungsi ini adalah byte

• Lo (x) : byte ;
Untuk mengisi low order byte dari hasil fungsi
dengan low order byte dari ungkapan integer x.
High order byte dari hasil fungsi akan bernilai nol.
Tipe hasil dari fungsi ini adalah byte
ALGORITMA & PEMROGRAMAN 2A (1IA) 21

• Swap (x) ;
Untuk membalik bit-bit di low order byte
menjadi high order byte dan sebaliknya dari
ungkapan x. Ungkapan x dapat berupa tipe
integer atau word

• Random [ (range : word ) ] ;


Untuk menghasilkan angka random berkisar dari
nilai lebih besar atau sama dengan nol dan lebih
kecil dari satu. Bila range tidak disebutkan, hasil
dari fungsi ini adalah real. Bila range disebutkan,
hasilnya adalah word
ALGORITMA & PEMROGRAMAN 2A (1IA) 22

• SizeOf (x) : word ;


Untuk menunjukkan besarnya byte yang digunakan oleh
suatu variable x. Hasilnya adalah word
• UpCase (Ch : char) : char ;
Untuk merubah argument suatu karakter yang ditunjukkan
oleh Ch menjadi bentuk karakter huruf besar (upper
case).ParamCount: word ;
• ParamStr (index) : string ;
Untuk mengetahui jumlah parameter yang dikirimkan lewat
promt DOS
• ParamStr (index) : string ;
Untuk menerima parameter yang dikirmkan lewat promt
DOS, index adalah ungkapan dengan tipe word, dan akan
menghasilkan parameter ke index yang dikirimkan tersebut
ALGORITMA & PEMROGRAMAN 2A (1IA) 23

FUNGSI TERSARANG
Fungsi tersarang (Nested Function) adalah fungsi yang
berada di dalam fungsi lainnya
TERIMA KASIH

Anda mungkin juga menyukai