1. Tujuan Pembalajaran
Mahasiswa mengerti perbedaan fungsi dengan prosedur. Dapat membuat fungsi
dan procedure sendir sesuai dengan kebutuhan program.
2. Pertemuan
Pertemuan 10 dan 11
3. Teori Penunjang.
Pengertian fungsi secara umum di C.
Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang
dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan
fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk
mengerjakan suatu tujuan tertentu. Dalam bahasa pemrograman lain fungsi dapat
disebut sebagai subrutin (basic,VB) atau procedure (pascal, Delphi).
• Fungsi Build In
Fungsi build ini adalah fungsi yang tersedia pada kakas pengembang aplikasi.
Misal Standard Library Function clrscr(), printf(), getch() yang terdapat pada
C. Fungsi-fungsi ini telah disediakan oleh C dalam file-file header atau
librarynya. Untuk menggunakan function ini harus dideklarasikan terlebih
dahulu library yang akan digunakan, yaitu dengan menggunakan preprosesor
direktif. Misalnya: #include <conio.h>.
Beberapa fungsi Build In pada C.
Fungsi Matematika
# include <math>
Fungsi Kegunaan Contoh
abs() Untuk menentukan harga absolut x = abs(y), x dan y
integet antara 0 s/d
32767
sqrt() Untuk menentukan akar pangkat dua Y = sqrt(x), x,y double
suatu bilangan dan x harus positip.
pow() Untuk menghitung xy z = pow(x,y) type x,y,z
double.
ceil() Membulatkan keatas y =ceil(x)
floor() Membulatkan kebawah y=floor(x)
fmod() Menghitung sisa hasil bagi dua bilangan z= fmod(x,y)
Fungsi Konversi
#include<stdlib>
Fungsi Kegunaan Contoh
atof() Konversi dari string ke floating point y = atof(x), x string y
float.
atoi() Konversi dari string ke integer y = atoi(x), x string dan
y integer.
atol() Konversi dari string ke long z = atoll(x)
itoa() Konversi dari integer ke string y =itoa(x)
ltoa() Konversi dari long ke string y=ltoa(x)
Fungsi Tanggal
Fungsi Kegunaan Contoh
ctime() Mengubah tanggal dan #include<time>
waktu ke bentuk dengan …………….
format dd mm yy { time_t t;
hh:mm:dt yyyy\n\0 time(&t);
printf("%s\n", ctime(&t));
}
…………...
difftime( Menghitung selisih dua { start = time(NULL)
) waktu. Waktu harus delay(2000);
dideklarasikan dengan type finish=time(NULL)
time() time_t start, printf("Waktu tempuh : %f
finish seconds\n",difftime(second,first));
}
getdate() Mengambil tanggal dari #include<dos>
system dan fungsi ……….
menggunakan struktur {
date. struct date d; getdate(&d);
printf("Tahun:%d\n", d.da_year);
printf("Hari : %d\n", d.da_day);
printf("bulan: %d\n", d.da_mon);
return 0;
}
gettime() Mengambil waktu dari #include <stdio.h>
system dan menyimpan #include <dos.h>
dalam structure time. int main(void)
{
struct time t;
gettime(&t);
printf(“waktu : %2d:%02d:%02d.
%02d\n",t.ti_hour, t.ti_min, t.ti_sec,
t.ti_hund)
return 0;
}
settime() Mengisi waktu sistem { struct time t;
gettime(&t);
printf("menit : %d\n", t.ti_min);
……………………..;
printf("detik : %d\n", t.ti_sec);
settime(&t);}
Fungsi String
Function ini memiliki nama tertentu yang unik dalam program, letaknya
terpisah dari program utama, dan bisa dijadikan satu ke dalam suatu library
buatan programmer itu sendiri yang kemudian juga di-includekan jika ingin
penggunakannya.
Deklarasi fungsi :
Suatu fungsi sebelum digunakan harus dideklarasikan terlebih dahulu. Bentuk
umum pendeklarsian fungsi :
Contoh 5.1 :
float luaslingkaran(float jari_jari);
float luassegitiga(float alas,float tinggi);
Deklarasi fungsi tidak diperlukan jika fungsi yang akan mengunakan fungsi
tersebut ditulis/diletakan dibawah fungsi.
Argument Fungsi :
Argument dalam sebuah fungsi bersifat opsional artinya argument ini boleh
ada dan boleh tidak. Argumen berfungsi sebagai parameter inputan bagi
fungsi dan harus memiliki tipe data tertentu. Jenis parameter dalam fungsi :
a. Parameter formal: parameter yang ditulis pada deklarasi fungsi.
b. Parameter aktual: parameter yang diinputkan dalam program pemanggil
fungsi tersebut. Dapat berupa variabel atau langsung berupa nilai tertentu
sesuai dengan tipe data yang dideklarasikan untuk masing-masing
parameter fungsi.
Pengiriman Parameter
Secara default pengiriman parameter di dalam C adalah by value.Pengubahan
nilai di dalam fungsi tidak bisa mengubah nilai di luar fungsi. Bentuk lain
pengiriman parameter adalah pengiriman secara acuan (by reference).
Contoh 5.2 :
1) float luassegitita(float alas,float tinggi)
2) {
3) float luas;
4) luas = alas*tinggi*0.5;
5) return luas;
6) }
fungsi luassegitiga mempunyai dua paramater ( alas dan tinggi). Parameter ini
kemudian digunakan oleh fungsi sebagai inputan untuk menghitung luas
segitiga yang ditunjukan pada baris 4. Hasil peruses kemudian dikirim
kembali ke fungsi pemanggil melalui baris 5. Contoh lengkap program diatas
dapat dilihat dari contoh berikut.
Contoh 5.3 :
1) #include <iostream.h>
2) float luassgt(float alas,float tinggi);
3) float main()
4) {
5) float alas,tinggi, luas;
6) cout<<“Alas”;cin>>alas
7) cout<<“Tinggi;cin>>tinggi;
8) luas = luassgt(alas,tinggi);
9) cout<<” Luas segitiga : “<<luas;
10) }
Deklarasi fungsi ada pada baris ke 2 dengan float alas dan float tinggi sebagai
parameter formal. Fungsi kemudian dipanggil oleh program utama ( fungsi
main ) dari baris ke 8 dengan mengirimkan parameter aktual yaitu nilai alas
dan tinggi. Parameter actual yang dikirim kemudian ditangkap oleh argument
alas dan tinggi pada fungsi luassgt(). Hasil proses fungsi dikirim kembali ke
fungsi pemangggil dan diterima oleh variable luas pada baris ke 8. Pada
contoh diatas, deklarasi fungsi dapat dihilangkan. Jika fungsi luassgt( ..,.. )
diletakan diatas fungsi main().
1) #include <iostream>
2) #include<conio>
3) void cetak();
4) float luas;
5) void main()
6) {
7) int alas,tinggi;
8) cout<<“Alas”;cin>>alas
9) cout<<“Tinggi;cin>>tinggi;
10) luas = alas*tinggi*0.5;
11) cout<<” Menuju ke fungsi cetak : “;
12) cetak();
13) cout<<” Kembali ke fungsi main() “;
14) }
15) void cetak()
16) {
17) Cout<<” Sekarang kita berada di fungsi cetak”;
18) cout<<“luas “<<luas;
19) getche();
20) }
• Procedure
Pengertian Prosedure secara Umum
Prosedure/procedure adalah suatu kumpulan instruksi/perintah/program yang
dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan
prosedure tersebut, memiliki nama tertentu yang unik, dan digunakan untuk
mengerjakan suatu tujuan tertentu. Prosedure sebagai satu blok perintah secara
umum sama denagan fungsi. Perbedaan procedure dengan fungsi adalah
procedure tidak mengirimkan hasil/nilai hasil eksekusi. Dalam aplikasinya
prosedure dan fungsi dapat saling dipertukarkan.
Contoh 5.5.
1) #include<iostream>
2) void tampil();
3) int pilih;
4) void main()
5) {
6) tampil();
7) switch(pilih);
8) {
9) case 1 :
10) cout<<” Pilih 1 “;
11) break;
12) ……………;
13) ……………;
14) }
10
y= £(x+2i)
i=1
DenMasHarso Mart
------------------------
Belanja : Rp. 999.999,-
Discount : Rp. 99.999,-
--------------------------(+)
Jumlah dibayar : Rp. 999.999,-
Operasi Aritmatika
1. Penjumlahan
2. Pengurangan
3. Perkalian
4. Pembagian
5. Selesai
Pilih [1/2/3/4/5] :
Fungsi lainnya adalah fungsi main() yang menampung inputan bilangan1
bilangan 2 yang nantinya akan diteruskan ke 4 fungsi lainnya yaitu :
kurang(),jumlah(),kali() dan fungsi bagi().