FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur
Tujuan Pembelajaran Mahasiswa memahami konsep fungsi Mahasiswa mampu membuat fungsi sendiri Mahasiswa mampu memanggil fungsi dalam program Mahasiswa memahami tentang passing parameter saat pemanggilan fungsi 2
Topik Definisi Fungsi Kegunaan Fungsi Deklarasi fungsi Contoh program Latihan
Daftar Istilah Parameter Argument Return type Return value Prototype function
Overview Istilah lain dari fungsi (function) adalah : subroutine, prosedur, atau method. Definisi fungsi : – Baris perintah dari program yang ditulis terurut untuk menyelesaikan sebuah tugas spesifik. Program C terdiri atas kumpulan fungsi, yaitu : – fungsi utama : main – fungsi standar C – fungsi buatan programmer 5
Fungsi dalam C 1.Fungsi main fungsi yang harus selalu ada di setiap program C. 2.Fungsi standart C fungsi-fungsi yang telah disediakan Bahasa Pemrogramman C. Contoh : printf, scanf, strlen,dll. 3.Fungsi buatan programmer
Alasan Penggunaan Fungsi Untuk menghindari operasi/instruksi yang sama ditulis berulang kali. Agar program lebih ringkas dan lebih mudah dibaca karena beberapa instruksi menjadi fungsi-fungsi terpisah. 7
Struktur Fungsi Deklarasi fungsi { Tubuh fungsi }
Fungsi Buatan Sendiri Langkah apa yang harus dilakukan untuk membuat fungsi? 1.Deklarasi fungsi 2.Pemanggilan fungsi
Deklarasi Fungsi Struktur fungsi : return_type nama_fungsi(parameter) { kode-kode program return value }
Return Type dan Return Value Return Type adalah tipe pengembalian, berupa tipe data (int, float, char, dll). Bersifat optional. Jika fungsi tidak memiliki return type maka dituliskan void. Return value adalah nilai yang dikembalikan oleh fungsi. Ditulis didalam fungsi dengan diawali dengan keyword return. Return type harus menyesuaikan return value! 11
Contoh Penerapan Ketika return value berupa bilangan bulat, maka return type dapat diberikan int maupun long. int nama_fungsi(parameter) { kode-kode program return bilangan_bulat; }
Contoh Penerapan Ketika return value berupa bilangan pecahan, maka return type dapat diberikan float maupun double. float nama_fungsi(parameter) { kode-kode program return bilangan_pecahan; }
Contoh Penerapan Ketika return value berupa karakter, maka return type dapat diberikan char. char nama_fungsi(parameter) { kode-kode program return karakter; }
Contoh Penerapan Ketika fungsi tidak memiliki return value, maka diberikan return type void. void nama_fungsi(parameter) { kode-kode program }
Nama Fungsi Nama fungsi mengikuti aturan standart identifier. Sebaiknya disesuaikan dengan kegunaan dari fungsi. Contoh : cariMaks getBilangan bilPrima Dan lain sebagainya.
Parameter Cara penulisannya sama seperti deklarasi variabel, namun tidak disertai dengan titik koma. Sebuah fungsi dapat memiliki lebih dari satu parameter atau dapat juga tidak memiliki parameter sama sekali. Jika sebuah fungsi memiliki lebih dari 1 parameter maka tiap parameternya dipisahkan dengan tanda, (koma). Jika sebuah fungsi memiliki 0 parameter tanda kurung buka tutup tetap harus disertakan.
Contoh Penerapan Ketika fungsi tidak memiliki parameter void nama_fungsi() { kode-kode program }
Contoh Penerapan Ketika fungsi tidak memiliki parameter void nama_fungsi(int bil) { kode-kode program }
Contoh Penerapan Ketika fungsi memiliki lebih dari 1 parameter. void nama_fungsi(int bil1, float bil2) { kode-kode program }
Contoh Deklarasi Fungsi float hitungLuas(int p, int l){ return float(p/l); } char middle(){ printf(“anda mengakses method middle”); } void maksimum(double data){ printf(“%lf”,data); } 21
Latihan 1.Buatlah fungsi bernama “tambahBilangan”, memiliki 2 parameter : bilangan 1 dan bilangan 2. fungsi akan mengembalikan nilai berupa hasil penambahan 2 bilangan tersebut. 2.Buatlah fungsi bernama “getKarakter”, memiliki satu parameter yaitu huruf bertipe char. Tampilkan parameter tersebut pada tubuh/body fungsi.
Contoh Program Deklarasi 2 Fungsi
Why?!! Apa yang terjadi bila program sebelumnya di- compile??? Error. Kenapa? karena fungsi yang dibuat diletakkan dibawah fungsi main maka harus ada prototype fungsi.
Prototype fungsi Prototype fungsi adalah deklarasi fungsi tanpa tubuh/body, dan diakhiri dengan titik koma. Prototype diperlukan dalam hal : – Membuat program lebih terstruktur dan lebih mudah dibaca – Memudahkan kompiler C untuk memeriksa kebenaran sintaks pemanggilan fungsi yaitu tipe data kembalian dan parameter-parameternya.
Struktur Prototype Penjelasan : 1.Return type : tipe pengembalian, berupa tipe data (int, float, char, dll). Bersifat optional (dapat tidak ada). 2.Nama fungsi : penamaannya menggunakan aturan standart. Sebaiknya disesuaikan dengan kegunaan fungsi itu sendiri. 3.Parameter : penulisan parameter sama seperti deklarasi variabel. Bersifat optional (dapat tidak ada) return_type nama_fungsi(parameter); 123
Contoh Prototype int cariPrima(int bil_param); Penjelasan 1.Return type : int 2.Nama_fungsi : cariPrima 3.Parameter : int bil_param
Contoh Prototype Dari contoh prototype berikut, coba uraikan : return type, nama fungsi, dan parameter yang dimiliki. char getAlfabet(char huruf); int getBilangan(); getStatus(); float totalPembelian(float total, float diskon); int cariMaks(int bil1, int bil 2);
Latihan Tuliskan perintah pembuatan prototype mengikuti tabel berikut ini : NORETURN TYPE NAMA FUNGSIPARAMETER 1.DoubleNilai rata-rataFloat total nilai Int Jumlah bilangan 2.IntegerBilangan ganjil genapInt bilangan 3.CharCek karakter- 4.-Set flag- 5.IntGet bilangan-
Contoh Program Prototype
Contoh Program Fungsi+prototype Prototype Fungsi
Macam-macam fungsi 1.Fungsi tanpa parameter dan tanpa nilai kembalian 2.Fungsi dengan parameter dan tanpa nilai kembalian 3.Fungsi tanpa parameter dan ada nilai kembalian 4.Fungsi dengan parameter dan ada nilai kembalian 32
Tugas! Berikan 2 contoh deklarasi fungsi sekaligus prototype fungsi untuk masing-masing jenis fungsi. 1.Fungsi tanpa parameter dan tanpa nilai kembalian 2.Fungsi dengan parameter dan tanpa nilai kembalian 3.Fungsi tanpa parameter dan ada nilai kembalian 4.Fungsi dengan parameter dan ada nilai kembalian
Pemangilan Fungsi Fungsi hanya perlu dideklarasikan satu kali tetapi dapat dipanggil berulang kali sesuai kebutuhan. Agar fungsi yang telah dideklarasikan dapat diakses harus dilakukan pemanggilan fungsi. Bagaimana cara memanggil fungsi?? Dimana letak penulisan perintah pemanggilan fungsi??
Cara Pemanggilan Fungsi Sebuah fungsi dipanggil dengan menyebutkan nama dan argumen-argumennya secara lengkap dan tepat urutannya. Bentuk perintah pemanggilan : pemanggilan : nama_fungsi(argument); deklarasi : void nama_fungsi(parameter){ } *nilai yang dikirim melalui argument akan ditangkap oleh parameter. 35
Contoh program Maka untuk mengaksesnya : tambahBilangan(30, 10); atau tambahBilangan(5,6); Perintah berikut salah : tambahBilangan(30); atau tambahBilangan (5,5,6);
Letak Pemanggilan Fungsi Tempat pemanggilan fungsi : – Dipanggil dalam tubuh fungsi itu sendiri (disebut sebagai proses rekursif). – Dipanggil dalam tubuh fungsi lain. Jika sebuah fungsi dipanggil didalam fungsi itu sendiri (rekursif) maka harus ada kondisi berhenti agar tidak melakukan looping terus menerus. 37
Contoh Fungsi Rekursif