50 Contoh Soal Kelas 11 SMK Rekayasa Perangkat Lunak
50 Contoh Soal Kelas 11 SMK Rekayasa Perangkat Lunak – Berikut adalah 50 contoh soal pilihan ganda untuk kelas 11 SMK Rekayasa Perangkat Lunak beserta jawabannya:
1. Apa yang dimaksud dengan Rekayasa Perangkat Lunak?
a. Proses pembuatan perangkat keras
b. Proses pembuatan aplikasi web
c. Proses pembuatan perangkat lunak menggunakan prinsip rekayasa
d. Proses desain interface pengguna
e. Proses pembuatan database
Jawaban: c. Proses pembuatan perangkat lunak menggunakan prinsip rekayasa
2. Berikut adalah tahap dalam siklus hidup perangkat lunak yang berfungsi untuk menentukan spesifikasi perangkat lunak, yaitu…
a. Desain
b. Pengujian
c. Analisis kebutuhan
d. Pemeliharaan
e. Implementasi
Jawaban: c. Analisis kebutuhan
3. Apa yang dimaksud dengan SDLC (System Development Life Cycle)?
a. Proses pengujian sistem
b. Proses implementasi perangkat lunak
c. Proses pembangunan dan pengelolaan perangkat lunak
d. Proses maintenance perangkat keras
e. Proses mengelola user interface
Jawaban: c. Proses pembangunan dan pengelolaan perangkat lunak
4. Metode pengembangan perangkat lunak yang paling sering digunakan adalah…
a. Waterfall
b. Spiral
c. Incremental
d. RAD
e. Agile
Jawaban: e. Agile
5. Alat yang digunakan untuk mendokumentasikan desain perangkat lunak adalah…
a. Flowchart
b. Algoritma
c. DFD (Data Flow Diagram)
d. ERD (Entity Relationship Diagram)
e. UML (Unified Modeling Language)
Jawaban: e. UML (Unified Modeling Language)
6. Apa tujuan utama dari pengujian perangkat lunak?
a. Meningkatkan efisiensi komputer
b. Menemukan bug dan kesalahan pada perangkat lunak
c. Meningkatkan kecepatan aplikasi
d. Menjaga kerahasiaan data pengguna
e. Mengurangi biaya perangkat keras
Jawaban: b. Menemukan bug dan kesalahan pada perangkat lunak
7. Pengujian yang dilakukan setelah perangkat lunak selesai dikembangkan disebut…
a. Pengujian sistem
b. Pengujian unit
c. Pengujian regresi
d. Pengujian verifikasi
e. Pengujian integrasi
Jawaban: a. Pengujian sistem
8. Fase pertama dalam pengembangan perangkat lunak menggunakan metodologi Agile adalah…
a. Sprint planning
b. Backlog refinement
c. Iterasi
d. Desain sistem
e. Pengujian
Jawaban: a. Sprint planning
9. Dalam SDLC, fase yang bertanggung jawab untuk mendesain sistem disebut…
a. Desain sistem
b. Pengujian
c. Analisis kebutuhan
d. Implementasi
e. Pemeliharaan
Jawaban: a. Desain sistem
10. Bahasa pemrograman yang digunakan untuk pengembangan perangkat lunak berbasis web adalah…
a. Java
b. C++
c. HTML, CSS, JavaScript
d. SQL
e. Python
Jawaban: c. HTML, CSS, JavaScript
11. Di bawah ini yang termasuk dalam teknik pemrograman berorientasi objek adalah…
a. Inheritance
b. Subroutines
c. Pseudocode
d. Flowchart
e. Structured programming
Jawaban: a. Inheritance
12. Apa yang dimaksud dengan debugging dalam pengembangan perangkat lunak?
a. Proses desain sistem
b. Proses menemukan dan memperbaiki bug
c. Proses mengoptimalkan kecepatan aplikasi
d. Proses mendokumentasikan kode
e. Proses menghubungkan perangkat keras dan perangkat lunak
Jawaban: b. Proses menemukan dan memperbaiki bug
13. Program yang digunakan untuk mengelola basis data dalam perangkat lunak adalah…
a. ERP
b. DBMS (Database Management System)
c. HTML
d. IDE (Integrated Development Environment)
e. UML
Jawaban: b. DBMS (Database Management System)
14. Kelebihan dari pendekatan Agile adalah…
a. Proyek diselesaikan sekali dan langsung selesai
b. Pengembangan terstruktur dengan jadwal yang ketat
c. Fleksibilitas tinggi dalam menangani perubahan kebutuhan
d. Menghindari perubahan dalam proyek
e. Pengujian hanya dilakukan di akhir
Jawaban: c. Fleksibilitas tinggi dalam menangani perubahan kebutuhan
15. Teknologi yang digunakan untuk pengembangan perangkat lunak berbasis Android adalah…
a. Swift
b. Java
c. Python
d. PHP
e. Kotlin
Jawaban: b. Java
16. Manakah dari berikut yang merupakan karakteristik dari perangkat lunak yang baik?
a. Cepat selesai, meskipun tidak diuji dengan baik
b. Mudah dipelihara, memiliki dokumentasi yang baik
c. Memiliki banyak fitur, tetapi sangat sulit digunakan
d. Hanya memenuhi kebutuhan dasar tanpa perbaikan lebih lanjut
e. Menggunakan bahasa pemrograman yang kompleks dan rumit
Jawaban: b. Mudah dipelihara, memiliki dokumentasi yang baik
17. Dalam diagram kelas pada UML, hubungan antara dua kelas yang menunjukkan bahwa satu kelas merupakan turunan dari kelas lainnya disebut…
a. Association
b. Aggregation
c. Composition
d. Inheritance
e. Dependency
Jawaban: d. Inheritance
18. Dalam pengembangan perangkat lunak, model yang paling cocok digunakan untuk proyek besar dan kompleks adalah…
a. Waterfall
b. Spiral
c. RAD
d. Agile
e. Scrum
Jawaban: b. Spiral
19. Apa yang dimaksud dengan ‘version control’ dalam pengembangan perangkat lunak?
a. Pengelolaan versi sistem operasi
b. Pengelolaan versi perangkat keras
c. Pengelolaan perubahan dan revisi dalam kode sumber
d. Pengelolaan biaya perangkat lunak
e. Pengelolaan lisensi perangkat lunak
Jawaban: c. Pengelolaan perubahan dan revisi dalam kode sumber
20. Apa itu IDE (Integrated Development Environment) dalam pengembangan perangkat lunak?
a. Alat untuk mengelola database
b. Alat untuk mendesain antarmuka pengguna
c. Alat untuk menggabungkan perangkat keras dan perangkat lunak
d. Alat untuk menulis, menguji, dan mendebug kode sumber
e. Alat untuk melakukan pengujian perangkat lunak secara otomatis
Jawaban: d. Alat untuk menulis, menguji, dan mendebug kode sumber
21. Algoritma yang digunakan untuk mencari data dalam daftar yang terurut adalah…
a. Algoritma bubble sort
b. Algoritma quick sort
c. Algoritma pencarian linear
d. Algoritma pencarian biner
e. Algoritma rekursif
Jawaban: d. Algoritma pencarian biner
22. Yang termasuk dalam pengembangan perangkat lunak berbasis web adalah…
a. HTML
b. CSS
c. JavaScript
d. PHP
e. Semua jawaban benar
Jawaban: e. Semua jawaban benar
23. Berikut yang bukan merupakan bagian dari software development lifecycle adalah…
a. Analisis kebutuhan
b. Desain sistem
c. Implementasi
d. Pengujian
e. Pembelian perangkat keras
Jawaban: e. Pembelian perangkat keras
24. Dalam pengembangan perangkat lunak, fase yang berfokus pada pembuatan kode disebut…
a. Desain
b. Pengujian
c. Implementasi
d. Pemeliharaan
e. Dokumentasi
Jawaban: c. Implementasi
25. Dalam pengembangan perangkat lunak, siapa yang bertanggung jawab untuk memastikan kualitas kode dan kesalahan ditemukan dalam kode sumber?
a. Programmer
b. Project Manager
c. Tester
d. System Analyst
e. Database Administrator
Jawaban: c. Tester
26. Apa yang dimaksud dengan framework dalam pengembangan perangkat lunak?
a. Kumpulan perangkat keras yang digunakan untuk pengembangan
b. Kumpulan pustaka kode sumber yang dapat digunakan kembali
c. Bahasa pemrograman yang lebih mudah digunakan
d. Alat untuk mendebug aplikasi
e. Sistem manajemen basis data
Jawaban: b. Kumpulan pustaka kode sumber yang dapat digunakan kembali
27. Teknologi yang digunakan untuk membangun aplikasi berbasis iOS adalah…
a. Java
b. Swift
c. PHP
d. Kotlin
e. Python
Jawaban: b. Swift
28. Apa yang dimaksud dengan continuous integration (CI) dalam pengembangan perangkat lunak?
a. Proses pembuatan perangkat lunak dalam jangka panjang
b. Proses penggabungan kode secara teratur untuk meminimalkan konflik
c. Proses mendesain perangkat lunak secara bertahap
d. Proses menguji perangkat lunak setelah pengembangan selesai
e. Proses menambahkan fitur baru pada perangkat lunak
Jawaban: b. Proses penggabungan kode secara teratur untuk meminimalkan konflik
29. Apa yang dimaksud dengan “object-oriented programming” (OOP)?
a. Pemrograman yang berfokus pada objek dan metode untuk manipulasi objek
b. Pemrograman yang berfokus pada penggunaan fungsi matematika
c. Pemrograman berbasis data dengan tabel-tabel relasional
d. Pemrograman berbasis sistem operasi
e. Pemrograman berbasis logika
Jawaban: a. Pemrograman yang berfokus pada objek dan metode untuk manipulasi objek
30. Dalam pengembangan perangkat lunak, apa yang dimaksud dengan “refactoring”?
a. Menghapus kode yang tidak digunakan
b. Menulis ulang kode dari awal
c. Mengoptimalkan kode tanpa mengubah fungsionalitasnya
d. Menambahkan fitur baru
e. Membuat dokumentasi untuk kode
Jawaban: c. Mengoptimalkan kode tanpa mengubah fungsionalitasnya
31. Manakah dari berikut yang bukan merupakan prinsip dasar pengembangan perangkat lunak Agile?
a. Kolaborasi dengan klien
b. Mengikuti jadwal yang ketat
c. Respon terhadap perubahan
d. Pengiriman perangkat lunak secara berkala
e. Fokus pada individu dan interaksi
Jawaban: b. Mengikuti jadwal yang ketat
32. Apa yang dimaksud dengan “deployment” dalam pengembangan perangkat lunak?
a. Proses mendesain sistem perangkat lunak
b. Proses menginstal dan menjalankan perangkat lunak di lingkungan produksi
c. Proses menguji perangkat lunak
d. Proses mendokumentasikan kode
e. Proses merencanakan pengembangan perangkat lunak
Jawaban: b. Proses menginstal dan menjalankan perangkat lunak di lingkungan produksi
33. Di bawah ini yang bukan merupakan bahasa pemrograman untuk pengembangan perangkat lunak berbasis web adalah…
a. JavaScript
b. PHP
c. HTML
d. Java
e. Swift
Jawaban: e. Swift
34. Pada pengembangan perangkat lunak, apakah yang dimaksud dengan “unit testing”?
a. Pengujian yang dilakukan oleh pengguna akhir
b. Pengujian terhadap unit kecil dari kode untuk memverifikasi fungsinya
c. Pengujian seluruh sistem perangkat lunak
d. Pengujian untuk melihat sejauh mana perangkat lunak dapat menangani beban tinggi
e. Pengujian untuk memastikan perangkat lunak kompatibel dengan berbagai perangkat
Jawaban: b. Pengujian terhadap unit kecil dari kode untuk memverifikasi fungsinya
35. Berikut ini adalah contoh alat pengembangan perangkat lunak berbasis web, kecuali…
a. Visual Studio
b. Sublime Text
c. Eclipse
d. Xcode
e. Power BI
Jawaban: e. Power BI
36. Apa yang dimaksud dengan “API” dalam pengembangan perangkat lunak?
a. Alat untuk menguji perangkat lunak
b. Sekumpulan instruksi yang memungkinkan aplikasi untuk berinteraksi dengan perangkat lunak lain
c. Alat untuk mendesain antarmuka pengguna
d. Sistem manajemen basis data
e. Alat untuk membangun kode sumber
Jawaban: b. Sekumpulan instruksi yang memungkinkan aplikasi untuk berinteraksi dengan perangkat lunak lain
37. Pada model Waterfall, fase pengujian dilakukan setelah fase…
a. Analisis kebutuhan
b. Desain sistem
c. Implementasi
d. Pemeliharaan
e. Pengumpulan data
Jawaban: c. Implementasi
38. Apa yang dimaksud dengan “scalability” dalam pengembangan perangkat lunak?
a. Kemampuan perangkat lunak untuk menangani volume data yang besar
b. Kemampuan perangkat lunak untuk mudah diubah dan dikembangkan
c. Kemampuan perangkat lunak untuk bekerja pada berbagai platform
d. Kemampuan perangkat lunak untuk diinstal dengan mudah
e. Kemampuan perangkat lunak untuk aman dari peretasan
Jawaban: a. Kemampuan perangkat lunak untuk menangani volume data yang besar
39. Apa yang dimaksud dengan “cloud computing” dalam pengembangan perangkat lunak?
a. Proses pemrograman menggunakan layanan cloud
b. Penggunaan server lokal untuk menyimpan data
c. Pengembangan perangkat lunak yang dapat diakses melalui internet
d. Proses pengembangan perangkat lunak berbasis perangkat keras
e. Penyimpanan data secara offline
Jawaban: c. Pengembangan perangkat lunak yang dapat diakses melalui internet
40. Apa yang dimaksud dengan “maintenance” dalam siklus hidup perangkat lunak?
a. Proses memperbaiki bug pada kode
b. Proses mendesain sistem baru
c. Proses memelihara dan memperbarui perangkat lunak setelah diluncurkan
d. Proses menambahkan fitur baru
e. Proses menyiapkan dokumentasi untuk perangkat lunak
Jawaban: c. Proses memelihara dan memperbarui perangkat lunak setelah diluncurkan
41. Model pengembangan perangkat lunak yang mengutamakan perencanaan awal dan pengembangan bertahap adalah…
a. Spiral
b. Agile
c. Waterfall
d. RAD
e. Scrum
Jawaban: c. Waterfall
42. Untuk membuat aplikasi perangkat lunak dengan antarmuka pengguna berbasis GUI (Graphical User Interface), bahasa pemrograman yang sering digunakan adalah…
a. C++
b. PHP
c. Java
d. HTML
e. Ruby
Jawaban: c. Java
43. Manakah dari berikut ini yang bukan merupakan metode pengembangan perangkat lunak?
a. Waterfall
b. Agile
c. Spiral
d. V-Model
e. Hardware Development Life Cycle (HDLC)
Jawaban: e. Hardware Development Life Cycle (HDLC)
44. Konsep desain perangkat lunak yang berfokus pada pemisahan antara tampilan, logika bisnis, dan data disebut…
a. Model-view-controller (MVC)
b. Client-server architecture
c. Microservices architecture
d. Peer-to-peer architecture
e. Monolithic architecture
Jawaban: a. Model-view-controller (MVC)
45. Apa yang dimaksud dengan “user-centered design” dalam pengembangan perangkat lunak?
a. Desain yang fokus pada antarmuka pengguna
b. Desain yang fokus pada kebutuhan pengguna dan pengalaman pengguna
c. Desain yang hanya fokus pada fitur teknis perangkat lunak
d. Desain yang hanya mengutamakan kecepatan aplikasi
e. Desain yang dibuat oleh pengembang perangkat lunak tanpa masukan pengguna
Jawaban: b. Desain yang fokus pada kebutuhan pengguna dan pengalaman pengguna
46. Pengembangan perangkat lunak yang dilakukan oleh tim secara bersamaan di lokasi yang berbeda dikenal sebagai…
a. Distributed Development
b. Collaborative Development
c. Client-server Development
d. Outsourced Development
e. Local Development
Jawaban: a. Distributed Development
47. Apa yang dimaksud dengan “sprint” dalam metodologi Scrum?
a. Proses pengujian perangkat lunak
b. Periode waktu pendek untuk menyelesaikan pekerjaan tertentu
c. Proses mendesain sistem perangkat lunak
d. Pengumpulan data kebutuhan pengguna
e. Pengujian terhadap perangkat keras
Jawaban: b. Periode waktu pendek untuk menyelesaikan pekerjaan tertentu
48. Di bawah ini yang merupakan kelebihan dari model Agile adalah…
a. Pengembangan perangkat lunak dilakukan sekali tanpa perubahan
b. Proyek memiliki batas waktu yang ketat
c. Sangat fleksibel terhadap perubahan dan feedback
d. Tidak memerlukan pengujian yang intensif
e. Mengurangi interaksi dengan pengguna
Jawaban: c. Sangat fleksibel terhadap perubahan dan feedback
49. Teknologi yang digunakan untuk pengembangan aplikasi berbasis data dalam perangkat lunak adalah…
a. HTML
b. CSS
c. SQL
d. Java
e. Python
Jawaban: c. SQL
50. Apa yang dimaksud dengan “security testing” dalam pengembangan perangkat lunak?
a. Pengujian perangkat lunak untuk memastikan keamanannya
b. Pengujian antarmuka pengguna
c. Pengujian untuk memastikan perangkat lunak sesuai dengan persyaratan
d. Pengujian fungsionalitas perangkat lunak
e. Pengujian untuk
memverifikasi performa perangkat lunak
Jawaban: a. Pengujian perangkat lunak untuk memastikan keamanannya
Sekian 50 Contoh Soal Kelas 11 SMK Rekayasa Perangkat Lunak, Semoga Bermanfaat. Baca Juga 50 Contoh Soal Kelas 11 SMK Analisis Laporan Keuangan