Media Belajar Bahasa Pemrograman | by APPKEY

DartTutorial Dart 16 : Dart Classes , Penjelasan Lengkapnya!

Tutorial Dart 16 : Dart Classes , Penjelasan Lengkapnya!

-

Last Updated on September 13, 2021 by

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 40 : Belajar Flutter Gestures dan Contohnya!

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 32 : Memahami Navigation and Routing Flutter

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 PHP 22 : Cara Membuat Redirect PHP dengan Cepat dan Mudah

Jika Anda melakukan browsing di browser kesayangan Anda, mungkin Anda pernah melihat link yang berisikan “php redirect” atau yang...

Tutorial PHP 23 : Cara Membuat Messages Alert PHP

Alert box atau alert messages digunakan di situs web untuk menampilkan pesan peringatan kepada pengguna bahwa mereka telah memasukkan...

Tutorial PHP 2 : Cara Install PHP, Langkah Awal Belajar PHP

PHP adalah bahasa pemrograman gratis dan open source. Secara teknis tidak perlu menginstal PHP: sebagian besar host web dan...

Tutorial Python 9 : Cara Membuat Looping Python

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

Tutorial HTML/CSS 23 : Cara Membuat Form Sederhana dengan HTML

Form memiliki peran yang sangat krusial bagi website atau aplikasi untuk menjaga sistem keamanannya. Form HTML digunakan untuk mengumpulkan...

Tutorial SQL 8 : Constraint SQL, Bagaimana Fungsi dan Penggunaannya?

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

Tutorial Javascript 8 : Array Javascript, Panduan Lengkap Cara Membuatnya

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

Tutorial SQL 20 : Mari Pelajari Cara Menggunakan Fungsi GROUP by SQL

Pada pembahasan seri Tutorial SQL ke- 20 ini, Codekey akan membahas tentang GROUP BY yang merupakan statement di dalam...

Tutorial Python 7 : Python String Format dan Cara Mudahnya

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

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...

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