Media Belajar Bahasa Pemrograman | by APPKEY

DartTutorial Dart 16 : Dart Classes , Penjelasan Lengkapnya!

Tutorial Dart 16 : Dart Classes , Penjelasan Lengkapnya!

-

Dart adalah bahasa pemrograman berorientasi object. Dart juga mendukung berbagai fitur object-oriented programming (OPP) seperti kelas, interface dan masih banyak lagu. Kelas dalam OOP adalah sebuah blueprint untuk membuat objek. Dart classes melakukan enkapsulasi data untuk objek. Dart memberi Anda dukungan built-ini untuk konsep ini disebut dengan kelas.

Pada pembahasan seri Tutorial Dart Codekey kali ini akan membahas tentang Dart Classes. Jika Anda tertarik untuk mengetahui tentang seri Tutorial Dart Codekey, pastikan Anda menyimak artikel ini sampai habis.

Dart Classes

Dart Classes atau kelas dart adalah blueprint dari suatu objek yang disebut juga dengan object constructor. Sebuah kelas bisa berisi bidang, fungsi, constructor, dan lain sebagainya.

Kelas ini adalah wrapper yang mengikat/mengenkapsulasi data dan fungsi bersama-sama; yang dapat diakses dengan membuat objek. Kelas dapat disebut sebagai tipe data yang ditentukan pengguna yang mendefinisikan karakteristik oleh semua objeknya.

Kita dapat mengasumsikan kelas sebagai sketsa (prototipe) atau mobil. Sehingga penjelasannya ini berisi semua detail tentang nama model, tahun, fitur, harga, dan lain sebagainya. Berdasarkan properti siswa ini, kita dapat membuat siswa.

Di sini siswa adalah objek. Ada banyak siswa sehingga kita bisa membuat banyak objek siswa untuk mengakses semua properti.

Mendefinisikan Dart Classes

Dart menyediakan kata kunci kelas yang diikuti dengan nama kelas yang digunakan untuk mendefinisikan kelas. semua bidang dan fungsi diapit oleh sepasang kurung kurawal ({}). Sintaksnya diberikan di bawah ini:

class class_name {  
   <fields> 
   <getters/setters> 
   <constructors> 
   <functions> 
}

Kata kunci kelas tersebut diikuti oleh nama kelas. Ada beberapa aturan untuk identifiers yang harus dipertimbangkan ketika menamai kelas.

Sebuah definisi kelas dapat berisikan seperti di bawah ini.

1. Field

Sebuah field atau bidang adalah variabel yang dideklarasikan di dalam sebuah kelas. Bidang mewakili data yang berkaitan dengan objek.

2. Setter dan Getter

Setter dan Getter memunginkan program untuk menginisialisasi dan mengambil nilai dari bidang kelas. Setter dan Getter default dikaitkan dengan setiap kelas. Namun, yang default dapat diganti dengan mendefinisikan setter/getter secara eksplisit.

3. Constructor

Konstruktor bertanggung jawab untuk mengalokasikan memori untuk objek kelas.

4. Functions

Fungsi mewakili tindakan yang dapat dilakukan objek. Mereka juga kadang-kadang disebut sebagai metode.

Komponen-komponen ini disatukan disebut sebagai anggota data kelas.

Contohnya adalah sebagai berikut:

class Siswa {  
   // field 
   String nama = "Andi";  
   
   // function 
   void view() { 
      print(nama); 
   } 
}

Contoh di atas mendeklarasikan kelas Siswa. Kelas tersebut memiliki sebuah nama. view() adalah fungsi sederhana yang mencetak nilai dari nama.

Membuat Instance dari Kelas

Untuk membuat sebuah instance dari kelas, gunakanlah keyword new yang diikuti dengan nama kelas. Syntax untuk hal yang sama akan diberikan seperti di bawah ini:

Syntax:

var object_name = new class_name([ arguments ])

– Keyword baru bertanggung jawab untuk instantiation.

–  Sisi kanan ekspresi memanggil konstruktor. Konstruktor harus melewati nilai jika itu merupakan parameternya.

Contoh cara menginstanisasi sebuah kelas:

Mengakses Atribut dan Fungsi

Sebuah atribut kelas dan fungsi dapat diakses melalui objek. Gunakan notasi titik ‘.’  yang disebut dengan period untuk mengakses data member dari suatu kelas. Perhatikanlah contoh syntax di bawah ini:

//accessing an attribute 
obj.field_name  

//accessing a function 
obj.function_name()

Berikut ini adalah contoh penerapannya:

void main() { 
   Siswa s= new Siswa(); 
   s.view(); 
}  
class Siswa {  
   // field 
   String nama = "Andi";  
   
   // function 
   void view() { 
      print(nama); 
   } 
}

Kode-kode di atas akan menghasilkan output sebagai berikut:

Andi

Artikel Terkait  Tutorial Dart 15 : Langkah-Langkah Membuat Fungsi Interface dalam Dart

Konstruktor Dart

Konstruktor dalam bahasa pemrograman dart adalah fungsi khusus dari suatu kelas yang bertanggung jawab untuk menginisialisasi variabel yang ada di suatu kelas. Dart mendefinisikan sebuah konstruktor dengan nama yang sama sebagai suatu kelas.

Sebuah konstruktor adalah fungsi dan oleh karena itu kelas ini dapat memiliki parameter. Bagaimanapun, konstruktor tidak dapat memiliki sebuah tipe return, hal ini pun berbeda dengan function. Jika kamu mendeklarasikan sebuah konstruktor, konstruktor tanpa argumen default disediakan untuk Anda.

Syntax dari konstruktor dart adalah sebagai berikut:

Class_name(parameter_list) { 
   //constructor body 
}

Contoh berikut ini menampilkan bagaimana cara menggunakan konstruktor di Dart:

void main() { 
   Siswa s = new Siswa('Andi'); 
} 
class Siswa { 
   Siswa(String nama) { 
      print(nama); 
   } 
}

Kode-kode di atas akan menghasilkan output seperti berikut ini:

Konstruktor yang Dinamai (Named Constructor)

Dart menyediakan named constructor atau konstruktor yang dinamai untuk untuk mengaktifkan kelas serta mendefinisikan beberapa konstruktor. Sintaks konstruktor bernama adalah seperti yang diberikan di bawah ini:

Syntax: Mendefinisikan Konstruktor

Class_name.constructor_name(param_list)

Berikut ini adalah contoh penerapan konstruktor di Dart:

void main() {           
   Siswa s1 = new Siswa.namedConst('Andi');                                       
   Siswa s2 = new Siswa(); 
}           
class Siswa {                   
   Siswa() {                           
      print("Konstruktor non-parameter dipanggil");
   }                                   
   Siswa.namedConst(String nama) { 
      print("Nama : ${nama}");    
   }                               
}

Maka kode di atas akan menghasilkan output sebagai berikut:

Nama : Andi
Konstruktor non-parameter dipanggil

Kata Kunci ‘This’

Kata kunci ‘This’ mengacu pada instance kelas saat ini. Di sini, nama parameter dan nama bidang kelas adalah sama. Oleh karena itu untuk menghindari ambiguitas, bidang kelas diawali dengan kata kunci this. Contoh berikut menjelaskan akan menjelaskan maksud dari kata kunci ‘This’:

void main() { 
   Siswa s1 = new Siswa('Andi'); 
}  
class Siswa { 
   String nama; 
   Siswa(String nama) { 
      this.nama = nama; 
      print("Nama : ${nama}"); 
   } 
} 
 

Kode-kode ini akan menghasilkan output sebagai berikut:

Nama : Andi

Kelas Dart: Getters dan Setters

Getters dan Setters juga disebut sebagai ‘Accessors’ dan ‘Mutators’ yang memungkinkan program untuk menginisialisasi dan mengambil nilai masing-masing bidang kelas. Getter atau pengakses didefinisikan menggunakan kata kunci get. Setter atau mutator didefinisikan menggunakan kata kunci set.

Getter dan setter secara default dikaitkan dengan setiap kelas. Namun, yang default dapat diganti dengan mendefinisikan setter/getter secara eksplisit. Getter tidak memiliki parameter dan mengembalikan nilai, dan setter memiliki satu parameter dan tidak mengembalikan nilai.

– Syntax yang digunakan untuk mendefinisikan getter:

Return_type  get identifier 
{ 

– Syntax yang digunakan untuk mendeginisikan setter:

set identifier 
{ 
}

Contoh penerapan dari getter dan setter di dalam kelas Dart adalah sebagai berikut:

class Siswa { 
   String nama; 
   int umur; 
    
   String get nama_siswa { 
      return nama; 
   } 
    
   void set nama_siswa(String nama) { 
      this.nama = nama; 
   } 
   
   void set umur_siswa(int umur) { 
      if(umur<= 0) { 
        print("Umur harus lebih besar dari 5"); 
      }  else { 
         this.umur = umur; 
      } 
   } 
   
   int get umur_siswa { 
      return umur;     
   } 
}  
void main() { 
   Siswa s1 = new Siswa(); 
   s1.nama_siswa = 'Andi'; 
   s1.umur_siswa = 10; 
   print(s1.nama_siswa); 
   print(s1.umur_siswa); 
} 

Program di atas akan menghasilkan output seperti di bawah ini:

Andi
10

Artikel Terkait  Tutorial Dart 3 : Belajar Menggunakan Syntax atau Perintah dasar Dart

Kelas Inheritance

Dart mendukung konsep inheritance yang mana inheritance merupakan kemampuan dari suatu program untuk membuat kelas baru dari kelas yang ada. Kelas tersebut adalah kelas yang diperluas untuk membuat kelas yang lebih baru atau dalam dart dikenal dengan istilah parent class atau super class. Sementara kelas  yang baru dibuat disebut dengan child class atau subclass.

Sebuah kelas mewarisi dari kelas lain menggunakan kata kunci ‘extends’. Child class mewarisi semua properti dan metode kecuali konstruktor dari parent class. Berikut adalah contoh syntax-nya:

class child_class_name extends parent_class_name

Namun perlu dicatat bahwa Dart tidak mendukung multi inheritance. Berikut ini kami tampilkan kelas inheritance yang mendeklarasikan sebuah kelas Shape. Kelas akan diperpanjang oleh kelas lingkaran, karena adanya hubungan pewarisan antara kelas, kelas anak, yaitu kelas Car yang mendapat akses implisit ke anggota data kelas induknya atau parent class.

void main() { 
   var item = new segitiga(); 
   item.luas_item(); 
}  
class Object { 
   void luas_item() { 
      print("Menghitung luas segitiga"); 
   } 
}  
class Segitiga extends Object {}

Kode di atas akan menghasilkan output sebagai berikut:

Menghitung luas segitiga

Jenis-jenis Inheritance pada Dart

Bahasa pemrograman Dart memiliki beberapa jenis inheritance yaitu:

  1. Single

Setiap class paling banyak dapat diperpanjang dari satu parent class.

  1. Multiple

Sebuah kelas dapat mewarisi dari beberapa kelas. Dart tidak mendukung pewarisan berganda.

  1. Multi-level

Sebuah kelas dapat mewarisi dari kelas anak lain.

Contoh berikut ini menunjukan bagaimana multi-level inheritance dapat bekerja:

void main() { 
   var item = new Pesan(); 
   item.str = "Selamat Belajar"; 
   print(item.str); 
}  
class Root { 
   String str; 
}  
class Child extends Root {}  
class Pesan extends Child {}  
//secara tidak langsung mewarisi dari Root berdasarkan warisan

Kelas Pesan memperoleh atribut dari kelas root dan child berdasarkan inheritance multi-level. Outputnya adalah sebagai berikut:

Selamat Belajar

Class Inheritance dan Metode Overriding

Metode Overriding adalah mekanisme di mana kelas anak mendefinisikan ulang metode di kelas induknya. Contoh berikut menggambarkan hal yang sama:

void main() { 
   Siswa s = new Siswa(); 
   s.w1(5); 
} 
class Wali { 
   void w1(int x){ print("nilai dari x : ${x}");} 
}  
class Siswa extends Wali { 
   @override 
   void w1(int y) { 
      print("nilai dari y : ${y}"); 
   } 
}

Maka kode di atas akan menghasilkan output sebagai berikut:

nilai dari y : 5

Jumlah dan jenis parameter fungsi harus cocok saat mengganti metode. Jika ada ketidakcocokan dalam jumlah parameter atau tipe datanya, kompiler Dart akan membuat kesalahan. Hal tersebut akan dijelaskan dalam ilustrasi berikut ini:

import 'dart:io'; 
void main() { 
   Siswa s = new Siswa(); 
   s.w1(5); 
} 
class Wali { 
   void w1(int x){ print("nilai dari x : ${x}");} 
} 
class Siswa extends Wali { 
   @override 
   void w1(String y) { 
      print("nilai dari y : ${y}");
   } 
}

Kode di atas akan menghasilkan output sebagai berikut:

nilai dari y : 5

Kata Kunci ‘Static’

Kata kunci ‘static’ dapat diterapkan ke anggota data kelas, yaitu bidang dan metode. Variabel statis mempertahankan nilainya sampai program selesai dieksekusi. Anggota statis direferensikan dengan nama kelas.

class StaticVal { 
   static int angka;  
   static view() { 
      print("nilai dari angka adalah ${StaticVal.angka}")  ; 
   } 
}  
void main() { 
   StaticVal.angka = 5;  
   // Inisialisasi variabel statis
   StaticVal.view();   
   // memanggil metode statis
}

Maka kode di atas akan menghasilkan output:

nilai dari angka adalah 5

Keyword Super

Kata kunci super digunakan untuk merujuk ke induk langsung dari suatu kelas. Kata kunci dapat digunakan untuk merujuk ke versi kelas super dari variabel, properti, atau metode. Hal tersebut digambarkan dalam kode berikut:

void main() { 
   Siswa s = new Siswa(); 
   s.w1(5); 
} 
class Wali { 
   String pesan = "Pesan variabel dari kelas wali"; 
   void w1(int x){ print("nilai dari x : ${x}");} 
} 
class Siswa extends Wali { 
   @override 
   void w1(int y) { 
      print("nilai dari y : ${y}"); 
      super.w1(7); 
      print("${super.pesan}")   ; 
   } 
}


Maka kode tersebut akan menghasilkan output sebagai berikut:

value of y 5 
value of x 7 
Pesan variabel dari kelas wali

Demikianlah penjelasan tentang Dart Classes yang harus Anda ketahui. Penjelasan kali ini memang cukup panjang. Anda disarankan untuk memperhatikan setiap detil dari kode-kode yang ada agar tidak terjadi kesalahan. Jika Anda tertarik untuk belajar tentang bahasa pemrograman Dart, kunjungilah seri tutorial Dart yang ada di Codekey.

Situs Codekey menyediakan berbagai penjelasan, materi, tutorial, tips, dan trik untuk Anda belajar Bahasa pemrograman, tidak hanya bahasa pemrograman Dart tetapi juga bahasa pemrograman lainnya. Jangan lupa untuk mendapatkan update terbaru dari situs Codekey


Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.

Jasa Pembuatan Aplikasi

Jasa Pembuatan Website

Jasa Pembuatan Paket Aplikasi

Jasa Pembuatan Internet Marketing

Tutorial

Subscribe Sekarang

Dapatkan beragam informasi menarik tentang bahasa pemrograman langsung melalui email Anda. Subscribe sekarang dan terus belajar bersama kami!

Blog Post Ranking 10

Tutorial Python 9 : Cara membuat perulangan (Looping) pada Python

Pada artikel sebelumnya, Codekey telah menjelaskan tentang Operasi Kondisional Python yang di dalamnya menyinggung tentang percabangan dan perulangan. Belajar...

Tutorial Python 8 : Langkah Mudah Membuat Operasi Kondisional pada Python

Pada pembahasan sebelumnya, Codekey telah menjelaskan kepada Anda tentang pengoperasian string pada Python mulai dari menggabungkan hingga memanipulasi string...

Tutorial Dart 18 : Ayo Mulai, Pelajari Cara Install Flutter

Pada seri tutorial Dart kali ini, Codekey akan menampilkan hal yang sedikit berbeda, yaitu tentang aplikasi-aplikasi yang mendukung pemrograman...

Tutorial Python 7 : Tutorial Dasar Cara Mengoperasikan String pada Python

Anda ingin belajar Python dan ingin menjadi ahli dalam bahasa pemrograman Python? Mari belajar bersama Codekey! Pada pembahasan kali...

Tutorial Dart 1 : Pengenalan Bahasa Pemrogaman Dart untuk Pemula

Halo pembaca setia Codekey! Belajar pemrograman saat ini menjadi keharusan bagi semua orang yang ingin berkarir sebagai programmer, hal...

Tutorial PHP 8 : Memahami Array Multidimensi di PHP | Kapan dan Bagaimana Menggunakannya?

Pada artikel sebelumnya kami telah membahas tentang array PHP serta membahas sedikit tentang array multidimensi PHP. Pada artikel kali...

Tutorial Javascript 8 : Panduan Lengkap Cara Membuat Array di Javascript

Seperti bahasa pemrograman yang berorientasi objek lainnya, dalam JavaScript juga terdapat array. Jika Anda memiliki banyak objek yang ingin...

Tutorial SQL 9 : Cara Mengolah data Menggunakan Fungsi Agregasi

Agregasi data adalah cara runtuh, meringkas, atau mengelompokan data. Agregasi adalah hal yang selalu ada di setiap aplikasi untuk...

Tutorial SQL 1 : Pengenalan SQL untuk Pemula

Pernahkah Anda mendengar istilah SQL sebelumnya? Saat terjun ke dunia IT khususnya coding pemrograman komputer, SQL adalah salah satu...

Tutorial SQL 8 : Bagaimana Fungsi dan Penggunaan Constraint dalam SQL?

Pada artikel sebelumnya Anda telah mempelajari tentang wildcard SQL, pada artikel kali ini kami akan menjelaskan tentang constraint SQL. Jika...

Bisnis

Online Service

Peluang Bisnis

Model Bisnis

Entrepreneurship

Uang

Ketrampilan

Outsourcing

Monetize

Pemasaran

SEO

Internet Marketing

Dasar Pemasaran

Strategi Pemasaran

Situs Web Analitik

Iklan

Teknologi

Teknologi Terbaru

AI

Komputer

Jaringan

Paling Sering dibaca
Mungkin Anda Menyukainya