CPU seperti Dragonsnap atau Ex-Nose dsb* (*nama disamarkan untuk menghindari copyright)
Memory atau RAM di 2GB, 4GB, 8GB, dst
Storage atau Capacity di 32GB, 64GB, 128GB dst
Intro OOP (iii)
Contoh deskripsi smartphone:
Samsul S22 memiliki CPUDragonsnap 1 Gen 8 dengan Memory 8GB dan Storage 256GB
Tanpa sadari dengan membicarakan ini, kita sudah mengelompokkan Smartphone berdasarkan orientasi objek loh !
Dalam terminologi ngoding hal ini disebut Pemrograman Berorientasi Objek atau Object Oriented Programming
Apa itu OOP
OOP atau PBO adalah sebuah mata kuliah pada program studi teknik informatika yang terdiri dari 14 Pertemuan
#eh salah
Apa itu OOP
Paradigma atau model atau konsep dalam pemrograman yang mendefinisikan desain dari
software dalam bentuk Objek sesuai dengan keadaan nyata,
bukan dalam bentuk fungsi dan logika saja.
Apa itu OOP (ii)
Dalam OOP kita harus mengetahui 2 hal ini: Class dan Object (Instance)
Object atau sering disebut Instance adalah entitas yang membungkus data dan sifat, dimana data ini umumnya unik antara satu objek dengan objek lainnya.
Class adalah sebuah cetak biru atau blueprint yang mendefinisikan seluruh data yang ada, disebut dengan property atau attribute dan seluruh fungsi-fungsi yang ada dalamnya (disebut dengan method).
Apa itu OOP (iii)
Mari kita ambil contoh Smartphone
Contoh Object misalnya adalah sebuah Samsul S22 ataupun Siomay Poco M4 Pro
Contoh Class Smartphone adalah memiliki:
Property berupa CPU, Memory, dan Storage
Method yang sama antar Object, misalnya bisaNyala, bisaDisentuh, swipeHorizontal, dsb
OOP di JS
Mari kita coba melihat cara deklarasi OOP di JS dengan Klik di sini
Catatan untuk kode di atas:
Perhatikan outputnya adalah Smartphone bukan (Object biasa)
Output terjadi karena di dalam JS Object hasil OOP akan memiliki nama class di output Objectnya
OOP di JS (ii)
Ada yang sudah menemukan anomali pada kode sebelumnya?
Ya, property-nya tidak tampak !
Terjadi karena kita belum meng-setproperty awalnya
Bagaimanakah caranya?
Mari kita modifikasi kode sebelumnya, Klik di sini
Nah sekarang kita sudah berhasil deklarasi OOP di JS dengan baik yah !
OOP di JS (iii)
Bagaimana bila sekarang kita ingin mendefinisikan method-nya?
Bayangkan bila kita membuat Smartphone secara object literal seperti samsulS22Pro
Imajinasikan bila ada 100 object literal dan ada 1 fitur yang mau diganti
Tangan pasti jadi keriting !
Selain itu, pada saat console.log, semua (property dan method) terlihat bukan?
Why OOP? (iii)
Keuntungan OOP
Kita melihat sebuah Object sebagai suatu data yang unik, bukan kumpulan dari data dan fungsi.
Fleksibilitas
Kemudahan dalam membaca kode, sehingga editnya (maintain)nya lebih mudah.
Lebih simple bukan? karena kita bawa dari konsep dunia nyata ke dalam bentuk koding.
Di dalam dunia perbankan sendiri, yang masih heavily relied on Java, OOP is a must !
karena Java adalah sebuah bahasa yang sangat bergantung pada OOP dengan segala macam karakteristiknya.