Makalah Function Algoritma Pemrograman

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) ;
End.
Output 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 :
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 :
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 :
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 :
·      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 :
·         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.
.




Post a Comment

0 Comments