Anda di halaman 1dari 29

Pengembangan Aplikasi

Console dalam Dart


Pengembangan Aplikasi Bergerak I
Tujuan Pembelajaran
• Penerapan async dalam pengembangan aplikasi console.
• Penerapan error dan exception handling pada pengembangan
aplikasi console.
Apa itu aplikasi konsol?
• Aplikasi konsol adalah jenis aplikasi perangkat lunak yang
beroperasi dalam lingkungan teks atau terminal.
• Biasanya berinteraksi dengan pengguna melalui baris perintah dan
tampilan teks.
• Contoh aplikasi konsol termasuk command-line utilities, sistem
manajemen, dan lainnya.
Perbedaan dengan Aplikasi GUI
• Aplikasi berbasis GUI (Graphical User Interface) memiliki
antarmuka grafis yang memungkinkan interaksi dengan elemen
visual seperti tombol, jendela, dan grafik.
• Aplikasi konsol berfokus pada interaksi teks melalui baris perintah
tanpa elemen visual seperti GUI.
• Aplikasi konsol sering digunakan untuk tugas-tugas automatisasi dan
skrip.
Konsep Asynchronous
• Asynchronous mengacu pada kemampuan program untuk melakukan
beberapa tugas secara bersamaan tanpa harus menunggu tugas
sebelumnya selesai.
• Dalam pemrograman Dart, asynchronous (async) sering digunakan
untuk menjalankan operasi yang membutuhkan waktu, seperti
permintaan jaringan atau operasi berbasis IO, tanpa menghentikan
eksekusi program utama.
Keuntungan Menggunakan Asynchronous
• Meningkatkan responsivitas aplikasi: Aplikasi tidak akan terhenti
saat menunggu tugas yang membutuhkan waktu lama selesai.
• Efisiensi sumber daya: Asynchronous memungkinkan aplikasi untuk
melakukan pekerjaan lain sambil menunggu tugas yang lambat,
mengoptimalkan penggunaan sumber daya.
Kapan Asynchronous Diperlukan?
• Permintaan HTTP: Ketika aplikasi perlu berkomunikasi dengan
server melalui permintaan HTTP, penggunaan asynchronous
memungkinkan aplikasi untuk tetap responsif sambil menunggu
respons dari server.
• Baca/tulis berkas: Operasi berbasis IO seperti membaca atau menulis
berkas dapat memakan waktu. Asynchronous membantu agar aplikasi
tetap aktif saat menunggu operasi ini selesai.
• Eksekusi tugas paralel: Jika ada beberapa tugas yang bisa dieksekusi
secara independen, asynchronous memungkinkan eksekusi paralel
untuk meningkatkan kecepatan aplikasi.
Apa itu Async/await?
• Async dan await adalah kata kunci dalam Dart yang digunakan
untuk menangani operasi asynchronous.
• Async digunakan untuk mendeklarasikan bahwa sebuah fungsi akan
melakukan operasi asynchronous.
• Await digunakan dalam fungsi async untuk menunggu hasil operasi
asynchronous sebelum melanjutkan eksekusi kode.
Bagaimana Caranya?
• Mendeklarasikan fungsi async: Anda dapat mendeklarasikan fungsi
sebagai async dengan menambahkan kata kunci async sebelum tipe
kembalian fungsi.
• Menggunakan await: Dalam fungsi async, Anda menggunakan kata
kunci await sebelum operasi yang bersifat asynchronous untuk
menunggu hasilnya.
Contoh Penggunaan async/await
Apa Itu Error dan Exception?
• Error adalah situasi di mana sesuatu tidak berfungsi dengan baik
dalam program.
• Exception adalah objek yang dilemparkan saat terjadi error yang
dapat diatasi.
• Contoh error: Pembagian oleh nol, akses indeks array di luar
jangkauan, dan sebagainya.
Kenapa Penanganan Error Penting?
• Untuk menjaga aplikasi tetap berjalan: Kesalahan dapat
menyebabkan aplikasi berhenti, dan penanganan error mencegah hal
ini terjadi.
• Untuk memberikan umpan balik yang baik kepada pengguna:
Penanganan error memungkinkan aplikasi memberikan pesan
kesalahan yang informatif kepada pengguna.
• Untuk memastikan data yang aman: Penanganan error melibatkan
validasi data dan memastikan bahwa operasi tidak menyebabkan
kerusakan pada sistem.
Bagaimana Caranya?
• Menggunakan blok try-catch: Anda dapat menggunakan blok try-
catch untuk menangani exception yang mungkin terjadi selama
eksekusi kode.
• Menggunakan blok try-catch-finally: Blok try-catch-finally
memungkinkan Anda menambahkan blok finally yang akan selalu
dijalankan, terlepas dari apakah exception terjadi atau tidak.
• Membuat custom exception: Anda dapat membuat exception khusus
sesuai kebutuhan aplikasi untuk menangani situasi yang spesifik.
Apa Itu Blok try-catch?
• Blok try-catch adalah struktur yang digunakan untuk menangani
exception (kesalahan yang dapat diatasi) dalam program.
• Blok try digunakan untuk mencakup kode yang berpotensi
menghasilkan exception.
• Blok catch digunakan untuk menangkap dan mengatasi exception
yang terjadi dalam blok try.
Penggunakan try-catch
• Mendefinisikan blok try: Anda memulai dengan blok try, yang berisi
kode yang berpotensi menghasilkan exception.
• Mendefinisikan blok catch: Setelah blok try, Anda mendefinisikan
blok catch dengan parameter yang mendefinisikan jenis exception
yang akan ditangkap.
• Penanganan exception: Dalam blok catch, Anda menentukan
tindakan yang akan diambil jika exception terjadi, seperti mencetak
pesan kesalahan atau melanjutkan eksekusi program tanpa terhenti.
Contoh Penggunaan
Cara Membuat Custom Exception
• Custom exception adalah exception yang dibuat oleh pengguna
(programmer) sesuai dengan kebutuhan aplikasi.
• Untuk membuat custom exception, Anda perlu membuat sebuah
class yang mengimplementasikan atau meng-extend class Exception
atau class lain yang ada di dalam hierarki exception Dart.
Kapan Diperlukan?
• Custom exception berguna ketika Anda ingin menggambarkan
kondisi kesalahan atau situasi yang spesifik dalam aplikasi Anda.
• Ini membantu dalam mengidentifikasi dan menangani masalah
dengan lebih tepat.
Contoh Penggunaan
• Bagian pertama
Contoh Penggunaan (lanjutan)
• Bagian kedua
Contoh Penggunaan (lanjutan)
• Bagian ketiga
Latihan
1. Buatlah aplikasi konsol Dart baru dengan nama "AsyncExceptionApp".
2. Buat fungsi async yang seolah-olah akan mengambil data dari internet.
3. Pastikan untuk menambahkan penanganan exception untuk mengatasi
situasi di mana koneksi internet bermasalah atau permintaan ke server
gagal.
4. Tampilkan pesan kesalahan yang sesuai jika terjadi exception, dan jika
tidak ada exception, tampilkan data yang berhasil diambil.
5. Gunakan async/await untuk memastikan bahwa aplikasi tidak terblokir
saat menunggu data dari internet.
Penyelesaian
Penyelesaian (lanjutan)
Tugas
Kasus: Kalkulator Sederhana
Anda diminta untuk membuat sebuah aplikasi kalkulator sederhana
menggunakan Dart. Aplikasi ini harus mampu melakukan operasi
penambahan, pengurangan, perkalian, dan pembagian pada dua
bilangan yang diinputkan oleh pengguna. Aplikasi juga harus memiliki
penanganan kesalahan jika pengguna memasukkan data yang tidak
valid.
Tugas (lanjutan)
Spesifikasi Aplikasi:
• Aplikasi menerima dua bilangan dari pengguna, yaitu bilangan pertama dan bilangan
kedua.
• Aplikasi kemudian menampilkan menu pilihan operasi matematika kepada pengguna,
yaitu:
• [1] Tambah
• [2] Kurang
• [3] Kali
• [4] Bagi
• Pengguna memilih salah satu operasi matematika dengan memasukkan nomor pilihan (1-
4).
• Aplikasi kemudian melakukan perhitungan sesuai operasi yang dipilih oleh pengguna
dan menampilkan hasilnya.
Tugas (lanjutan)
Spesifikasi Aplikasi (lanjutan):
• Jika pengguna memasukkan bilangan yang tidak valid (misalnya, huruf atau
karakter khusus), aplikasi memberikan pesan kesalahan dan meminta pengguna
untuk mengulangi inputnya.
• Setelah menampilkan hasil perhitungan, aplikasi akan bertanya kepada
pengguna apakah mereka ingin melakukan perhitungan lagi atau keluar dari
aplikasi. Pengguna dapat memilih "Ya" atau "Tidak" (dengan huruf "Y" atau
"T") untuk memutuskan.
• Jika pengguna memilih "Ya," aplikasi akan meminta input bilangan pertama dan
kedua lagi dan mengulangi perhitungan. Jika pengguna memilih "Tidak,"
aplikasi akan keluar.
Tugas (lanjutan)
Spesifikasi Aplikasi (lanjutan):
• Pisahkan perhitungan dalam class Kalkulator (kalkulator.dart) dari program
utama (main.dart)
Pastikan Anda menangani dengan baik kesalahan input dari pengguna dan
memberikan pesan yang jelas untuk membantu pengguna dalam mengoperasikan
aplikasi kalkulator ini.
Terima kasih

Anda mungkin juga menyukai