ALGORITMA PEMROGRAMAN 2A
FUNCTION / 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
FUNCTION / FUNGSI (LNJT)
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 :
FUNCTION / FUNGSI (LNJT)
FUNCTION / FUNGSI (LNJT)
2. Header Function Dengan Parameter
Bentuk Umum :
Contoh :
FUNCTION / FUNGSI (LNJT)
2. Header Function Dengan Parameter (lnjt)
2.1 Parameter Nilai dalam function
FUNCTION / FUNGSI (LNJT)
2. Header Function Dengan Parameter (lnjt)
2.2 Function dengan parameter acuan
FUNCTION / FUNGSI (LNJT)
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 kita
FUNCTION / FUNGSI (LNJT)
Bentuk Umum :
Atau
FUNCTION / FUNGSI (LNJT)
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
PERBEDAAN PROCEDURE DAN FUNCTION (LNJT)
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 :
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);
PERBEDAAN PROCEDURE DAN FUNCTION (LNJT)
Pada dasarnya penggunaan parameter
formal dan parameter acuan sama
dengan pada prosedur.
Tapi ada satu hal yang perlu diingat
bahwa karena setiap nama fungsi akan
menyimpan data, maka jenis data yang
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 perintah2 yang sama yang akan
dipakai dalam suatu program, maka sebaiknya
perintah2 tsb dipisahkan dalam suatu modul
program dengan bantuan procedure,
sehingga jika ingin memakainya kita hanya
tinggal memanggil nama procedure tsb.
REKURSI PADA FUNCTION
Rekursi adalah dimana suatu function
memanggil dirinya sendiri. Proses dapat dilihat
pada contoh berikut. Dimana fungsi faktor
dipanggil oleh
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.
Int (x : real) : real ;
Untuk menghasilkan nilai integer dari x. hasil dari fungsi adalah tipe real dengan nilai yang berupa pembulatan ke
FUNGSI STANDAR (LNJT)
Franc (x : real ) : real ;
Untuk mendapatkan nilai pecahan dari argument x.
Argumen x dapat berbentuk real atau integer dan
hasilnya adalah real.
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
FUNGSI STANDAR (LNJT)
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
FUNGSI STANDAR (LNJT)
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 :
FUNGSI STANDAR (LNJT)
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.
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 ) ] ;