Dart Part 1
Dart adalah bahasa pemrograman berorientasi objek open source yang dikembangkan oleh Google. Dart diperkenalkan pada tahun 2011 dan sejak itu menjadi pilihan populer untuk membangun aplikasi berkinerja tinggi. Dart menggabungkan fitur terbaik dari bahasa seperti Java, JavaScript, dan C#.
Hello World
Pada bahasa pemrograman Dart, fungsi utama yang akan pertama kali dijalankan adalah fungsi main(). Berikut ini adalah contoh kode Dart untuk menampilkan Hello World.
Klik tombol Run untuk menjalankan kode diatas. Jika menggunakan VS Code, buka terminal dan ketikkan dart hello.dart.
Pada baris 3 program, kita menggunakan kode print untuk mencetak teks Hello World. print() digunakan untuk menampilkan output kode di teriminal. Perlu diingat bahwa akhir setiap pernyataan pada Dart harus diakhiri dengan titik koma (;).
Data Types and Variables
Objects
Dart adalah bahasa pemrograman berorientasi objek, artinya semua yang ada di Dart merupakan sebuah objek. Objek dalam bahasa pemrograman mempunyai karakteristik yang disebut properti dan perilaku yang disebut metode.
Variables
Struktur penulisan variabel di Dart adalah sebagai berikut
Konvensi penamaan variabel di Dart adalah camel case. Artinya kita menggunakan huruf besar pada huruf pertama setiap kata kecuali kata pertama, dan tidak menggunakan pemisah, misalnya lowerCamelCase.
Berikut ini contoh variabel.
Data Types
Tipe data yang didukung oleh Dart dapat dilihat pada tabel berikut ini
| Data Type | Keyword | Description |
|---|---|---|
| Numbers | int, double, num | It represents numeric values |
| Strings | String | It represents a sequence of characters |
| Booleans | bool | It represents Boolean values true and false |
| Lists | List | It is an ordered group of items |
| Maps | Map | It represents a set of values as key-value pairs |
| Sets | Set | It is an unordered list of unique values of same types |
| Runes | runes | It represents Unicode values of String |
| Null | null | It represents null value |
Selain menggunakan tipe data diatas, kita juga bisa menggunakan tipe data var. Dart akan menentukan tipe data yang sesuai dengan initial value dari variabel tersebut.
Jalankan kode berikut ini, kenapa terjadi error?
Type Conversion
Kita dapat melakukan konversi dari satu tipe data ke tipe data lainnya.
Kenapa kode dibawah ini error? perbaiki kode agar dapat mengkonversi String ke int tanpa mengubah nilai dari variabel nilaiString.
Operators
Jenis operator pada Dart:
- Arithmetic Operators
- Increment and Decrement Operators
- Assignment Operators
- Relational and Logical Operators
- Type Test Operators
Arithmetic Operators
Operator aritmatika digunakan untuk operasi aritmatika seperti penambahan dan pengurangan. Dibawah ini adalah daftar operator aritmatika pada Dart.
| Operator Symbol | Operator Name | Description |
|---|---|---|
| + | Addition | For adding two operands |
| - | Subtraction | For subtracting two operands |
| -expr | Unary Minus | For reversing the sign of the expression |
| * | Multiplication | For multiplying two operands |
| / | Division | For dividing two operands and give output in double |
| ~/ | Integer Division | For dividing two operands and give output in integer |
| % | Modulus | Remainder After Integer Division |
Increment and Decrement Operators
Digunakan untuk menambah atau mengurangi variabel.
| Operator Symbol | Operator Name | Description |
|---|---|---|
| ++var | Pre Increment | Increase Value By 1. var = var + 1 Expression value is var+1 |
| --var | Pre Decrement | Decrease Value By 1. var = var - 1 Expression value is var-1 |
| var++ | Post Increment | Increase Value By 1. var = var + 1 Expression value is var |
| var-- | Post Decrement | Decrease Value By 1. var = var - 1 Expression value is var |
Apa perbedaan operator ++ didepan dan dibelakang variable?
Assignment Operators
Digunakan untuk memberikan suatu nilai ke variabel.
| Operator Type | Description |
|---|---|
| = | Assign a value to a variable |
| += | Adds a value to a variable |
| -= | Reduces a value to a variable |
| *= | Multiply value to a variable |
| /= | Divided value by a variable |
Relational and Logical Operators
Digunakan untuk perbandingan.
| Operator Symbol | Operator Name | Description |
|---|---|---|
| > | Greater than | Used to check which operand is bigger and gives result as boolean |
| < | Less than | Used to check which operand is smaller and gives result as boolean |
| >= | Greater than or equal to | Used to check which operand is bigger or equal and gives result as boolean |
| <= | Less than or equal to | Used to check which operand is smaller or equal and gives result as boolean |
| == | Equal to | Used to check operands are equal to each other and gives result as boolean |
| != | Not equal to | Used to check operand are not equal to each other and gives result as boolean |
| && | AND | Return true if all conditions are true |
| || | OR | Return true if one of the conditions is true |
| ! | NOT | Return false if the result is true and vice versa |
Type Test Operators
Digunakan untuk memeriksa tipe data saat runtime.
| Operator Symbol | Operator Name | Description |
|---|---|---|
| is | is | Gives boolean value true if the object has a specific type |
| is! | is not | Gives boolean value false if the object has a specific type |
Selesaikan kode dibawah ini untuk mengkonversi suhu dari Fahrenheit ke Celcius dan Kelvin sehingga menghasilkan output berikut ini
50 fahrenheit = 10.0 celsius
50 fahrenheit = 283.15 kelvin
Collection
Terdapat tiga stuktur data di Dart, List, Set, dan Map.
List
List adalah array di Dart yang digunakan untuk menyimpan koleksi objek secara beurutan.
Umumnya saat kita ingin melakukan operasi terhadap seluruh elemen list kita akan menggunakan perulangan. Dart memiliki fungsi map() yang dapat digunakan untuk mempermudah proses tersebut.
Sebagai contoh, misalkan kita punya list nilai, dan setiap elemen dalam list nilai akan kita kalikan dengan 2.
Buat kode untuk mengkonversi semua elemen pada list celcius menjadi fahrenheit menggunakan fungsi map().
Output: [77.0, 86.0, 82.4, 68.0, 82.4]
Set
Set adalah kumpulan item unik yang tidak berurutan. Artinya item tidak mempunyai posisi tertentu dalam suatu set, oleh karena itu suatu set tidak boleh mempunyai duplikat dari item yang sama.
Map
Map adalah kumpulan pasangan item dan kunci yang tidak berurutan. Setiap item memiliki kunci yang unik.