Skip to main content

Function

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.

Comments

Popular posts from this blog

Mengatasi Deadlock

Deadlock merupakan kodisi di mana beberapa proses meminta resource yang sedang digunakan oleh proses lain sedangkan proses yang sedang menggunakan resource yang diminta tersebut juga sedang menunggu proses lain yang sedang menggunakan resource yang juga diperlukan oleh proses itu. Setiap resource yang diminta hanya bisa diakses oleh satu proses dalam satu waktu. Misalnya program A ingin menggunakan resource 1 yang sedang digunakan oleh program B namun program B juga ingin menggunakan resource 2 yang sedang dipegang oleh program A. Program A dan B sama-sama menunggu untuk menggunakan resource yang diperlukan sehingga terjadi deadlock karena tidak ada yang bisa melakukan tugasnya. Berikut ini merupakan beberapa solusi yang digunakan untuk mengatasi deadlock yang terjadi pada suatu sistem. Ostrich Algorithm Disebut ostrich (burung unta) karena sebenarnya algoritma ini hanya mengabaikan kondisi deadlock yang terjadi. Burung unta jika ada badai maka akan memasukkan kepalanya ke dalam pasir/...

Sejarah Software Komputer

Software adalah perangkat yang dibuat untuk mengendalikan hardware komputer. Secara bahasa software dapat diartikan sebagai perangkat lunak. Software merupakan bagian yang wajib ada dalam suatu sistem komputer. Tanpa software, komputer bagaikan tubuh tanpa nyawa. Berikut ini adalah era-era software komputer dan penjelasannya. 1. Era Pioneer Pada era ini bentuk software komputer pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, Cara dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi sehingga dapat merepresentasikan angka 0 dan 1. Di era ini software komputer masih sangat mengikat dengan hardware komputer. 2. Era Stabil Pada Era ini software komputer yang dijalankan bukan lagi satu software untuk satu komputer seperti di era sebelumnya, tapi sudah banyak proses yang di lakukan secara bersamaan (multi tasking). Di era ini jugalah mulai di kenal sistem basis data, yang memisahkan antara program dan data yang d...

Array

Array merupakan suatu jenis variable yang memungkinkan kita untuk menyimpan lebih dari satu data berjenis sama (integer, float, char, dsb) dalam satu variable yang sama. Setiap nilai yang tersimpan di array bisa diakses dengan indeks. Jika dianalogikan dengan kompleks perumahan, variable array adalah kompleks perumahan, nilai-nilai yang tersimpan di array adalah rumah-rumahnya, dan indeks array adalah nomor setiap rumah. Setiap indeks di array dimulai dari angka 0, bukan 1. Berikut ini adalah contoh definisi array pada bahasa Java dan Python. Perlu diingat bahwa array hanya menyimpan tipe data yang sejenis,  misalnya float dan integer tidak bisa disimpan dalam sebuah variable array yang sama. Di bahasa Java, array bersifat statis. Artinya, setelah pertama kali dideklarasi, ukuran array tidak bisa ditambah ataupun dikurangi. Jika ingin melakukan perubahan pada ukuran array, satu-satunya cara adalah dengan mendeklarasi array baru dengan ukuran yang diinginkan. Berikut me...