Hi Ho teman-teman di materi kali ini kita akan bahas tentang PHP object-oriented programming atau pemograman berorientasi objek menggunakan PHP Sebelum kita mulai ke materi kita kenalan dulu ya jadi Nama saya adalah Eko Kurniawan khannedy saat ini saya kerja sebagai technical arsitek di salah satu e-commerce terbesar di Indonesia Saya sendiri sudah kerja lebih dari 10 tahun dan biasanya disela-sela kesibukan saya bekerja Saya biasanya menyempatkan diri untuk bikin konten soal programming di youtube channel programmer jaman now kalau teman-teman pengen tidur sama saya teman-teman bisa kontek telegram saya ada di sini at Kennedy atau jangan lupa juga teman-teman silakan follow sosial medianya programmer jaman now ya ada di Facebook ada juga di Istagram YouTube tentunya dan juga ada di telegram channel kau temen-temen pengen diskusi dari perusahaan teman-teman seperti pengen konsultasi secara resmi tentang juga bisa email ke email saya di Aceh aol titikane diet Hai ini adalah materi yang bukan dasar sekali jadi kita akan mulai disini belajar PHP object-oriented programming Jadi sebelum teman-teman belajar object-oriented programming pastikan teman-teman sudah nonton dulu materi PHP dasar yang sebelumnya saya buat kau teman-teman belum nonton Silahkan buka channel programmer zaman now disana juga ada materi tentang PHP data dasar ya dia teman-teman silakan dulu Pelajari tentang PHP dasarnya karena disini tidak akan membahas lagi tentang PHP dasarnya apa sih akan kita bahas di materi ini ada banyak sekali terutama tentang object-oriented programming itu sendiri nanti kita akan belajar yang namanya kelas tentang pewarisan ya atau ini hari tense ada juga polymorphism ada juga interface ada juga trade nanti kita akan belajar error dan masih banyak sebenarnya jadi materinya lumayan panjang untuk materi object-oriented programming Oke Enggak usah berlama-lama kita langsung masuk ke materi Sekarang kita akan berkenalan lu dengan object oriented programming itu sendiri object-oriented programming adalah sudut pandang dalam bahasa pemograman yang orientasinya atau konsepnya itu bernama objek jadi Fokus utama dalam object-oriented programming adalah si objek itu sendiri ada banyak sudut pandang bahasa pemograman Sebenarnya ya jadi seperti ada yang namanya functional programming ada object-oriented programming ada prosedural gitu ya itu banyak sebenarnya namun object-oriented programming adalah yang paling populer sampai saat ini jadi saat ini yang paling populer itu adalah object oriented programming ada beberapa istilah yang perlu dimengerti dalam object-oriented programming ya ini adalah yang utamanya yang pertama adalah objek dan yang kedua adalah class Jadi konsep utamanya semuanya cuma dua istilah ini tapi nanti pada kenyataannya ketika di PHP itu kan berkembang ya tiap besok mau kenalan biasanya punya pengembangannya masing-masing terhadap konsep object oriented programming nya dan di php pun nanti akan banyak sekali enam bakal temen-temen pelajari tapi fokus utamanya biasanya dalam object-oriented programming itu adalah dua hal ini yang pertama adalah objek dan yang kedua adalah Crush Apa itu objek-objek adalah data yang berisi field atau ada yang dan juga properties ada yang bilang juga atribut itu sama saja dan juga ada isinya metode atau function atau biever jadi sederhana sekali sebenarnya jadi objek itu apa objek itu hak data-data yang isinya berupa file data properties dan dalamnya juga ada metal atau function jadi dalam sebuah objek itu dibungkus data-data dalam bentuk properties dan juga function-function nya Lantas apa itu class-class adalah blueprint ya atau ada yang bilang juga Prototype atau selainnya inilah cetakan untuk membuat objek jadi kita tidak bisa membuat objek tanpa adanya class jadi semua hal ya sebelum kita bikin objek itu pasti kita akan bikin kelasnya Mbak nanti dari kelas eh dari blueprint kelasnya itu atau Prototype kelasnya kita baru bisa membuat sebuah object class itu berisikan deklarasi semua properties dan juga function yang dimiliki oleh sebuah objek jadi anggap aja kalau misalnya kelas itu semacam standar layar standar bakunya sangat kita mau bikin objek dalam kuasa disebut Ino harus ada properties abcdefgh harus ada function abcd biar seperti itu Nah kalau teman-teman bingung dengan properties to apa Profesor mirip kayak variabel cuma variabel tersebut nempel di objek nah setiap kita membuat objek itu pasti selalu dibuat dari sebuah class jadi kita enggak bisa bikin objek tanpa ada kelas jadi selalu kita bikin plus dulu baru kita bisa bikin objek dan dari sebuah kelas kita bisa membuat objek Tanpa Batas hatinya saat kita bikin sebuah satu kelas ketik ya Nah kelas tersebut bisa dibuat objek bisa satu objek dua objek bahkan tidak terbatas bebas ya sebanyak-banyaknya enggak ada masalah Hai ini contohnya jadi ini contohnya kita akan membuat kuas dan juga objek dan disini adalah datanya tipe kelasnya dalam persen jadi misalnya kalau kita pengen bikin data pearson ya atau orang lain setelahnya Nah kita akan bikin class ya di sini ada kelasnya class person di dalam kelas version lalu kita definisikan Dia punya ini apa properties apa bisanya properties nya ada first name dan juga lastname typonya adalah string Halo dia punya function apa Nah kita disini misalnya cuma bawa punya function say hello sama Say Goodbye Jadi mirip kaya di php-in Iya variabel ya dan ini adalah function biasa dan ini adalah class ini baru deklarasinya saja Nah dari hasil deklarasi ini ya kelas ini teman-teman bisa bikin objek ketika teman-teman bikin objek Nah teman-teman bisa isi ini si propertiesnya contohnya yang voltnya kita isi menjadi Eko yang lainnya menjadi Eko lalu nama obyeknya kita sebut ini adalah Eko kalau the yang bisa lagi bikin dari Persia itu menjadi menjadi Joko jadi nama obyeknya adalah Joko lalu persennya kita ganti menjadi Joko dan lantainya menjadi Joko teman-teman bisa bikin lagi saya disini Budi Polisemi adalah Budi dan rasanya adalah Nugraha jadi bisa seperti ini ya dari satu kelas yang kita bikin di sini kelas version itu kita bisa bikin beberapa objek nya jadi ini adalah hubungan antara siklus dan juga objek jadi objek itu tidak bisa ada tanpa adanya kelas dan kelas pun tidak berguna ya kalau kita tidak bisa bikin objek dari siklusnya jadi ini adalah hubungan antara kelas dan juga objek jadi kelas itu meng-install inschiet objek atau membuat objek ini contoh yang lainnya karr contohnya atau mobil jadi kalau di mobil kita bikin kelas mobil lalukan mobil itu punya misalnya properties yang namanya named nama mobilnya habis itu ada brand-nya ya merk apa sih mobilnya Lalu ada function namanya start engine dan Resto pengin misalnya lalu disini teman-teman bisa bikin saya disini mobil Avanza obyeknya adalah Avanza lalu kita set namanya adalah Vanessa dan Brandon hanya Toyota atau disini kita bikin juga Almas jadi NEMnya adalah Almas misalnya dan berani adalah wuling kalau di sini kita bikin objek lagi Mobilio low disini namanya kita ganti menjadi Mobilio dan beratnya menjadi Honda Nah ini bisa seperti ini jadi saat teman-teman biasa Biasanya kan kalau kelas itu saat teman-teman ada data representasi itu Ya kita akan bikin kelasnya yang saya tadi ada person Ada kemungkinan tiada produk gitu ya ada eh customer ada member dan sebagainya Itu semuanya nanti akan kita bikin kelasnya Nah darisitu baru kita bikin obyeknya jadi ini adalah class dan object Sekarang kita akan bahas tentang class untuk membuat class di php kita bisa kata kunci yang namanya class huruf kecil semua ya dan penamaan kelas biasanya menggunakan format Kemal Chase jadi kayak punuk unta seperti ini diawali dengan huruf Capital besar ya dan kata yang selanjutnya diawali dengan kapital besar juga jadi kayak Kemal Chase seperti ini penulisannya nah Selain itu untuk pembuatan nama class itu tidak boleh ada spasi Jadi kalau teman-teman bikin nama kelasnya adalah kem Alkes ketiak tidak boleh Kemal spasi ke situ Enggak boleh harus digabung Kemal case Ini contohnya jadi kita bikin file php misalnya person.com sebenarnya tidak ada standard baku ya harus bikin pers m.ph p maka nama kelasnya person harus sama dengan nama file enggak enggak seperti itu di PHP itu bebas teman-teman mau bikin nama file-nya Apa nama kelasnya Apa itu bebas tidak seperti bahasa pemograman seperti Java kalau Java to nama file sama nama kelasnya harus sama tapi kau DPP enggak di php teman-teman boleh bebas bikin nama class dan juga nama si file-nya itu enggak sama nggak masalah cuma untuk mempermudah biar kita gampang aja Ya misalnya kalau kita mau nyari kelas version berarti tinggal buka persib.co HP gitu ya Nah biar gampang seperti itu disarankan sih bikin nama filenya sama jadi disini contohnya namanya pers m.ph P huruf besar kecilnya disamakan dengan nama kelasnya seperti ini Jadi mirip kayak programmer programmer php yang sudah terbiasa membuat atau membuat web menggunakan Framework laravel biasanya mereka menggunakan hem Oke seperti ini Oke tapi sebelumnya kita akan belum bikin Project ya Jadi sekarang kita akan bikin Project dulu nah bikin Project di php seperti yang sebelumnya ya kita cukup bikin folder aja ya Disini saya akan bikin projectnya menggunakan phpstorm tapi sebenarnya simple cukup bikin folder ya folder kosong sehingga saya bikin Disini di direktori development YouTube belajar PHP Oop lalu saya create oke selesai Ini Project kosong Sudah ada apa-apa nah sekarang saya akan bikin folder baru nama foldernya itu datang nanti kita akan simpan untuk menyimpan setelan data kelas-kelasnya ya jadi saya bikin folder dulu data lalu baru di dalam data saya akan bikin nama file-nya adalah version seperti ini Oke jadi untuk membuang kelas simple kita cukup menggunakan kata kunci kelas Lalu disini nama kelasnya apa eh tidak berada spasi jangan lupa kau tinggal kurung kurawal buka kurung kurawal tutup nah ini adalah Blok C class nya aja nanti isi kelasnya kita akan simpan di sini nanti detailnya kita akan bahas ya materi-materi selanjutnya sekarang kita fokusnya bikin kelasnya dulu jadi untuk bikin kelasnya teman-teman cukup bikin menggunakan kata kunci kelas Lalu nama kelasnya misalnya person lalu kurung buka kurung tutup seperti ini jadi teman-teman bebas misalnya class orang seperti ini eh class contoh nah seperti ini Jadi ini cara pembuatan class di php Jadi cukup sederhana ini hapus lagi ya kita akan fokus ke satu kelasnya dulu aja version Hai setelah tadi kita buat class Sekarang saatnya kita bikin object dari class nya objek adalah hasil instansiasi dari sebuah class jadi tidak bisa kita bikin objek tanpa bikin plus terlebih dahulu untuk membuat objek kita bisa menggunakan kata kunci new jadi ini mirip dibahas Semoga aman seperti Java dan diikuti dengan nama kelasnya eh lalu diikuti dengan kurung buka kurung tutup Jadi mirip seperti memanggil sebuah function Ini contohnya jadi kita bikin bikin sebuah variabel person lalu kita akan bikin object dari class person Jadi cukup gunakan new version kurung buka kurung tutup seperti ini jadi otomatis ini kita bikin sebuah variabel dengan isinya adalah object dari class person jadi simpel sekali ya untuk bikin objek itu di php jadi saya akan buat Vla nya terpisah ya jadi Disini di belajar PHP Oop saya akan bikin satu file baru namanya adalah hai objek.com lalu Disini saya akan inklusi person ya Jadi saya harus requirements disini data selesai version dp hp lalu kita akan bikin variabel namanya person nah caranya kita gunakan kata kunci new version seperti ini selanjutnya kita coba ini bikin satu ya kalau teman-teman pengen bikin lebih dari satu bisa contohnya version satu ini version 2 seperti ini boleh version 3 seperti ini boleh jadi tidak ada batasan yang tadi saya bilang ya diawal-awal kita udah bahas kalau kita bikin objek itu tidak ada batasannya mau 12 atau tidak terhingga itu enggak ada masalah Oke kita akan bikin dulu disini contohnya satu saja dulu ya kita akan coba Fardan version seperti ini Oke teman-teman silakan rantingnya menggunakan PHP spasi objek.com KPI atau saya biar enggak terlalu cape harus ngetik terus The Second langsung Rani menggunakan phpstorm naasnya seperti ini Jadi ini objek dari siklus version dan isinya masih kosong Memang karena kita belum menambahkan apapun kedalam kelasnya jadi seperti ini cara pembuatan objek jadi sederhana sekali sebenarnya cara membuat class dan juga membuat objek di php untuk classe tinggal seperti ini tentu objek cukup gunakan kata kunci new kalau nama kelasnya kurung buka kurung tutup Sekarang kita akan bahas tentang properties field atau juga properties atau juga atribut sama saja ya ini adalah data yang bisa kita sisipkan ke dalam SI objek namun sebelum kita bisa masukkan data didalam filsafat properties kita harus mendeklarasikan data apa yang dimiliki oleh sebuah objek dan deklarasinya tersebut harus kita masukkan ke dalam siklusnya untuk membuat file atau properties sama membuat sebuah variabel namun ditempatkan didalam blog siklusnya dan juga diawali dengan kata kunci yang namanya far Jadi kalau variabel biasa kan kita langsung menggunakan tanda Dollar habis itu nama variabelnya Nah kalau properties itu teman-teman depannya harus tambahkan kata kunci far Oke ini contohnya jadi contohnya di class person yang sebelumnya kita sudah buat kita akan buat tambahkan properties yang namanya named addressee dan juga country Jadi cukup seperti ini dan diawali dengan kata kunci far jadi seperti ini jadi hatinya sekarang kita sudah bikin kelas dengan memiliki atribut tiga ini named dan Agnes dan country Oke kita akan Coba ubah jadi saya buka lagi yang kelas version.com Hpnya kalau disini saya tinggal saya tambahkan far enam ya far address far country Jadi sekarang Cluster sini punya deklarasi properties name address dan country Nah dengan demikian otomatis sekarang saya bisa NEM address dan juga country terhadap objek-objek person yang sudah saya buat Seperti apa jadi field yang ada di objek bisa kita memanipulasi jadi itu mirip kayak variabel Untuk memanipulasi David sama seperti cara pada variabel jadi kita bisa mendaki bisa mendapatkan data dalam properties dan juga bisa mengubah data didalam properties nya Nah untuk mengakses file kita butuh kata kunci seperti ini ini kayak kata ini apa tanda panah seperti ini ya Nah setelah nama obyeknya jadi nama obyeknya atau nama variabelnya tambahkan tanda panah lalu diikuti dengan nama virusnya atau nama properties nya seperti apa seperti ini jadi saya teman-teman sudah bikin version = new version kalau temen-temen pengen mengubah data namanya teman-teman saya gunakan version pakai tanda panah name = apa datanya termasuk kalau address silahkan Mau dirubah dan country silahkan Mau dirubah Nah kalo kita pengen ngambil datanya cukup seperti ini ya nama awalnya named jadi gunakan tanda panah seperti ini Jadi mirip sama aja ini untuk menambah mengambil data dari properties dan ini untuk mengubah data di properties kerjakan coba nah tapi sini saya akan membuat file baru namanya properties ya oke biar cepet saya akan chopass yang ada di dalam objek.com HP kayak jadi disini selanjutnya kita akan set NEMnya misalnya Eko addressnya sama dengan misalnya Sumbang country nya Indonesia misal seperti ini lalu kalau teman-teman pardam kita lihat lagi hasilnya Nah lihat ya sekarang object class version lalu dia ada atribut name value-nya Eko ada address value-nya Subang country value-nya Indonesia atau kalau temen-temen ngen display seperti biasa menggunakan Eko bisa seperti ini name eh seperti ini version name nah ini address kita ganti address dan ini country seperti ini nah seperti ini kita raning nah hasilnya seperti ini name address lubang country Indonesia jadi ini kalau teman-teman pengen menambahkan properties dengan demikian kita bisa menambah properties ke dalam SI objek nah teman-teman bikin objek baru contohnya bikin version yang kedua gitu ya di sini ini pesen 2 Nah teman-teman bisa merubah version 2 ini dengan nama yang lain jatuhnya NEMnya misalnya Budi misalnya lalu kita ganti addressnya Jakarta misalnya ya Halo country nya misalnya in Indonesia nah ini kalau kita pardam yang version 2 Maka hasilnya akan berbeda dengan fashion pertama nah ini person kedua jadi m-nya Budi addressnya Jakarta dan country adalah Indonesia jadi dengan demikian teman-teman bisa mengisolasi ya data-data Rapper obyeknya jadi kayak mirip kita bikin ini aja bikin apa Data Oh ini Budi datanya Agatha ini Eko yang datanya a seperti ini Oke ini saya kita bahas tentang properties type Declaration sama seperti di function diprotes pun kita bisa menambahkan type Declaration jadikan kalau di dalam function argumennya kita bisa set ya tipe argumennya mau tipe datanya apa Nah di properties pun bisa-bisa kita save jadi kita bisa Tentukan typenya apa yang boleh di masukkan kedalam program tersebut Tipenya apa Nah ini membuat HP otomatis mengecek tipe data yang sesuai dengan Tab Declaration yang telah ditentukan Jadi kau temen-temen catering hal teman-teman masukkan misalnya Arai itu akan otomatis ditolak sama si phpnya dia kita mencoba mengubah properties dengan tab yang berbeda maka otomatis dia akan error ya jadi ingat bahwa PHP memiliki fitur tab jagling jadi hati-hati jadi kita bikin itu dia bisa konversi secara otomatis jadi kalau teman-teman set tipe datanya misalnya produknya adalah string Oh teman-teman masukkan datanya jydge maka dengan fitur tab jagling punya PHP dia bisa konversi secara otomatis dari integer ke strech jadi jangan dibilang loko ini enggak error GT ya enggak error kenapa karena siphpl tematis ngelakuin tab jagling untuk menambah type Declaration kita bisa tambahkan setelah kata kunci Fardi properties nya jadi seperti ini contohnya jadi misalnya name address dan country Saya pengen set semuanya dia tipe data string jadi saya bisa seperti ini jadi far string name far sering address for string country Oke kita akan Coba ubah jadi yang personnya kita ganti disini tipe datanya string Hai default-nya akan tidak ada tipe datanya Nah seperti ini misalnya nah sekarang otomatis ini harus jadi sering kau temen-temen coba Oke kita akan coba ya Ah ini harusnya error version 26 saya ganti menjadi Arai seperti ini Oke ini kita kalau kalau kita running Nah Lihat error iproperty personne masby string-array yushin jadi kita tuh menggunakan array padahal propertinya harus string jadi ini otomatis error ini saya komen lagi ya biar enggak error jadi ini kalau temen-temen pengen menambahkan tipe data dalam properties nya cukup tambahkan sebesar telah kata kunci far ya Nah Selain itu mirip kayak function argumen developer respon kita bisa menambahkan default value nya jadi sampah-sampah seperti variabel di properti juga bisa kita langsung mengisi value-nya nah ini menit Oke default value di dalam function arguments Jadi jika tidak dibutuhkan di objek maka produsen akan memiliki value tersebut sore jika tidak audio tidak diubah ya datanya maka akan menggunakan file tersebut sendok Seperti apa Jadi cukup seperti ini far sering country sama dengan Indonesia artinya kau teman-teman tidak Set data country Nya maka default-nya dia akan diset sebagai Indonesia jadi sini saya akan sore Disini saya akan set country nya default-nya adalah Indonesia Nah bisa seperti ini nantinya kau disini Saya tidak set maka dia akan otomatis Indonesia kita coba raning Oke ini Indonesia ya yang kedua yang objek Budi dan ini juga Indonesia yang Eko jadi seperti ini kalau teman-teman pengen ngasih default value langsung Silahkan masukkan di sini saja saat kita menambahkan Tab deklaration di properties dan divaksin argumen maka secara otomatis kita tidak bisa mendatang nol ke dalam properties atau function argumennya nah di php 7.4 dikenalkan yang namanya nullable tipe jadi kita bisa mengirim data 0ke properties atau function argumen nah tapi caranya sebelum tab deklarasinya kita bisa tambahkan tanda tanya tanda tanya Artinya bahwa file you atau properti tersebut bisa 0eh ya seperti apa seperti ini jadi file tanda tanya string artinya address ini boleh no kalau tidak tidak ada tanda tanya ini maka dia tidak boleh 0ok contoh seperti ini ini saya set menjadi nol saya default-nya nah ini error ya Kenapa karena tidak bisa kita aset sering sebagai nol enggak boleh nah Biar sistering ini bisa menerima nol artinya properties ini memang boleh nulgath teman-teman bisa tambahkan sih tanda tanya seperti ini Nah ini baru boleh nol jadinya tanda tangan tersebut Ini tipenya adalah nullable atau tidak bisa nol atau tidak nah contohnya kalau teman-teman baru-baru Bah Budi named Mas sorry ya named yang Budi ini menjadi nol ini error lihat incompatible tapi kalau teman-teman coba paksakan running seperti ini nah ini error ya propertinya harus sering tapi kita memasukkan nol Ya kenapa kanan m tidak Nung tidak boleh nol disini kalau teman-teman tambahkanlah datanya di sini baru dia boleh nol jadi kalau kita Rani ngulang nah dia tidak error karena si Inem ini boleh no Ya teman-teman silahkan tambahkan tanda tanya diawali di awal tipe datanya kalau memang properti tersebut boleh nol nah ini tidak hanya di dalam properties ya teman-teman bisa tambahkan juga di function arguments lo teman-teman mau bikin function lalu parameternya boleh nol misalnya maka teman-teman silahkan tambahkan tanda tanya di depan tipe datanya jadi ini adalah nullable properties jadi properties yang boleh nol jadi sini kalau saya set addressnya menjadi nol seperti ini angka ini masih boleh jadi saya coba running nah ini addressnya nol Ya itu boleh Sekarang kita akan bahas tentang function selain menambahkan properties Kita juga bisa menambahkan function kedalam objek atau deklarasi kelasnya nah caranya dengan mendeklarasikan pasien tersebut di dalam siklusnya sama seperti vaksin Biasanya kita juga bisa menambahkan detail value dan juga sih parameter atau argumen jadi apapun yang bisa kita lakukan di dalam function seperti yang kita pelajari di Php dasar itu kita bisa tambahkan di dalam c-class untuk mengakses fungsi tersebut kita juga bisa menggunakan tanda panah tersebut ya dan diri dengan nama functionnya atau method lalu tambahkan kerupuk saya seperti memanggil function biasalah ya Nah Seperti apa contohnya jadi ini contoh kalau kita pengin menambahkan si function di contohnya disini saya menambahkan function kedalam kelas version jadi saya tambah uang Sensei Hello horizonte parameter name kalau di sini keluar Hello name jadi simpel ya kita akan coba Jadi disini classf version saya akan tambahkan function say hello seperti ini lalu disini saya tambahkan string name lalu di sini kita cukup Eko Hello name jadi sederhana Ayah enggak usah yang aneh-aneh gimana cara mengakses function tersebut Nah untuk mengakses otomatis dia kita akan fokus ke dalam objek ya Jadi untuk mengaksesnya kita cukup dari objek yang kita buat ya tinggal menggunakan tanda panah halus Hello nama panggilannya lalu Ya seperti mengakses Langsung biasanya aja kalau ada parameter ya Ada parameter silakan dimasukkan kalau dia bisa mengembalikan value by teman-teman bisa tangkap hasil dari retensi Ussy pangsanya jadi contohnya Disini saya akan membuat file baru ya di sini namanya function of Ok disini saya coba saja dari objek biar mudah jadi di sini kita akan version say hello seperti ini contohnya Budi Oke kita running maka dia akan keluar Hello Budi seperti ini Jadi ini caranya mengakses function di dalam SI obyeknya Sekarang kita akan bahas tentang this keyboard saat kita membuat kode dalam sebuah function di dalam Crush kita bisa menggunakan kata kunci disk ini untuk mengakses objek saat ini ingat ya mengakses objek saat ini bukan masa sekelas tapi mengakses objek jadi saat dipanggil habis itu dipanggil dalam obyeknya adalah Eko maka saya mengakses objek Eko saat saya dipanggilnya dari objek Budi maka saya akan mengakses objek Budi nah misal kadang-kadang kita ingin mengakses properties ya atau juga function Lain Milik si objek tersebut Hai Nah kita bisa menggunakan sih kata kunci disini Contohnya seperti apa anak contoh kita akan update yang function say hello jadi divaksin say hello misalnya eh kita akan update jadi namanya yang parameter disini kita akan jadikanmu label jadi ya ya di sini bisa 0/3 lalu di sini kita cek kalau dia nongol ya kita akan keluarnya Eko Hi my name is Nah kita akan ambil NEMnya dari si objek tersebut jadi kita bisa ambil Hi my name is pakai kata kunci disc jadi tanda tanya this Jadi mirip variabel this jadi variabel disini adalah si objek itu sendiri lalu Silakan ambil sih properties nya yaitu named contohnya Nah kalau misalnya ada NEMnya Disini di parameternya mari kita misalnya Eko Hello name dari parameter ini My name is this subjeknya terus ambil sih properties name jadi kalau kita pakai named ini bukan berarti dia mengakses yang ada di dalam hi ha variabel Sorry properties nya tapi justru Ini ngambil dari variabelnya Oke kita backup dulu ke kode biar lebih jelas ya di sini ya bisa kita update dikau temen-temen ngakses name disini ini bukan ngakses Nam yang di sini ya walaupun nama variabelnya sama karena cara mengakses properti tersebut tidak seperti ini eh Caranya bukan seperti ini Jadi ini mengaksesnya adalah sih argumen yang ada di sini ya di sini misalnya saya bisa Set Kenul edisi Nikita cek Hip Hisnul eh namanya lalu else angka disini kita akan eho Hi my name is nah disini Saya mau ngambil named dari si obyeknya nah caranya untuk mengakses objek saat ini saya menggunakan kata kunci this ini adalah variabel yang mengacu ke objek saat ini kalau saya ambil NEMnya seperti ini key selesai hal ini saya Sorry copy paste di sini nah ini kita update dan disini baru variable namenya yang dari sih function argumen ini Jadi ini kegunaan ke variabel atau kata kunci disc jadi untuk mengakses objek saat ini Oke untuk lebih jelas kita akan lihat lagi di function ya kita akan buka function contohnya disini ini kalau temen-temen coba running Ini hasilnya errornya apa Nah di sini kita mengakses sih named tapi dia belum diinisialisasi karena NEMnya masih kosong Jadi kita perlu set dulu version named sama dengan Eko misalnya seperti ini nah ini kalau saya running maka dia keluar mhay Budiman name is Eko jadi ketika saya Hello ketika kita mengakses disk dihitung akses ke si objek ini version lalu ketika sayang akses name diakses ke Sydney mini yang disini hehe Hai jadi jelas ya Jadi kita gunakan kata kunci disk untuk mengakses objek saat ini Oke contoh yang lain kalau saya buat ini ini biar enak saya ganti ya jangan versen Eko misalnya seperti ini ini Eko Eko ah seperti ini Oke kita akan buat lagi saya chopass ini saya ganti Joko ini NEMnya Joko tapi saya Hello nya saya kirim nol nah ini kita lihat Sera Ning yang pertama Hai Budiman name is Eko ya ini benar yang kedua adalah Hi my name is Joko jadi ini jadi ketika saya Hello dia akan 60 ya jadi dia keluarnya ini Hi my name is this disini beting aksesnya ke Si Joko ini lalu ketika ambil name ini maksudnya ke si named ini yaitu NEMnya Joko jadi ini kata kunci disc untuk mengakses objek saat ini er Mbak di mana sih pancen itu berada sekarang kita akan bahas tentang konstan properties di kelas itu bisa diubah alias mutable datanya jadi ini mirip seperti variabel datanya bisa kita ubah ubah ke dalam kelas juga kita bisa membuatnya namanya konstan ini datanya adalah immutable atau tidak bisa kita ubah nah di materi PHP dasar kita belajar cara membuat konser itu dengan menggunakan function yang namanya Devin ya Tapi sejak PHP 7.4 sebenarnya kita bisa menggunakan kata kunci yang namanya konsuntif membuat konstan ini mirip seperti variabel namun tidak menggunakan karakter si dollar ini Eh jadi seperti apa jadi seperti ini Jadi sebelumnya kan kita belajar di Php dasar itu menggunakan Divine lalu disini nama konstan selalu disini adalah value dari constance nya Nah di php 7.4 sudah bisa diperkenalkan kata kunci baru yang namanya Konsep ini untuk membuat konstan jadi ini lebih enak Hai semuanya kelihatannya ya jadi kayak konsep itu disini nama constandse Oh di sini sama dengan value-nya Jadi ini mirip kayak bikin variabel sebenarnya cabenya tidak menggunakan tanda Dollar kedepannya jadi kons3p version = berapa Nah disini teman teman bisa mengakses ikon saatnya application dari definisi dan apps on dari si concept sini Oke kita akan coba sekarang jadi Disini saya akan bikin file baru ya nama file-nya adalah konstan jadi Biasanya kita menggunakan Divine ya application seperti ini belajar PHP Oop misalnya nah di php 7.4 diperkenalkan keyboard baru namanya Konsep ini untuk membuat konstan Jadi cukup gunakan konsumsi tulisannya app VN saja dengan misalnya 1.0.0 seperti ini jadi disini teman-teman untuk mengaksesnya cukup gunakan konstan m nyatanya application seperti ini atau app version seperti ini Hai nih kalau Sara Ning hasilnya seperti ini yang pertama belajar PHP Oop dari application dan yang kedua adalah 100 dari siap version jadi ini bisa dilakukan di PHP 7.4 ya dipastikan teman-teman menggunakan PHP 7.4 Oke selanjutnya gimana kalau konstannya kita pengen masukkan ke dalam sebuah kelas nah itu juga bisa kita lakukan Gimana caranya caranya seperti ini jadi di dalam kelas version kita bisa gunakan kata kunci konstan Jadi bukan menggunakan function Devina tapi kata kunci konsep kalo disini nama constandse apa lalu di Sini videonya jadi saat teman-teman bikin konstan temen-temen langsung set value nya apa Nah ini otomatis tidak bisa dirubah-rubah lagi contohnya disini saya gunakan constance author programmer zaman now OK saya akan buka class person Disini saya akan tambahkan konstan ya const-string Thor sama dengan programmer jaman now nah ini nama constandse Ya bagusan saya percaya walaupun tidak ada uangnya tapi idealnya siap arkes biar kita tahu kalau yang apel kesini adalah konstan Oke Anda saja sekarang gimana caranya kalau kita pengin mengakses konstan untuk mengakses konstan itu tidak seperti kita mengaksesi properties Kenapa karena properties ini kan akan dibuat per objek ya Jadi tiap kita bikin objek dia punya properties yang berbeda-beda bukan datanya population.pdf Sorry bukan apa jumlah populasi beda tapi masih ada tadi dalam profilnya bisa dirubah-rubah Bisa beda-beda tiap subjeknya nah Sedangkan di dalam constance mau kita bikin objek Berapa banyak pun konstan itu selalu sama nilai dari si kontrasnya jadi semuanya enggak ada benefitnya untuk mengakses constance Pia objek Nah karena biaya Pengen seperti itu kosan itu tidak bisa dirubah-rubah lagi jadi sih konsen ini by default dia nempelnya ke kelas beda ya kalau properties itu dia nempelnya kedalam objek walaupun deklarasinya di dalam flash tapi dia nempelnya kedalam objek nah sedangkan kalau constance dia nempel ke kelas jadi bukan kedalam objek jadi untuk memanggil konsumsi ini kita tidak bisa menggunakan objek tapi kita menggunakan siklusnya nah Seperti apa caranya oke caranya kita gunakan seperti ini jadi nama classnya titik dua titik dua di sini nama constance nya jadi ini cara mengakses constance dalam class.ok jadi disini konstan ini saya akan required dulu ya data version jadi caranya adalah verson nama kelasnya titik dua titik dua habis itu nama constance nya yaitu autor nah seperti ini ini cara mengakses kontrasnya jadi kita tidak butuh objek dulu kenapa karena sikon sangsun empangnya dalam siklusnya Oke kita running nafasnya di sini keluar programmer zaman now Jadi ini caranya kalau teman-teman pengen bikin constance di dalam kelas I Halo Sekarang kita akan bahas tentang sel keyboard saat kita membuat object properties yang terdapat dalam kelas akan secara otomatis dibuat per objek jadi kita tidak bisa mengakses properties atau mengubah data properties kecuali kita bikin obyeknya Oleh karena itu untuk memaksa properties kita perlu menggunakan objek atau jika dari dalam objek itu sendiri Kita bisa menggunakan kata kunci this ya jadi seperti yang sebelumnya sudah kita bahas sedangkan berbeda dengan constance kalau constance di kelas itu tidak akan dibuat per objek konstan itu hidupnya dalam kelas jadi bukan di objek maka kita tidak perlu bikin objek untuk mengakses konstan Oleh karena itu untuk mengakses konten kita perlu menggunakan nama kelasnya apa titik dua titik dua menggunakan nama constandse jadi tidak butuh membuat objek terlebih dahulu jadi secara sederhana kesimpulannya properties akan dibuat satu per Instance ya Jadi tiap instansi atau tiap objek itu akan dibuatkan propertiesnya sedangkan kalau constance itu akan dibuatnya perpas jadi tidak akan dibuatkan Hai jikalau di dalam kelas misalnya di dalam function ya kita ingin mengakses constance di dalam kelas yang sama kita pelumas menggunakan nama kelas yang sama jadi Gotik dua nama constance nya namun jika di dalam kelas yang sama kita bisa menggunakan kata kunci slot untuk mempermudahnya jadi dibanding teman-teman menyebutkan nama kelas yang sama dengan saat ini bisanya kita membuat Pasnya di mana atau malam saya ganti menggunakan kata kunci sel jadi ini mirip kayak kunci this kalau this bedanya kalau di situ kan untuk mengakses objek saat ini sedangkan kalau sleep untuk mengakses kelas saat ini seperti apa contohnya di sini kita punya kontrakan sebelumnya autor ya di dalam fast version lalu kita bikin sebuah function namanya info nah biasanya untuk mengakses autor ini kita perlu menggunakan kata kunci person titik dua titik dua autor tapi karena function ini ada dalam kelas yang sama jadi teman-teman bisa gunakan self titik dua titik dua autor tidak perlu di sini gak menggunakan sih ininya class versionnya item sih Tri menggunakan kata kunci sok jadi ini lebih mempermudah aja ya Oke kita akan coba Jadi di persennya disini misalnya kita akan bikin sebuah function namanya info seperti ini habis disini kita akan keluarkan autor autor nya siapa jadi Eko autor seperti ini nah jadi kan biasanya kan kita kalau mau mengakses pakainya person ya jadi gua detik2 author nah seperti ini tapi yang version karena info ini ada dalam persen jumlah jadi atlet dalam kelas yang sama kita bisa ganti menjadi self ya nanti di sini autor nah seperti ini ya Temen temen bisa mengakses siklus yang sama menggunakan kata kunci Sharp jadi ini mirip kayak kata kunci this kalau diskon untuk objek yang sama kalau menggunakan selfit untuk kelas yang sama Oke kita akan coba sekarang di function ya contohnya jadi saya akan panggil Jokowi soalnya Hai info habis itu Eko juga info ini harusnya sama ya nasinya seperti ini autornya programmer zaman now dan di sini autornya programmer jaman now Nah jadi seperti ini tentang sel keyword yaitu mantan bisa mengakses kelas saat ini menggunakan kata kunci self Sekarang kita akan bahas tentang kontraktor saat kita membuat objek maka kita seperti memanggil sebuah function ya karena dia menggunakan kurung kurung tutup ya airnya jadi saat misalnya bikin new version lebih belakangnya ada kurung buka kurung tutup Jadi mirip kayak manggil sebuah function didalam class PHP kita bisa membuat yang namanya kontraktor napa itu kontraktor kontraktor adalah function yang akan dipanggil saat pertama kali sebuah objek dibuat nah mirip seperti function biasanya dalam kos aktor berusaha memberi parameter atau argumen yang membedakan adalah tidak ada return value nya Kalau di kontraktor nama kontraktor di php Haruskah garis bawah dua kali habis itu kontrak jadi nama kontraktornya kau teman-teman sebelumnya belajar bahasa pemrograman seperti Java kode ini dia atau siap itu mungkin agak sedikit berbeda ya kalau kontraktor di bahasa pemograman seperti Java itu nama kontraktornya harus sama dengan nama si kelasnya tapi kalau di php tidak di php teman-teman menggunakan nama ini nama function kontraktor nyala adalah underscore underscore kontrak Ini contohnya jadi kita bikin membuat kontraktor di sini ya kita bikin pabrik function kontrak atau teman-teman disini bisa bikin parameter deh teman-teman silakan tambahkan parameter jikalau mau nah tapi artinya apa kalau teman-teman memasukkan parameter disini artinya saat nanti kita membuat sebuah objek person teman-teman harus menambahkan 2pac Trini jadi ini wajib kalau teman-teman masukkan parameter atau argumen seperti ini jadi kita akan update dulu jadi misalnya di kelas fashion kita akan update ya kita akan tambahkan kontraktor disini function underscore kontrak seperti ini lalu Disini saya akan tambahkan nm tipenya string lalu kita akan tambahkan address ya kalau kita akan ubah this nm menjadi ne ada di parameter this address menjadi address yang ada di parameter nah seperti ini jadi misalnya kita bikin seperti ini kontrak Nah selanjutnya artinya saat kita membuat persennya teman-teman Berarti sekarang harus masukkan dua parameter jadi seperti ini new version Eko habis itu disini addressnya apa jadi wajib dua parameter ini kalau tidak memasukkan batu jadi error kenapa karena didalam kontraktor kita bikin ini dua parameter Oke jadi otomatis semuanya bakal er nih yang sebelum-sebelumnya nah ini error ya di sini error karena kita tidak mengirimkan parameter Jadi kalau teman-teman Coba raning disini saya coba raning nah ini error semuanya Karena airnya argumentcounterror 2v argumen ya Jadi ini otomatis error jadi kita harus memasukkan disini Eko lalu disini Subang seperti ini nah ini juga sama Budi 06 baru kalau ini kalau kita running lagi hasilnya sukses termasuk di tempat yang lain disini juga error Disini saya akan ubah lagi Eko Sumbang Seperti ini Lalu di function juga sama disini Eko Subang soalnya Hai Joko Cirebon seperti ini ini nah disini kebutuhan tidak ada Oke biar lebih enak saya akan bikin file baru di sini nama file-nya adalah kontraktor nah disini jadi teman-teman kalau mau bikin obyeknya tinggal new version mau disini tinggal masukkan parameter NEMnya yang pertama dan yang kedua adalah addressnya ya di sini Eko Subang seperti ini Oke kita pardam kita lihat hasilnya Oke sorry ah belum diriku Arya data person.com hasilnya seperti ini jadi jadi ya Eko pertama dan disini namanya jadi Eko Ade saja di Subang dan kontra tetap Indonesia jadi ketika teman-teman manggil sebuah vahini kelas sebagai objek jadi bikin sebuah objek maka dia semuanya akan memanggil sih function kontrak Demy Hai jadi kontraktor itu adalah function yang dipanggil ketika kita membuat objek jadi saat teman-teman menambahkan parameter disini maka otomatis ketika bikin obyeknya teman-teman wajib menambahkan parameter disini jadi ini adalah kontraktor Sekarang kita akan bahas tentang destructor jikalau kontraktor adalah function yang akan dipanggang ketika objek dibuat Nah destructor itu kebalikannya ini adalah pangsitnya akan dipanggil ketika objek dihapus dari memori eh jadikan saat kita bikin objek itulah semuanya datanya akan disimpan dalam memori ya Nah ketika memorinya dihapus ya Nah atau objek yang dihapus dari memori Makasih function Desa aktor itu akan di hack squishy nah biasanya ketika oleh tersebut sudah tidak lagi digunakan atau ketika aplikasinya akan mati jadi kalau misalnya sudah tidak mau dipakai lagi nih tidak tidak digunakan lagi subjeknya maka otomatis si PHP akan menghapus dia dari memori Hai atau ketika aplikasi PHP nya sudah selesai oleskan semua objek akan dihapus dari memori yang untuk membuat function ke destructor ini kita bisa menggunakan nama fungsinya adalah underscore underscore destruct berbeda dengan kontraktor kalau didestruksi destructor yaitu teman-teman tidak perlu memasukkan parameter argumen jadi ya karena akan Adi akan dipanggil sroto mati sama Siti HPnya temen-temen tidak harus memasukkan si argumen nah dalam penggunaan sehari-hari ini misalnya cocok untuk menutup koneksi ke database misalnya ya atau menutup proses penulisan ke file dan sebagainya Hal ini biar tidak ada yang istilahnya adalah memori like Jadi kalau misalnya teman-teman bikin objek dimana objek adalah koneksi database gitu ya Nah ketika obyeknya itu dihapus ya kalau bisa sih koneksi ke database nya dihapus juga kalau tidak dihapus atau tidak di kloset otomatis kan nanti akan ngegantung di databasenya Oke Seperti apa pembuatannya jadi kita bisa bikin function yang namanya destruct seperti ini oh teman-teman silakan masukkan kode g b strukturnya nanti ini akan dieksekusi ketika program Sorry obyeknya itu dihapus dari memori Oke kita akan coba Jadi diversion ini kita akan tambahkan function underscore destruct teh seperti ini disini saya cuma print-out seperti ini aja objek versi on this name apa tadi is Destroyed ya oke selesai seperti ini aja Nah kan kita akan lihat nah jadi saya bikin file baru di sini namanya destructor jadi kita pertama bikin Eko new version Eko habis itu kita bikin Joko Habis itu saya akan Eko disini program selesai Hai nah seperti ini Nah atunya setelah program selesai kan tidak ada kode lagi di bawahnya artinya harusnya aplikasi PHP nya kan selesai Nah kita akan lihat hasilnya Oke saya lupa lagi ridwan's data person.com kita running nasinya lihat setelah program selesai he si objek Eko dan Joko ini akan dihapus dari memori nand coldest akhirnya otomatis akan dipanggil seperti ini objek persen Joko is Destroyed objek present Eko is Destroyed jadi seperti ini penggunaan destructor ditemukan bisa menambahkan the slaughter untuk dipanggil ya ketika data obyeknya tersebut dihapus dari memori Sekarang kita akan mulai bahas konsep tentang inheritance atau pewarisan inheritance atau pewarisan adalah kemampuan untuk menurunkan sebuah kelas ke kelas yang lainnya nah pengertian kita bisa membuat class parent class yang diatasnya dan kelas cat atau class yang dibawanya atau turunannya syaratnya di.php kelas Child itu hanya bisa punya satu Peren jadi nggak bisa lebih dari satu Peren jadi cuma bisa satu nah tapi kalau kelas pr-nya itu bisa punya banyak kelas cat jadi artinya antara relasi dari peron kecilnya itu satu ke banyak ketika jadi satu pereng bisa punya banyak Cut tapi chatucha bisa punya satu Peren nah saat sebuah kelas diturunkan maka semua properties dan juga function ada di kelas perannya secara otomatis akan dimiliki oleh class cocoknya jadi kalau kita bikin classf Eren lalu dalamnya ada property Services to ada function lalu kita bikin kelas Cut dimana kelas cat tersebut adalah turunan dari siklus pr-nya maka semua properties dan juga vaksin ada di kelas parmitu akan otomatis semuanya diturunkan ke siklus capnya jadi atau Hai semuanya punya untuk melakukan pewarisan dikelas Cal kita harus menggunakan kata kunci yang namanya extents eh lalu diikuti dengan nama kelas pernya seperti apa kita akan lihat contohnya jadi contohnya seperti ini kita punya sebuah kelas yang namanya Manager Nah di sini kita punya properties name dan juga punya function say Hello lalu selanjutnya kita bikin sebuah kelas yang namanya Vice President lalu misal kita pengen sifat seperti ini sebagai turunan dari si manajer maka kita bisa tambahkan extents Manager jadi ekstensi tuh kalo kita pengen siklus ini menjadi turunan sebuah kelas yang lainnya lo kita sebutkan di sini kelasnya yaitu sih Manager ini secara otomatis Apa yang dimiliki si manajer ini akan dimiliki juga sama si Vice President jadi yang properties name dan juga functions Hello otomatis akan dimiliki oleh sih Vice President Oke kita akan coba ya jadi Disini di folder data saya akan bikin sebuah Oh namanya Manager lalu disini kita akan bikin class namanya Manager selanjutnya disini kita akan bikin properties name lalu function she hello hai disini string name seperti ini atau NEMnya anggap enggak masalah ya oke sebelumnya mungkin ada yang belum tahu ya kalo di PHP itu nah default-nya kan kita kalau saya tidak mengembalikan file seperti ini hasilnya Ada cara lain cara lain kalau kita ngasih tahu sifat sini tidak mengembalikan sel you itu di belakangnya kita bisa gunakan titik dua avoid jadikan biasanya kan kita ditanya string seperti itu ya Tapi kalau teman-teman pakai kata kunci void itu artinya dia tidak mengembalikan value nah ini jadi kita bisa ngasih tahu ke orang yang mau pakai sih pasien ini kalau pas ini tidak mengembalikan value jadi kata kuncinya void mirip kimia mirip di balsem uang seperti Java oke di sini kita akan band seperti ini Hello ya sorry hai name name dari parameter My name is ngambil dari propertiesnya ini seperti ini jadi eho Hai name My name is this name Oke selesai ya kita sudah bikin klasmennya Sekarang kita akan bikin seikhlas ini Vice President jadi kita bikin kelas baru namanya Vice President nah misalnya kita pengen semuanya sama ya kan berarti kita chopass Ya nah tapi semuanya kita nggak perlu chopass kalau kita semuanya sama kita bisa bikin turunan dari siklus Manager ini kita tambahkan kata kunci extents eh lalu kelasnya apa Manager seperti ini maka secara otomatis semua yang dimiliki sama si manajer ini akan dimiliki sama si Vice President jadi itu semuanya udah otomatik depan tidak perlu istilahnya chopass lagi kalau mau diedit nanti dirubah lagi ini enggak perlu ini otomatis apa yang dimiliki ini semuanya akan dimiliki sama si Vice President Oke atas Gimana cara penggunaannya jadi cara penggunaannya sama jadi kalau kita bikin object Manager kita akan bisa pakai properties name dan juga function say hello termasuk saat kita bikin objects presiden otomatis Kita juga bisa menggunakan name propertiesnya dan juga function say hello itu secara otomatis walaupun tadinya punya si manajer Kenapa karena Vice President itu turunan dari manajer Ok Disini saya akan bikin kalau baru namanya inheritance jadikan sebelumnya Kalau misalnya kita bikin Manager = new Manager seperti ini ya manajer NEMnya Budi Halo Manager say hello Hai Joko nah seperti ini nah ini kita bisa juga lakukan divais presiden jadi ini kita ganti pipi ya Nah seperti ini jadi otomatis Vice President pun dia punya name ya dan juga punya Hello walaupun ini sebenarnya punya si manajer jadi kalau kita bikin turunannya maka semuanya akan diturunkan ke sih kelas c-nya atau kelas turunannya ini kalau kita running hasilnya sama Ayah jadi Hai Joko My name is Budi dan ini Hai Joko My name is Eko jadi ini fitur tentang pewarisan di php Sekarang kita akan bahas tentang namespace saat kita membuat aplikasi bisa dipastikan ya kita akan membuat yang sekali kelas tergantung seberapa besar aplikasinya semakin besar aplikasinya otomatis bakal banyak kelas yang akan kita buat jikalau kelas terlalu banyak kadang akan menyulitkan kita untuk mencari atau mengklasifikasikan jenis-jenis kelasnya karena untungnya di PHP itu memiliki fitur dan namanya name Space Dimana kita bisa menyimpan classpass kita di dalam sebuah namespace namespace tuh bisa nested Jadi kalau teman-teman bingung ya Apa itu nes Nesya situ Kayak tempat untuk menyimpan kelas Jadi mirip kalau misalnya kita bikin file gitu yaitu mirip folder Cuma bedanya kalau folder untuk menyimpan file Nah kalau msp situ untuk menyimpan C class class PHP ingat ya kelas-kelas bukan file tapi class Nah menset bisa nested Artinya mereka folder Fitri dalam folder kita bisa bikin folder lagi nonspesifik sama di dalam news paskita bisa bikin ems.pos lagi dan jika kita ingin mengakses kelas yang terdapat didalamnya SPS kita perlu menyebutkan nama-nama spacenya jadi temen-temen pengen buka kelas ternyata kita semua simpan dalam named Spesialnya SPC namanya data Bangkitlah Sebutkan data habis itu nama kelasnya jadi tidak bisa langsung nama kelasnya tapi harus di awali dengan nama named spacenya nonspesifik Tubagus Setia kita punya beberapa kelas yang misalnya sama nama kelasnya Nah kalau diperhatikan kau teman-teman bikin kelas namanya sama itu kan nggak bisa ya Nah untuk memastikan bahwa kelasnya namanya tidak sama temen-temen bisa bedakan dalam lem spacenya jadi dengan menggunakan new Space nama kelas sama tidak akan menjadi error lagi di php karena new special bisa berbeda tapi ingat enggak boleh yang spesies sama kalau nashnya sama nama kelasnya sama ya tetep itu error ya Tapi teman-teman bisa bedakan dari nama named spacenya Oke ini contohnya ya kelas yang tampan m Space ini bisa kita bikin 2 kelas yang kelas yang pertama konflik batas yang kedua konflik ini otomatis error kita lihat disini jadi Disini saya akan bikin sebuah file namanya uh konflik ya kita akan bikin class konflik seperti ini kita akan bikin 2 kelas konflik ini otomatis error kalau teman-teman Coba bikin file lagi di sini saya akan bikin enam Space nama filenya lalu kita akan requirements data konflik ini kalau saya coba raning ini error ya cannot di clear class konflik because the semi-solid Yus jadi kita enggak bisa bikin lagi kelas konflik Kenapa karena sebelumnya sudah ada kelas konfliknya jadi disini errornya di baris ke-8 jadi ini error karena sebelumnya kita udah bikin class konflik nah ini kita kalau saya beneran teman-teman butuh dua kelas yang sama tentang bisa tempatkan dalam sebuah namespace jadi kita akan bedakan msp siang ini dengan Neng Space yang ini nah gimana cara bikin yang spesim ples sebenarnya jadi untuk membuat news kita bisa menggunakan kata kunci yang namanya named Space nah jikalau kita ingin membuat Shabnam spesifitas cukup karakter slash setelah Neng spacenya dari ini boleh beberapa kali jadi kalau saya teman-teman soalnya asal SB selesai itu artinya teman-teman bikin nespe saja didalamnya bikin fsb dalamnya bikin msvc seperti itu jadi caranya seperti ini teman-teman bisa tambahkan lem Space disini nama neng spacenya misalnya data selesai one lalu kurung kurawal buka kurung kurawal tutup dalam sini berarti ini adalah sinem Space kalau teman-teman tidak menggunakan kurung kurawal buka kurung kurawal tutup artinya satu file php.ini named spacenya ini tapi kalau temen-temen pengen bikin beberapa Nemesis dalam satu file php teman-teman bisa gunakan kurung buka kurung tutup seperti ini kurung kurawal buka kurung tutup ya jadi seperti ini Oke kita lihat jadi disini kau teman-teman tambahkan named Space misalnya data slash eh one gitu ya maka otomatis satu file ini new special ini jadi kalau teman-teman bikinnya kayak gini maka satu data ini nice postnya ini tapi kalau temen-temen pengen beda kano pengenin SMSnya udah tahuan ini mensnya data tuh sudah teman-teman bisa bikin 2 file sih Tapi kalau mau di satu file semeton harus gunakan kurung kurawal seperti ini Jadi ini tinggal teman-teman pindahkan ke sini lalu ini kita bikin lagi di memang spesial berbeda dan spesial datas Restu misalnya ya lalu buka seperti ini Nah otomatis sekarang tidak akan terjadi error jadi kalau saya ini kita running lagi Nah Lihat tidak terjadi error Artinya kita sekarang sudah bikin 2 kelas yang sama di name Space yang berbeda Nah sekarang berarti kalau teman-teman pengen ngakses ikhlas konflik ini teman-teman harus Sebutkan juga seems pasnya jadi ini caranya membuat objek dari new species jadi teman-teman saat bikin object dari class yang ada di SPS teman-teman harus Sebutkan new habis Domain spacenya apa disini lalu nama kelasnya jadi kita akan buatnya di sini misalnya eh konflik satu sama dengan New slash data flash hewan ya Atau bisa data selesai One seperti ini boleh depannya ada selesai atau enggak yaitu opsional flash konflik seperti ini Nah kalau yang konflik2 matang bisa data ya slash 2m spacenya habis itu nama kelasnya itu konflik jadi seperti ini Jadi ini cara pembuatan objek ya dari class yang ada di namespace teman-teman di depannya harus diawali dengan nama sih name spacenya nah Selain itu Ya kita dynames itu selain kita bisa masukkan class ternyata di PHP itu mendukung pembuatan function dan juga konstan di dalam sebuah namespace eh Jadi selain kelas kita juga bisa menggunakan function dan konstan di namespace dan jikalau kita ingin menggunakan function kostum tersebut kita bisa menggunakan dengan diawali dengan nama nimes pasnya Oke contohnya kita bikin sebuah MP selamanya helfer lalu dalamnya ada function yang namanya help me dan juga ada constance namanya application-level teman-teman pengen mengakses function help me ini teman-teman harus gunakan nama new Space lalu nama vaksinnya termasuk konstan ini namanya yang Space habis itu si constance nya OK kita akan coba Jadi ini coba sherani nggak ada masalah ya udah nggak ada error kita akan bikin lagi di sini nama file-nya adalah helper kalau di sini saya akan bikin m Space 6 spacenya adalah helper Nah karena saya pengen satu Valentine spesial terjadi Saya tidak perlu menggunakan kurung kurawal seperti ini sebenarnya ya cukup seperti ini oke di sini kita akan bikin function help me isinya samakan saja ya Helmi aja Eko help me seperti ini lalu kita bikin konstan Apple Hai explication nah seperti ini nah artinya kau temen-temen pengen Max help me ini dan application ini teman-teman harus Sebutkan sih nama neng spacenya Karena sekarang satu file ini berada di namespace Velvet jadi dalam nesfest ini saya akan required dulu data helper ya jadi teman-teman tidak bisa langsung application seperti ini ya jadi teman-teman harus mengaksesnya itu caranya Eko misalnya eh sorry helper ya helper application seperti ini termasuk yang help me jadi helper help me jadi seperti ini jadi harus diawali dengan sinaman m spacenya keju paraning nasinya ini belajar PHP op yang application dan ini adalah help me call teman-teman coba paksakan dihapus seperti ini ini error gold undefine helper Heh Dan ini juga and Divine konstan application jadi tidak ada application karena memang nggak tahu ya kali ini dari mana friction itu LP juga tidak ada karena memang tidak ada function help me jadi harus tambahkan si Inem spacenya nah Selain itu kalau misalnya teman-teman bikin File atau bikin class ya Sorry bikin function bikin konstan bikin flash tampan space itu sebenarnya dia akan ditempatkan di nampes juga cuma namanya adalah Global namespace jadi secara default saat kita membuat kode PHP sebenarnya itu disimpan di global namespace global news sajalah new Splash yang tidak memiliki nama named Space jadi seperti apa jadi seperti ini jadi kalau teman-teman bikin file Habis itu langsung bikin program disitu semen itu adalah di dalam namespace eh jadi Neng spesies Udah namanya namanya Global news Pesbuk Jadi kalau bikin beban M1 seperti ini Jadi ini itu sebenarnya ya Yang ini ini itu semuanya ada di named Space Global seperti ini cuma teman-teman tidak wajib karena default-nya kau teman-teman tidak membuat namespaces didalam file php maka secara default dia akan masuk ke Global Neng Space maka dari itu kalau teman-teman disini running nah hasilnya sama jadi ini adalah global dan Space jadi Walaupun mungkin teman-teman jarang pakai Global news tapi teman-teman sekarang minimal tahu kalau tiba-tiba ada orang yang bikin yang spesial ukuran tutup seperti ini maka semuanya dia adalah Global name Space Sekarang kita akan bahas tentang impor sebelumnya kita sudah tahu ya bahwa untuk menggunakan class atau function atau juga konstan di sebuah news pita perlu menyebutkan nama sinem spacenya di awalnya Nah kalau terlalu sering menggunakan class atau function atau constance yang sama misalnya di yang spesial berbeda gitu ya maka akan terlalu banyak kita duplikasi menyebutkan nama sinense Masnya ini tiap manggil kelasnya kita harus sebutin nama named spacenya tiap manggil functionnya kita harus sebutin nama dan spesial Jadi terlalu banyak duplikasi yang kita lakukan nah hal ini bisa kita hindari dengan cara mengimport kelas atau function atau constance nya nah gimana caranya caranya kita bisa menggunakan kata kunci yang namanya Yusuf kalo di php jadi ini contohnya kalau temen-temen pengen pakai siklus konflik gitu ya teman-teman males nih nyebutin nama neng spacenya tiap kita bikin objek konflik Nah teman-teman bisa gunakan jus jadi us-6 spacenya apa lalu disini kelasnya otomatis disini teman-teman sekarang ketika mau bikin objek si konflik ini teman-teman tidak perlu lagi menyebutkan nama-nama specnya di awal termasuk function ya Jadi kalau saya teman-teman mau ngambil function di dalam sebuah namespace teman-teman cukup guna Yus tapi di sini ada kata kunci function jadi USB function name pasnya mana lalu disini functionnya konstan juga sama tinggal you scones namespace dimana lalu constance nya apa jadi seperti ini caranya Oke kita akan coba saya akan buat file baru namanya adalah importir ya selanjutnya kita akan required dulu eh data konflik dan juga require datahelper Oke selanjutnya jadi teman-teman bisa gunakan jus namanya sp-nya apa kalau kelas ya saya data sales one slash konflik nah seperti itu Nah teman-teman kalau misalnya menggunakan USB teman-teman tidak bisa mengimpor eh dua kelas yang sama namanya karena kalau impor yang sama maka otomatis disini akan konflik lagi ya teman-teman nggak bisa ya Jadi kalau di sini kita udah imports nama kelasnya adalah konflik disini teman-teman batin nggak bisa jemput lagi walaupun dimensi pasnya beda ya jadi nggak bisa Oke selanjutnya kita akan Ayus function nah di helper help me misalnya ya dan soalnya itu use a constant helper application nah seperti itu Jadi sekarang kita bisa bikin konflik objek itu ya dengan menggunakan new konflik seperti ini ini otomatis akan mengacu ke sini ya teman-teman tidak perlu lagi menyebutkan data flash on flash konflik kecuali teman-teman mau bikin yang konflik yang kedua Jadi yang pertama saya kedua Nah kalau teman-teman pengennya di inner Space yang beda tetap harus memasukkan New Face yang tuh seperti ya Oke selanjutnya untuk help me juga teman-teman bisa langsung mengetikkan help me tanpa harus menggunakan nama neng Space yang termasuk application ini yang constandse kita bisa application seperti Hai yeh jadi ini mempermudah kita saat mau menggunakan class atau function atau konsen yang ada di named Space jadi teman-teman bisa menggunakan us untuk mengimport data kelas atau function atau names pesta surya konstannya kita coba raning nasehat seperti ini jadi tidak ada yang error ya Nah saat kita menggunakan Yes artinya kita tidak perlu lagi menggunakan nama named spacenya di awal ya ketika class membuat objek menggunakan class ya atau misalnya function dan ini apa konstan namun bagaimana jika ternyata nama kelasnya sama seperti yang sebelumnya ada konflik dua nama yang sama nah untungnya di PHP itu memiliki fitur yang namanya alias alias adalah kemampuan membuat nama lain dari kelas function atau konstan yang sudah ada yang kita use atau yang kita impor Nah kita bisa menggunakan kata kuncinya es setelah melakukan juz di seperti ini caranya jadi kita bisa jus disini kelasnya yang mana ya neng Space kelas harga Tambahkan es disini aliasnya apa Nah kalau kita ganti alias menjadi konflik satu artinya untuk mengakses ini kelas ini kita bisa gunakan nama kelasnya sekarang konflik satu dan untuk menggunakan ini kita bisa gunakan konflik2 dan untuk menggunakan ini kita bisa menggunakan help function nya ya kita ganti dari helping menjadi help untuk menggunakan ini kita bisa ganti dari application menjadi FT di ini lebih Eh kalau saya ini sebenarnya sih mungkin lebih berguna ketika ada konflik yang seperti ini ada nama kelas yang sama tonton bisa bikin aliasnya Oke kita akan coba sekarang saya akan bikin file baru ya namanya impor alias Oke Sebelumnya saya cepat dulu ini semuanya Eh jadi disini kita bisa gunakan es konflik halo halo saya akan How impor yang kedua menggunakan Yus tapi di sini konflik2 jadi bisa seperti ini bisa kalau teman-teman mau ganti bisa site ini juga es HPP seperti ini temannya di sini jadinya konflik satu ya Dan ini jadinya konflik2 ini juga jadinya help bukan lagi help me dan ini jadinya APV nah seperti ini ya Temen temen bisa menambahkan alias ketika mengimpor ya function kelas 12 konsen menggunakan kata kunci uske kita coba sekarang running hasilnya sama seperti ini ya jadi enggak ada perbedaannya sekarang lebih enak jadi kita bisa pakai nama kelasnya otomatis bisa berubah karena kita sudah menggunakan alias kadang kita butuh melakukan impor banyak Valdi 16 Space yang sama nah PHP memiliki fitur yang namanya groupwise nah ini dimana kita bisa mengimport beberapa class atau function atau constance dalam satu perintah Yesus untuk melakukan ini kita bisa menggunakan tanda kurung kurawal buka kurung kurawal tutup lalu dalamnya Silahkan masukkan kelasnya atau functionnya atau konstannya nah Seperti apa penggunaannya nah Oke jadi bisa seperti ini contohnya jadi kita teman-teman bisa menggunakan yusda tawon kalau saya kebetulan ada mau impor 6 Space apa gitu ya sore kelas apa ini saya kalau 2 kelas silahkan 2 kelas kalau ini contohnya mau disini satu aja ya enggak masalah ini satu enggak masalah oke cuma kan disini 6 spacenya dua ya kita akan bikin yang ini aja kita akan bikin lagi di dalam ini konflik saya akan bikin lagi di sini class sample nantinya kita punya dua kelas lebih uh ah class damai adanya kita punya 3 kelas ya Nah kita pengen impor tiga-tiganya jadi Gina kita akan bikin lagi di sini kelas namanya impor grup ya jadi saya akan coba dulu yang ini request nya jadi teman-teman biasanya kan kita pakai lagi nih use data selesai one flash konflik ya habis itu slash damai habis itu stres sampel nah bayangkan kalau kita mau impor beberapa class atau lebih dari satu kelas atau banyak banget gitu ya di dalam named Space yang sama ini kan Lumayan capek kalau kita ngetik kan seperti ini Nah semuanya ini bisa kita persingkat menggunakan groupwise jadi caranya gimana caranya adalah kita cukup sekali tapi m spacenya ini kalau kita gunakan kurung kurawal buka kurung tutup kalau teman-teman silakan masukkan di sini cantiknya konflik kita mau impor habis itu Hai apalagi damai saya itu apalagi sampel nah jadi kita bisa seperti ini dan termasuk juga function Jadi kalau teman-teman Yus function helper gitu ya slash kurung kurawal buka kontrol tutup Palu di sini help me kau teman-teman ada lagi ponsel yang lain Silahkan tambahkan koma lagi mana kau teman-teman pengen menambahkan alias Nah kalau alias teman-teman bisa gunakan di sini es konflik satu seperti ini juga es misalnya dendam seperti ini bisa enggak masalah jadi tinggal tambahkan disini jadi disini sekarang teman-teman bisa bikin = new konflik satu seperti ini jadi dummy = new damai sampel = new sample jadi ini caranya kau temen-temen pengen langsung mengimport beberapa class atau function atau konstan secara sekaligus cukup menggunakan group cus bicaranya seperti ini sekarang kita akan bahas tentang visibility visibility atau ada juga yang bilang adalah access modifier itu sama saja harusnya ini adalah kemampuan sebuah properties atau function atau juga konstan dapat diakses dari mana saja Eh jadi ini kira-kira kira-kira bisa dilihat dari mana saja nih untuk properties function dan juga constance nah itu adalah kemampuan yang namanya visibility secara default properties yang kita buat entah itu function dan juga konstan itu secara default visibility nya adalah public artinya Apa artinya bisa diakses dari mana saja nah Sebenarnya ada hal lain yang atau visibility lain selain public jadi masih ada beberapa nah contohnya saat kita bikin properties ya kita akan mengenal kata kunci far-far itu sebenarnya dia sama dengan pabrik disaat kita bikin pakai kata kunci farmaka dia sifatnya adalah fabric nah selain nanti apa aja nih yang ada selain kata kunci publik nah selain pabrik di php dia mendukung dua access level atau visibility yang lainnya jadi yang ada protective ada juga yang private jadi tiga ini public protected and private secara default kalau teman-teman tidak menyebutkan kayak bikin function tidak menyebutkan public maka default-nya adalah public jadi default-nya semuanya pabrik Ya napa sih artinya pabrik-pabrik itu artinya kalau misalnya kita set sih functions properties ikon secara publik artinya kalau hal tersebut ya entah itu field atau properties atau consent itu biasa diakses dari kelas yang sama dari dalam kelas yang sama itu bisa diakses dan bisa diakses juga oleh turunannya jadi bisa diakses oleh turunannya dan bisa diakses dari luar kelas ya dari manapun itu nah ini default di akhirnya jadi karena kita tidak pernah menyebutkan kata kunci ya sebelum-sebelumnya jadi default media klik makanya bisa diakses dari dalam kelas dari keturunannya atau juga dari luar kelas nah gimana kalo kita pengen kecilin secukupnya Nah kita bisa menggunakan protective Kenapa itu protektif protect itu berarti PC belinya dia cuma bisa diakses dari dalam kelasnya dan juga di kelas turunannya Nah tapi dia tidak bisa diakses dari luar kelas Jadi kalau teman-teman bikin sebuah function misalnya atau properties dia protective maka bisa diakses dari dalam class bisa diakses dari keturunannya tapi tidak bisa diakses dari luar Jadi kalau teman-teman bikin objek-objek tersebut tidak bisa diakses si properties protected nya Nah atau yang lebih sensitif lagi yaitu privat privat itu lebih parah lagi ya dia tidak bisa diakses dari manapun kecuali kelas dia sendiri bahkan turunannya pun tidak bisa mengakses sih hal tersebut Jadi kalau properties atau function atau konstan kita set sebagai private maka turunannya pun dan juga di luar apalagi yaitu tidak bisa nya jadi ini tiga access level visibility di PHP ya teman-teman silakan hafalkan ini ya Oke jadi gimana sih caranya jadi kalau di function sore di properties dulu kita properties cukup tambahkan private jadi kata kunci file-nya itu tinggal kita ganti menjadi private Ya seperti ini default-nya kalau teman-teman pakai para itu adalah public tentang bisa pakai para topsek ganti menjadi public nah termasuk di ini ini adalah si kontraktornya kalau kontraktornya teman-teman set public maka konsep tersebut bisa diakses dari luar Plus Tapi kalau temen-temen set sebagai private maka teman-teman tidak bisa bikin objek tersebut Kenapa karena kontraktornya tidak bisa diakses dari luar kelas termasuk ini function name contohnya Ini bisa diakses dari dalam mencuri dari luar kelas ya ini bisa karena public Oke kita akan coba kita bikin kelas namanya produk di dalam data saya akan bikin Hai teman-teman silakan mau nambah namespace 8ms atau enggak saya disini enggak dulu saya bikin private string name hatinya saya akan punya named tapi dia tidak CD akses dari luar plus private string Sorry string apa tadi cointiger ya integer prize Dan ini juga private Habis itu saya akan bikin kontraktor nah disini tapi faktanya adalah public default masih pabrik ya function key selesai kita akan tambahkan parameter eh named dan juga integer prize seperti ini halo kita set Nah kalau ini saya masih bisa mengakses Si Neng Sama precision apa karena saya masih ada di dalam kelas yang sama jadi this name = m this spray = files ini bisa Kenapa karena private ini ada di dalam kelas yang sama Dalam Hai Oke selanjutnya kita akan coba Bikin file baru nama file-nya adalah visibility ya kita akan request dulu Honda Nah teman-teman sekarang kita akan bikin produk = New product nah seperti ini nah Oke jadi kalau teman-teman sudah bikin yang seperti ini ya temen-temen kalau sekarang kita coba saya kita bikin produk laut teman-teman coba mengakses sih namanya sama pricenya nah ini akan otomatis error ya kenapa error ya simpel karena name ini adalah private Jadi kalau diakses dari luar luar kelas XII produk itu tidak bisa kebetulan kondisinya di file luar ya di luar ya kalau ini kan bete di luarnya Embak tidak bisa diakses ya teman-teman kalau bikin disini disini namanya misalnya apel gitu ya harganya Rp20.000 seperti ini Contohnya laut teman-teman coba di Eco product Hai named itu ini error errornya Apa lihat member has private access jadi dia tidak bisa diakses dari luar Oke kalau coba temen-temen paksa untuk jalankan Herona seperti ini cannot access private property product name jadi kita tidak bisa mengakses Inem termasuk price-price juga tidak bisa melihatnya tidak bisa mengakses private property price jadi ini kalau teman-teman pengen ngebut mesin Jadi kalau teman-teman bikin Edition diset private dia akan bisa diakses dari luar Nah terus gimana cara bisa Maksudnya dulu Arya simpel si teman-teman bisa bikin function untuk ngambil atau ngeget datanya contohnya disini saya bikin function ini saya set public ya getname contohnya seperti ini detailnya string hingga hari tendies nih Nah ini bisa ini saya copas lagi ini get price Heni Danger dan ini price Nah jadi teman-teman kalau pengen mengambil datanya teman-teman sekarang panggil function get name sama get price nantinya Disini teman-teman belum bikin function untuk mengubah data named sama pricenya enggak masalah misalnya kita memang pengennya seperti itu misalnya enggak mau bikin apa ya data produk yang bisa dirubah lagi setelah dibikin obyeknya maka kita bikin seperti ini ini kalau training nasinya bisa nah kenapa bisa diakses vietnamnya karena get namanya adalah public nah sedangkan yang repot tidak bisa diakses lantas gimana kalau kita coba Bikin protective Oke kita akan bikin contoh-contohnya bikin fast baru ya produk ada misalnya nah ini adalah ekstensi produk oke di sini kalau teman-teman Coba bikin sebuah function-function ini publik ya function info kalau teman-teman coba mengakses misalnya Eko Ayo kita akan print ininya id-nya sorenya ya Nah teman-teman lalu Maaf pakai this name nah ini error juga kenapa error juga karena si ini named ini dia sifatnya adalah private kalau private turunannya pun tidak bisa mengakses anda gimana Kalau turunnya pengen boleh mengakses Nah teman-teman jaganti dari private menjadi protective Nah kalau protected dia baru bisa mengakses Nadia Tidak jadi error ya Nah ini juga Kalau temen-temen ganti menjadi protected ini juga Tidak error kalau kita tambahkan price nah seperti ini nah seperti ini ya Temen temen tinggal disesuaikan aja kalau atributnya atau properties atau vaxxed pengen bisa dihasilkan dari function dari solidaritas dia sendiri maka teman-teman set menjadi private kalau pengen bisa diakses dari dia dan semua turunannya maka diset menjadi protected tapi kalau pengen bisa diakses dari manapun maka teman-teman gunakan public jadi yang ini yang produk damai kita bikin dummy = new product damai ya lebih sini misalnya damai harganya seribu damai info seperti ini karena Ning nah keluaran NEMnya demi dan present seribu jadi seperti ini tentang visibility di.php Jadi sekarang teman-teman sudah ngerti ya secara default kalau kita enggak serviceability Nya maka default-nya semua visibility nya adalah public Sekarang kita akan bahas tentang function of reading function of reading adalah kemampuan mendeklarasikan ulang function dicat kelasnya atau di turunannya yang sudah ada different kelasnya nah saat melakukan proses of reading tersebut secara otomatis ketika kita membuat objek dari kelas chatnya function yang ada di perannya tidak bisa diakses lagi jadi tertimpa sama yang ada di catnya Seperti apa contohnya Oke contohnya kita akan buka klasemenjerman sebelumnya kita buat ya kita tambahkan Disini di presidennya dia kan turun dari manajer kita akan overnight si functions Hello nya offroad hatinya bikin ulang ya atau menimpali istilahnya Oke kita akan buka ya sebelumnya kita sudah bikinnya manager ya Nah di sini ada Say hello Oke kita akan ganti disini ekornya jadi My name is kita tambahkan depannya Manager biar tahu kalau ini dari manajer Nah selanjutnya teman-teman bisa deklarasikan ulang kelasnya Sorry bukan kassapa vaksinnya jadi ini saya coba kesini nah seperti ini Jadi ini bisa seperti ini jadi boleh nggak masalah nah ini artinya kita menimpa sih fungsinya ada di atasnya jadi disini saya Hello sayang Kimi name is PP ya Nah seperti ini Jadi ini adalah namanya function of reading jadi teman-teman bisa mendeklarasikan ulang function yang ada different class nya oke Biasanya kalau kita Timpa atau offered jadinya seperti apa kita akan lihat di sini function overloading jadi kita akan bikin eh Manager = new Manager Tapi sebelumnya jangan lupa requirements datang Manager Ya saya tuh disini a manager kita set namanya adalah Budi ya telah kita akan bikin yang kedua adalah pipi Vice President disini misalnya Eko Halo kalau temen-temen coba Manager say hello misalnya Joko seperti ini maka yang keluar harusnya ya Hai Joko mynameis Manager Budi gitu ya tapi kalau misalnya yang ini TV Hai Say hello kita lihat hasilnya Nah Lihat Hai Joko My name is Manager Budi nah karena kenapa karena kita bikinnya dari object Manager jadi kita bikinnya dari sini ya dari manajer ini nah tapi saat teman-teman bikinnya dari Vice President itu berarti kita akan bikinnya dari sini eh nantinya saat teman-teman Timpa atau overnight function say hello Nya maka otomatis ketika temen-temen mengakses Hello maka ini tidak akan bisa diakses lagi jadi yang diakses adalah sisa Hello ini Jadi ini overnight function yang diatasnya makanya pas kita Panggil say hello lagi yang keluar adalah My name is pipi Eko jadi kalau default-nya kalau teman-teman enggak of rajah ini saya comment misalnya key saya com benar comment seperti ini nah ini kalau Coba kita Rani ngulang yang kalau masih tetap manager ya Kenapa karena saya Hello nya milik sini si manajer walaupun kita pakai Wifi tapi kalau kita paint ponselnya Nah sekarang jadinya yang keluar adalah function say hello milik si Vice President kelas jadi ini adalah function of reading ya teman-teman boleh mendeklarasikan ulang function yang ada different class nya Sekarang kita akan bahas tentang veren keyboard kadang kita ingin mengakses function yang terdapat di kelas PRnya yang sudah terlanjur kita Freddy kelas chatnya seperti yang sebelumnya ya Nah untuk mengakses ponsel miliknya aspern kita bisa menggunakan kata kunci yang namanya Peren jadi sederhananya kata kunci Pelni digunakan untuk mengakses classic pr-nya Feren dari saat ini kita berada Oke jadi contohnya kita punya kelas yang namanya save ya di sini ada function namanya gadget corner kalau kita punya turunannya namanya rectangle nah di rectangle ini ekstensi save Hai jadi chef itu adalah kelas perannya dan rectangle ini adalah class turunannya atau chatnya nah disini saya overnight ya Jadi kita bikin lagi get cornering offroad yang ekornya ada di pr-nya saya read menjadi empat tadinya disini 0lt Gimana kalau saya pengen ngakses sih getcount yang ada di pr-nya karena kalau dalam kelas ini saya manggil j-toner maka yang didapat adalah get corner yang ini Nah kalau teman-teman pengen mengakses getcount yang diatasnya teman-teman bisa di dalam kelas ini dalam kelas chatnya tinggal gunakan kata kunci parents.her 6.2.2 habis itu functionnya function Mana yang mau diambil disini contohnya get corner hatinya veren batu otomatis piringnya adalah CV ya jadi chef ini lalu get corner ini maka akan mengakses Sigit corner ini jadi sederhananya kata kunci PLN untuk mengakses hyperon classnya Oke kita akan coba Jadi Disini saya akan bikin sebuah file baru namanya save ya ya Ayo kita akan bikin di name Space eh data ini enggak perlu pakai kurung kurawal Selanjutnya clacef ya Halo Di sini kita bikin publik function get corner di sini retailnya kosong seperti ini kalau kita bikin Crash rectangle extensive seperti ini lalu Disini saya akan overnight segrt cornernya ini saya copas ya eh di sini itunya 4 selanjutnya kalau artinya kalau saya Max SG toner dimanapun itu disini batikan kita akan selalu mengaksesnya segrt konon ada di rectangle Nah kalau teman-teman pengen siang ini ada di sini kita bikin function lagi function get parents corner seperti ini nah disini kau teman-teman right on this get corner maka ini Hai diakses adalah ini get corner nah yang ini Eh bagaimana kalau kita pengin maksudnya ini yang pr-nya maka disini kita ganti dari this menjadi peron titik dua titik dua get corner makanya ini akan diakses adalah sih ini get connected ikhlas perannya yaitu chef kita akan coba Bikin file baru ini Peren ya jadi di sini kita requirements dulu eh data save lalu kita use data ambil yang chef sama rectangle Oke jadi kita bikin eh data = a story save ya sama dengan New site ini kalau dia Kho save get corner makanya akan keluar adalah nol Ya karena benar itu nol lantas kalau kitanya pakai rectangle ini saya ganti dulu ini keluarnya adalah 400 kalau kita pengen ngambil karangnya cukup bisa gunakan get parents corner kali dalam veren corner kita manggil sih PRnya lalu ngambil functionnya jadi kata kunci penentu cuma bisa diakses dalam kesini ya adanya kita mengakses hyperon kelasnya seperti ini jadi hasilnya kita lihat nah ini terdapatnya no kalau kita ganti disini misalnya negatif satu gitu ya kita ranting lagi hasilnya samanya negatif satu ini ganti satu jadi seperti ini kalau kita pengin mengakses IP renkeu lasnya ya teman-teman bisa menggunakan kata kunci yang namanya veren ee Halo Sekarang kita akan bahas tentang Constructor of reading karena Concerto sama seperti function maka sebenarnya kontraktor pun bisa kita deklarasikan ulang dikelas selnya atau kita bisa overnight sebenarnya di php kita bisa mengoprek function dengan argumen yang berbeda namun sangat tidak disarankan ya teman-teman soalnya dp-nya punya sebuah function namanya say hello pakai satu parameter lo teman-teman overnight ya di chatnya saya Hello lagi tapi parameternya jadi dua atau jadi Kosong itu sebenarnya bisa dilakukan di php Cuma problemnya kalo ngelakuin hal tersebut itu sangat tidak disarankan karena kita berarti mengubah dari struktur Simpang seni itu sendiri nah jikalau kita memaksa melakukan tersebut ya jadi meng-cover function dengan argumen yang berbeda maka PHP sendiri akan menampilkan warning jadi memberi peringatan kalau hal tersebut berbahaya sebenarnya namun berbeda dengan kontraktor kalau teman-teman Kautsar of reading kita boleh mengoverlay dengan mengubah argumennya namun derek akan untuk memanggil Karen kontraktor walaupun tidak wajib Tapi direkomendasikan untuk memanggil cipelem kontraktor nah Seperti apa Jadi ini contoh dulu ya mengubah argumen yang of reading jadi teman-teman saya sebelumnya kan kita punya ini kelas apa ya Vice President ya kita punya Vice President Sorry mana nih Manager Ya ini saya kita ganti parameternya jadi Kosong seperti ini ya Nah kita lihat ini sebelumnya kita Panggil yang function of reading ini saya hapus Simpati seperti ini kalau temen-temen cobalah Ning Enggak ada masalah enggak ada error ya tapi lihat di sini ada warning PHP warning Declaration Vice presidents Hello Subi compatible with Manager Hello jadi Harusnya itu kompatibel di sini ada parameter string disini juga harusnya idealnya ada parameter string nya Tapi di sini nggak ada Jadi ini boleh Sebenarnya ya Jadi kita overnight dengan merubah argumennya itu boleh tapi tidak direkomendasikan ada warningnya Jadi ini tidak direkomendasikan ya jadi saya Anduk lagi kebalikan seperti ini Oke ini bak nah jadi itu nah tapi ini berbeda dengan kontraktor of reading kalau kontraktor opleiding itu boleh teman-teman boleh berubah si argumennya jadi contohnya di Manager kita akan bikin kontraktor ya di sini ada dua parameter named dan juga title jadi di sini kita akan bikin Manager kita bikin satu variabel baru ya Sorry satu properties baru title jadi far string title kita akan bikin kontraktor jadi kita bikin public function kontrak seperti ini Lalu di sini ada eh string name dan string taito Ayo kita akan ubah nilainya menjadi yang di parameter dan file-nya kita Ubah menjadi yang di parameter nah seperti ini nah cuma jadinya sekarang error semua nih yang manggil Nah Lihat er semua ya ini kalau saya running nah ini atau semua Kenapa karena kontraktornya kan sekarang ada dua parameternya sedangkan di sini tidak ada Oke biar enggak Hero saya akan kasih default value ya di sini default value of string kosong nah ini default value nya Eh misalnya titelnya eh Manager seperti ini biar ini enggak error jadi kalau Tirani enggak error ya Nah udah bener oke nah sekarang gimana kolom saya kita pengen ngopi Vice President ini si kontraktornya Nah kita juga boleh ini teman-teman bisa mengoprek seperti ini contohnya jadi bikin lagi kontraktor di dalam pas presiden ya Jadi overnight tapi di sini ada satu parameter nah bagusnya itu teman-teman disarankan untuk memanggil kontraktor yang ada di peron kelasnya walaupun tidak wajib ya tapi idealnya direkomendasikan untuk memanggil Kenapa karena biar kode yang ada di perannya disini saya kodenya ngelakuin apa itu bisa dieksekusi juga ya takutnya ada kode-kode yang wajib di eksekusi ketika pertama kali pembuatan obyeknya yang kau teman-teman overhead jadinya nanti dia tidak terpanggil ya jadi sini adanya dipanggil Jadi kalau teman-teman bikin of public function kontrak gitu ya nah ini kalau teman-teman enter kalau kebutuhan pakai phpstorm dia otomatis menambahkan seperti ini Oke ini saya hapus dulu ya Jadi kita manual jadi kita bikin seperti ini nah disini saya ganti parameternya string name seperti ini kita kasih default value nya kosong lalu kita akan Panggil sih pengennya sih kontrak ya di sini kita kirimnya apa tapi titelnya kita hardcod pipi nah seperti ini ini rekomendasinya seperti ini jadi temen-temen saat bikin kontraktor teman-teman di sini kalau di atasnya ada kontraktor ya itu direkomendasikan teman-teman manggil konseptor yang ada di film kelasnya ini tapi tidak wajib ya ini saya kasih komen tidak wajib Tapi direkomendasikan nah seperti ini nah ini boleh seperti ini jadi teman-teman bisa mengoprasi kontraktor yang ada di eh Karen dicabutnya jadi ini boleh jadi usus untuk kontraktor itu boleh jadi kalau teman-teman Coba raning ya Nah ini tidak ada masalah Tidak ada Warning eh walaupun teman-teman overnight sih kontraktor dengan argumen yang berbeda tapi kalau function biasa itu tidak boleh bukan tidak boleh soria warningnya ada peringatan dari CV HPnya kecuali untuk kontraktor itu tidak ada Wa Hai jadi kita diperbolehkan untuk mengubah jumlah parameter di kontraktor ketika geofreight Sekarang kita akan bahas tentang polymorphism atau volim orfisme polymorphism itu berasal dari bahasa Yunani yang artinya adalah banyak bentuk dalam object-oriented programming polymorphism itu adalah kemampuan sebuah objek berubah bentuk menjadi bentuk yang lainnya nah biasanya polymorphism ini erat kaitannya ya dengan inherited atau pewarisan nah seperti apa sih maksudnya kok bisa berubah bentuk kita jadi kayak dari satu objek ke objek yang lain tuh bisa dilakukan kalau dalam object-oriented itu namanya adalah polymorphism misal kita punya sebuah class namanya programmer lalu kita punya dua turunannya yaitu bikin programmer dan juga pronant programmer nah sebelum lanjut kita akan coba buat dulu jadi Disini saya akan buat kelas namanya programmer ya Jadi kita bikin dulu hai hai class programmer di sini saya akan tambahkan Hah name Lukita buat kontraktor key selesai kalau kita buat class back end programmer dan ekstern programmer ya dan front end programmer extend juga programmer nah seperti ini jadi kita punya programmer punya BKN programmer punya forehand programmer nah Lantas apa hubungannya dengan polimorfisme jadikan Kalau ini kan pewarisan biasa ya Jadi PRnya programmer dia punya dua capnya BKN programmer dan juga pohon end programmer at Hai misal kita punya sebuah kelas baru namanya adalah company dimana Di sini ada sebuah atribut namanya adalah programmer dan disini tipenya adalah programmer nah jadi kita buat dulu disini saya disini Saya punya kelas namanya company tahu disini kita punya public programmer ya typonya nama propertinya adalah program makna misal saja saya punya seperti ini jadi saya punya kelas namanya company dan tipenya adalah disini propertinya punya programmer dengan tipe programmer rotinya tipenya perannya ini nah polimorfisme Artinya kita bisa mengeset data ini bisa berubah-rubah program ini bisa berubah-rubah jadi bukan berarti kalau teman-teman set ya di sini tipenya adalah programmer jadi teman-teman cuma bisa pakai data objek programmer ya polimorfisme itu kemampuan dia bisa berubah bentuk terhadap plus-plus turunannya jadi teman-teman enggak cuma bisa memasukkan data programmer kesini teman-teman tetap bisa masukkan sobekan programmer atau juga pronoun programmer Seperti apa Oke kita akan bikin disini file baru namanya polimor Jism disini saya request dulu ya data programmer Oke jadikan sebelumnya Kalau kita bikin company = new company lalukan disini company programmer ya kita kan biasanya harus new programmer ya soalnya di sini Eko kenapa karena programmer tipenya adalah programmer di sini tipe datanya karena tipe datanya adalah programmer maka saya harus set obyeknya program Maret memang benar seperti itu nah tapi dengan kemampuan polimorfisme saya enggak cuma bisa ngeset datanya tipenya programmer obyeknya Tapi semua turunannya pun bisa kita set jadi beken programmer bisa front end programmer bisa nah jadi inilah yang dinamakan perubahan bentuk jadi company itu bisa saya set programnya sama dengan New bag end programmer nah ini Mbak Nah ini boleh seperti ini atau tiba-tiba Saya berubah lagi programmer saya ganti menjadi new front end programmer nah ini juga bisa ini kalau saya pardam ya kita coba pardam company lalu di sini kita Adam lagi company Alkitab dalam lagi company kita lihat hasilnya kayak kita lihat nah jadi objek pertama si company nya itu dia programmer nya tipenya adalah programmer ya memang benar karena typonya adalah programmer tapi di yang kedua Ketika saya pardam sekarang programnya berubah menjadi be'en programmer dan ketika Adam yang ketiga si company programnya berubah menjadi front end programmer jadi ini adalah kemampuan polimorfisme dimana sebuah properti ya atau data gitu ya itu bisa berubah-rubah bentuk tipe datanya jadi Biasanya sih kita set dari PRnya tiba-tiba datanya otomatis dia nanti bisa pakai semua bentuk objek dari turunannya tapi teman-teman enggak bisa diset menjadi ini misalnya set jadi manajer itu enggak bisa ini nggak bisa error ini nah keluar error plus Manager not found sorry ini kalau pun kita harus sudah include Manager gitu ya tetap makan bisa Nah Lihat tipe programmer itu harus programmer tidak bisa pakai Manager nah artinya perubahan bentuknya pun terbatas terhadap semua kelas turunannya kecean dulu lagi Ya Nah seperti ini Jadi ini adalah polimorfisme ya teman-teman bisa membuat objek dengan tipe filenya dan implementasinya tinggal pilih si file-nya mau yang mana Nah selain itu polimorfisme juga bisa digunakan di sebuah function argumen ya contohnya kita punya argumen namanya say hello dimana disini kita punya ponsel heloderma disini argumennya adalah tipe nyapo Amr nah walaupun di sini programmer typenya teman-teman bisa masukkan data programmer dan juga semua turunannya jadi seperti ini contohnya kita punya function disini kita akan bikin function ya function say hello programmer Hello programmer named seperti ini spesial tambahkan ini deh Say hello programmer saya sebelumnya kan kita udah pernah bikinnya Hello saya lo programmer ya disini kita bisa Say hello programmer karena walaupun design tipenya programmer Ton bisa Set new programmer Eko atau Bisa new BKN programmer atau new front end programmer jadi itu bebas jadi ini juga polimorfisme di function arguments jadi sini ya walaupun di sini teman-teman memasukkan Hai sebagai parameternya adalah programmer tapi sebenarnya teman-teman bisa pakai programmer + semua turunannya baik itu be'en atau juga front-end nya seperti ini nih kalau kita running hasilnya Nah Lihat Hello programmer Eko dan semuanya sukses tidak ada yang gagal jadi ini adalah polimorfisme jadi follower bisa-bisa teman-teman masukkan kedalam properties atau juga argumen Sekarang kita akan bahas tentang tak cek dan juga flash sebelumnya di Php dasar Kita pernah bahas ya konversi tipe data yang bukan objek last nah khusus untuk tipe data objek kita tidak perlu melakukan convert secara eksplisit seperti tipe data seperti string integer dan yang lain-lain namun agar aman sebelum kita melakukan cash atau konversi ketiak pastikan kita melakukan tipe pengecekan type-c Kya atau pengecekan tipe data nah operator yang bisa kita gunakan adalah kata istrinya Instance of jadi Instance of ini digunakan untuk mengecek Apakah sebuah objek ini tipe data kelas tertentu atau bukan ini ditanyakan truk ya kalau misalnya tipe datanya sesuai kalau tidak sesuai maka ditanya dia akan files ini contohnya jenis penyakit yang kita bikin pangsit ya cuma sebelumnya kita bikinnya Hello programmer olesin kita ada parameternya programmer dan bisa teman-teman pengen bikinnya itu beda-beda ya tulisannya tergantung dia Tipenya apa Nah teman-teman bisa cek seperti ini jadi kalau programmer nya Instance of BKN programmer misalnya tonton bisa ngeprint di sini atau Echo Hello BKN programmer kalau program nanyain sopron programmer teman-teman keluarkan Hello protein programmer kalau dia program penyakit lain sensor programmer maka di Halo programmer saja jadi ini kita bisa melakukan seperti ini ini lebih aman jadi teman-teman saya gunakan Instance of kita backup jadi di sebelumnya disini lagi Akhirnya saya Hello programmer jadi sini kita bisa update jadi eh if programmer Instance of habaek end programmer misalnya seperti ini ini saya cut paste Hello BKN programmer PLC programmer nah Instance of front end programmer Misalnya ini kita ganti shounen nah elseif programmer nya Instance of programmer soalnya baru kita print biasa seperti ini nah jadi ini untuk mengecek apakah suatu objek adalah tipe data tertentu atau bukan ya teman-teman saya gunakan programmer Instance of si be'en kalau yang tipe data bukan objek Anthem bisa pakai Isya pakai function is misalnya keep Heist string seperti ini tapi kalau saya objektif bisa gunakan Instance of untuk pengecekannya Oke jadi sekarang kalau kita coba raning lagi ini yang manggil Yang mana ya polimorfisme ya Nah kita lihat hasilnya Nah Lihat ini Hello programmer ini Hello bikin programmer dan ini Hello pronant programmer jadi seperti ini kalau temen-temen pengen melakukan pengecekan tipe data si objek Sekarang kita akan bahas tentang abstract class saat kita membuat sebuah class kita bisa menjadikan sebuah kelas tersebut sebagai abstrak atau istilahnya abstract class Apa itu abstract class abstract class itu artinya kelas tersebut tidak bisa dibuat sebagai objek secara langsung jadi hanya bisa diturunkan Jadi kalau teman-teman bikin sebuah class lalu pas tersebut teman-teman set sebagai abstrak maka secara otomatis objek sore class tersebut tidak bisa dibuat objek jadi cuma bisa diturunkan baru turunannya yang bisa dibuat objek itu Kalau turunnya bukan abstrak juga nah untuk membuat sebuah class abstract ya kita menggunakan kata kunci yang namanya abstrak sebelum kata kunci class Jadi kalau misalnya tadinya class Manager jadi tambahkan abstrak jadi abstract class Manager nah sehingga Avast bisa kita gunakan sebagai kontrak biasanya ya jadi kontrak untuk secukupnya jadi siapapun eh soalnya itu teman-teman harus ekstensi hasrat kelasnya itu jadi tak kita bisa memaksa seperti itu oke contohnya kita punya sebuah abstract class disini namanya location eh disini adalah abstract class Halo teman-teman Artinya kita tidak bisa membuat objek sih location ini yang bisa kita lakukan adalah kita menurunkan sih location kelas ini teh disini saya bikin siti lalu extend location Oke kita akan coba ya Jadi kita akan bikin disini sebuah file baru namanya location kalau kita bikin m Space data lalu kita bikin class location lalu saya pengenin sebagai abstraksi Jadi saya tambahkan depannya abstrak seperti ini Oke selanjutnya disini saya bikin public string name sebagai properti dari si locationnya Oke selanjutnya karena saya set sebagai abstrak otomatis ikhlas location ini tidak bisa dibuat subjeknya jadi kalau teman-teman maksa bikin new location Itu otomatis error jadi yang bisa dilakukan adalah kita akan sekarang bikin class turunannya contohnya kita bikin class Siti contohnya tinggal extend location seperti ini atau kelas misalnya provinsi extend location seperti ini atau class country misalnya excellent location Nah kita bisa seperti ini jadi seakan-akan location ini kontrak untuk jenis-jenis tipe class lokasi jadi kayak kota provinsi country seperti itu Jadi bisa seperti ini jadi Silahkan temen-temen set jadi abstrak maka otomatis casing tidak bisa dibuat jadi kita mau maksa untuk kalau kita bikin obyeknya kita harus pakai yang Cut classnya jadi Chand seperti ini kalau teman-teman maksa bikin location = Nelo kation ini error karena location adalah abstract class jadi yang bisa teman-teman lakukan adalah teman-teman bikin City atau bikin propinsi atau bikin country Oke kita akan coba ya Disini saya akan bikin file baru namanya abstrak abstrak flash jadi saya require dulu data location lalu kita akan imported ya Kok Sorry bukan Infocus data di sini location habis itu Siti provinsi country seperti ini jadi yang bisa kita lakukan kau teman-teman bikin location = new location ini error jadi kau teman-teman coba jalankan Hai Nah Lihat error cannot instansi at abstract class jadi tidak bisa menginstal sia-sia atau membuat objek dari abstract class jadi nggak bisa jadi ini adalah error hehehe ini bisa kita lakukan kita bikin siti sama dengan new city seperti ini atau juga kita bisa bikin provinsi atau kita bisa bikin country nah ini yang bisa kita lakukan jadi kita bisa bikin abstrak kos jadi memaksa kalau teman-teman pengen bikin obyeknya tentang harus pake si Cut classnya Sekarang kita akan bahas tentang abstrak function saat kita membuat class yang abstrak ya kita bisa membuat yang namanya juga abstrak function jadi saat kita bikin sebuah kelas yang Pak maka ada fitur yang bisa kita gunakan di dalam abstract class namanya adalah abstrak function nah saat kita membuat sebuah function kita tidak boleh membuat blog functionnya jadi saat teman-teman bikin sebuah function itu cuma ada nama function beserta parameter beserta return value nya implementasi dari blogfam sendiri itu tidak boleh di masukkan ke dalam abstrak function nah terus buat apa itu gunanya artinya aktor pasalnya itu nanti wajib di overnight dikelas chatnya Jadi kalau temen-temen pengen memaksa ya dimana kelas chatnya harus meng-cover sebuah function atau mengimplementasikan sebuah function teman-teman bisa bikin yang namanya abstrak function abstraction tidak boleh memiliki access modifier private ya Kenapa karena ya kalau private kan enggak bisa diakses sama turunannya yah jadi ya Apa gunanya GTA bikin abstrak function jadi untuk hasym cuma bisa aksesori file-nya atau visibility nya itu cuma boleh publik dan the protective nah contohnya misalnya kita punya kelas namanya animal ya di sini adalah abstract class lalu kita punya propertinya named dan disini kita punya abstrak function namanya adalah Run nah artinya secara otomatis siapapun nanti yang mau membuat class sebagai turunan dari animal maka dipaksa untuk implementasi function ini function Run OK kita sekarang Coba ya Jadi kita buat disini sebuah file namanya animal Oke saya pakai nimes vs data juga jadi kita bikin class animal tapi di sini kita set abstrak e-ops abstrak di sini kita punya apa public string name lalu kita punya public function namanya ranked iya Hai Nah selanjutnya ini kita setpoint tidak mengembalikan data lalu teman-teman boleh set sebagai abstrak jadi depannya silahkan tambahkan abstrak artinya Apa artinya teman-teman tidak perlu memasukkan ceblok kodenya di sekolah teman-teman masukkan ini error ya error nya lihat errornya apa method should either have body orb abstrak Jadi kalau misalnya abstrak itu nggak boleh punya body kalau punya body dia tidak boleh abstrak Oke seperti ini jadi cukup Nah selanjutnya artinya siapapun nanti yang akan bikin class turunan dari animal ini maka dia wajib implementasi sipang seni nih artinya dia wajib novritsch function Run jadi contohnya kita bikin class cat deh extend animal seperti ini ya di sini kita wajib bikin of public function Run seperti ini jadi misalnya disini Let this is name is Shining nah seperti ini jadi kalau teman-teman bikin lagi contohnya kita bikin yang kelas dog misalnya eh disini juga wajib engkau temen-temen tidak implementasi Chand teman-teman tidak seperti ini malah error ya nanti dia tidak bisa jalan Sip kode PHP nya aja teman-teman wajib mau overnight function ini jadi saat teman-teman bikin abstrak maka semua turunannya wajib bikin dikau teman-teman pengen maksa ya Masa semua turunannya itu untuk implementasi sebuah function maka teman-teman Tinggal bikin abstrak function di dalam SI abstract class ingat ya cuma boleh abstract class Jadi kalau ini bukan abstract class ini tidak bisa jadi error lihat clashmas bidik where abstrak ya jadi harus abstrak kalau ada abstrak Oke lantas Gimana cara mengaksesnya ya simpel saja sekarang temen-temen kalau bikin ke tinggal awal Panggil Ran ya akan dieksekusi sihran ini karena ini adalah abstrak jadi otomatis dia akan tidak bisa diinstansiasi ya tidak bisa bikin objek animal kita cuma bisa boleh bikin turunannya oke ya Disini saya akan bikin abstrak function abstrak function kita requirements dulu data animal lalu di sini kita Ayus ya Hah data animal cat dan dog selanjutnya jadi teman-teman bisa bikin langsung chat sama dengan New chat contohnya cat NEMnya say akasih nama Luna scape tinggal Ran seperti ini termasuk yang Adobe Jadi kalau ini Dog seperti ini saya ganti Hai nah seperti ini ya Jadi kita coba raning ngasihnya cat Luna Israel Ning dan dog dog is running jadi ini adalah abstrak function di teman-teman bisa bikin observations di dalam sebuah abstract class Sekarang kita akan bahas tentang getter dan juga setter dalam object-oriented programming itu ada istilah yang namanya enkapsulasi on nah enkapsulasi on artinya memastikan data sensitif dalam sebuah objek ya tersembunyi dari akses keluar jadi enkapsulasi on itu yang mirip aslinya ya kapsul jadi data aslinya itu sebabnya di dalam jadi orang tidak bisa mengakses data ini dalamnya kita cuma boleh mengakses data yang memang kita pengen berikan keluar Jadi kalau selanjut kalau teman-teman lihat kapsul gitu ya itu dalamnya teman-teman enggak tahu pastinya dalamnya apa yang teman-teman lihat ya cuma luar kab nya aja jadi ini adalah konsep enkapsulasi on nah Hal ini bertujuan agar kita bisa menjaga agar data dalam sebuah objek tetap baik dan valid jadi kalau kita beli kapsul kan biar di dalamnya itu apa ya istilahnya ramuan obatnya masih bagus saya di kita bungkus pakai kapsul nah termasuk juga inflation di object-oriented jadi biar datanya terjaga kita biasanya akan membuatkan caption jadi kita pastikan bahwa data dalam sebuah objek itu tetap terjaga tidak gampang berubah Nah untuk mencapai ini biasanya kita akan membuat semua properties nya itu menggunakan access modifier private jadi semua properties itu diset menjadi Freeport artinya Apa artinya tidak ada orang yang akan bisa mengakses Dan juga mengubah data sih properties nya Eh jadi tidak bisa diakses dan juga diubah dari luar Nah selanjutnya Terus gimana dong kolom saya kita pengen ngambil datanya atau pengen mengubah hanya agar bisa mengubah kita akan menyediakan function untuk mengubah ya dan juga untuk mendapatkan properties Nah inilah yang namanya adalah getter dan setter jadi getter dan setter ya di PHP itu proses enkapsulasi on sudah dibuat standarisasinya Jadi mirip kaya standarnya Sulawesi nggak ada ininya ya enggak ada fitur secara bakunya tapi ini kayak standar Kebanyakan orang menggunakan proses atau apa yap Hobbes efektif seperti ini jadi ada standarnya best practice nya dimana kita biasanya menggunakan getter dan setter metode atau function jadi untuk mendapatkan data properties kita menggunakan geter atau untuk mendapatkan atau sering mengubah data si properties nya kita menggunakan seser function nah geter adalah function dibuat untuk mengambil data field sedangkan server digunakan untuk mengubah data field jadi simpel ya jadi teman tiap bikin properti seperti bikin 2 function pancen pertama getter dan pasien yang kedua adalah servernya lantas Gimana cara pembuatan vaksinnya nah ini standarnya Jadi kalau tipe datanya adalah Bulian itu biasanya untuk geter function nya ya itu pakainya seperti ini jadi is habis disini nama properties nya jikalau disini misalnya apa ya merried gitu ya nama propertiesnya batik di sini is married kalau untuk ngeset ya atau mengubah datanya batikita set merried seperti ini Nah kalau tipe data yang bukan boolean kayak misalnya string integer atau objek dan yang lain-lain itu biasanya menggunakan ini get geter functionnya jadi get nama si properties nya jadi kayak getname getfortnite get klasemen gitu get company dan sebagainya Nah kalau untuk saya ternyata atau mengubah datanya kita menggunakan set jadi set name set companies servers menset klasemen dan c-nya jadi ini adalah konsep getter dan setter jadi semua propertiesnya teman-teman Jadikan private kita bikin public function untuk get untuk mendapatkan data dan set untuk mengubah data ini tidak harus dua-duanya diimplementasikan ya Jadi kalau temen-temen pengen bikin datanya tidak boleh dirubah ya teman-teman batin tidak akan membuat server absennya atau kalau temen-temen pengen bikin eh properties yang tidak boleh diambil datanya dari luar teman-teman tidak akan membuat si get their function nya oke Ini contohnya jadi kita punya sebuah class namanya adalah kategori jadi kita punya di sini ada Bulian Astoria stream ya nama propertinya lalu di sini ada Bulian expensive Nah selanjutnya berarti kita perlu bikin kalau temen-temen pengen sinem dan ekspansif ini bisa dirubah ataupun diambil datanya dari luar Nah kita akan bikin seperti ini Vietnam dan set name halo ini is expensive dan juga set up Ajib ini memang lumayan agak sedikit panjang sih ya ribet tapi biasanya kalau teman-teman menggunakan editor Teks editornya id-nya itu biasanya ada oto komplitnya di contoh Disini saya akan bikin nama file-nya adalah ketegori Ya seperti ini Kita bikin kelas kategori jadi kita di sini bikin private string name lalu private bulldog expensive seperti ini Nah teman-teman harus bikin sektor methodnya dan juga getter method nya untuk semuanya kolom Saya memang pengen bisa di Gambir dan diubah Memang agak sedikit ribet kita harus bikin sekali banyak function ya Tapi biasanya kalau temen-temen menggunakan text editor itu silakan diekspor ya testernya masing-masing kolom saya menggunakan phpstorm seperti saya ada oto komplitnya kalau teman-teman menggunakan Visual Studio code pasti juga harusnya ya ya teman-teman cukup misalnya kalau di php stoknya tinggal aget name seperti ini lihat ada otot komplitnya saya tinggal enter maka akan dibuatkan gether untuk property name siap usia komennya habis itu untuk set name tinggal set name enter seperti ini Jadi ini akan otomatis dibuat sektornya jadi ini getarnya ini saya ternyata Nah kalau expensive tinggal is expensive seperti ini ya dan set expensive seperti ini nah jadi setiap kita bikin properti kita akan bikin getarnya dan juga sertanya ini properti ini getarnya ini setirnya jadi seperti ini Nah selanjutnya Jadi kalau temen-temen pengen menggunakan data propertinya teman-teman pakainya seperti ini jadi untuk mengubahnya menggunakan set name Dance at expensive dan untuk mengambil datanya teman-teman guna nugget name dan is expensive jadi enggak lagi bisa ngambil data lewat propertinya Oke coba kita buat di sini ya file geter n setter Oke jadi kita Hari quarone dulu data kategori selanjutnya kita bikin kategori = new category lalu kalau pengen mengubah biasanya kan kategori named seperti ini ya Misalnya handphone nah jadi kita enggak seperti ini lagi kenapa-kenapa atributnya tidak diekspos keluar jadi data didalamnya itu tidak diekspos di teman-teman kalau mau mengakses teman-teman atau mengubah temen-temen harus menggunakan function jadi set name disini misalnya handphone lalu category set expensive misalnya truk seperti ini nantinya sekarang kalau saya pengen mengakses datanya jadinya Disini hmm ya Jadi bisa kategori getname seperti ini lalu kalau mau mengakses expensive tinggal is expensive nah seperti ini Jadi ini untuk merubah dan ini untuk mengambil datanya Oke kita coba laning nah hasilnya sama memang kelihatannya seperti agak sedikit ribet ya kenapa kena Karena tiap properti terus bikin Battle sama setannya tapi salah satu benefitnya adalah teman-teman bisa memprotect si datanya di contohnya kalau expensive tidak boleh di ekspos keluar ya teman-teman tinggal Jangan bikin getter method nya atau misalnya teman-teman bisa menambahkan validasi misal seperti ini jadi kita akan menambahkan validasi di servernya jadi ketika Seven kita cek dulu kalau dia string kosong kita enggak mau ngechat namanya dengan demikian maka ketika ada orang yang mau ngerubah datanya pakai data tidak valid Itu otomatis kita tolak datanya jadi contohnya di sini ya diset name ya Oke kalau sekarang kalau saya set namanya string kosong seperti ini saya running ini kosong ya seperti ini kita tadinya installnya handphone Habis itu saya NEMnya saya rubah menjadi sering kosong ini kalau saya running hasilnya neme berubah menjadi string kosong artinya data tidak valid pun masuk kedalam obyeknya Nah di sini kita bisa jagadish NEMnya jadi disini kita bisa tambahkan IP misalnya kalau kita treme treme data NEMnya kalau kita trimedya sama dengan string kosong ya maka kita tidak mau tapi kalau tidak sama dengan string kosong baru kita mau terima datanya Nah seperti ini sekarang kau teman-teman coba raning lagi Nah Lihat NEMnya masih tetap handphone masih tetap named yang lama saat teman-teman setne pakai kosong kayak string kosong spasi seperti ini teman-teman Cemara Ning ini tetap handphone Kenapa karena kita menambahkan validasi di dalam sih setter functionnya bayangkan kalau ini menggunakan public ya teman-teman tidak akan bisa menambahkan validasi jadi orang bisa seenaknya merubah namanya menjadi misalnya string kosong seperti ini dia bisa ya kenapa karena kita tidak bisa menambahkan validasi kalau adanya di properti kalau dipaksain kan kita bisa menambahkan validasi nah ini jadinya sering kosong panjang seperti ini ya Jadi ini salah satu kegunaan dari getter dan setter selain memastikan bahwa datanya tidak terekspos keluaran ya Kita juga bisa memproteksi datanya ketika digebet dan dicat atau diubah Sekarang kita akan bahas tentang interface sebelumnya kita sudah tahu ya bahwa abstract class udah kita gunakan sebagai kontrak untuk kelas Cab namun sebenarnya yang lebih tepat kalau kita bilang kontrak itu harusnya adalah sebuah interface nah oke Jangan salah sangka dulu ya bahwa interface disini ini bukan user interface jadi enggak ada hubungannya sama user interface apalagi grafik * user interface atau UI gitu ya itu nggak ada hubungan sama sekali jadi tolong jangan sampai teman-teman bilang kalau interface itu berarti UI nggak ini nggak ada hubungannya ya dalam object-oriented itu enggak ada hubungannya interface dengan GUI interface mirip seperti abstract class yang membedakan adalah di interface semua methodnya otomatis abstrak tidak memiliki blog Jadi kalau teman-teman sebelumnya bikin abstract class di dalam masyarakat itu teman-teman bisa bikin konkrit method ya atau juga abstract method Nah kalau di interface beda interface to memang di sedih buat untuk kontrak ya sebagai Prototype jadinya itu dalam interface itu Mirip abstract class yang isinya semuanya abstrak function jadi dalam interface semua harus abstrak functionnya tidak boleh ada konkrit function Ya kalau dalam interface selain itu juga di dalam interface kita tidak boleh memiliki properties jadi interface tuh beneran cuma isinya abstrak function untuk mewariskan interface kita bisa menggunakan kata kunci sore kita tidak menggunakan kata kunci extend melainkan kata kuncinya adalah implements Jadi kalau ada sebuah kelas yang pengen eh turunan dari Sinterklas kita pakainya bukan extend tapi implements nah berbeda dengan kelas kita bisa implement lebih dari satu interface Jadi kalau biasanya kan kalau selfie itu kan cuma bisa punya satu parents ya Nah beda kalau filenya adalah sebuah interface ya kalau interface itu boleh satu boleh dua bahkan tidak terbatas itu nggak ada masalah ya Jadi kalau extend itu cuma bisa ke satu kelas tapi kalau implements itu bisa ke lebih dari satu interface nah ini contohnya kita akan bikin sebuah interface namanya adalah care Hai kalau di sini kita punya function drive kita tidak perlu menyebutkan abstrak di depannya termasuk interfacenya juga tidak perlu menyebutkan abstrak Kenapa karena by default sudah abstrak Teh jadi nggak perlu disebutkan lagi abstraknya jadi sini function drive sama function get tired misalnya jadi ini semacam kita bikin interface sebagai kontrak kalau nanti ada sebuah kelas yang pengen bikin implementasi dari karr maka dia harus implement si interface kali ini Oke kita beke Project codenya Disini saya akan bikin karya lalu disini saya bikin m spacenya data kalau di sini kita bikin interface jadi interface karr lalu Disini saya akan bikin function drive hehehe disini unit sore kau unit void halo a function get to Your Heart Hai ini integer nah seperti ini jadi saat kita bikin sebuah interface semuanya otomatis abstrak jadi ini mirip kayak kita bikin abstrak abstract class Sebenarnya ya terus disini semuanya abstrak nah sama kita bikin seperti ini tapi kalau semuanya abstrak atau sebagai kontrak itu lebih baik Via Via interface kenapa kalau interface soalnya bisa mendukung multiple inheritance jadi boleh lebih dari satu ya inherit dari si interface beda kayak si eh abstract class each suka Ia kelas-kelas juga jadinya teman-teman cuma boleh punya satu parent class Oke misal sudah seperti ini nantinya sekarang kalo kita pengen bikin implementasi dari karr kita harus eh implementasi interface kali ini seperti apa ini contohnya jadi contohnya kita punya karya namanya Avanza lalu di sini kita implement karr haid Sebutkan si interfacenya Jadi bukan lagi penggunakan kata kunci X tapi pakainya implement nah boleh nggak digabungin antara implement the extent boleh nggak masalah yang paling penting itu ekstensi cuma boleh satu kalau implement bisa lebih dari satu oke jadinya disini kita bikin sebuah kelas Avanza contohnya ya tinggal implements karr kau teman-teman mau extend silakan di sini tinggal ekstensi filenya Manager ini Simpel simpel aja ya sampel seperti ini boleh seperti ini Eh tapi yang paling pasti nggak boleh lebih dari satu kalau ini kan kalau nanti interface bisa ya implement Sekar misalnya a x koma y koma z tuh boleh tapi kalau sih ekstensi cuma boleh satu oke ini saya hapus karena enggak butuh extend Oke artinya sekarang ini errornya Apa karena kita harus bikin semua implementasi dari si function abstrak yang ada di interface yaitu drive dan juga get Thayer Ok Disini saya akan pakai fitur auto generated nya phpstorm jadi drive seperti ini Hai jadi disini saya samakan ya drive Avanza kalau disini get Thayer ini returnnya misalnya 40 sama seperti ini Jadi sekarang kita sudah berhasil implementasi sih class Avanza ini dimana kita implements karr nah kalaupun ini dia interface tetap kita bisa pakai yang namanya polimorfisme ya ya teman-teman bisa bikin nanti parameternya adalah karr hate teman-teman masukin Avanza itu boleh karena dianggapnya Avanza itu adalah turunan dari karr jadi ini juga bisa digunakan untuk polimorfisme Oke jadi sekarang kita coba ini bikin ini ayah contoh kodenya jadi disini interface saya bikin nama file-nya kita akan bikin jadinya itu karr = New Avanza putih ini Hai Hah Di sini jangan lupa request Hah data karya Saito biar tidak perlu mengetikkan nama spesiesnya saya bisa pakai impor Oh impor sih use data Avanza nah oke seperti ini Jadi tinggal karr drive Heh kita coba nasional drive Avanza jadi sama aja semuanya seperti yang kode-kode yang di abstract class jadi ini interface Sekarang kita akan bahas tentang interface inheritance sebelumnya kita sudah tahu ya kalau di php Charles itu hanya bisa punya satu kelas veren namun berbeda dengan interface sebuah chagas itu bisa implement lebih dari satu interface seperti sebelumnya sudah kita bahas nah bahkan interface pun bisa implement interface lain Jadi kalau teman-teman misalnya punya kelas implement interface itu bisa implement interfacenya tuh sore interfacenya implementers yang lain itu juga bisa eh jadi bisa lebih dari satu bahkan nah cuma untuk interfacenya kalau dia perlu implementers yang lain itu pakai kata kuncinya bukan lagi implements tapi extend Memang agak sedikit membingungkan sih Eh di sini tapi nanti kalau sudah terbiasa nggak masalah ya oke contohnya disini Saya punya interface khas brand kita akan improved interface yang sebelumnya soal Karya Jadi kita punya headband habis itu ada is mantenan saya disini dia punya function aget Brandan di sini punya function is maintenance Oke cetakan buka dulu kode projectnya yang karr disini saya akan tambahkan jadi interface khas brand have a di sini kita punya Farm nugget brand havery nyari tanya string lalu punya interface is maintenance punya function is maintenance returnnya adalah Bulian Oke seperti ini misalnya Nah selanjutnya Misalnya shikari ini dia ekstensi headband itu boleh bisa jadi interface aksen interface itu boleh yang tidak boleh itu interface extensors itu enggak boleh tapi kalau extend interface dia boleh dan boleh lebih dari satu teh disini karr extends brand jadi sini extent as brand lebih dari satu boleh Enggak boleh come misalnya is maintenance itu boleh seperti ini kitab ini saya kasih contoh satu dulu aja disini nantinya Sekar otomatis dia extends brand kan Nah ini otomatis jadi errornya apa errornya kan kita implement karr sedangkan care itu extends brand jadi yang function jetbrain ini harus kita implementasi di dalam classic Avanza ini ya Temen temen di sini harus implementasikan get brand contohnya disini Kristen Toyota asperti ini jadi wajib diimplementasikan Nah selanjutnya kalau misalnya teman-teman selain Avanza ini implement karr teman-teman boleh implement interface lain contohnya adalah is maintenance jadi sini juga boleh implements karr kalau lebih dari satu tinggal tambahkan koma his maintenance nah ini error ya kenapa Karena dia belum implementasi function is maintenance edisi ini kita harus implement is maintenance disini misalnya Returns false Nah jadi sekarang kita sudah berhasil bikin kaos yang implement dua interface sebenarnya tiga interface sih cuma tidak secara eksplisit karena si kardia semuanya implements interface lain jadi secara tidak langsung semuanya kita enggak implement tiga interface ini untuk sih class Avanza jadi ini adalah pewarisan di dalam interface jadi dia bisa multiple inheritance jadi powernya bisa lebih dari 1 ok Sekarang kita akan bahas tentang trade selain kelas dan juga Interface di php terdapat fitur lain yang bernama trade mungkin di beberapa bahasa pemograman itu tidak ada yang istilah thread yah tapi di PHP itu ada Jadi kalau teman-teman sebelumnya belajar Java mungkin track itu enggak ada kalau di Java thread itu mirip dengan abstract class jadi kita bisa membuat konkrit function di dalam Tread bahkan abstrak function juga boleh di dalam trade nah bahkan properties pun bisa ya Jadi mirip kayak abstract class yang membedakan adalah di trade bisa kita tambahkan ke dalam kelas lebih dari satu kali buka 1 kali yang esnya lebih dari satu thread gitu ya jadikan kalau abstract class kan teman-teman cuma bisa mewariskan dari satu kelas yah intinya Nah kalau stretch itu boleh jadi vater itu bukan seperti pewarisan sebenarnya jadi lebih ke mirip seperti extension ya jadi kita kayak mau memasukkan beberapa atret ke dalam sebuah kelas itu bisa he Dimana kita bisa menambahkan konkrit function kedalam kelas ya dengan trade jadi dalam teknik kita tinggal definisikan konkrit functionnya atau juga absen boleh habis itu kita masukkan ke dalam si ini class secara sederhana trade adalah digunakan untuk menyimpan function-function yang bisa digunakan ulang eh di beberapa kelas jadi ini cocoknya kasusnya kayak temen-temen pengen bikin satu buah function yang general gitu ya Di mana kau nanti beberapa kelas bisa pakai punk senina temen-temen bisa seperti ini untuk menggunakan three di kelas kita bisa menggunakan kata kunci use Jadi mirip kayak mengambil kelas function atau konstan di dalam lem spesies jadi pakainya kata kuncinya Yus Seperti apa Nah sekarang kita akan fokus bikin Tread dulu jadi contoh seperti menjadi untuk bikin rezeki tapi kata-kata kuncinya adalah trade trade disini Nama outletnya misalnya say goodbye satu disini kita bikin function boleh pancen konkrit seperti ini ada body fungsinnya ada kalau teman-teman pengen abstrak langsung juga boleh nggak ada masalah Oke kita akan coba yuk Disini saya akan bikin sebuah file namanya say goodbye Heh oke di sini kita bikin trade say goodbye lalu di sini kita bikin function Goodbye di sini ada NEMnya Oh sorry kebalik string name ini void ya oke selesai Nah selanjutnya di sini ya simpel sih kita cek kalau misalnya isnul NEMnya ya berarti kita cuma eh kok Goodbye seperti ini l ya Eko Goodbye name selesai seperti ini jadi cukup simpel seperti ini teman-teman bisa boleh tambahkan properties kalau mau misalnya Eh ini saya set publik ya public soalnya di sini public string name itu seperti ini boleh bebas ya Jadi mirip kayak abstract class Jadi apa yang dilakukan di acara klasemen teman bisa Nah selanjutnya Gimana cara menggunakan Tresna untuk menggunakan three teman-teman bisa gunakan Yus jadi cengkeh di kelas version teman-teman Yus say goodbye ada Hello saya kita bikin 2 tret tret pertama saya khutbah yang kedua adalah Hello nantinya Apa artinya semua function properties dan juga abstrak ponsel yang ada di dalam say goodbye itu akan diinput ke dalam siklus version jadi ini mirip kayak extension ya oke di enggak kayak beneran pewarisan tapi beneran kaya extension eh disini saya bikin saya lo ya Jadi kita akan bikin lagi yang saya Hello ini saya chopass disini misalnya say Hello disini hello oke selesai Nah selanjutnya kita akan bikin ini versionnya Oke sebelumnya kita Udah punya ya version ya Nah ini udah ada PR seni kita tambahkan di sini aja atau biar enggak ngeganggu ini saya akan membuat aja deh yang baru ya Jadi kita bikin yang baru cuma beda interfacenya jadi ini kita akan eh jadiin 6 spacenya misalnya data trade Oke Tresna bisa ya karena jadi kata kunci ya Streets seperti ini sini kita bikin class version Nah jadi disini saya kosong kecilnya jadi kita gunakan Yus CY Goodbye koma CY Hello nah seperti ini jadi kalau teman-teman pengen menggunakan treadmill otomatis function say goodbye dan juga functions Hello Itu otomatis dimiliki sama siklus version ini Oke kita akan coba Jadi Disini saya akan coba Bikin a trade fair Regita ridwan's dulu data say goodbye lalu kita impor bukan impornya Yus Yus data Straits kita ambil yang person.she Hello dan say goodbye Ok asalnya kita bikin person = new version lalu teman-teman bisa lihat version lihat ada Goodbye dan Hello Jadi apa yang kita in Cloud di dalam sih atret ya Itu otomatis dimasukkan semuanya ke dalam class person jadi ada semuanya jadi kayak good bye bye ya Joko sama Hello Budi Oke kita lihat hasilnya di sini ya Ada Goodbye Joko dan Hello Budi jadi semuanya eh ke includ di dalam sih class person ini jadi bagian dari Saya bilang tttt bisa menambahkan properties ke dalam trade jadi berbeda dengan interface kalau interface itu kan kita cuma bisa memasukkan abstract class test sore abstrak function ya Nah kalau dithread itu beneran mirip seperti abstract class jadi kita bisa memasukkan konkrit function bisa masukkan abstrak pancen dan yang terakhir bisa masukkan properties dengan menambahkan properti secara otomatis tersebut akan memiliki properties yang ada di track Oke contohnya kita bikin Tread yang namanya harus name lalu kita tinggal atau Khan disini properties name lalu teman-teman dipercaya tinggal masukkan host name Dede otomatis dia akan punya name Oke kita akan coba lagi di sini batin saya bikin tret baru ya thread has name seperti ini kalau di sini tinggal public string name kau disini saya tinggal gunakan ah es name seperti ini Nah sekarang di sini saya bisa version name sama dengan Eko Nah kita pardam kita lihat hasilnya ngelihat ini objek ini ya version dia sekarang punya property name jadi seperti itu kalau teman-teman pengen menambahkan properti ke dalam sitrade cukup tambahkan si properti di dalam treadnya nanti ketika teman-teman input kedalam kelas maka siklus ini otomatis punya properti yang ada di Three tersebut Halo Sekarang kita akan bahas tentang trade of reading selain konkret function ya sebelumnya sudah kita bahas di thread juga kita bisa menambahkan abstrak function di kalau terdapat asam function di dalam thread maka secara otomatis function tersebut harus kita overnight di kelas yang menggunakan three tersebut jadi wajib geoffrey ah ah contohnya sekarang kita punya sebuah kelas Namanya Ken Ran Sorry bukan plastrade kain heran di sini kita punya abstrak function namanya Ran nah saat teman-teman input kedalam version contohnya ya menggunakan you scan Run maka secara otomatis teman-teman wajib mengoperasi function ini kalau teman-teman tidak mengoperasi pasien ini maka justru akan terjadi error Oke kita akan coba Jadi kita akan bikin Tread yang namanya kenran ya ya Disini saya akan bikin Trade Center and Halo Di sini kita bikin publik Aa Oke function namanya Ran void seperti ini Nah di sini kira-kira tambahkan sinikken Ran maka ini akan error code temen-temen Coba raning yang ini ngelihat error version contains one abstract method jadi dia itu memiliki satu abstract method atau function jadi harus joffrey Oke jadi ini kita tinggal flight saja Jadi tafrith ini tinggal misalnya version kita pakai eh this name karena sudah punya NEMnya dari Hasna Mini nah oke seperti ini Jadi sekarang kalau kita cobain herson Ran hasilnya version Eko israni jadi seperti ini Jawa teman-teman bahkan abstrak function ke dalam trade tematis Manteman wajib mengoperasi pasiennya nah Selain itu gimana dengan trade of reading Jadi jika sebuah kelas memiliki parent class yang memiliki fungsi yang sama dengan function di trade maka secara otomatis LED akan meng-cover pesan tersebut jadi masih seperti ini teman-teman saya punya class person ya Nah tadi atasnya itu ada kelas misalnya Aa gitu ya ternyata dia itu punya sebuah fase yang namanya Ran Nah otomatis itu akan ke overnight sama si yang ada di trade ya jadi hati-hati saat teman-teman ngelakuin semprot Iya namun jika kita membuat vaksin yang sama dalam kelas maka secara otomatis kita akan meng-cover function yang di trade jadi Posisinya itu seperti ini aktor atasnya jadi posisinya kalau teman-teman different Pas punya function ya dia akan teroret sama sitrat yang ada di trade ya ketika teman-teman memasukkan trade hai tapi kalau temen-temen bikin function dicat kelasnya maka sitrat ini akan teropet sama sih Curl class nah ko teman-teman bingung Oke kita lihat contohnya JAdi misal kita ngelakuin seperti ini ya Jadi kita bikin kelas version disana adalah oh Goodbye ada Hello Oke kita akan buat disini public function Goodbye seperti ini Goodbye inversion contohnya habis itu public eh function hello hello inversion Nah kita akan di sini bikin function ya didalam kelas persennya nah padahal kau shenyang dua ini ini ada dalam tret tret ini ya Nah karena pertanyaannya mana Yang didahulukan yah mana yang diprioritaskan atau mana yang meng-cover yang mana gitu ya akhirnya cobalah Ning ngapa teman-teman lihat keluarnya adalah Goodbye in person Halloween person jadi artinya ya yang diutamakan adalah yang ada di dalam sih version ini artinya kalau temen-temen ngenkot sebuah ini sebuah trade ya tapi ternyata function nya ada di dalam CV persen ini di dalam kelas yang menginputkan Citra tersebut maka yang diutamakan adalah sini Jadi artinya itu yang terop Raid itu adalah siang treadnya jadi treadnya to the Rovers masih kelas ini nah beda kalau ternyata punya peron contoh disini kita akan bikin kelas veren person kita akan pindahkan ke sini saya card nge-rap saya pindahkan ke sini ya lalu di sini kita extend veren version nah seperti ini Nah sekarang kita lihat siapa yang water overnight saranin lagi nah keluarnya adalah Goodbye Joko dan Hello Budi nantinya Apa artinya sekarang justru yang cepernya yang teroret sama si treadnya eh jadi seperti itu Jadi intinya yang different akan teroret sama si trade ya tapi yang si three tak anter overnight sama sih chat-nya jadi seperti itu Jadi ini tahapannya makanya tadi Sebelumnya saya masukkan penting ya jadi Peren itu akan troflat sama si trade tapi sitrat juga bisa The Overture masih cat bekasnya cat pakai itu ya adalah yang menginput sih track karena selain itu ya dithread itu kalau kita bisa melakukan overhead visibility function yang terdapat dalam tab Maksudnya apa sih ya namun sebenarnya untuk melakukan ini tidak perlu membuat vaksin baru dalam kelas ya kita bisa menggunakan sel sederhana ketika menggunakan trade namanya Apa sih Jadi maksudnya kalau teman-teman ada sebuah bangsa di dalam trade palsunya itu misalnya public atau nonton bisa overnight ganti Misalnya dari yang tadinya public menjadi protected atau privat Nah itu boleh caranya Seperti apa caranya seperti ini ya contohnya teman-teman kan menggunakan operaid say goodbye Say hello dan yang lain-lain ataupun tantangan rubah nih Hello nya menjadi private Nah tinggal gunakan Hello sp4b tanda kurung kurawal yaqroul buka kurung tutup Hello SP4 goodbyes pe4nah kalian ini Jadi tinggal tambahkan kurung kurawal seperti ini ya Temen temen tinggal di sini Hello es private contohnya ya terus Goodbye es private kalau seperti ini otomatis Hello dan gue akan menjadi prepare visibility nya Ko teman-teman coba running disini nah lihat error akses levelnya berubah ya harusnya publik tapi ternyata enggak public jadi ini kau teman-teman pengen meng-cover at Jadi silakan tapi kalau misalnya nggak mau ya tinggal dihapus aja seperti ini tapi kalau mau silakan di-upgrade Ini saya komen ya biar enggak error Oke bisa-bisa di overnight care seperti ini saling kecepatan yang lagi nah tidak ada error lagi jadi ini tentang trade jadi teman-teman bisa mengoprasi function ada di trade atau bisa meng-cover read-si parents menggunakan trade Sekarang kita akan bahas tentang trade konflik jika kita menggunakan lebih dari satu thread lalu ternyata function yang sama ada di trade jadi three pertama the kedua misalnya Hai teteh dua-duanya ada function dengan nama yang sama maka tak hal tersebut akan menyebabkan konflik dan otomatis terjadi error nah jikalau terjadi konflik seperti ini kita bisa mengatasinya dengan menggunakan kata kunci instead of jadi kita bisa memilih function yang mana yang akan diambil misal kita punya dua trade tetap pertama adalah trade dan zat yang kedua adalah trade Show di sini ada function namanya dua disini juga ada doa dengan dadu B dan di-share Nah kita akan coba ya jadi artinya kan 2tt Ini fungsinya sama semua ya Nah kita lihat Ok Disini saya akan bikin file baru ya file trade Oke jangan didata deh langsung di sini aja karena kan sampelnya cuma bohong-bohongan ya kita bikin di sini trade konflik Oke jadi kita bikin Tread ah dan trade b&h kita bikin function dua sama Dubai nah Kalo yang ini ternyata ini kita pakai huruf kecil ya penyok kecil nah kalau yang B Nikita baik Capital ini wah ini B Oke hatinya kita bikin 2 Tread ya teh pertama sama teteh yang kedua ini dua-duanya sama functionnya Nah selanjutnya gimana kalau kita akan menginput C2 Tread ini maka secara otomatis kenakan konflik Nah kalau konflik jadinya contoh seperti ini Kita bikin kelas sampel eh Nah di sini kita just a a koma B nah seperti ini nah ini akan error code teman-teman bikin sampel = n MP3 next terus sample doa dan juga Dubai kita lihat hasilnya Nah Lihat stretch method dua has not been applied because their collections jadi Ada Band rock ya Islam itu jadi ada dua function yang sama sore ada function yang sama di dua trade deh teman-teman enggak bisa ngelakuin tersebut ya teman-teman artinya kalo ada thread yang Collision gini bntrok konflik ya itu enggak akan bisa dijalankan siqode phpnya artinya Apa artinya ya kalau bisa sih jangan sampai kejadiannya jangan sampai ada konflik tapi untungnya di php ada caranya ya kalau teman-teman memang sudah kejadian konflik gitu ya mau gimana lagi Oke jadi caranya teman-teman bisa ketika menggunakan treadnya a koma b o teman-teman tambahkan kurung kurawal lalu di sini tinggal pilih misalnya kita ambil dari trade A2 instead B artinya apa untuk function doa itu ya Yuk kita akan pakai dari yang trade daripada yang B nah untuk yang Dubai contohnya Kita akan ambil dari B daripada yang a3d spatial nih ya teman-teman bisa lakukan seperti ini jadi teman-teman disini bisa tambahkan kurung kurawal seperti ini lalu tinggal a.it ik2 instead b&b misalnya dubey instead ah itu bisa seperti ini Nah kalau ini harusnya tidak error kita coba raning nah lihat hanya ini kecil ya Jadi kita tahu sekarang dua itu ya function dua Itu otomatis memanggil yang dari trade Kalian disini kita peretas nya menggunakan trade untuk dua daripada yang B nah yang banyak sekarang kita lihat huruf besar hatinya yang function Dubai ini berasal dari settrade B ini kalian di sini kita pakai prioritasnya yang B dibanding yang jadi seperti ini kalau terjadi konflik di dalam trade nonton bisa peretas in Mana yang mau dipakai Apakah treta atau fade yang keduanya Sekarang kita akan bahas tentang Tread inheritance sebelumnya kita sudah tahu bahwa kelas bisa menggunakan Tread lebih dari satu ya lantas Bagaimana dengan Tread yang menggunakan Redline jadi inheritance itu kalau trade bisanya ke Tread lagi ya Ja sama kayak kelas ke kelas nah tapi kalau interface kan ke interface lagi gitu ya Nah kalau teh juga sama dia cuma bisa ke trek nggak bisa terhitung mewarisi dari kelas itu enggak bisa stretch Itu harus dari track lagi natrep bisa menggunakan Redline mirip seperti interface yang bisa implement interface Thailand Nah untuk menggunakan thread lain dari Tread ya pengguna penggunaannya itu sama seperti dengan menggunakan trade ikhlas Jadi cukup menggunakan kata kunci use jadi nggak lagi extend atau implementasinya juice Seperti apa contohnya kita punya sebuah thread yang namanya call Hi Ho teman-teman pengen mewarisi beberapa Tread ya teman-teman tinggal gunakan juz Sebutkan treadnya yang mana jadi seperti ini Edi ini ya lebih bukan seperti polarisasi ya tapi lebih ke included yang lain jadi seperti inilah Ottoman teman dari track pengen Cloud bread yang lain oke kita coba Jadi kita modif yang tadi jadi yang sebelumnya treadnya Disini saya akan buat ya nama treadnya adalah old kau disini kita pindahkan yang juice ini nah seperti ini ya di sini Saya tidak perlu seperti ini jadi cukup oke ini kita pindahkan Hai semuanya eh disini Saya cukup menggunakan use old selesai jadi bisa seperti ini dan ini pun harusnya saya lihat getaran Ning kodenya Nah itu sayang error jadi seperti ini pewarisan dalam trade teman-teman kalau mau mengekstensi atau mengimplementasi istilahnya sih kayak menggunakan sih ya menggunakan set lain dari trade Yang sekarang kita gunakan Nah kita bisa menggunakan jus Jadi mirip kayak penggunaan kelas Sekarang kita akan bahas tentang final Crush kata kunci final bisa digunakan di dalam kelas nah di mana jikalau kita menggunakan kata kunci final sebelum kata kunci ikhlas maka kita menandakan bahwa kelas tersebut tidak bisa diwariskan lagi jadi artinya sudah final disitu terakhir jadi teman-teman enggak bisa bikin lagi sih cutnya dari siklus final tersebut jadi secara otomatis semua kelas selnya akan error ya Jadi kalau misalnya tadinya ada kelas cat teman-teman di servernya di final Itu otomatis semua kelas chatnya error karena kita tidak bisa membuat cat dari kelas yang sudah final Anda seperti ini kita punya sosial media lo teman-teman bikin Facebook deh jawabnya Oh teman-teman saya menjadi final artinya kalau ini sudah final Facebook ini tidak bisa diturunkan lagi Jadi kau teman-teman bikin Facebook contohnya Ini otomatis error Oke kita coba lihat di sini kita bikin sosial media sosial media lalu kita bikin named kita bikin kelas lagi disini adalah Facebook extend sosial media nah ini masih bisa tapi kalau teman-teman bikin lagi kelas fake Facebook extend sosial media ini juga bisa Kenapa karena artinya walaupun ini diturunkan kesini diturunkan yang kesini ini tetap bisa Kenapa karena tidak ada yang final kau teman-teman ini set jadi final Oke sorry ini Facebook harusnya at ini bisa eh Kalau teman-teman saya menjadi final Hai nah ini otomatis error jadi nggak nggak akan bisa lagi kalau teman-teman sudah different sebuah class itu menjadi final maka dia tematis tidak bisa diturunkan termasuk kalau disini teman-teman set menjadi final maka Facebook pun tidak bisa jadi turunan si sosial media ini ya temen-temen Kalau merasa Oh pengen kelasnya ini sudah fenol tidak boleh diturunkan lagi silahkan temen-temen tambahkan kata kunci final ya di depan siklusnya Maka otomatis ini akan error jadi ini adalah final Crush Sekarang kita akan bahas tentang final function kata-kata kunci final juga bisa kita gunakan di function tidak hanya di flash jikalau sebuah function kita tambahkan kata kunci final di depannya maka artinya function tersebut tidak bisa lagi di overnight ya oleh class turunannya Jadi kalau class diset final tidak bisa diturunkan tapi kalau function design Alba tidak bisa di overnight sama kelas turunannya nah ini sangat cocok jikalau kita ingin mengunci implementasi dari sebuah metode atau function agar tidak bisa diubah lagi di kelas turunannya ya atau kelas chatnya JAdi misal Yang sebelumnya Yang Facebooknya tandanya final ya kita kita lepas finalnya jadi dia bisa di offline lalu kita bikin di sini sebuah function yang namanya login contohnya lalu kita set menjadi final nantinya kau teman-teman bikin class turunannya kalau teman-teman coba overnight function login maka otomatis tidak bisa Hai Oke jadi sini misalnya kita hapus ya yang final nah ini kita bikin public function login misalnya string username the string password returnnya Bulian contoh saja ini ya sanyari ternyata terus saja ini silahkan teman-teman ini cuma sampel ya Nah di sini kan teman-teman bisa Freya di Facebook ini cengkeh rumahnya di rutan fans Fals nah ini boleh tapi kalau temen-temen set menjadi final sebuah function maka ini error tidak akan bisa lagi di overnight jadi itu Jadi kalau final class tidak akan bisa lagi diturunkan tapi kalau final function tidak akan bisa lagi di overnight dikau teman-teman merasa ini function kalau bisa jangan di Opera gitu ya enggak aman kode Freed Nah teman-teman tinggal set fungsinya sebagai final maka ini otomatis error tidak akan bisa lagi di overnight sama si turunannya Halo Sekarang kita akan bahas tentang Anonymous Crush Anonymous pas atau media adalah kelas tanpa nama Nah ini apa jadi Anonymous kelas itu adalah kemampuan mendeklarasikan class sekaligus menginspirasi obyeknya secara langsung jadi bikin class langsung sekaligus bikin obyeknya Nah itu adalah Anonymous kelas Anonymous kelas sangat cocok ketika terdapat kasus ya jadi misalnya kita pengen implementasi sebuah interface atau bikin abstract class sederhana tanpa harus membuat implementasinya terlebih dahulu jadi kan biasanya kalau teman-teman pengen bikin objek untuk sebuah interface ya dari dalam polymorphism cuman teman-teman harus bikin cpcnya dulu ya atau dari abstract class ya teman-teman bikin soalnya dulu baru bisa dibikin obyeknya dengan menggunakan Anonymous kelas teman-teman bisa langsung bikin obyeknya dari sebuah interface atau abstract class nah Biasanya sih ini digunakan untuk kasus-kasus sederhana kalau kasusnya com Hai banget disarankan sih walaupun bisa Ayah menggunakan on my muscles tapi lebih disarankan tetap bikin class yang eh tidak fitrahnya Oke contoh Seperti apa contohnya kita punya semua function yang nama Australia bukan Farhan interface ya namanya Hello world di sini ada sebuah functionnya namanya say hello nah misal kita pengen bikin objek dari interface Hello word Nah untuk membuat objek Ini kan teman-teman harus bikin kos dulu ya bikin kelas nanti implementasi hello-world nah Cuma mungkin kadang-kadang ada kasus ah terlalu ribet kalau kita bikin pas dulu mendingan pengen bikin langsung gitu ya dari interface nah ini kita bisa menggunakan Anonymous kelas caranya seperti ini Oke kita akan bikin dulu aja si interface sewotnya jadi Disini saya akan buat file baru namanya Ano nymous Crush kita punya interface hello-world contohnya ya di sini kita punya function apa tadi saya hello Hai seperti ini nah biasanya kan kita harus bikin kos dulu ya kelas misalnya sampel hello-world gitu ya ya dia implement hello-world seperti ini ya nanti kita baru sih Hello disini misalnya Eko Hello word nah habis selesai ya baru kita bikin obyeknya hello-world = new sampel hello-world seperti ini baru kita Hello World Say hello nah cuma kan ini kan kalau sudah sederhana sekali dan jadinya agak sedikit ribet kalau kita bikin kos dulu seperti ini ya nah jadi alangkah baiknya kalau kasus info seperti ini lebih baik teman-teman bisa gunakan Anonymous Classy teman-teman Gak perlu bikin kelas ini dulu Nah kalau nggak perlu bikin ke sini dulu Seperti apa cara pembuatannya jadi jadi sini teman-teman bisa bikin objek langsung dengan deklarasinya jadi makanya dibilangnya Anonymous kelas-kelas tanpa nama Hai jadinya teman-teman bisa gunakan seperti ini new class langsung implement hellowork jadi kayak bikin kelas langsung wh-word tapi langsung dibuat jadi objek he work jadi new class implements Hello word seperti ini how disini saya Hello Eh disini teman-teman tinggal Eko hello-world selesai jadi ini adalah Anonymous class-class tanpa nama kalau disini kita tidak punya nama siklusnya Jadi biasanya kasusnya kalau teman-teman pengen bikin sebuah objek interface atau abstract class yang tidak bisa langsung dibikinkan ya teman-teman bisa bikin menggunakan Anonymous Crush nih kalau kita traning nah hasilnya Hello word ya keluar jadi bisa seperti ini nah Selain itu sih Anonymous pancen asu raimu Sekelas juga dia mendukung konser Paul jadi kita bisa menambahkan kontraktor jikalau kita memang mau contohnya misalnya kita pengen bikin kontraktor di teman-teman tinggal bikin function kontrak di sini ya nanti ketika pemanggilan kelasnya new class tahu teman-teman saya tinggal masukkan sih parameter atau argumen si kontraktornya jadi disini misalnya saya akan buat public string name lalu kita bikin public of function kontrak named Sorry string name he halo kita ubah this name menjadi name eh artinya disini dia punya kontraktor name maka disini temen temen bisa masukkan parameternya atau argumennya contoh disini Eko polisi Nikita Hello ganti this name nah dikau temen-temen menambahkan kontraktor dalam Anonymous kelasnya teman-teman bisa tambahkan Hai kontraktornya disini saat pembuatan new class nya ini kalau kita running hasilnya Hello Eko jadi seperti ini tentang Anonymous class jadi ane meskipun teman-teman support kontraktor bahkan best actor dan yang lain-lain yaitu sama ya semuanya didukung sama sih Anonymous class Sekarang kita akan bahas tentang Static keyword kata kunci Static adalah keyword yang bisa kita gunakan untuk membuat properties atau function dikelas ini kalau kita tambahkan sebuah Static ya sore keyboard Static di dalam properties dan juga function maka dia bisa diakses secara langsung tanpa instansiasi kelas terlebih dahulu jadi ini mirip kayak konstan Jadi kalau konsen itu kan levelnya di kelas ya bukan di objek Nah teman-teman bisa rubah sebuah properties atau juga sebuah function levelnya jadi class dengan cara menambahkan kata kunci Static nah tomat Hai dia tidak perlu diinstansiasi dulu untuk bisa diaksesnya bahkan mungkin tidak Nempel Lagi di objek ya kalau kita tambahkan kata kunci Static namun ingat saat kita buat sate properties atau function secara otomatis hal ini tidak akan berhubungan lagi dengan class intense atau objek yang kita buat jadi kalau sudah properties teman-teman tambahkan kata kunci Static atau function kata kuncinya Static tambahkan Ya otomatis dia terlepas dari objek dia teman-teman tidak akan bisa manggil si pasien tersebut dari objek lagi bahkan propertiesnya pun hilang dari objek Jadi dia langsung nempel ke si class untuk cara mengakses sate properties atau juga function sama seperti mengakses konstan kita bisa menggunakan operator titik dua titik dua jadi nama kelasnya 3.2 nama konstan kan biasanya sekarang batin nama kelasnya dari 2.2 nama properties dan juga atau nama si functionnya satisfaction tidak bisa mengakses function biasa Kenapa karena akan sudah beda ya beda areanya satu di objek nempelnya yang satu lagi di kelas Hai episode pasien tidak bisa memanggil function biasa mah karena paksaan biasa menempel pada class instan sedangkan sate pasien tidak jadi sate pasti itu cuma bisa mengakses properti statik atau konstan atau Static function yang lain Jadi yang Static function yang a series of function yang non-static itu tidak bisa diakses Contohnya seperti ini Jadi biasanya Tuh kebanyakan orang menggunakan Static yaitu Static function untuk satu properties itu biasanya untuk kelas-kelas helper atau utility jadi dia itu tidak butuh diinstansiasi dulu contohnya kita punya misalnya Mad helper kalau kita bisa ditambahkan disini propertinya misalnya public Tata public string disini Static ya Nah ini teman-teman untuk mengaksesnya teman-temannya gunakan Mad helper 3.26 Oke jadi kita coba buat ya di sini data kita akan Oke kita bikin file ini aja folder baru namanya helper Oh disini kita akan bikin Mat Ayo kita bikin m spacenya helper selanjutnya kita bikin classnya Mad helper jadi sini misalnya teman-teman public string name = Mattel per Halo teman-teman pengen jadikan sate tinggal tambahkan saat ini depannya artinya saat teman-teman mengakses lem di sini ya jadi teman-teman tidak bisa menggunakan objek lagi tapi menggunakan sih class.ok Coba kita bikin di sini file baru namanya Static kita requirements dulu helper Halo Imran yusya helper selanjutnya disini kita akan kalau teman-teman Coba bikin Mat helper = newmart helper Mad helper itu NEMnya tidak ada ya Hilang deh kau temen-temen coba sekarang Ning Nah Lihat and Divine properti populernya tidak ada kita mengakses Static property name ya jadi nggak bisa ya teman-teman enggak bisa lagi Via objek J untuk mengaksesnya teman-teman harus gunakan nama classnya Halo di sini name seperti ini dan keluarnya adalah Mad helper Nah karena dia sebuah properti jadi dia bisa berubah juga kalau pangan rubah tinggal Mad helper name sama dengan misalnya Eko Kurniawan seperti ini maka otomatis dia akan berubah tidak tambahkan Entar dulu ya Nah Lihat berubah ya Eko Kurniawan Eko teman-teman bikin property yang saat itu otomatis properti tersebut bisa di rubah Ya nah tapi kalau teman-teman pengen serta nggak bisa dirubah ya ya Man bikin properti ya tapi bikin konstan aja Oke jadi ini adalah properti yang Static Nah selanjutnya ini yang function yang Static jadi cotton bikin function diastatic maka otomatis dia akan bisa diakses langsung dari kelasnya tanpa harus bikin obyeknya dan otomatis dia juga tidak bisa memanggil function yang lain yang bukan Static dicentang kita bikin Sam ya bikin Static functions om kalau disini teman-teman bisa gunakan matherboard 2.2 Sam Oke kita akan coba buat ya Disini saya akan buat Static public function Sam ya Oke kita bikin total kita for each number s60h kentalnya kita + = number nah selesai seperti ini jadi kita bikin Static function jadi caranya ya teman-teman tinggal threshold misalnya sama dengan mad helper ya Sam tinggal Masukkan saya 10 10 10 10 10 sebaran Ing Ngarso nyaris out-nya 50 ya dari penjumlahan semua ini Jadi ini tentang Static function dan juga Static properti ya Jadi kata kuncinya adalah Static nah biasanya Static digunakan untuk bikin function atau properti yang tujuannya itu helfer emang enggak enggak harus bikin objek dulu gitu ya untuk membuat atau memanggil sih function tersebut makanya Biasanya sih utility utility gitu ya entah itu nama kelasnya adalah empat telepon atau mati util atau apapun itulah ya yang pasti dia untuk diteliti biasanya anakan shih Static quart ini sekarang kita akan bahas tentang STD class STD class adalah kelas kosong bawaan dari PHP SD kelas biasanya digunakan ketika kita ingin melakukan konversi dari tipe data lain menjadi tipe data objek eh sedekah sangat berguna ketika kita misalnya ingin melakukan konversi dari tipe data array contohnya pengen dikonversi menjadi objek secara otomatis jadi SDK situ kalau teman-teman berasal dari bahasa pemrograman java script ini mirip kaya obyeknya gitu ya di javascript Jadi kalau misalnya habisnya kan kita sering tuh melakukan konversi dari si Arai menjadi sih objek javascript Nah ini bisa dilakukan di php menggunakan STD kelas termasuk kebalikannya dari objek menjadi Arai itu juga bisa menggunakan STD kelas seperti ini Oke contohnya jadi untuk melakukan konversi misalnya ya dari Arai ke dalam metode klaseman teman cukup sangat cepat Kinara Ayu ya di sini bikin Arai hal untuk konversinya cukup gunakan seperti ini objek nanti saya otomatis semua arah ini akan dijadikan objek sama sih PHP caranya Seperti apa caranya yang Kiki ini dia akan dirubah menjadi properti di dalam SI obyeknya Oke kita akan coba ya Jadi kita akan bikin disini file namanya STD kelas kita akan bikin Arai misalnya Arai first name a Hai jadi Arahnya ada firstname Indonesia juga classname Nah di sini kita pengen rubah menjadi objek kalau Andaikan mengaksesnya kan Arai terus gini ya Fort seperti ini Nah kalau obyekan enggak obyekan seperti ini nah seperti ini nah ini kita bisa ganti dari Arai menjadi sebuah objek dengan cara menggunakan misalnya objek sama dengan seperti ini konversi objek Sorry objek dari Arai nah ini semuanya dia aku otomatis dikonversi menjadi object class namanya adalah STD Crush demo temen-temen Coba pardam ya obyeknya kita lihat hasilnya nah dia menjadi STD + TTD kasih mungkin kepanjangan dari standar Pa Iya eh STD kelas seperti ini Jadi dia otomatis dibikin STD class Oh di sini ada Force name ada middle name juga adalah Namja temen-temen Nah sekarang bisa gunakan plus namanya seperti ini tinggal objek first name seperti ini Ini tinggal middle name last name seperti ini Percobaan Ning naasnya seperti ini Force namanya Eko middle NEMnya Kurniawan dan last yang Kennedy jadi ini kalau teman-teman pengen konversi dari Arai menjadi objek jadi dia itu implementasinya adalah STD kelas termasuk kalau misalnya teman-teman konversi dari yang seach Suga bisa jadi cukup misalnya Arai lagi sama dengan Arai ini objek tinggal teman-teman pardam Arai lagi kita lihat hasilnya Nah lihat dia menjadi Arai lagi ya seperti semula ada flash-nya ada magnetnya adalah slime-nya jadi seperti ini ya teman-teman juga dari array konversi qobject menjadi STD kelas ya obyeknya dan bisa dibalikin lagi ke Arai atau kalau temen-temen punya kau cantik kita punya version ya di sini ini juga bisa sebenarnya bisa dikonversi menjadi Arai jadi contohnya kita punya person = new version kita Ridwan dulu Ridwan data version.com ya di sini kita perlu NEMnya Eko addressnya misalnya Subang Nah ini kan berarti dia kalau kita pardam dia versionnya tapi dia bukan STD class Nah Lihat kersen ya dia bukannya Shade klubnya ya Nah selanjutnya kau teman-teman pengen konversi menjadi Arai ternyata juga bisa lakukan seperti ini jadi Arai verson = Arai disini version kalau kita pardam Arai version tersebar Aning nah hasil ya ini Arai isinya semua properti yang ada di dalam objek sih version ini jadi semua properti ini ya akan dijadikan Ki di dalam siarannya jadi Ini kalau dipepet lebih enak kalau teman-teman pengen konversi dari sebuah objek menjadi Arai itu bisa langsung otomatis ya menggunakan konversi Arai seperti ini Nah kalau teman-teman dari Arai pengen menjadi objek itu ya otomatis dia akan merubahnya menjadi si STD + jadi ini tentang STD class di-php-in Sekarang kita akan bahas tentang objek iteration saat kita membuat objek dari sebuah kelas kita bisa melakukan iterasi kesemua properties ya yang terdapat di dalam objek tersebut menggunakan porij jadi perulangan for each jadi perulangan for itu tidak hanya bisa kita gunakan untuk melakukan perulangan terhadap Arai tapi juga bisa akan perulangan terhadap objek nah Cuma bedanya ketika kita melakukan vorich ya untuk objek itu yang akan kita ambil kynya adalah propertinya dan videonya adalah video dari si propertinya nah hal ini mempermudah kita saat ingin mengakses semua properti yang ada di objek tapi Inget ya obyeknya cuma yang bisa diakses dari luar Storia propertinya cuaca diakses dari luar hatinya yang visible itunya privat dan juga protective itu tidak bisa diakses jadi cuma yang public saja yang bisa diakses jadi secara default hanya properti yang public yang bisa diakses oleh for each contohnya kita punya sebuah kelas namanya data kita bikin di sini beberapa Oh properti Halo Di sini ada yang public eh ada yang privat dan ada juga yang protektif nah habis itu kita coba Bikin dan kita lihat kalau kita melakukan perulangan porridge kira-kira yang keluar yang mana saja Oke kita coba disini jadi Disini saya akan buat file namanya objek Interaction ya Ayo kita akan bikin kelas data kita akan bikin yang far pertama ya Farhan string name Astoria versajaya 1234 Dadi second test keempat nah ini kita set menjadi publik far juga sebenarnya halusnya pabrik sama saja ini privat dan yang ini protected Oke kita akan isi langsung ya biar tidak perlu diisi manual ini first second chord dan juga keempat Oke kita akan coba buat data = n lo kita lakukan perulangan menggunakan vorich ya data es misalnya Hai value-nya atau disini lebih enak properti Ya value-nya seperti ini lalu kita Eco property value er Oke sekarang kita lihat hasilnya lihat yang keluar adalah Force dan juga second Kenapa karena versi to public ya second juga dia public nah yang privat dan protektif ini otomatis tidak bisa diakses dari luar karena Kanya diakses dari luar Jadi ini kau temen-temen pengen melakukan iterasi ya objek Interaction jadi melakukan iterasi terhadap data-data yang ada dalam sebuah objek jadi ini caranya nah sebelumnya kita melakukan atraksi data di properti secara otomatis menggunakan vorich nah jikalau kita ingin menangani hal ini secara manual jadi ada-ada ini Yah ada caranya kalau pengen manual Nah kita bisa menggunakan sebuah interface yang namanya i faktor fitrotul interface yang digunakan untuk melakukan iterasi terhadap sebuah data nitrat adalah interface yang digunakan untuk melakukan iterasi namun pembuatan iterator secara manual itu lumayan cukup ribet bukan cukup ribet lagi sih memang ribet sekali kalau teman-teman bikin manual nah Oleh karena itu Sekarang kita akan menggunakan yang namanya salah satu kelas implementasinya atau turunannya yaitu adalah Arai iterator yaitu iterator yang menggunakan array sebagai data iterasinya dan agar kelas kita bisa di teras secara manual kita bisa menggunakan interface iterator agregat ya identik kelas kita tinggal tambahkan implementasi iterator agregat nah di sana kita hanya butuh meng-cover sebuah function namanya get iterator kalau tinggal kita balikan objek iterator nya oke Seperti apa jadi seperti ini contohnya ya teman-teman tinggal yang data tadi implement agregator Sorry telat ora grade di sini ya teman-teman tinggal implement iterator agregat ini closure interface bawaan dari si PHP jadi otomatis ada kau temen-temen lihat isinya isinya apa sih isinya seneng sederhana ya dia cuma awet rotor Agregat Dan di sini ada sebuah abstrak function namanya get titrator nah ini yang perlu teman-teman buat dia teman-teman perlu membuat iterator teman-teman kalau mau lihat dokumentasinya ada di sini ya iterator anda disini juga iterator agregat Jadi teman-teman butuh ini nah ini extend traversable tapi tenang dapat hebat tuh nggak ada apa-apa enggak ada function apa-apa iterable juga tidak ada pasien apa-apa ini coba sebagai penanda kalau ini adalah objek iterasi travel medicine yang paling penting yang paling mereka teman-teman sekarang butuh bikin function get iterator kece disini kita akan bikin get iterator nah seperti ini Nah untuk di terator itu teman-teman wajib mengembalikan objek iterator jadi objek iterator ya iterator Nah ini iterator itu kau teman-teman bikin sendiri itu ribet sekali ini coba saya close teman-teman harus bikin iterator dan di sini ada banyak function ada function karena ada function next ada function key ada Pranks invalid ada Bank Century when ini harus ngikutin sesuai speknya speknya agar didokumentasi ini ada di halaman PHP update.net manual ada dan ini ribet banget tapi untungnya udah banyak kelas turunannya contohnya kalau teman-teman lihat di sini kelas turunannya adalah contohnya Arai hidrat or nah ini sudah ada Arai ternyata itu simple jadi kita akan bikin iterator dari sebuah Arai arahnya dari kontraktor ini dan semuanya ini udah diimplementasikan sama si Arai iterator jadi kita bisa pakai arah iterator untuk membuat titrator Sebenarnya masih banyak yang lain ya Ini lihat masih banyak bahkan yang bawaan database juga ada nanti mungkin kita bahasa di materi database ya PHP database jadinya banyak sekali jadi dengan kita implementasi teratur kita bisa melakukan perulangan ya tanpa harus manual lagi menggunakan indeks jadi ini ya Jadi ini iterator kita berarti akan bikin iterator yaitu satunya adalah iterator = new Arai iterator Oke disini adalah arahnya nanti kita akan buat batin saya tinggal riten hidrat or seperti ini selesai Oke jadi sekarang kita akan buat arahnya Arai sama dengan ya simpel kita tinggal bikin Arai disini Saya ingin Expo semuanya kalaupun di sini private ya dan juga protective tapi kan kalau di dalam vaksin ini sendiri bisa diakses ya jadi saya akan balikan Force ini dari this first he disini second the dan Fort jadi ini kita ambil dari second ini dari the dan ini dari Fort nah seperti ini akhirnya kita bikin Arai yang ada isinya for second tepat ya kita 1234 nya ada lalu kita balikan sebagai Arai terator ini atau kalau di singkat langsung riten new Arai iterator arahnya disini nah seperti ini nantinya sekarang ketika teman-teman lakukan perulangan for each maka otomatis di php akan manggil sih function in IG titrator jadi dia bisa tahu ya kalau saya teman-teman implementator agregat dia akan memanggil function nya adalah get iterator nanti arah yang ini yang kita balikan diarah iterator dia akan jadikan sebagai titrasi di sini oke kita lihat hasilnya Nah lihat sekarang hasilnya ada first second Teleport jadi semuanya ada di seperti ini kalau temen-temen pengen bikin iterasinya manual di teman-teman pengen proved data apa aja yang di ekspos contohnya contohnya mungkin ada beberapa data yang sensitif yang tidak mau teman-teman export xontohnya walaupun public misalnya kalau data user ya ada password misalnya jadi passwordnya teman-teman enggak mau Expose keluar jadi nanti disini di GT teraturnya teman-teman tinggal hilangkan sih data passwordnya jadi otomatis ketika di terasi yang keluar cuma data-data memang yang pengen kita keluarkan seperti ini Jadi ini caranya objek iterator atau iterasi di php Sekarang kita akan bahas tentang general Store sebelumnya kita sudah tahu bahwa untuk membuat objek yang bisa di teras kita bisa menggunakan iterator eh namun pembuatan yang teratur secara manual sangat ribet makanya sebelumnya kita menggunakan array iterator nah tapi sebenarnya di php terdapat fitur yang namanya generator yang bisa kita gunakan untuk membuat iterator secara otomatis hanya menggunakan kata kunci heels jadi ini lebih sederhana lagi dibanding yang sebelumnya sudah kita gunakan ya sudah kita buat jadi seperti apa jadi seperti ini contohnya jadi bisa kita punya function namanya get ganjil dimana kita pengen bikin iterator ya ganjil dari satu sampai maksimumnya dari parameter ini nah disini teman teman bisa bikin seperti ini jadi menggunakan perulangan contohnya ya kalau misalnya dia datanya ganjil kita tinggal ytp otomatis dengan menggunakan Hyuk dia akan menjadi terator di teman-teman disini tidak perlu butuh lagi menggunakan kata kunci riten nggak perlu bikin Arai terus masukin datanya ke arah itu nggak perlu teman-teman Langsung yd1 ini Langsung balik hanya sebagai iterator jadi ini simpel sekali teman-teman kalau mau bikin iterator cukup menggunakan kata kunci heel Oke kita akan coba dan kita lihat perbedaannya kalau kita bikin pakai Arai dan juga pakai ini ya pakai yield function bukannya bansos kword oke di sini kita akan buat satu file namanya generator Oke kita akan bikin function get genap Ya ini yang genap ini kita akan bikinnya pakai iterator manual ya pakai area jadilah bikin Arai = kosong jadi nanti ini di sini tinggal read the new Arai iterator Arai seperti ini jadi yang kita lakukan di sini pakai perulangan for i = h misalnya dari satu ya yg kurang dari sama dengan Max ini ih ih plus-plus Oke selanjutnya batik kita cek ya kalo inget di modul O2 = 0 artinya genap ya kita tambahkan Arai = i seperti ini nah ini Jadi selesai ini yang genap Sorry bukan kenal ya kenapa jadi coba kita lakukan perulangan ya kita akan for each get genap misalnya 100s of value Eko genap value Oke kita coba raning hanya keluar semuanya yang genap nah ini kalau menggunakan arah iterator ya secara manual Nah kita akan bikin yang ganjil yang ganjil kita bikin pakai Heels jadi nanti lihat bedanya Oke saya akan chopass ya biar cepat jadi disini adalah get ganjil di sini teratai tetap diisi jadi disini Saya tidak perlu menggunakan array lagi dan saya tidak perlu menggunakan array terator Saya cukup di sini langsung ke field-field ini sama dengan satu nah lihat lebih simpel sekali ya teman-teman nggak perlu lagi bikin are gak perlu masukin selama literatur nggak perlu masukin datanya ke Arai tinggal langsung yield satu ini kalau kita lihat hasilnya kinerja sama ini get ganjil ya ganjil sekali hasilnya nah keluar yang ganjil jadi ini menggunakan generator atau kata kuncinya adalah heel itu teman-teman bisa bikin erator ya langsung menggunakan seperti ini kalau teman-teman perhatikan yang sebelumnya sebelumnya itu kita bikin juga ya Di mana nih sebelumnya objek iteration ya Nah di sini ini juga teman-temannya bisa ganti menggunakan yield jadi contohnya i saya akan coba saya komen ya biar enggak hilang kita akan coba disini jadi sini teman-teman tinggal gunakan yield seperti ini help help your lagi Jadi cukup seperti ini nah ini kalau kita running nah hasilnya sama jadi bayangkan teman-teman sekarang bisa bikin iterator lebih simple Enggak pula dibikin pake iterator manual ya apalagi bikin tato sendiri enggak perlu ngebikin Arai teman-teman bisa langsung bikin menggunakan yield Jadi nanti dia otomatis akan menjadi sebuah iterator ini kalau ke value ya kalau ada kakinya atau value-nya dan ini kalau teman-teman tidak butuh Ih langsung videonya saja deh Bisa langsung yield value nya kalau butuh ke value bateehill value-nya apa dan tanda sama dengan lebih dari ada tanda panah lalu disini value-nya jadi ini adalah objek generator eh untuk menjerat ke teratur secara otomatis Sekarang kita akan bahas tentang objek kloning kadang kita ada kebutuhan untuk menduplikasi sebuah objek Jadi beneran menduplikasi ya Jadi mau bukan menggunakan objek yang sama Bukan tapi beneran pengen bikin objek dari sebuah objek yang sudah ada nah biasanya untuk melakukan hal ini kita biasanya membuat objek baru lalu kita menyalin semua properties nya ke objek dari objek awal ke objek yang baru bisa kita lakukan seperti ini Nah ini kan terlalu manual ya dan Lumayan capek juga play kalau propertinya banyak kayak sampai puluhan gitu itu capek banget kita harus copy dari suatu objek code yang lain nah untungnya di PHP itu mendukung namanya objek kloning kita bisa menggunakan perintah clone ya untuk membuat duplikasi objek Jadi beneran di duplikasi datanya Nah secara otomatis semua properties yang ada di objek awal akan diduplikasi ke objek baru Contohnya seperti apa Oke contohnya kita punya satu objek namanya student 10 kita bikin new student kalau sudah satu ya kita sheet1 id-nya NEMnya Eko versinya 100 lalu kau teman-teman pengen ngelonin semua data ini menjadi objek baru teman-teman bisa pakai student 2 = crown student satu maka otomatis kita akan dibikinkan sebuah student baru disini objek student baru lalu semua properti ini akan di copas ke si objek yang kedua jadi ini caranya untuk mengkloning enggak duplikasi objek jadi PHP tuh sederhana sekali Oke kita akan coba ya di sini sepertinya yang sebelumnya kita udah bikin ya eh belum belum Kayaknya sudah Nokia belum kita sambil bikin aja ya di sini kita akan bikin sebuah file namanya objek kloning aw dalam data kita akan bikin student-student kita bikin class student he hal kita bikin public string ID selanjutnya named dan value chain m dan value ini name string juga cuma kalau value-nya adalah integer Nah jadi seperti ini kita coba ya kloning saya requirements dulu data student hall kita bikin student 1 = n den selanjutnya kita set id-nya menjadi satu lalu NEMnya kita rubah dan juga value-nya kita rubah ini Hai ini Eko Nah sekarang kalau kita pardam student satu hasilnya keluar seperti ini ya objek student dan videonya ini Oke sekarang kita kloning jadi kalau mau kloning teman-teman bisa bikin variabel student dua misalnya nah disini teman teman bisa langsung clone student satu maka secara otomatis akan dikloning semua propertinya yang ada di student satu ini ke student 2jt teman-teman nggak perlu bikin lagi new students gitu ya bisa itu diset kalau mainkan secara kroninya otomatis kalau manualnya kan teman-teman gini ya student 2 = new students student dua ide nya diambil dari student 1id kayak gini ya ikan manual banget deh bayangin kalau misalnya propertinya banyak gitu ya ini kita capek banget gitu seperti ini ini manual gitu Jadi ini cara manual teknik saya kasih komen cara manual clone ini kita komen nah ini secara otomatis ya jadi memang cukup satu kata kunci clone ini kalau kita pardam capra Oke padamnya rasa yang kedua Sorry Fanning Nah kita lihat hasilnya sama id-nya satu NEMnya Eko value-nya 10 nah gimana kalau salah satu datanya itu private contohnya disini public string sample ini sore ini private ya kita bikin set the sample disini untuk mengubahnya jadi disini kalau kita lihat samplenya masih anime Slice ya di sini saya rubah student 1set sample smuanya Sera Ning melihat sampel ini kan private ya XXX n perhatikan lihat ini dikloning jadi pokoknya semua properti yang ada di dalam obyeknya entah itu yang privat atau itu yang protected ataupun yang public itu semuanya akan dikloning jadi bayangkan Bagaimana powerful nya sih kata kunci klo nih bayangkan kalau teman-teman manual ini bingung kalau mau ngloning sih data yang private nggak bisa ya udah nggak bisa lagi apa ya kalau tidak ada getter dan juga setornya itu udah nggak bisa diapa-apain lagi jadi ini teman-teman kalau pengen ngelakuin kloning jadi jangan lakukan manual jadi teman-teman silahkan gunakan kata kunci sih clone di PHP itu ada sebuah function yang namanya underscore underscore clone ya Hai kadang menyalin semua properti bukanlah yang kita inginkan misalnya teman-teman memang tidak mau menyalin semua properti misalnya teman-teman pengen menyalin ya kita bisa ya pengen beberapa properti saja tidak ingin semuanya jadi contohnya dari lima properti tadi teman-teman cuma pengennya Linenya tiga saja misal Pengen seperti itu Nah jikalau kita ingin memodifikasi cara PHP melakukan clone kita bisa membuat function didalam kelasnya dengan nama panggilannya adalah underscore underscore clone Thanks infony akan dipanggil di sebuah objek hasil duplikasi setelah proses duplikasi selesai jadi Maksudnya seperti ini setelah teman-teman ngelakuin kloning ya hoodienya selesai semua properti Sudah dicopy ya Nah lalu function call ini akan dieksekusi jadi Setelah semuanya dicopy semua Bang sencon ini baru dieksekusi Nah jadi kalau kita ingin menghapus beberapa properti kita bisa lakukan di function clone jadi setelah face kloning teman-teman boleh ngelakuin apapun misalnya menghapus beberapa data itu Boleh silakan diffraction crownnya Oke jadi ah lurus seperti ini ya Jadi yang pertama itu student satu habis itu di clone jadi student dua ya setelah itu baru student dua di panggil si function kliennya seperti ini dia tahapannya tetap akan diklon dulu semua propertinya supaya itu baru di panggil function kliennya jadinya otomatis akan dipanggil function keluarnya kalau memang ada kebetulan kita nggak ada ya di sini jadinya teman-teman bisa tambahkan public function underscore underscore clone seperti ini selesai nah disini temen-temen silakan mau ngelakuin apa contohnya saya tidak mau saat ini ngopi yang sih sampel ini jadi saya disini bisa Hapus sampelnya Caranya tinggal diam set unset ya this Temple nantinya pertama kan diklon ya setelah sudah gua dikeroyok jadi student sore-sore satu diklaim jadi student dua matikan di sini ada nih yang sampelnya nah tapi nanti dia akan romantis manggil siklon nah ketika manggil siklon disini kita hapus sih sampelnya jadi otomatis data sampel nya tidak akan ada tidak akan ikut diklon ya semuanya ikut di kolom sih cuma setelah diklaim kita hapus dari hasil kloningnya ya teman-teman kalau mau memodifikasi hasil kloningnya silakan implementasikan sebuah function underscore underscore clone nah disini contoh kita menghapus sih propertyse ini ya sampel sekarang kita lihat kita akan Coba Rani ngulang Nah lihat hasilnya saya perbesar Jadi yang pertama kita punya ya student a Hai semuanya termasuk ini yang sampel ini adalah string xxx setelah teman-teman clone eh lalu teman-teman coba ini print pardam lihat yang sampelnya sekarangan ini selesai stage kenapa Karena di function underscore underscore clone kita hapus lagi sih sampelnya jadi seperti ini kalau temen-temen pengen memodifikasi hasil dari kliennya Jadi sebelum bisa digunakan teman-teman Saya mau modifikasi dulu silakan implementasikan di function underscore underscore clone jadi ini tentang objek kloning di php Sekarang kita akan bahas tentang comparing objek atau membandingkan objek sama seperti tipe data yang lain untuk membandingkan dua buah objek kita bisa menggunakan operator equal seksual saya di = = ini membandingkan Equals kesamaan atau sama tiga kali ini membandingkan tentang identity operator Equals ini membandingkan semua properti yang terdapat di dalam objek tersebut dan tiap properti juga akan dibandingkan menggunakan operator Equals Jadi kalau semua propertinya sama maka objek tersebut dianggap sama Edi itu cara pembandingan menggunakan Equals untuk objek nah sedangkan kalau operator identity ya sama dengannya tiga kali maka akan dibandingkan Apakah objek ini identik sama alias beneran objek yang sama kah Ya cara lokasi memorinya sama ya seperti itu nantinya kalau misalnya obyeknya bukan tidak sama walaupun propertinya sama maka dianggapnya itu beda deh kalau temen-temen pengen ngecek identity nya kalau Apakah dua buah objek itu sama ya Nah teman-teman bisa menggunakan si identity ini kalau mengecek Apakah properti properti nya itu sama teman-temannya menggunakan Equals Contohnya seperti ini Kita bikin student satu dan segan2 lalu coba teman-teman bandingkan ya pada tanya sama kalau pakai kuas Gimana kalau pakai identity gimana Oke kita akan coba Jadi kita Sebelumnya udah punya student ya kita akan buat lagi di sini file namanya comparing objek jadi kita akan rikwanto dulu data student kita akan bikin student 1 = N than students satu id-nya satu named dan juga value kita samakan semuanya jadi kita buat dua ya ini yang dua seperti ini Nah kita akan Bandingkan kita pardam student 1 = student dua seperti ini kita lihat hasilnya hasilnya adalah truk hai kenapa karena secara properti Semuanya sama kau teman-teman ganti ini 200 maka dia nilainya Force karena properti video ini berbeda jadi yang equal sini ya operator Equals ini dia akan membandingkan semua properti dari obyeknya kalau propertinya sama semua datanya maka dianggapnya dia sama nah berbeda kalau para damyang student yang pakai identity sebenarnya tiga kali ini mau teman-teman Cemara Ning hasilnya dia Fals ya Kenapa Fals Karena student satu sama stodden 2 poperty nya sama tapi secara objek dial dua objek yang berbeda ini ya obyeknya kalau di jalankan nanti di memori penyimpanan laptop kita ada satu tempat gitu ya Ini juga tempatnya berbeda jadi ketika kita mengubah ini kan dia nggak ikut berubah ya artinya dia dua lokasi memori yang berbeda jadi tidak akan dianggap sama jadi ini beda Jadi kau teman-teman bandingkan sudah satu dengan sudah itu baru dia hasilnya truk ya kita running nah dia baru hasilnya truk seperti ini Jadi ini tentang membandingkan dua buah objek jadi bisa menggunakan Equals atau identity Jadinya tadi udah jelas ya Equals membandingkan semua properti kalau identity memastikan bahwa dia objek yang sama Sekarang kita akan bahas tentang Magic function Magic function itu adalah function-function yang sudah ditentukan kegunaannya di-php-in jadi dari awal pembuatan PHP gitu ya pasien-pasien isu ditentukan kegunaannya untuk apa Nah kita tidak bisa membuat sebuah pesan tersebut kecuali memang sudah ditentukan kegunaannya jadi walaupun teman-teman bikin tongseng itu tapi teman-teman tidak bisa merubah biebernya biever nya sudah ditentukan sejak awal karena sebelumnya kita sudah membahas beberapa Magic function Seperti contohnya kontrak jadi walaupun teman-teman masih namanya kontrak tetap dia cuma akan dipanggil ketika asyik objek itu dibuat sebagai kontraktor atau teman-teman juga bikin semua function destruct dia akan dilakukan sebagai destructor jadi dari awal sudah ditentukan nama vaksin ini kegunaannya untuk apa termasuk yang terakhir yang kita bahas adalah klon ini sebagai objek kloning jadi dari awal sudah ditentukan ya Eh kegunaannya untuk apa aja Nah Sebenarnya masih banyak function lainnya kita bisa melihatnya di link berikut Ya teman-teman silakan buka ini ini ada materi tentang Magic function jadi semuanya ada banyak banget ya Magic function di.php teman-teman bisa Pak job 1 nah sekarang kita akan bahas beberapa saja tidak akan dibahas semua karena lumayan panjang ya lumayan banyak ya teman-teman bisa lihat lebih ditanya di halaman dokumentasinya kita akan bahas yang beberapa saja yang biasa kita gunakan Ok yang pertama adalah to string tidak ada Magic ponsel namanya to string underscore underscore to string biasanya medik pasien diare dengan underscore underscore Nah itu sering ini merupakan salah satu Magic vaksin yang digunakan sebagai representasi string sebuah objek jika misal kita ingin membuat string dari objek kita kita bisa membuat function to string jadi saat teman-teman pengen melakukan konversi contohnya dari sebuah objek ke dalam string sebenarnya yang dipanggil itu adalah function to string jadi dalam pencentus lain teman-teman silakan buat string lalu kembalikan sebagai value dari touchscreennya contohnya sebelumnya kita bikin student ya kita akan bikin to string seperti ini jadinya temen-temen Sanyo riten apalah string apa disini terserah nanti ketika temen-temen coba konversi menjadi string dari objek student maka functions to sering ini akan dipanggil Oke kita akan coba ya jadi di sini kita akan bikin file namanya to string lalu kita akan buka yang student jadi sudah ini saya akan bikin ama gig function to string seperti ini nah disini returnya adalah string jadi di sini kita tinggal riten student.he NEMnya siapa misalnya ya koma hahaha sorry idenya dulu ya harusnya id-nya siapa namanya siapa dan value-nya berapa selesai misal seperti ini Nah selanjutnya kau teman-teman bikin objek students saya akan coba bikinnya objek student saya akan coba sini biar cepet kita bikin di sini tapi kita required dulu data student seperti ini nah teman-teman dikonversi menjadi string jadi seneng string teman-teman bisa string string si student seperti ini nah ketika temen-temen coba konversi menjadi sebuah string maka yang akan dipanggil sebenarnya sih function to string ini He kau tidak percaya kita akan house istrinya Nah kita lihat hasilnya Nah lihat hasilnya student ID name value jadi seperti ini Nah kalau teman-teman ini hapus stringnya saya kasih comment ya teman-teman cobalah Ning dia error ya object class student tidak bisa dikonversi menjadi string Kenapa karena tidak ada Magic functions itu stringnya ya teman-teman kalau pengen bisa dikonversi menjadi string itu teman-teman harus informasikan si function to stringnya bahkan kau teman-teman langsung di sini eh kok gitu ya Eko student at Hai seperti ini kau teman-teman kumparan ingini juga nggak bisa object to class object Sorry object of the student tidak bisa dikonversi menjadi sering tapi kalau temen-temen tambahkan Magic konsen ini ya teman-teman Coba running Ngelihat dia bisa langsung otomatis dikonversi menjadi string jadi ini salah satu kegunaan magic function untuk to string ya teman-teman bisa konversi jadinya seperti ini ya Atau saya akan chopass dulu biar enggak hilang atau biasa seperti ini Jadi ini adalah Magic function to string nah Selain itu ada Magic bangsa yang namanya infox Nah info ini merupakan fase yang dieksekusi ketika objek yang kita buat dianggap sebagai sebuah function JAdi misal sejak kita bikin objek dengan nama variabelnya student lalu kita melakukan student kurung kurung tutup seperti ini Jadi mirip kaya function variabel gitu ya maka secara otomatis di function infokini akan dieksekusi misal contohnya class student yang sebelumnya ya kita tambahkan underscore underscore infox disini nantinya nanti kalau variable sized to the akan di jadikan function variabel ya langsung di infox sebagai function itu nanti function yang infokini akan dieksekusi Nah di sini kita bisa tambahkan argumen kau teman-teman pengen Aigner argumennya silakan tapi katanya disini kita akan terima argumennya ya apapun itu yang dikirim sama si user Jadi kita pakai variabel argumen paket 3 seperti ini nantikan edisi Nia simple sih saya pengennya ngeprint sorehock infox student with argumen disini argumennya apa saja Oke kita akan coba ya jadi Disini saya akan bikin file baru nama file-nya adalah infox lalu saya akan chopass yang dari sini biar cepat Hai Nah selanjutnya disini berarti teman-teman Bisa student ya langsung kurun waktu untuk seperti ini cuma ini errornya Apa kau teman-teman coba raning nah function emas bisa string jadi dia dianggapnya bukan function ya Kenapa karena tidak punya sih function infox Sekarang kita akan tambahkan yang infox jadi fabric of function infox seperti ini biasanya disini kita akan Ridernya void Disini saya akan tambahkan argumen ya Oke jadi abis itu saya akan join dulu kita join pake koma saja Lalu kita Eko infox students with argumen join selesai seperti ini Nah tomatis di sini nanti tidak akan jadi error lagi Eh kau temen-temen coba raning sekarang Nah keluarnya seperti ini infox student with arguments kebetulan tidak ada ya kau teman-teman Tambahkan saya 1,6 ethru koma Arai gitu ya Nah ini hasilnya kita coba Rani ulang oke Oh ya yang aneh tidak bisa di join ya kita ganti dulu aja naasnya seperti ini infox Sudan with argumen satu Eko satu Kurniawan jadi seperti ini true otomatis jadi satu yang like tuh kayak satu ataupun true itu sama dianggapnya Nah jadi seperti ini kalau teman-teman mau yang prementasi yang magic metode Magic function sih info kini jadi si variabelnya Ya itu bisa dianggap sebagai sebuah function nanti akan di panggil adalah sih infokini Hai nextnya ada yang namanya d-back info Eh ini dibagi info function Jadi sebelumnya kita sering melakukan d-back variabel menggunakan function pardam sebenarnya function padam itu sebenarnya Dia memanggil sebuah ponsel namanya underscore underscore debagspro kalau memang ada eh dikau temen-temen pengen bikin D bagi ngitu ya dan teman-teman pengen menampilkan info lebih detail dan sebagainya teman-teman silakan bikin function namanya d-back info lalu silahkan masukan informasi sedetail detailnya ke dalam sana Eh ya contohnya misalnya misalnya kita akan punya students cuma ada IDM sama value jadi Collide bak cuma ada tiga ini ya propertinya Bisa teman-teman Pengen menambahkan kayak versi kelasnya atau outdoor sekelas ada sebagainya teman-teman cukup bikin function the baginfopers halus silakan balikan sebagai Arai anti disini silahkan temen-temen kembalikan sidat nge-rap id-nya apa NEMnya file-nya pautnya apa Oke kita akan coba Jadi sebelumnya di student ini kan dia punya empat ya kalau di sini ya ada yang private ini yang sampel ini kalau Coba kita buat saya disini bikin lagi file namanya dia bagi info jadi di sini kita akan chopass kalau kita pardam ya biasanya kan yang student ini kan semua variabelnya akan keluar ya sorry propertinya Nah keluar semua ya student ini ada id-nya ada NEMnya ada value dan ada sampel yang private nah Ko temen-temen pengen meng-cover ada apa aja yang harus dikeluarkannya ketika pardam teman-teman bisa bikin function the baginfopers jadi fabric function d-back info seperti ini jadi saya teman-teman tinggal riten Arai arahnya apa ya terserah contoh nya itu seperti Hai This ID seperti ini misalnya named value sampel misalnya ya A value name ID bisa seperti ini yang sama aja kayak sebelumnya Nah kalau seperti ini teman-teman coba lihat perhatikan nah ini hati-hati ya error kenapa errornya karena kita mengakses sampel tapi sampel itu sebenarnya dia belum diinisialisasi ya ya teman-teman hati-hati nah jadi pastikan side bagiinfo pun enggak ada masalah karena kebetulan kita disini manggil sampel dan sampelnya belum diinisialisasi Disini belum ada datanya ya teman-teman harus hati-hati ketika bikinnya bagiinfo Oke contohnya di sini kita set dulu deh ya student set sample sample tentunya nah keluarnya seperti ini ya Hai nah misal temen-temen pengen merubah di teman-teman tinggal tambahkan di sini misalnya autor Eko misalnya apalagi gitu version 100 Jadi bebas apapun itu silahkan tambahkan di function d-back info nah ini kalau teman-teman coba ra Neng nanti nah yang keluar sekarang ada yang autornya ada yang versionnya juga jadi ini kalau teman-teman pengen meng-cover ace-informa side baiknya ketika menggunakan pardam seperti ini jadi teman-teman cukup gunakan Magic function yang namanya adalah d-back info Sebenarnya masih banyak lagi ya kalau kita bahas mungkin Kepanjangan ya ini teman-teman silakan buka si ini halaman dokumentasinya disini Di sini ada banyak sekali Magic function dan nanti dijelaskan kegunaannya untuk saja ya teman-teman kalau pengen ekspor lebih banyak Ya silahkan buka link ini dan baca tiap Dewa vaksin itu sore tiap Magical seni itu kegunaannya untuk apa saja sekarang kita akan membahas tentang overloading overloading adalah kemampuan secara dinamis membuat properties atau function jadi walaupun misalnya properties atau fragmen tidak ada itu kita bisa buat secara otomatis ya atau Dynamic nah ini mirip metaprogramming kalau di bahasa pemrograman ruby Jadi kau teman-teman sebelumnya belajar bahasa pemrograman ruby ini konsepnya kalau grup itu namanya metaprogramming nah tapi kalau teman-teman sebelumnya belajar Java nah Jangan sampai salah Jadi konsep overloading di PHP itu berbeda sama dijava kalau dijava overloading itu artinya adalah bikin function dengan nama yang sama Nah kalau di-php-in enggak seperti itu di PH bahkan tidak bisa bikin function dengan nama yang sama jadi PHP itu adalah overloading itu adalah secara dinamis membuat properties atau function overloading ini erat kaitannya dengan Magic function yang sebelumnya sudah kita bahas Oke sekarang kita akan bahas dulu dari properties of loading saat kita mengakses properties itu kan secara otomatis properties akan diakses ya yang kita deklarasikan didalam kelasnya itu akan diakses kalau kita bikin properties a maka akan diakses namun kalau ternyata proses tersebut tidak ada cantik kita mengakses properti B tapi ternyata di kelas tersebut tidak ada properties b maka sebenarnya PHP tidak akan langsung menjadikan hal tersebut menjadi eror ya tapi PHP akan memanggil sebuah Magic function jadi dia akan melakukan follback ke Magic function Nah dengan demikian kita bisa membuat properti secara dinamis dengan memanfaatkan Magic function Nah default-nya kalau teman-teman tidak memiliki Magic function untuk properties ini maka dia akan er Hai Jadi kalau temen-temen ngakses properti B ternyata b nya nggak ada dia akan nol Magic konsen dulu kalau Magic langsung enggak ada Ya udahlah simple langsung bikin jadi error Nah ada beberapa Magic rasanya bisa kita gunakan untuk properties of loading Nah kita bahas jadi ada empat Jadi yang pertama itu adalah set underscore underscore set di depannya ada under score dua kali semua ya jadi set disini NEMnya adalah nama sih propertinya disini value propertinya ini dieksekusi ketika kita mengubah properti yang tidak tersedia Jadi kalau pastinya enggak tersedia maka ini akan dieksekusi Magic functionnya habis itu ada get ini akan dieksekusi ketika mengakses properti yang tidak tersedia dengan teman-teman mengakses Bee ternyata BBnya nggak ada propertinya maka akan mengakses function get disini nama propertinya NATO ada iset ya dieksekusi ketika mengecek iset atau empty properties yang tidak tersedia jadi ini menggunakan ini atau ada and set ini dieksekusi ketika menggunakan aset properti yang tidak tersedia jadi empat ini bisa kita gunakan sebagai Magic function untuk si properties Oke contohnya kita akan bikin kelas zero zero ini ya tidak ada datanya misalnya ya Jadi kita murni disini bikinnya pakai Magic function Jadi pakai get pakai set pakai headset dan juga pakaian set Nah di sini kita akalin pakai Arai contohnya Jadi tiap get kita akan ngeget ke arah ya peka Datanya ada atau enggak nanti apset kita akan mengeset datangnya ke arah dan seterusnya Nah dengan demikian seakan-akan propertinya itu jadinya Dynamic jadi kita bisa menambahkan properti apapun yang kita mau Oke contohnya kita akan bikin dulu ya berarti ya Disini saya akan bikin file namanya properties overloading kita akan bikin kelas Jero langsung saja di sini ya di sini kita tidak punya Play nggak papa tapi kita punya private property untuk menyimpan data array jadi disini private Arai files misalnya apa ya tadi namanya of properties ini Arai kosong lalu kita akan bikin Magic function Tapi sebelumnya Kalau teman-teman Coba ya kita akan coba Bikin Zero = N Roll seperti ini lalu teman-teman Coba akses ya Eko azero misalnya first name seperti ini kita coba araning maka dia Error karirnya adalah properti zerofrost name tidak ada undefined eh Nah beda kalau temen-temen coba tambahkan seperti ini get Nah di sini kalau Eko akses property named kita akan coba ya kita lihat kalau kita ritelnya misalnya contoh dulu Oke kita coba laning nah lihat keluarnya contoh ini ada akses properti firstname jadi ketika tidak ada propertyfour slime di sini maka dia akan mengakses Ipang Saint ini untuk nugget propertinya disini parameternya kecuali kalau ada kalau ada public string files name sama dengan Eko maka dia akan memanggilnya adalah Eko jadi kalau kita landing lagi nah keluarnya adalah Eko tapi kalau tidak ada habis Eko misalnya disini middle name eh terlihat nah dia akses properti middle name jadi ketika tidak ada properti ya maka yang get pancen ini akan dipanggil nah ini kita Hapus lagi Ya Nah selanjutnya Gimana kalau set kalau set berarti teman-teman lakukan seperti ini soalnya Zero black forest main sama dengan Eko seperti ini ini kalau teman-teman coba raning Ya enggak eror-eror tapi enggak enggak ini juga nggak berguna juga karena tidak ada datanya Nah tapi teman-teman kalau Coba bikin pabrik function Sorry bukan pamvang Kenapa Set deh set seperti ini nanti dia dan m dan ada value-nya jadi sini teman-teman bisa Eko set property name with value value Contohnya seperti ini coba kita running Nah Lihat ini akan dipanggil setproperty first name is valued Eko jadi tiap kita reset ini akan dipanggil Kalau tidak ada propertinya disini jadi seperti itu ya Nah termasuk yang iset ya riset dan juga unset nah kalau Insert diaksesnya Seperti apa ya saya coba lagi ya Ini rekannya adalah boolean ya kalau yang Estate itu jadi misalnya disini iset name Alkitab ritelnya off dulu ya habis itu disini and site name Oke sekarang kita pakai Headset ya kita cek riset yang Zero kita running Nah Lihat dipanggil is at present jadi disini dipanggil Nah kalau yang aset kita pakai handset seperti ini nah dipanggil juga and set Force name jadi yang asetnya itu akan dipanggil jadi seperti ini artinya kita sekarang udah tahu kalau mau bikin Dynamic properti cukup gunakan 4000 tiny-g contoh Seperti apa karena kita akan gunakan arah ini untuk menyimpan propertinya secara Dino Hai jadi ketika get kita akan balikan riten properties sinem ya kynya Nah kalau diset kita akan this properties NEMnya kita set menjadi value nah kalau iset kita akan cek nyari then is at this properties name seperti ini Nah untuk omset juga sama kita akan handset this properties name nah seperti ini dengan seperti ini maka otomatis akan menjadi Dynamic propertinya ya teman-teman bisa eh Zero Host name sama dengan Eko seperti ini ya file name hostname ekologi traning enggak ada masalah enggak error tapi kalau kita get Eko Misalnya ini Force name Zero Force name seperti ini habis itu middle dan juga Los middle class name ini Coba kita cek raning nasinya keluar semua dan ini memanfaatkan si Magic function yang ini jadi seperti ini kalau temen-temen pengen bikin Dynamic properti ya cover loading-nya temen-temen tinggal manfaatkan keempat Magic function ini get untuk mengambil data berdasarkan properti NEMnya set untuk mengubah data besarkan properti NEMnya genset untuk mengecek Apakah sudah diset berdasarkan properti NEMnya dan set untuk nge-rap udah sarkam dari properti NEMnya selanjutnya kita akan bahas tentang function overloading Jadi sebelumnya sudah properties of loading sekarang function overloading saat kita mengakses function secara otomatis kan pasena kan diakses namun jikalau ternyata bangsa tersebut tidak tersedia di dalam obyeknya maka PHP tidak akan error Jadi sebenarnya tidak anero dulu dia akan follback menggunakan Magic function lagi tapi kalau Magic fungsinya tidak ada baru dia akan error Nah dengan demikian kita bisa membuat fangshen secara dinamis dengan memanfaatkan si Magic function tersebut Nah ada beberapa Magic bangsa yang bisa kita gunakan untuk function overloading jadi di sini ada dua ya yang pertama itu anda seorang scorkl ini digunakan untuk sebagai follback Magic function ketika ternyata sebuah objek dipanggil sebuah vaksin yang tidak tersedia Jadi kalau tidak tersedia dia akan manggil call disini adalah nama functionnya name di Indonesia adalah argumen dari Simpang sennya ya menjadi variabel argumen B ternyata salah teman-teman mau ditransfer atau tidak Nah kalau misalnya fans-nya berupa Static pancen maka dia akan follback ke ini Static underscore underscore statik dan ini harus Tatik ya harus satisfaction jadi kalau kolestatik kesini kalau misalnya function yang bukan sate ke sini Jadi teman-teman sederhana kalau untuk function overloading key contohnya katanya di Zero kita akan tambahkan Kol dan juga kolestatik Heh disini simpel sih cuma ngeprint out doang ya call function apa dengan Argumen apa Nah kita akan coba lagi jadi Disini saya akan tambahkan ya di sini tol seperti ini jadi kita akan eh join dulu argumennya Hai join menggunakan koma argumen lalu kita akan print out hai menggunakan Eko call function name with argumen join seperti ini Nah selanjutnya ini kalau call function dari objek ya kalau call function yang sakit gitu teman-teman bisa kolestatik nah ini harus Tatik juga ini saya coba semuanya seperti ini sama saja saya ini call Static function nantinya kalau sekarang teman-teman manggil sebuah function disini saya panggil function Zero say hello parameternya Eko khannedy Nah ini kan say hello to nggak ada ya di sini enggak ada vaksinnya maka Sebenarnya dia akan memanggil sih call ini kalau tidak ada tidak ketemu ponselnya di dalam Classy Jero maka dia akan manggil call disini adalah say hello sesuai dengan nama vaksin ini lalu yang ini saya tegumen yaitu variabel argumen saya seperti ini nanti jadinya dia berupa array seperti ini nanti akan di masukan kedalam sini Oke kita akan coba raning Oh sorry kalau ini sudah di hardcord Kayaknya tidak boleh dijadikan ini nanti dia akan otomatis berubah menjadi Arai Oke Enggak masalah kita laning naasnya seperti ini jadi call function say hello with argumen Eko koma Kennedy seperti itu Nah kalau kita manggil Yang Static contohnya Zero hadits ini misalnya say hello gitu ya Eko khannedy seperti ini kita running nah inikol Static function Jadi kalau seharusnya tidak ada maka dia akan manggil Yang ini kolestatik jadi disini temen-temen seakan-akan bisa bikin sebuah bangsa secara dinamis eh teman-teman enggak ada ponselnya tapi teman-teman bisa otometic bikin bangsanya karena sebenarnya di Khan manggil si Magic function call dan juga call Static ditinggal teman-teman lakukan apa yang teman-teman mau untuk function overloading Sekarang kita akan bahas tentang kovarians dan juga contravariant saat kita mengoper function dari parent class biasanya kan dicat pas kita akan membuat function yang sama dengan function yang ada di perannya entah itu namanya sama parameternya sama dan juga ditempelnya sama nah di PHP itu mendukung istilahnya kovarian kovarians itu apa cover yaitu memungkinkan kita bisa meng-cover at sebuah Kristen function different nya dengan retensio yang lebih spesifik ini semuanya melibatkan tentang Inheritors juga sih Oke kau teman-teman masih bingung sampai sini Oke kita coba lihat contoh kasusnya ya jadi misalnya kita punya sebuah data-data Hai Di sini ada animal jadi animal ini punya turunan cat dan juga dog kita buat dulu sebelum kita bahas kasusnya jadi data di sini oke sebelumnya Udah punya ya Oh ya udah punya kita ya Jadi sebelumnya kita punya animal Cat dan juga dog ini kan turunan ya animal Cat Dog hatinya animal ini adalah data general nya alias perannya TNI lebih ke spesifiknya dog dan juga cat Oke selanjutnya kita punya interface namanya Animal Shelter Animal Shelter ini kayak anggap aja tempat eh apa adopsi inilah hewan lah ya Nah di sini ada function namanya Adobe Audition adalah nama-nama binatangnya return value nya adalah animal nah Biasanya kalau teman-teman bikin teman-teman kan bikin turunannya teman-teman akan bikin function Adobe dan disini ritelnya adalah animal nya Nah dengan fitur kovarian teman-teman bisa nyoba hitam value-nya dari tadinya animal menjadi lebih ke spesifik entah itu misalnya cat atau dog itu boleh kalau di PHP itu boleh Oke kita akan coba jadi di sini kita akan buat namanya Animal Shelter ya di sini kita bikin enam spacenya data lalu kita bikin interface Animal Shelter jadi di sini kita punya function Adobe ya di sini string name balikannya adalah animal seperti ini nah ini default-nya kalau temen-temen bisanya bikin in class ya kep shelter versus ini implement Animal Shelter nah biasanya kan di sini kita bikin Adobe nya returnnya disini adalah animal ya jadi ngikutin dari shippernya dengan kemampuan kovarian artinya teman-teman bisa lebih spesifik lagi Oke kita nggak mau ini maulidan file-nya tapi karena ini chat nggak mungkin kita Balikinnya semua animal Kalau cat berarti ya harusnya chat doang gede ya jadi disini kita bisa pake turunannya jadi daripada pakai animal kita bisa pakai yang lebih spesifik yaitu kep nah ini boleh ya di sini kita ganti menjadi cat Nah itu boleh ini fitur ini namanya adalah kovarians jadi mengembalikan data yang lebih spesifik atau kecutnya jadi sini kita bisa bikin seperti ini ya bikin cat dan juga bikin dog jadi kita bikin chat sama dengan new card tapi di sini kita request dulu ridwan's anime hanime.tv HP ini errornya apa nih oke di sini requirements Oke selanjutnya dekatnya NEMnya kita ganti dengan yang di parameter lalu kita riten cat termasuk yang dog sekarang kita bikin dog shelter implement Animal Shelter seperti ini jadi disini Adobe nya itu bukan lagi ritelnya animal tapi dog lebih spesifik ini kovarian ya di sini kita dog = new dog seperti ini ya adopsinya NEMnya = m Halo hari ten dog nah ini adalah kemampuan kovarian nah ternyata Coba bikin file kovarians disini Ridwan eh data Animal Shelter ya dan juga Hai animal oke di sini sekarang kita bikin Cut shelter = new card shelter seperti ini hal disini KCL their Ads misalnya Luna seperti ini maka dia balikannya adalah cat eh karena di Adobe ini function ya balikkan sekarang adalah cat bukan lagi animal karena kita sudah overnight ya menggunakan kovarians menjadi cat jadi dengan begitu ya kalau misalnya tempat penjualan tempat adopsi kucing Ya keluarnya kucing itu ya bukan anjing jadi kalau saya tempat ini penitipan atau saya apa ya adopsi anjing ya ya keluarnya adalah anjing juga jadi ini kovarians ini sore dog shelter = n shelter kalau tinggal dog Hai sama dengan dog shelter Adobe misalnya toge sekitaran Ning tidak ada yang error berarti semuanya sukses jadi ini diperbolehkan di php namanya adalah kovarians Nah selanjutnya kebalikan dari kovarians itu ada namanya contravariant jadi contravariant adalah memperbolehkan sebuah class untuk membuat function argumen yang lebih tidak spesifik Jadi kalau yang sebelumnya contravariant lebih spesifik kalau yang kovarian itu lebih tidak spesifik jadi ke atasnya Jadi bukan lagi kecil tapi lebih ke atasnya contoh Seperti apa Oke kita bikin contoh kasus kita punya kelas yang namanya food habis itu kita punya kelas yang namanya animal food ya ini misal saja jadi di sini kita bikin nama file-nya adalah food Heh Disini Kin eh nice postnya data Oh di sini kita bikin kelas food misal saja kalau di sini kita bikin kelas animal food ini ekstensi Put nah seperti ini Nah selanjutnya misalnya kita di dalam kelas ane maunya kita tambahkan satu function namanya it disini animal food eh Nah ini bisa seperti ini jadi kalau misalnya ini di animal kita bikin abstrak public function it Halo di sini animal food eh jadi disini food Sorry animal food ini void nah disini saya disini required dulu ya ridwan's animal seri putih Oke selesai nantinya sekarang siket sama Sidoarjo perlu mengoperasi get ini nah misalnya untuk cats kita hitnya tetap animal food jadi misalnya Eko Ketty hitting seperti ini nah khusus untuk dog misal saja ya begitu ternyata nggak cuma makan animal food dia juga bisa makan makanan yang lainnya maka disini kita bisa oh overnight it-nya eh disini parameternya bukan lagi animal food tapi pakainya food seperti ini nah ini namanya adalah contravariant jadi kebalikannya kalian sebelumnya akan dari yang peron kita jadikan chatnya kalau sekarang beda dari cowoknya justru kita jadikan Peren nah ini adalah contravariant nah ini diperbolehkan di php mungkin di beberapa bahasa pemrograman lain seperti Java mungkin itu enggak boleh ya dirubah tipe parameter atau tipe kejunya di dalam turunannya itu enggak boleh tapi kalau di PHP itu boleh jadi sini misalnya Eko dockies hitungnya misalnya seperti ini aja nah ini namanya adalah kontra varians Oke kita akan coba lagi yang kovarians mana Sebelumnya kovarian saya disini kece disini kita bisa Ketty get ya Neo animal food seperti ini ini berarti kita imports lagi yang ha food ini yang dog berarti karena dop nya itu sudah kita overnight yang IT nya ya Jadi ini bisa kita ganti menjadi food ya ini food jadi new food seperti ini nah ini boleh kita running nah Katy sitting dog setting jadi ini diperbolehkan ini namanya adalah kontra varian Jadi kalau contravariant di dari chatnya jadikan parents kalau yang cover ndari parents menjadi cap Walaupun mungkin pada kenyataannya mungkin teman-teman jarang yang menggunakan fitur ini saya juga sebenarnya jarang menggunakan fitur ini sangat bikin aplikasi Tapi minimal sekarang teman-teman sudah tahu apa itu kovarians dan juga contravariant di php Sekarang kita akan bahas tentang date-time biasanya dalam bahasa programan sudah disediakan cara Untuk memanipulasi data waktu baik itu tanggal ataupun jam nah termasuk di php juga ada nah di php kita bisa menggunakan class yang namanya date-time Untuk memanipulasi data waktu jadi kalau teman-teman berurusan dengan waktu ya entah itu tanggal ataupun jam teman-teman bisa gunakan date-time ada banyak sekali function dikelas de'time yang bisa kita gunakan untuk memanipulasi data waktu jadi mungkin sekarang kita akan bahas beberapa saja yang biasa digunakan ya sebenarnya ada banyak sekali teman-teman bisa baca nanti di halaman dokumentasinya untuk sided tim itu sendiri oke Halo Sekarang kita akan bahas tentang beberapa function ada di BTM jadi dtm itu ada function seperti Set time disadap parameter hour menit eh second ini untuk mengubah waktunya jadi kau teman-teman bikin newbet time gitu ya itu by default dia akan digunakan sebagai Set waktu saat ini eh Nah selanjutnya Anda Set date itu untuk tanggal Sorry untuk ya tanggalnya dari tahun bulan dan juga hari tanggalnya Yah maksudnya ini ada-ada juga Set time Stamp kalau teman-teman sudah terbiasa menggunakan you next time Stamp teman-teman saya juga bisa mengubah xtime CCD tim itu menggunakan unit time Stamp nah oke contoh Seperti apa jadi saat teman-teman bikin Death = newtime ya ini otomatis dia akan ini membuat waktu saat ini saat-saat objek itu dibuat habis itu kalau temen-temen Coba ubah tangganya tonton bisa Set date seperti ini kalau pengen ngubah waktu soal jamnya Set time seperti ini contohnya Ini tahun bulan tanggal ini jam menit detik Oke kita akan coba kita akan coba dulu de'time ya kita akan bikin file data menjadi kita bikin de'time = n time ini bawaan dari PHP jadi kelasnya sudah ada Jadi teman-teman tinggal asing pakai saja Jadi kalau contohnya Kalau di phpstorm saya bisa lihat detailnya nah ini detail-detail ya banyak sekali functionnya ada kita akan bahas satu persatu ini kalau saya pardam the time ini di saya sekarang jam 15.2 delapan ya kita lihat hasilnya ini kalau diperhatikan disini keluarnya bukan jam 1528 keluarnya jam-jam 926 Nah kenapa ini kejadian seperti ini Hai karena by default ada Timezone kalau di PHP itu Timezone default-nya itu ngikutin dari konfigurasi php.in ininya Eh nah disini kebetulan default Timezone saya di PHP nya adalah di Timezone Euro Berlin jadi di Berlin nih jadi kalau temen-temen traning ya ini waktunya waktu Berlin ketika bikin bete Mini jam 15.00 ya jam di Berlin itu jam 09.00 nah Ko teman-teman pengen berubah merubahnya dia teman-teman bisa rubah ya Jadi teman-teman bisa rubah contohnya kita akan coba rubah Silakan teman-teman masuk ke dalam ini ya folder direktori tempat menginstalnya HP hp-nya kan sebelumnya kita menggunakan Sam ya kalau yang saya kalau teman-teman baca PHP Sorry tonton Php dasar di materi saya saya menggunakan xampp lalu saya menginstalnya ke folder ini HP kation di sini ada Sam ya Nah di sini ada i nah directory saya meng-install nah teman-teman silahkan cari mungkin sistem operasinya beda-beda ya kalau di Windows telah dari folder PHP kalau di Mac atau Linux itu ada di folder etc Silahkan buka eight Nah di sini ada php.in ini ini file-nya php.in ini konfigurasi dari PHP nya silahkan dibuka jadi teman-teman Silakan cari aja di folder Sam itu ya Ada fenomena php.in ini ke ini saya akan buka menggunakan Visual Studio code contohnya nah disini temen-temen Silakan cari saya perbesar dulu Timezone disini saya cari Time Zone nah ini ini adalah ada konflik Dead titik Timezone nah disini default-nya saat saya meng-install Samini ini ada di yurob Berlin nah teman-teman silakan ganti contohnya saya ada di Indonesia ya saat ini di Jakarta contohnya lokasi Timezone nya Nah jadi saya bisa ganti disini menjadi Asia Jakarta kau teman-teman ini bukan di waktu indonesia barat ya mungkin ada waktu Indonesia tengah atau Timur itu teman-teman Silahkan ganti sesuai Timezone tak data Timezone ada di sini ya detention cuma kita buka pengen lihat key gimana nih Nah disini tandon ada di telkomselnya enggak ya harusnya ada sih Coba saya cari ya PHP Timezone nah ini ada list of support the Timezone Nah teman-teman tinggal cari di sini dan Sonya hanya dihiasi Aya di Asia nah ini ada Asia Jakarta ini ada Asia Jakarta ini Timezone Asia Jakarta teman-teman silahkan cari kalau Waktu Indonesia Barat dan Timur Saya kurang tahu sih Asia mana ya Jadi tinggal di cari aja di sini mungkin Asia Kuala Lumpur dan sebagainya silahkan dicari Nah kalau saya karena di Jakarta Jadi saya pakainya Asia Jakarta di teman-teman tinggal set Asia Pak seperti ini Nah sekarang kalau kita balik lagi ke program kita saya coba Rani ngulang Nah sekarang benar jam 1533 ya dan Timezone sekarang berubah menjadi Asia Jakarta jadi seperti ini kalau temen-temen pengin merubah waktunya menjadi waktu kita beneran dimana program ini jalankan Timezone tinggal diganti Oke dm-nya kalau kita pengin merubah ya tinggal set added tanggalnya jadi Tahun berapa saya 1990 misalnya ya bulannya misalnya bulan satu tanggalnya tanggal 20 seperti ini Nah ini bisa rupanya seperti ini tapi ngerubahnya harus langsung sekaligus semuanya ya Oke kita coba training lagi nah sekarang berubah ya tahun 90 bulan 1 tanggal 20 timnya tetap masih ini Oke kalau timnya teman-teman rubah datang tinggal Set time eh teknik tinggal teman-teman rubah disini misalnya ah powernya misalnya 10.00 Iya menitnya 10 ini ada second second nya berapa Xenia second nya 10 disini semuanya ada lagi tapi default0 itu ada microsecond ya microsoftnya terserah contohnya saja Dino Oke kita coba raning nah hasilnya seperti ini sudah berubah semua jadi ini caranya kau temen-temen pengen ngecat tanggal Ya ya Temen temen saya akan bikin date-time lalu tinggal teman-teman silahkan rubah tanggalnya menggunakan Set date dan rubah waktunya menggunakan Set time Sekarang kita akan bahas tentang diet interval kadang kita hanya ingin memanipulasi waktu dan tanggal sebagian saja Misalnya kita hanya pengen menambahkan satu tahun atau mengurangi beberapa hari Nah problemnya adalah function yang kita sebelumnya gunakan setdest sama Seteng tukang harus semuanya ya full tahun bulan tanggal nyaris diset juga kadang-kadang kita bisa cuma pengen memanipulasi the tahunnya atau tak hanya ada sebagainya nah Untungnya ada istilahnya diet interval di.php jadi function yaitu adalah Ed dia itu parameternya menerima yang namanya Dead interval nah saat menggunakan Death interval ya itu kita harus menggunakan Dead interval duration Nah kita perlu menentukan Berapa banyak kita menambahkan intervalnya Nah kita bisa melihat Detailnya ada disini teman-teman bisa baca ditanya disini nah untuk membuat duration harus diawali dengan kata pi P ya kita tanya adalah periode ini emang udah standar pembuatan duration di php untuk detailnya Lebih Detail teman-teman saya baca disini lumayan lengkap banget di sini oke ini kita kasih contoh aja jadi contohnya kita mau menambah satu tahun jadi kita akan tambahkan satu tahun jadi Ed gitu ya new Death intervalo disini period nya cukup tambahkan P depannya selalu pp1 Yeti nya adalah periode satu tahun satu year karakter yee atau m dan sebagainya Detailnya ada disini temen-temen saya baca Oke kalau saya buka di sini eh saya coba buka Nah di sini ada Jadi kalau yeah itu maksudnya adalah Years kalau m maksudnya Moons kalau d-days kalau gue itu weeks kalau hawers m Minutes SC second eh seperti ini Oke Oke jadi kita backup slide jadi contoh seperti ini Nah kalau teman-teman pengen bikin minus ya contohnya sayap bukan pengen menambah tanggal atau tahun Saya pengen mengurangi Nah teman-teman bisa gunakan inversnya jadikan satu atau jadikan truk jadi diet interval bikin dulu saya 1m betis 1 bulan habis itu inverta jadikan satu waktunya di infected dibalikkan jadi kebalikannya jadi artinya minus TNI jadikan true anda teman-teman panggil lagi etmaka ini akan mengurangi Oke kita akan coba ya jadi sini kita bikin batikan sudah 1990 ya kalau Hening 1990 nih kita akan tambahkan satu tahun contohnya ya teman-teman cukup Gunakan the time he n di sini ada diet interval cukup bikin new Death interval nah disini periode p1y hatinya satu tahun nambah satu tahun kita raning Nah Lihat tahunnya nambah sekarang Eh jadi 1991 Nah kalau teman-teman pengen bikin yang berkurang teman-teman bisa bikin Sanya minus one month contohnya ya bikin Death interval kita bikin p1m audition teman-teman yang minus one more night ya diset infonya menjadi truk atau satu itu boleh saya truk gitu ya Nah disini teman teman bisa coba lagi date-time edb minus one seperti ini nah ini kalau teman-teman planning sekarang Nah baik lagi ke tahun 90 ya tapi bulannya 12 tanyakan bulan satu di minus 1 bulan jadi bulan 12 jadi baik like setahun yang lalu tapi bulannya 12 jadi ini kalau temen-temen pengen ngemil mesin sih waktu tertentu entah itu bulan ya entah itu tahun Teh itu jam dan sebagainya ya teman-teman bisa menggunakan Death interval ini rasanya kita akan bahas tentang D Timezone yang sebelumnya sudah kita bahas jadikan saat kita membuat objek de'time dia akan sel tomatis membuat waktu saat ini sesuai dengan Timezone yang ada di konfigurasi Dead Timezone sebelumnya sudah kita rubah ya Timezone nya ya teman-teman silahkan rubah sesuai dengan Timezone tempat teman-teman masing-masing menjalankan aplikasinya atau kita bisa menggunakan function Timezone untuk mengubah Timezone jadi ada fans-nya namanya set timezone kalau memang pengen dirubah silakan eh jadi caranya nah dia saat teman-teman bikin waktu ini kan ngikutin Timezone adalah Timezone C ini ya siapa Eh tempat kita ngeranjing aplikasinya jadi Timezone nya kau teman-teman pengen rubah Timezone agenda teman-teman waktunya misalnya di Jakarta teman-teman Pengen rubah jadi waktu misalnya di Amerika gitu nah teman-teman bisa Giant ganti Timezone nya nanti waktunya pun otomatis akan berubah jadi jam yang sekarang itu di Amerika jam berapa itu bisa langsung ketahuan Oke jadi disini kita menggunakan obyeknya namanya new added Timezone di sini tinggal masukkan Timezone Oke jadi karena disini kita waktunya sudah ini ya sudah Asia Jakarta Oke saya akan bikin waktu baru know = newtime seperti ini ini kalau kita Sorry pardam dulu now Jadi yang sekarang batik jam 15.30 saya Karta Timezone nya Nah kalau teman pengen rubah Timezone nya now set timezone kek tinggal newbet Timezone ini tinggal masukkan Timezone nya teman-teman bisa cari support at Timezone PHP ya kita akan ganti Misalnya ke yang Amerika nah Amerika ya Nah Tension di Amerika juga banyak sih sebenarnya teman-teman Silakan cari misalnya contoh aja ya Argentina atau di mana gitu ah Toronto deh kita pakai Amerika Toronto kita akan chopass masukkan ke sini ya di sini Timezone kita ganti ke Amerika Toronto yang kita akan pardam lagi terlihat waktunya sekarang training Nah jadi kalau teman-teman perhatikan ini Timezone saat ini ya dia Jakarta jam 15dan ternyata dia jika Toronto ya Timezone nya itu sekarang 03.00 jadi perbedaannya hampir 12jam Ayah jadi ini kalau teman-teman pengen merubah-rubah Timezone ini cocok banget On Sunday Evening database teman-teman kalau saya nanti bikin aplikasi ya menyimpan database temen-temen pakai Timezone nya Jakarta tapi kalau temen-temen saya dibuka di Amerika aplikasinya silahkan dirubah tanggalnya dari Timezone nya Eh Jakarta menjadi Timezone Amerika dengan begitu teman-teman bisa real-time memperlihatkan waktu saat ini di lokasi si customer nya jadi wajib banget teman-teman ngerti soal Timezone Oke Baik ke slide Oke selanjutnya kita bahas tentang formatdatetime nah kadang kita ingin membuat representasi string dari de'time yang sudah kita buat Nah ini bisa kita lakukan menggunakan function yang namanya format langsung formatnya menerima argumen berupa format string hal ini bisa kita gunakan untuk memanipulasi cara kita menampilkan string format waktu jadi misalnya teman-teman pengen tampilan waktunya itu ya custom layah biasanya buat di frontman gitu ya buat di UI entah itu di aplikasi web atau Android atau iOS biasanya kan tampilan waktunya pengen sesuai dengan yang kita mau nah ini bisa teman-teman gunakan function namanya format informatif merubah dari dengan tadinya date-time objek detail menjadi tampilan string Seperti apa Nah Detailnya ada disini untuk date formatnya tonton bisa buka sih date format ini jadi contohnya saya akan bikin formatnya adalah y-m-d qnoy ini adalah detail ye ye bisa itu adalah year tahun dalam empat digit m itu mohon dalam dua digit jadi ditanya semuanya di sini kalau teman-teman buka ya di sini ada nih Nah di sini ya di sini kalau deh kecil itu waktu ya tanggal dalam dua digit ya jadi seperti ini kalau ingin hari pakai l ya ini hari batik-raya Sunday Monday seperti itu dan banyak ini bak kita mantan bisa baca disini karakter-karakternya apa representasinya Seperti apa Oke kita akan balik lagi ke slide jadi kita bikin seperti ini contohnya Oke kita akan B kode ya contohnya kita akan format yang ini yang Timezone ini jadi kita bikin now ya format tinggal saya masukkan pot ini yee Bati tahun dalam 4-digit m kecil itu adalah bulan dalam dua digit deh kecil adalah tanggal dalam dua digit juga habis itu ini ha jam dalam dua digit betis inii itu adalah menit dalam dua digit dan S second dalam dua digit jadi seperti ini bisa kini adalah stringnya sama dengan seperti ini jadi kalau kita Eko eh kwak kwak waktu saat ini misalnya seperti ini ring keju traning nah keluarnya seperti ini Inget ya ini waktu saat ini di Amerika Toronto jadi Keluarnya seperti ini 2020 bulan 11 tanggal 26 eh 03.00 menit 50 dan detiknya 16 jadi seperti ini kalau teman-teman pengin merubah dari timescore detail menjadi representasi stream nah yang terakhir adalah kebalikannya atau parsing de'time Jadi selain formatdatetime menjadi string di php jiwa kita kadang melakukan hal sebaliknya jadi kayak user melakukan input data waktu dan kita pengen konversi menjadi de'time Nah itu kita bisa menggunakan Static function yang namanya create prompt format ini dari class yang namanya de'time jadi seperti apa seperti ini ya detail create profile matalu disini adalah ininya ya formatnya seperti yang format yang sebelumnya kita bahas audisi input dari user nya silakan infokan disini How di sini kira-kira Timezone timezone nya yang mana dan hasilnya akan menjadi hedke kita akan coba ya jadi disini batik formatnya sama seperti ini misalnya inputnya jadi disini kayak Death = date format Sorry date-time Trias from format tahu disini adalah formatnya sama seperti ini misalnya nah disini input usernya input dieselnya misalnya eh 2020 bulan 10 tanggal 10 jamnya 10 menit sepuluh detik 10 seperti ini audisi teman-teman bisa tambahkan Timezone default-nya kalau tidak menambahkan Timezone berarti pakai Timezone yang kita pakai eh yang di php.in ininya Oke saya di sini misal aja menambahkan Timezone UD Timezone paint di sini pakai Asia Jakarta Nah seperti ini Ini hasilnya adalah diet ini dan ini kalau kita pardam Dead saya running naasnya ini Jadid 2020 10 10 lainnya 10 semua dan Timezone adalah Asia Jakarta Jadi ini kau temen-temen pengen konversi dari string ini ya menjadi date-time ya Sesuai dengan format yang sudah kita tentukan Bagaimana kalau di sini formatnya inputnya salah saya salah seperti ini enter nah ini balikannya menjadi boolean Fals ya Jadi kalau teman-teman masukkan formatnya salah inputnya dia menjadi dietnya itu menjadi Force jadi teman-teman bisa pengecekannya kayak gini if headed gitu ya hells Eko format salah satu Hai seperti ini kalau kita traning keluarnya tanggal benar tapi kalau inputnya kita jadikan salah craninx keluarnya adalah format salah Jadi ini cara parsing ya untuk data tanggal dan waktu di-php-in lumayan panjang pembahasan dtm ini dan pasti nanti Saat teman-teman bikin aplikasi teman-teman bakal banget banyak ya menggunakan waktu di php Sekarang kita akan membahas tentang exhibition saat kita membuat aplikasi kita tidak akan terhindar dari yang namanya error ya sudah pastilah ya kita kalau bikin aplikasi ada saja errornya nah di php error direpresentasikan dengan istilah yang namanya exhibition Jadi mirip dibaca programan lain Ya jadi error Itu adalah sebuah Exception nah dan semua direpresentasikan dalam kelas yang namanya exhibition jadi di PHP itu ada kelas yang namanya exeption kita bisa menggunakan class Exception kiri kalau kita mau ya jadi kita bisa bikin sebuah question atau menggunakan yang sudah disediakan oleh PHP lagi kalau kita ingin membuat section maka kita harus membuat kelas yang implement interface yang namanya throwable nah cuma sebenarnya jarang sekali kita implement interface throwable karena kalau kita implementer petrowell kita harus implement semua vaksin-vaksin nya Nah idealnya teman-teman biasanya akan extend sebuah kelas yang namanya exeption dan itu adalah turunan dari trouble Oke jadi teman-teman Biasanya kalau bikin reception itu akan bikin sebuah kelas ya contohnya disini validation action lalu teman-teman akan extend exhibition jadi di sini kita akan backup Disini saya akan bikin folder lagi namanya error atau absennya Exception disini kita akan bikin PHP file namanya validation action Oke selesai kita akan bikin kelas namanya validation nah biasanya teman-teman itu harus simple Hai throwable cuma terrible ini banyak sekali function nya ada function getmessage kode get full file dan sebagainya ini panjang banget jadi enggak disarankan teman-teman implements I got trouble ini kepanjangan lah istilahnya ya itu mantan bisa pakai salah satu kelasnya implementasinya yaitu di sini ada yang namanya exeption ini nah ini action badan bisa pakai yang section ini jadi di sini kita ganti menjadi extend exhibition jadi seperti ini jadi cukup seperti ini sebenarnya jadi dengan bikin kelas kosong aja teman-teman udah bikin action Oke jadi ini teman-teman kalau mau bikin sebuah kelas yang merepresentasikan error nah pertanyaannya sekarang gimana cara membuat errornya jadi action biasanya terjadi di function jadi saat teman-teman memanggil function kalau terjadi error maka teman-teman akan bilang kalau terjadi error nah di dalam kode program kita untuk membuat reaction kita harus menggunakan kata kunci tray mbok ya teman-teman itu misalnya throw action dia teman-teman kalau bilango ada error nih kita teman-teman akan ngelakuin troops on nah Seperti apa jadi contohnya kita akan bikin sebuah function untuk validasi loginrequest misalnya ya ya Di Sini ada objek parameternya adalah loginrequest How temen-temen cek loginrequest nya username nya kalau misalnya misalnya tidak belum diset maka teman-teman akan Atro validation action username Isnu misalnya kalau passwordnya belum diset teman-teman akan troll new validation passwordnya is0 kalau misalnya seandainya sama dengan string kosong adanya teman-teman pakai yang exhibition bahwa Andre PHP Misalnya saja ya Jadi ada dua jenis action seperti ini Oke kita akan coba bikin ya Disini saya akan bikin di helper sini bikin sebuah file namanya validation disini kita akan bikin function validated login ya Nah cuma sepertinya kayaknya kita belum bikin loginrequest Oke kita bikin Beat loginrequest dulu disini berarti Disini saya akan bikin file namanya login request Anggap saja disini kelas loginrequest kita akan bikin public string username ya dan public string password anggap aja disini ini adalah objek yang kalau dari website atau dari mobile login itu kan ngirim bisa main password nah seperti ini nah disini kita akan validasi loginrequest jadi faidahnya dia kan dia tidak akan balik intro atau voice dia simpel kalau misalnya valid dia berarti tidak ngebalikin apapun kalau ternyata dia tidak valid kita akan kasih error throw action jadinya teman bisa cek kalau misalnya iset ya kalau diset request nya username nya seperti ini kalau tidak diset ya pake tanda seru tidak diset kita akan throw new validation action disini misalnya extensionnya Nadia ada parameter sore kontraktornya ya bawaan dari action kelasnya perannya di sini misalnya username is null seperti ini ini saya copas Oke ini saya coba semuanya else kalau misalnya passwordnya yang kosong kita akan bilang kalau passwordnya hissnu habis itu kita coba lagi biar cepet kalau misalnya usernamenya kita terima Jaya kita terima sama dengan string kosong kita bilang kalau ini ganti jadi action hanya X1 bawaan dari PHP ya SM passwordnya Ini username username is empty contohnya ini akan kita atau pas lagi ini password kalau passwordnya sesuai dengan string kosong = 10 kita bilang kalau passwordnya is empty Nah jadi seperti ini kalau temen-temen pengen bikin action atau bikin error jadi kalau terjadi apa-apa silakan teman-teman throw errornya apa bisa validation yang sudah kita buat sebelumnya disini atau teman-teman bikin pakai Epson sendiri ya Sorry Abang wa-an dari PHP silahkan bisa juga seperti ini ini adalah bawaan dari PHP oke oke sebelumnya kayaknya saya belum bikin slime yang untuk ininya cobanya Oke kita akan bikin Coba disini File Action eh disini saya requirements dulu action validation habis itu Rich lagi Eh Valley helper ya helper validation habis Kwon selagi harusnya data dulu ya Ridwan selagi data loginrequest oke udah di River semua jadi sekarang kita akan bikin login request = new loginrequest Nah kalau teman-teman loginrequest yang valid contohnya username nya sama dengan Eko gitu ya habis itu passwordnya misalnya Eko seperti ini Nah ini kan kalau kita validated loginrequest begini fespati ini Nah kalau teman-teman coba raning maka sukses artinya valid datanya nggak ada masalah jadi kita Eko disini valid jadi valid Ya keluar ya nah gimana kalau kita hapus Ini adanya kita belum memasukkan NISN dan password kalau teman-teman Cemara Ning maka dia ada error error nya disini validation action message adalah username is no Nah jadi ini memang sudah benar berarti kalau misalnya ada masalah itu harusnya throw Action Nah sekarang pertanyaannya kalau default-nya kalau terjadi exeption maka program itu akan berhenti Kita kan nggak mau Kan kalau ada action programnya berhenti bagaimana caranya biar programnya tidak berhenti di PHP itu ada fitur namanya tray kg saat kita memanggil sebuah function yang bisa menyebabkan exhibition maka kita disarankan untuk menggunakan tracfone ini di ini gunanya agar kita bisa menangkap actionnya yang terjadi karena jika tidak ditangkap lalu terjadi action maka akan secara otomatis programnya akan dihentikan nah cara menggunakan trakea section di php sangat mudah Jadi kalau temen-temen berasal dari bahasa pemrograman seperti PHP ataupun sisir dan yang lainnya itu mungkin Harusnya sama ya Eh cara penggunaan praktisnya jadi di blog tray itu kita memanggil function yang bisa planet section dan di blog cake-nya kita melakukan sesuatu jika terjadi action seperti apa sih Contohnya seperti ini jadi kita bikin loginrequest ya habis itu sebelum kita memanggil validated loginrequest kita lakukan tray ditraining ada blog tray nah ini blog saya ini silahkan Panggil function yang kira-kira akan menyebabkan error naskah itu kalau terjadi error kita akan tangkap di cache cache ini akan dieksekusi kalau memang terjadi error kalau tidak terjadi error dia tidak akan ditangkap jadi kita panggil-panggil yang kira-kira menyebabkan error dan ketika terjadi for error kita akan tangkap cache di sini Kita tentukan error Apa yang akan kita tangkap dan dia di sini airnya adalah validation Nah kalau terjadi error kita akan tangkap dan sakral simpan di variabel x caption nah disini teman teman bisa ngelakuin apapun terhadap variabel actionnya contoh disini saya ngeprint out error messages nya apa Oke kita akan coba Jadi sini kita enggak seperti ini Hai jadi kita Thai Halo kurung buka kurung tutup kurung kurawal borong kurung kurawal buka kurung kurawal tutup Setelah itu kita akan panggil si functionnya yang kira-kira menyebabkan error How di sini kita cache tangkap kira-kira errornya apa kalau orangnya validation validation action contohnya kita akan simpan di variabel action contohnya Halo di sini teman-teman silakan ngelakuin apa kalau terjadi error contohnya saya akan ngeprint out menggunakan Evo validation error messages nya adalah action ini harus pakai kurung kurawal ya action get message seperti ini jadi kalau terjadi error dia akan ditangkap sama cache ini kalau er nyadar validation dan dia akan ngeprint out seperti ini Oke sekarang kita coba raning hasilnya lihat tidak terjadi error lagi tapi kita tangkap validasi cor errornya ini username is no ya sekarang kita bisa menangkap jika terjadi error Oke kita sekarang set loginrequest nya usernamenya sama dengan string kosong passwordnya juga sering kosong kita raning nah ini errornya enggak tertangkap and coach ada errornya deletion Kenapa tidak tertangkap karena errornya beda classnya Sebelumnya kan kita cuman angka validation sekarang eranya ini action ini jadi artinya teman-teman harus menangkap lagi kalau errornya berbeda Jadi kalau teman-teman eranya berbeda temen-temen harus tangkap multiple beberapa kali jadi disini cache error pertama kalau jenisnya validation teman-teman akan ngelakuin apa dan disini kece kalau aksesnya jenisnya class Exception jadi teman-teman Tentukan jadi beda ya nggak bisa sama jadi sini teman-teman juga cash udah sama jadi nggak bisa sekali ya Temen temen di sini bisa kece dua kali saya chopass ini kelasnya adalah action bawaan dari phpnya ini saya misalnya set error seperti ini Oke ya Jadi ini kalau saya coba running lagi nah dia sukses tapi orangnya di bagian sini ya masuknya ke sini jadi ketika manggil kesini error dia errornya adalah caption.di akan diterima di sini dan keluarnya error username is empty jadi seperti ini Jadi ini kalau beberapa action kira-kira terjadi ya karena disini kita pakai nya ada dua class action validation dan juga section ini jasanya jadi teman-teman harus makenya dua kali ngaji Kalau teman-teman misalnya action-nya itu pengennya sama aja pesannya ya ntar saya bisa gabungin kejunya kayak gini jadi validation pakai pagar SSN yang kedua kalau ada tiga tambahkan pagar lagi esnya yang ketiga dan seterusnya Hai jadi ini kau teman-teman saya sama pengennya ngeluarin eh handle nya ya Hendra khasnya sama ya teman-teman bisa hapus ini hei jadikan error Misalnya ini teman-teman tinggal ganti validation tambahkan garis pagar seperti ini action kalau pengen nambah lagi tinggal Tambahkan lagi soalnya throwable dan seterusnya apapun itu terserah Kayak kita2 aja dulu artinya kalau terjadi validation atau jadi action itu akan ditangkap sama si cache ini jadi satu kece itu bisa menangkap beberapa jenis class action nih kalau kita running hasilnya error username is empty then kalau kita Hapus yang ini training lagi lihat error username is no jadi satu kesini bisa menangkap dua jenis class Action Nah itu bisa dilakukan di php nah yang terakhir itu ada yang namanya finally Q Hai jadi dalam tray kita bisa menambahkan yang namanya blok finally blok finally ini adalah blog dimana akan selalu dieksekusi baik terjadi action ataupun tidak nah ini sangat cocok ketika kita ingin melakukan sesuatu misalnya tidak peduli sukses ataupun gagal nah misal didalam blog tray kita ingin membaca file misalnya ya Nah di blog kita akan menangkap jikalau terjadi error dan di blok finally error ataupun sukses membaca file kita wajib menutup koneksi ke file tersebut misalnya biaya tidak terjadi memori like atau tidak menggantung data filenya di memori jadi kita bisa tambahkan di bagian akhirnya itu blog namanya finally finally ini error tidak error dia akan tetap dipanggil jadi disini kalau kita tray ya lalu terjadi Error itu kan akan masuk ke cache ya detailnya disini valid Ya saya akan tinggal di sini valid nah ini kalau teman-teman Coba raning dia keluar cara mengusir name is empty jadi artinya ketika disini manggil ternyata terjadi error code yang dibawah ini tidak akan lagi dieksekusi dia akan berhenti di sini dia akan langsung tray caption nah ketika television dia perlu ditangkap dan ketika ditangkap ya akan ditangkapnya di sini eh nah gimana kalau temen-temen pengen bikin kode program nggak peduli error ataupun tidak itu teman-teman pengen dieksekusi mah kalau seperti itu teman terus masukkan dalam blok finally ini di sini ya error atau nggak akan dieksekusi contohnya Ini error ya kode programnya error ya karena disini kosong kita raning Nah Lihat keluar error ataupun tidak akan dieksekusi jadi ini error di akan tetap dieksekusi Oke gimana kalau tidak error ini saya Eko Eko kita raning Nah Lihat ini valid tapi tetep ini error atau tidak error akan dieksekusi Hai jadi blok finally ini enggak peduli di dalam ternyata terjadi error atau nggak dia akan tetap dieksekusi jadi ini cocok banget kalau teman-teman bikin kode program yang pokoknya nggak peduli Mau error atau enggak ya dalam blog trennya teman-teman tetap pengen squishy file ini jadi teman-teman bisa masukkan kedalam blok finally jadi ini adalah tentang exhibition di PHP ya teman-teman bisa bikin sendiri ya kalau misalnya ada error silakan troops on nya dan untuk menangkap fashion teman-teman silakan gunakan trage dan finally Neng terakhir gimana kalau teman-teman pengen Gedebage ini Sebagai tambahan aja ya nah default-nya itu teman-teman semuanya kan pengen tahu nih biasanya orangnya ada di baris mana ada sebagainya Nah itu di PHP itu ada yang function namanya adalah getres vaksin gratis ini berisikan informasi dari SFC yang terjadi seperti lokasi file-nya ada dimana Faris keberapa function mana yang menyebabkan error bahkan argumennya apa saja nah ini sangat cocok untuk D bagi ya teman-teman kalau pengen Gedebage exeption teman-teman bisa menggunakan function namanya getres jadi dalam reaction ya collection itu ada function yang namanya getres eh teman-teman bisa baca ya di sini contohnya kita akan pardam action getres ya getres ini balikannya adalah Arai ya teman-teman bisa liat di dalamnya Oke ini kita kekasih yang tidak valid ya string kosong seperti ini Oke kalau teman-teman Coba Rani Nah lihat di sini ada getres nya GT disini temen temen bisa lihat disini ada file-file adalah lokasi file terjadi errornya disini Lokasi file-nya ada di file caption.com hoodies ini ada baris lain keberapa Oh baris ke-12 ada di function mana ada di function validated lo request Nah argumennya apa argumennya adalah loginrequest parametrik senangnya string kosong dan passwordnya sering kosong Jadi ini cocok banget kalo temen-temen pengen Gedebage kira-kira terjadi error nya dimana dia teman-teman bisa tahu Airnya ada di mana dan kira-kira file mana baris keberapa itu ketahuan semua atau kalau pengen simpel teman-teman bisa pakai seperti ini action getres ekstrim sebagai string ini saya Eko ya Jadi kita ini kan jadinya arah ya kalau stres tapi kalau stres ekstrim itu dijadikan stream klik kita lihat hasilnya nah ini keluarnya seperti ini Jadi ini barisnya kelihatan seperti ini jadi ada di baris ini di kode ini ada di baris 12 ada di function validated loginrequest ini adalah argumennya ya teman-teman kalau di internet Jaya dia Sorry phpstorm ya tinggal diklik doang ini Klik langsung menuju ke baris kodenya ceklik Hai ini langsung ke menuju baris kode yang menyebabkan errornya jadi ini kau temen-temen ngebak error ya teman bisa gunakan getres function Sekarang kita akan bahas tentang regular expression PHP mendukung regular expression yang kompatibel dengan bahasa pemrograman perl Jadi kalau teman-teman sebelumnya belajar bahasa pemograman Pro itu regular expression nya kurang lebih Harusnya sama ya Enggak ada bedanya nah regular expression merupakan fitur yang digunakan untuk melakukan pencarian di string menggunakan pola tertentu eh jadi lebih Advance pencarian stringnya menggunakan regular expression ini nah materi ini sebenarnya materi yang sangat panjang ya Jadi mungkin gak akan bisa dibikin satu materi ini bahkan Harusnya sih bikin satu video course Of course khususnya untuk regular expression karena lumayan panjang sebenarnya materi ini jadi sehingga disini kita akan bahas sedikit pengenalannya jadi cara penggunaannya Hai untuk lebih detailnya teman-teman bisa baca disini halamannya ini halaman regular expression dari sip HPnya itu banyak banget apa ya pola-pola yang bisa teman-teman gunakan untuk melakukan pencarian string menggunakan regular expression teknik kita akan bahas beberapa saja jadi disini adalah beberapa function yang bisa teman-teman gunakan ya untuk regular expression nah detail ponselnya apa aja ada di halaman ini teman-teman bisa dibuka di link diatas ini Oke jadi yang pertama ada pragmatik dan pragmatik old ini digunakan untuk apanya digunakan untuk mencari machen jadi pr-nya apa disini subjeknya autec ya string yang pengen kita lokal pencari atau dimana Nah kalau pragmatis jadi minimal ada premis itu mendapatkan satu ya Satu nilai Kalau proyek macho itu dia akan mendapatkan semua nilainya Jadi kalau misalnya di dalam sering ini kita match ada beberapa cerita kita punya ya kalau biasanya punya tulisan gitu ya teman-teman nyari kata Eko Nah kalau fragmen sediakan cuma nemu satu ekor doang boleh pokoknya paling pertama nemu ya udah selesai Nah kalau proyek macho itu akan nemu semuanya yang kata Eko mana semua nih kayak gitu Nah selanjutnya ada fragrea place kalau pergi replace ini digunakan untuk merefresh ya menimpa berarti ya semua petani dengan Replacement jadi disini pr-nya apa kira-kira Pola pencariannya Seperti apa treatmentnya apa ya subjeknya apa misalnya kita akan ngepres Peter nya adalah Eko rifles menjadi Budi habis itu ini stringnya jadi Artinya kita akan merefresh semua kata Eko menjadi Budi ya this is subject ini atau sering ini ada lagi yang terakhir itu ada preg Sprite ini digunakan untuk memotong dengan Peter menjadi Arai nah sebelumnya teman-teman tahu ya Ada function yang namanya xplod untuk memecah string ya berdasarkan karakter tertentu Nah kalau ini lebih Advance lagi yang splitscreen berdasarkan pattern yang teman-teman mau Oke kita akan coba satu persatu ya tapi untuk detail regular expression nya polanya Seperti apa teman-teman bisa baca di halaman ini jadi saya akan kasih yang sederhana aja disini jadi disini kami tanya kita akan menggunakan fragmental ini untuk mendapatkan semua dokumen yang esnya nah default-nya pregnolin iritan file-nya adalah Bulian true atau false banyak siang kasih ya teman-teman saya ganti jadi Bulian seperti ini jadi kalau digantikan fragments 6 esnya ada tiga batikan tiga itu kan kalau dikonversi menjadi Bulian hasilnya teruya kalau proyek misalnya nol atau akan dia tidak dapat sama sekali maka dikonversi menjadi bulan itu hasilnya Fals jadi sini Prima Coal nah disini Peter nya polanya Seperti apa contohnya disini Saya mau nyari Eko atau awan atau Ed seperti ini dan ini artinya inces sensitif jadi katanya mau huruf besar-kecil salah seperti ini jadi saya bikin regular ekspresinya seperti ini nanti di sini teksnya Nah di sini ada macetnya Kalau ini optional sih kau teman-teman pengen ketika dapat datanya dimasukkan ke dalam mesin ini silahkan tambahkan parameter matches ini ini parameternya itu berupa ini ya apa reference nanti datanya kan dimasukkan kesini otomatis masuk ke sini kita akan coba saya akan buat file baru namanya regular expression jadi Kita sekarang bikin yang fragma CEO Heeh jadi sini ada Peter nya apa disini patennya disini subjeknya artinya sering yang mau dicari nyatanya Eko Kurniawan khannedy namanya Cukup sekian tapi kalau teman-teman pengen menyimpan data hasilnya teman-teman bisa masukkan di sini ngecasnya ya di sini kita bikin match sama dengan Arai n praktikan yang macet sini parameternya nah ini dia dia reference ya jadi referensi artinya kalau hanya ada dia akan dimasukkan ke dalam sini waktunya ini juga akan ikut berubah Oke disini adalah hasilnya itu sebenarnya returnnya adalah integer ya jadi the number of Ultron Max jadi berapa banyak yang match jadi kita bisa gak konversi menjadi boolean Edi Resort sama dengan seperti ini bule Oke Peter nya kita akan gunakan sample tshirt sederhana aja jadi petirnya saya pakai ini pakai batik tidak ke sintetis Kapan Inke Sensitif ya pertama semuanya Eko bisa itu atau Saya nyari awan atau Saya nyari Ed nah seperti ini Eh jadi seperti ini nih Eko awan Edi nah boleh seperti ini Oke next kita coba pak M resultnya meja atau tidak Kita coba running A truck hatinya dia match atau kalau temen-temen tidak konversi menjadi boolean kita lihat nah hasilnya tiga berarti dia match-3 data katanya ada tiga karena disini kalau kita perhatikan juga ada tiga ya Ada Eko Disini yang dapat awan disini dapat ya edisi ini dapat seperti ini Oke kalau kita pengin lihat hasilnya pardam matches kita running nah keluar Eko awan dan juga Edi jadi kita dapat semuanya jadi kalau teman-teman disini cuma ah awalnya di terus Joko gitu ya kita running lagi nah yang terdapat tetap tiga Eko awan dan editan Memang disini tidak ada kata Joko jadi yang paip ini dibilangnya atau ya Nah seperti ini ini adalah pragma call yang lainnya ngebahas yaitu prek replace Ini ngereplace contohnya misalnya teman-teman misalnya bikin eh apa ya kayak kalau misalnya kita bikin aplikasi terus ada review ada komentar Nah kita pengen nge-review kata-kata yang kasar contohnya di sini ada kata anjing hanya ada katabangsat nah kita pengen refreshing nih jadi tanda bintang tiga Nah ini juga bisa menggunakan regular expression jadi kita menggunakan program flash ya anjing atau Bangsat ini Iya invented apa kinkee sensitive artinya meski kita ganti menjadi bintang 3 kalau disini adalah seringnya ini nanti harusnya resortnya adalah kritis yang ada kata anjing dan juga ada katabangsat Oke kita lihat jadi disini Resort ya sama dengan proyek replace kita akan replace yang katanya anjing atau bangsa seperti ini Oh di sini kita masukkan sih krimnya yang buat represents a bintang 3 ya habis itu di sini ininya subjeknya Soalnya ada Sore lu nah misal seperti ini kita akan lihat hasilnya setelah kita refresh raning Nah Lihat keluar ya dasar lu tindang 3 dan bintang tiga tanda seru jadi kata-kata kasar ini yang ada di regular expression ini akan kita replace entah itu misalnya huruf gede gitu ya ini tetap akan ke replace karena di Siti di sini kita pakai nya Inke sensitif eh jadi ini preg replace oke yang telah kita akan bahas tentang frags pelit untuk Mas pelit ya di sini juga bisa pre-create nah disini ini kalau teman-teman perhatikan ini karakter selesai es itu artinya spasi Hai jadi SPS itu white space spasi entah itu spasi spasi biasa atau teh gitu terserah atau koma atau strip seperti ini jadi artinya kalau ada spasi dia akan direplace kalau ada koma dia akan diri flash kalau ada strip dia akan di replace nah seperti ini untuk detailnya Gimana cara pola seperti ini teman-teman bisa baca ya di detailnya di awal nih di sini Oke kita akan coba Jadi sini kita bikin Resort = preg Sprite teh disini kita samakan aja ya Jadi kita pakai es koma dan juga strip lalu disini subjeknya misalnya Eko Kurniawan khannedy koma programmer koma zaman strip nol seperti ini kita lihat hasilnya Hai Nah Lihat kepotong semua ini Eko ini Kurniawan ini kanedi programmer zaman now artinya spasi kepotong ya karena disini whitespace ini kepotong spasi ini juga koma kepotong tradisi Nikita ada koma lalu disini koma kepotong disini strip juga kepotong ya karena disini kita ada strip jadi ini jadinya lebih Advance pagi daripada menggunakan xplod jadi ini penggunaan regular expression teman-teman silakan explore sendiri ya tentang regular expression karena ini matrenya lumayan panjang jadi teman-teman pun bisa ekspor serta teman-teman bikin validasi harus email bikin kali dasi misalnya harus url dan sebagainya Itu semuanya bisa digunakan regular expression Sekarang kita akan bahas tentang Reflection Reflection adalah membaca strukturkode pada saat aplikasi sedang berjalan dari flash adalah materi yang sangat panjang juga Ya seperti yang punya tentang regular expression jadi semuanya materi panjang sehingga disini kita akan membahas perkenalan dengan Reflection nya Nah teman-teman sendiri Kalo pengen Lebih detail tentang Reflection teman-teman bisa baca disini Di sini ada pembahasan Reflection di website resmi phpnya jadi kalau temen-temen Mungkin sebenarnya kalau biasa bikin aplikasi mungkin jarang banget menggunakan Reflection ya Nah biasanya Kapan kita menggunakan Reflection riflessi itu biasanya kalau teman-teman bikin Framework jadi kayak bikin Framework bikin lebrina itu cocok banget menggunakan fitur yang namanya Reflection Oke ini contoh studi kasusnya jadi kita akan bikin Framework sederhana jadi langsung studi kasus aja biar temen-temen kebayang Kapan menggunakan Reflection jadi sedikitnya kita akan membuat validation Framework Nah sekarang kita akan coba membuat Flash menggunakan Reflection ya jadi dia kita akan membuat validation Framework menggunakan Reflection itu sendiri nah free design Pramuka cukup sederhana kita hanya akan mengecek Apakah properties bernilai null atau tidak Hai kalau nol dan belum diset datanya kita akan throw validation Action Nah kita akan cek tanpa Reflection ya dan juga menggunakan Reflection kita akan bikin 2 contohnya yang menggunakan Reflection atau yang tidak menggunakan Reflection Nah kalau tidak menggunakan Reflection Biasanya kita akan melakukannya manual pengecekannya satu persatu tapi lihat kalau menggunakan Reflection Oke ini contoh kode yang tidak menggunakan Reflection contohnya kita bikin kelas namanya validation yu'til lalu kita bikin Static function disini validated Di sini ada login request Edo objek loginrequest nah habis itu kita cek Apakah ini sudah diset atau belum maka Biasanya kitalakukan seperti ini ya pengecekannya manual kalau belum diset kita throw validation kalau belum bisa lagi passwordnya kita throw validation action Oke kita langsung praktekkan saja jadi helper kita akan bikin sebuah file namanya validation you till t-shirt disini kita akan bikin function validated tapi ini Static ya biar bisa dipakai langsung disini login request nah Biasanya kitalakukan seperti ini request username kalau tidak di set maka kita akan eh throw new validation action seperti ini ya username is now misalnya seperti ini nah habis itu elship password ini passwordnya kita bilang no nah gimana kalau ada objek lain kayak bukan cuma login register kayak ada misalnya registrasi ada misalnya create produk Riyadh kategori dan sebagainya ada banyak banget akhirnya kita lovandra bikin berkali-kali kita bikin validated login habis itu bikin validated register habis itu kita bikin validated Ah gitu ya valid DC dan sebagainya artinya banyak banget yang harus kita buat nah ini kalau kita tidak menggunakan C Reflection jadi kita harus manual mengecek satu persatu nah gimana kalau kita menggunakan Reflection nah ini kita akan coba dulu ya kita akan bikin file namanya Reflection kita akan required dulu action ya validation exhibition habis itu required data loginrequest ya say to request one helper validation yu'til Oke jadi yang pertama kita lakukan adalah kita bikin request nya new loginrequest ya selanjutnya yang kita lakukan adalah validation yu'til validated tes seperti ini Nah kalau kita laning hasilnya benar username is no Tapi ini kan kita manual nantinya kita perlu bikin lagi yang valid yang bukan obyeknya yang request ya loginrequest kita harus bikin saja validated register validated create produk Wega sebagainya banyak banget jadi bertele-tele lagi terus banyak banget bikin of function untuk validasi Nah sekarang kita akan coba menggunakan Reflection ini adalah kode program untuk Reflection ya validation nya disini kita bikin validated Reflection disini request disini kita tidak peduli obyeknya jadi teman-teman ngga perlu menyebutkan sih tipe classnya di teman-teman pokoknya request nah Bagaimana kita tahu tipe obyeknya Nah kita bisa menggunakan yang namanya reflectionclass jadi tinggal bikin Reflection = new reflectionclass sampai semua masukkan obyeknya nanti si Reflection pas dia bisa tahu kelasnya ia menambahkan dia bisa tahu dalamnya ada Properti apa aja dalamnya ada function apa aja Ada konstan apa aja semuanya bisa tahu ya jadi Reflection itu biar bisa membaca struktur kelas kita ya struktur objek kita pada saat aplikasinya sedang jalan Nah selanjutnya kalau teman-teman sudah bikin Reflection teman-teman bisa get properties ini digunakan untuk mengambil semua data properti bahkan teman-teman saya Tentukan propertinya mau Tipenya apa contoh tipenya public maka teman-teman bisa ambil semua properti yang tipenya public nanti kita simpan dalam properties lalu kita akan lakukan perulangan ya habis itu bikin properti ini balikannya adalah properti Reflection properti Andi propertinya kita cek Apakah dia sudah di inisial S atau belum kalau dia belum di inisial S maka kita akan throw ini property name is not set kalau ternyata dia sudah Dia nasionalis tapi ternyata masih novelnya disini kita bisa cek properti getvalue dari request ini cliques lalu kita throw validation lagi property name is now memang kelihatannya seperti panjang tapi tidak sebenarnya jadi teman-teman cuma bikin sekali Nanti ketika teman-teman pengen validasi objek apapun itu enggak peduli lagi mau loginrequest mau register request mau klip Pondok request semuanya bisa divalidasi menggunakan sih validated Reflection ini Oke kita akan B kode jadi sini yang kita lakukan adalah kita bikin Static function validated Reflection ya di sini kita bikin request seperti ini Oke Indonesia berarti kita bikin Reflection = new reflectionclass kita bikin request nya ini hasil reflectionclass ya objektif reaction kos nanti Reflection itu punya function namanya get properties ini get properties balikan adalah array of ini array of Reflection properti ya ya di sini kita properti terus disini Reflection class.ok saya agak lupa ininya Reflection properti Sorry property is public ya Jadi kita pengen ngambil yang public jadi di sini kita dapetin properti semuanya Nah ini kan array of Reflection properti ya kita akan lakukan pengguna vorich jadi dari properties es properti jadi properti ini adalah Reflection properti ya teman-teman kalau mau ngambil ngecek Apakah dia sudah di ini selais tinggal pakai function namanya is initialized lalu disini obyeknya obyeknya mana ya Ini objek yang ada di parameter ini jadi di sini eh request nah seperti ini jadi kita cek kalau sudah diinisialisasi ya Sorry kalau belum di size kita akan throw throw validation Sorry new validation action kita kalaupun teman-teman pengen dapetin properti NEMnya tinggal gunakan property name seperti ini ya is not set seperti ini kelebihan kayaknya nah ini Oke elship kita cek lagi apakah properti get value nya dari sih request itu ada atau tidak kalau ini masih nol kita akan troll fashion lagi ya di sini kita Check this nol kalau nol Ya kita akan traction lagi is no seperti ini memang katanya lebih panjang dari yang ini tapi sebenarnya ini mengeceknya dua kali is set dan juga Isnu jadi semuanya ini tuh di catnya harusnya seperti ini kalau sama Ayah mah it is no ini juga sama is no ini mati is not set is not set oke lihat dari sini aja baru dua properti ya Ini udah panjang banget pada 4 IV nah ini mau ada dua properti mau ada 10 properti nggak peduli karena kita menggunakan perulangan di sininya Eh ini menggunakan Reflection Nah kita lihat hasilnya kalau menggunakan Reflection ini saya comment validation yu'til validated Reflection request sekarang Ning nasinya errornya username is not set ya Bi bener kita akan set username nya menjadi string kosong passwordnya juga sering kosong Oke kita enggak validasi singkong saya ini menjadi nol sore kita laning error Oke ini enggak kebocoran Enggak ini ya Enggak boleh kalau enggak boleh no kita tambahkan ini set nah traning mah username is no Nah kalau kita masukkan yang benar Eko misalnya rahasia training maka valid nah keuntungannya Apa karena kita menggunakan Reflection disini jadi kita enggak peduli lagi dengan tipe kelasnya Riko teman-teman disini bikin kelas baru contohnya misalnya class register user request ya contohnya Ops register user request kalau kita bikin public string username Sorry name habis itu Aa fashion tohnya ya Hah Email dan sebagainya Nah ini teman-teman bisa langsung bikin kayak gini register = new register your request tentang bisa langsung validation yu'til validated Reflection kita raning Nah error error nya name is not set Jadi benar namanya belum bisa Nah kalau kita request NEMnya Sorry register ya NEMnya kita set Eko seperti ini kita running errornya sekarang beda address is not set Oke addressnya kita set rubah lagi email is not set emailnya kita set Nah baru dia sukses jadi bayangin kita coba Bikin sekali ya Framework menggunakan Reflection ini validation Framework tapi kita validasi menggunakan objek apapun Nah kalau ini teman-teman menggunakan validation yu'til validated habis itu register ini nggak bisa yah ini error kalau teman-teman Coba Rani ini error errornya apa errornya tipe obyeknya Tidak sama kita butuhnya loginrequest sedangkan yang kita kirim adalah register user request jadi akhirnya teman-teman harus bikin lagi di sini validated register seperti ini ini register user request ya jadinya capek banget tiap bikin tipe objek ya teman-teman harus bikin validation lagi jadi ini jangan dilakukan Jadi kalau pengen bikin yang general ya kayak Framework dan sebagainya library gitu ya yang bisa dipakai untuk apapun teman-teman bisa menggunakan Reflection jadi dengan menggunakan Reflection teman-teman bisa tahu struktur kelas struktur properti bahkan structure function itu yang ada semua di Reflection Jadi kalau teman-teman misalnya disinikan get properties untuk mendapatkan semua properties kau teman-teman explore Lebih Jauh ya deflection itu banyak diet Nah lihat ada gadget konstan untuk mendapatkan konstan ada get kontraktor untuk mendapatkan kontraktor bahkan garage extension get file bahkan bisa tahu hanya dimana get interface pengen tahu interfacenya get metode untuk mendapatkan function mana saja nah getaran kelas untuk dapatin parents pasnya ya dan banyak banget Get Rich juga ada untuk mendapatkan treadnya apa aja di dalam kelas tersebut jadi ini adalah Reflection jadi untuk membaca struktur kode program kita pada saat aplikasinya sedang berjalan jadi Silahkan teman-teman explore ya untuk Reflection di sini ini detail banget pembahasan tentang Reflection selesai sudah materi object-oriented Aming untuk PHP Nah jadi sekarang Saya ucapkan selamat ya teman-teman sudah menyelesaikan materi op HP ini Nah selanjutnya kau teman-teman masih pengen tertarik ya menjadi PHP developer atau PHP programmer nah next kita perlu belajar Apalagi naasnya saya akan buatkan beberapa materi tanpa lanjutannya dari PHP opini selanjutnya kita akan bahas tentang PHP database nanti kita akan bikin course terpisah untuk PHP database nanti kita akan bahas tentang Gimana caranya bikin aplikasi berbasis database menggunakan PHP nah di pemateri di materi yang PHP database itu kita tidak akan membuat web kita akan fokusnya memang bikin aplikasi PHP menggunakan database Nah baru setelah itu nanti kita akan Lanjutkan ke PHP web ya nanti di php web kita akan belajar Gimana cara bikin web menggunakan PHP dan disana juga nanti kita bisa coba integrasi dengan menggunakan database nah sebenarnya kalau teman-teman pengen bikin aplikasi menekan PHP ya termahal tentunya bikin aplikasi web soalnya cocok sudah sampai materi PHP Hai nah tapi sekarang ini Perkembangan PHP sudah sangat pesat gitu ya Banyak sekali Framework sekarang yang ada di php nah basis pondasi Framework itu teman-teman harus ngerti yang namanya PHP composer deh nanti kita akan bahas juga tentang PHP composer nanti kita akan bikin poster pisah ya untuk PHP composer bisanya teman-teman akan belajar tentang PHP komposer dan zaman sekarang itu kualitas kode program kita Itu harus baik juga oleh karena itu nanti juga kita akan bahas tentang materi PHP unit test jadi disana kita akan belajar bikin unit test menggunakan PHP gimana supaya program PHP kita itu bagus Ya baik kualitasnya bagus dengan menginformasikan unit tes oke Jadi mungkin sekian aja materinya kalau teman-temannya ada ide atau saran Silahkan masukkan Jalan Kalangkang kolom komentar ya Jadi kalau misalnya ada pertanyaan juga silahkan masukan di kolom komentar Nah kalau teman-teman menurut teman-temannya tarik videonya jangan lupa juga di-share ke teman-teman yang lain dan jangan lupa subscribe dan Nyalakan notifikasi biar nanti ketika ada materi PHP yang terbaru teman-teman bisa dapat update-an nya ya acara Langsung via notifikasi HP atau email Oke mungkin scan aja saya ucapkan salam programmer jaman now Bye bye