Dart Type System

Pendahuluan

Sebelum kita mempelajari Type System pada Dart mari kita terlebih dahulu mengenal bahasa pemrograman dartnya. Dart merupakan salah satu bahasa pemrograman untuk mengembangkan berbagai jenis aplikasi seperti aplikasi web, aplikasi seluler, aplikasi desktop, server dll.

Dart merupakan language lintas platform yang dimana bisa di jalankan di berbagai sistem operasi seperi windows, linux, unix, macos dan lain-lain. Dart merupakan bahasa pemrograman yang di kembangkan oleh google dan kemudian di setujui sebagai standart oleh ecma, yang saat ini digunakan untuk membangun aplikasi web, server, desktop, dan seluler.

Sejarah Dart

Dart dirancang dan dikembangkan oleh Lars Bak dan Kasper Lund di google yang secara resmi di perkenalkan pada oktober 2011 di konferensi GOTO, Denmark dan versi pertama dart yaitu versi 1.0 resmi di rilis pada Nov 2013.

Kelebihan Bahasa Pemrograman Dart

Ada berbagai keunggulan dan kelebihan bahasa pemrograman dart untuk bisa menjadi pertimbangan untuk anda yang baru ingin mempelajari bahasa pemrograman dart ini.

  1. Mudah di pelajariDart merupakan bahasa pemrograman yang bisa dibilangan mudah di pelajari. terlebih lagi jika anda pandai dalam bahasa pemrograman Javascript, tentu akan sangat mudah untuk anda mempelajari bahasa pemrograman dart ini dikarnakan konsep dari dart tidak beda jauh dengan javascript. untuk anda yang baru mempelajari bahasa pemrograman tenang saja karna dart ini bisa menjadi first language anda untuk memulai mempelajari bahasa pemrograman.
  2. Dokumentasi yang lengkapDokumentasi yang di sediakan oleh google terhadap bahasa pemrograman dart ini sangat lengkap, ini memungkinkan anda untuk bisa mempelajari bahasa pemrograman dart ini sendiri secara otodidak. anda bisa dengan mudah mendapatkan jawaban atas pertanyaan anda ketika merasa kebingungan untuk menggunakan bahasa dart ini.
  3. Lebih cepatProgram yang ditulis dalam bahasa dart ini lebih cepat berjalan dibandingkan dengan bahasa pemrograman lain seperti javascript. ini tentunya akan membuat waktu anda lebih efisien untuk membuat banyak program-program atau ketika anda dikejar oleh deadline dari klien untuk menyelesaikan pembuatan website atau aplikasi.
  4. Stabil untuk membangun aplikasi Real-timeBahasa pemrograman dart lebih stabil untuk membangun aplikasi real-time, ini karna bahasa pemrograman dart merupakan bahasa yang berbasis pada object yang disertai fitur pengetian opsional.
  5. Adanya dukungan kompilasi AOT dan JITDengan adanya dukungan AOT dan JIT tentunya ini membuat kode yang terdapat di dart bisa diubah menjadi kode mesin asli, dan semua itu bisa dikompilasi untuk membuat siklus pengembangan yang sangat cepat.
  6. Tanpa konfigurasiUntuk anda yang tidak ingin menginstall atau mengkonfigurasi anda bisa menuliskan kode dart ini di DartPad. Dart pad adalah tool open source official yang buat oleh time dart.

Dart Type System

Dart Type System adalah fitur kunci dalam bahasa pemrograman Dart yang mengatur dan mengelola tipe data dari variabel, ekspresi, fungsi, dan objek dalam kode program. Type System memungkinkan pengembang untuk mendefinisikan dan menentukan tipe data dengan jelas, yang membantu dalam mengidentifikasi kesalahan tipe data pada saat kompilasi, meningkatkan keamanan dan kualitas kode, serta memudahkan dokumentasi dan pemahaman kode.

Keuntungan Mempelajari Dart Type System

  1. Keamanan kode : Type sistem pada dart memungkinkan pengecekan tipe data pada waktu kompilasi. Dengan tipe data yang jelas sebelum program di eksekusi akan menghindari kesalahan tipe data seperti penerapan operasi yang tidak sesuai dan kesalahan tipe data lainnya yang akan terjadi jika kita tidak menerapkan dart type system pada program kita.
  2. Bantuan dari IDE dan pustaka Dart : Ketika kode memiliki tipe data yang jelas, iDE atau Integrated Development Environment seperti Intelej IDEA atau VSCODE akan memberikan bantuan lebih lanjut terkait permasalahan yang terjadi pada program kita. IDE dapat memberikan fitur autocompletion, navigasi kode yang lebih baik, dan pemberian saran untuk memperbaiki kesalahan tipe data. Selain itu, pustaka Dart juga dapat memberikan dokumentasi yang lebih lengkap dan jelas untuk penggunaan tipe data yang benar.
  3. Pemahaman lebih cepat dan kolaborasi tim yang lebih aman : Jika anda memiliki suatu tim untuk membuat suatu program tentunya code yang jelas menjadi lebih mudah di pahami oleh sesama rekan setim anda. programmer lain akan mudah memahami bagaimana variabel, fungsi, atau kelas harus digunakan dan apa yang di harapkan dari nilai yang di inginkan.
  4. Optimasi kinerja : Kompiler dapat menghasilkan kode yang lebih efisien dan kinerja yang lebih baik karena tipe data sudah ditentukan dengan jelas, mengurangi pengecekan dan konversi tipe data yang tidak perlu.
  5. Pengurangan debugging dan perbaikan lebih cepat : Tentunya dengan keterangan yang jelas dalam kode program anda akan mempercepat dan mempermudah debugging pada program yang anda buat.
  6. Memahami Konsep Type System pada Bahasa Lain : Pemahaman tentang Sound Type System pada Dart juga dapat membantu Anda dalam memahami dan menguasai konsep type system pada bahasa pemrograman lain yang memiliki pendekatan serupa.

Tipe Data pada Dart

Dart memiliki beberapa tipe data dasar yang umum digunakan, seperti:

  • int: Representasi bilangan bulat, misalnya 1, 10, -5, dan lain-lain.
  • double: Representasi bilangan desimal atau pecahan, misalnya 3.14, 2.5, -0.75, dan lain-lain.
  • String: Representasi teks atau karakter, misalnya “Hello, Dart!” atau “Welcome”.
  • bool: Representasi nilai boolean, yaitu true atau false.
  • List: Representasi daftar nilai yang sama atau beragam.
  • Map: Representasi pasangan kunci-nilai.
  • dynamic: Tipe data dinamis yang dapat berubah pada waktu runtime.

Generik (Generics)

Dart mendukung fitur generik yang memungkinkan penulisan kode yang dapat digunakan kembali tanpa bergantung pada tipe data tertentu. Dengan generik, Anda dapat membuat fungsi, kelas, dan tipe data yang bekerja dengan berbagai jenis tipe data. Generik memberikan fleksibilitas dan meningkatkan reusabilitas kode.

Contoh Penggunaan Generik dalam Dart Type System

Mari lihat contoh penggunaan generik dalam Dart untuk membuat struktur data yang dapat digunakan untuk berbagai jenis tipe data:

class Box<T> {
  T _value;

  Box(this._value);

  T getValue() {
    return _value;
  }
}

void main() {
  Box<int> intBox = Box(44); // Box dengan tipe data int
  int intValue = intBox.getValue();
  print('Nilai dalam intBox adalah $intValue');

  Box<String> stringBox = Box('Dart'); // Box dengan tipe data String
  String stringValue = stringBox.getValue();
  print('Nilai dalam stringBox adalah $stringValue');
}

Type Inference

Dalam bahasa pemrograman Dart, type inference adalah kemampuan untuk menentukan tipe data dari suatu ekspresi atau variabel secara otomatis berdasarkan nilai yang diberikan. Dengan type inference, pengembang tidak perlu secara eksplisit menyebutkan tipe data, karena bahasa Dart secara otomatis akan menganalisis kode dan mengidentifikasi tipe data yang paling sesuai.


Contoh penggunaan Type Inference pada Dart :

void main() {
  var name = 'Samuel Fark'; // Dart akan menentukan tipe data variabel name berdasarkan nilai 'Samuel Fark'
  var age = 45; // Dart akan menentukan tipe data variabel age berdasarkan nilai 45
  var isStudent = true; // Dart akan menentukan tipe data variabel isStudent berdasarkan nilai true

  print('Nama: $name, Usia: $age, Mahasiswa: $isStudent');
}

Keterangan :

Pada contoh di atas, kita menggunakan type inference dengan menggunakan kata kunci var saat mendeklarasikan variabel name, age, dan isStudent. Dart secara otomatis akan menentukan tipe data dari variabel-variabel tersebut berdasarkan nilai yang diberikan pada saat inisialisasi.

  • Variabel name memiliki nilai 'Samuel Fark', sehingga Dart menyimpulkan bahwa tipe data dari variabel name adalah String.
  • Variabel age memiliki nilai 45, sehingga Dart menyimpulkan bahwa tipe data dari variabel age adalah int.
  • Variabel isStudent memiliki nilai true, sehingga Dart menyimpulkan bahwa tipe data dari variabel isStudent adalah bool.

Ketika kode dijalankan, variabel-variabel ini akan memiliki tipe data yang sesuai berdasarkan nilai yang telah diberikan, dan kita dapat mencetak nilai-nilai tersebut menggunakan string interpolation pada pernyataan print. Type inference memungkinkan kita untuk mendeklarasikan variabel dengan lebih ringkas tanpa perlu menyebutkan tipe data secara eksplisit.

Kesimpulan :

Artikel ini memberikan gambaran tentang Dart Type System, sebuah fitur kunci dalam bahasa pemrograman Dart yang mengatur tipe data dari variabel, ekspresi, fungsi, dan objek dalam kode program. Dart Type System memungkinkan pengembang untuk mendefinisikan dan menentukan tipe data dengan jelas, meningkatkan keamanan dan kualitas kode, serta memudahkan dokumentasi dan pemahaman kode. Penggunaan Type Inference juga dijelaskan sebagai kemampuan Dart untuk menentukan tipe data secara otomatis berdasarkan nilai yang diberikan. Referensi di akhir artikel memberikan sumber informasi yang dapat dipertanggungjawabkan.

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikutim klik disini untuk info lengkapnya.

Penulis : Syahril Sobirin