Dart Object Oriented
Programming
By Saiful Bahri
https://linkedin.com/in/bahrie
https://youtube.com/@codewithbahri
OOP (Object-oriented programming)
OOP (Object-oriented programming) adalah metode
pemrograman yang menggunakan Object dan
interaksinya untuk merancang dan membuat
aplikasi. OOP digunakan pada banyak bahasa
pemrograman, seperti Dart, Java, C++, Python, dan
lain-lain.
https://youtube.com/@codewithbahri
OOP (Object-oriented programming)
Keuntungan dari OOP antara lain mudah dimengerti
dan digunakan, meningkatkan daya guna ulang dan
mengurangi kompleksitas, meningkatkan
produktivitas programmer, membuat kode lebih
mudah dipelihara, dimodifikasi, dan didebug, serta
mendorong kerjasama dan kolaborasi.
https://youtube.com/@codewithbahri
OOP (Object-oriented programming)
Fitur-fitur OOP antara lain class, object, enkapsulasi,
pewarisan(inheritance), polimorfisme, dan abstraksi.
OOP bertujuan untuk memecahkan masalah yang
kompleks menjadi Object yang lebih kecil.
https://youtube.com/@codewithbahri
OOP (Object-oriented programming)
OOP dapat membuat kode menjadi lebih modular,
fleksibel, dan mudah diperluas. OOP dapat
membantu Anda memahami dan menyelesaikan
masalah dengan lebih baik.
https://youtube.com/@codewithbahri
Class In Dart
Class dalam bahasa pemrograman Dart merupakan salah
satu konsep dasar dalam paradigma pemrograman
berorientasi Object (OOP). Konsep ini memungkinkan
programmer untuk membuat Object yang memiliki
properti dan method tertentu yang dapat digunakan
untuk melakukan tugas tertentu.
https://youtube.com/@codewithbahri
Class In Dart
Sintaks dasar class dalam Dart dimulai dengan kata kunci
"class" diikuti dengan nama class. Struktur class dalam
Dart terdiri dari bagian header, body, dan constructor.
Header class berisi nama class dan deklarasi pewarisan
(inheritance), sedangkan body class berisi properti dan
method yang didefinisikan untuk class tersebut.
Constructor adalah method khusus yang digunakan
untuk membuat Object class tersebut.
https://youtube.com/@codewithbahri
Class In Dart
Pembuatan Object dalam Dart dilakukan dengan
menggunakan operator "=" diikuti dengan nama class dan
parameter Constructor. Constructor memiliki dua jenis, yaitu
Default Constructor dan Constructor dengan parameter. Default
Constructor merupakan Constructor yang otomatis dibuat jika
tidak didefinisikan, sedangkan Constructor dengan parameter
digunakan untuk memasukkan nilai ke dalam Object.
https://youtube.com/@codewithbahri
Class In Dart
Setiap Object yang dibuat dari class memiliki properti yang
unik. Properti class dibagi menjadi dua jenis, yaitu variabel
instance dan variabel statis. Variabel instance adalah variabel
yang nilainya berbeda untuk setiap Object, sedangkan variabel
statis nilainya sama untuk semua Object.
https://youtube.com/@codewithbahri
Class In Dart
Method adalah fungsi khusus yang dapat digunakan untuk
melakukan operasi pada Object. method juga dibagi menjadi
dua jenis, yaitu method instance dan method statis. method
instance dipanggil pada Object yang spesifik, sedangkan
method statis dipanggil pada class itu sendiri.
https://youtube.com/@codewithbahri
Class In Dart
Dalam pewarisan(Inheritance), class dapat mewarisi properti
dan method dari class lain. Dalam Dart, konsep pewarisan ini
dapat diimplementasikan dengan menggunakan kata kunci
"extends". Dalam implementasinya, class turunan dapat
mengakses properti dan method dari class induknya.
https://youtube.com/@codewithbahri
Class In Dart
Untuk mendefinisikan class dalam
Dart, kita menggunakan sintaks
berikut:
https://youtube.com/@codewithbahri
Class In Dart
Contoh sederhana class dalam Dart:
Dalam contoh di samping, kita
mendefinisikan class Mobil dengan tiga
variabel (merk, model, dan tahun) dan
satu method (klakson).
https://youtube.com/@codewithbahri
Membuat Object dari Class
Untuk membuat Object dari class, kita
menggunakan sintaks berikut:
https://youtube.com/@codewithbahri
Membuat Object dari Class
Untuk membuat Object dari class, kita
menggunakan sintaks berikut: Contoh membuat Object dari class
Mobil:
https://youtube.com/@codewithbahri
Membuat Object dari Class
Setelah Object dibuat, kita dapat
mengakses variabel dan method dalam
Object dengan menggunakan tanda titik
(.):
https://youtube.com/@codewithbahri
Class In Dart
Dalam Dart, kita bisa menggunakan
Constructor untuk membuat Object
dengan nilai yang telah ditentukan.
Constructor adalah method khusus yang
dipanggil saat membuat Object. Berikut
adalah sintaks untuk membuat
Constructor dalam class:
https://youtube.com/@codewithbahri
Class In Dart
Contoh penggunaan Constructor dalam
class Mobil:
https://youtube.com/@codewithbahri
Class In Dart
Kesimpulan
Class adalah elemen dasar dalam pemrograman berorientasi Object yang
membantu kita mengorganisir kode dengan lebih baik. Dalam pemrograman
Dart, kita dapat mendefinisikan class, membuat Object dari class, dan
mengakses variabel serta method dalam Object.
Object adalah instansi dari class yang digunakan untuk mengakses variabel
dan method dalam class. Dengan memahami cara kerja Object, kita dapat
lebih mudah mengorganisir kode dan mengembangkan aplikasi secara
efisien.
https://youtube.com/@codewithbahri
Contoh Class & Object dalam Pemrograman Dart
Contoh 1: class Hewan
Dalam contoh disamping ini, terdapat
classs Hewan dengan tiga properti:
nama, jumlahKaki, dan umur. class ini
juga memiliki method display() yang
mencetak nilai dari ketiga properti
tersebut.
https://youtube.com/@codewithbahri
Contoh Class & Object dalam Pemrograman Dart
Contoh 2: Menghitung Luas Persegi
Panjang Menggunakan class dan Object
Dalam contoh di bawah ini, terdapat class
PersegiPanjang dengan dua properti:
panjang dan lebar. class ini juga memiliki
method area() yang menghitung luas dari
persegi panjang.
Catatan: Tanda seru (!) digunakan untuk
memberitahu kompiler bahwa variabel
tersebut tidak null. Jika Anda tidak
menggunakan tanda seru, maka Anda akan
mendapatkan error. Anda akan mempelajari
lebih lanjut tentang null safety nanti.
https://youtube.com/@codewithbahri
Contoh Class & Object dalam Pemrograman Dart
Contoh 3: Menghitung Bunga
Sederhana Menggunakan class dan
Object
Dalam contoh di bawah ini, terdapat
class BungaSederhana dengan tiga
properti: pokok, sukuBunga, dan
waktu. class ini juga memiliki method
bunga() yang menghitung bunga
sederhana.
https://youtube.com/@codewithbahri
Contoh Class & Object dalam Pemrograman Dart
Challenge:
Buatlah class Rumah dengan properti nama, alamat, jumlahKamar. Buatlah
method display() yang mencetak nilai dari ketiga properti tersebut. Buat Object
dari class Rumah dan atur nilai-nilai propertinya. Panggil method display() untuk
mencetak nilai dari ketiga properti tersebut.
https://youtube.com/@codewithbahri
Constructor dalam Pemrograman Dart
Constructor adalah method khusus
yang digunakan untuk
menginisialisasi Object. Constructor
dipanggil secara otomatis saat Object
dibuat dan dapat digunakan untuk
mengatur nilai awal properti Object.
Sebagai contoh, kode berikut
membuat Object class Orang dan
mengatur nilai awal untuk properti
nama dan umur.
https://youtube.com/@codewithbahri
Constructor dalam Pemrograman Dart
Tanpa Constructor
Jika Anda tidak mendefinisikan
Constructor untuk class, maka Anda
perlu mengatur nilai properti secara
manual. Sebagai contoh, kode berikut
membuat Object class Orang dan
mengatur nilai untuk properti nama
dan umur.
https://youtube.com/@codewithbahri
Constructor dalam Pemrograman Dart
Hal-hal yang Perlu Diperhatikan
● Nama Constructor harus sama
dengan nama class.
● Constructor tidak memiliki tipe
pengembalian.
Sintaks:
https://youtube.com/@codewithbahri
Constructor dalam Pemrograman Dart
Hal-hal yang Perlu Diperhatikan
● Nama Constructor harus sama
dengan nama class.
● Constructor tidak memiliki tipe
pengembalian.
Catatan: Ketika Anda membuat Object
dari class, Constructor dipanggil secara
otomatis. Constructor digunakan untuk
menginisialisasi nilai saat Object dibuat.
Sintaks:
https://youtube.com/@codewithbahri
Constructor dalam Pemrograman Dart
Contoh 1: Cara Mendeklarasikan
Constructor dalam Dart
Dalam contoh di bawah ini, terdapat
class Siswa dengan tiga properti: nama,
umur, dan nomorInduk. class ini
memiliki satu Constructor. Constructor
digunakan untuk menginisialisasi nilai
dari ketiga properti tersebut. Kami juga
membuat Object dari class Siswa yang
disebut siswa.
https://youtube.com/@codewithbahri
Constructor dalam Pemrograman Dart
Catatan: Kata kunci this digunakan
untuk merujuk ke instance saat ini dari
class. Kata kunci ini digunakan untuk
mengakses properti class saat ini.
Dalam contoh di atas, nama parameter
dan properti class dari Constructor
Siswa adalah sama. Oleh karena itu,
untuk menghindari kebingungan, kita
menggunakan kata kunci this.
https://youtube.com/@codewithbahri
Constructor dalam Pemrograman Dart
Contoh 2: Constructor dalam Dart
Dalam contoh berikut, ada class Guru
dengan empat properti: nama, umur,
mataPelajaran, dan gaji. class ini
memiliki satu Constructor untuk
menginisialisasi nilai dari properti. class
ini juga memiliki method display() yang
digunakan untuk menampilkan nilai
properti. Kami juga membuat 2 Object
dari class Guru yang disebut guru1 dan
guru2.
https://youtube.com/@codewithbahri
Constructor dalam Pemrograman Dart
Contoh 2: Constructor dalam Dart
Hasil Keluaran:
https://youtube.com/@codewithbahri
Default Constructor dalam Bahasa Pemrograman Dart
Default Constructor adalah Constructor yang dibuat secara otomatis oleh kompiler
Dart jika Anda tidak membuat Constructor. Default Constructor tidak memiliki
parameter. Default Constructor dideklarasikan dengan menggunakan nama class
diikuti dengan tanda kurung ().
https://youtube.com/@codewithbahri
Default Constructor dalam Bahasa Pemrograman Dart
Contoh 1: Default Constructor dalam
Dart
Dalam contoh berikut ini, terdapat class
Laptop dengan dua properti: merek,
dan harga. Mari kita buat Constructor
tanpa parameter dan mencetak sesuatu
dari Constructor tersebut. Kami juga
memiliki Object dari class Laptop yang
disebut laptop.
https://youtube.com/@codewithbahri
Default Constructor dalam Bahasa Pemrograman Dart
Contoh 1: Default Constructor dalam
Dart
Dalam contoh berikut ini, terdapat class
Laptop dengan dua properti: merek,
dan harga. Mari kita buat Constructor
tanpa parameter dan mencetak sesuatu
dari Constructor tersebut. Kami juga
memiliki Object dari class Laptop yang
disebut laptop.
https://youtube.com/@codewithbahri
Parameterized Constructor dalam Bahasa Pemrograman
Dart
Parameterized Constructor digunakan
untuk menginisialisasi variabel instan
dari class. Parameterized Constructor
adalah Constructor yang menggunakan
parameter. Constructor ini digunakan
untuk mengirimkan nilai ke Constructor
pada saat pembuatan Object.
https://youtube.com/@codewithbahri
Parameterized Constructor dalam Bahasa Pemrograman
Dart
Contoh 1: Parameterized Constructor
dalam Dart
Dalam contoh di bawah ini, terdapat
class Student dengan tiga properti:
name, age, dan rollNumber. class ini
memiliki satu Constructor. Constructor
ini digunakan untuk menginisialisasi
nilai dari ketiga properti tersebut. Kami
juga memiliki Object dari class Student
yang disebut student.
https://youtube.com/@codewithbahri
Parameterized Constructor dalam Bahasa Pemrograman
Dart
Contoh 1: Parameterized Constructor
dalam Dart
Hasil Keluaran:
https://youtube.com/@codewithbahri
Parameterized Constructor dalam Bahasa Pemrograman
Dart
Contoh 2: Parameterized Constructor
dengan Parameter Bernama dalam
Dart
Dalam contoh di bawah ini, terdapat
class Student dengan tiga properti:
name, age, dan rollNumber. class ini
memiliki satu Constructor. Constructor
ini digunakan untuk menginisialisasi
nilai dari ketiga properti tersebut. Kami
juga memiliki Object dari class Student
yang disebut student.
https://youtube.com/@codewithbahri
Parameterized Constructor dalam Bahasa Pemrograman
Dart
Contoh 2: Parameterized Constructor
dengan Parameter Bernama dalam
Dart
Hasil Keluaran:
https://youtube.com/@codewithbahri
Parameterized Constructor dalam Bahasa Pemrograman
Dart
Contoh 3: Parameterized Constructor
dengan Nilai Default dalam Dart
Dalam contoh di bawah ini, terdapat
class Student dengan dua properti:
name, dan age. class ini memiliki
Parameterized Constructor dengan nilai
default. Constructor ini digunakan untuk
menginisialisasi nilai dari kedua properti
tersebut. Kami juga memiliki Object dari
class Student yang disebut student.
https://youtube.com/@codewithbahri
Parameterized Constructor dalam Bahasa Pemrograman
Dart
Contoh 3: Parameterized Constructor
dengan Nilai Default dalam Dart
Hasil Keluaran:
https://youtube.com/@codewithbahri
Named Constructor dalam Dart
Dalam kebanyakan bahasa pemrograman seperti Java, C++, C#, dll., kita bisa
membuat beberapa Constructor dengan nama yang sama. Namun dalam Dart, hal
ini tidak mungkin. Tetapi ada cara lain, kita bisa membuat beberapa Constructor
dengan nama yang sama menggunakan Named Constructor.
Catatan: Named Constructor meningkatkan keterbacaan kode. Ini berguna ketika
Anda ingin membuat beberapa Constructor dengan nama yang sama.
https://youtube.com/@codewithbahri
Named Constructor dalam Dart
Contoh 1: Named Constructor dalam
Dart
Dalam contoh di bawah ini, ada class
Student dengan tiga properti: name,
age, dan rollNumber. class ini memiliki
dua Constructor. Constructor pertama
adalah Default Constructor.
Constructor kedua adalah Named
Constructor. Named Constructor
digunakan untuk menginisialisasi nilai
ketiga properti. Kami juga memiliki
Object dari class Student yang disebut
student.
https://youtube.com/@codewithbahri
Named Constructor dalam Dart
Contoh 2: Named Constructor dalam Dart
Dalam contoh di bawah ini, ada class Mobile
dengan tiga properti name, color, dan prize.
Class ini memiliki satu method display yang
mencetak nilai ketiga properti. Kami juga
memiliki Object dari class Mobile yang
disebut mobile. Ada juga Constructor Mobile
yang mengambil ketiga properti sebagai
parameter. Named Constructor
Mobile.namedConstructor digunakan untuk
membuat Object dari class Mobile dengan
name, color dan prize opsional. Nilai default
dari prize adalah 0. Jika prize tidak
dilewatkan, maka nilai default akan
digunakan.
https://youtube.com/@codewithbahri
Named Constructor dalam Dart
Contoh 3: Named Constructor dalam Dart
Dalam contoh di bawah ini, ada class Animal
dengan dua properti name dan age. class ini
memiliki tiga Constructor. Constructor
pertama adalah Default Constructor.
Constructor kedua dan ketiga adalah Named
Constructor. Constructor kedua digunakan
untuk menginisialisasi nilai name dan age,
dan Constructor ketiga digunakan untuk
menginisialisasi nilai name saja. Kami juga
memiliki Object dari class Animal yang
disebut animal
https://youtube.com/@codewithbahri
Named Constructor dalam Dart
Contoh 4: Contoh Nyata Named Constructor
dalam Dart
Dalam contoh di bawah ini, ada class Person
dengan dua properti name dan age. class ini
memiliki tiga Constructor. Constructor
pertama adalah Parameterized
Constructorisasi yang mengambil dua
parameter name dan age. Constructor kedua
dan ketiga adalah Named Constructor.
Constructor kedua fromJson digunakan untuk
membuat Object dari class Person dari
JSON. Constructor ketiga fromJsonString
digunakan untuk membuat Object dari class
Person dari string JSON. Kami juga memiliki
Object dari class Person yang disebut
person.
https://youtube.com/@codewithbahri
Constant Constructor dalam Dart
Constant Constructor adalah Constructor yang menciptakan Object konstan. Object
konstan adalah Object yang nilai tidak dapat diubah. Constant Constructor
dideklarasikan dengan menggunakan kata kunci const.
Info
Catatan: Constant Constructor digunakan untuk membuat Object yang nilainya tidak
dapat diubah. Ini meningkatkan kinerja program.
https://youtube.com/@codewithbahri
Constant Constructor dalam Dart
Aturan untuk Mendeklarasikan Constant Constructor dalam Dart:
● Semua properti class harus final.
● Tidak memiliki badan.
● Hanya class yang mengandung Constructor const diinisialisasi menggunakan
kata kunci const.
https://youtube.com/@codewithbahri
Constant Constructor dalam Dart
Contoh 1: Constant Constructor dalam Dart
Dalam contoh di bawah ini, ada class Point
dengan dua properti final: x dan y. class ini
juga memiliki Constant Constructor yang
menginisialisasi dua properti tersebut. class ini
juga memiliki method display yang mencetak
nilai dari dua properti tersebut.
https://youtube.com/@codewithbahri
Constant Constructor dalam Dart
Contoh 1: Constant Constructor dalam Dart
Dalam contoh di bawah ini, ada class Point dengan
dua properti final: x dan y. class ini juga memiliki
Constant Constructor yang menginisialisasi dua
properti tersebut. class ini juga memiliki method
display yang mencetak nilai dari dua properti
tersebut.
Info
Catatan: Di sini p1 dan p2 memiliki kode hash yang
sama. Ini karena p1 dan p2 adalah Object konstan.
Kode hash dari Object konstan sama. Ini karena kode
hash dari Object konstan dihitung saat waktu
kompilasi. Kode hash dari Object non-konstan
dihitung saat waktu runtime. Inilah mengapa p3 dan
p4 memiliki kode hash yang berbeda.
https://youtube.com/@codewithbahri
Constant Constructor dalam Dart
Contoh 2: Constant Constructor dalam Dart
Dalam contoh di bawah ini, ada class Student dengan
tiga properti: name, age, dan rollNumber. class ini
memiliki satu Constant Constructor. Constructor ini
digunakan untuk menginisialisasi nilai dari ketiga
properti tersebut. Kami juga memiliki Object dari class
Student yang disebut student.
https://youtube.com/@codewithbahri
Constant Constructor dalam Dart
Contoh 3: Constant Constructor dengan Parameter
Bernama dalam Dart
Dalam contoh di bawah ini, ada class Car dengan tiga
properti: name, model, dan prize. class ini memiliki
satu Constructor. Constructor ini digunakan untuk
menginisialisasi nilai dari ketiga properti tersebut.
Kami juga memiliki Object dari class Car yang disebut
car.
https://youtube.com/@codewithbahri