Тёмный

Mengapa Kita Mendefinisikan Class dalam Object Oriented Programming? | OOP 

Indonesia Belajar
Подписаться 130 тыс.
Просмотров 1,2 тыс.
50% 1

Object-Oriented Programming (OOP) adalah paradigma pemrograman yang mengorganisasikan kode berdasarkan objek-objek nyata yang mewakili entitas dunia nyata atau konsep abstrak. OOP membantu dalam membangun perangkat lunak yang modular, mudah dikelola, dan dapat digunakan kembali. Dua konsep dasar dalam OOP adalah class dan object.
Apa itu Class?
Class adalah cetak biru atau template untuk menciptakan objek. Class mendefinisikan atribut (variabel) dan metode (fungsi) yang dimiliki oleh objek yang dibuat dari class tersebut. Dalam class, kita mendefinisikan properti dan perilaku yang spesifik dari objek yang akan kita buat.
Apa itu Object?
Object adalah instance dari class. Ketika class adalah cetak biru, objek adalah rumah sebenarnya yang dibangun berdasarkan cetak biru tersebut. Setiap objek memiliki salinan dari atribut dan metode yang didefinisikan dalam class-nya, tetapi nilai atributnya bisa berbeda antara satu objek dengan yang lain.
Object-Oriented Programming adalah pendekatan yang kuat untuk pemrograman yang memungkinkan kita untuk menciptakan program yang lebih terstruktur dan mudah dipelihara. Memahami konsep dasar seperti class dan object adalah langkah pertama untuk menguasai OOP. Dengan menggunakan class sebagai cetak biru dan objek sebagai instance dari class tersebut, kita dapat memodelkan hampir semua hal dari dunia nyata dalam kode kita, membuat pemrograman menjadi lebih intuitif dan efisien.
Reach Out:
LinkedIn: / boedybios
Instagram: / boedybios
Twitter: / boedybios

Опубликовано:

 

20 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 22   
@tarunawahyudi4625
@tarunawahyudi4625 Месяц назад
sangat masuk akal, relate banget pak :D hanya opini saya aja, kalo ternyata bahasa pemrograman yang dipilih juga sangat berpengaruh. ingat ya ini hanya pengalaman pribadi, boleh sepakat boleh tidak hehe. 5 tahun pakai PHP dan JS untuk membuat banyak project tapi masih belum paham apa itu OOP. Yap, karena bahasa-bahasa tersebut tidak strict untuk urusan paradigma. Bahkan kita sudah bisa buat aplikasi super canggih hanya dengan gaya prosedural. Framework-framework nya pun sangat memanjakan para pengguna nya. Banyak class-class yang telah disediakan, bahkan sampai ada fitur generator untuk membuat class (Artisan di laravel misal nya) sehingga untuk bisa membuat aplikasi yang keren, tanpa pemahaman OOP pun bisa dilakukan. hmm bukan salah framework nya sih, emang tujuan framework kan untuk memudahkan para developer nya. Namun dibahasa yang strict akan OOP seperti di Java, mau tidak mau, suka tidak suka, kita dituntut wajib memahami OOP. Bagaimana dengan framework nya seperti spring? walaupun banyak fitur magic yang serba instant, tetep kita dituntut memahami OOP. So ya, setelah 5 tahun ngga paham OOP, setelah pindah ke Java rasa nya justru merepotkan membuat aplikasi tanpa class :) Dan saat ini saya sudah berada pada fase dimana membuat aplikasi bukan hanya sekedar jadi, tapi juga mudah untuk dimaintain, dibaca dan dipelajari.
@belajaridn
@belajaridn Месяц назад
Terima kasih sudah berbagi insight di sini. Saya juga yang termasuk banyak belajar seputar OOP sewaktu menggunakan Java, dan Java adalah bahasa pemrograman yang selalu saya rekomendasikan untuk serius belajar OOP 😊☕ Dan saya juga sangat sependapat bahwa menulis kode program itu bukan sekadar jalan dan solve current problem tapi juga harus maintainable dan bisa dengan mudah mengakomodir future requrements/problems 💪😊
@tarunawahyudi4625
@tarunawahyudi4625 Месяц назад
@@belajaridn bukan berarti bahasa lain under juga ya sama oop nya. Contoh nya sekarang PHP versi 8 ke atas udah sangat bagus ko buat belajar OOP. Di javascript modern juga syntatic sugar untuk OOP udah mulai lengkap, atau kalo kurang lengkap bisa geser sedikit ke typescript. Tapi ya sekali lgi saya bilang, bahasa2 di atas ngasih kelonggaran buat para pengguna nya. Sehingga orang yang baru belajar akan berfikir “udahlah, tanpa oop juga masih bisa buat aplikasi” di java, Bahkan cuma sekedar bikin hello world aja mesti ada class 🤣 Kita seolah olah dipecut untuk dipaksa memahami OOP. Makanya banyak yg ga sedikit orang putus asa ketika belajar pemrograman dasar, karena langsung ketemu nya Java 😂 saya sendiri termasuk orang yg nyerah. dan mulai belajar lgi semenjak tau ada bahasa lain yg lebih manusiawi kaya PHP wkwk ya kalo kata orang dulu sih, sepait pait nya obat, pasti sangat bermanfaat. Setuju bgt sih sama yg divideo ini, belajar OOP itu ga instant. Mesti punya jam terbang ✈️
@jokoadianto239
@jokoadianto239 Месяц назад
Mas2 dan mbak2 pprogrammer dan para pengajar - BACALAH POLA TINGKAH LAKU, STRUKTURAL, DAN PEMBUATAN OBJEK.dalam design pattern. Sebaiknya strategi pembelajaran dan pmrograman berorientasi objek berputar di sekitar pola2 tersebut.
@jordyf3360
@jordyf3360 27 дней назад
Iya, saat kita paham dengan class, misalnya kita sendiri yang desain class itu dari awal, itu memang terasa membantu. Tapi saat class di buat oleh orang lain, justru sering bikin kita tersesat dan membingungkan. Debugnya justru jadi sangat lama dan buang2 waktu. Karena dengan class, alur program jadi lebih sulit untuk di telusuri atau diprediksi karena sering loncat2 (bikin kita pusing dan lupa, sudah berada dimana). Bagaimana menurut anda, solusi yang ter-enak lah... karena kalau yang terbaik, pasti bakal beda2 pendapat setiap orang...hehe. Kadang2 sebuah data, ternyata berasal dari beberapa fungsi yang berlapis-lapis dan loncat2. Dulunya yang buat kan sudah tau arahnya, jadi walau loncat2, dia pasti ingat, tapi posisi orang berikutnya yang mendapat codingnya, bisa mabok dan tersesat😅
@belajaridn
@belajaridn 27 дней назад
Ketika kita bekerja dalam tim, standarisasi sangatlah dibutuhkan. Nah di sinilah peran dari design principles yang umum digunakan seperti Clean Code, SOLID Principles, Design Patterns. Fokusnya bukan lagi sekadar membangun code base yang bisa solve problem, melainkan membangun code base yang maintainable 😊☕
@jordyf3360
@jordyf3360 27 дней назад
@@belajaridn siippp 😁
@moh.yusrilmaqoshidana9679
@moh.yusrilmaqoshidana9679 Месяц назад
Seperti biasa penjelasannya sangat mudah dipahami, lanjutkan terus pak.
@belajaridn
@belajaridn Месяц назад
Semoga bisa bermanfaat ya. Materi selanjutnya akan membahas 4 pilars dalam OOP.
@chandragunawan4105
@chandragunawan4105 Месяц назад
saya sebagai mahasiswa akhir teknik informatika yang mendalami paradigma data oriented design (DOD) sebagai topik skripsi punya pandangan berbeda mengenai OOP. OOP sebenarnya hanyalah salah satu pendekatan dalam menyelesaikan sebuah masalah pemrograman. OOP yang mana mengedepankan abstraksi dan inheritence (turunan) menyebabkan kompleksitas yang tidak diperlukan. contohnya dalam kasus membuat pembuatan Kursi dan Meja. Dalam OOP, pendekatannya adalah pembuatan kelas abstrak dari Kursi dan Meja. Lalu untuk membuat Kursi atau Meja yang lebih spesifik seperti KursiKayu atau MejaMakan tentunya tinggal mewarisi dari abstrak kelas tadi (inheritence). Namun, akan sulit nantinya jika kita ingin membuat KursiKuliah yang kursi tersebut memiliki meja. Dari sini pendekatan OOP menjadi ambigu. Apakah KursiKuliah merupakan turunan dari Kursi atau Meja atau keduanya ? Lalu untuk kasus pembuatan game yang sering terjadi perubahan desain, tentunya hal ini menjadi makin sulit OOP memperlambat iterasi. Karena jika ingin menambahkan sesuatu yang baru pada abstrak class, maka semua turunannya juga akan terpengaruh. Hal ini menyebabkan codebase menjadi tidak modular. Selain itu OOP juga memberikan efek pada performance, karena inheritance dan abstraksi itu bukan black magic (butuh banyak compute power). Solusinya adalah dengan menggunakan DOP. DOD memisahkan data dengan implementasi, sehingga programmer dapat dengan mudah memanipulasi implementasi dan dapat dengan mudah mengetahui state dari data yang diproses. Kemudian DOD juga cukup membantu dalam performance karena tidak berlayer-layer seperti OOP (dan salah satunya menghindari cache miss). jadi, take away dari penjelasan diatas adalah OOP itu bukan satu-satunya cara menulis dan mengorganisir kode. dalam dunia software engineer, semuanya adalah trade, programmer perlu paham apa yang ingin dia tuju dan solusi terbaiknya apa. dann, software tetap bisa dibangun hanya dengan metode/fungsi dan structs, tanpa fitur yang OOP sediakan. (atau simple-nya the good old way C does). NB: ini hanya sekedar tambahan POV tentang pemrograman itu sendiri (agak OOT sebenarnya haha). mungkin yang baca bisa terbuka pengetahuannya tentang pemrograman dan (hopefully) paham bahwa at the end of the day, tugas programmer hanyalah solving problems :D
@belajaridn
@belajaridn Месяц назад
Terima kasih sudah berbagi POV 🙂🙏
@adaf22karina
@adaf22karina Месяц назад
Terima kasih insight nya pak
@belajaridn
@belajaridn Месяц назад
Sama-sama, semoga bisa bermanfaat ya 😊🙏
@allofabout7064
@allofabout7064 Месяц назад
cukup jelas, namun akan lebih baik jika di ilustrasikan dalam diagram atau divisualkan apa itu OOP yang di dalamnya ada variable, function kemudian menjadi class, dan menjadi sempurna saat diimplementasikan ke bahasa pemrogramanya. anyway saya ucapkan terima kasih atas penjelasannya
@belajaridn
@belajaridn Месяц назад
Untuk ilustrasi terkait class dan object sudah disampaikan di video sebelumnya 😊🙏 Pengenalan Class dan Object: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-_Ld8wMr4OZ4.html 4 pilars dalam OOP: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ULnPfJCHcEk.html
@Empaty78
@Empaty78 Месяц назад
Justru mlh bingung kalo pake bahasa fungsional daripada Bahasa oop
@belajaridn
@belajaridn Месяц назад
Yup yup, dan juga OOP memang lebih widely accepted sih ketimbang functional. CMIIW 😊🙏
@penyepongNASA
@penyepongNASA Месяц назад
halo pak budiiiiii
@belajaridn
@belajaridn Месяц назад
Hallo juga 😊🙏
@ramabookstroremalang9131
@ramabookstroremalang9131 Месяц назад
Kalau terbiasa baca buku logika tradisional yang di dalamnya mencakup jenus, spesies, pembeda, maka OOP cocok untuk dirinya. Setiap objek adalah individualisasi dari class. Akan tetapi saya bersyukur bisa Node js (functional) dan Java.
@belajaridn
@belajaridn Месяц назад
Wah saya malah baru tahu kalau Node js itu termasuk functional programming.
@ramabookstroremalang9131
@ramabookstroremalang9131 Месяц назад
​@@belajaridn Ya, memang ini kesimpulan dangkal saya. wkwkwk Banyak yang kerap membandingkan node js sebagai representasi fp (padahal ia runtime env) dengan bahasa-bahasa yang merepresentasikan OOP.
Далее
ЧТО Я ПОСТРОИЛ 11? | CLEX #shorts
1:00
Просмотров 588 тыс.
PENYESALAN Ketika Kuliah IT
21:53
Просмотров 294 тыс.
Contoh Implementasi Logika Kedalam Coding
12:19
Просмотров 30 тыс.
Backend Developer Kerjanya Ngapain?
23:01
Просмотров 1,2 тыс.
Tips Belajar IT Tanpa Sekolah IT
12:08
Просмотров 50 тыс.
Cara Cepat & Efektif Belajar Apapun
14:54
Просмотров 1,2 млн
TIMOTHY RONALD
12:27
Просмотров 1,3 млн
Kenyataan Pahit menjadi seorang Data Analyst
9:06
Просмотров 50 тыс.
ЧТО Я ПОСТРОИЛ 11? | CLEX #shorts
1:00
Просмотров 588 тыс.