Fungsi - dinus.ac.id · Fungsi •Fungsi adalah pemetaan suatu domain ke range berdomain tertentu....
Transcript of Fungsi - dinus.ac.id · Fungsi •Fungsi adalah pemetaan suatu domain ke range berdomain tertentu....
Paradigma Pemrograman
Paradigma Pemrograman
Deklaratif / predikatif
Object Oriented
Fungsional
Prosedural / imperatif
2
Paradigma Fungsional
• Didasari oleh konsep pemetaaan dan fungsi pada matematika.
• Fungsi dapat berbentuk sebagai fungsi "primitif", atau komposisi dari fungsi-fungsi lain yang telah terdefinisi.
• Dasar pemecahan masalah: Transformasional
– Suatu rantai transformasi dari sebuah keadaan awal menuju ke suatu rantai keadaan akhir, yang mungkin melalui proses antara.
3
Fungsi
• Fungsi adalah pemetaan suatu domain ke range berdomain tertentu.
• Secara algoritmik, sebuah fungsi akan menerima suatu nilai yang diberikan lewat parameter formal bertype tertentu (jika ada) dan menghasilkan suatu nilai sesuai dengan domain yang didefinisikan dalam spesifikasi fungsi.
– Parameter formal : Nilai masukan yang diberi nama dan dijelaskan typenya
4
Contoh Fungsi Matematika
• Fungsi f(x) dengan satu parameter x didefinisikan sebagai: f(x) = x2 + 3x – 5
– jika x = 4 maka f(x) akan menghasilkan 23
– jika x = 1 maka f(x) akan menghasilkan -1
• f(x,y) = x2 + 3xy - 5y – 1 adalah fungsi dengan dua parameter x dan y
– jika diberi harga x = 0 dan y = 0 maka f(x,y) akan menghasilkan -1
– jika diberi harga x = 1 dan y=0 maka f(x,y) akan menghasilkan 0
5
Spesifikasi Fungsi
• Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan didefinisikan terlebih dahulu.
• Bentuk umum pendeklarasian fungsi :
function nama_fungsi(parameter_fungsi) -> tipe_fungsi;
• Sedangkan bentuk umum pendefinisian fungsi :
function nama_fungsi(parameter_fungsi) -> tipe_fungsi
{
statement
statement
.……...
->kembalian_fungsi
} 6
Notasi Definisi Fungsi
function NAMAFUNGSI (<list-parameter-input>) → <type hasil> { Spesifikasi fungsi: diberikan ... menghasilkan ... }
KAMUS LOKAL { Semua nama yang dipakai dalam algoritma/realisasi fungsi }
ALGORITMA { Deretan instruksi algoritmik : assignment, input, output, analisis kasus, pengulangan } { Pengiriman harga di akhir fungsi, harus sesuai dengan type hasil} → hasil
Contoh:
function Tambah (x:integer, y:integer) → integer {Diberikan x dan y integer, menghasilkan integer hasil tambah x dan y }
KAMUS LOKAL
ALGORITMA → ( x + y )
7
Pemanggilan Fungsi
Program POKOKPERSOALAN {Spesifikasi : Input, Proses, Output}
KAMUS { Semua nama yang dipakai dalam algoritma } function NAMAF (<list nama parameter formal/input>) → <type hasil>
ALGORITMA { Deretan instruksi pemberian nilai, input, output, analisis kasus, pengulangan yang memakai fungsi } { Harga yang dihasilkan fungsi juga dapat dipakai dalam ekspresi } nama ← NAMAFUNGSI(<list parameter aktual>) output ( NAMAFUNGSI(<list parameter aktual>) ) { Harga yang dihasilkan fungsi juga dapat dipakai dalam ekspresi }
8
Contoh Pemanggilan Fungsi
• Fungsi yang telah dideklarasi dan didefinisikan dapat dipanggil oleh program utama / fungsi lain
Program ContohTambah {Dibaca masukan x dan y dan menuliskan hasil penjumlahannya}
KAMUS x : integer { data } y : integer { data } jumlah : integer { Hasil penjumlahan x dan y} function Tambah(x,y:integer) → integer
ALGORITMA input (x,y) jumlah ← Tambah(x,y) output (jumlah)
9
Contoh dalam Program
10
#include <stdio.h> #include <stdlib.h> int Tambah(int a, int b); //deklarasi fungsi int a,b,c; main() { printf("masukkan a: ");scanf("%d",&a); printf("masukkan b: ");scanf("%d",&b); //pemanggilan fungsi c=Tambah(a,b); printf(“Hasil Penjumlahan= %d",c); } int Tambah(int a, int b) { //definisi fungsi return(a+b); }
#include <stdio.h> #include <stdlib.h> int Tambah(int a, int b); //deklarasi fungsi int a,b,c; main() { printf("masukkan a: ");scanf("%d",&a); printf("masukkan b: ");scanf("%d",&b); //pemanggilan fungsi c=Tambah(a,b); printf(“Hasil Penjumlahan= %d",c); } int Tambah(int a, int b) { //definisi fungsi return(a+b); }
Fungsi Terdefinisi
• Fungsi Pustaka / library function
• Fungsi yang sudah diberikan oleh sistem dan tinggal dipakai (dipanggil).
• Fungsi terdefinisi selalu diberikan daftar dan spesifikasinya (domain + range).
12
Fungsi Pustaka – Operasi String [1]
Fungsi Operasi String (tersimpan dalam header file “string.h”)
♦ strcpy()
• Berfungsi untuk menyalin suatu string asal ke variable string tujuan.
• Bentuk umum : strcpy(var_tujuan, string_asal);
♦ strlen()
• Berfungsi untuk memperoleh jumlah karakter dari suatu string.
• Bentuk umum : strlen(string);
13
♦ strcat() • Digunakan untuk menambahkan string sumber ke bagian akhir
dari string tujuan. • Bentuk umum : strcat(tujuan, sumber); ♦ strupr() • Digunakan untuk mengubah setiap huruf dari suatu string
menjadi huruf capital. • Bentuk umum : strupr(string); ♦ strlwr() • Digunakan untuk mengubah setiap huruf dari suatu string
menjadi huruf kecil semua. • Bentuk umum : strlwr(string);
Fungsi Pustaka – Operasi String [1]
15
Fungsi Operasi Karakter (tersimpan dalam header “ctype.h”)
♦ islower() • Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter
merupakan huruf kecil. • Bentuk umum : islower(char);
♦ isupper() • Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter
merupakan huruf kapital. • Bentuk umum : isupper(char);
Fungsi Pustaka – Operasi Karakter [1]
17
♦ isdigit() • Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter
merupakan sebuah digit. • Bentuk umum : isdigit(char); ♦ tolower() • Fungsi akan mengubah huruf capital menjadi huruf kecil. • Bentuk umum : tolower(char); ♦ toupper() • Fungsi akan mengubah huruf kecil menjadi huruf kapital. • Bentuk umum : toupper(char);
Fungsi Pustaka – Operasi Karakter [2]
18
Fungsi Operasi Matematik (tersimpan dalam header “math.h” dan “stdlib.h”)
♦ sqrt()
• Digunakan untuk menghitung akar dari sebuah bilangan.
• Bentuk umum : sqrt(bilangan);
♦ pow()
• Digunakan untuk menghitung pemangkatan suatu bilangan.
• Bentuk umum : pow(bilangan, pangkat);
Fungsi Pustaka – Operasi Matematik
20