Transcript for:
Pemahaman Mengenai Static Keyword di PHP

Halo teman-teman semua, apa kabar? Balik lagi bersama saya Sandika Gali di channel Web Programming Unpas dan kali ini kita masih akan melanjutkan seri kita mengenai objek orientated dasar pada PHP dan kali ini kita masuk ke video 11 kita akan membahas mengenai static keyword ya apa itu static keyword, bagaimana cara penggunaannya dan digunakan untuk apa saja kita akan bahas di video ini tapi sebelumnya kita refresh dulu sedikit ya teman-teman Kita lihat dulu mengenai kasus berikut ini ya Nah mungkin disini teman-teman bisa lihat Saya punya sebuah kelas Yang saya instansiasi menggunakan objek Ini gak aneh ya, ini kita review dulu Mengenai materi kita sebelumnya Jadi kita bisa lihat bahwa yang atas itu adalah kelas Kelas mobil Lalu kita instansiasi menjadi sebuah objek yang namanya Avanza Ya atau misalkan kita punya kasus yang lain Sekarang saya punya kelas namanya mahasiswa Beserta properti dan metode di dalamnya Kita juga sudah punya constructor. Yang lalu kita instansiasi ke dalam sebuah objek.

Ini nggak aneh ya. Ini ada kelas dan ada objek. Oke. Jadi sekarang kita sama-sama tahu bahwa kelas itu merupakan template dari objek. Jadi ketika kita membuat sebuah objek atau istilahnya menginstansiasi, nah disitulah kita bisa menggunakan properti dan metode yang ada di dalam kelas.

Habis ini paham ya? Nah. Tapi sebetulnya kita bisa mengakses properti dan metode dalam konteks kelas.

Nah ini maksudnya adalah kita bisa mengakses properti dan metode tanpa melakukan instansiasi dari kelas tersebut. Jadi nggak usah diinstansiasi, kita langsung akses properti dan metodenya. Kita bisa lakukan itu menggunakan static keyword. Jadi kita bisa bikin static property dan static method. Buat apa?

Supaya kita bisa akses pada konteks kelas Kita lihat contohnya langsung ya Jadi misalnya ini teman-teman folder source code kita ya Coba kita bikin file baru Kita kasih nama static ya Static.php Begini ya teman-teman Sekarang kita bikin misalnya sebuah kelas Misalkan kita kasih nama aja contoh static Jadi saya punya kelas contoh static Yang di dalamnya saya akan bikin satu buah properti static Dan satu buah method static Caranya kalian cukup Tuliskan visibility nya dulu ya Misalkan public Lalu setelah itu kita tulis keyword nya static Jadi ada static nya sekarang Misalkan saya punya variable namanya angka Atau property namanya angka ya Jadi kita bikin property Tapi sekarang property nya punya keyword static Dan selanjutnya Saya punya method Yang punya keyword static juga Misalkan halo lah gitu ya Ini simplenya dia hanya Oops sorry Ini harusnya public static function Karena dia method Yang dia hanya mengembalikan nilai string hello Udah simple aja Jadi kelasnya sederhana Saya cuma punya satu property static dan satu method static Nah sekarang Kalau saya mau mencetak angka 1 Itu kan biasanya kita instansiasi dulu ya Objeknya begini Bener gak? Nah tapi karena dia ada keyword staticnya Ini kita bisa langsung akses tanpa harus melakukan instansiasi. Caranya kalian cukup panggil aja kelasnya. Begini. Tinggal kalau kita mau akses property, kita tambahkan tanda titik 2 dua kali.

Begini. Ini caranya untuk mengakses property atau method yang punya keyword static. Jadi saya cukup tulis dollar angka.

Ini dollarnya harus ditulis karena dia variable. Oke, sekarang untuk mencetaknya kita kasih echo di depannya Cobanya kita save dulu, kita lihat hasilnya Kita refresh dulu, ini static ya, kita klik Tuh ada angka 1 Gitu caranya ya, jadi kita nggak lagi pakai tanda panah Tapi kita pakai titik 2, titik 2 Dan selanjutnya kalau mau cetak metode halo gimana? Ya cukup echo lagi, panggil kelasnya Titik 2, titik 2, halo Ya kasih kurung buka, kurung tutup karena dia adalah metode Coba save, kita jalankan. Tuh, ada ya.

Jadi ini cara kita mengakses properti dan metode yang statis. Paham ya, teman-teman? Nah, sekarang ada lagi nih. Ini kita kasih HR misalnya. Gimana kalau misalnya di dalam metode halo ini, saya mau mengambil properti angka.

Ya, misalkan nanti saya tulis halo 1x gitu ya, halo 2x begitu. Ini kan saya bisa gabungkan aja pakai string di sini ya, dengan properti angka. Nah tapi lihat teman-teman perhatikan Kalau kita pakai objek biasa yang tidak ada keyword staticnya Ini kan kita tulisnya begini ya This angka Gitu kan Nah tapi This ini akan berlaku untuk objek yang sudah kita instansiasi Nah, karena kita tidak melakukan instansiasi, ini tidak bisa kita pakai this. Kita ganti dengan keywordnya self.2.2.

Untuk mengambil properti angka ini. Jangan lupa tambahkan juga tanda dolar. Ini tinggal kita gabung misalkan dengan kali.

Jadi, halo kasih spasi. Paham ya? Jadi, kita tidak punya this sekarang.

Kalau kita echo lagi, contoh static. hello Oke sekarang kita lihat Tadinya ada hello Kalau kita refresh Terus ada error Oh ini ada komanya ya Harusnya titik begini Save lagi Kita refresh Nah tuh teman-teman lihatnya sekarang jadi Kita jalankan halonya 2 kali Nah kalau kita tambahkan plus-plus disini Maka nanti nambah ya halonya Halo 1 kali, halo 2 kali Nah begitu teman-teman ya Jadi ini cara kita menggunakan Keyword dan metode yang static Mudah-mudahan teman-teman paham Nah sekarang pertanyaannya adalah Untuk apa sih static keyword ini ya Kapan kita pakenya Nah ini kita lihat Static keyword ini Tadi ya kita udah lihat bahwa member-membernya Member itu property dan metode ya Itu terikatnya dengan kelas Bukan dengan objek Jadi kalau kalian mau mengakses property dan metode Langsung dalam konteks kelas Pakai static Lalu Nilai static akan selalu tetap meskipun objek diinstansiasi berulang kali. Nah ini yang menarik nih.

Coba kita lihat ya. Nah ini kalau teman-teman kembali ke sini. Ini kan sebenarnya kelas contoh static ini kita bisa juga bikin tanpa keyword static. Kita bikin pakai konsep yang biasa kita lakukan. Coba ini saya komentari dulu ya.

Saya turunin. Coba kita bikin kelas contoh aja sekarang ya. Nggak ada staticnya.

Ini kita punya public. Angka sama dengan 1 Lalu ada public function hello Yang isinya return hello Atau kalau kita gabungkan ya Dengan sekarang gini This angka Oke kan sekarang kita akan instansiasi Kali gini Sudah ya ini menggunakan konsep OOP biasa Sekarang Kalau kita mau mencetak metode hello ini Caranya gimana? kita harus instansiasi dulu kan jadi kita punya variable buat nampung objeknya lalu kita new contoh oke baru kita panggil halonya obj halo gini oke kita kasih echo atau coba kita tambahin br disini ya coba kita save terus jalanin terifresh nah ini halo satu kali bener ya enggak ada masalah Oke, sekarang kalau ini kita tambahin plus-plus Lalu kita panggil metode halo ini berulang-ulang Begini Kita refresh Nah ini kan 1, 2, 3 ya Nggak ada masalah Sekarang kalau misalnya saya punya objek baru Misalnya yang ini namanya obj2 Terus kita lakukan hal yang sama Eho obj2 halo Kita lakukan 3 kali lagi Terus di tengah ini kita kasih HR Coba sebelum kita jalankan Teman-teman lihat dulu Kira-kira tampilnya apa Kalau yang pertama ini jelas Halo 1x, halo 2x, halo 3x Sudah ya Lalu kita insensiasi objek baru Berarti kan angkanya di set lagi Jadi 1 lagi kan Jadi harusnya ini juga sama Halo 1x, halo 2x, halo 3x Coba save, refresh Gitu ya, ini gak ada masalah ya, OOP biasa nih Nah sekarang, gimana kalau kita ganti nih Angkanya jadi static Oke, tapi si function halonya kita biarkan aja biasa Jangan dibikin static Angkanya aja, jadi public static angka Sehingga ini bukan this lagi Tapi apa?

Self.2.2 dollar angka Nah ini teman-teman lihat ya Kita hanya mengganti angkanya jadi static Tapi bawahnya kita lakukan hal yang sama Kita lihat hasilnya Save dulu kita refresh Tuh lihat Jadi ternyata nilai si angkanya tidak di reset lagi jadi 1 Nilainya akan tetap Meskipun kita instansiasi objek baru Nah begitu kalau static ya Jadi ini nilai static akan selalu tetap meskipun objeknya kita instansiasi berulang kali. Yang selanjutnya, dengan menggunakan static itu membuat kode kita seolah-olah menjadi prosedural. Karena kita bisa langsung memanggil properti dan metode lewat kelasnya tanpa instansiasi. Nah ini nantinya kalian gunakan untuk membuat fungsi bantuan atau disebut helper. Karena nggak usah melakukan instansiasi, langsung aja panggil properti atau metodenya.

Dan static ini juga biasa digunakan di kelas-kelas utility kalau kalian nanti sudah mulai belajar framework, seperti Codeigniter, Laravel. Di dalam framework itu juga digunakan keyword static ini. Begitu, teman-teman. Oke, jadi itu saja mungkin untuk video kali ini.

Mudah-mudahan teman-teman paham mengenai penjelasannya. Terima kasih sudah menonton videonya. Kita akan ketemu lagi di video berikutnya.

Saya Sandika Ghali pamit. Dan satu lagi, jangan lupa titik koma.