Font size
WorksheetsQuiz Arsitektur dan Desain Perangkat Lunak
Total questions: 83
Worksheet time: 42mins
Arsitektur perangkat lunak berfokus pada…
Detail algoritma
Struktur keseluruhan sistem
Penulisan kode program
Debugging
Tanpa arsitektur, sistem akan cenderung menjadi…
Modular
Efisien
Spaghetti Code
Aman
Arsitektur diperlukan ketika sistem harus melayani…
1 pengguna
10 pengguna
1 juta pengguna
2 pengguna
Desain perangkat lunak berada pada level…
High-level
Strategis
Lower-level
Global
Contoh keputusan arsitektur adalah…
Membuat class Java
Memilih Monolith vs Microservices
Menulis fungsi sorting
Membuat loop
Arsitektur sulit diubah karena…
Tidak penting
Keputusan fundamental
Hanya detail kecil
Fokus UI
Fokus utama arsitektur adalah mengelola…
Warna UI
Kompleksitas
Format teks
Typo kode
Desain fokus pada…
Komponen utama sistem
Struktur global
Detail implementasi modul/kelas
Infrastruktur cloud
Arsitektur lebih bersifat…
Taktis
Strategis
Lokal
Minor
Desain lebih bersifat…
Strategis
Global
Implementatif
Bisnis
Arsitektur berkaitan dengan…
Struktur besar sistem
Penamaan variabel
Error syntax
Layout tombol
Desain Pattern seperti Singleton termasuk dalam…
Arsitektur
Infrastruktur
Software Design
Database
Arsitektur sering disebut sebagai…
Cetak biru sistem
Coding cepat
UI design
Debugging
Arsitektur membantu developer dalam…
Menghapus bug manual
Mengelola perubahan sistem besar
Mengganti warna aplikasi
Menghindari database
Jika 50 developer bekerja di kode sama, arsitektur diperlukan untuk…
Membuat sistem lebih lambat
Menghindari kekacauan
Menambah spaghetti code
Menambah bug
Scalability berarti…
Keamanan data
Sistem mampu menangani lonjakan pengguna
Sistem mudah dicetak
Sistem memiliki UI bagus
Performance berkaitan dengan…
Latensi rendah
Jumlah warna UI
Banyaknya class
Jumlah file
Availability berarti sistem…
Tidak bisa diakses
Selalu “up”
Lambat
Offline
Maintainability artinya…
Sulit diperbaiki
Mudah menambah fitur dan memperbaiki bug
Tidak ada dokumentasi
Sistem rumit
Security adalah…
Kecepatan sistem
Perlindungan data
Struktur UI
Algoritma sorting
Quality Attributes termasuk kebutuhan…
Fungsional
Non-fungsional
Database
UI
Contoh uptime tinggi adalah…
10%
50%
99.99%
0%
Scalability dapat dilakukan dengan…
Scale Up atau Scale Out
Menghapus server
Menambah bug
Mengurangi database
Performance diukur dari…
Latensi respon
Warna sistem
Nama variabel
Ukuran font
Availability sangat penting untuk sistem…
Offline game
E-commerce
Buku cetak
Komik
Maintainability berkaitan dengan…
Sulit perubahan
Mudah pemeliharaan
Tidak scalable
Tidak aman
Security termasuk fokus utama arsitektur karena…
Data harus terlindungi
UI harus bagus
Server harus mahal
Coding harus cepat
Arsitektur tidak hanya membuat sistem berjalan, tetapi…
Bagaimana sistem berjalan
Bagaimana warna sistem
Bagaimana mengetik cepat
Bagaima
Arsitektur tidak hanya membuat sistem berjalan, tetapi…
Bagaimana sistem berjalan
Bagaimana warna sistem
Bagaimana mengetik cepat
Bagaimana membuat animasi
Non-functional requirements disebut juga…
Bugs
Quality Attributes
Syntax
UI Layer
Quality Attributes menentukan…
Nama aplikasi
Kualitas sistem
Jumlah tombol
Jenis font
Software architect membuat keputusan…
Artistik
Strategis teknis
Warna UI
Typo kode
Trade-off berarti…
Tidak ada kompromi
Menyeimbangkan kebutuhan
Menghapus fitur
Menambah bug
Architect menjembatani komunikasi antara…
User dan printer
Business stakeholder dan developer
Database dan UI
Hacker dan server
Architect menetapkan…
Standar koding
Nama warna
Musik sistem
Gambar logo
Jika ingin performa super cepat, konsekuensinya…
Sistem makin sederhana
Biaya mahal atau kode rumit
Tidak ada perubahan
UI lebih bagus
Software architect berperan sebagai…
Penulis novel
Penyeimbang segalanya
Gamer
Designer grafis
Salah satu tugas architect adalah…
Menghapus database
Mengelola trade-off
Membuat wallpaper
Menambah tombol
Architect fokus pada…
Struktur besar sistem
Penamaan variabel
Warna icon
Font teks
Architect membantu tim dengan…
Standar desain
Bug tambahan
File duplikat
Error syntax
Software architect bekerja pada level…
Rendah
Global/tinggi
Detail loop
Minor
Monolithic berarti…
Aplikasi dipisah kecil
Semua digabung jadi satu unit besar
Banyak database terpisah
Tanpa deployment
Kelebihan monolith adalah…
Kompleks
Mudah deployment awal
Sulit debug
Sulit dikembangkan
Kekurangan monolith adalah…
Mudah scale spesifik
Bug fatal mematikan seluruh sistem
Tim paralel mudah
Modular
Layered architecture disebut juga…
N-tier
API-first
Cloud-native
Event-driven
Lapisan Presentation adalah…
Database
UI pengguna
Logika bisnis
Server
Business Logic Layer berisi…
Aturan bisnis inti
Tampilan UI
Kabel jaringan
Event message
Data Access Layer berfungsi untuk…
Menggambar UI
Komunikasi ke database
Menulis laporan
Menghapus bug
Layer hanya boleh berkomunikasi dengan…
Semua layer bebas
Layer tepat di bawahnya
Layer paling atas saja
Tidak boleh komunikasi
Microservices adalah…
Sistem tunggal besar
Sekumpulan layanan kecil independen
Sistem tanpa API
UI-only system
Microservices berkomunikasi lewat…
Bluetooth
API HTTP/REST
Printer
Manual
Kelebihan microservices adalah…
Tidak scalable
Tim bekerja paralel
Deployment satu file
Tidak kompleks
Tantangan microservices adalah…
Operasional sangat kompleks
Tidak ada database
Tidak butuh API
Sangat sederhana
Microservices memiliki…
Satu database pusat
Database masing-masing layanan
Tanpa data
Tidak ada storage
Pola arsitektur adalah…
Solusi terbukti untuk masalah berulang
Kesalahan coding
UI template
Bug report
Monolith cocok untuk tahap…
Enterprise besar
Star
Pola arsitektur adalah…
Solusi terbukti untuk masalah berulang
Kesalahan coding
UI template
Bug report
Monolith cocok untuk tahap…
Enterprise besar
Startup awal
Sistem terdistribusi
Cloud-native
Layered architecture umum digunakan pada…
Game offline
Enterprise tradisional
Komik digital
Printer
Microservices cocok untuk tahap…
Startup traffic rendah
Enterprise scale-out
Sistem kecil
Aplikasi sederhana
Bug fatal dalam monolith dapat…
Mematikan seluruh sistem
Hanya mematikan UI
Tidak berpengaruh
Mempercepat sistem
Microservices lebih sulit debug karena…
Sistem terdistribusi
UI terlalu besar
Tidak ada database
Tidak ada kode
Layered architecture menerapkan prinsip…
Tight coupling
Separation of Concerns
Over-engineering
Spaghetti code
C4 Model terdiri dari…
Code, Class, Cloud, Cache
Context, Containers, Components, Code
CPU, Cloud, Cache, Container
Context, Class, Code, Compile
Level 1 C4 adalah…
Components
Context
Code
Database
Level 2 C4 adalah…
Containers
Context
UI Layer
Security
Prinsip KISS berarti…
Buat sistem rumit
Keep It Simple
Tambah fitur banyak
Over-engineer
Prinsip DRY berarti…
Duplikasi kode
Don’t Repeat Yourself
Debug Repeat Yield
Data Repeat Year
SOLID diperkenalkan oleh…
Elon Musk
Robert C. Martin
Bill Gates
Steve Jobs
Single Responsibility artinya…
Banyak tugas dalam satu kelas
Satu kelas satu alasan berubah
Semua class bebas
Tidak ada class
Open/Closed berarti…
Tertutup semua perubahan
Terbuka ekstensi, tertutup modifikasi
Harus selalu diubah
Tidak boleh ekstensi
Tujuan SOLID adalah mengurangi…
Tight coupling
Performance
Availability
Security
Containerization contohnya…
Docker
Java
Printer
Photoshop
Kubernetes digunakan untuk…
Mengelola ribuan container
Menulis kode
Membuat UI
Menghapus database
Cloud-native berarti…
Dibangun untuk cloud sejak awal
Dipindahkan manual ke cloud
Tidak perlu container
Offline
API-first design berarti…
Menulis kode dulu
Mendesain kontrak API dulu
UI dulu
Database dulu
RESTful API adalah…
Standar komunikasi web
Game engine
Database
Printer protocol
GraphQL adalah…
Bahasa pemrograman UI
Alternatif fleksibel untuk query data
Sistem operasi
Hardware
Event-driven menggunakan…
Pesan/kejadian async
Kabel LAN
UI layer
File PDF
Kafka sering digunakan untuk…
Event-driven messaging
UI design
Database SQL
Font styling
Evolusi e-commerce dimulai dengan…
Microservices
Monolith
Layered N-tier
Event-driven
Tahap pertumbuhan biasanya mulai dengan…
Menghapus database
Read replica database
Offline mode
Menghapus API
Tahap enterprise biasanya memecah monolith menjadi…
UI layer
Microservices
Printer services
File system
