Ruang Belajar Karinoya

Kualifikasi · Lab Lulus IT Passport

Teknik Pengembangan

Soal dan pembahasan dapat dibaca dalam Bahasa Indonesia. Materi kuliah (artikel penjelasan) hanya tersedia dalam bahasa Jepang.

Lihat versi bahasa Jepang (dengan materi kuliah) →

Soal 1 | Definisi kebutuhan

Manakah pekerjaan yang dilakukan pada tahap definisi kebutuhan (requirement definition) dalam pengembangan sistem?

  1. Menentukan struktur modul internal program dan urutan pemrosesannya
  2. Memperbaiki gangguan yang terjadi setelah operasi produksi dimulai dan menyempurnakan fungsinya
  3. Menyelidiki pekerjaan pengguna dan memperjelas fungsi serta kinerja yang diperlukan sistem
  4. Memeriksa satu per satu apakah program yang dibuat berjalan sesuai dokumen perancangan
JawabanC. Menyelidiki pekerjaan pengguna dan memperjelas fungsi serta kinerja yang diperlukan sistem

Definisi kebutuhan adalah tahap paling awal pengembangan: kebutuhan pengguna dirangkum untuk memperjelas fungsi dan kinerja yang dituntut dari sistem. Pilihan kedua adalah perancangan internal, pilihan ketiga adalah unit test, dan pilihan keempat adalah pemeliharaan; semuanya berada pada tahap setelah definisi kebutuhan.

Soal 2 | Perancangan eksternal

Manakah yang paling tepat sebagai hal yang ditentukan pada perancangan eksternal (perancangan dasar)?

  1. Prosedur pembuatan data uji yang digunakan pada integration test
  2. Penyeragaman cara penamaan variabel dan fungsi sesuai pedoman penulisan kode
  3. Urutan pemrosesan dan algoritme internal setiap modul
  4. Tata letak layar yang dioperasikan pengguna dan formulir laporan yang dicetak
JawabanD. Tata letak layar yang dioperasikan pengguna dan formulir laporan yang dicetak

Perancangan eksternal adalah tahap yang menentukan bagian yang terlihat oleh pengguna (layar, formulir laporan, pertukaran data), sehingga pilihan keempat benar. Pilihan pertama adalah perancangan internal, pilihan kedua adalah pemrograman, dan pilihan ketiga adalah pekerjaan pada tahap pengujian; semuanya bukan isi perancangan eksternal.

Soal 3 | Hubungan perancangan

Manakah penjelasan yang tepat mengenai hubungan antara perancangan eksternal dan perancangan internal?

  1. Spesifikasi yang terlihat oleh pengguna yang ditentukan pada perancangan eksternal dijabarkan menjadi struktur program pada perancangan internal
  2. Perancangan eksternal dilakukan berdasarkan hasil perancangan internal yang diselesaikan lebih dulu
  3. Baik perancangan eksternal maupun internal adalah tahap yang menentukan spesifikasi tata letak layar dan formulir yang harus disepakati dengan pengguna
  4. Perancangan eksternal dilakukan terutama oleh programmer, sedangkan perancangan internal oleh pengguna
JawabanA. Spesifikasi yang terlihat oleh pengguna yang ditentukan pada perancangan eksternal dijabarkan menjadi struktur program pada perancangan internal

Pengembangan berjalan dari perancangan eksternal ke perancangan internal; spesifikasi yang terlihat dari luar dikonkretkan menjadi susunan modul dan urutan pemrosesan internal. Pilihan pertama urutannya terbalik, pilihan kedua keliru karena perancangan internal bukan tahap yang menentukan spesifikasi untuk pengguna, dan pilihan keempat keliru karena penanggung jawabnya terbalik.

Soal 4 | Urutan tahap

Manakah urutan yang tepat untuk melaksanakan tahap-tahap pengembangan sistem?

  1. Definisi kebutuhan → Pengujian → Perancangan sistem → Pemrograman
  2. Perancangan sistem → Definisi kebutuhan → Pengujian → Pemrograman
  3. Definisi kebutuhan → Pemrograman → Perancangan sistem → Pengujian
  4. Definisi kebutuhan → Perancangan sistem → Pemrograman → Pengujian
JawabanD. Definisi kebutuhan → Perancangan sistem → Pemrograman → Pengujian

Pengembangan berjalan dengan urutan: definisi kebutuhan menentukan apa yang dibuat, perancangan sistem menentukan cara mewujudkannya, pemrograman membuatnya, lalu pengujian memastikannya. Pada pilihan pertama, kedua, dan ketiga, perancangan atau pengujian ditempatkan lebih awal dari seharusnya — misalnya memeriksa sebelum membuat — sehingga urutannya tidak masuk akal.

Soal 5 | Pembagian modul

Apa tujuan utama merancang program dengan membaginya menjadi beberapa modul?

  1. Meningkatkan independensi setiap komponen sehingga perbaikan, pengujian, dan penggunaan ulang lebih mudah
  2. Mengurangi jumlah server yang dipakai di lingkungan produksi untuk menekan biaya
  3. Agar jumlah item yang dimasukkan pengguna berkurang sehingga pengoperasian lebih mudah
  4. Agar jumlah baris kode sumber keseluruhan program pasti berkurang
JawabanA. Meningkatkan independensi setiap komponen sehingga perbaikan, pengujian, dan penggunaan ulang lebih mudah

Pembagian modul bertujuan memecah program menjadi komponen per fungsi untuk meningkatkan independensinya, mempersempit dampak perubahan, dan memudahkan pengujian serta penggunaan ulang. Membagi modul belum tentu mengurangi total baris kode sehingga pilihan pertama salah; pilihan kedua adalah soal perancangan layar dan pilihan keempat soal konfigurasi infrastruktur, tujuannya berbeda.

Soal 6 | Usability

Manakah contoh perancangan layar yang paling tepat untuk meningkatkan usability?

  1. Memberitahukan kesalahan input saat itu juga, dengan menampilkan isi kesalahan dan cara memperbaikinya secara konkret
  2. Menggunakan banyak istilah teknis sehingga hanya pengguna mahir yang dapat memakainya
  3. Tidak menunjukkan cara pengoperasian di layar dan hanya menjelaskannya lewat buku manual terpisah
  4. Menjejalkan semua item input dalam satu layar tanpa menampilkan judul maupun keterangan tambahan sama sekali
JawabanA. Memberitahukan kesalahan input saat itu juga, dengan menampilkan isi kesalahan dan cara memperbaikinya secara konkret

Usability adalah kemudahan pemakaian yang memungkinkan pengguna mencapai tujuan secara efisien tanpa kebingungan; memberitahukan kesalahan secara jelas saat itu juga meningkatkannya. Pilihan pertama, ketiga, dan keempat semuanya menambah beban pemahaman dan pengoperasian pengguna sehingga justru menurunkan kemudahan pemakaian.

Soal 7 | Serah terima

Manakah penjelasan yang tepat mengenai penerimaan (acceptance) perangkat lunak?

  1. Setelah operasi produksi dimulai, perangkat lunak terus disempurnakan mengikuti perubahan pekerjaan dan permintaan pengguna
  2. Pengembang menguji program buatannya sendiri dengan memisahkannya per modul atau per program
  3. Pemesan memeriksa perangkat lunak yang diserahkan melalui uji operasional dan sebagainya, lalu menerimanya jika memenuhi persyaratan
  4. Pengembang menyusun struktur internal dan urutan pemrosesan program sesuai dokumen perancangan
JawabanC. Pemesan memeriksa perangkat lunak yang diserahkan melalui uji operasional dan sebagainya, lalu menerimanya jika memenuhi persyaratan

Penerimaan perangkat lunak adalah tahap ketika pihak pemesan memastikan lewat uji operasional bahwa persyaratan terpenuhi lalu menerima barang yang diserahkan; disebut juga inspeksi serah terima. Pilihan pertama adalah unit test, pilihan ketiga adalah pemrograman, dan pilihan keempat adalah pemeliharaan; semuanya tahap yang berbeda dari penerimaan.

Soal 8 | Unit test

Manakah penjelasan yang tepat mengenai unit test?

  1. Pengguna memakainya sesuai prosedur kerja yang sebenarnya dan memastikan persyaratan terpenuhi
  2. Memastikan bahwa pemrosesan internal berjalan benar untuk setiap modul atau setiap program
  3. Memastikan keseluruhan sistem, termasuk kinerja dan ketahanan terhadap beban, di lingkungan yang mendekati produksi
  4. Menggabungkan beberapa modul dan memastikan pertukaran data di antaranya benar
JawabanB. Memastikan bahwa pemrosesan internal berjalan benar untuk setiap modul atau setiap program

Unit test adalah tahap pertama pengujian yang dilakukan per modul. Pilihan kedua adalah integration test, pilihan ketiga adalah system test, dan pilihan keempat adalah uji operasional (uji penerimaan); semuanya dilaksanakan pada tahap setelah unit test.

Soal 9 | Integration test

Manakah hal yang terutama diperiksa pada integration test?

  1. Apakah pertukaran data dan keterkaitan antarmodul yang digabungkan sudah benar
  2. Apakah pengguna dapat memakainya tanpa masalah dalam alur kerja yang sebenarnya
  3. Apakah semua perintah dan percabangan di dalam satu modul sudah dieksekusi
  4. Apakah biaya pengembangan masih dalam anggaran awal
JawabanA. Apakah pertukaran data dan keterkaitan antarmodul yang digabungkan sudah benar

Integration test adalah tahap menyambungkan modul-modul yang telah lulus unit test dan memastikan antarmuka (pertukaran data) sudah benar. Pilihan kedua adalah white box test yang dilakukan pada unit test, pilihan ketiga adalah tujuan uji operasional, dan pilihan keempat adalah soal manajemen biaya proyek, bukan pengujian.

Soal 10 | System test

Manakah yang paling tepat sebagai kegiatan pada system test (uji menyeluruh)?

  1. Memeriksa keseluruhan sistem di lingkungan yang mendekati produksi, mencakup fungsi serta kinerja dan ketahanan terhadap beban
  2. Merapikan indentasi dan format kode sumber yang berantakan dengan alat pemformat otomatis
  3. Menambahkan permintaan yang masuk dari pengguna setelah serah terima sebagai fungsi baru
  4. Para penanggung jawab membaca bersama modul yang sedang dibuat satu per satu di atas meja untuk memeriksa kesalahan penulisan
JawabanA. Memeriksa keseluruhan sistem di lingkungan yang mendekati produksi, mencakup fungsi serta kinerja dan ketahanan terhadap beban

System test adalah pengujian tahap akhir yang dilakukan pihak pengembang untuk memastikan keseluruhan sistem bekerja sesuai persyaratan dari sisi fungsi, kinerja, beban, dan sebagainya. Pilihan pertama adalah kegiatan review atau unit test, pilihan kedua adalah pekerjaan penulisan kode, dan pilihan keempat adalah penambahan fungsi pada pemeliharaan; semuanya tidak sesuai.

Soal 11 | Uji operasional

Manakah penjelasan yang tepat mengenai uji operasional (uji penerimaan)?

  1. Pengembang membaca program bersama-sama di atas meja dan menunjukkan kesalahannya
  2. Pengembang berfokus pada struktur internal program dan memeriksa perintah serta percabangan secara menyeluruh
  3. Pengembang memeriksa keterkaitan antarmodul yang telah digabungkan
  4. Pengguna memakainya mengikuti alur kerja yang sebenarnya dan memastikan persyaratan terpenuhi
JawabanD. Pengguna memakainya mengikuti alur kerja yang sebenarnya dan memastikan persyaratan terpenuhi

Uji operasional adalah pengujian terakhir yang dipimpin pengguna (pemesan) untuk memastikan sistem dapat dipakai dalam prosedur kerja yang sebenarnya. Pilihan pertama adalah white box test, pilihan kedua adalah integration test, dan pilihan ketiga adalah code review; semuanya pekerjaan pihak pengembang dengan pelaku dan tujuan yang berbeda.

Soal 12 | Model V

Pada model V, tahap pengujian manakah yang dipasangkan dengan perancangan eksternal (perancangan dasar)?

  1. Unit test
  2. Integration test
  3. System test
  4. Uji operasional
JawabanC. System test

Pada model V, definisi kebutuhan berpasangan dengan uji operasional, perancangan eksternal dengan system test, perancangan internal dengan integration test, dan pemrograman dengan unit test. Jadi yang berpasangan dengan perancangan eksternal adalah system test; unit test berpasangan dengan pemrograman, integration test dengan perancangan internal, dan uji operasional dengan definisi kebutuhan.

Soal 13 | White box

Manakah penjelasan yang tepat mengenai white box test?

  1. Mengalirkan data sebanyak data produksi dan mengukur apakah waktu pemrosesan berada dalam batas standar
  2. Menguji tanpa mempertimbangkan struktur internal program, hanya berfokus pada hubungan input dan output yang tertera di dokumen spesifikasi
  3. Berfokus pada struktur internal program dan menguji dengan menjangkau semua jalur agar perintah dan percabangan tereksekusi
  4. Meminta pengguna mengoperasikan purwarupa, mendengarkan permintaannya, dan mencerminkannya ke dalam persyaratan
JawabanC. Berfokus pada struktur internal program dan menguji dengan menjangkau semua jalur agar perintah dan percabangan tereksekusi

White box test adalah metode menyusun kasus uji dengan melihat isi program (struktur kontrol) agar perintah dan percabangan terjangkau semua, terutama dipakai pada unit test. Pilihan pertama adalah black box test, pilihan ketiga adalah prototyping, dan pilihan keempat adalah uji kinerja.

Soal 14 | Black box

Manakah cara membuat kasus uji yang tepat pada black box test?

  1. Menyiapkan jumlah kasus uji yang sebanding dengan jumlah baris kode sumber secara mekanis
  2. Memilih jalur agar semua percabangan dieksekusi paling tidak satu kali
  3. Memeriksa satu per satu baris apakah komentar yang ditulis pengembang sudah benar
  4. Membagi kondisi input pada dokumen spesifikasi menurut kelompok yang bermakna, lalu memilih nilai wakil dan nilai batasnya
JawabanD. Membagi kondisi input pada dokumen spesifikasi menurut kelompok yang bermakna, lalu memilih nilai wakil dan nilai batasnya

Black box test dilakukan berdasarkan spesifikasi tanpa melihat struktur internal; nilai wakil dan nilai batas input dipilih dengan equivalence partitioning dan boundary value analysis. Pilihan pertama adalah white box test yang berfokus pada struktur internal, pilihan kedua keliru karena jumlah baris bukan dasar kasus uji, dan pilihan keempat adalah pekerjaan code review.

Soal 15 | Regression test

Apa tujuan melakukan regression test (uji regresi)?

  1. Memastikan bahwa perbaikan program tidak menimbulkan cacat pada bagian yang sebelumnya bekerja dengan benar
  2. Memastikan pengguna yang telah dilatih menguasai cara pengoperasian baru setelah perubahan
  3. Memastikan kinerja pemrosesan cukup untuk menahan pemakaian produksi
  4. Memeriksa hanya bagian yang ditambahkan, dengan sasaran terbatas pada apakah fungsi baru bekerja sesuai dokumen spesifikasi
JawabanA. Memastikan bahwa perbaikan program tidak menimbulkan cacat pada bagian yang sebelumnya bekerja dengan benar

Regression test adalah pengujian untuk memastikan fungsi lama yang tadinya normal tidak rusak akibat perbaikan atau penambahan fungsi. Pilihan pertama adalah pengujian fungsi tambahan itu sendiri, pilihan kedua adalah uji kinerja, dan pilihan ketiga adalah pemeriksaan hasil pendidikan/pelatihan; semuanya bukan tujuan regression test.

Soal 16 | Teknik review

Di antara teknik review perangkat lunak, manakah penjelasan yang tepat mengenai inspeksi (inspection)?

  1. Diselenggarakan oleh pemandu (moderator), dengan peran dan prosedur peserta yang ditetapkan sebelumnya, untuk mendeteksi cacat hasil kerja secara formal
  2. Menjalankan program secara nyata dan memastikan output terhadap input sesuai spesifikasi
  3. Dua orang memakai satu terminal secara berpasangan dan membuat program secara bergantian
  4. Pembuatnya menjadi pusat, menjelaskan isi hasil kerja secara berurutan kepada pihak terkait, dan kesalahan atau pertanyaan ditunjukkan secara informal di tempat
JawabanA. Diselenggarakan oleh pemandu (moderator), dengan peran dan prosedur peserta yang ditetapkan sebelumnya, untuk mendeteksi cacat hasil kerja secara formal

Inspeksi adalah review formal yang dipandu moderator, dengan peran dan prosedur yang ditetapkan serta catatan yang disimpan. Pilihan kedua adalah walkthrough yang dilakukan secara informal, pilihan ketiga adalah pengujian dengan menjalankan program, dan pilihan keempat adalah pair programming dalam XP; semuanya berbeda dari inspeksi.

Soal 17 | Model WF

Manakah ciri yang tepat dari model waterfall?

  1. Membuat purwarupa dan memantapkan persyaratan sambil menerima penilaian pengguna
  2. Menjalankan tahap-tahap secara berurutan dan pada prinsipnya tidak kembali ke tahap sebelumnya
  3. Mengulang iterasi berjangka pendek dan menyediakan perangkat lunak yang berjalan pada setiap iterasi
  4. Tim pengembangan dan tim operasional menyatu serta merilis secara sering melalui otomatisasi
JawabanB. Menjalankan tahap-tahap secara berurutan dan pada prinsipnya tidak kembali ke tahap sebelumnya

Model waterfall menjalankan tahap dari hulu ke hilir secara berurutan dengan prasyarat tidak kembali ke tahap sebelumnya, sambil menyetujui hasil kerja setiap tahap. Pilihan pertama adalah pengembangan agile, pilihan ketiga adalah model prototyping, dan pilihan keempat adalah penjelasan DevOps; semuanya konsep yang berbeda.

Soal 18 | Prototipe

Apa keuntungan utama mengadopsi model prototyping?

  1. Purwarupa menggantikan dokumen perancangan sehingga pekerjaan dokumentasi sama sekali tidak diperlukan
  2. Purwarupa dapat diperiksa pengguna sejak tahap awal sehingga pengulangan kerja akibat selisih persyaratan atau salah paham dapat dikurangi
  3. Karena pengguna telah memeriksa purwarupa, dapat dijamin tidak akan ada perubahan spesifikasi setelah operasi dimulai
  4. Dengan membuat purwarupa, total usaha pengembangan pasti berkurang dan biaya menjadi setengahnya
JawabanB. Purwarupa dapat diperiksa pengguna sejak tahap awal sehingga pengulangan kerja akibat selisih persyaratan atau salah paham dapat dikurangi

Prototyping adalah teknik mencegah pengulangan kerja besar akibat salah menangkap persyaratan, dengan meminta purwarupa dinilai sejak dini. Dokumen perancangan tetap diperlukan meski ada purwarupa sehingga pilihan pertama salah; tidak ada jaminan usaha pasti berkurang setengah maupun jaminan tidak ada perubahan, sehingga pilihan kedua dan keempat juga salah.

Soal 19 | Spiral

Manakah penjelasan yang tepat mengenai model spiral?

  1. Menyelesaikan seluruh fungsi dalam satu aliran tahap dari hulu ke hilir, tanpa kembali ke tahap sebelumnya maupun peninjauan di tengah jalan sama sekali
  2. Melewatkan tahap definisi kebutuhan, membuat dulu sesuatu yang berjalan, baru mendokumentasikan spesifikasinya
  3. Menyerahkan seluruh tahap pengembangan ke pihak luar dan mengelola kemajuan hanya lewat laporan bulanan
  4. Membagi sistem menjadi bagian-bagian dan meningkatkan tingkat kesempurnaannya secara berpilin dengan mengulangi rangkaian kerja perancangan, pengembangan, dan evaluasi
JawabanD. Membagi sistem menjadi bagian-bagian dan meningkatkan tingkat kesempurnaannya secara berpilin dengan mengulangi rangkaian kerja perancangan, pengembangan, dan evaluasi

Model spiral adalah model pengembangan yang membagi sistem menjadi bagian-bagian dan mengulangi siklus dari perancangan sampai evaluasi, meningkatkan kesempurnaan sambil mengurangi risiko. Pilihan pertama adalah cara berpikir model waterfall, sedangkan pilihan kedua dan ketiga tidak berkaitan dengan definisi model spiral.

Soal 20 | Agile

Manakah yang paling tepat sebagai cara berpikir pengembangan agile?

  1. Pengguna hanya terlibat saat definisi kebutuhan dan serah terima, dan tidak terlibat selama masa pengembangan
  2. Memastikan seluruh spesifikasi di awal dan pada prinsipnya tidak menerima perubahan setelahnya
  3. Membuat perangkat lunak yang berjalan dalam iterasi pendek dan menanggapi perubahan sambil menyerap masukan pengguna
  4. Mengutamakan penyempurnaan dokumen perancangan yang mendetail di atas menunjukkan perangkat lunak yang berjalan secepatnya
JawabanC. Membuat perangkat lunak yang berjalan dalam iterasi pendek dan menanggapi perubahan sambil menyerap masukan pengguna

Pengembangan agile mengulangi iterasi pendek, mengutamakan perangkat lunak yang berjalan dan tanggapan terhadap perubahan, serta berjalan sambil berkolaborasi dengan pengguna. Pilihan kedua, ketiga, dan keempat semuanya ciri cara kerja tipe waterfall dan berlawanan dengan cara berpikir agile.

Soal 21 | Pemilihan model

Manakah kebijakan pengembangan yang paling tepat untuk sistem yang persyaratannya belum mantap dan fungsinya ingin ditambah dalam jangka pendek sambil melihat reaksi pengguna?

  1. Melaksanakan pengujian sekaligus di akhir dan tidak melakukan pemeriksaan jalannya program sampai saat itu
  2. Tidak memulai pengembangan sampai dokumen definisi kebutuhan disetujui, dan setelah disetujui tidak menerima perubahan sama sekali
  3. Merilis fungsi yang berjalan pada setiap iterasi pendek dan mencerminkan penilaian pengguna ke iterasi berikutnya
  4. Mengembangkan sekaligus setelah seluruh spesifikasi fungsi dipastikan, dan baru memperlihatkannya kepada pengguna saat selesai
JawabanC. Merilis fungsi yang berjalan pada setiap iterasi pendek dan mencerminkan penilaian pengguna ke iterasi berikutnya

Untuk proyek yang persyaratannya mudah berubah, cara kerja tipe agile — mengeluarkan sesuatu yang berjalan setiap iterasi dan mencerminkan penilaiannya — paling sesuai. Pilihan pertama dan ketiga bertipe waterfall yang lemah terhadap perubahan, dan pilihan keempat membuat penemuan cacat terlambat sehingga pengulangan kerja membesar; keduanya tidak cocok untuk situasi ini.

Soal 22 | RAD

Manakah penjelasan yang tepat mengenai RAD (Rapid Application Development)?

  1. Cara berpikir di mana tim pengembangan dan tim operasional bekerja sama erat dan melakukan perbaikan berkelanjutan melalui otomatisasi
  2. Teknik mengembangkan sistem dalam waktu singkat dengan memanfaatkan tim kecil dan alat bantu pengembangan
  3. Teknik membuat layanan baru dengan menggabungkan beberapa layanan yang tersedia untuk umum
  4. Teknik menganalisis program yang sudah ada dan menurunkan spesifikasi serta informasi perancangannya
JawabanB. Teknik mengembangkan sistem dalam waktu singkat dengan memanfaatkan tim kecil dan alat bantu pengembangan

RAD adalah teknik memperpendek masa pengembangan dengan memanfaatkan tim beranggota sedikit dan alat bantu pengembangan. Pilihan pertama adalah reverse engineering, pilihan kedua adalah DevOps, dan pilihan keempat adalah mashup; semuanya istilah yang berbeda dari RAD.

Soal 23 | Pair programming

Manakah penjelasan yang tepat mengenai pair programming?

  1. Dua tim mengembangkan fungsi yang sama secara terpisah, lalu setelah selesai hasil yang lebih baik yang dipakai
  2. Dua orang memakai satu terminal secara berpasangan; satu menulis kode dan yang lain memeriksa serta memberi saran sambil mengembangkan
  3. Meminta dua pengguna mengoperasikan layar yang sama dan membandingkan kemudahan pemakaiannya
  4. Melaksanakan dua jenis pengujian secara bersamaan untuk menemukan cacat lebih cepat
JawabanB. Dua orang memakai satu terminal secara berpasangan; satu menulis kode dan yang lain memeriksa serta memberi saran sambil mengembangkan

Pair programming adalah praktik khas XP: dua orang menulis satu kode bersama dan meningkatkan kualitas dengan me-review di tempat. Pilihan pertama adalah cara pengembangan kompetitif, pilihan kedua adalah cara pelaksanaan pengujian, dan pilihan ketiga adalah evaluasi usability; semuanya tidak sesuai.

Soal 24 | TDD

Manakah cara kerja yang tepat pada test-driven development (TDD)?

  1. Menulis kode uji lebih dulu, lalu mengimplementasikan program agar lulus kode uji tersebut
  2. Baru menyusun rencana pengujian setelah seluruh implementasi selesai
  3. Menyerahkan pengujian hanya kepada vendor spesialis eksternal dan pengembang tidak melakukan pengujian
  4. Baru membuat pengujian setelah menerima laporan gangguan dari pengguna pasca operasi produksi
JawabanA. Menulis kode uji lebih dulu, lalu mengimplementasikan program agar lulus kode uji tersebut

Test-driven development adalah teknik menulis pengujian lebih dulu, membuat implementasi minimum agar lulus, lalu mengulangi penyempurnaan. Pilihan kedua, ketiga, dan keempat semuanya menempatkan pengujian setelah implementasi atau operasi, bertentangan dengan cara berpikir TDD bahwa pengujian memandu pengembangan.

Soal 25 | Refactoring

Manakah penjelasan yang tepat mengenai refactoring?

  1. Merapikan struktur internal program agar mudah dipahami tanpa mengubah perilaku yang terlihat dari luar
  2. Memindahkan sistem yang sedang beroperasi ke pusat data lain
  3. Menambahkan fungsi baru ke program yang ada sesuai permintaan yang masuk dari pengguna
  4. Menambah jumlah server atau memori untuk menaikkan kecepatan pemrosesan
JawabanA. Merapikan struktur internal program agar mudah dipahami tanpa mengubah perilaku yang terlihat dari luar

Refactoring adalah pekerjaan merapikan struktur internal kode sambil mempertahankan perilaku yang terlihat dari luar, sehingga perbaikan selanjutnya menjadi lebih mudah. Pilihan pertama adalah penambahan fungsi, pilihan ketiga adalah penguatan perangkat keras, dan pilihan keempat adalah pemindahan fasilitas; semuanya bukan perbaikan struktur internal.

Soal 26 | PO

Manakah peran product owner dalam Scrum?

  1. Bertanggung jawab atas isi dan urutan prioritas product backlog serta memaksimalkan nilai hasil kerja
  2. Melakukan penilaian kinerja anggota tim dan membagikan tugas kepada setiap orang
  3. Mencatat kemajuan harian dan melaporkan kelebihan anggaran kepada pimpinan
  4. Mendukung agar aturan Scrum dipatuhi dengan benar dan menyingkirkan masalah yang menghambat pengembangan
JawabanA. Bertanggung jawab atas isi dan urutan prioritas product backlog serta memaksimalkan nilai hasil kerja

Product owner adalah peran yang bertanggung jawab atas prioritas "apa yang dibuat". Pilihan kedua adalah peran scrum master; pilihan pertama tidak didefinisikan dalam Scrum karena pembagian kerja ditentukan sendiri oleh tim pengembangan, dan pilihan keempat juga bukan peran yang didefinisikan.

Soal 27 | Scrum master

Manakah yang tepat sebagai peran scrum master dalam Scrum?

  1. Mendukung agar Scrum dipraktikkan dengan benar dan menyingkirkan masalah yang menghambat tim
  2. Bernegosiasi harga dengan pelanggan dan menetapkan syarat kontrak
  3. Memberi perintah kerja kepada setiap anggota tim pengembangan dan mengelola dengan menegur anggota yang terlambat
  4. Menentukan urutan prioritas persyaratan dan memastikan fungsi yang akan dirilis
JawabanA. Mendukung agar Scrum dipraktikkan dengan benar dan menyingkirkan masalah yang menghambat tim

Scrum master adalah peran yang mendukung tim agar dapat mempraktikkan Scrum dan menyingkirkan hambatan. Ia tidak melakukan komando seperti pilihan pertama; pilihan kedua adalah pekerjaan bagian penjualan atau administrasi, dan pilihan ketiga adalah peran product owner; semuanya bukan tugas scrum master.

Soal 28 | Istilah Scrum

Manakah penjelasan yang tepat mengenai daily scrum dalam Scrum?

  1. Tim pengembangan berkumpul sebentar setiap hari, berbagi kemajuan dan masalah, serta memastikan pekerjaan hari itu
  2. Di akhir sprint, hasil kerja yang selesai pada putaran itu diperlihatkan kepada pihak terkait untuk mendapat penilaian dan masukan
  3. Merangkum persyaratan yang ingin diwujudkan ke dalam daftar dengan urutan prioritas
  4. Meninjau kembali cara kerja tim dan menetapkan langkah perbaikan untuk selanjutnya
JawabanA. Tim pengembangan berkumpul sebentar setiap hari, berbagi kemajuan dan masalah, serta memastikan pekerjaan hari itu

Daily scrum adalah rapat singkat sekitar 15 menit setiap hari, bertujuan berbagi kemajuan dan menemukan hambatan sejak dini. Pilihan kedua adalah sprint review, pilihan ketiga adalah product backlog, dan pilihan keempat adalah sprint retrospective; waktu pelaksanaan dan tujuannya berbeda.

Soal 29 | CI/CD

Manakah penjelasan yang tepat mengenai CI/CD (continuous integration / continuous delivery)?

  1. Petugas operasional menyalin berkas ke lingkungan produksi secara manual dan menerapkan perubahan satu per satu
  2. Menggabungkan semua perubahan sekaligus tepat sebelum rilis dan baru saat itu melakukan pengujian satu kali secara borongan
  3. Menghentikan pengembangan baru dan hanya melanjutkan perapian dokumen spesifikasi sistem yang ada
  4. Sering mengintegrasikan kode sumber yang diubah, menjalankan build dan pengujian secara otomatis, serta mengotomatiskan pula alur sampai rilis
JawabanD. Sering mengintegrasikan kode sumber yang diubah, menjalankan build dan pengujian secara otomatis, serta mengotomatiskan pula alur sampai rilis

CI/CD adalah mekanisme mengintegrasikan perubahan kecil secara sering dan mengotomatiskan build, pengujian, serta rilis untuk meningkatkan kualitas dan kecepatan penyediaan. Pilihan pertama adalah penggabungan borongan gaya lama yang membuat masalah terlambat ditemukan, pilihan ketiga tidak terotomatisasi, dan pilihan keempat berarti kegiatan pengembangan itu sendiri tidak berjalan, sehingga salah.

Soal 30 | Reverse eng.

Manakah yang termasuk reverse engineering?

  1. Menggunakan lingkungan pengembangan yang memungkinkan pembuatan aplikasi hanya dengan menata komponen di layar
  2. Membuat program berdasarkan dokumen perancangan
  3. Membuat layanan baru dengan menggabungkan beberapa layanan yang tersedia untuk umum
  4. Menganalisis program yang sudah ada dan menurunkan spesifikasi serta informasi perancangannya
JawabanD. Menganalisis program yang sudah ada dan menurunkan spesifikasi serta informasi perancangannya

Reverse engineering berarti menganalisis perangkat lunak yang sudah ada untuk mengambil spesifikasi dan informasi perancangannya. Pilihan pertama adalah pengembangan biasa (arah maju) dari perancangan ke implementasi, pilihan kedua adalah mashup, dan pilihan keempat adalah penjelasan pengembangan no-code/low-code.

Latihan: kerjakan soal di halaman ini

Ini adalah alat latihan dengan soal acak (berfungsi jika JavaScript aktif). Semua soal dan penjelasan di atas tetap dapat dibaca tanpa alat ini.

* Pembahasan ini merupakan informasi untuk keperluan belajar. Cakupan dan sistem ujian dapat berubah setiap tahun, jadi selalu periksa pengumuman resmi dari lembaga penyelenggara ujian.

Halaman ini adalah terjemahan dari teks asli berbahasa Jepang. Jika terdapat perbedaan antara terjemahan dan teks asli, versi bahasa Jepang yang berlaku. Lihat teks asli bahasa Jepang