MAKALAH ALGORITMA
“FUNCTION”
Dosen Pengampu : Wahyu Setianto.M. Kom
Disusun Oleh :
1.
Galang Setianto (
14.240.0213 )
STMIK
WIDYA PRATAMA
BAB I
PENDAHULUAN
Dalam bahasa
pemograman umum, biasanya dikenal istilah fungsi (function), tetapi dalam bahasa pemograman pascal dikenal dengan
istilah prosedur. Namun, pada dasarnya antara Prosedur dan Function merupakan elemen yang berbeda. Prosedur sebenarnya
merupakan salah satu bentuk khusus dari suatu fungsi.
Perbedaan fungsi dengan prosedur adalah :
·
Pada
fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya ( kalau pada
prosedur pada parameter yang dikirimkan secara acuan).
·
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.
·
Pada
prosedur, nama prosedur tidak dapat digunakan lagsung, yang dapat langsung
digunakan adalah parameternya yang mengandung nilai balik.
Dalam prosedur
dan fungsi pertukaran nilai dapat dilewatkan melalui parameternya, sedangkan
perbedaan yang signifikan antara prosedur dan fungsi yaitu pada suatu prosedur,
nilai hanya bertukar melalui parameter saja sedangkan pada fungsi, nilai dapat
bertukar selain melalui nama fungsi juga dapat melalui parameternya.
.
BAB II
PEMBAHASA
Fungsi adalah kumpulan program kecil
yang dikumpulkan untuk mempermudah pekerjaan pembuatan program karena dapat
dipakai berkali – kali tanpa harus menuliskan ulang kodenya lagi. Fungsi
digunakan untuk memecah program sehingga mudah dibaca, dimengerti dan diperiksa
ulang.
Sama halnya dengan Procedure, function diakses dengan memanggil namanya. Fungsi juga dapat
mengandung daftar parameter formal. Parameter pada fungsi yang selalu digunakan
hanya parameter masukkan. Parameter Masukkan pada fungsi berarti parameter
tersebut merupakan masukkan yang digunakan oleh fungsi tersebut untuk
menghasilkan nilai.
Bentuk Umumnya :
·
Function < Nama Function >: < Tipe data >
;
·
Function < Nama procedure > ( < Daftar
parameter > ) : < Tipe data >;
Fungsi diakses dengan cara memanggil
namanya dari program utama, diikuti dengan daftar parameter actual. Karena
fungsi menghasilkan nilai, maka nilai tersebut dapat diperlakukan dengan dua
cara, yaitu :
1. Nilai yang dikembalikan oleh fungsi ditampung di
dalam sebuah peubah yang bertipe sama dengan fungsi.
2. Nilai yang dikembalikan oleh fungsi dapat langsung
dimanipulasi.
Fungsi juga merupakan bagian program
yang terpisah mirip dengan prosedur, tetapi ada beberapa perbedaannya. Fungsi
dapat berupa fungsi standar (sudah tersedia dalam Pascal) atau fungsi dibuat
sendiri. Bila pemakai membuat sendiri, maka harus dideklarasikan terlebih
dahulu.
2.1 Fungsi Tanpa Parameter
Fungsi yang tanpa parameter berarti nilai balik yang akan
dihasilkan merupakan nilai yang sudah pasti. Karena tidak menggunakan
parameter, maka hasil fungsi tersebut tidak dapat diatur dari modul yang
menggunakannya, karena tidak ada parameter yang dikirimkan. Fungsi tanpa
parameter jarang dipergunakan.
Contoh
program :
Type
Huruf = string [6] ;
Function Garis : Huruf ;
Begin
Garis
: = ‘======’ ;
End
;
Begin
Writeln (Garis) ; Writeln (‘Pascal’) ; Writeln (Garis) ;
Writeln (Garis) ; Writeln (‘Pascal’) ; Writeln (Garis) ;
End.
Output program :
Output program :
======
Pascal
======
Keterangan program :
Pascal
======
Keterangan program :
Fungsi
“Garis” hanya menghasilkan nilai yang sudah pasti yaitu : “======”.
2.2 Parameter Dalam Fungsi
Parameter dalam fungsi dapat
dikirimkan secara nilai atau secara acuan.
Contoh penulisan parameter dengan pengiriman secara nilai :
Contoh penulisan parameter dengan pengiriman secara nilai :
Function Hitung (A, B : integer ) : integer
;
Contoh
program :
program ku;
uses wincrt;
Function Terbesar(X, Y : real ) :
real ;
Begin
If X > Y Then
Terbesar := X
Else
Terbesar := Y ;
End ;
Var
Nilai1 , Nilai2 : real ;
Begin
Write ('Nilai pertama =' ) ; readln
(Nilai1) ;
Write ('Nilai kedua = ' ) ; readln
(Nilai2) ;
Writeln ('Nilai terbesar adalah =',
Terbesar (Nilai1, Nilai2) : 9 : 0 ) ;
End.Output program :
Nilai pertama = 12
Nilai kedua = 55
Nilai terbesar adalah = 55
secara
acuan adalah dengan menambahkan kata cadangan var.
Contoh
penulisan :
Function Hitung ( Var A, B : integer ) :
integer ;
Pengiriman parameter secara acuan
akan mengakibatkan perubahan nilai parameter di fungsi juga merubah nilai
parameter di modul yang mengirimkannya. Fungsi yang menggunakan pengiriman
parameter secara acuan ini mirip dengan prosedur, yaitu parameter yang
dikirmkan secara acuan tersebut dapat di manfaatkan sebagai hasil balik.
2.3 Fungsi Pangkat
Pascal tidak menyediakan fungsi
untuk perpangkatan tinggi, yang ada hanya fungsi standar Sqr, yaitu pemngkatan
kuadrat saja. Bila akan melakukan perpangkatan lebih dari pangkat dua, maka
harus dibuat program tersendiri.
2.4 Fungsi Memanggil Dirinya Sendiri
Proses fungsi memanggil dirinya
sendiri juga merupakan proses recursion.
Contoh
program :
Program Mine;
Uses wincrt;
Function Faktorial (Nilai : integer
) : real ;
Begin
If Nilai = 0 Then
Faktorial : = 1
Else
Faktorial : = Nilai * Faktorial
(Nilai – 1 ) ;
End ;
Var
N : integer ;
Begin
Write (‘Berapa factorial ?’) ;
Readln (N) ;
Writeln (N, ‘faktorial =’,
Faktorial(N) : 9 : 0 ) ;
End.
Output program :
Output program :
Berapa factorial ? 5
5 faktorial = bbbbbb120
ket : b = blank
2.5 Fungsi Memanggil Fungsi Yang Lain
Fungsi yang di panggil letaknya
harus berada di atas fungsi yang memanggilnya.
Contoh program :
Contoh program :
program
ku;
uses
wincrt;
function
Fungsi2 ( Y : integer ) : integer ;
Begin
Fungsi2
:= Y * 2 ;
End
;
function
Fungsi1(X : integer) : integer;
Begin
Fungsi1
:= Fungsi2 (X) + 5 ;
End
;
Begin
Writeln
(Fungsi1 (3)) ;
End.
2.8
Fungsi Standar
1.8.1 Fungsi Standar Aritmatika
Ada Abs, ArcTan, Cos, Exp, Franc,
Int, Ln, Pi, Sin, Sqr dan Sqrt
Penjelasan :
Penjelasan :
·
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 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.
·
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.
1.8.2 Fungsi Standar Transfer
Digunakan untuk merubah suatu nilai
ke bentuk nilai yang lain. Yang tersedia adalah fungsi standar Chr, Ord, Round
dan trunc.
Penjelasan :
·
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.
·
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.
·
Trunc
(x : real) : longint ;
Untuk
membulatkan nilai dari real x ke nilai longint terkecil, atau dengan kata lain
membulatkan ke bawah.
1.8.3 Fungsi Standar Lainnya
Terdiri dari : Hi, Lo, Random,
SizeOf, Swap, UpCase, ParamCount dan ParamStr.
Penjelasan :
Penjelasan :
·
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 ) ] ;
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.
·
Size Of (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 ;
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 dikirmkan tersebut.
BAB III
PENUTUP
Fungsi adalah kumpulan program kecil
yang dikumpulkan untuk mempermudah pekerjaan pembuatan program karena dapat
dipakai berkali – kali tanpa harus menuliskan ulang kodenya lagi. Fungsi
digunakan untuk memecah program sehingga mudah dibaca, dimengerti dan diperiksa
ulang.
Suatu fungsi
digunakan dengan tujuan khusus, yaitu untuk mengerjakan suatu tugas tertentu,
dimana tugas-tugas tersebut dapat berupa tugas input (menyimpan hasil ke dalam
suatu array atau file) dan/atau output (menampilkan hasil di layar monitor)
ataupun melakukan penyeleksian dan perhitungan.
Suatu Fungsi
dapat memberikan suatu hasil balik ke program yang memanggilnya atau tidak
meberikan hasil balik sama sekali. Hasil balik ini biasanya berupa suatu nilai
yang dibutuhkan oleh bagian program yang memanggilnya. Pada function nilai dapat bertukar selain melalui nama fungsi juga dapat melalui
parameternya.
.
0 Comments