Pertemuan ke 7 ALGORITMA PEMROGRAMAN 2 A FUNCTION

  • Slides: 22
Download presentation
Pertemuan ke 7 ALGORITMA PEMROGRAMAN 2 A

Pertemuan ke 7 ALGORITMA PEMROGRAMAN 2 A

FUNCTION / FUNGSI � Pengertian Funtion : Blok pada function hampir sama dengan blok

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 program yang menghasilkan suatu kuantitas. Hal ini dapat dilihat dari bentuk header-nya yang menyebutkan jenis data dari kuantitas yang dihasilkan. Secara umum bentuk header suatu function adalah :

FUNCTION / FUNGSI (LNJT) 1. Header Function Tanpa Parameter Suatu function tanpa parameter berarti

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 : Struktur Blok Program :

FUNCTION / FUNGSI (LNJT) Contoh Program :

FUNCTION / FUNGSI (LNJT) Contoh Program :

FUNCTION / FUNGSI (LNJT) 2. Header Function Dengan Parameter Bentuk Umum : Contoh :

FUNCTION / FUNGSI (LNJT) 2. Header Function Dengan Parameter Bentuk Umum : Contoh : Struktur Blok Program :

FUNCTION / FUNGSI (LNJT) 2. Header Function Dengan Parameter (lnjt) 2. 1 Parameter Nilai

FUNCTION / FUNGSI (LNJT) 2. Header Function Dengan Parameter (lnjt) 2. 1 Parameter Nilai dalam function Parameter dalam function dapat dikirimkan secara nilai atau secara acuan.

FUNCTION / FUNGSI (LNJT) 2. Header Function Dengan Parameter (lnjt) 2. 2 Function dengan

FUNCTION / FUNGSI (LNJT) 2. Header Function Dengan Parameter (lnjt) 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.

FUNCTION / FUNGSI (LNJT) � Fungsi -> diawali dengan kata Function. Fungsi ini merupakan

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 kenal, hanya saja bagian judul (header) ditulis FUNCTION

FUNCTION / FUNGSI (LNJT) � Bentuk Atau Contoh : Umum :

FUNCTION / FUNGSI (LNJT) � Bentuk Atau Contoh : Umum :

FUNCTION / FUNGSI (LNJT)

FUNCTION / FUNGSI (LNJT)

FUNCTION / FUNGSI (LNJT) Contoh :

FUNCTION / FUNGSI (LNJT) Contoh :

PERBEDAAN PROCEDURE DAN FUNCTION 1. Jika membuat suatu procedure maka harus dideklarasikan dengan reserved

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.

PERBEDAAN PROCEDURE DAN FUNCTION (LNJT) 3. Pada fungsi, nilai yang dikirimkan balik terdapat pada

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); 5. Pd prosedur , nama prosedur tsb tdk dpt digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.

PERBEDAAN PROCEDURE DAN FUNCTION (LNJT) Pada dasarnya penggunaan parameter formal dan parameter acuan sama

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 akan dihasilkan jangan sampai lupa diikut sertakan pada setiap fungsi yang dibuat.

PERSAMAAN PROCEDURE DAN FUNCTION 1. Memecah sebuah program besar menjadi beberapa bagian / modul

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 2 yang sama yang akan dipakai dalam suatu program, maka sebaiknya perintah 2 tsb dipisahkan dalam suatu modul program dengan bantuan procedure, sehingga jika ingin memakainya kita hanya tinggal memanggil nama procedure tsb. 3. Mempermudah proses dokumentasi.

REKURSI PADA FUNCTION Rekursi adalah dimana suatu function memanggil dirinya sendiri. Proses dapat dilihat

REKURSI PADA FUNCTION Rekursi adalah dimana suatu function memanggil dirinya sendiri. Proses dapat dilihat pada contoh berikut. Dimana fungsi faktor dipanggil oleh dirinya sendiri.

FUNGSI STANDAR A. Fungsi Standar Aritmatika Abs (X); Memutlakkan suatu nilai yang ditunjukkan oleh

FUNGSI STANDAR A. Fungsi Standar Aritmatika Abs (X); Memutlakkan suatu nilai yang ditunjukkan oleh argument x. Dapat berupa tipe real atau integer. v Exp (x : real ) : real ; Untuk menghitung nilai pangkat dari bilangan e. dapat berupa real atau integer dan hasil dari fungsinya adalah real. v Ln (x : real ) : real ; Untuk menghitung nilai logaritma alam dari nilai x. tipe datanya real atau integer dan hasil fungsinya adalah real. v 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. v

FUNGSI STANDAR (LNJT) Franc (x : real ) : real ; Untuk mendapatkan nilai

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. v Sqr (x) ; Untuk menghitung nilai pangkat kuadrat dari argument x. v Sqrt (x : real ) : real ; Untuk menghitung nilai akar dari argument x. dapat real dan integer dan hasil dari fungsinya adalah real. v Pi Akan menghasilkan nilai PI sebesar 3, 14. v

FUNGSI STANDAR (LNJT) B. Fungsi Standar Transfer Digunakan untuk merubah suatu nilai ke bentuk

FUNGSI STANDAR (LNJT) B. Fungsi Standar Transfer Digunakan untuk merubah suatu nilai ke bentuk nilai yang lain. v Chr (x : byte) : char ; Untuk merubah nilai dari byte x ke bentuk karakter yang sesuai dengan kode ASCII. v Ord (x) : longint ; Untuk merubah nilai x ke bentuk nilai longint yang sesuai dengan kode ASCII. Fungsi ini kebalikan dari fungsi standar Chr.

FUNGSI STANDAR (LNJT) Round (x : real) : longint ; Untuk membulatkan nilai dari

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 v 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 v

FUNGSI STANDAR (LNJT) C. Fungsi Standar Lainnya v Hi (x) : byte ; Untuk

FUNGSI STANDAR (LNJT) C. Fungsi Standar Lainnya v 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 v 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. v Swap (x) ; Untuk membalik bit-bit di low order byte menjadi high order byte dan sebaliknya dari ungkapan x dapat berupa tipe integer atau word. v 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

SEKIAN DAN TERIMA KASIH

SEKIAN DAN TERIMA KASIH