NEW
Font size
WorksheetsUjian Tengah Semester (UTS) Pengenalan Pemrograman Platform
Total questions: 60
Worksheet time: 30mins
Fokus utama mata kuliah Pengenalan Pemrograman Platform adalah memahami bagaimana sebuah aplikasi berjalan pada berbagai platform. Apa aspek fundamental yang paling ditekankan?
Menghafal syntax pemrograman
Menulis algoritma dasar
Menganalisis arsitektur dan lingkungan eksekusi aplikasi
Menghafal library bahasa
Membuat aplikasi Android saja
Kernel dianggap sebagai inti OS. Dalam konteks arsitektur platform, apa fungsi utama Kernel?
Menyimpan seluruh file sistem
Mengontrol hardware dan mengatur proses sistem
Menjalankan aplikasi user secara langsung
Mengompilasi seluruh kode aplikasi
Menentukan layout antarmuka
Process dalam OS dirancang untuk menjaga stabilitas aplikasi. Apa karakteristik paling penting dari sebuah process?
Selalu berbagi memori dengan process lain
Dapat berjalan tanpa OS
Memiliki ruang memori yang terisolasi
Tidak bisa mengalami crash
Tidak membutuhkan CPU scheduler
Interpreter memiliki perilaku eksekusi yang berbeda dari compiler. Apa mekanisme utamanya?
Menjalankan kode dari database
Mengubah seluruh kode menjadi machine code sejak awal
Mengeksekusi kode baris demi baris saat runtime
Menjalankan kode melalui GPU
Menghapus kesalahan secara otomatis
Dalam kolaborasi developer modern, Git dikategorikan sebagai jenis Version Control apa?
Centralized VCS
Manual VCS
Distributed VCS
Hybrid VCS
Cloud-only VCS
Pada workflow Git, Staging Area diperlukan untuk apa?
Menyimpan commit ke server
Menjalankan aplikasi
Memilih perubahan yang akan dimasukkan ke commit
Menyimpan backup otomatis
Menghapus repository
Dalam REST API, method GET digunakan ketika:
Membuat data baru
Menghapus data
Mengambil data tanpa mengubah state server
Mengirimkan proses login
Menjalankan script di server
Format data paling umum digunakan pada REST API karena ringan dan mudah diparse. Format tersebut adalah…
CSV
XML
HTML
Binary
JSON
HTTPS dibutuhkan pada aplikasi modern. Apa definisi konsepnya?
Kombinasi HTTP dengan TLS/SSL untuk enkripsi
Versi lama dari HTTP
HTTP tanpa keamanan
Protokol untuk API saja
Protokol penyimpanan
Status code 404 digunakan ketika:
Terjadi Client Error karena resource tidak ditemukan
Operasi berhasil
Perlu redirect
Terjadi Server Error
Login berhasil
Mengapa bahasa berkategori compiled umumnya lebih cepat?
Karena memerlukan RAM besar
Karena menghasilkan machine code sebelum dieksekusi
Karena interpreter berjalan di GPU
Karena compiler menghapus error otomatis
Karena compiler berjalan secara paralel
Model Bytecode + VM memberikan fleksibilitas lintas platform. Apa keuntungan utamanya?
Tidak membutuhkan OS
Menggabungkan portabilitas dan performa
Hanya cocok untuk mobile
Tidak dapat berjalan di server
Menghilangkan error
Thread mampu bekerja lebih cepat tetapi lebih berisiko. Mengapa demikian?
Karena thread memiliki memori sendiri
Karena berjalan tanpa OS
Karena berbagi memori sehingga rawan race condition
Karena tidak menggunakan CPU
Karena tidak bisa dihentikan
Mengapa aplikasi perlu menggunakan Non-blocking I/O?
CPU tidak bisa multitasking
I/O lambat sehingga blok pada thread utama menyebabkan freeze
Untuk menghemat RAM
Untuk mempercepat rendering tampilan
Untuk mengenkripsi data
Perbedaan utama DVCS dan CVCS adalah:
DVCS tidak memiliki server
CVCS menyimpan semua repository lokal
DVCS menyimpan histori lengkap pada tiap developer
DVCS hanya mendukung Linux
CVCS selalu lebih cepat
Perintah “git reset --hard” dapat berdampak besar. Dampak utamanya adalah:
Menghapus repository remote
Mengubah commit message
Menghapus seluruh perubahan lokal setelah hash tertentu
Menciptakan branch baru
Melakukan merge otomatis
Pull Request (PR) digunakan terutama untuk:
Menghapus branch
Menggabungkan branch dengan proses review
Menjalankan server Git
Mengupload file ke cloud
Menyimpan password
Mengapa commit message harus jelas dan ringkas?
Untuk membuat repository lebih ringan
Untuk mempercepat kompilasi
Karena commit adalah dokumentasi sejarah proyek
Karena Git mewajibkannya
Agar bisa dibaca OS
API sering diibaratkan seperti menu restoran karena:
Berisi harga
Menentukan UI
Menentukan layanan apa yang bisa diminta client
Selalu berupa gambar
Tidak pernah berubah
PATCH berbeda dari PUT karena:
PUT menghapus data
PATCH membuat data
PATCH memperbarui sebagian field, PUT memperbarui keseluruhan resource
PUT hanya untuk mobile
PATCH tidak menggunakan HTTP
Mengapa HTTP dianggap stateless?
Tidak bisa menyimpan file
Setiap request tidak mempertahankan informasi state
HTTP digunakan di web saja
HTTP tidak mendukung JSON
Karena client selalu offline
Status code 201 digunakan ketika:
Data gagal dihapus
Server tidak tersedia
Server berhasil membuat resource baru
Terjadi overload
Login gagal
JSON lebih populer dibanding XML karena:
Lebih lambat
Lebih verbose
Lebih ringkas dan mudah diparse
Hanya digunakan di Java
Tidak berbentuk key-value
Dalam arsitektur client–server, tanggung jawab client adalah:
Menjalankan logika bisnis inti
Menyimpan database
Mengirim request dan menampilkan UI
Mengatur load balancing
Mengelola RAM server
Mengapa HTTPS wajib digunakan pada aplikasi modern?
Karena lebih cepat
Untuk mengenkripsi komunikasi dan melindungi data sensitif
Karena HTTP sudah tidak didukung browser
Karena hanya HTTPS yang mendukung JSON
Untuk menghemat bandwidth
Merge conflict terjadi ketika…
Server Git sedang tidak stabil
Developer lupa melakukan push
Dua developer mengubah baris kode yang sama pada file yang sama
Branch terlalu banyak
Staging area penuh
Perbedaan utama antara git fetch dan git pull adalah:
Fetch menghapus branch lokal
Fetch mengirim perubahan ke remote
Fetch mengambil data remote tanpa melakukan merge
Pull lebih lambat
Pull hanya untuk Linux
Mengapa API menjadi komponen penting pada arsitektur microservices?
Karena semua service digabung menjadi satu file
Karena API menyimpan seluruh log aktivitas
Karena API memungkinkan komunikasi antar service
Karena API mengontrol database utama
Karena API mempercepat rendering UI
Apa manfaat utama penggunaan VM pada runtime seperti JVM?
Mengurangi ukuran file
Menjamin portabilitas dan isolasi aplikasi
Mempercepat Internet
Menghapus error secara otomatis
Menghemat baterai perangkat
Mengapa Event Loop pada Node.js menjadi inti dari performanya?
Untuk menjalankan GPU
Untuk menambah jumlah thread
Untuk menangani operasi I/O secara non-blocking
Untuk mengompilasi bytecode
Untuk mempercepat kompresi
Platform apa yang menjalankan aplikasi langsung di dalam browser melalui JavaScript?
Web
Mobile
DOM dalam web development berfungsi sebagai…
Data Object Manager
Dynamic Operating Module
Document Operation Mechanism
Document Object Model
Digital Object Mapping
Bahasa pemrograman yang umum digunakan pada Android Native adalah:
PHP
Ruby
Swift
Kotlin / Java
Delphi
Untuk menyimpan pengaturan sederhana seperti user preference, Android menggunakan…
Database NoSQL
Blockchain
JSON
SQLite
Shared Preferences
Aplikasi desktop biasanya lebih unggul dalam hal:
Tidak memerlukan OS
Tanpa instalasi
Performa CPU & GPU tertinggi
Selalu cross-platform
Hemat baterai
Pada arsitektur Web Tiga Tingkat, komponen yang menangani logika bisnis adalah:
Presentation Tier
Data Tier
Client Tier
Routing Tier
Application Tier
Ketika thread utama UI terblokir, aplikasi desktop kemungkinan besar akan…
Restart otomatis
Tidak terpengaruh
Mempercepat rendering
Mengurangi penggunaan GPU
Freeze / Hang
Framework cross-platform yang digunakan untuk membuat aplikasi mobile adalah:
Laravel
Spring
Flutter
Django
VueJS
Pada lifecycle aplikasi mobile, kondisi saat aplikasi tidak terlihat tetapi masih berjalan disebut:
Foreground
Background
Terminated
Booting
Restarting
Pada backend web, tugas utamanya adalah:
Mengatur layout CSS
Mengelola animasi UI
Menjalankan logika bisnis dan mengelola database
Menangani gesture touch
Menyimpan file instalasi
Karena HTTP stateless, backend harus menggunakan mekanisme tambahan seperti:
CDN
DNS
Proxy
Cache
Session & JWT
Untuk mengurangi biaya manipulasi DOM langsung, frontend modern menggunakan:
MVC Parser
CSS Preprocessor
Virtual DOM
WebSocket
REST API
Tantangan terbesar dalam pengembangan mobile adalah:
Tidak ada sensor
Fragmentasi perangkat
Tidak perlu izin
Baterai tidak penting
Tidak ada perbedaan layar
Saat aplikasi masuk state “Paused”, tindakan yang tepat dilakukan oleh aplikasi adalah:
Menghapus database
Menyimpan temporary state
Mempercepat CPU
Mematikan GPU
Menutup jaringan
Framework desktop yang bersifat cross-platform adalah:
Electron
Swift
Hadoop
SQLite
SQL Server
Proses mencocokkan URL request dengan fungsi handler di backend disebut…
Routing
Parsing
Modeling
Rendering
Deploying
Keuntungan utama MVVM pada pengembangan GUI desktop adalah:
Mengurangi massive controller melalui data binding
Membuat layout otomatis
Menambah ukuran file
Menghilangkan event
Menambah GPU usage
Contoh komponen yang lazim ditempatkan sebagai middleware adalah:
Template HTML
CSS Styling
Animasi UI
Manajemen DPI
Validasi input & autentikasi
Keunggulan JWT dibanding session tradisional adalah:
Selalu offline
Menggunakan token tanpa enkripsi
Tidak ada token
Hanya untuk mobile
Mendukung server stateless & scalable
Penyimpanan data terstruktur default untuk aplikasi mobile adalah:
Redis
Excel
MongoDB
SQLite
Google Sheet
Masalah klasik pada MVC yang diatasi oleh MVVM adalah:
Tampilan sulit dibuat
Tidak ada GUI
Massive Controller
Tidak bisa binding
DOM lambat
Push Notification pada mobile biasanya menggunakan layanan:
DNS
SMTP
RSA
FCM / APNs
WebRTC
Mengapa memory leak berbahaya?
Membuat UI lebih responsif
Menghemat RAM
Mempercepat GPU
Menyebabkan aplikasi crash atau berjalan lambat
Menghapus cache otomatis
Fragmentasi perangkat dapat diatasi menggunakan:
Satu ukuran layar
Menghapus UI
Constraint-based responsive layout
Menutup semua resource
Mengunci DPI
Tantangan utama dalam deployment aplikasi desktop adalah:
Tidak membutuhkan installer
Selalu online
Membutuhkan installer & dependency management
Tidak butuh library
Tidak menggunakan GUI
Event Loop bertugas untuk:
Menghapus RAM
Memproses event UI secara non-blocking
Mengatur database
Mengatur ukuran layar
Mengelola bandwidth
Trade-off microservices dibanding monolithic adalah:
Tidak bisa scaling
Tidak perlu API
Lebih scalable namun lebih kompleks dalam deployment
Tanpa service independen
Selalu lebih lambat
Peran middleware autentikasi JWT adalah:
Membuat HTML
Mengatur CSS
Menyimpan session ID
Memvalidasi token sebelum menuju handler utama
Merender UI
Mengapa tombol pada mobile UX dibuat besar?
Karena user sering bergerak dan menggunakan satu tangan
Untuk mengurangi gesture
Karena layar sangat kecil
Untuk menghemat baterai
Menghindari warna cerah
Distribusi aplikasi melalui App Store menguntungkan karena:
Menghilangkan izin
Review aplikasi menjadi instan
Tidak ada runtime
Update lebih mudah dan keamanan lebih baik
Tidak perlu internet
