Soal 1: Penerapan Generic dan Koleksi dalam Dart
Buatlah program Dart yang menggunakan konsep generic untuk membuat struktur data stack yang dapat menyimpan berbagai tipe data. Program ini juga harus menggunakan koleksi List untuk mengimplementasikan stack. Selain itu, buat beberapa operasi dasar pada stack seperti push, pop, dan peek.
Instruksi:
-
Buat kelas generic
Stackyang menggunakan parameter tipeT. -
Gunakan koleksi
Listuntuk menyimpan elemen stack. -
Implementasikan metode
push()untuk menambahkan elemen ke stack. Implementasikan metodepop()untuk menghapus elemen dari stack dan mengembalikannya. -
Implementasikan metode
peek()untuk melihat elemen teratas dari stack tanpa menghapusnya. -
Dalam fungsi
main(), buat instance dariStackdengan berbagai tipe data (int,String,double), dan lakukan beberapa operasi dasar pada stack.
Soal 2: Penerapan Asynchronous Programming dalam Dart
Buatlah program Dart yang melakukan operasi asinkron untuk membaca data dari server dan memproses data tersebut. Gunakan Future dan async/await untuk mengelola operasi asinkron. Program ini juga harus menangani kemungkinan kesalahan yang terjadi selama operasi asinkron.
Instruksi:
-
Buat fungsi asinkron
fetchDataFromServer()yang mengembalikanFuture<String>dan mensimulasikan pengambilan data dari server dengan delay 2 detik. -
Buat fungsi asinkron
processData()yang menerimaStringsebagai parameter dan memproses data tersebut dengan delay 1 detik, mengembalikan hasil sebagaiString. -
Dalam fungsi
main(), panggilfetchDataFromServer()danprocessData()menggunakan await, dan tangani kemungkinan kesalahan dengan blok try-catch.