Contoh Soal PBO Pilihan Ganda: Menguasai Konsep Dasar Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek (PBO) atau Object-Oriented Programming (OOP) adalah salah satu paradigma pemrograman paling dominan dan penting dalam pengembangan perangkat lunak modern. Konsep-konsep inti seperti Enkapsulasi, Inheritance (Pewarisan), Polimorfisme, dan Abstraksi menjadi fondasi bagi developer yang ingin membangun aplikasi yang scalable, mudah dikelola, dan reusable.

Bagi Anda yang sedang mempelajari PBO, baik di bangku kuliah, sekolah kejuruan, atau mengikuti kursus daring, menguji pemahaman konsep melalui contoh soal pilihan ganda adalah metode yang sangat efektif. Soal-soal ini tidak hanya menguji definisi, tetapi juga kemampuan Anda dalam menganalisis skenario kode yang diberikan.

Baca juga: Contoh Soal Muatan Total: Konsep Dasar, Rumus, dan Pembahasan Lengkap

Baca juga:Contoh Soal Muatan Total: Konsep Dasar, Rumus, dan Pembahasan Lengkap

Artikel ini menyajikan kumpulan contoh soal PBO pilihan ganda yang komprehensif, mencakup berbagai topik fundamental. Setiap soal dirancang untuk memperkuat pemahaman Anda mengenai prinsip-prinsip PBO yang krusial.

🔖 Baca juga:
Hari Perempuan Internasional 2026: Kenapa Tubuh Perempuan Masih Jadi Medan Tempur?

Kumpulan Contoh Soal PBO Pilihan Ganda

Berikut adalah 25 contoh soal pilihan ganda PBO yang dapat Anda gunakan sebagai latihan. Fokus pada bahasa pemrograman yang umum digunakan dalam PBO seperti Java atau C++.

I. Konsep Dasar PBO

  1. Apakah yang dimaksud dengan Object dalam PBO? A. Cetak biru (blueprint) dari sebuah entitas. B. Kumpulan instruksi yang dieksekusi oleh program. C. Instansi dari class yang memiliki state (atribut) dan behavior (metode). D. Tipe data primitif yang digunakan dalam program.
  2. Manakah di antara berikut yang paling akurat mendeskripsikan Class? A. Sebuah nilai yang dapat berubah selama eksekusi program. B. Struktur yang hanya berisi data (state). C. Sebuah template atau cetak biru yang mendefinisikan state dan behavior dari object. D. Sebuah method yang tidak memiliki nilai kembalian.
  3. Prinsip PBO yang mengikat data (attributes) dan method (behavior) menjadi satu unit tunggal serta menyembunyikan detail implementasi dari dunia luar disebut… A. Polimorfisme. B. Pewarisan (Inheritance). C. Abstraksi. D. Enkapsulasi.
  4. Apa kegunaan utama dari kata kunci this dalam Java/C++? A. Mereferensikan class induk. B. Untuk memanggil constructor dari class lain. C. Mereferensikan object saat ini. D. Mendeklarasikan sebuah variabel statis.
  5. Perbedaan mendasar antara method dan function dalam konteks PBO adalah… A. Method adalah bagian dari class, function tidak. B. Function selalu mengembalikan nilai, method tidak. C. Dalam PBO, method adalah function yang terkait dengan object atau class. D. Tidak ada perbedaan; keduanya adalah istilah yang dapat dipertukarkan.

II. Inheritance (Pewarisan)

  1. Apa tujuan utama dari Inheritance? A. Mengizinkan object memiliki banyak bentuk (multiple forms). B. Mendefinisikan hierarki class dan mempromosikan reusability kode. C. Menyembunyikan implementasi data dari pengguna. D. Membuat object dari sebuah class.
  2. Dalam Inheritance, class yang mewariskan properti dan method disebut… A. Derived Class (Kelas Turunan). B. Subclass (Kelas Anak). C. Implementation Class. D. Superclass (Kelas Induk) atau Parent Class.*
  3. Manakah access modifier yang memungkinkan anggota class diakses oleh class turunan, tetapi tidak oleh class lain di luar package? A. private. B. public. C. protected. D. Default (tanpa modifier).
  4. Apakah yang terjadi ketika method dari superclass didefinisikan ulang di subclass dengan tanda tangan (signature) yang sama? A. Overloading. B. Overriding. C. Hiding. D. Polymorphism saat kompilasi.
  5. Bagaimana cara mencegah sebuah class agar tidak dapat diwariskan (di-extend) di Java? A. Menggunakan keyword static. B. Mendeklarasikan constructor sebagai private. C. Menggunakan keyword final. D. Mendeklarasikan class sebagai abstract.

III. Polymorphism (Polimorfisme)

  1. Polymorphism secara harfiah berarti… A. Kemampuan untuk menyembunyikan data. B. Banyak bentuk (many forms). C. Kemampuan untuk mewarisi sifat. D. Satu bentuk tunggal.
  2. Dua jenis utama Polymorphism dalam PBO adalah Compile-time Polymorphism dan Runtime Polymorphism. Contoh dari Compile-time Polymorphism adalah… A. Method Overriding. B. Method Overloading.* C. Interface Implementation. D. Type Casting.
  3. Method Overloading adalah… A. Pendefinisian ulang method di subclass. B. Pendefinisian beberapa method dengan nama yang sama tetapi dengan daftar parameter yang berbeda dalam class yang sama. C. Mendeklarasikan method dengan signature yang berbeda di superclass dan subclass. D. Method yang berjalan lebih cepat.
  4. Dalam Runtime Polymorphism (atau Dynamic Method Dispatch), keputusan method mana yang akan dipanggil ditentukan pada saat… A. Kompilasi (Compile time). B. Inisialisasi object. C. Eksekusi (Run time). D. Pendeklarasian class.
  5. Manakah yang merupakan prasyarat mutlak untuk menerapkan Method Overriding? A. Class harus bersifat final. B. Method harus bersifat static. C. Harus ada hubungan Inheritance antara class. D. Kedua method harus memiliki nilai kembalian yang berbeda.

IV. Abstraction (Abstraksi) & Interface

  1. Abstraksi dalam PBO merujuk pada… A. Menyembunyikan data dan method menggunakan private access modifier. B. Menampilkan hanya informasi yang penting bagi pengguna dan menyembunyikan detail implementasi yang tidak relevan. C. Kemampuan sebuah object untuk mengambil banyak bentuk. D. Mengakses method superclass dari subclass.
  2. Class yang tidak dapat di-instantiate (dibuat object langsung darinya) dan mungkin berisi method abstract disebut… A. Concrete Class. B. Abstract Class.* C. Interface. D. Final Class.
  3. Sebuah Interface dalam Java/C# pada dasarnya adalah… A. Sebuah class yang tidak dapat diwariskan. B. Sebuah template yang hanya berisi deklarasi method abstract (dan konstanta). C. Class yang hanya berisi method private. D. Class yang dapat memiliki constructor.
  4. Dalam Java, sebuah class dapat meng-implementasikan (implement) berapa banyak interface? A. Hanya satu. B. Maksimal dua. C. Tidak terbatas (multiple interfaces). D. Hanya jika class tersebut juga abstract.
  5. Jika sebuah class mewarisi Abstract Class, apa kewajiban yang harus dipenuhi oleh class turunan tersebut (kecuali class turunan juga dideklarasikan sebagai abstract)? A. Mendeklarasikan semua field sebagai private. B. Mengimplementasikan semua method abstract dari Abstract Class. C. Menggunakan kata kunci super di setiap method. D. Tidak menggunakan constructor.

V. Konstruktor dan Garbage Collection

  1. Apa itu Constructor? A. Method khusus untuk menghapus object. B. Method yang digunakan untuk mendapatkan nilai dari atribut. C. Method khusus yang dipanggil saat sebuah object dibuat (instantiated). D. Method yang selalu mengembalikan nilai.
  2. Bagaimana cara membedakan Constructor dari Method biasa? A. Constructor selalu memiliki access modifier public. B. Method biasa selalu private. C. Constructor tidak memiliki tipe nilai kembalian (return type), bahkan void. D. Method biasa tidak dapat memiliki parameter.
  3. Garbage Collection adalah proses otomatis di Java/C# yang bertugas untuk… A. Meng-compile kode sumber. B. Mengidentifikasi dan menghapus object yang sudah tidak lagi digunakan (tidak direferensikan). C. Mengatur urutan eksekusi thread. D. Melakukan type checking pada saat run time.
  4. Kapan sebuah object dikatakan ‘mati’ atau siap untuk di-garbage collected? A. Setelah semua method-nya selesai dieksekusi. B. Ketika field-nya diatur ke null. C. Ketika tidak ada lagi referensi yang menunjuk ke object tersebut. D. Ketika constructor selesai dieksekusi.
  5. Apa fungsi dari constructor default (tanpa parameter)? A. Untuk memastikan class tidak dapat di-instantiate. B. Menyediakan nilai inisialisasi awal (default) untuk object. C. Memanggil constructor dari superclass. D. Melakukan operasi pembersihan.

Kunci Jawaban (Diurutkan sesuai nomor soal)

  1. C
  2. C
  3. D
  4. C
  5. C
  6. B
  7. D
  8. C
  9. B
  10. C
  11. B
  12. B
  13. B
  14. C
  15. C
  16. B
  17. B
  18. B
  19. C
  20. B
  21. C
  22. C
  23. B
  24. C
  25. B

Baca juga: Rektor Universitas Teknokrat Indonesia Hadiri Silaknas dan Milad ke-35 ICMI di Bali

Pentingnya Menguasai PBO Melalui Latihan Soal

Latihan soal PBO pilihan ganda seperti di atas sangat penting karena:

  • Memperkuat Terminologi: Anda harus benar-benar memahami perbedaan antara class, object, method, dan attribute.
  • Memahami Prinsip Inti: Soal memaksa Anda untuk membedakan secara jelas antara Enkapsulasi, Abstraksi, Pewarisan, dan Polimorfisme, yang seringkali tumpang tindih dalam pikiran pemula.
  • Simulasi Ujian: Ini adalah format umum yang digunakan dalam ujian akademik dan sertifikasi profesional, membantu Anda terbiasa dengan tekanan waktu dan analisis cepat.

Untuk sukses dalam PBO, jangan hanya menghafal definisinya. Cobalah untuk memvisualisasikan bagaimana kode bekerja. Sebagai contoh, saat Anda membaca soal tentang Inheritance, bayangkanlah bagaimana subclass mewarisi sifat dari superclass dan bagaimana method overriding akan mengubah perilakunya.

Penulis: Aripin

Post Comment