Fungsi

advertisement
Fungsi
Nisa’ul Hafidhoh
[email protected]
08156114760
Paradigma Pemrograman
Deklaratif /
predikatif
Prosedural /
imperatif
Paradigma
Pemrograman
Object
Oriented
Fungsional
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
#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)
{
return(a+b);
}
//definisi fungsi
10
Tampilan Program
11
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
Contoh Program
14
Fungsi Pustaka
– Operasi String [1]
♦ 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);
15
Contoh Program
16
Fungsi Pustaka
– Operasi Karakter [1]
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);
17
Fungsi Pustaka – Operasi Karakter [2]
♦ 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);
18
Contoh Program
19
Fungsi Pustaka
– Operasi Matematik
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);
20
Contoh Program
21
Download