Bahasa Pemrograman A M7. Function Pada Pascal
Subject Pendahuluan Fungsi Tanpa Parameter Parameter Dalam Fungsi Fungsi Pangkat Fungsi Memanggil Dirinya Sendiri Fungsi Memanggil Fungsi Yang Lain Acuan Forward Pada Fungsi Fungsi Tersarang Fungsi Standar
PENDAHULUAN
Pendahuluan FUNCTION identifier(daftar-paraemeter): type; Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkkan tipe hasil dari fungsi. Tipe tersebut ditulis pada akhir deklarasi fungsi yang didahului dengan titik koma, sebagai berikut: FUNCTION identifier(daftar-paraemeter): type;
Pendahuluan Contoh: Function Faktorial(Var Fak, Hasil : Integer) : Integer; Function Pangkat(X, Y : real) : real; Blok fungsi sama dengan blok prosedur yang diawali dengan kata cadangan Begin dan diakhiri dengan kata cadangan End dan titik koma.
Pendahuluan Contoh Program Hitung.
Pendahuluan Contoh Program Hitung.
Pendahuluan Perbedaan fungsi dengan prosedur adalah: 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:
Pendahuluan Hitung := A + B; nama fungsi yang berisi nilai yang akan dikirimkan
Pendahuluan Perbedaan fungsi dengan prosedur adalah: 2. Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya, sebagai berikut:
nama fungsi yang langsung digunakan untuk ditampilkan hasilnya Pendahuluan Writeln(X,’ + ‘, Y,’ = ‘, Hitung(X,Y)); nama fungsi yang langsung digunakan untuk ditampilkan hasilnya
Pendahuluan Hasil := Hitung(X, Y); Writeln(X,’ + ‘, Y, ‘ = ‘, Hasil; Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang lainnya, sebagai berikut: Hasil := Hitung(X, Y); Writeln(X,’ + ‘, Y, ‘ = ‘, Hasil;
Pendahuluan Sedang pada prosedur, nama prosedur, nama prosedur tersebut tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.
FUNGSI TANPA PARAMETER
FUNGSI TANPA PARAMETER Suatu Fungsi yang tanpa menggunakan parameter berarti nilai balik yang akan dihasilkannya merupakan nilai yang sudah pasti. Parameter digunakan untuk memberikan input pada fungsi dan fungsi akan memberikan hasil balik sesuai dengan parameter yang diberikannya.
FUNGSI TANPA PARAMETER Sedang pada fungsi yang tidak mempunyai parameter, maka hasil fungsi tersebut tidak dapat diatur dari modul yang menggunakannya, karena tidak ada parameter yang dikirimkan. Dengan demikian yang tanpa menggunakan parameter jarang dipergunakan.
FUNGSI TANPA PARAMETER Contoh:
FUNGSI TANPA PARAMETER Contoh:
FUNGSI TANPA PARAMETER Nilai balik yang akan diberikan oleh fungsi Deteksi selalu merupakan nilai Boolean True, karena tidak dapat diatur dari program utama. Biasanya fungsi seperti ini jarang dipergunakan, karena nilai tersebut dapat langsung ditentukan di modul yang menggunakannya, sebagai berikut.
FUNGSI TANPA PARAMETER Begin writeln(TRUE); End.
FUNGSI TANPA PARAMETER Contoh:
FUNGSI TANPA PARAMETER Contoh:
FUNGSI TANPA PARAMETER Penjelasan: Tipe hasil dari fungsi yang ditulis pada deklarasi fungsi harus merupakan tipe yang sederhana, tipe yang komplek tidak dapat langsung dituliskan, tetapi harus dideklarasikan terlebih dahulu di deklarasi Type.
FUNGSI TANPA PARAMETER Penulisan berikut ini adalah salah: Function Garis : String[6]; Dan harus ditulis: Type Huruf = String[6]; Function Garis : Huruf;
PARAMETER DALAM FUNGSI
Parameter dalam fungsi Sama dengan prosedur, parameter dalam fungsi dapat dikirimkan secara nilai (by value) atau secara acuan (by reference). Penulisan judul fungsi yang menggunakan parameter dengan pengiriman secara nilai adalah tampak sebagai berikut: Function Hitung(A, B : Integer) : integer;
Parameter dalam fungsi Contoh: Berikut ini akan dibuat suatu fungsi yang akan menghasilkan nilai terbesar dari 2 buah nilai real.
Parameter dalam fungsi Contoh:
Parameter dalam fungsi Contoh:
Parameter dalam fungsi Contoh:
Parameter dalam fungsi Contoh:
FUNGSI PANGKAT
FUNGSI PANGKAT Pascal tidak menyediakan fungsi untuk perpangkatan tinggi, yang ada hanyalah fungsi standar Sqr, yaitu pemangkatan kuadrat saja. Bila akan melakukan perpangkatan lebih dari pangkat 2, maka harus dibuat program tersendiri. Pada bagian ini akan diberikan beberapa fungsi untuk perpangkatan tinggi, yang sangat berguna di dalam program- program aplikasi.
FUNGSI PANGKAT Contoh:
FUNGSI PANGKAT Contoh:
FUNGSI PANGKAT Pada contoh fungsi perpangkatan ini, nilai pangkatnya harus dalam bentuk bilangan integer, karena proses perhitungan hasil perpangkatannya dilakukan dengan cara mengalikan sebanyak jumlah pangkatnya. Yang paling banyak dibutuhkan dalam suatu program aplikasi adalah perpangkatan dengan pangkatnya yang dapat berupa nilai pecahan, tidak harus integer.
FUNGSI PANGKAT Nilai pangkat suatu bilangan dapat dihitung dengan rumus eksponential, sebagai berikut: 𝑋 𝑛 = 𝑒 𝐿𝑛 𝑋 .𝑛
FUNGSI PANGKAT Rumus perpangkatan tersebut dapat diselesaikan dengan memanfaatkan fungsi-fungsi standar yang ada, yaitu fungsi standar Exp untuk menghitung nilai 𝑒 𝑋 dan fungsi standar Ln untuk menghitung nilai Ln X.
FUNGSI PANGKAT Contoh Program
FUNGSI PANGKAT Contoh Program
FUNGSI MEMANGGIL DIRINYA SENDIRI
FUNGSI MEMANGGIL DIRINYA SENDIRI Seperti halnya prosedur, fungsi juga dapat memanggil dirinya sendiri. Proses fungsi memanggil dirinya sendiri juga merupakan proses recursion.
FUNGSI MEMANGGIL DIRINYA SENDIRI Contoh:
FUNGSI MEMANGGIL DIRINYA SENDIRI Contoh:
FUNGSI MEMANGGIL FUNGSI YANG LAIN
FUNGSI MEMANGGIL FUNGSI YANG LAIN Suatu fungsi dapat juga memanggil fungsi yang lainnya. Fungsi yang dipanggil letaknya harus berada di atas fungsi yang memanggil.
FUNGSI MEMANGGIL FUNGSI YANG LAIN Contoh:
FUNGSI MEMANGGIL FUNGSI YANG LAIN Contoh:
ACUAN FORWARD PADA FUNGSI
ACUAN FORWARD PADA FUNGSI Sama halnya dengan prosedur, fungsi pun dapat dideklarasikan terpisah dengan bloknya. Deklarasi fungsi yang terpisah dengan blok fungsinya dipergunakan kata cadangan Forward dan blok fungsinya juga dideklarasikan ulang, tetapi tidak perlu menyebutkan parameternya.
ACUAN FORWARD PADA FUNGSI Contoh:
FUNGSI TERSARANG
FUNGSI TERSARANG Fungsi Tersarang (nested function) merupakan fungsi yang letaknya berada dalam fungsi yang lainnya.
FUNGSI TERSARANG Contoh:
FUNGSI TERSARANG Contoh:
FUNGSI STANDAR
FUNGSI STANDAR 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.