Soalut.com gratis berkat dukungan kamu. Bantu kami tetap online.❤ Gratis selamanya

Donasi sekarang

Soal UAS UT MSIM4301 Pemrograman Berbasis Desktop dan Kunci Jawaban

Aplikasi Resmi

Soalut.com — Soal Ujian UT

★★★★★ · Gratis · 9 MB · Android
Unduh
Soal UAS UT MSIM4301 Pemrograman Berbasis Desktop dan Kunci Jawaban
Soal UT MSIM4301 Pemrograman Berbasis Desktop

Banyak mahasiswa Universitas Terbuka merasa kewalahan saat musim ujian tiba, bukan karena tidak belajar, tapi karena tidak tahu harus mulai dari mana. Modul yang tebal, materi yang padat, dan waktu yang terbatas membuat persiapan Soal UAS UT MSIM4301 Pemrograman Berbasis Desktop terasa seperti mendaki bukit tanpa peta.

MSIM4301 Pemrograman Berbasis Desktop bukan mata kuliah yang bisa dianggap enteng. Di sinilah kamu belajar membangun aplikasi yang benar-benar berfungsi di lingkungan desktop, mulai dari antarmuka pengguna hingga logika pemrograman di baliknya. Pemahaman yang kuat di mata kuliah ini akan jadi fondasi solid.

Cara paling efektif untuk mengukur seberapa jauh pemahamanmu adalah dengan mengerjakan Soal Ujian UT dari periode-periode sebelumnya. Latihan soal bukan sekadar hafalan. Ini melatih otakmu mengenali pola soal, membiasakan diri dengan tekanan waktu, dan menambal celah materi.

Catatan: Soal-soal ini akan terus diperbarui mengikuti modul terbaru Universitas Terbuka.

Soal UT MSIM4301 Pemrograman Berbasis Desktop

1.

Dalam paradigma pemrograman berorientasi objek, konsep yang memungkinkan suatu objek untuk menyembunyikan detail implementasi internalnya dan hanya mengekspos antarmuka yang diperlukan disebut…

  • A. Inheritance
  • B. Abstraction
  • C. Polymorphism
  • D. Encapsulation
Jawaban: B. Abstraction.
Abstraction adalah konsep dalam PBO yang menyembunyikan detail implementasi dan hanya menampilkan fungsionalitas penting kepada pengguna, berbeda dengan encapsulation yang berfokus pada pembungkusan data dan metode.
2.

Dalam pemrograman Java, sebuah class adalah…

  • A. Cetak biru atau template yang mendefinisikan atribut dan perilaku objek
  • B. Instance dari suatu objek yang telah dialokasikan di memori
  • C. Metode khusus yang digunakan untuk menginisialisasi variabel
  • D. Tipe data primitif yang digunakan untuk menyimpan nilai tunggal
Jawaban: A. Cetak biru atau template yang mendefinisikan atribut dan perilaku objek.
Class berfungsi sebagai blueprint yang mendefinisikan struktur dan perilaku objek, sedangkan objek merupakan instance (realisasi) dari class tersebut.
3.

Perhatikan pernyataan berikut: “Java adalah bahasa pemrograman yang dikompilasi menjadi bytecode dan dijalankan di atas Java Virtual Machine (JVM).” Pernyataan tersebut menunjukkan bahwa Java bersifat…

  • A. Bergantung pada sistem operasi tertentu
  • B. Hanya dapat berjalan di platform Windows
  • C. Platform independent atau dapat berjalan di berbagai sistem operasi
  • D. Memerlukan compiler yang berbeda untuk setiap sistem operasi
Jawaban: C. Platform independent atau dapat berjalan di berbagai sistem operasi.
Java menggunakan JVM sebagai lapisan abstraksi sehingga bytecode yang sama dapat dijalankan di berbagai sistem operasi tanpa perlu dikompilasi ulang, mewujudkan prinsip “write once, run anywhere”.
4.

Langkah pertama yang harus dilakukan untuk dapat menjalankan program Java di komputer adalah…

  • A. Menginstal IDE NetBeans atau Eclipse
  • B. Mengunduh dan menginstal Java Runtime Environment (JRE)
  • C. Mengkonfigurasi variabel PATH di sistem operasi
  • D. Mengunduh dan menginstal Java Development Kit (JDK)
Jawaban: D. Mengunduh dan menginstal Java Development Kit (JDK).
JDK adalah paket perangkat lunak lengkap yang mencakup compiler, JRE, dan alat pengembangan lainnya yang diperlukan untuk menulis dan menjalankan program Java.
5.

Dalam bahasa Java, tipe data yang digunakan untuk menyimpan nilai bilangan bulat dengan rentang nilai antara -2.147.483.648 hingga 2.147.483.647 adalah…

  • A. short
  • B. int
  • C. long
  • D. byte
Jawaban: B. int.
Tipe data int memiliki ukuran 32 bit dan mampu menyimpan nilai bilangan bulat dari -2.147.483.648 hingga 2.147.483.647, berbeda dengan short (16 bit), long (64 bit), dan byte (8 bit).
6.

Identifier dalam Java adalah…

  • A. Nama yang diberikan kepada variabel, metode, class, atau elemen program lainnya
  • B. Kata-kata yang telah dipesan oleh bahasa pemrograman untuk fungsi tertentu
  • C. Tipe data khusus untuk menyimpan karakter tunggal
  • D. Operator yang digunakan untuk membandingkan dua nilai
Jawaban: A. Nama yang diberikan kepada variabel, metode, class, atau elemen program lainnya.
Identifier adalah nama pengenal yang diberikan programmer kepada elemen-elemen program, sedangkan keyword adalah kata-kata yang sudah dipesan oleh Java dan tidak dapat digunakan sebagai identifier.
7.

Manakah dari pernyataan berikut yang benar mengenai aturan penulisan identifier dalam Java?

  • A. Identifier boleh diawali dengan angka selama diikuti huruf
  • B. Identifier boleh menggunakan spasi untuk memisahkan kata
  • C. Identifier bersifat case-sensitive sehingga “nama” dan “Nama” dianggap berbeda
  • D. Identifier harus selalu ditulis dengan huruf kapital semua
Jawaban: C. Identifier bersifat case-sensitive sehingga “nama” dan “Nama” dianggap berbeda.
Java bersifat case-sensitive, artinya huruf besar dan kecil dibedakan. Identifier tidak boleh diawali angka, tidak boleh mengandung spasi, dan tidak harus selalu huruf kapital.
8.

Dalam Java, keyword “static” yang digunakan pada sebuah variabel dalam class berarti…

  • A. Variabel tersebut bersifat konstan dan nilainya tidak dapat diubah
  • B. Variabel tersebut hanya dapat diakses dari dalam class yang sama
  • C. Variabel tersebut memiliki nilai default nol secara otomatis
  • D. Variabel tersebut adalah milik class, bukan milik instance, sehingga berbagi nilai yang sama di semua objek
Jawaban: D. Variabel tersebut adalah milik class, bukan milik instance, sehingga berbagi nilai yang sama di semua objek.
Variabel static (class variable) dimiliki oleh class bukan oleh masing-masing objek, sehingga semua instance class berbagi satu salinan variabel tersebut.
9.

Seorang programmer mendefinisikan variabel dalam sebuah metode di Java. Variabel tersebut hanya dapat diakses di dalam metode itu saja. Jenis variabel tersebut disebut…

  • A. Variabel instance
  • B. Variabel lokal
  • C. Variabel class
  • D. Variabel global
Jawaban: B. Variabel lokal.
Variabel lokal dideklarasikan di dalam sebuah metode dan hanya dapat diakses di dalam metode tersebut, berbeda dengan variabel instance yang dideklarasikan di dalam class tetapi di luar metode.
10.

Array dalam Java merupakan struktur data yang…

  • A. Dapat menyimpan nilai dengan tipe data yang berbeda-beda
  • B. Ukurannya dapat diubah secara dinamis setelah dideklarasikan
  • C. Menyimpan sekumpulan elemen dengan tipe data yang sama dalam lokasi memori yang berurutan
  • D. Hanya dapat menyimpan tipe data primitif seperti int dan double
Jawaban: C. Menyimpan sekumpulan elemen dengan tipe data yang sama dalam lokasi memori yang berurutan.
Array adalah struktur data linear yang menyimpan elemen-elemen bertipe sama secara berurutan di memori, dengan ukuran yang bersifat tetap setelah dideklarasikan.
11.

Perhatikan kode berikut: int[] nilai = new int[5]; Berapa banyak elemen yang dapat disimpan dalam array tersebut, dan berapa indeks elemen terakhirnya?

  • A. 5 elemen, indeks terakhir adalah 4
  • B. 5 elemen, indeks terakhir adalah 5
  • C. 6 elemen, indeks terakhir adalah 5
  • D. 4 elemen, indeks terakhir adalah 4
Jawaban: A. 5 elemen, indeks terakhir adalah 4.
Array berukuran 5 memiliki 5 elemen dengan indeks dimulai dari 0, sehingga indeks terakhirnya adalah 4 (0, 1, 2, 3, 4).
12.

Method pada class String yang digunakan untuk menggabungkan dua buah String dalam Java adalah…

  • A. append()
  • B. join()
  • C. merge()
  • D. concat()
Jawaban: D. concat().
Method concat() pada class String digunakan untuk menggabungkan (konkatenasi) dua String, contohnya “Hello”.concat(” World”) menghasilkan “Hello World”.
13.

Method length() pada class String di Java mengembalikan…

  • A. Jumlah kata dalam sebuah String
  • B. Jumlah karakter dalam sebuah String termasuk spasi
  • C. Indeks karakter terakhir dari sebuah String
  • D. Ukuran memori yang digunakan oleh String dalam byte
Jawaban: B. Jumlah karakter dalam sebuah String termasuk spasi.
Method length() mengembalikan panjang String yang dihitung dari jumlah seluruh karakter termasuk spasi, contohnya “Hello World”.length() mengembalikan nilai 11.
14.

Dalam Java, pernyataan if-else digunakan untuk…

  • A. Mengulang eksekusi blok kode sebanyak jumlah yang ditentukan
  • B. Mendefinisikan sekumpulan instruksi yang dapat dipanggil berulang kali
  • C. Menjalankan blok kode yang berbeda berdasarkan hasil evaluasi kondisi boolean
  • D. Menangani kesalahan yang terjadi saat program dijalankan
Jawaban: C. Menjalankan blok kode yang berbeda berdasarkan hasil evaluasi kondisi boolean.
Struktur if-else adalah struktur keputusan yang mengevaluasi ekspresi boolean dan mengeksekusi blok kode yang berbeda tergantung apakah kondisi bernilai true atau false.
15.

Seorang programmer ingin membuat program yang memeriksa nilai siswa: jika nilai lebih dari 90 maka “A”, jika antara 75-90 maka “B”, jika antara 60-74 maka “C”, dan di bawah 60 maka “D”. Struktur keputusan yang paling tepat digunakan adalah…

  • A. if-else if-else bertingkat
  • B. switch-case
  • C. if tunggal yang diulang empat kali
  • D. for loop dengan kondisi
Jawaban: A. if-else if-else bertingkat.
Karena kondisi melibatkan rentang nilai (bukan nilai diskrit yang tetap), struktur if-else if-else bertingkat lebih tepat digunakan daripada switch-case yang cocok untuk nilai diskrit.
16.

Dalam struktur switch-case di Java, pernyataan “break” berfungsi untuk…

  • A. Menghentikan eksekusi seluruh program
  • B. Melewati satu iterasi dalam perulangan
  • C. Mengulangi blok case yang sama
  • D. Menghentikan eksekusi dan keluar dari blok switch setelah case yang cocok dieksekusi
Jawaban: D. Menghentikan eksekusi dan keluar dari blok switch setelah case yang cocok dieksekusi.
Tanpa pernyataan break, eksekusi akan berlanjut ke case berikutnya (fall-through). Break memastikan hanya blok case yang cocok yang dieksekusi sebelum program keluar dari switch.
17.

Perulangan for dalam Java paling tepat digunakan ketika…

  • A. Jumlah iterasi tidak diketahui dan bergantung pada kondisi yang bisa berubah kapan saja
  • B. Jumlah iterasi sudah diketahui sebelum perulangan dimulai
  • C. Blok kode harus dijalankan setidaknya satu kali sebelum kondisi diperiksa
  • D. Program memerlukan perulangan tanpa batas yang dihentikan secara manual
Jawaban: B. Jumlah iterasi sudah diketahui sebelum perulangan dimulai.
Struktur for paling sesuai digunakan ketika jumlah iterasi telah diketahui, karena memiliki inisialisasi, kondisi, dan increment/decrement dalam satu baris yang ringkas.
18.

Perbedaan mendasar antara perulangan while dan do-while dalam Java adalah…

  • A. while dapat digunakan untuk array sedangkan do-while tidak bisa
  • B. while dapat diulang berkali-kali sedangkan do-while hanya satu kali
  • C. do-while selalu mengeksekusi blok kode setidaknya satu kali sebelum memeriksa kondisi, sedangkan while memeriksa kondisi terlebih dahulu
  • D. while menggunakan kondisi boolean sedangkan do-while menggunakan kondisi integer
Jawaban: C. do-while selalu mengeksekusi blok kode setidaknya satu kali sebelum memeriksa kondisi, sedangkan while memeriksa kondisi terlebih dahulu.
Perbedaan utama keduanya adalah urutan pengecekan kondisi: while mengevaluasi kondisi sebelum eksekusi (pre-test), sedangkan do-while mengevaluasi kondisi setelah eksekusi (post-test).
19.

Ketika kondisi dalam perulangan while selalu bernilai true dan tidak ada pernyataan yang mengubahnya, maka yang terjadi adalah…

  • A. Infinite loop, yaitu perulangan yang tidak pernah berhenti
  • B. Program akan otomatis berhenti setelah 1000 iterasi
  • C. Compiler akan menampilkan pesan error saat kompilasi
  • D. Program akan melewati blok while dan melanjutkan ke baris berikutnya
Jawaban: A. Infinite loop, yaitu perulangan yang tidak pernah berhenti.
Apabila kondisi while selalu true dan tidak ada mekanisme untuk mengubahnya menjadi false atau keluar dengan break, program akan terjebak dalam infinite loop yang terus berjalan tanpa henti.
20.

UML (Unified Modeling Language) dalam konteks pengembangan perangkat lunak didefinisikan sebagai…

  • A. Bahasa pemrograman visual untuk membuat antarmuka grafis
  • B. Framework pengujian untuk memverifikasi kode program
  • C. Metodologi manajemen proyek perangkat lunak berbasis agile
  • D. Bahasa pemodelan standar yang digunakan untuk menggambarkan desain sistem perangkat lunak secara visual
Jawaban: D. Bahasa pemodelan standar yang digunakan untuk menggambarkan desain sistem perangkat lunak secara visual.
UML adalah bahasa pemodelan standar (bukan bahasa pemrograman) yang menyediakan notasi visual untuk mendokumentasikan, menggambarkan, dan merancang sistem perangkat lunak berorientasi objek.
21.

Diagram UML yang digunakan untuk menggambarkan struktur statis sistem dengan menampilkan class, atribut, operasi, dan hubungan antar class adalah…

  • A. Use Case Diagram
  • B. Class Diagram
  • C. Sequence Diagram
  • D. Activity Diagram
Jawaban: B. Class Diagram.
Class Diagram adalah diagram UML yang menampilkan struktur statis sistem dengan menggambarkan class beserta atribut dan operasinya, serta hubungan antar class seperti asosiasi, inheritance, dan agregasi.
22.

Dalam Class Diagram UML, notasi tanda “+” (plus) di depan nama atribut atau operasi menunjukkan bahwa atribut atau operasi tersebut memiliki visibility…

  • A. Private, hanya dapat diakses dari dalam class itu sendiri
  • B. Protected, dapat diakses dari class itu sendiri dan subclass-nya
  • C. Public, dapat diakses dari mana saja
  • D. Package, hanya dapat diakses dari dalam package yang sama
Jawaban: C. Public, dapat diakses dari mana saja.
Dalam notasi UML, “+” menandakan public (akses dari mana saja), “-” menandakan private (hanya dalam class), dan “#” menandakan protected (dalam class dan subclass).
23.

Hubungan antara class “Mahasiswa” dan class “MataKuliah” di mana seorang mahasiswa dapat mengambil banyak mata kuliah dan satu mata kuliah dapat diambil oleh banyak mahasiswa disebut hubungan…

  • A. Many-to-many association
  • B. One-to-one association
  • C. Inheritance (generalisasi)
  • D. Composition
Jawaban: A. Many-to-many association.
Hubungan many-to-many terjadi ketika satu instance dari class pertama berhubungan dengan banyak instance class kedua, dan sebaliknya, seperti hubungan mahasiswa dengan mata kuliah.
24.

Dalam Java, interface didefinisikan sebagai…

  • A. Class khusus yang tidak dapat diinstansiasi dan boleh memiliki metode konkret
  • B. Class yang digunakan untuk mengelompokkan class-class yang berkaitan
  • C. Mekanisme yang memungkinkan satu class mewarisi atribut dari banyak class sekaligus
  • D. Kontrak yang mendefinisikan metode-metode yang harus diimplementasikan oleh class yang menggunakannya
Jawaban: D. Kontrak yang mendefinisikan metode-metode yang harus diimplementasikan oleh class yang menggunakannya.
Interface mendefinisikan kontrak berupa daftar method signature yang wajib diimplementasikan oleh class yang menggunakan keyword “implements”, tanpa mendefinisikan bagaimana metode tersebut diimplementasikan.
25.

Perbedaan antara abstract class dan interface di Java adalah bahwa abstract class…

  • A. Tidak dapat diwariskan, sedangkan interface dapat diimplementasikan oleh banyak class
  • B. Dapat memiliki metode konkret (yang sudah diimplementasikan) dan atribut, sedangkan interface hanya mendefinisikan method signature
  • C. Hanya dapat diwariskan oleh satu class, sedangkan interface dapat diwariskan banyak class
  • D. Digunakan untuk polymorphism, sedangkan interface digunakan untuk inheritance
Jawaban: B. Dapat memiliki metode konkret (yang sudah diimplementasikan) dan atribut, sedangkan interface hanya mendefinisikan method signature.
Abstract class dapat memiliki kombinasi metode abstrak dan konkret serta atribut instance, sedangkan interface secara tradisional hanya berisi method signature yang belum diimplementasikan.
26.

Inheritance (pewarisan) dalam pemrograman berorientasi objek memungkinkan sebuah class untuk…

  • A. Menyembunyikan implementasi internal dari pengguna luar
  • B. Memiliki lebih dari satu metode dengan nama yang sama tetapi parameter berbeda
  • C. Mewarisi atribut dan metode dari class lain sehingga mendukung reusabilitas kode
  • D. Menggabungkan beberapa objek menjadi satu objek yang lebih kompleks
Jawaban: C. Mewarisi atribut dan metode dari class lain sehingga mendukung reusabilitas kode.
Inheritance memungkinkan subclass mewarisi atribut dan metode dari superclass, sehingga kode yang sudah ada dapat digunakan kembali tanpa perlu menulis ulang, dan subclass dapat menambah atau mengubah perilakunya.
27.

Keyword yang digunakan di Java untuk mendeklarasikan hubungan inheritance antara subclass dan superclass adalah…

  • A. extends
  • B. implements
  • C. inherits
  • D. super
Jawaban: A. extends.
Keyword “extends” digunakan dalam deklarasi class untuk menunjukkan bahwa class tersebut mewarisi dari superclass, contohnya: class Kucing extends Hewan. Keyword “implements” digunakan untuk interface, bukan inheritance class.
28.

Encapsulation dalam pemrograman berorientasi objek dicapai dengan cara…

  • A. Membuat semua atribut bersifat public agar mudah diakses
  • B. Menghapus semua metode getter dan setter dari class
  • C. Mendefinisikan seluruh logika program di dalam satu class besar
  • D. Mendeklarasikan atribut sebagai private dan menyediakan metode getter/setter public untuk mengaksesnya
Jawaban: D. Mendeklarasikan atribut sebagai private dan menyediakan metode getter/setter public untuk mengaksesnya.
Encapsulation diterapkan dengan menjadikan atribut private (tersembunyi dari luar) dan menyediakan akses melalui metode getter (untuk membaca) dan setter (untuk mengubah nilai), sehingga data terlindungi.
29.

Polymorphism dalam Java memungkinkan…

  • A. Sebuah class untuk mewarisi dari lebih dari satu superclass secara langsung
  • B. Sebuah metode atau objek untuk memiliki banyak bentuk perilaku yang berbeda tergantung pada tipe objek yang memanggilnya
  • C. Sebuah variabel untuk menyimpan lebih dari satu nilai secara bersamaan
  • D. Sebuah program untuk berjalan di lebih dari satu sistem operasi
Jawaban: B. Sebuah metode atau objek untuk memiliki banyak bentuk perilaku yang berbeda tergantung pada tipe objek yang memanggilnya.
Polymorphism berarti “banyak bentuk”, memungkinkan satu antarmuka digunakan untuk berbagai tipe objek, sehingga pemanggilan metode yang sama dapat menghasilkan perilaku berbeda sesuai tipe objek aktualnya.
30.

Method overriding dalam Java terjadi ketika…

  • A. Sebuah class mendefinisikan dua metode dengan nama yang sama tetapi jumlah parameter berbeda
  • B. Sebuah metode dipanggil lebih dari satu kali dalam satu program
  • C. Subclass mendefinisikan ulang metode yang sudah ada di superclass dengan implementasi yang berbeda
  • D. Sebuah metode dalam class yang sama didefinisikan ulang dengan tipe kembalian berbeda
Jawaban: C. Subclass mendefinisikan ulang metode yang sudah ada di superclass dengan implementasi yang berbeda.
Method overriding adalah mekanisme di mana subclass menyediakan implementasi baru untuk metode yang sudah didefinisikan di superclass, dengan signature (nama dan parameter) yang identik.
31.

Dalam Java, mekanisme exception handling menggunakan blok try-catch-finally. Blok “finally” akan dieksekusi…

  • A. Selalu dieksekusi, baik ketika exception terjadi maupun tidak
  • B. Hanya dieksekusi ketika exception berhasil ditangkap oleh blok catch
  • C. Hanya dieksekusi ketika tidak ada exception yang terjadi
  • D. Dieksekusi hanya jika blok catch melemparkan exception baru
Jawaban: A. Selalu dieksekusi, baik ketika exception terjadi maupun tidak.
Blok finally dirancang untuk berisi kode pembersihan (seperti menutup file atau koneksi) yang harus dieksekusi tanpa memandang apakah exception terjadi atau tidak, sehingga selalu dijalankan.
32.

Seorang programmer menulis kode yang membaca file dari disk menggunakan Java. Agar program dapat menangani kemungkinan file tidak ditemukan, ia harus menangani exception bertipe…

  • A. NullPointerException
  • B. ArrayIndexOutOfBoundsException
  • C. ClassCastException
  • D. FileNotFoundException
Jawaban: D. FileNotFoundException.
FileNotFoundException adalah exception yang dilemparkan ketika operasi I/O gagal karena file yang dituju tidak ditemukan, yang merupakan checked exception yang wajib ditangani dalam operasi file di Java.
33.

Dalam operasi file di Java, class yang digunakan untuk membaca data karakter dari file teks secara efisien dengan kemampuan buffering adalah…

  • A. FileInputStream
  • B. BufferedReader
  • C. DataOutputStream
  • D. ObjectInputStream
Jawaban: B. BufferedReader.
BufferedReader digunakan untuk membaca karakter dari file teks secara efisien karena menggunakan buffer internal, dan memiliki metode readLine() yang memudahkan pembacaan baris per baris.
34.

Dalam pembuatan aplikasi berbasis GUI di Java menggunakan Swing, class yang berfungsi sebagai jendela utama (main window) aplikasi adalah…

  • A. JPanel
  • B. JDialog
  • C. JFrame
  • D. JApplet
Jawaban: C. JFrame.
JFrame adalah komponen Swing yang berfungsi sebagai jendela utama aplikasi desktop, memiliki title bar, border, tombol minimize/maximize/close, dan merupakan top-level container untuk komponen GUI lainnya.
35.

Event listener dalam Java Swing digunakan untuk…

  • A. Mendeteksi dan merespons aksi pengguna seperti klik tombol, input teks, atau gerakan mouse
  • B. Mengatur tata letak komponen-komponen GUI dalam container
  • C. Menampilkan pesan kesalahan ketika terjadi exception dalam program
  • D. Menghubungkan aplikasi Java dengan database eksternal
Jawaban: A. Mendeteksi dan merespons aksi pengguna seperti klik tombol, input teks, atau gerakan mouse.
Event listener adalah antarmuka yang diimplementasikan untuk merespons event yang terjadi pada komponen GUI, seperti ActionListener untuk klik tombol, sehingga aplikasi dapat berinteraksi dengan pengguna.
36.

Layout Manager dalam Java Swing yang mengatur komponen dalam baris dan kolom secara kaku dengan ukuran sel yang sama adalah…

  • A. FlowLayout
  • B. BorderLayout
  • C. BoxLayout
  • D. GridLayout
Jawaban: D. GridLayout.
GridLayout mengatur komponen dalam grid baris dan kolom di mana semua sel memiliki ukuran yang sama, berbeda dengan FlowLayout yang menempatkan komponen secara berurutan dan BorderLayout yang membagi area menjadi lima wilayah.
37.

Dalam konteks koneksi database di Java menggunakan JDBC, pernyataan yang digunakan untuk mengirimkan query SQL sederhana tanpa parameter dinamis ke database adalah…

  • A. PreparedStatement
  • B. Statement
  • C. CallableStatement
  • D. ResultSet
Jawaban: B. Statement.
Statement digunakan untuk mengirimkan query SQL statis tanpa parameter ke database, sedangkan PreparedStatement digunakan untuk query dengan parameter dinamis dan CallableStatement untuk stored procedure.
38.

Dalam JDBC, method yang digunakan untuk menjalankan query SELECT dan mengembalikan hasil berupa kumpulan baris data adalah…

  • A. executeUpdate()
  • B. execute()
  • C. executeQuery()
  • D. executeBatch()
Jawaban: C. executeQuery().
executeQuery() digunakan untuk query yang mengembalikan data (SELECT) dan hasilnya berupa ResultSet, sedangkan executeUpdate() digunakan untuk query yang memodifikasi data (INSERT, UPDATE, DELETE).
39.

Seorang developer menganalisis dua pendekatan dalam menangani data sensitif pengguna di Java. Pendekatan pertama menyimpan data langsung di variabel public, sedangkan pendekatan kedua menggunakan variabel private dengan getter/setter. Dari sudut pandang encapsulation, pendekatan mana yang lebih baik dan mengapa?

  • A. Pendekatan kedua lebih baik karena memungkinkan validasi dan kontrol akses terhadap data sensitif melalui setter
  • B. Pendekatan pertama lebih baik karena kode menjadi lebih sederhana dan mudah dibaca
  • C. Kedua pendekatan setara karena hasil akhirnya sama dalam hal fungsionalitas
  • D. Pendekatan pertama lebih baik karena mengurangi jumlah metode yang harus ditulis
Jawaban: A. Pendekatan kedua lebih baik karena memungkinkan validasi dan kontrol akses terhadap data sensitif melalui setter.
Encapsulation melindungi integritas data dengan menyembunyikannya di balik akses terkontrol. Setter memungkinkan programmer menambahkan validasi sebelum perubahan data diterima, mencegah nilai tidak valid masuk ke sistem.
40.

Perhatikan dua class berikut: class Hewan memiliki metode suara(), kemudian class Anjing dan class Kucing masing-masing meng-override metode suara() dengan implementasi berbeda. Konsep OOP apa yang diilustrasikan oleh skenario ini?

  • A. Encapsulation, karena data dalam Hewan tersembunyi dari subclass
  • B. Abstraction, karena detail implementasi Hewan disembunyikan
  • C. Multiple inheritance, karena Anjing dan Kucing mewarisi dari dua class
  • D. Polymorphism, karena metode suara() berperilaku berbeda pada tipe objek yang berbeda
Jawaban: D. Polymorphism, karena metode suara() berperilaku berbeda pada tipe objek yang berbeda.
Skenario ini mengilustrasikan runtime polymorphism melalui method overriding: satu metode (suara) memiliki implementasi berbeda di setiap subclass, sehingga perilaku berbeda sesuai tipe objek yang memanggilnya.
41.

Seorang developer ingin membuat program Java yang dapat menyimpan data ke file dan membacanya kembali. Urutan langkah yang benar untuk operasi tulis ke file adalah…

  • A. Buat FileReader, tulis data, tutup stream
  • B. Buat FileWriter atau BufferedWriter, tulis data menggunakan method write(), tutup stream
  • C. Buat BufferedReader, baca data, simpan ke variabel
  • D. Buat ResultSet, eksekusi query INSERT, tutup koneksi
Jawaban: B. Buat FileWriter atau BufferedWriter, tulis data menggunakan method write(), tutup stream.
Untuk operasi tulis file teks di Java, digunakan FileWriter (atau dibungkus BufferedWriter untuk efisiensi), kemudian memanggil write() untuk menulis data, dan menutup stream dengan close() setelah selesai.
42.

Dalam perancangan sistem menggunakan UML, Use Case Diagram digunakan untuk menggambarkan…

  • A. Urutan interaksi antar objek dalam sistem sepanjang waktu
  • B. Struktur internal class beserta atribut dan operasinya
  • C. Kebutuhan fungsional sistem dari sudut pandang pengguna (aktor) yang berinteraksi dengan sistem
  • D. Alur kerja dan aktivitas dalam proses bisnis yang kompleks
Jawaban: C. Kebutuhan fungsional sistem dari sudut pandang pengguna (aktor) yang berinteraksi dengan sistem.
Use Case Diagram menggambarkan hubungan antara aktor (pengguna atau sistem eksternal) dengan use case (fungsionalitas sistem), digunakan untuk mendokumentasikan kebutuhan fungsional dari perspektif pengguna.
43.

Seorang analis merancang sistem perpustakaan dan ingin menggambarkan bagaimana objek “Anggota” berinteraksi dengan objek “Buku” dan “Sistem” secara berurutan saat proses peminjaman. Diagram UML yang paling tepat untuk tujuan ini adalah…

  • A. Sequence Diagram
  • B. Class Diagram
  • C. Component Diagram
  • D. Deployment Diagram
Jawaban: A. Sequence Diagram.
Sequence Diagram menggambarkan interaksi antar objek dalam urutan waktu yang berurutan, sangat cocok untuk memvisualisasikan alur komunikasi antar objek dalam skenario tertentu seperti proses peminjaman buku.
44.

Dalam Java, PreparedStatement lebih disarankan dibandingkan Statement biasa untuk query yang melibatkan input pengguna karena…

  • A. PreparedStatement lebih mudah ditulis dan sintaksnya lebih sederhana
  • B. PreparedStatement dapat mengembalikan lebih banyak baris data dari database
  • C. PreparedStatement hanya dapat digunakan dengan database MySQL dan Oracle
  • D. PreparedStatement mencegah SQL injection dengan memisahkan query dari parameter secara aman
Jawaban: D. PreparedStatement mencegah SQL injection dengan memisahkan query dari parameter secara aman.
PreparedStatement menggunakan placeholder (?) untuk parameter, sehingga nilai input pengguna tidak diinterpretasikan sebagai bagian dari query SQL, efektif mencegah serangan SQL injection yang berbahaya.
45.

Perhatikan skenario berikut: sebuah class “Lingkaran” dan class “Persegi” keduanya mewarisi dari class “Bangun2D”. Class “Bangun2D” memiliki method abstrak hitungLuas(). Setiap subclass mengimplementasikan hitungLuas() dengan rumus yang berbeda. Konsep apa yang paling tepat menggambarkan desain ini?

  • A. Encapsulation dan information hiding
  • B. Inheritance yang dikombinasikan dengan polymorphism melalui abstract method
  • C. Multiple inheritance dari dua superclass berbeda
  • D. Aggregation antara class Lingkaran dan Persegi
Jawaban: B. Inheritance yang dikombinasikan dengan polymorphism melalui abstract method.
Desain ini menggabungkan inheritance (Lingkaran dan Persegi mewarisi Bangun2D) dengan polymorphism (method hitungLuas() diimplementasikan berbeda di masing-masing subclass melalui abstract method).
46.

Method overloading di Java berbeda dari method overriding karena method overloading…

  • A. Terjadi antara superclass dan subclass, sedangkan overriding terjadi dalam satu class
  • B. Mengubah tipe kembalian metode, sedangkan overriding mengubah nama metode
  • C. Mendefinisikan beberapa metode dengan nama sama tetapi parameter berbeda dalam satu class, sedangkan overriding mendefinisikan ulang metode superclass di subclass
  • D. Hanya berlaku pada metode konstruktor, sedangkan overriding berlaku pada semua metode
Jawaban: C. Mendefinisikan beberapa metode dengan nama sama tetapi parameter berbeda dalam satu class, sedangkan overriding mendefinisikan ulang metode superclass di subclass.
Overloading (compile-time polymorphism) terjadi dalam satu class dengan beberapa metode bernama sama tetapi beda parameter, sedangkan overriding (runtime polymorphism) terjadi antar class dalam hirarki inheritance.
47.

Komponen JTable dalam Java Swing digunakan untuk…

  • A. Menampilkan data dalam format baris dan kolom seperti spreadsheet
  • B. Menampilkan gambar dan ikon di dalam jendela aplikasi
  • C. Menyediakan menu dropdown yang dapat dipilih pengguna
  • D. Membuat area input teks dengan banyak baris
Jawaban: A. Menampilkan data dalam format baris dan kolom seperti spreadsheet.
JTable adalah komponen Swing yang digunakan untuk menampilkan dan memanipulasi data dalam format tabel dua dimensi (baris dan kolom), sering digunakan untuk menampilkan hasil query database.
48.

Dalam arsitektur aplikasi Java berbasis desktop yang terhubung ke database, langkah pertama yang harus dilakukan sebelum dapat menjalankan query SQL melalui JDBC adalah…

  • A. Membuat objek ResultSet untuk menampung hasil query
  • B. Membuat objek Statement untuk mengeksekusi SQL
  • C. Mengeksekusi query CREATE TABLE untuk membuat struktur tabel
  • D. Memuat JDBC driver dan membuat koneksi ke database menggunakan DriverManager
Jawaban: D. Memuat JDBC driver dan membuat koneksi ke database menggunakan DriverManager.
Sebelum melakukan operasi database apapun, JDBC driver harus dimuat (Class.forName) dan koneksi harus dibangun melalui DriverManager.getConnection(), baru kemudian Statement atau PreparedStatement dapat dibuat.
49.

Seorang programmer membandingkan dua desain class: Class A memiliki 20 metode publik yang mengakses langsung atribut class lain, sementara Class B memiliki antarmuka yang terbatas dengan hanya 5 metode publik yang mengontrol akses datanya sendiri. Dari sudut pandang prinsip OOP, Class B lebih baik karena…

  • A. Memiliki lebih sedikit metode sehingga menggunakan lebih sedikit memori
  • B. Menerapkan encapsulation yang baik sehingga perubahan internal tidak berdampak pada kode yang menggunakannya
  • C. Lebih mudah diwariskan oleh subclass karena jumlah metode lebih sedikit
  • D. Tidak memerlukan konstruktor sehingga lebih hemat dalam penggunaan sumber daya
Jawaban: B. Menerapkan encapsulation yang baik sehingga perubahan internal tidak berdampak pada kode yang menggunakannya.
Class dengan antarmuka publik yang terbatas dan data yang terenkapsulasi dengan baik lebih mudah dipelihara karena perubahan implementasi internal tidak mempengaruhi kode lain yang bergantung padanya, meminimalkan efek samping.
50.

Dalam pengembangan aplikasi desktop Java yang lengkap, urutan pengembangan yang paling sistematis adalah…

  • A. Langsung membuat antarmuka GUI, kemudian merancang class, lalu menambahkan koneksi database
  • B. Membuat koneksi database terlebih dahulu, kemudian menulis query SQL, lalu membuat antarmuka GUI
  • C. Menganalisis kebutuhan dan merancang diagram UML, kemudian mengimplementasikan class dan logika bisnis, lalu membangun antarmuka GUI dan menghubungkan ke database
  • D. Menulis seluruh kode program sekaligus tanpa perencanaan, kemudian melakukan refactoring secara menyeluruh
Jawaban: C. Menganalisis kebutuhan dan merancang diagram UML, kemudian mengimplementasikan class dan logika bisnis, lalu membangun antarmuka GUI dan menghubungkan ke database.
Pengembangan yang sistematis dimulai dari analisis dan perancangan (UML), dilanjutkan implementasi logika bisnis sebagai inti aplikasi, kemudian membangun lapisan presentasi (GUI) dan integrasi database, sesuai pendekatan yang diajarkan dalam BMP.

Mahasiswa UT perlu memahami bahwa ada beberapa format ujian yang mungkin dihadapi. Ujian Tatap Muka atau UTM adalah format konvensional di mana kamu hadir langsung di lokasi ujian yang ditentukan. Ada juga Ujian Online atau UO, yang dikerjakan secara daring dalam jendela waktu tertentu. Satu lagi adalah Take Home Exam atau THE.

Berlatih mengerjakan Soal UO UT dan berbagai format Soal UAS UT secara bergantian akan membuat kamu lebih fleksibel dan tidak kaget saat menghadapi kondisi ujian. Setiap sesi latihan yang kamu lakukan hari ini adalah tabungan kepercayaan diri, termasuk untuk Soal UAS UT MSIM4301 Pemrograman Berbasis Desktop.

Bagikan

error: Content is protected !!