1) Apa yang dimaksud dengan Rekayasa Perangkat Lunak (RPL) a) Rekayasa Perangkat Lunak adalah disiplin ilmu yang mencakup proses sistematis dalam pengembangan, operasi, dan pemeliharaan perangkat lunak. b) perangkat lunak yang kode sumbernya dapat diakses dan dimodifikasi oleh siapa pun, sementara perangkat lunak proprietary adalah perangkat lunak yang memiliki hak cipta dan biasanya tidak dapat dimodifikasi oleh pengguna. c) kemampuan untuk mengadaptasi perubahan lebih mudah, sementara kerugiannya adalah risiko pengulangan kesalahan dalam setiap iterasi. d) prinsip yang menekankan untuk menghindari pengulangan kode dalam pengembangan perangkat lunak, sehingga meminimalkan kompleksitas dan meningkatkan efisiensi. 2) Jelaskan konsep DRY (Don't Repeat Yourself) dalam konteks pengembangan perangkat lunak a) praktik mengintegrasikan kode secara otomatis ke dalam repositori bersama secara berkala, sementara Continuous Deployment adalah proses otomatisasi untuk merilis perangkat lunak secara terus-menerus ke lingkungan produksi. b) sistem yang merekam perubahan terhadap satu atau beberapa file dari waktu ke waktu, penting dalam pengembangan perangkat lunak untuk melacak dan mengelola versi kode. c) panduan desain yang mengemukakan prinsip-prinsip untuk meningkatkan modularitas dan pemeliharaan kode dalam pengembangan perangkat lunak. d) prinsip yang menekankan untuk menghindari pengulangan kode dalam pengembangan perangkat lunak, sehingga meminimalkan kompleksitas dan meningkatkan efisiensi. 3) Apa yang dimaksud dengan SDLC dalam konteks Rekayasa Perangkat Lunak a) aplikasi tunggal yang terdiri dari komponen-komponen terpadu, sementara microservices adalah arsitektur di mana aplikasi dibangun sebagai kumpulan layanan independen yang berjalan secara terpisah. b) pendekatan sistematis untuk pengembangan perangkat lunak yang mencakup tahapan perencanaan, analisis, desain, implementasi, pengujian, dan pemeliharaan. c) proses mengidentifikasi, memahami, dan memperbaiki bug dalam kode, sementara profiling adalah proses mengukur dan menganalisis kinerja perangkat lunak untuk d) perangkat lunak yang kode sumbernya dapat diakses dan dimodifikasi oleh siapa pun, sementara perangkat lunak proprietary adalah perangkat lunak yang memiliki hak cipta dan biasanya tidak dapat dimodifikasi oleh pengguna. 4) Jelaskan perbedaan antara perangkat lunak open source dan perangkat lunak proprietary a) Perangkat lunak open source adalah perangkat lunak yang kode sumbernya dapat diakses dan dimodifikasi oleh siapa pun, sementara perangkat lunak proprietary adalah perangkat lunak yang memiliki hak cipta dan biasanya tidak dapat dimodifikasi oleh pengguna. b) adalah prinsip yang menekankan untuk menghindari pengulangan kode dalam pengembangan perangkat lunak, sehingga meminimalkan kompleksitas dan meningkatkan efisiensi. c) praktik mengintegrasikan kode secara otomatis ke dalam repositori bersama secara berkala, sementara Continuous Deployment adalah proses otomatisasi untuk merilis perangkat lunak secara terus-menerus ke lingkungan produksi. d) prinsip yang menekankan untuk menghindari pengulangan kode dalam pengembangan perangkat lunak, sehingga meminimalkan kompleksitas dan meningkatkan efisiensi. 5) Apa perbedaan utama antara model pengembangan perangkat lunak waterfall dan agile? a) Pola desain singleton memastikan bahwa sebuah kelas memiliki satu instance saja, berguna ketika hanya perlu satu instance dari suatu objek. b) Model waterfall linear, sementara metode agile bersifat iteratif dan fleksibel terhadap perubahan. c) praktik mengintegrasikan kode secara otomatis ke dalam repositori bersama secara berkala, sementara Continuous Deployment adalah proses otomatisasi untuk merilis perangkat lunak secara terus-menerus ke lingkungan produksi. d) adalah prinsip yang menekankan untuk menghindari pengulangan kode dalam pengembangan perangkat lunak, sehingga meminimalkan kompleksitas dan meningkatkan efisiensi. 6) Apa yang dimaksud dengan "refactoring" dalam konteks pengembangan perangkat lunak a) kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain. b) sistem kontrol versi yang digunakan untuk melacak perubahan dalam kode sumber selama pengembangan perangkat lunak. c) adalah proses mengubah struktur internal kode tanpa mengubah fungsionalitas eksternal untuk meningkatkan kebersihan dan pemahaman kode. d) database yang menggunakan tabel untuk menyimpan dan mengelola data, dan hubungan antar tabel dijaga. 7) Bagaimana pola desain singleton dapat diterapkan dalam pengembangan perangkat lunak? a) adalah kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain. b) adalah sistem kontrol versi yang digunakan untuk melacak perubahan dalam kode sumber selama pengembangan perangkat lunak. c) Pola desain singleton memastikan bahwa sebuah kelas memiliki satu instance saja, berguna ketika hanya perlu satu instance dari suatu objek. d) database yang menggunakan tabel untuk menyimpan dan mengelola data, dan hubungan antar tabel dijaga. 8) Apa kegunaan Git dalam pengembangan perangkat lunak a) kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain. b) proses mengubah struktur internal kode tanpa mengubah fungsionalitas eksternal untuk meningkatkan kebersihan dan pemahaman kode. c) adalah sistem kontrol versi yang digunakan untuk melacak perubahan dalam kode sumber selama pengembangan perangkat lunak. d) pendekatan pengembangan perangkat lunak di mana pengujian unit ditulis sebelum implementasi kode, memastikan bahwa setiap fitur diuji dengan baik 9) Apa yang dimaksud dengan clean code dalam pengembangan perangkat lunak? a) pendekatan pengembangan perangkat lunak di mana pengujian unit ditulis sebelum implementasi kode, memastikan bahwa setiap fitur diuji dengan baik b) proses mengubah struktur internal kode tanpa mengubah fungsionalitas eksternal untuk meningkatkan kebersihan dan pemahaman kode. c) kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain. d) Clean code mengacu pada gaya penulisan kode yang mudah dipahami, terbaca, dan mudah dipelihara. 10) Jelaskan perbedaan antara paradigma pemrograman imperatif dan paradigma pemrograman deklaratif. a) proses mengubah struktur internal kode tanpa mengubah fungsionalitas eksternal untuk meningkatkan kebersihan dan pemahaman kode. b) kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain. c) Pemrograman imperatif fokus pada bagaimana mencapai suatu tujuan, sedangkan pemrograman deklaratif fokus pada apa yang harus dicapai tanpa spesifikasi langkah-langkah d) pendekatan pengembangan perangkat lunak di mana pengujian unit ditulis sebelum implementasi kode, memastikan bahwa setiap fitur diuji dengan baik 11) Apa yang dimaksud dengan database relasional dalam pengembangan perangkat lunak? a) adalah panduan desain yang membantu menghasilkan kode yang modular, mudah dipelihara, dan fleksibel. b) adalah database yang menggunakan tabel untuk menyimpan dan mengelola data, dan hubungan antar tabel dijaga. c) praktik memasukkan objek dependensi ke dalam suatu kelas, membuat kelas tersebut lebih fleksibel dan mudah diuji. 12) Apa peran Scrum Master dalam kerangka kerja Scrum? a) praktik memasukkan objek dependensi ke dalam suatu kelas, membuat kelas tersebut lebih fleksibel dan mudah diuji. b) kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain. c) untuk memastikan tim Scrum mematuhi praktik-praktik Scrum dan menghilangkan hambatan yang dapat menghambat produktivita 13) Apa keuntungan penggunaan teknologi kontainer, seperti Docker, dalam pengembangan perangkat lunak? a) metode pengembangan perangkat lunak yang menekankan kolaborasi, pengujian, dan pemrograman berpasangan. b) lebih mudah dipelihara dan meminimalkan beban teknis seiring berjalannya waktu. c) pengemasan dan pengiriman aplikasi bersama dengan dependensinya, meningkatkan portabilitas dan konsistensi di seluruh lingkungan. 14) Bagaimana prinsip SOLID dapat membantu dalam desain perangkat lunak? a) adalah panduan desain yang membantu menghasilkan kode yang modular, mudah dipelihara, dan fleksibel. b) lebih mudah dipelihara dan meminimalkan beban teknis seiring berjalannya waktu. c) pengemasan dan pengiriman aplikasi bersama dengan dependensinya, meningkatkan portabilitas dan konsistensi di seluruh lingkungan. 15) Apa itu metode pengembangan ekstrim (Extreme Programming) dalam konteks RPL? a) adalah metode pengembangan perangkat lunak yang menekankan kolaborasi, pengujian, dan pemrograman berpasangan. b) adalah praktik memasukkan objek dependensi ke dalam suatu kelas, membuat kelas tersebut lebih fleksibel dan mudah diuji. c) berkelanjutan lebih mudah dipelihara dan meminimalkan beban teknis seiring berjalannya waktu. 16) Jelaskan konsep "dependency injection" dalam pengembangan perangkat lunak. a) berkelanjutan lebih mudah dipelihara dan meminimalkan beban teknis seiring berjalannya waktu. b) adalah metode pengembangan perangkat lunak yang menekankan kolaborasi, pengujian, dan pemrograman berpasangan. c) adalah praktik memasukkan objek dependensi ke dalam suatu kelas, membuat kelas tersebut lebih fleksibel dan mudah diuji. 17) Apa itu alat Jenkins dan bagaimana digunakan dalam CI/CD? a) adalah praktik memasukkan objek dependensi ke dalam suatu kelas, membuat kelas tersebut lebih fleksibel dan mudah diuji. b) adalah alat CI/CD yang otomatisasi proses integrasi dan pengiriman berkelanjutan dalam pengembangan perangkat lunak. c) adalah sistem kontrol versi yang digunakan untuk melacak perubahan dalam kode sumber selama pengembangan perangkat lunak. 18) Mengapa keberlanjutan (sustainability) kode penting dalam pengembangan perangkat lunak? a) Kode yang berkelanjutan lebih mudah dipelihara dan meminimalkan beban teknis seiring berjalannya waktu. b) pendekatan pengembangan perangkat lunak di mana pengujian unit ditulis sebelum implementasi kode, memastikan bahwa setiap fitur diuji dengan baik c) kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain. 19) Apa itu metode pengujian TDD (Test-Driven Development)? a) TDD adalah pendekatan pengembangan perangkat lunak di mana pengujian unit ditulis sebelum implementasi kode, memastikan bahwa setiap fitur diuji dengan baik. b) adalah disiplin ilmu yang mencakup proses sistematis dalam pengembangan, operasi, dan pemeliharaan perangkat lunak. c) adalah kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain. 20) Apa perbedaan antara algoritma dan struktur data? a) Algoritma adalah langkah-langkah untuk menyelesaikan masalah, sedangkan struktur data adalah cara menyusun dan menyimpan data untuk memungkinkan eksekusi efisien dari algoritma. b) database yang menggunakan tabel untuk menyimpan dan mengelola data, dan hubungan antar tabel dijaga. c) kumpulan aturan dan protokol yang memungkinkan aplikasi berkomunikasi satu sama lain.

Edetabel

Visuaalne stiil

Valikud

Vaheta malli

Kas taastada automaatselt salvestatud ?