Anda di halaman 1dari 10

SOAL UJIAN TENGAH SEMESTER GANJIL 2023 - 2024

Fakultas ………………
Prodi …………………..
Universitas Esa Unggul

Mata Kuliah : Perancangan Aplikasi Mobile


Dosen : Joy Gabriel, S.Kom., MTI
Hari : Senin Waktu :
Tanggal : 13 November 2023 Seksi :
Sifat Ujian :
Kolom Verifikasi Soal
Tanggal dan Tanda Tangan Dosen Tanggal dan Tanda Tangan Ketua Prodi

Petunjuk Umum:
1.Berdoalah sebelum mengerjakan soal
2.Periksa dan bacalah soal-soal dengan teliti sebelum anda mengerjakan
3.Dahulukan menjawab soal yang anda anggap mudah
4.Dilarang mencontek, saling bertukar lembar jawaban/soal/plagiasi maupun copy paste
5.Bagi yang melanggar tata tertib ujian akan diberikan sanksi oleh pengawas dan dicatat dalam berita acara ujian.
6.Lembar jawaban dan soal harus diserahkan kembali ke pengawas. / diupload sesuai batas waktu yang disediakan

HINT :
Gunakan analogi dalam suatu kasus untuk menyelesaikan soal ini. Jawaban tanpa analogi kasus
akan bernilai 0.

SOAL :
1. Penggunaan Flutter saat ini digunakan dalam berbagai bentuk aplikasi untuk mendukung
hybrid apps. Apa yang mendasari pemilihan Flutter dibandingkan framework hybrid
lainnya? (20%)
2. Seringkali sentimen publik menyebutkan bahwa aplikasi hybrid lebih lambat daripada
aplikasi native. Mengapa demikian? (20%)
3. Aplikasi Flutter tidak mampu memproses game yang berbasis motion (gerakan). Benarkah
demikian? Bagaimana pendapat Anda terhadap hal tersebut? (20%)
4. Widget merupakan fitur dalam Flutter. Kapan kita tidak menggunakan fitur tersebut?
(20%)
5. Bagaimana update dari aplikasi tugas besar yang Anda buat saat ini? Apa kendala yang
Anda temui? (20%)

JAWAB :
Nama : Sulistiyawati
Nim : 20210801364

1. Penggunaan Flutter saat ini digunakan dalam berbagai bentuk aplikasi untuk mendukung
hybrid apps. Apa yang mendasari pemilihan Flutter dibandingkan framework hybrid
lainnya?
Jawab :

Flutter adalah platform pengembangan aplikasi seluler hybrid dari Google yang mencapai
versi 1.0 pada akhir tahun 2018. Meskipun Flutter adalah platform baru dalam daftar
kerangka pengembangan hybrid, ide hebat di baliknya dengan cepat menjadi populer di
kalangan pengembang.
A. Keuntungan Flutter (dari perspektif Pembangunan)
• Kurva Pembelajaran Cepat
Kejutan menyenangkan pertama yang disediakan Flutter bagi pengembang
adalah seberapa cepat ia dimulai. Dibutuhkan waktu kurang dari 30 menit
untuk menyelesaikan proses instalasi dan menyiapkan lingkungan
pengembangan yang berfungsi.
• Integrasi editor populer
Flutter juga memiliki beberapa integrasi editor yang hebat. Saya pribadi
menggunakan Android Studio tetapi ada instruksi yang tersedia untuk
mengonfigurasi IntelliJ, VSCode, atau Emacs.
• Proses pengembangan yang bersih
Dibandingkan dengan kerangka aplikasi hibrid, proses pengembangan juga
tampak lebih bersih.
Misalnya, ketika menggunakan WebView untuk menampilkan daftar
dengan banyak item (sekitar 100 atau lebih), saya menghadapi penggunaan
CPU yang tinggi, terutama saat pengguna menelusuri daftar.
Di Flutter, ada cara yang diterima untuk menampilkan daftar, yaitu
ListView, yang memiliki performa luar biasa.
• Live Reload Hal lain
fitur live reload. Sebagai pengembang full-stack, dengan kerangka kerja
seperti BrowserWatch yang memungkinkan memuat ulang langsung di
browser. Pengembangan asli tidak memiliki ini (tapi menurut saya SwiftUI
Apple membuat kemajuan dalam pengembangan iOS)
Flutter menyediakan (ala React Native) mekanisme muat ulang instan, di
mana kode aplikasi dimuat ulang di perangkat segera setelah pengembang
menekan "simpan". Hal ini memberikan umpan balik langsung, yang
mempercepat pembangunan.

2. Seringkali sentimen publik menyebutkan bahwa aplikasi hybrid lebih lambat daripada
aplikasi native. Mengapa demikian?
Jawab :

Teknologi hybrid merupakan teknologi campuran antara native dengan web, oleh karena
itu disebut hybrid. Inti aplikasi ditulis menggunakan teknologi web (HTML, CSS, dan
JavaScript), yang kemudian dienkapsulasi dalam aplikasi native. Melalui penggunaan
plugin, aplikasi ini dapat memiliki akses penuh ke fitur perangkat seluler. Untuk lebih
memahami pendekatan ini, mari kita uraikan bagaimana semuanya bisa dilakukan.

Inti dari aplikasi hybrid-mobile adalah aplikasi yang ditulis dengan HTML, CSS, dan
JavaScript. Namun, aplikasi ini tidak dijalankan menggunakan browser, aplikasi ini
dijalankan dari dalam aplikasi native, yang pada dasarnya tidak terlihat oleh pengguna.
Sebagai contoh, aplikasi iOS akan menggunakan WKWebView untuk menampilkan
aplikasi, sedangkan di Android akan menggunakan elemen WebView untuk melakukan
fungsi yang sama. Kode ini kemudian disematkan ke pembungkus aplikasi native
menggunakan solusi seperti Apache Cordova (juga dikenal sebagai PhoneGap).

Teknologi hybrid ini memiliki sistem plugin yang memungkinkan kita untuk melampaui
batasan ‘browser’ dan mengakses rangkaian lengkap kemampuan perangkat seluler
pengguna. Jadi, jika kita ingin menggunakan Touch ID pada perangkat iOS sebagai opsi
masuk, atau ingin terhubung ke perangkat Bluetooth, ini dapat dengan mudah dilakukan
dengan menginstal plugin. Plugin ini dibuat oleh berbagai pengembang dan banyak yang
didukung secara aktif. Jadi, keterbatasan pada aplikasi web mudah diatasi sehingga
memungkinkan aplikasi kita untuk memiliki kesamaan dengan aplikasi native.
Beberapa kelebihan teknologi hybrid adalah secara biaya pengembangan jauh lebih
terjangkau dibandingkan pengembangan teknologi native. Sistem dapat diinstal di sistem
operasi yang berbeda dan proses development juga lebih mudah karena pada dasarnya
menggunakan bahasa pemrograman untuk teknologi web. Aplikasi dapat diakses secara
online maupun offline, selain itu sama dengan aplikasi native, aplikasi hybrid dapat
mengakses perangkat aplikasi mobile seperti kamera, kalendar dan sebagainya.

Namun, ada beberapa kelemahan pada teknologi ini yaitu library UI harus dibuat ulang. Di
sinilah solusi seperti Flutter, Xamarin, React Native, dan lainnya ikut serta. Opsi-opsi ini
semuanya menyediakan komponen UI yang terlihat dan terasa seperti native dalam
frameworknya. Secara sistem, performance-nya masih belum bisa menandingi aplikasi
native, dan tentunya harus melakukan penyesuaian fitur sesuai dengan ketentuan dan
batasan konten dari store app.

3. Aplikasi Flutter tidak mampu memproses game yang berbasis motion (gerakan). Benarkah
demikian?
Jawab :
pernyataan ini tidak sepenuhnya benar.
Flutter sebenarnya bisa digunakan untuk membuat aplikasi yang berhubungan dengan
gerakan, termasuk game. Flutter mendukung animasi dan pergerakan melalui berbagai
widget dan perpustakaan yang dapat membantu pengembang mengimplementasikan efek
visual yang diinginkan. Pada dasarnya, kemampuan Flutter untuk menangani game atau
aplikasi yang melibatkan gerakan bergantung pada kompleksitas dan persyaratan spesifik
game tersebut.
Flutter menawarkan berbagai widget animasi, seperti AnimatedContainer, Hero, dan
AnimatedBuilder, yang dapat digunakan untuk membuat efek gerakan dan animasi. Selain
itu, terdapat pustaka Flutter khusus untuk animasi yang disebut "Flare," yang dapat
digunakan untuk membuat animasi yang kompleks. Namun, perlu diingat bahwa jika game
yang di maksud membutuhkan tingkat kinerja grafis yang sangat tinggi, terutama untuk
game 3D yang memerlukan pemrosesan grafis intensif, mungkin lebih disarankan untuk
menggunakan teknologi khusus game seperti Unity atau Unreal Engine.
Flutter lebih fokus pada pengembangan antarmuka pengguna yang kaya dan responsif,
sedangkan teknologi game khusus dirancang dengan penekanan pada kinerja grafis tinggi.
4. Widget merupakan fitur dalam Flutter. Kapan kita tidak menggunakan fitur tersebut?
Jawab :

Widget adalah bagian penting dari Flutter dan digunakan untuk membuat antarmuka
pengguna. Namun, ada beberapa kasus di mana widget tidak diperlukan atau disarankan.
Berikut beberapa kasus di mana Anda mungkin mempertimbangkan untuk tidak
menggunakan ekstensi:
a. Jika kode statis sudah cukup: Jika Anda memiliki sebagian kecil antarmuka yang
tidak memerlukan modifikasi atau dinamika apa pun dan cukup dengan kode statis,
Anda mungkin tidak perlu menggunakan widget. Misalnya, jika hanya
menampilkan teks statis yang tidak memerlukan pembaruan atau interaksi.
b. Gunakan langsung dalam metode build: Dalam beberapa kasus, menggunakan
widget secara langsung dalam metode build tanpa memisahkannya menjadi widget
terpisah mungkin sudah cukup. Namun, seiring dengan meningkatnya kompleksitas
aplikasi, memisahkan widget menjadi beberapa widget terpisah dapat
mempermudah pemeliharaan dan meningkatkan keterbacaan kode.
c. Ketika hot reload tidak ada manfaatnya: Jika ingin mengembangkan bagian tertentu
dari aplikasi Anda yang tidak memerlukan hot reload atau tidak mendapatkan
banyak manfaat dari fitur ini, Anda mungkin tidak merasa perlu Fasilitas harus
digunakan secara luas.
d. Penggunaan Khusus Lainnya: Dalam beberapa kasus, seperti saat mengelola state
di luar widget tree utama, penggunaan widget mungkin kurang relevan. State
management yang lebih kompleks atau pengelolaan state global dapat melibatkan
pendekatan yang tidak selalu mengandalkan widget Flutter secara langsung.
e. Ketika Performa Tidak Penting: Dalam kasus tertentu di mana performa bukanlah
faktor kunci, seperti aplikasi sederhana atau prototipe, pemakaian widget yang
lebih kompleks mungkin dianggap berlebihan.

5. Bagaimana update dari aplikasi tugas besar yang Anda buat saat ini? Apa kendala yang
Anda temui?
Jawab :
Sejauh ini untuk progress pembuatan aplikasi kelompok kami (kelompok 3) berjalan
dengan lancar, berikut untuk proses kinerja pada kelompok kami,
• Aplikasi yang kami buat yaitu aplikasi berbasis E-learning, dimana tujuan kami
membuat aplikasi ini yakni memudahkan pengguna untuk membaca buku secara
online, dan menemukan materi sesuai minat dan bidang dengan Sub Sub modul
yang sudah kami siapkan,
• Berikut untuk tampilan awal pada aplikasi kami
• Tampilan Sign in dan Sign Up
• Tampilan Aplikasi
• Tampilan Aplikasi Flutter yang udah jadi
• Adapun kendala yang terjadi yaitu,
- Dalam membuat design aplikasi membutuhkan refrensi yang lebih banyak
untuk menciptakan ide yang lebih menarik.
- Gradasi warna yang tepat agar aplikasi terlihat dengan warna yang senada.
- Mencari sumber refrensi buku yang terpercaya dan handal
- Untuk devlop pada Flutter membutuhkan waktu lebih lama untuk
mencocokan dengan design yang telah dibuat.
- Ngepush repo pada github membutuhkan ketelitian, jika tidak maka data
yg sudah kita buat akan hilang dan harus membuatnya yang baru

Link Github:
https://github.com/Rickysalim/e_library_nama_elib_mobile

Link Figma:
https://www.figma.com/file/Qwzhxo0kMsLXUXcFqM7T4r/Project-
PAM?type=design&node-id=41-8&mode=design&t=6LiWSGCFXCGT781X-0

Anda mungkin juga menyukai