100+ Soal Masuk Jurusan RPL + Kunci Jawaban (Rekayasa Perangkat Lunak)

100+ Soal Masuk Jurusan RPL + Kunci Jawaban (Rekayasa Perangkat Lunak)

Rekayasa Perangkat Lunak (RPL) merupakan salah satu bidang studi yang sangat diminati oleh siswa-siswi SMK maupun calon mahasiswa di bidang Teknologi Informasi. RPL berfokus pada proses pengembangan perangkat lunak secara sistematis, mulai dari analisis kebutuhan hingga pemeliharaan aplikasi. Keahlian di bidang ini dibutuhkan dalam berbagai industri, mulai dari startup teknologi, perusahaan besar, hingga lembaga pemerintahan.

Uji kompetensi atau tes masuk jurusan RPL biasanya mencakup berbagai aspek yang menguji kemampuan logika, pemrograman, hingga penguasaan teknologi dasar. Oleh karena itu, pemahaman mendalam terhadap kisi-kisi materi akan sangat membantu calon peserta dalam mempersiapkan diri. Berikut ini adalah daftar lengkap kisi-kisi materi uji masuk jurusan RPL.

Kisi-Kisi & Materi Uji Kompetensi Rekayasa Perangkat Lunak

Berikut ini adalah kisi-kisi & materi uji kompetensi Rekayasa Perangkat Lunak yang umum diujikan dalam seleksi masuk jurusan RPL, baik di SMK, politeknik, maupun jalur mandiri atau UTBK. Setiap materi dirancang untuk mengukur pemahaman konsep dan keterampilan praktis peserta di bidang pengembangan perangkat lunak:

  • Logika Matematika
    Mengukur kemampuan berpikir logis dan sistematis dalam memecahkan masalah. Materi mencakup operasi logika, konversi bilangan, dan penarikan kesimpulan berdasarkan premis.
  • Algoritma dan Pemrograman Dasar
    Menguji pemahaman terhadap struktur algoritma, flowchart, pseudocode, serta penulisan program sederhana menggunakan bahasa seperti C, C++, Python, atau Pascal. Fokus pada logika urutan, percabangan, dan perulangan.
  • Struktur Data
    Materi ini mencakup array, linked list, stack, queue, dan tree. Tes biasanya menekankan pada efisiensi algoritma dan manipulasi data menggunakan struktur tertentu.
  • Basis Data (Database)
    Menguji pemahaman konsep database relasional seperti tabel, relasi, primary key, foreign key, serta query SQL dasar (SELECT, INSERT, UPDATE, DELETE). Peserta juga perlu memahami normalisasi dan desain ERD.
  • Pemrograman Berorientasi Objek (OOP)
    Materi mencakup konsep class, object, inheritance, polymorphism, dan encapsulation. Digunakan untuk menguji logika pengembangan aplikasi skala besar yang modular dan mudah dikembangkan.
  • Desain dan Analisis Sistem
    Tes ini menilai kemampuan peserta dalam menganalisis kebutuhan sistem, membuat DFD, dan merancang sistem informasi menggunakan pendekatan waterfall atau agile. Fokus juga pada dokumentasi teknis.
  • Jaringan Komputer Dasar
    Menguji pemahaman topologi jaringan, jenis-jenis protokol, alamat IP, subnetting, serta model OSI. Peserta juga diharapkan mengetahui cara dasar menghubungkan perangkat dalam LAN.
  • Pengembangan Web Dasar
    Menguji kemampuan membuat halaman web statis menggunakan HTML, CSS, dan dasar JavaScript. Peserta juga dapat diuji pada konsep frontend vs backend dan dasar penggunaan framework.
  • Keamanan Informasi
    Menilai pengetahuan dasar tentang ancaman digital, seperti malware, phishing, dan hacking. Juga mencakup pengamanan data dan praktik coding yang aman.
  • Etika Profesi dan Teknologi Informasi
    Materi ini mencakup tanggung jawab profesional di bidang IT, perlindungan data pribadi, hak cipta perangkat lunak, dan perilaku etis dalam penggunaan teknologi.
  • Bahasa Inggris Teknik
    Menguji pemahaman istilah teknis RPL dalam bahasa Inggris, seperti terminology pemrograman, dokumentasi API, dan manual penggunaan software. Juga mencakup reading comprehension dari teks-teks teknis.
  • Proyek Rekayasa Perangkat Lunak
    Soal berbasis studi kasus untuk menguji kemampuan merancang, mengembangkan, dan mendokumentasikan sebuah aplikasi. Bisa mencakup studi SDLC (System Development Life Cycle) dan manajemen proyek.

Contoh Soal Rekayasa Perangkat Lunak (RPL) + Kunci Jawaban & Pembahasan Lengkap

Berikut ini adalah contoh soal UKOM Rekayasa Perangkat Lunak yang disusun berdasarkan kisi-kisi materi uji. Soal-soal ini bertujuan untuk membantu peserta memahami pola soal dan mengukur kesiapan dalam menghadapi seleksi masuk jurusan RPL:

Soal Nomor 1
Dalam pengujian sistem informasi akademik di sebuah sekolah, ditemukan bahwa sistem tidak bisa membedakan antara nilai angka 0 dengan null pada kolom nilai. Hal ini menyebabkan laporan hasil belajar menjadi rancu karena beberapa nilai yang sebenarnya belum diisi (kosong) ditampilkan sebagai nol, seolah siswa memperoleh nilai 0. Apa tindakan atau pemahaman logis yang paling tepat untuk memperbaiki hal ini?

A. Nol dan null dianggap sama karena keduanya menandakan tidak ada hasil
B. Nol digunakan sebagai nilai default ketika data belum dimasukkan
C. Null digunakan sebagai penanda bahwa nilai masih dalam proses penilaian
D. Nol menandakan kesalahan input sedangkan null menunjukkan kesalahan sistem
E. Null adalah kondisi tanpa data, sedangkan nol adalah angka valid secara logika

Jawaban: E
Pembahasan:
Dalam sistem basis data, penting untuk membedakan antara nilai numerik 0 dan null (kosong). 0 adalah angka sah yang berarti “tidak mendapatkan nilai”, sedangkan null berarti “belum ada data yang diinputkan” atau “nilai belum ditentukan”. Ketidaktepatan dalam pembedaan ini bisa menyebabkan kesalahan besar dalam analisis dan pelaporan data. Maka sistem harus diprogram untuk membedakan dua kondisi ini, misalnya dengan memberikan keterangan khusus jika nilai masih null.

Soal Nomor 2
Saat menyusun spesifikasi sistem informasi pembayaran SPP, seorang analis membuat diagram konteks dan Data Flow Diagram (DFD). Namun, setelah implementasi, sistem yang dibangun ternyata tidak sesuai dengan kebutuhan pengguna, banyak fitur tidak digunakan, dan beberapa proses penting justru terlewat. Kesalahan pada tahap awal perancangan kemungkinan besar terjadi karena?

A. Terlalu banyak fokus pada tampilan antarmuka sistem
B. Tidak mempertimbangkan konfigurasi perangkat keras sekolah
C. Mengabaikan aspek keamanan transaksi keuangan
D. Analisis kebutuhan dilakukan tanpa melibatkan pengguna secara aktif
E. Menggunakan metode prototyping tanpa dokumentasi

Jawaban: D
Pembahasan:
Masalah ini biasanya muncul karena kurangnya komunikasi dengan pengguna akhir pada tahap awal pengumpulan kebutuhan. Tanpa wawancara, observasi, atau diskusi aktif dengan stakeholder (guru, petugas TU, siswa, orang tua), maka sistem hanya dibangun berdasarkan asumsi. DFD dan diagram konteks bisa saja tampak lengkap secara teknis, tapi jika tidak sesuai kebutuhan nyata pengguna, sistem tersebut menjadi tidak berguna. Analisis kebutuhan adalah kunci dalam metode Waterfall maupun Agile.

Soal Nomor 3
Dalam pengembangan sistem administrasi kepegawaian, seorang programmer memutuskan untuk membuat class induk bernama Pegawai, kemudian membuat subclass Dosen dan Staff yang mewarisi atribut dari Pegawai, seperti nama, NIP, dan unit kerja. Pendekatan ini bertujuan agar program lebih efisien dan rapi. Apa manfaat utama dari penerapan konsep ini dalam paradigma OOP?

A. Memungkinkan penggunaan ulang kode dan struktur sistem yang lebih terorganisir
B. Meningkatkan efisiensi eksekusi program dalam runtime
C. Menyederhanakan koneksi antar objek tanpa perlu komunikasi tambahan
D. Mendorong proses otomatisasi penuh dalam pengelolaan data
E. Mengurangi jumlah thread dalam sistem agar lebih ringan

Jawaban: A
Pembahasan:
Dengan menerapkan inheritance, programmer dapat menghemat penulisan kode berulang. Semua atribut dan method umum ditulis sekali di class induk, dan digunakan kembali oleh class turunan. Hal ini meningkatkan reusability dan keteraturan kode, serta mempermudah perawatan sistem dalam jangka panjang. Jawaban lain seperti efisiensi runtime atau thread tidak langsung berkaitan dengan inheritance.

Soal Nomor 4
Dalam sebuah ruang laboratorium komputer, salah satu perangkat tidak dapat mengakses internet, meskipun perangkat lain yang terhubung di jaringan yang sama bisa terhubung dengan baik. Pemeriksaan awal menunjukkan bahwa alamat IP pada perangkat tersebut sudah terkonfigurasi secara benar dan kabel jaringan juga tidak bermasalah. Langkah diagnosa paling logis dan efisien berikutnya adalah?

A. Mengganti kabel jaringan dengan yang baru
B. Me-restart router utama untuk menyegarkan koneksi
C. Memeriksa konfigurasi DNS dan gateway pada perangkat
D. Menginstal ulang driver LAN di komputer tersebut
E. Memformat ulang sistem operasi perangkat

Jawaban: C
Pembahasan:
Jika IP address sudah benar dan perangkat lain dapat mengakses internet, maka masalah kemungkinan besar terletak pada konfigurasi DNS atau gateway. Gateway digunakan untuk akses ke jaringan luar, dan DNS digunakan untuk menerjemahkan nama domain. Tanpa konfigurasi ini, perangkat tidak akan bisa browsing walau koneksi lokal normal. Mengecek dan memperbaiki setting DNS/gateway lebih cepat dan efisien dibanding opsi lain seperti mengganti kabel atau memformat perangkat.

Soal Nomor 5
Seorang siswa diminta membuat halaman portofolio pribadi menggunakan HTML dan CSS. Setelah halaman selesai dan diakses melalui berbagai perangkat seperti laptop, tablet, dan smartphone, ternyata tampilan halaman tidak proporsional, elemen saling tumpang tindih, dan ukuran teks tidak menyesuaikan. Kesalahan paling mendasar yang mungkin terjadi adalah?

A. Tidak menggunakan satuan ukuran piksel secara konsisten dalam CSS
B. Tidak menerapkan desain responsif atau media query
C. Menambahkan script JavaScript sebelum deklarasi CSS
D. Menempatkan tag <div> di luar tag <body>
E. Tidak memberi komentar yang cukup pada kode HTML

Jawaban: B
Pembahasan:
Desain responsif sangat penting dalam pengembangan web modern agar tampilan menyesuaikan ukuran layar. Tanpa penggunaan media query atau framework seperti Bootstrap, halaman akan terlihat baik di satu perangkat, tetapi berantakan di perangkat lain. Kesalahan ini umum dilakukan oleh pemula yang hanya mendesain berdasarkan tampilan desktop.

Soal Nomor 6
Seorang pengembang aplikasi ingin menerapkan metode version control dalam timnya untuk meningkatkan kolaborasi. Namun, saat dua programmer mengedit file yang sama pada bagian kode yang berbeda, terjadi konflik saat melakukan merge. Apa langkah terbaik yang harus dilakukan pengembang agar konflik serupa dapat diminimalkan di masa depan?

A. Menggunakan editor yang berbeda agar perubahan tidak terdeteksi sama
B. Meminta setiap anggota tim untuk tidak mengubah file yang sama
C. Melarang semua anggota tim menggunakan fitur branch
D. Membuat aturan branching dan merging yang jelas serta penggunaan pull request
E. Hanya satu orang yang boleh mengedit satu file dalam satu waktu

Jawaban: D
Pembahasan:
Konflik dalam version control system seperti Git sering terjadi jika tidak ada aturan kolaborasi yang baik. Dengan menerapkan strategi branching dan merging yang jelas serta pull request, tim dapat meninjau perubahan sebelum digabungkan ke dalam branch utama. Ini juga memudahkan pengawasan dan diskusi terhadap potensi konflik, sehingga menjadi praktik terbaik dalam pengembangan kolaboratif.

Soal Nomor 7
Saat menganalisis kebutuhan pengguna untuk sistem informasi akademik, seorang analis sistem menemukan bahwa pengguna ingin sistem dapat mencetak laporan nilai secara otomatis dalam berbagai format file. Teknik pengumpulan data manakah yang paling tepat agar analis sistem bisa memahami kebutuhan pengguna secara mendalam?

A. Studi pustaka dari dokumen akademik
B. Wawancara langsung dengan pengguna sistem
C. Observasi terhadap sistem yang berjalan
D. Menganalisis perangkat keras yang digunakan
E. Menggunakan data sekunder dari sistem lain

Jawaban: B
Pembahasan:
Wawancara langsung memungkinkan analis sistem memperoleh informasi mendalam, spesifik, dan terperinci dari pengguna terkait kebutuhan sistem. Metode ini lebih efektif daripada observasi atau studi dokumen karena membuka ruang diskusi dua arah, termasuk penjelasan fitur seperti pencetakan otomatis atau format yang diinginkan.

Soal Nomor 8
Pada tahap desain perangkat lunak, seorang arsitek sistem menggunakan diagram untuk menggambarkan interaksi antar objek dalam merespons suatu skenario. Diagram ini menunjukkan urutan pesan yang dikirim antar objek. Diagram apa yang dimaksud dan mengapa penting dalam proses desain perangkat lunak?

A. Use Case Diagram
B. Class Diagram
C. Sequence Diagram
D. Deployment Diagram
E. Component Diagram

Jawaban: C
Pembahasan:
Diagram yang menampilkan urutan pesan antar objek dalam skenario tertentu adalah Sequence Diagram. Diagram ini penting karena membantu pengembang memahami alur eksekusi dalam sistem secara detail, termasuk bagaimana objek saling berkomunikasi dari waktu ke waktu. Ini berguna untuk validasi logika sistem dan pengembangan fitur.

Soal Nomor 9
Seorang programmer akan membuat aplikasi mobile yang terhubung dengan database online. Untuk memastikan keamanan data yang dikirimkan, teknologi manakah yang paling tepat diterapkan dalam komunikasi antara aplikasi dan server?

A. Menggunakan protokol HTTPS dan enkripsi data
B. Menyimpan semua data secara lokal di perangkat
C. Menghindari koneksi internet untuk mengurangi risiko
D. Menggunakan HTTP biasa dengan validasi manual
E. Memblokir akses dari perangkat yang tidak dikenal

Jawaban: A
Pembahasan:
Menggunakan protokol HTTPS adalah langkah dasar untuk memastikan komunikasi aman antara aplikasi dan server. Ditambah dengan enkripsi data (misalnya menggunakan AES atau JWT), hal ini melindungi informasi sensitif dari pencurian atau manipulasi. Pilihan lain seperti HTTP biasa tidak menjamin keamanan karena data dikirim dalam bentuk plaintext.

Soal Nomor 10
Dalam proses pengembangan perangkat lunak, tim menggunakan metode Agile dengan pendekatan Scrum. Apa peran utama dari seorang Scrum Master dalam tim pengembang?

A. Menentukan fitur yang akan dirilis dalam versi akhir aplikasi
B. Menulis seluruh kode program utama dan dokumentasinya
C. Mengatur anggaran dan logistik pengadaan alat tim
D. Menjadi penghubung langsung antara stakeholder dan tim QA
E. Memfasilitasi proses scrum dan mengatasi hambatan dalam sprint

Jawaban: E
Pembahasan:
Scrum Master adalah fasilitator dalam metode Scrum. Ia bukan manajer proyek atau pengambil keputusan, tetapi bertugas memastikan bahwa proses Scrum berjalan sesuai prinsipnya. Scrum Master membantu tim mengatasi hambatan (impediments), memfasilitasi daily scrum, sprint planning, dan sprint retrospective, serta menjaga komunikasi yang sehat dalam tim.

Soal Nomor 11
Seorang siswa sedang belajar tentang sistem bilangan dan diminta untuk mengubah bilangan desimal ke dalam bentuk biner. Ia diberikan angka 25 dan harus mengubahnya ke biner secara manual tanpa menggunakan kalkulator atau perangkat lunak apa pun. Proses konversi dilakukan dengan membagi angka tersebut secara berulang dengan angka 2 hingga hasil pembagian menjadi nol, lalu mencatat sisa pembagian dari bawah ke atas. Berdasarkan proses konversi tersebut, manakah hasil konversi yang paling tepat untuk angka 25 dalam sistem bilangan biner?

A. 11000
B. 11010
C. 10110
D. 11001
E. 10011

Jawaban: D
Pembahasan:
Untuk mengubah angka 25 dari desimal ke biner, kita membagi angka 25 dengan 2 secara berulang dan mencatat sisa pembagiannya:

25 ÷ 2 = 12 sisa 1
12 ÷ 2 = 6 sisa 0
6 ÷ 2 = 3 sisa 0
3 ÷ 2 = 1 sisa 1
1 ÷ 2 = 0 sisa 1

Jika kita menuliskan sisa-sisanya dari bawah ke atas: 11001.
Jadi, representasi biner dari 25 adalah 11001.

Soal Nomor 12
Dalam proses menulis algoritma dan program komputer, sering kali dibutuhkan kemampuan untuk memilih jalur logika tertentu berdasarkan kondisi yang terjadi. Misalnya, jika seorang pengguna memasukkan angka tertentu dan program harus memeriksa apakah angka tersebut ganjil atau genap, maka program perlu mengevaluasi suatu kondisi terlebih dahulu sebelum mengeksekusi perintah. Struktur logika apakah yang paling tepat digunakan dalam kondisi seperti ini?

A. Percabangan
B. Perulangan
C. Subprosedur
D. Modularisasi
E. Pemanggilan fungsi

Jawaban: A
Pembahasan:
Struktur percabangan (conditional structure) digunakan ketika program harus mengambil keputusan berdasarkan kondisi tertentu, seperti dalam kasus memeriksa apakah sebuah bilangan ganjil atau genap. Percabangan memungkinkan program untuk mengeksekusi perintah yang berbeda tergantung dari hasil evaluasi kondisi logika. Dalam hampir semua bahasa pemrograman, percabangan direpresentasikan dengan pernyataan if, else if, atau switch.

Soal Nomor 13
Seorang mahasiswa sedang mempelajari berbagai struktur data yang digunakan untuk menyimpan dan mengelola data dalam algoritma. Ia menemukan salah satu struktur data yang prinsip kerjanya adalah elemen yang pertama masuk akan menjadi elemen yang pertama keluar. Struktur ini umum digunakan dalam sistem antrian seperti pencetakan dokumen atau pemrosesan data yang berurutan. Berdasarkan deskripsi tersebut, struktur data apakah yang dimaksud?

A. Stack
B. Linked list
C. Tree
D. Array
E. Queue

Jawaban: E
Pembahasan:
Struktur data queue (antrian) bekerja dengan prinsip FIFO (First In First Out), artinya elemen pertama yang dimasukkan akan menjadi elemen pertama yang keluar. Hal ini seperti antrian pada loket, di mana orang yang pertama datang akan dilayani lebih dulu. Sebaliknya, stack menggunakan prinsip LIFO (Last In First Out). Maka, jawaban yang benar adalah queue.

Soal Nomor 14
Dalam sistem basis data relasional, hubungan antar tabel dapat dibangun melalui atribut tertentu yang bertindak sebagai referensi dari satu tabel ke tabel lainnya. Misalnya, dalam sistem informasi penjualan, terdapat tabel Penjualan yang memiliki kolom id_pelanggan, dan tabel Pelanggan yang memiliki kolom id. Kolom id_pelanggan pada tabel Penjualan merujuk langsung pada kolom id di tabel Pelanggan, sehingga setiap transaksi penjualan dapat dikaitkan dengan data pelanggan yang sesuai. Berdasarkan skenario tersebut, atribut id_pelanggan pada tabel Penjualan disebut sebagai?

A. Primary key
B. Foreign key
C. Candidate key
D. Composite key
E. Super key

Jawaban: B
Pembahasan:
Foreign key adalah atribut dalam sebuah tabel yang digunakan untuk merujuk pada primary key dari tabel lain. Dalam kasus ini, id_pelanggan di tabel Penjualan berfungsi untuk memastikan bahwa data transaksi terhubung dengan data pelanggan yang valid. Ini juga menjaga integritas referensial dalam database relasional. Sedangkan primary key digunakan untuk mengidentifikasi setiap baris dalam tabel secara unik, tetapi tidak selalu digunakan untuk referensi lintas tabel. 

Soal Nomor 15
Seorang pengembang sedang membangun sistem manajemen data karyawan menggunakan paradigma pemrograman berorientasi objek (OOP). Dalam implementasinya, ia membuat sebuah kelas bernama Karyawan yang memiliki atribut gaji dan nama. Agar data sensitif seperti gaji tidak bisa diakses atau dimodifikasi secara langsung dari luar kelas, pengembang tersebut menetapkan atribut tersebut sebagai private dan hanya mengizinkan akses melalui method getGaji() dan setGaji(). Teknik atau prinsip dalam OOP manakah yang sedang diterapkan oleh pengembang tersebut untuk menjaga keamanan dan kontrol terhadap data?

A. Inheritance
B. Polymorphism
C. Encapsulation
D. Abstraction
E. Overloading

Jawaban: C
Pembahasan:
Prinsip yang digunakan dalam kasus tersebut adalah Encapsulation (enkapsulasi), yaitu praktik dalam pemrograman berorientasi objek di mana data (atribut) dan perilaku (method) dikemas dalam satu entitas (kelas), dan akses terhadap data dikendalikan menggunakan modifier seperti private, protected, dan public. Dengan membuat atribut seperti gaji menjadi private, lalu menyediakan method getter dan setter, pengembang dapat mengontrol bagaimana data diakses atau diubah. Ini juga memungkinkan penambahan validasi saat nilai diubah. Encapsulation sangat penting untuk menjaga integritas dan keamanan data dalam aplikasi berskala besar.

Soal Nomor 16
Dalam proses pengembangan sistem informasi skala besar, tahap awal yang sangat penting adalah analisis kebutuhan. Seorang analis sistem diminta membuat model aliran data untuk menggambarkan bagaimana informasi bergerak di dalam sistem yang akan dikembangkan. Ia menggunakan simbol-simbol seperti lingkaran untuk proses, panah untuk aliran data, persegi panjang untuk entitas eksternal, dan dua garis paralel untuk penyimpanan data. Dokumen ini menjadi dasar komunikasi antara tim teknis dan pengguna sistem. Berdasarkan deskripsi tersebut, alat bantu pemodelan apa yang sedang digunakan?

A. Entity Relationship Diagram (ERD)
B. Use Case Diagram
C. Flowchart
D. Data Flow Diagram (DFD)
E. Data Flow Diagram (DFD) dengan simbol Gane & Sarson

Jawaban: E
Pembahasan:
Simbol-simbol yang dijelaskan dalam soal (lingkaran, panah, persegi panjang, dan dua garis paralel) merupakan ciri khas dari Data Flow Diagram (DFD) dengan notasi Gane & Sarson. Notasi ini digunakan untuk menggambarkan aliran data dan proses dalam sistem secara logis. Penambahan kata “dengan simbol Gane & Sarson” mempertegas bahwa ini bukan sekadar DFD biasa, tetapi dengan notasi visual tertentu. 

Soal Nomor 17
Seseorang diminta untuk merancang pengalamatan jaringan komputer pada sebuah kantor cabang yang memiliki 60 perangkat. Ia memilih menggunakan alamat IP privat dari kelas C dan menetapkan subnet mask agar tiap subnet memiliki cukup alamat untuk semua perangkat. Setelah melakukan perhitungan, ia memutuskan menggunakan subnet mask 255.255.255.192. Berdasarkan pengalamatan tersebut, berapa jumlah host maksimal yang bisa digunakan dalam satu subnet?

A. 126
B. 62
C. 254
D. 62
E. 30

Jawaban: D
Pembahasan:
Subnet mask 255.255.255.192 setara dengan /26, yang memberikan 2^(32-26) = 64 alamat IP total. Karena dua alamat digunakan untuk network dan broadcast, maka jumlah host yang dapat digunakan adalah 64 – 2 = 62. 

Soal Nomor 18
Dalam pengembangan aplikasi menggunakan paradigma pemrograman berorientasi objek (OOP), seorang pengembang membuat class Hewan, lalu membuat subclass Kucing dan Anjing yang mewarisi dari Hewan. Masing-masing subclass memiliki implementasi sendiri terhadap method suara(), meskipun nama metodenya sama. Ketika method suara() dipanggil, hasilnya berbeda tergantung pada objek mana yang digunakan. Konsep OOP apa yang sedang diterapkan oleh pengembang?

A. Polymorphism
B. Inheritance
C. Encapsulation
D. Overriding
E. Abstraction

Jawaban: A
Pembahasan:
Kasus yang dijelaskan merupakan implementasi dari polymorphism, yaitu kemampuan objek berbeda untuk merespons method yang sama dengan cara yang berbeda. Dalam hal ini, Kucing dan Anjing memiliki method suara() masing-masing. Ketika dipanggil, hasilnya tergantung objek yang digunakan. Hal ini merupakan bentuk dari runtime polymorphism, dan bukan sekadar inheritance atau encapsulation.

Soal Nomor 19
Seorang pengembang web membuat halaman website menggunakan HTML dan CSS. Ia menyadari bahwa tampilan halaman menjadi kacau saat dibuka dari perangkat dengan ukuran layar yang berbeda-beda. Untuk mengatasi masalah ini, ia menambahkan aturan dalam CSS-nya agar layout halaman dapat menyesuaikan dengan resolusi perangkat pengguna. Teknik apa yang sedang ia terapkan?

A. Inline styling
B. CSS reset
C. Responsive design dengan media query
D. Menggunakan grid tanpa unit persentase
E. Menggunakan font yang tetap

Jawaban: C
Pembahasan:
Untuk menangani variasi tampilan di berbagai perangkat, pengembang web harus menerapkan responsive design, dan salah satu cara paling umum untuk itu adalah dengan menggunakan media queries dalam CSS. Dengan pendekatan ini, elemen-elemen halaman dapat menyesuaikan posisi, ukuran, atau bahkan tampil/tidaknya tergantung ukuran layar. 

Soal Nomor 20
Dalam perancangan basis data relasional, penting untuk memastikan bahwa tidak ada redundansi data dan bahwa data tersimpan secara efisien. Untuk itu, proses normalisasi dilakukan agar atribut-atribut dalam tabel disusun ke dalam bentuk yang logis dan tidak menimbulkan anomali saat insert, update, atau delete. Misalnya, pada bentuk normal kedua (2NF), semua atribut non-primer harus sepenuhnya tergantung pada primary key. Apa tujuan utama dari proses normalisasi ini?

A. Menambah relasi antar tabel
B. Mengurangi duplikasi data dan meningkatkan integritas data
C. Mempercepat proses pencarian data
D. Menyederhanakan penggunaan query SQL
E. Meningkatkan ukuran file database

Jawaban: B
Pembahasan:
Tujuan utama dari normalisasi dalam basis data adalah untuk mengurangi duplikasi data (redundansi) dan meningkatkan integritas data. Dengan menyusun data menjadi bentuk normal, kita mencegah anomali dan memastikan bahwa setiap data hanya disimpan satu kali, serta konsisten dalam seluruh sistem. Normalisasi juga memperjelas hubungan antar entitas dan memudahkan pemeliharaan data dalam jangka panjang.

Ingin Mengakses Lebih Banyak Soal Masuk Jurusan RPL + Kunci Jawaban (Rekayasa Perangkat Lunak)?

Masih banyak kumpulan soal dan pembahasan lainnya yang membahas topik penting seperti algoritma dasar, struktur data, logika pemrograman, hingga analisis kasus rekayasa perangkat lunak. Soal-soal ini dapat membantu dalam memahami pola seleksi masuk jurusan RPL di berbagai institusi pendidikan. Informasi tambahan dan materi soal lainnya dapat ditemukan melalui platform seperti utbk.or.id, yang memuat beragam konten pembelajaran dan latihan soal secara berkala.

Facebook
Twitter
LinkedIn
WhatsApp
X
Kategori