Jika sebelumnya program yang kita buat adalah contoh contoh program yang sederhana, semakin lama maka kita akan membuat program yang lebih besar dan lebih kompleks dengan fitur lebih dari satu. Pembuatan program yang kompleks dan besar dapat dipecah menjadi sub program yang lebih kecil. Hal ini membuat program yang kita buat lebih mudah dimengerti dan lebih modular. Berikut ini contoh program sederhana untuk mencari luas segitiga.
Program di atas adalah contoh yang tidak modular atau tidak memiliki fungsi. Dalam hal ini, mungkin program tersebut masih mudah dibaca dan dimengerti. Namun misalnya jika kita mau mencari luas persegi, persegi panjang, trapesium, dan sebagainya, maka jika gaya penulisan di atas tetap dipakai maka program akan terlihat lebih memusingkan dan sulit dimengerti. Berikut ini contoh program yang menggunakan fungsi untuk mencari luas segitiga.
Secara logika, program di atas ekuivalen dengan contoh program yang pertama. Namun, dalam contoh di atas, kita menggunakan fungsi yang dapat kita pakai secara berulang-ulang. Bentuk fungsi di atas yaitu fungsi yang memiliki parameter dan memiliki nilai balik. Parameter adalah sesuatu yang digunakan untuk memberikan value kepada suatu fungsi. Dalam contoh di atas, fungsi akan melakukan perhitungan luas segitiga, namun fungsi tidak tahu berapa nilai alas dan tinggi segitiga yang mau dihitung. Solusinya adalah dengan memberikan nilai alas dan tinggi segitiga menggunakan parameter fungsi.
Supaya yang memanggil fungsi kita tahu berapa hasil dari perhitungan luas segitiga, maka kita perlu melakukan ‘return’. Jika parameter berfungsi untuk memberikan nilai dari pemanggil ke fungsi, maka return berfungsi untuk memberikan hasil dari fungsi yang dilakukan (dalam hal ini menghitung luas segitiga) kembali ke pemanggil fungsi tersebut. Hasil dari fungsi yang kita panggil harus kita masukkan ke dalam variable lalu terakhir kita bisa print hasil fungsi tersebut ke console.
Di Java, kita perlu untuk menulis tipe data nilai return dari fungsi yang kita buat. Dalam contoh ini tipe data return adalah integer (int dalam Java). Kalau di Python, kita tidak perlu mendefinisikan tipe data return. Python akan secara otomatis mendefinisikan tipe data return.
Jika fungsi yang kita buat tidak memerlukan nilai balik, maka kita cukup menulis void jika menggunakan Java. Berikut ini adalah contoh fungsi yang tidak memerlukan nilai balik.
Dalam contoh di atas, fungsi tidak memiliki nilai balik. Kita tidak perlu menggunakan variable penampung nilai hasil fungsi karena fungsi tersebut memang tidak memiliki nilai return yang bisa kita pakai, tidak seperti contoh sebelumnya. Fungsi yang tidak memiliki nilai balik juga bisa kita sebut method.
Selanjutnya ada yang namanya fungsi overloading. Maksudnya adalah fungsi dengan nama yang sama namun dengan parameter yang berbeda sehingga bisa menghasilkan hasil yang berbeda-beda tergantung dari parameter yang diberikan. Contoh fungsi overloading di Java.
Bisa dilihat pada contoh di atas bahwa fungsi printBanner memiliki beberapa variasi parameter. Ada yang 1 parameter, ada yang tanpa parameter, dan sebagainya. Untuk membuat fungsi overload di Java harus memiliki jumlah parameter yang berbeda atau memiliki tipe data yang berbeda. Dalam Python, karena bahasa ini tidak mengenal adanya tipe data, maka syarat fungsi overload di Python hanya dengan jumlah parameter yang berbeda. Jika jumlah parameter sama, maka hanya salah satu fungsi saja yang dipakai. Ini contohnya.
Selanjutnya ada fungsi rekursif. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Bukan berarti fungsi ini tidak pernah berhenti, karena harus ada kondisi di mana fungsi tidak boleh memanggil dirinya sendiri sehingga tidak menyebabkan error. Ini adalah contoh di Java dan Python untuk menghitung faktorial.
Jika tidak ada pengecekan nilai variable num == 1, maka fungsi tersebut tidak akan pernah berhenti dan menyebabkan error pada Java dan Python (dan bahasa pemrograman lainnya).
Itu adalah penjelasan dari fungsi dan method yang ada pada Bahasa pemrograman Java dan Python. Semoga bisa dimengerti. Sekian.
Program di atas adalah contoh yang tidak modular atau tidak memiliki fungsi. Dalam hal ini, mungkin program tersebut masih mudah dibaca dan dimengerti. Namun misalnya jika kita mau mencari luas persegi, persegi panjang, trapesium, dan sebagainya, maka jika gaya penulisan di atas tetap dipakai maka program akan terlihat lebih memusingkan dan sulit dimengerti. Berikut ini contoh program yang menggunakan fungsi untuk mencari luas segitiga.
Secara logika, program di atas ekuivalen dengan contoh program yang pertama. Namun, dalam contoh di atas, kita menggunakan fungsi yang dapat kita pakai secara berulang-ulang. Bentuk fungsi di atas yaitu fungsi yang memiliki parameter dan memiliki nilai balik. Parameter adalah sesuatu yang digunakan untuk memberikan value kepada suatu fungsi. Dalam contoh di atas, fungsi akan melakukan perhitungan luas segitiga, namun fungsi tidak tahu berapa nilai alas dan tinggi segitiga yang mau dihitung. Solusinya adalah dengan memberikan nilai alas dan tinggi segitiga menggunakan parameter fungsi.
Supaya yang memanggil fungsi kita tahu berapa hasil dari perhitungan luas segitiga, maka kita perlu melakukan ‘return’. Jika parameter berfungsi untuk memberikan nilai dari pemanggil ke fungsi, maka return berfungsi untuk memberikan hasil dari fungsi yang dilakukan (dalam hal ini menghitung luas segitiga) kembali ke pemanggil fungsi tersebut. Hasil dari fungsi yang kita panggil harus kita masukkan ke dalam variable lalu terakhir kita bisa print hasil fungsi tersebut ke console.
Di Java, kita perlu untuk menulis tipe data nilai return dari fungsi yang kita buat. Dalam contoh ini tipe data return adalah integer (int dalam Java). Kalau di Python, kita tidak perlu mendefinisikan tipe data return. Python akan secara otomatis mendefinisikan tipe data return.
Jika fungsi yang kita buat tidak memerlukan nilai balik, maka kita cukup menulis void jika menggunakan Java. Berikut ini adalah contoh fungsi yang tidak memerlukan nilai balik.
Dalam contoh di atas, fungsi tidak memiliki nilai balik. Kita tidak perlu menggunakan variable penampung nilai hasil fungsi karena fungsi tersebut memang tidak memiliki nilai return yang bisa kita pakai, tidak seperti contoh sebelumnya. Fungsi yang tidak memiliki nilai balik juga bisa kita sebut method.
Selanjutnya ada yang namanya fungsi overloading. Maksudnya adalah fungsi dengan nama yang sama namun dengan parameter yang berbeda sehingga bisa menghasilkan hasil yang berbeda-beda tergantung dari parameter yang diberikan. Contoh fungsi overloading di Java.
Bisa dilihat pada contoh di atas bahwa fungsi printBanner memiliki beberapa variasi parameter. Ada yang 1 parameter, ada yang tanpa parameter, dan sebagainya. Untuk membuat fungsi overload di Java harus memiliki jumlah parameter yang berbeda atau memiliki tipe data yang berbeda. Dalam Python, karena bahasa ini tidak mengenal adanya tipe data, maka syarat fungsi overload di Python hanya dengan jumlah parameter yang berbeda. Jika jumlah parameter sama, maka hanya salah satu fungsi saja yang dipakai. Ini contohnya.
Selanjutnya ada fungsi rekursif. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Bukan berarti fungsi ini tidak pernah berhenti, karena harus ada kondisi di mana fungsi tidak boleh memanggil dirinya sendiri sehingga tidak menyebabkan error. Ini adalah contoh di Java dan Python untuk menghitung faktorial.
Jika tidak ada pengecekan nilai variable num == 1, maka fungsi tersebut tidak akan pernah berhenti dan menyebabkan error pada Java dan Python (dan bahasa pemrograman lainnya).
Itu adalah penjelasan dari fungsi dan method yang ada pada Bahasa pemrograman Java dan Python. Semoga bisa dimengerti. Sekian.
Comments
Post a Comment