Gunakan tanda [] untuk mencari tag gan! contoh [flutter, javascript]

Pemrograman Dart - Tipe Data

Pemrograman Dart - Tipe Data

Artikel ini dibukukan pada buku Pemrograman Dasar Dart
access_time 27 Mei 2021 remove_red_eye 12319 Kali spellcheck 1109 Kata, 8463 Karakter
#dart #tipe data

Hello gengs, pada article kali ini ane akan membahas salah satu fundamental flutter, yaitu pemrograman dart. Khususnya pengertian tipe data dan variannya. Let's kuy.


Pengertian

Dalam bahasa pemrograman dart (gak dart doang sih), tipe data digunakan untuk menjelaskan gambaran tentang sebuah value atau nilai (belum tentu angka lo ya). Ada banyak macam tipe data. Jadi, sebelum kita masuk ke tahap selanjutnya. Mari kita buat persiapan terlebih dahulu.


Persiapan

  1. Buka dartpad.dev 
  2. Dan langsung praktik di situ ya.


Variabel

Sebelum masuk ke jenis-jenis tipe data. Kita harus mengerti apa itu variabel. variable merupakan nilai atau value yang dapat dipanggil lagi. Lihat pada gambar di bawah



Contekan (Cheat Seet)


StringText
intAngka yang tidak desimal
numAngka
doubleAngka desimal
dynamicBisa menjadi text, angka, maupun object lainnya
ListTumpukan data dengan kunci sebagai angka integer
MapKumpulan isi dan kunci yang bisa anda buat sendiri
ObjectMerupakan kelas dasar dari semua object yang ada di dart
boolData kebenaran, berisi true dan false
varMerupakan tipe data yang digunakan untuk mendeklarasikan Object dari variable yang dipanggil
finalfinal mendeskripsikan bahwa variable hanya satu kali setter dan tidak bisa berubah lagi.
constMerupakan kependekan dari constant, yang artinya sama sama tidak bisa berubah.
FutureMerupakan tipe data yang merepresentasikan fungsi  asynchronous
FunctionMerupakan tipe data yang digunakan untuk mengirim callback


Tipe Data

Seperti yang saya bilang tadi, ada banyak macam tipe data, berikut adalah jenis-jenis tipe data.

1. String

String adalah kumpulan huruf, angka, dan tanda baca lainnya. Jadi isinya bebas asalkan tulisan.

contoh:

void main() {
  String data = "Hello World!";
  print(data);
}

Maka, jika kalian jalankan, akan menghasilkan tulisan 

Hello world!

2. integer 

integer merupakan tipe data yang merepresentasikan angka tanpa desimal. Cara penulisannya adalah seperti berikut:

int a = 10;

oiya kita bisa menggunakan print() untuk mengeluarkan console. Dan agar dartpad bisa menjalankan kodenya, maka kalian perlu membuat method main(). Jadi seperti inilah contohnya,

void main() {
  int a = 10;
  print(a);
}

kode diatas akan mengeluarkan angka 10 jika kalian jalankan. Nah, jika kalian tidak percaya bahwa integer bukan angka desimal, kalian bisa coba mengubah menjadi int a = 10.5; Maka hasilnya akan error.

3. num

num, merupakan integer atau angka floating poin. Tipe data ini bisa menjadi integer ataupun double. Contoh penulisan

void main() {
  num data = 20;
  print(data);
}

Akan menghasilkan angka

20

Tapi perlu diperhatikan, num tidak bisa mengubah angka desimal secara sempurna. 

contoh kasus: 

void main() {
  num a = 0.1;
  num b = 0.2;
  num c = a+b;
  print(c);
}

Menurut kalian hasilnya berapa? 0.3? Yap, hasilnya adalah 

0.30000000000000004

haha. Inilah keunikan dari floating number. Maka jika kalian menulis sesuatu, harap hati-hati dan jangan lupakan pembulatan.

4. double

double merupakan angka desimal. Contoh penulisan:

void main() {
  double a = 0.1;
  print(a);
}
double juga sama seperti num, jika 0.1+0.3 maka hasilnya adalah

0.30000000000000004

5. dynamic

dynamic merupakan tipe data yang isinya bisa berubah, dynamic bisa berupa integer, string, double, num, object, dan lain sebagainya. pembuktian bahwa variable ini dapat berubah, kalian bisa coba run kode ini di dartpad.dev

void main() {
  dynamic a = 0.1;
  a = "Hello World!";
  print(a);
}

Maka tidak akan error, dan akan mengeluarkan console seperti ini:

Hello World!

6. List

List merupakan tumpukan data. Jika kalian familiar dengan PHP atau Javascript , List merupakan sebuah Array.

isi data dari List bisa dideskripsikan secara statis, contohnya List<double>, List<String>, List<int> , dan terserah lagi.

Jika kalian tidak mendeklarasikan tipe data dari isi List, maka hasilnya akan menjadi List<dynamic>.

Contoh penulisan List

void main() {
  List data = [1,2,3,"a","b", "c"];
  print(data);
}

Maka hasil console-nya akan menjadi:

[1, 2, 3, a, b, c]

List, memiliki kunci (key) untuk mengambil data secara spesifik. Jika kalian ingin mengambil angka 3 dari List yang sudah saya berikan contoh, maka kalian membutuhkan key untuk mengambil data-nya.

Contoh cara mengambil angka 3:

void main() {
  List data = [1,2,3,"a","b", "c"];
  print(data[2]);
}

kenapa key-nya adalah angka 2? sebab perhitungan key pada list dimulai dari angka 0. Silakan otak atik di dartpad ya.
dibawah adalah penjelasan key dan isi dari list diatas

0 = 1

1 = 2

2 = 3

3 = "a"

4 = "b"

5 = "c"

7. Map

Jika kalian mengerti Javascript Object Notation (JSON), maka kalian akan lebih mudah memahami apa itu Map. Map merupakan pasangan kunci dan isi. Kunci dan isi tersebut biasa dipanggil dengan key dan value. Setiap key dan value dapat dideklarasikan tipe datanya. Contohnya 

Map<String, dynamic> 

dari contoh diatas, dapat diartikan bahwa key memiliki tipe data String, dan value-nya memilki tipe data dynamic.
Contoh penulisan:

void main() {
  Map<String, dynamic> data = {
    "url": "https://gepcode.com",
    "domain": "gepcode.com",
    "penulis": "Gilang Pratama",
    "totalAdmin": 1,
    "supportSeo": 100,
  };
  
  print(data);
}

Nah, hasil consolenya adalah seperti berikut:

{url: https://gepcode.com, domain: gepcode.com, penulis: Gilang Pratama, totalAdmin: 1, supportSeo: 100}

Bagaimana cara mengambil salah satu value dari Map?

begini contohnya

void main() {
  Map<String, dynamic> data = {
    "url": "https://gepcode.com",
    "domain": "gepcode.com",
    "penulis": "Gilang Pratama",
    "totalAdmin": 1,
    "supportSeo": 100,
  };
  
  print(data["domain"]);
}

Nah, hasil consolenya adalah seperti berikut:

gepcode.com

8. Object

Merupakan kelas dasar dari semua object yang ada di dart

contoh penulisan:

void main() {
  Object object = "Penulis";
  print(object);
}

Hasilnya

Penulis

Selanjutnya adalah Object yang dari class. Kita bisa menuliskan constructor untuk  menginisialisasi isinya. Contoh:

void main() {
  Person penulis = Person("Gilang Pratama", 27);
  
  print(penulis);
  print(penulis.name);
  print(penulis.age);
}

class Person{
  String name;
  int age;
  Person(this.name, this.age);
}

Hasilnya adalah

Instance of 'Person'
Gilang Pratama
27

9. bool

Merupakan tipe data yang berisikan kebenaran.

contoh penulisan:

void main() {
  bool data = true;
  print(data);
}

Hasilnya

true

10. var

var merupakan tipe data yang digunakan untuk mendeklarasikan Object dari variable yang dipanggil.

contoh penulisan

void main() {
  var penulis = Person("Gilang Pratama", 27);
  
  print(penulis);
  print(penulis.name);
  print(penulis.age);
}

class Person{
  String name;
  int age;
  Person(this.name, this.age);
}

Hasilnya adalah

Instance of 'Person'
Gilang Pratama
27

11. final

final mendeskripsikan bahwa variable hanya satu kali setter dan tidak bisa berubah lagi.

Contoh penulisan:

void main() {
  final data = "hello";
  print(data);
}

Hasilnya adalah

hello

Pembuktian jika tidak bisa berubah:

Contoh penulisan:

void main() {
  final data = "hello";
  data = "world";
  print(data);
}

Hasilnya adalah error.

The final variable 'data' can only be set once.

final ini sangat berguna untuk menghemat ram. Jadi, jakan dilupakan ya.

12. const

seperti namanya, const merupakan kependekan dari constant, yang artinya sama sama tidak bisa berubah. Mirip dengan final, tapi const merupakan level yang lebih dalam dari final.

Contoh penulisan:

void main() {
  final data = "hello";
  print(data);
}

Hasilnya adalah

hello

Pembuktian jika tidak bisa berubah:

Contoh penulisan:

void main() {
  final data = "hello";
  data = "world";
  print(data);
}

Hasilnya adalah error.

Constant variables can't be assigned a value.

Const ini juga sangat berguna untuk menghemat ram.

13. Future

Future digunakan dalam penggunaan asynchronous programming.

Contoh penulisan:

void main() async { 
    print(await data);
}

Future get data async{
  return "Hello world";
}

Hasilnya adalah

Hello world

14. Function

Function merupakan tipe data yang biasa digunakan untuk callback

contoh penulisan:


void main() { 
    cariBudi("Malang", (ada){
      print(ada);
    });
    cariBudi("Banyuwangi", (ada){
      print(ada);
    });
}

void cariBudi(String lokasi, void Function(String ada) cari){
 if(lokasi=="Banyuwangi") cari("Ada");
 else cari("Tidak ada");
}

Hasilnya adalah

Tidak ada
Ada


Artikel ini dibukukan pada buku Pemrograman Dasar Dart
Navigasi Konten