Method 😁
Urusan panjang ini, dalam object oriented programming materi ini perlu di ulas lebih jauh. Mari gaskan 🚀
Pada artikel yang lalu, kita telah berkenalan dengan dasarnya sebuah method. Secara singkat, method merupakan sebuah fungsi yang berada di dalam sebuah class.
Method sendiri dalam sebuah class dituliskan dengan format :
Pembuatan sebuah method bisa diawali dengan salah satu dari modifier :
public
private
protected
Sehingga menjadi :
Mudah kan!? 😎
Nah terkait dengan judul artikel kali ini "Method with Parameter", pembahasan kita pertama akan dimana si peletakan parameter ini ?
Parameter kita letakkan di dalam kurung () setelah nama method. Parameter ini harus diawali dengan tanda $. Contoh :
Begitulah cara membuat sebuah parameter di dalam sebuah method.
Setelah paham tentang konsep dasar penulisan method dan pemberian parameter, mari kita coba terapkan ke dalam sebuah class. Kita ambil contoh class Buku {}, seperti yang telah kita buat di artikel ini pada waktu lalu.
Baca artikel tersebut agar bisa lebih memahami terkait materi Pemrograman Berorientasi Objek di artikel ini, di artikel tersebut kita telah membahas pemberian nilai / value dengan memanggil properti langsung
Kita memiliki empat buah properti ya di dalam class tersebut.
Dari sini, kita akan membuat sebuah method atau fungsi untuk memberikan nilai pada salah satu properti ( ambil contoh $nama ).
Langsung saja kita buat method dengan nama setNama().
Berikan parameternya, yaitu $nama sehingga bentuk class kita menjadi :
Di dalam method setNama($nama) {} kita berikan perintah untuk memberikan nilai kepada properti var $nama dari $nama yang ada di dalam kurung method. Tambahkan baris kode :
What!? Kok samaaa 😗
Penjelasannya adalah $this->nama merupakan kode kita memanggil properti var $nama. Penggunakan $this gunanya untuk membedakan antara parameter yang ada di dalam kurung method dan properties milih class. Sedangkan $nama setelah sama dengan merupakan variabel yang ada di dalam kurung dari method.
Lebih singkat bisa dikatakan bahwa $this->nama adalah cara kita memanggil variabel global ( properti dari class ) dan variabel di kanan sama dengan adalah variabel lokal yang hanya bisa di akses dalam scoop method tersebut saja.
Dalam PBO / OOP jangan lupa tentang objek ya!
Buat objeknya, kita ambil perumpamaan objek $bukuSejarah :
Jadi, kode lengkap kita :
Method yang kita buat ( setNama ) merupakan cara untuk memberikan sebuah nilai ke dalam properti $nama. Jadi selanjutnya jangan langsung akses dari objek langsung ke properti
Sebelumnya, kita mengakses langsung properti $nama. Sekarang kita ganti dengan mengakses method setNama(). Tambahkan kode berikut di bawah objek kita :
Oiya, dalam method setNama kita tambahkan perintah echo sebelum $this->nama. Sehingga kode kita menjadi :
Jalankan ya, lihat di browser. Apa hasilnya ?
Wow! Error 👀
Solusinya adalah soal parameter, kita lupa bahwa dalam method setNama() ada satu parameter yaitu $nama. Maka dari itu, wajib pula dalam pemanggilannya kita memberikan nilai / value. Tidak cukup hanya dengan $bukuSejaran->setNama();.
Kode pengaksesan atau pemanggilan method harus diisi sebuah value :
Sekarang coba jalankan kembali ( refresh browser ) :
Yaay, sudah tidak error ✌😁Method ini juga dinamakan dengan method setter. Kita menggunakan sebuah method / fungsi untuk memberikan nilai pada properties class.
Apakah ada pertanyaan ?
"Bagaimana kalau kita ingin parameternya lebih dari satu !?!"
Dalam class Buku {}, terdapat lebih dari satu properti yaitu :
Parameter kita yang ada di dalam method masing-masing dipisahkan dengan tanda koma ( , ). Format penulisan parameter yang lebih dari satu :
Method kita selanjutnya menjadi :
Kemudian untuk isi dari method kita yaitu mengisikan properties milik class dengan parameter dari method kita :
Jangan lupa pula, dalam pemanggilan method dengan objek kita lakukan pula perubahan. Tadinya kode kita :
Ubah dengan penambahan value sesuai dengan jumlah parameter :
Cipp deh, cakep kode kita. Sekarang coba jalankan dan apa hasilnya 😎
Tanda titik merupakan sebuah operator untuk menggabungkan dua buah string dalam php. Tag-tag dalam HTML juga bisa berfungsi dalam php jika diletakkan di dalam apitan tanda petik dua "--kode html--"