Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
Dunia pemrograman perangkat bergerak (mobile programming) terus berkembang pesat, membuka peluang karir yang menjanjikan bagi para developer. Bagi siswa yang sedang menempuh pendidikan di bidang ini, Ujian Akhir Semester (UAS) merupakan gerbang penting untuk mengukur pemahaman dan kesiapan mereka melangkah ke jenjang selanjutnya. Artikel ini akan menjadi sahabat terbaik Anda dalam mempersiapkan UAS pemrograman perangkat bergerak untuk kelas 1 dan 2. Kita akan mengupas tuntas berbagai aspek penting, mulai dari konsep dasar hingga penerapan yang lebih kompleks, disertai dengan contoh-contoh soal yang relevan untuk membantu Anda berlatih dan menguasai materi.
Mengapa Pemrograman Perangkat Bergerak Penting?
Sebelum menyelami contoh soal, penting untuk memahami urgensi pemrograman perangkat bergerak. Di era digital ini, smartphone dan tablet telah menjadi perpanjangan tangan kita. Aplikasi mobile bukan hanya hiburan, tetapi juga alat produktivitas, komunikasi, dan bahkan layanan penting. Keahlian dalam mengembangkan aplikasi ini sangat dicari di pasar kerja, menjadikannya keterampilan yang berharga untuk masa depan.
Persiapan UAS: Kunci Sukses yang Strategis
Menghadapi UAS bisa terasa menakutkan, namun dengan persiapan yang tepat, Anda dapat menghadapinya dengan percaya diri. Berikut adalah beberapa strategi yang dapat Anda terapkan:
Perbedaan Materi UAS antara Kelas 1 dan Kelas 2
Penting untuk dicatat bahwa materi UAS pemrograman perangkat bergerak untuk kelas 1 dan kelas 2 biasanya memiliki tingkat kedalaman dan kompleksitas yang berbeda.
Contoh Soal UAS Pemrograman Perangkat Bergerak (Kelas 1)
Berikut adalah contoh soal yang mencakup materi-materi umum di kelas 1. Soal-soal ini dirancang untuk menguji pemahaman konsep dasar dan kemampuan implementasi sederhana.
Bagian A: Pilihan Ganda (Bobot: 30%)
Platform pengembangan aplikasi seluler yang dikembangkan oleh Google adalah…
a. Swift
b. Kotlin
c. Android
d. iOS
Bahasa pemrograman utama yang direkomendasikan untuk pengembangan aplikasi Android modern adalah…
a. Java
b. Swift
c. Kotlin
d. Objective-C
Manakah dari komponen UI berikut yang digunakan untuk menampilkan teks statis pada aplikasi Android?
a. EditText
b. Button
c. TextView
d. ImageView
Apa fungsi utama dari Intent dalam pengembangan aplikasi Android?
a. Untuk menampilkan gambar.
b. Untuk berpindah antar aktivitas atau mengirim data antar komponen.
c. Untuk menyimpan data secara permanen.
d. Untuk membuat tombol interaktif.
Dalam pengembangan UI Android, apa yang dimaksud dengan Layout?
a. Sebuah komponen UI tunggal.
b. Sebuah wadah yang mengatur penempatan dan susunan komponen UI lainnya.
c. Sebuah tipe data untuk menyimpan string.
d. Sebuah metode untuk menangani klik tombol.
Bahasa markup yang digunakan untuk mendefinisikan struktur UI pada aplikasi Android adalah…
a. CSS
b. HTML
c. XML
d. JSON
Manakah dari berikut ini yang merupakan siklus hidup (lifecycle) dari sebuah Activity di Android?
a. onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()
b. viewDidLoad(), viewWillAppear(), viewDidAppear()
c. init(), build(), run()
d. onMount(), onUpdate(), onUnmount()
Untuk menampilkan daftar item yang dapat digulir secara efisien di Android, komponen UI yang paling tepat digunakan adalah…
a. LinearLayout
b. RecyclerView
c. ConstraintLayout
d. ScrollView
Apa yang dimaksud dengan Adapter dalam konteks RecyclerView?
a. Sebuah komponen untuk menangani klik pada item.
b. Sebuah objek yang menjembatani data dengan tampilan ViewHolder.
c. Sebuah layout manager untuk mengatur posisi item.
d. Sebuah kelas untuk menyimpan data.
Dalam pengembangan aplikasi lintas platform, framework yang memungkinkan satu codebase untuk menghasilkan aplikasi Android dan iOS adalah…
a. Native Android Development
b. SwiftUI
c. Flutter atau React Native
d. Xamarin
Bagian B: Esai Singkat (Bobot: 40%)
Activity dan Fragment dalam pengembangan aplikasi Android. Kapan Anda akan memilih menggunakan Fragment dibandingkan Activity?TextView pada layar utama. Sebutkan file-file utama yang terlibat (misalnya, file layout dan file kode).Button) di aplikasi Android.RecyclerView untuk menampilkan daftar ini, termasuk peran Adapter dan ViewHolder.Bagian C: Studi Kasus/Implementasi (Bobot: 30%)
EditText untuk memasukkan nama pengguna dan sebuah Button bertuliskan "Kirim". Ketika tombol dikirim ditekan, aplikasi akan berpindah ke layar kedua. Layar kedua berisi TextView yang akan menampilkan pesan sapaan beserta nama yang dimasukkan pengguna di layar pertama (misalnya, "Halo, !").
Intent.Contoh Soal UAS Pemrograman Perangkat Bergerak (Kelas 2)
Soal-soal di kelas 2 akan menguji pemahaman yang lebih mendalam, termasuk arsitektur, manajemen data, konektivitas, dan praktik pengembangan yang lebih canggih.
Bagian A: Pilihan Ganda (Bobot: 30%)
Dalam pola arsitektur MVVM, kepanjangan dari "VM" adalah…
a. View Model
b. Virtual Machine
c. View Manager
d. Validation Module
Manakah dari teknologi berikut yang paling umum digunakan untuk mengelola state pada aplikasi Android dengan arsitektur modern?
a. SharedPreferences
b. ContentProvider
c. ViewModel dan LiveData (atau StateFlow/SharedFlow)
d. SQLiteDatabase
Untuk mengambil data dari sumber eksternal melalui jaringan (misalnya, RESTful API), pustaka (library) yang sangat populer di Android adalah…
a. Glide
b. Retrofit atau Ktor
c. Room Persistence Library
d. Picasso
Apa tujuan utama dari penggunaan Repository Pattern dalam pengembangan aplikasi?
a. Untuk membuat UI lebih menarik.
b. Untuk memisahkan logika akses data dari logika bisnis dan UI.
c. Untuk mengelola siklus hidup Activity.
d. Untuk melakukan debugging kode.
Teknik di mana Anda memisahkan tugas berat atau operasi jaringan ke thread terpisah agar UI tetap responsif disebut…
a. UI Blocking
b. Asynchronous Programming (misalnya menggunakan Coroutines atau RxJava)
c. Synchronous Execution
d. Foreground Service
Manakah dari berikut ini yang BUKAN merupakan keuntungan menggunakan database lokal seperti Room Persistence Library?
a. Penyimpanan data yang efisien.
b. Mengurangi ketergantungan pada koneksi internet.
c. Kecepatan akses data yang lebih tinggi untuk data yang sering diakses.
d. Selalu menyajikan data terbaru dari server.
Dalam konteks notifikasi push, protokol komunikasi yang umum digunakan untuk mengirim pesan dari server ke perangkat klien adalah…
a. HTTP/2
b. WebSockets
c. MQTT
d. Semua di atas (tergantung implementasi)
Apa yang dimaksud dengan Dependency Injection (DI)?
a. Menyediakan instance dari sebuah objek secara manual setiap kali dibutuhkan.
b. Sebuah teknik di mana kelas menerima dependensinya dari luar, bukan membuatnya sendiri.
c. Menggabungkan beberapa kelas menjadi satu.
d. Membuat kelas menjadi thread-safe.
Manakah dari berikut ini yang merupakan alat atau pustaka yang sering digunakan untuk melakukan pengujian unit (unit testing) pada kode Kotlin/Java untuk Android?
a. Espresso
b. JUnit
c. Robolectric
d. Mockito
Apa peran utama ViewModel dalam pola MVVM?
a. Menyimpan dan mengelola data yang berkaitan dengan UI.
b. Menangani interaksi pengguna secara langsung.
c. Mengatur navigasi antar layar.
d. Mengambil data dari database.
Bagian B: Esai Singkat (Bobot: 40%)
Repository Pattern dan mengapa ini penting dalam arsitektur aplikasi modern. Bagaimana pola ini membantu dalam memisahkan kekhawatiran (separation of concerns)?LiveData dan StateFlow (atau SharedFlow) dalam mengelola data yang dapat diamati (observable data) di Android. Kapan Anda akan memilih menggunakan salah satunya?WorkManager, Coroutines di latar belakang).Dependency Injection dan berikan contoh sederhana bagaimana hal ini dapat mempermudah pengelolaan dependensi dalam sebuah proyek. Sebutkan salah satu framework DI populer di Android (misalnya Hilt, Koin).Bagian C: Studi Kasus/Implementasi (Bobot: 30%)
https://jsonplaceholder.typicode.com/users). Anda ingin menampilkan nama dan email setiap pengguna dalam sebuah RecyclerView. Data ini sebaiknya diambil secara asynchronous dan dikelola menggunakan pola arsitektur yang baik.
data class (di Kotlin) untuk merepresentasikan struktur data pengguna yang diterima dari API.ViewModel yang akan mengambil data ini dan mengeksposnya menggunakan LiveData atau StateFlow.Repository akan digunakan untuk mengambil data dari API (Anda tidak perlu menulis kode API call lengkap, cukup jelaskan strukturnya).Adapter akan bekerja sama dengan ViewModel untuk mengisi data.Tips Tambahan untuk Menghadapi UAS:
Kesimpulan
Mempersiapkan UAS pemrograman perangkat bergerak membutuhkan kombinasi pemahaman teoritis dan kemampuan praktik. Dengan mempelajari contoh-contoh soal ini, mereview materi perkuliahan, dan terus berlatih, Anda akan semakin siap untuk menghadapi ujian dengan percaya diri. Ingatlah bahwa setiap soal adalah kesempatan untuk menunjukkan penguasaan Anda. Selamat belajar dan semoga sukses dalam UAS Anda!