30 Hari Belajar JavaScript : Hari ke — 13

Bahrul Rozak
4 min readApr 11, 2023

Halo semuanya! Selamat datang kembali di series belajar JavaScript selama #30 hari. Pada hari ke 13 ini kita akan bersama-sama mempelajari.

Apa itu Object Oriented Programming?

Sebelum kemunculan JavaScript versi modern, JavaScript awalnya dibuat sebagai bahasa pemrograman berbasis prototype. Namun kini JavaScript menjadi bahasa yang multiparadigm, salah satunya ialah OOP. OOP atau Object Oriented Programming atau Pemrograman Berorientasi Object merupakan sebuah paradigma yang digunakan dalam pembuatan aplikasi. Di OOP, objek merupakan sebuah entitas yang terdiri dari dua komposisi atau bahan dasar, yaitu properties dan methods 😍.

Method and Properties at OOP

Method merupakan fungsi yang menggambarkan aksi yang dapat dilakukan oleh objek tersebut. Sedangkan Properti merupakan nilai di dalam objek yang menyimpan informasi tentang objek tersebut.

Paradigma OOP kerap digambarkan atau diterminologikan (Asik 🤣) dengan kehidupan dunia nyata. Objek di dalam OOP, bisa kita anggap seperti objek yang ada di dunia nyata. Kita ambil contoh yang paling sederhana adalah Kucing. Dalam OOP, seekor Kucing dapat dilihat sebagai objek yang memiliki beberapa properti seperti warna bulu, berkaki empat dan lain-sebagainya. Objek tersebut memiliki kemampuan atau method seperti makan, minum dan meow meow meow 🤣.

Terminologi OOP pada Seekor Kucing

Lalu, seperti apa bentuk objek Kucing dalam bentuk JavaScript? Objek kucing dibuat dengan menggunakan tanda kurung kurawal dan untuk method-nya, kita cukup buat properti yang merupakan sebuah fungsi, contohnya seperti ini.

const kucing = {
jumlahKaki: 4,
warnaBulu: "Orange",
kemampuanKucing: (kemampuan) => {
console.log(`${kemampuan}`)
}
}

console.log(`Karakteristik dari kucing yaitu memilki kaki berjumlah ${kucing.jumlahKaki} dan warna bulu ${kucing.warnaBulu}`);
kucing.kemampuanKucing(["Makan", "Minum", "Meow Meow Meow"])
Kucing

Di JavaScript untuk membuat sebuah objek terlihat mudah, bukan? Namun, masalah yang dipecahkan oleh paradigma OOP tidak hanya sebatas membuat objek sederhana saja. Seiring berkembangnya aplikasi, pembuatan objek akan semakin banyak dan saling berinteraksi satu dengan yang lainnya. Sehingga, kita harus mengetahui cara efektif mengelola objek termasuk cara membuatnya ☺.

Mari kita angkat sebuah masalah baru dari contoh kode di atas. Bagaimana jika kita ingin membuat objek dua yaitu kucing hitam dengan nilai yang berbeda? Haruskah kita mendefinisikan properti dan method yang sama secara berulang seperti contoh kode di bawah ini? Tentu saja Tidak! 🤗

 const kucing = {
jumlahKaki: 4,
warnaBulu: "Orange",
kemampuanKucing: (kemampuan) => {
console.log(`${kemampuan}`)
}
}

console.log(`Karakteristik dari kucing yaitu memilki kaki berjumlah ${kucing.jumlahKaki} dan warna bulu ${kucing.warnaBulu}`);
kucing.kemampuanKucing(["Makan", "Minum", "Meow Meow Meow"])

const kucingHitam = {
jumlahKaki: 4,
warnaBulu: "Hitam",
kemampuanKucing: (kemampuan) => {
console.log(`${kemampuan}`)
}
}

console.log(`Karakteristik dari kucing yaitu memilki kaki berjumlah ${kucing.jumlahKaki} dan warna bulu ${kucing.warnaBulu}`);
kucing.kemampuanKucing(["Makan", "Minum", "Meow Meow Meow"])

Dan tentunya akan sangat merepotkan kembali dan membuat kita ketar-ketir 😥. Oleh karena itu kita memerlukan OOP. OOP menawarkan kemudahan yakni dengan membuat object blueprint. Melalui object blueprint, kita bisa membuat cetakan untuk membuat objek yang sudah terdefinisikan macam-macam properti dan method-nya. Sehingga kita cukup menggunakan cetakan tersebut untuk membuat objek yang serupa, tetapi kita bisa menentukan nilai-nilai properti yang berbeda. Di dalam OOP, object blueprint tersebut bernama class. Class adalah blueprint, prototype atau cetakan untuk membuat Object. Class berisikan deklarasi semua properties dan functions yang dimiliki oleh Object. Setiap Object selalu dibuat dari Class dan sebuah Class bisa membuat Object tanpa batas.

Membuat beberapa object kucing dari blueprint

Contohnya, kita bisa membuat sebuah blueprint bernama Kucing. Di dalam blueprint tersebut, kemudian kita bisa definisikan properti-properti dan method yang ingin dimiliki objek kucing nantinya. Setelah membuat sebuah blueprint, kita bisa dengan mudah membuat banyak objek kucing contohnya kucingHitam, kucingPutih, kucingOrange dengan lebih mudah.

Halo! Saya Bahrul Rozak, seorang mahasiswa dari Universitas Muhammadiyah Prof. DR. HAMKA. Saya memiliki pengalaman sebagai web developer di sebuah institusi dan telah membuat serta mengembangkan aplikasi internal menggunakan bahasa pemrograman JavasScript dan PHP, serta menggunakan framework PHP seperti Laravel, codeigniter, dan Vue Js. Saya juga pernah memimpin sebuah tim proyek yang terdiri dari divisi Front End dan Back End, di sana saya belajar banyak hal, terutama tentang kolaborasi dalam tim. Selain itu, saya memiliki hobi terkait desain web dan menulis artikel tentang teknologi. Saya sangat suka tantangan yang memacu adrenalin karena saya percaya bahwa more complex more adrenaline. Jika Anda ingin tahu lebih banyak tentang saya atau ingin berkolaborasi, silakan hubungi saya melalui email di bahrulrozak02@gmail.com atau follow media sosial saya di.

Instagram : https://instagram.com/rozak.dexamethasone

Linkedin : https://linkedin.com/in/bahrul-rozak

Stackoverflow : https://stackoverflow.com/users/20835639/bahrul-rozak

Github : https://github.com/Bahrul-Rozak

--

--