Pengertian Dart
Dart adalah bahasa pemrograman yang dikembangkan oleh Google dan dirilis pada tahun 2011. Dart dirancang untuk pengembangan front-end dan back-end untuk aplikasi web, mobile, dan desktop. Dart dikembangkan dengan tujuan untuk menyediakan bahasa yang skalabel, produktif, dan mudah dipelajari.
Sejarah Dart
Dart diciptakan oleh Lars Bak dan Kasper Lund dari Google. Dart diluncurkan sebagai alternatif untuk JavaScript dengan fokus pada peningkatan performa. Awalnya, Dart ditujukan untuk dijalankan pada mesin virtual Dart sendiri, namun dengan berkembangnya waktu, fokus berubah menjadi kompilasi ke JavaScript untuk meningkatkan kompatibilitas dan penerimaan di kalangan pengembang.
Fungsi Dart
Dart digunakan untuk mengembangkan aplikasi yang berjalan di berbagai platform seperti web, mobile (melalui framework Flutter), dan desktop. Dart mendukung pengembangan aplikasi yang efisien dan efektif dengan fitur seperti hot reload yang memungkinkan pengembang melihat perubahan secara instan.
Keunggulan Dart
- Kinerja Tinggi: Dart dikompilasi menjadi kode ARM dan x86 yang dioptimalkan sehingga performanya sangat baik.
- Pengembangan Multi-Platform: Dengan Dart, pengembang dapat menulis kode sekali dan menjalankannya di berbagai platform.
- Produktivitas Tinggi: Fitur seperti hot reload membantu meningkatkan produktivitas pengembang.
Pemrograman yang Familiar dan Modern: Dart mendukung konsep pemrograman objek dan fitur modern lainnya yang membuatnya mudah untuk dipelajari dan digunakan.
Kelemahan Dart
- Keterbatasan Ekosistem: Meski berkembang, ekosistem Dart masih lebih kecil dibandingkan dengan bahasa lain seperti JavaScript.
- Kurangnya Dukungan Library: Tidak semua fungsionalitas tersedia melalui library, dan pengembang mungkin perlu menulis lebih banyak kode kustom.
- Kurva Pembelajaran: Untuk pengembang yang tidak familiar dengan pemrograman berorientasi objek, Dart mungkin terasa lebih rumit.
Syntax dan Contohnya di Dart
Struktur Penulisan
void main() { print('Hello, Dart!'); }
Tipe Data dan Variabel
int age = 30; // Integer double height = 1.82; // Double String name = "Alice"; // String bool isRegistered = true;// Boolean var year = 2023; // Type is inferred as int dynamic value = 'Hello'; // Can be set to any type value = 100; }
Jenis Operasi
- Aritmatika: Operasi seperti penjumlahan, pengurangan, perkalian, dan pembagian.
- Relasional: Membandingkan dua nilai.
- Logika: Operasi boolean seperti AND, OR, dan NOT.
- Penugasan: Menetapkan nilai ke dalam variabel dengan operasi tambahan.
int x = 10, y = 3; print(x + y); // 13 print(x > y); // true print(!(x == 10 && y == 3)); // false x *= 2; // x = x * 2, now x = 20
Percabangan
int score = 75; if (score >= 90) { print('Excellent!'); } else if (score >= 80) { print('Very good!'); } else { print('Good, but can improve.'); }
Percabangan Ternary
String result = score >= 60 ? 'Passed' : 'Failed'; print(result); // Prints 'Passed' if score is 60 or above, otherwise 'Failed'
Perulangan
for (int i = 0; i < 5; i++) { print('i = $i'); } int j = 0; while (j < 5) { print('j = $j'); j++; } int k = 0; do { print('k = $k'); k++; } while (k < 5);
Method
void greet(String name) { print('Hello, $name!'); } greet('Bob'); // Output: Hello, Bob!
Array (List)
List<int> numbers = [1, 2, 3]; List<String> fruits = ['apple', 'banana', 'cherry']; List<dynamic> anything = [1, 'two', true]; print(numbers); print(fruits[0]); // apple anything.add(4.5); print(anything);
Class
class Person { String name; int age; Person(this.name, this.age); void introduce() { print('Hi, I am $name and I am $age years old.'); } } var alice = Person('Alice', 30); alice.introduce(); // Output: Hi, I am Alice and I am 30 years old.