Tentang Layanan Produk Portfolio Blog Team Konsultasi Gratis
Umum
0

Belajar Flutter - Section 06 Memahami Asynchronous vs Synchronous di Dart (dengan Contoh Nyata)

NA Ngoding Anywhere 20 Apr 2026 3 min read

Dalam dunia pemrograman modern, terutama saat bekerja dengan I/O seperti API, database, atau delay proses, kita sering mendengar istilah synchronous dan asynchronous. Kedua konsep ini sangat penting untuk dipahami karena berpengaruh langsung pada performa dan responsivitas aplikasi.

Artikel ini akan membahas perbedaan keduanya secara detail, lalu kita bedah contoh kode Dart berikut:

Apa itu Synchronous?

Synchronous (sinkron) adalah cara eksekusi program yang berjalan berurutan dari atas ke bawah. Setiap baris kode harus menunggu baris sebelumnya selesai terlebih dahulu.

Contoh sederhana :

Semua berjalan linear dan blocking. Artinya, jika ada proses lama di tengah, program akan ikut tertahan.

Apa itu Asynchronous?

Berbeda dengan synchronous, asynchronous (asinkron) memungkinkan program untuk melanjutkan eksekusi tanpa harus menunggu proses tertentu selesai.

Biasanya digunakan untuk:

  • Request API
  • Akses database
  • File I/O
  • Timer / delay

Di Dart, asynchronous ditangani dengan:

  • Future
  • async
  • await
  • then()

Analisis Kode Contoh

Mari kita bahas kode utama:

Langkah Eksekusi:

  1. print("A") dijalankan → langsung tampil A
  2. cetakB() dipanggil → tapi ini asynchronous, jadi tidak ditunggu
  3. .then(...) akan dijalankan nanti saat Future selesai
  4. print("C") langsung dijalankan → tampil C

āž”ļø Sampai sini output:

Apa yang Terjadi di cetakB() ?

Penjelasan:

  • Fungsi ini bertipe Future<String> → artinya akan menghasilkan nilai di masa depan
  • await Future.delayed(...) → menunggu selama 2 detik
  • Selama menunggu, main thread tidak berhenti
  • Setelah 2 detik:
    • print "B"
    • return "Berhasil cetak B"

Urutan Output Lengkap

Jika dijalankan, hasil akhirnya :

Kenapa Bisa Begitu?

Karena cetakB() tidak memblokir eksekusi utama.

Alurnya seperti ini:

  1. Program mulai
  2. Cetak A
  3. Jalankan async function (ditunda)
  4. Cetak C
  5. Setelah 2 detik:
    • Cetak B
    • Jalankan .then() → cetak hasil return

Visualisasi Alur Eksekusi

Bayangkan seperti ini :

Perbedaan then() vs await

Kode tadi menggunakan .then(), tapi bisa juga ditulis dengan await agar lebih mudah dibaca :

Output versi ini :

Kapan Harus Menggunakan Asynchronous?

Gunakan asynchronous ketika:

  • Menghindari UI freeze (Flutter)
  • Mengambil data dari internet
  • Proses berat atau lama
  • Operasi database

Kesimpulan

  • Synchronous: berjalan berurutan, mudah dipahami tapi bisa lambat
  • Asynchronous: tidak blocking, lebih cepat dan efisien
  • Future adalah kunci utama async di Dart
  • async/await membuat kode async lebih readable
  • .then() cocok untuk chaining
NA
Ngoding Anywhere
Content Writer

Praktisi dan pengajar di bidang teknologi dengan pengalaman lebih dari 5 tahun.

šŸ’¬ Komentar (0)

Belum ada komentar. Jadilah yang pertama!

Ada Pertanyaan?

Butuh bantuan atau konsultasi tentang topik ini?

Tim kami siap membantu Anda dengan senang hati.

Hubungi Kami

Chat dengan Kami