Nata Soal
TKA SMK/MAK Pengembangan Perangkat Lunak dan Gim Interaktif

Pemrograman Berorientasi Objek (OOP), Struktur Data, dan Siklus SDLC – Materi & Latihan TKA Pengembangan Perangkat Lunak dan Gim SMK/MAK

Prinsip OOP (Enkapsulasi, Inheritansi, Polimorfisme, Abstraksi), SOLID design principles, struktur data (array, linked list, stack, queue, tree), pemodelan UML, dan model proses SDLC Agile/Scrum.

Tujuan Pembelajaran
  • Menerapkan 4 pilar dasar OOP (Encapsulation, Inheritance, Polymorphism, Abstraction) dalam perancangan kode modular.
  • Menganalisis kompleksitas algoritma dan memilih struktur data yang tepat untuk efisiensi komputasi.
  • Merancang diagram UML (Class Diagram, Use Case Diagram) dan mengimplementasikan sprint cycle metodologi Agile/Scrum.

Materi & Pembahasan Konsep

TKA SMK/MAK

Selamat datang di modul Pemrograman Berorientasi Objek (OOP), Struktur Data, dan Siklus SDLC pada mata pelajaran Pengembangan Perangkat Lunak dan Gim (PPLG) SMK/MAK! Modul ini dirancang berdasarkan standar kurikulum rekayasa perangkat lunak modern dan standar kompetensi industri teknologi informasi.

1. Empat Pilar Pemrograman Berorientasi Objek (OOP)

  • Encapsulation (Pembungkusan): Menyembunyikan detail internal objek dan membatasi akses langsung ke data atribut melalui access modifier (private/protected) dan metode getter/setter.
  • Inheritance (Pewarisan): Mewariskan atribut dan metode dari kelas induk (superclass) ke kelas anak (subclass) untuk mendorong penggunaan ulang kode (code reusability).
  • Polymorphism (Banyak Rupa): Kemampuan objek memproses aksi dengan cara berbeda melalui mekanisme method overriding (runtime) atau method overloading (compile-time).
  • Abstraction (Abstraksi): Menyajikan antarmuka penting dan menyembunyikan kompleksitas implementasi menggunakan abstract class dan interface.

2. Prinsip Desain SOLID

  1. S - Single Responsibility: Setiap kelas hanya boleh memiliki satu alasan untuk berubah (satu tugas spesifik).
  2. O - Open/Closed: Terbuka untuk perluasan fitur (extension), tertutup untuk modifikasi kode inti (modification).
  3. L - Liskov Substitution: Subclass harus dapat menggantikan superclass-nya tanpa merusak fungsionalitas program.
  4. I - Interface Segregation: Klien tidak boleh dipaksa bergantung pada antarmuka yang tidak digunakannya.
  5. D - Dependency Inversion: Modul tingkat tinggi tidak boleh bergantung pada modul tingkat rendah; keduanya harus bergantung pada abstraksi.
Referensi: Kerangka Standar Asesmen TKA Pusmendik Kemendikdasmen RI
Simulasi CBT

Latihan Interaktif (18 Soal)

Penilaian aman & otomatis
Cek Pemahaman
3 Soal
Soal 1 Pilihan Ganda mudah
5 Poin
Prinsip OOP yang membungkus data atribut dan metode dalam satu kesatuan unit kelas serta menyembunyikan detail internal dari akses langsung luar menggunakan access modifier private disebut:
Soal 2 Pilihan Ganda Kompleks sedang
5 Poin
Manakah struktur data linear yang bekerja dengan prinsip First-In, First-Out (FIFO) dan Last-In, First-Out (LIFO)? (Pilih dua pasangan yang benar)
Centang semua pilihan yang kamu anggap benar!
Soal 3 Benar / Salah mudah
5 Poin
Tentukan Benar atau Salah karakteristik siklus pengembangan perangkat lunak (SDLC) Agile/Scrum berikut!
Tentukan apakah setiap pernyataan di bawah ini Benar atau Salah!
Pernyataan Benar Salah
Siklus iterasi dalam Scrum disebut 'Sprint' yang biasanya berdurasi tetap antara 1 hingga 4 minggu.
Daily Standup Meeting diadakan setiap hari selama maksimal 15 menit untuk membahas kemajuan kerja tim dan hambatan yang dihadapi.
Metodologi Agile menolak segala bentuk masukan perubahan kebutuhan perangkat lunak setelah proyek dimulai.
Latihan TKA
10 Soal
Soal 4 Pilihan Ganda sedang
5 Poin
Mekanisme di mana subclass menyediakan implementasi spesifik dari sebuah metode yang sudah didefinisikan pada superclass dengan nama, parameter, dan return type yang sama disebut:
Soal 5 Pilihan Ganda sedang
5 Poin
Dalam diagram UML Class, hubungan ketergantungan di mana kelas 'Mobil' memiliki kelas 'Mesin' sebagai komponen mutlaknya, sehingga jika objek Mobil dihancurkan maka objek Mesin juga ikut hancur disebut hubungan:
Soal 6 Pilihan Ganda Kompleks sedang
5 Poin
Manakah pernyataan yang BENAR mengenai sistem kontrol versi terdistribusi Git? (Pilih dua jawaban benar)
Centang semua pilihan yang kamu anggap benar!
Soal 7 Pilihan Ganda sedang
5 Poin
Sebuah fungsi rekursif yang tidak memiliki 'base case' (kondisi henti penghentian) akan memicu galat memori run-time yang dinamakan:
Soal 8 Benar / Salah sedang
5 Poin
Tentukan Benar atau Salah prinsip pengujian perangkat lunak (Software Testing) berikut!
Tentukan apakah setiap pernyataan di bawah ini Benar atau Salah!
Pernyataan Benar Salah
Unit Testing bertujuan menguji fungsi atau method individual secara terisolasi dari komponen eksternal lainnya.
Integration Testing memastikan bahwa modul-modul yang berbeda dapat saling berkomunikasi dan bertukar data dengan benar.
Black-Box Testing mewajibkan penguji membaca dan memeriksa setiap baris logika source code pemrograman secara langsung.
Soal 9 Pilihan Ganda sedang
5 Poin
Pola desain (design pattern) yang memastikan suatu kelas hanya memiliki tepat SATU instance objek tunggal selama masa hidup aplikasi berjalan dan menyediakan titik akses global ke instance tersebut adalah:
Soal 10 Pilihan Ganda Kompleks sedang
5 Poin
Manakah komponen dari prinsip SOLID yang menjelaskan bahwa modul kelas harus terbuka untuk ekstensi fungsionalitas namun tertutup untuk perubahan kode sumber inti? (Pilih dua pernyataan yang menjelaskan prinsip ini)
Centang semua pilihan yang kamu anggap benar!
Soal 11 Pilihan Ganda sedang
5 Poin
Kompleksitas waktu asimtotik (Big-O) untuk melakukan pencarian elemen acak pada struktur data Array yang belum terurut (Unsorted Array) berukuran N adalah:
Soal 12 Benar / Salah sedang
5 Poin
Tentukan Benar atau Salah prinsip arsitektur perangkat lunak Model-View-Controller (MVC)!
Tentukan apakah setiap pernyataan di bawah ini Benar atau Salah!
Pernyataan Benar Salah
Model bertanggung jawab mengelola logika data, penyimpanan relasi basis data, dan aturan validasi bisnis.
View bertanggung jawab menyajikan data dan tampilan antarmuka (UI) grafis kepada pengguna akhir.
Controller bertindak sebagai perantara yang menerima permintaan pengguna, memanggil Model, dan menentukan View respons yang sesuai.
Soal 13 Pilihan Ganda sedang
5 Poin
Arsitektur pertukaran data berbasis web yang memanfaatkan protokol HTTP dengan metode baku GET, POST, PUT, DELETE serta format representasi data JSON disebut arsitektur:
Tantangan Penalaran
5 Soal
Soal 14 Pilihan Ganda sulit
5 Poin
Sebuah platform e-commerce memproses 100.000 transaksi per menit. Sistem mengalami bottleneck parah ketika memvalidasi stok barang di database relasional MySQL. Arsitektur optimasi apa yang paling efektif dan tepat guna mengurangi beban kueri disk I/O database secara drastis?
Soal 15 Pilihan Ganda Kompleks sulit
5 Poin
Sebuah tim pengembang menerapkan Continuous Integration / Continuous Deployment (CI/CD) pipeline. Manakah praktik pengujian otomatis yang wajib dilalui sebelum kode baru diizinkan bergabung (merge) ke branch utama produksi? (Pilih dua jawaban benar)
Centang semua pilihan yang kamu anggap benar!
Soal 16 Benar / Salah sulit
5 Poin
Evaluasi penanganan race condition dan konkurensi pada pemrograman multi-threading!
Tentukan apakah setiap pernyataan di bawah ini Benar atau Salah!
Pernyataan Benar Salah
Race condition terjadi ketika dua atau lebih thread mengakses dan memodifikasi data bersama secara bersamaan tanpa sinkronisasi yang aman.
Penggunaan Mutex (Mutual Exclusion) atau Lock memastikan hanya satu thread yang dapat mengeksekusi 'critical section' pada satu waktu.
Deadlock merupakan situasi ideal di mana seluruh thread komputer berjalan dengan kecepatan maksimal tanpa hambatan.
Soal 17 Pilihan Ganda sulit
5 Poin
Dalam arsitektur Microservices, jika Service Pembayaran ingin memberi tahu Service Pengiriman bahwa pembayaran pesanan telah berhasil tanpa menciptakan keterikatan langsung (tight coupling) antar-service secara synchronous, pola komunikasi apa yang paling tepat?
Soal 18 Pilihan Ganda Kompleks sulit
5 Poin
Untuk mencegah celah keamanan SQL Injection pada aplikasi web berbasis database, praktik pengkodean apa yang wajib diterapkan pengembang? (Pilih dua jawaban benar)
Centang semua pilihan yang kamu anggap benar!
Sudah Selesai Mengerjakan?

Pastikan semua soal telah kamu jawab sebelum melihat skor dan pembahasan.

Nomor Soal
0 / 18
• Belum • Terjawab • Ragu
Ke Atas Soal
Tes Kemampuan Akademik SMK/MAK • Pengembangan Perangkat Lunak dan Gim Gratis & Otomatis