FUNGSI Teknik Elektro UIN Bandung Ikatlah algoritma dengan
FUNGSI Teknik Elektro UIN Bandung
Ikatlah algoritma dengan menuliskan codingnya. . ! Pis
Pemrograman Modular • Untuk mencapai suatu tujuan besar, maka tujuan tersebut harus dibagi-bagi menjadi tujuan yang kecil, hingga tujuan kecil itu merupakan tujuan yang dapat dicapai berdasarkan kondisi dan potensi yang dimiliki. (Muhammad ibn Musa al. Khwarizmi)
Tujuan Instruksional • Mahasiswa lebih memahami konsep fungsi • Mahasiswa lebih mampu membuat fungsi sendiri • Mahasiswa lebih mampu memanggil fungsi dalam program • Mahasiswa lebih memahami tentang passing parameter saat pemanggilan fungsi
Topik • • Konsep dasar fungsi Mendefinisikan fungsi Deklarasi Fungsi Prototype Fungsi Hasil Balik Fungsi Ruang Lingkup Variabel (Lokal, Global, Statik) Pengiriman Parameter (Secara Nilai, Secara Acuan)
Pemrograman Modular • Pernyataan Al-Khawarizmi dapat dijadikan analogi mengenai pemrograman modular. • Pemrograman modular adalah memprogram dengan membagi program menjadi beberapa sub program yang kemudian disebut procedure (prosedur) dan function (fungsi).
Dekomposisi program menjadi beberapa buah program
Why, pemrograman modular • Menghemat source code <->menghindari penulisan instruksi yang dilakukan berulang kali. • Program menjadi terstruktur. Program yang besar dapat dipecah menjadi beberapa program yang lebih kecil. • Kemudahan dalam menulis dan mendebug program. • Melokalisasi kesalahan
Struktur dasar fungsi • • type → tipe data dari return value. function_name → nama fungsi argument_list → variable input statement_list → kumpulan instruksi
How A Function Works • A C / C++ program does not execute the statements in a function until the function is called by another part of the program. • When C / C++ function is called, the program can send information to the function in the form of one or more what is called arguments although it is not a mandatory. • When the function finished its processing, program returns to the same location that called the function.
Overview • Fungsi didefinisikan sebagai sekumpulan instruksi terurut untuk melaksanakan sebuah tugas • Program C terdiri dari sekumpulan fungsi: – Fungsi utama (main) – Fungsi standard C (didefinisikan pada file header) – Fungsi buatan programer • Fungsi dapat dipanggil/digunakan oleh fungsi yang lain. • Atau dipanggil pada fungsi itu sendiri yang disebut dengan fungsi rekursif. 13
Sintax Fungsi • Komponen yang dibutuhkan untuk deklarasi fungsi : – definisi fungsi – tubuh fungsi • Sebelum dapat digunakan, fungsi harus didefinisikan. Definisi fungsi terdiri atas : nama fungsi, tipe kembalian, dan parameter/argumen. • Didalam tubuh fungsi dituliskan logika program. 14
Definisi fungsi Badan fungsi 15
• Tipe data merupakan tipe data nilai kembalian fungsi, dapat terdiri dari : – Angka : int, float, double – Karakter : char – Tidak mengembalikan apapun : void • Sebuah fungsi dapat memiliki nol, satu atau lebih argumen/parameter. • Argumen dituliskan di antara tanda kurung • Cara menuliskan : tipe_data nama_arg • Jika fungsi tidak memiliki argumen, tanda kurung tetap harus dituliskan. 16
Prototype Fungsi • Adalah deklarasi fungsi dengan menyebutkan argumen-argumen fungsi tsb. • Prototype digunakan oleh kompiler untuk memeriksa kebenaran pemanggilan fungsi yaitu tipe data kembalian dan parameternya.
Prototype Fungsi • Prototype Fungsi ditambahkan ketika fungsi dideklarasikan dibawah fungsi main. • Sintax prototype sama seperti deklarasi fungsi, perbedaannya prototype tidak memiliki tubuh (setelah parameter langsung diakhiri dengan titik koma). • Protoype fungsi ditulis diatas fungsi main dibawah preprocessor/header. • Sintax : tipe_kembalian nama_fungsi(list_parameter);
Pemanggilan fungsi • Argumen merupakan data yang dikirimkan dari program pemanggil ke fungsi. • Setiap fungsi akan mengembalikan nilai kepada program yang memanggilnya. • Sebuah fungsi dipanggil dengan menyebutkan nama dan argumennya secara lengkap dan tepat urutannya. 19
Contoh Fungsi 1 • Fungsi untuk mencari nilai terbesar Prototype fungsi pemanggila n Fungsi lengkap 20
Contoh Fungsi 2 • Fungsi untuk menghitung luas segitiga 21
Contoh Fungsi 3 • Fungsi untuk menghitung nilai faktorial 22
Variabel Fungsi • Terdapat dua jenis variabel fungsi: – Variabel lokal • Didefinisikan di dalam fungsi • Tidak dapat digunakan oleh fungsi yang lain – Variabel global • Didefinisikan di luar fungsi • Dapat digunakan oleh fungsi yang memanggilnya – Variabel statis • Deklarasi sama dengan variabel lokal • Nilai tidak diinisialisasi ulang selama program berjalan 23
Contoh Variabel Lokal 24
Contoh Variabel Global 25
Contoh Variabel Static 26
Pass by value Vs Pas by reference • Pass by value(nilai) : pengiriman parameter dengan nilai. Tidak mengubah isi dari variabel yang memiliki nilai tersebut. • Pass by reference(acuan) : pengiriman parameter dengan alamat memori. Jika nilai dari parameter tersebut diubah maka akan mengubah nilai dari variabel asal.
Pengiriman Parameter • Pass by Value • Apa output dari masing program di atas? 28
Pengiriman Parameter • Pass by Reference 29
Latihan 1. Nama : luas. Lingkaran Parameter : radius Tipe kembalian : float Tugas : menghitung luas lingkaran 2. Nama : tulis. Mundur Parameter : array of int, ukuran array Tipe kembalian : void Tugas : menuliskan seluruh elemen array secara terbalik 30
3. Nama : find. Max Parameter : 3 buah integer Tipe kembalian : integer Tugas : mencari nilai terbesar dari 3 buah bilangan bulat 31
4. Nama : tulis. Jam Parameter : 3 buah integer (j, m, d) Tipe kembalian : void Tugas : menuliskan jam dengan format j: m: d 32
5. Nama : is. Even Parameter : int Tipe kembalian : int Tugas : memeriksa apakah sebuah bilangan adalah bilangan genap. Jika ya, mengembalikan 1, jika tidak 0. 33
6. Nama : is. Positive Parameter : int Tipe kembalian : int Tugas : menentukan sebuah bilangan tmsk positif atau bukan. Jika ya, kembalikan 1, jika tidak kembalikan 0. 34
8. Nama fungsi : absolut Parameter : float Tipe kembalian : int Tugas : menuliskan nilai absolut dari sebuah nilai pecahan 35
9. Nama fungsi : is. Prima Parameter : int Tipe kembalian : int Tugas : menentukan sebuah bilangan bulat positif apakah prima atau bukan. Jika prima kembalikan 1, jika bukan kembalikan 0. 36
10. Buatlah fungsi untuk menghitung rata dari elemen-elemen sebuah array. Parameter : array of int, panjang array Kembalian : float 37
11. Buatlah fungsi untuk menghitung volume silinder. Rumus vol. =phi*r*r*t Parameter : radius (float), tinggi(float) Return : float 38
12. Buatlah fungsi yang akan menerima 4 buah integer. Fungsi akan membalik nilai keempat variabel tersebut. Misalnya a=1, b=2, c=3, d=4, hasil akhirnya a=4, b=3, c=2, d=1. Kembalian fungsi : void 39
Daftar Pustaka • Budi Hartanto, “Pembuatan Program C”, Penerbit Andi, 2004 • Jogiyanto H. , “Konsep Dasar Pemrograman Bahasa C”, Penerbit Andi, 2003
Tugas Mandiri II 1. Buatlah tulisan tentang mengapa algoritma penting dalam membangun sebuah program komputer. Serta Apa itu struktur data? (buat dengan kata-kata sendirimaksimal 2 paragraf—tulis tangan). 2. Buatlah program kalkulator dengan fungsi: nama : jumlah, bagi, kurang, kali. parameter : 2 buah integer tipe kembalian: integer tugas : menjumlahkan, membagi, mengurangi dan mengalikan dua bilangan yang diinput user. 3. Buatlah program menghitung nilai rata-rata dari n bilangan dengan fungsi hitung rata-rata bilangan dengan input n bilangan. (Gunakan perulangan)
- Slides: 41