💜 Selalu gratis

Soalut.com tetap gratis karena kamu. Yuk, bantu kami terus hadir!💜 Selalu gratis

Soal UAS UT MSIM4301 Pemrograman Berbasis Desktop dan Kunci Jawaban

Aplikasi Gratis

Soalut.com
★★★★★ 5.0
Gratis
GET IT ON Google Play
Soal UAS UT MSIM4301 Pemrograman Berbasis Desktop dan Kunci Jawaban
Soal UT MSIM4301 Pemrograman Berbasis Desktop

Habis nonton tutorial Java di YouTube, eh pas buka modul malah bingung bedain array di Modul 3 sama konsep kelas di Modul 7. Dua topik ini kelihatan teknis banget tapi ternyata saling terkait di MSIM4301 Pemrograman Berbasis Desktop. Padahal baru mau mulai ngerjain latihan. Halaman ini nyediain soal Universitas Terbuka yang fokus ke KB-KB yang sering bikin kamu mengernyitkan dahi.

Modul 5 tentang perulangan while dan Modul 8 yang membahas polymorphism jadi momok tersendiri karena beda pendekatan. Bukan karena susah, tapi butuh kebiasaan mikir logis. Cobain deh kerjakan soal per modul dulu. Kumpulan latihan soal Sistem Informasi ini dikelompokkan biar kamu nggak loncat-loncat materi.

Soal UAS UT di bawah ini membahas inti tiap KB, dari UML di Modul 6 sampai exception di Modul 8. Setiap soal dilengkapi kunci jawaban sama pembahasan, bukan cuma centang jawaban aja.

Soal UT MSIM4301 Pemrograman Berbasis Desktop

1.

Apa yang dimaksud dengan pemrograman berorientasi objek (OOP)?

  • A. Paradigma pemrograman yang menggunakan objek sebagai entitas utama
  • B. Teknik pemrograman yang berfokus pada fungsi dan prosedur
  • C. Metode pemrograman yang hanya menggunakan bahasa assembly
  • D. Pendekatan pemrograman yang tidak menggunakan struktur data
Jawaban: A
OOP adalah paradigma yang menggunakan objek sebagai komponen utama, bukan fungsi atau prosedur.
2.

Manakah dari berikut ini yang merupakan prinsip utama dalam OOP?

  • A. Polimorfisme, pewarisan, dan enkapsulasi
  • B. Pengulangan, seleksi, dan array
  • C. Variabel, konstanta, dan tipe data
  • D. Input, proses, dan output
Jawaban: A
Prinsip utama OOP meliputi polimorfisme, pewarisan (inheritance), dan enkapsulasi.
3.

Apa fungsi dari objek dalam OOP?

  • A. Menyimpan data statis yang tidak bisa diubah
  • B. Menjalankan perintah secara berurutan
  • C. Mewakili entitas dunia nyata dengan atribut dan perilaku
  • D. Menggantikan penggunaan variabel dan fungsi
Jawaban: C
Objek dalam OOP digunakan untuk merepresentasikan entitas dengan atribut (data) dan metode (perilaku).
4.

Manakah contoh yang paling tepat untuk menggambarkan konsep kelas dan objek?

  • A. Kelas adalah cetak biru, objek adalah instance dari kelas tersebut
  • B. Objek adalah cetak biru, kelas adalah instance dari objek
  • C. Kelas dan objek adalah istilah yang sama
  • D. Kelas hanya digunakan untuk angka, objek untuk teks
Jawaban: A
Kelas berfungsi sebagai cetak biru untuk membuat objek, dan objek adalah instance konkret dari kelas tersebut.
5.

Apa perbedaan utama antara kelas dan objek dalam OOP?

  • A. Kelas dapat diubah, objek tidak dapat diubah
  • B. Kelas hanya memiliki metode, objek hanya memiliki atribut
  • C. Kelas bersifat abstrak, objek bersifat konkret
  • D. Kelas adalah objek yang sudah jadi
Jawaban: C
Kelas adalah definisi abstrak, sedangkan objek adalah wujud nyata dari kelas dengan nilai atribut spesifik.
6.

Mengapa OOP dianggap lebih efektif untuk pengembangan perangkat lunak skala besar?

  • A. Karena OOP tidak memerlukan dokumentasi
  • B. Karena OOP hanya menggunakan satu file program
  • C. Karena OOP lebih lambat dalam eksekusi
  • D. Karena OOP mendukung modularitas, reuse, dan pemeliharaan kode
Jawaban: D
OOP meningkatkan modularitas, reuse kode melalui pewarisan, dan kemudahan pemeliharaan.
7.

Langkah pertama yang harus dilakukan saat menginstal Java Development Kit (JDK) adalah?

  • A. Menjalankan perintah "java -version" di terminal
  • B. Mengatur variabel lingkungan PATH
  • C. Menginstal Integrated Development Environment (IDE)
  • D. Mengunduh JDK dari situs resmi Oracle atau OpenJDK
Jawaban: D
Langkah awal instalasi JDK adalah mengunduh installer dari sumber resmi sebelum langkah lainnya.
8.

Apa fungsi dari variabel lingkungan PATH dalam instalasi Java?

  • A. Memungkinkan sistem operasi menemukan perintah javac dan java
  • B. Menentukan lokasi penyimpanan file Java
  • C. Mengatur memori yang digunakan oleh JVM
  • D. Menyimpan versi JDK yang terinstal
Jawaban: A
PATH memungkinkan OS menemukan executable seperti javac dan java tanpa perlu direktori lengkap.
9.

Perintah apa yang digunakan untuk memverifikasi bahwa JDK telah terinstal dengan benar?

  • A. javac -check
  • B. java -install
  • C. java -version
  • D. javac -verify
Jawaban: C
Perintah "java -version" menampilkan versi Java yang terinstal, menandakan instalasi berhasil.
10.

Apa yang dimaksud dengan Java Runtime Environment (JRE)?

  • A. Lingkungan untuk mengembangkan program Java
  • B. Lingkungan untuk menjalankan program Java
  • C. Compiler untuk kode Java
  • D. Debugger untuk program Java
Jawaban: B
JRE menyediakan pustaka dan JVM untuk menjalankan aplikasi Java, bukan untuk pengembangan.
11.

Mengapa penting untuk menginstal JDK, bukan hanya JRE, saat belajar pemrograman Java?

  • A. JRE tidak dapat diinstal secara terpisah
  • B. JDK mencakup compiler javac dan alat pengembangan lainnya
  • C. JRE hanya untuk sistem operasi Windows
  • D. JDK lebih ringan daripada JRE
Jawaban: B
JDK menyertakan compiler dan alat yang dibutuhkan untuk menulis serta mengkompilasi kode Java.
12.

Apa yang harus dilakukan setelah mengunduh installer JDK?

  • A. Langsung menjalankan program Java
  • B. Mengubah kode sumber Java
  • C. Menghapus JRE yang sudah ada
  • D. Menjalankan installer dan mengikuti petunjuk instalasi
Jawaban: D
Setelah mengunduh, langkah selanjutnya adalah menjalankan installer untuk menyelesaikan instalasi.
13.

Tipe data manakah yang digunakan untuk menyimpan nilai benar atau salah dalam Java?

  • A. int
  • B. boolean
  • C. float
  • D. char
Jawaban: B
Tipe boolean hanya memiliki dua nilai: true atau false.
14.

Manakah dari berikut ini yang merupakan identifier yang valid dalam Java?

  • A. 2angka
  • B. harga-barang
  • C. class
  • D. nilai_saya
Jawaban: D
Identifier tidak boleh diawali angka, bukan kata kunci (seperti class), dan tidak boleh mengandung tanda hubung. nilai_saya memenuhi aturan.
15.

Apa yang dimaksud dengan keyword dalam Java?

  • A. Nama variabel yang dibuat programmer
  • B. Nama kelas yang ditentukan pengguna
  • C. Kata-kata yang memiliki makna khusus dalam bahasa Java
  • D. Tipe data yang dapat diubah
Jawaban: C
Keyword adalah kata cadangan dengan fungsi tertentu, seperti if, else, class, dan tidak bisa digunakan sebagai identifier.
16.

Manakah pernyataan yang benar tentang tipe data float di Java?

  • A. float dapat menyimpan nilai desimal dengan akurasi tunggal
  • B. float digunakan untuk bilangan bulat
  • C. float adalah tipe data default untuk angka desimal
  • D. float harus diakhiri dengan huruf L
Jawaban: A
float menyimpan angka desimal presisi tunggal dan perlu akhiran f (misal 3.14f).
17.

Apa perbedaan antara variabel lokal dan variabel instance dalam Java?

  • A. Variabel lokal dapat diakses dari mana saja, variabel instance hanya dalam metode
  • B. Variabel lokal dideklarasikan di dalam metode, variabel instance di dalam kelas
  • C. Variabel lokal memiliki nilai default, variabel instance tidak
  • D. Variabel instance harus bertipe int, variabel lokal bisa tipe apa saja
Jawaban: B
Variabel lokal didefinisikan dalam metode dan hanya berlaku di sana, sedangkan variabel instance dideklarasikan di kelas dan dimiliki oleh objek.
18.

Dalam Java, mana dari berikut ini yang merupakan contoh identifier yang valid?

  • A. nama_saya
  • B. 2nama
  • C. nama-saya
  • D. nama saya
Jawaban: A
Identifier dalam Java harus dimulai dengan huruf, underscore, atau tanda dollar. Opsi B memenuhi aturan tersebut.
19.

Diberikan class Mahasiswa dengan atribut String nama dan int umur. Bagaimana cara mendeklarasikan objek baru dan mengisi atribut nama dengan 'Andi'?

  • A. Mahasiswa mhs = new Mahasiswa(); mhs.nama = 'Andi';
  • B. Mahasiswa mhs = new(); mhs.nama = "Andi";
  • C. Mahasiswa mhs = new Mahasiswa; mhs.nama = "Andi";
  • D. Mahasiswa mhs = new Mahasiswa(); mhs.nama = "Andi";
Jawaban: D
Deklarasi objek menggunakan new diikuti konstruktor, dan string harus diapit tanda petik ganda.
20.

Dalam method hitungLuas yang menerima parameter int panjang dan int lebar, bagaimana cara memanggil method tersebut jika objek bernama ruang?

  • A. ruang.hitungLuas(5,3)
  • B. hitungLuas(5, 3)
  • C. ruang.hitungLuas int 5 int 3
  • D. ruang.hitungLuas(5, 3)
Jawaban: A
Pemanggilan method dilakukan dengan objek diikuti titik dan method, parameter dipisah koma tanpa spasi berlebih.
21.

Jika ada class Mobil dengan method void bergerak(), dan objek mobil1, pernyataan mana yang benar untuk memanggil method tersebut?

  • A. mobil1.bergerak()
  • B. Mobil.bergerak()
  • C. mobil1.bergerak
  • D. bergerak()
Jawaban: A
Method instance dipanggil melalui objek, bukan class.
22.

Dalam Java, tipe data boolean digunakan untuk menyimpan nilai apa?

  • A. Bilangan bulat
  • B. Bilangan desimal
  • C. Nilai true atau false
  • D. Karakter
Jawaban: C
Tipe boolean hanya menyimpan true atau false.
23.

Diberikan class Buku dengan atribut String judul dan method void setJudul(String j). Bagaimana cara mengisi atribut judul dengan nilai 'Java'?

  • A. buku.setJudul("Java");
  • B. buku.setJudul('Java');
  • C. buku.judul = 'Java';
  • D. buku.judul = "Java";
Jawaban: A
Method setJudul menggunakan parameter String, nilainya harus dalam tanda petik ganda.
24.

Jika ada int[] angka = {1, 2, 3, 4, 5};, berapa nilai dari angka[2]?

  • A. 1
  • B. 3
  • C. 2
  • D. 4
Jawaban: B
Indeks array dimulai dari 0, sehingga indeks ke-2 adalah elemen ketiga yaitu 3.
25.

Diberikan String kata = "Pemrograman";, method apa yang digunakan untuk mengambil karakter pada indeks ke-4?

  • A. kata.index(4)
  • B. kata.getChar(4)
  • C. kata.charAt(4)
  • D. kata.substring(4,5)
Jawaban: C
charAt() digunakan untuk mengambil karakter pada indeks tertentu.
26.

Array dua dimensi int[][] matriks = new int[3][4]; memiliki jumlah baris dan kolom berapa?

  • A. 4 baris, 3 kolom
  • B. 3 baris, 4 kolom
  • C. 3 baris, 3 kolom
  • D. 4 baris, 4 kolom
Jawaban: B
Deklarasi new int[3][4] berarti 3 baris dan 4 kolom.
27.

Jika String s1 = "Halo"; String s2 = "halo";, manakah pernyataan yang benar?

  • A. s1 == s2 akan true
  • B. s1.equalsIgnoreCase(s2) akan true
  • C. s1.equals(s2) akan true
  • D. s1.compareTo(s2) akan 0
Jawaban: B
equalsIgnoreCase membandingkan tanpa memperhatikan huruf besar kecil, sehingga 'Halo' dan 'halo' dianggap sama.
28.

Array String[] nama = {"Ali", "Budi", "Cici"};, bagaimana cara mengubah elemen pertama menjadi 'Doni'?

  • A. nama[0] = 'Doni';
  • B. nama[1] = "Doni";
  • C. nama[0] = "Doni";
  • D. nama[0] = Doni;
Jawaban: C
Elemen array diubah dengan indeks yang sesuai, dan string harus diapit tanda petik ganda.
29.

Method length() pada String digunakan untuk apa?

  • A. Mengembalikan panjang array
  • B. Mengembalikan ukuran memori
  • C. Mengembalikan indeks terakhir
  • D. Mengembalikan jumlah karakter dalam string
Jawaban: D
Method length() pada String mengembalikan jumlah karakter.
30.

Jika String teks = "Java";, bagaimana cara mendapatkan substring "av"?

  • A. teks.substring(2,4)
  • B. teks.substring(1,3)
  • C. teks.substring(0,2)
  • D. teks.substring(1,2)
Jawaban: B
substring(1,3) mengambil karakter dari indeks 1 hingga 2, menghasilkan 'av'.
31.

Array int[] data = {10, 20, 30, 40};, berapa nilai dari data.length?

  • A. 3
  • B. Tidak terdefinisi
  • C. 5
  • D. 4
Jawaban: D
Array data memiliki 4 elemen, sehingga length bernilai 4.
32.

Method toUpperCase() pada String akan mengembalikan string baru dengan karakter apa?

  • A. Semua huruf kapital
  • B. Semua huruf kecil
  • C. Karakter pertama kapital
  • D. Tanpa perubahan
Jawaban: A
toUpperCase() mengubah semua huruf menjadi kapital.
33.

Jika String str = "Pemrograman Berbasis Desktop";, method indexOf('B') akan mengembalikan nilai berapa?

  • A. 11
  • B. 12
  • C. 14
  • D. 13
Jawaban: D
Karakter 'B' berada pada indeks ke-13 (indeks dimulai 0).
34.

Array char[] huruf = {'a', 'b', 'c'};, bagaimana cara mengakses elemen 'b'?

  • A. huruf['b']
  • B. huruf[2]
  • C. huruf[1]
  • D. huruf[0]
Jawaban: C
Indeks dimulai dari 0, sehingga 'b' ada di indeks 1.
35.

Perhatikan kode berikut: public class Main { public static void main(String[] args) { int[] angka = {1,3,5,7,9}; System.out.println(angka.length); } } Apa output dari kode tersebut?

  • A. 4
  • B. 5
  • C. 6
  • D. Error
Jawaban: B
Method length pada array mengembalikan jumlah elemen, yaitu 5.
36.

Dalam struktur if, operator yang digunakan untuk memeriksa apakah dua nilai tidak sama adalah…

  • A. ==
  • B. >=
  • C. !=
  • D. <=
Jawaban: C
Operator != digunakan untuk memeriksa ketidaksamaan.
37.

int x = 10; if (x > 5) { System.out.println("A"); } else if (x > 15) { System.out.println("B"); } Apa output dari kode di atas?

  • A. Error
  • B. B
  • C. Tidak ada output
  • D. A
Jawaban: D
Karena x=10 lebih besar dari 5, maka blok if pertama dieksekusi, mencetak A.
38.

int nilai = 75; if (nilai >= 80) { System.out.println("Lulus"); } else if (nilai >= 60) { System.out.println("Remidi"); } else { System.out.println("Tidak lulus"); } Apa output dari kode di atas?

  • A. Remidi
  • B. Lulus
  • C. Tidak lulus
  • D. Error
Jawaban: A
Karena nilai 75 lebih dari atau sama dengan 60 tetapi kurang dari 80, maka blok else if dieksekusi, mencetak Remidi.
39.

String hasil; int a = 10, b = 20; if (a > b) { hasil = "a lebih besar"; } else { hasil = "b lebih besar atau sama"; } System.out.println(hasil); Apa output dari kode di atas?

  • A. a lebih besar
  • B. b lebih besar atau sama
  • C. tidak ada output
  • D. error
Jawaban: B
Karena 10 tidak lebih besar dari 20, maka blok else dieksekusi, mencetak b lebih besar atau sama.
40.

int bilangan = 7; if (bilangan % 2 == 0) { System.out.println("Genap"); } else { System.out.println("Ganjil"); } Apa output dari kode di atas?

  • A. Genap
  • B. Tidak ada output
  • C. Ganjil
  • D. Error
Jawaban: C
Karena 7 modulo 2 menghasilkan 1, tidak sama dengan 0, maka blok else dieksekusi, mencetak Ganjil.
41.

Dalam struktur switch case, statement yang digunakan untuk keluar dari blok switch setelah suatu case dieksekusi adalah…

  • A. continue
  • B. return
  • C. break
  • D. exit
Jawaban: C
Keyword break digunakan untuk menghentikan eksekusi switch.
42.

int hari = 3; switch (hari) { case 1: System.out.println("Senin"); break; case 2: System.out.println("Selasa"); break; case 3: System.out.println("Rabu"); break; default: System.out.println("Hari lain"); } Apa output dari kode di atas?

  • A. Rabu
  • B. Selasa
  • C. Senin
  • D. Hari lain
Jawaban: A
Karena hari=3, maka case 3 dieksekusi, mencetak Rabu.
43.

char nilai = 'B'; switch (nilai) { case 'A': System.out.println("Sangat baik"); break; case 'B': System.out.println("Baik"); break; case 'C': System.out.println("Cukup"); break; default: System.out.println("Kurang"); } Apa output dari kode di atas?

  • A. Baik
  • B. Sangat baik
  • C. Cukup
  • D. Kurang
Jawaban: A
Karena nilai='B', maka case B dieksekusi, mencetak Baik.
44.

String warna = "merah"; switch (warna) { case "merah": System.out.println("Berhenti"); break; case "kuning": System.out.println("Hati-hati"); break; case "hijau": System.out.println("Jalan"); break; default: System.out.println("Warna tidak dikenal"); } Apa output dari kode di atas?

  • A. Warna tidak dikenal
  • B. Hati-hati
  • C. Jalan
  • D. Berhenti
Jawaban: D
Karena warna="merah", maka case "merah" dieksekusi, mencetak Berhenti.
45.

int pilihan = 2; switch (pilihan) { case 1: System.out.println("Pertama"); break; case 2: System.out.println("Kedua"); break; case 3: System.out.println("Ketiga"); break; default: System.out.println("Tidak ada"); } Apa output dari kode di atas?

  • A. Kedua
  • B. Pertama
  • C. Ketiga
  • D. Tidak ada
Jawaban: A
Karena pilihan=2, maka case 2 dieksekusi, mencetak Kedua.
46.

Perhatikan kode berikut: for (int i = 0; i < 5; i++) { System.out.print(i + " "); } Apa output dari kode di atas?

  • A. 1 2 3 4 5
  • B. 0 1 2 3 4
  • C. 0 1 2 3 4 5
  • D. 1 2 3 4
Jawaban: B
Perulangan for dari i=0 hingga i<5 mencetak nilai i yaitu 0,1,2,3,4.
47.

int sum = 0; for (int i = 1; i <= 4; i++) { sum += i; } System.out.println(sum); Apa output dari kode di atas?

  • A. 6
  • B. 8
  • C. 10
  • D. 4
Jawaban: C
Penjumlahan dari 1+2+3+4=10.
48.

String teks = "Java"; for (int i = 0; i < teks.length(); i++) { System.out.print(teks.charAt(i) + " "); } Apa output dari kode di atas?

  • A. Error
  • B. J a v a
  • C. Java
  • D. J a v a
Jawaban: D
Perulangan for mencetak karakter string 'Java' satu per satu dengan spasi: J a v a.
49.

int hasil = 1; for (int i = 1; i <= 3; i++) { hasil *= i; } System.out.println(hasil); Apa output dari kode di atas?

  • A. 6
  • B. 3
  • C. 2
  • D. 9
Jawaban: A
Perkalian 1*1*2*3=6.
50.

for (int i = 2; i <= 8; i += 2) { System.out.print(i + " "); } Apa output dari kode di atas?

  • A. 4 6 8
  • B. 2 4 6 8 10
  • C. 2 3 4 5 6 7 8
  • D. 2 4 6 8
Jawaban: D
Perulangan for dengan increment 2 dari 2 hingga 8 menghasilkan 2,4,6,8.
51.

int i = 0; while (i < 3) { System.out.print(i + " "); i++; } Apa output dari kode di atas?

  • A. 1 2 3
  • B. 0 1 2
  • C. 0 1 2 3
  • D. Error
Jawaban: B
Perulangan while dieksekusi selama i<3, dengan i dimulai 0, mencetak 0,1,2.
52.

Perulangan while pada Java akan terus berjalan selama apa?

  • A. kondisi bernilai true
  • B. kondisi bernilai false
  • C. variabel counter mencapai batas
  • D. eksekusi break dipanggil
Jawaban: A
Perulangan while akan terus mengeksekusi blok kode selama kondisi yang diberikan bernilai true. Jika kondisi false, perulangan berhenti.
53.

Apa yang terjadi jika kondisi pada perulangan while sejak awal bernilai false?

  • A. blok perulangan tetap dijalankan sekali
  • B. program akan error
  • C. blok perulangan tidak pernah dijalankan
  • D. perulangan berjalan tanpa henti
Jawaban: C
Jika kondisi awal while false, blok kode di dalam perulangan tidak akan dieksekusi sama sekali.
54.

Perhatikan kode berikut: int i = 0; while (i < 5) { i++; } Setelah perulangan selesai, berapa nilai i?

  • A. 4
  • B. 5
  • C. 6
  • D. 0
Jawaban: B
Perulangan while berjalan selama i < 5. Setiap iterasi i bertambah 1, sehingga setelah i=5 kondisi false dan perulangan berhenti. Nilai akhir i adalah 5.
55.

Apa fungsi pernyataan break di dalam perulangan while?

  • A. melanjutkan ke iterasi berikutnya
  • B. menghentikan perulangan lebih awal
  • C. mengulang dari awal
  • D. menyebabkan error
Jawaban: B
Pernyataan break digunakan untuk keluar dari perulangan while secara paksa sebelum kondisi menjadi false.
56.

Apa singkatan dari UML?

  • A. Unified Modeling Language
  • B. Unified Markup Language
  • C. Universal Modeling Language
  • D. Unified Module Language
Jawaban: A
UML adalah singkatan dari Unified Modeling Language, sebuah bahasa pemodelan standar untuk pengembangan perangkat lunak.
57.

Diagram UML yang digunakan untuk menggambarkan interaksi antar objek berdasarkan urutan waktu adalah?

  • A. sequence diagram
  • B. class diagram
  • C. use case diagram
  • D. activity diagram
Jawaban: A
Sequence diagram menggambarkan interaksi antar objek dalam urutan waktu tertentu.
58.

Jenis diagram UML yang menunjukkan hubungan antar kelas adalah?

  • A. use case diagram
  • B. activity diagram
  • C. class diagram
  • D. sequence diagram
Jawaban: C
Class diagram digunakan untuk menunjukkan struktur statis sistem dengan hubungan antar kelas.
59.

Apa tujuan utama dari use case diagram?

  • A. menunjukkan alur kerja sistem
  • B. menunjukkan urutan pesan
  • C. menunjukkan struktur kelas
  • D. menunjukkan interaksi pengguna dengan sistem
Jawaban: D
Use case diagram menggambarkan fungsionalitas sistem dari sudut pandang pengguna atau aktor.
60.

Dalam UML, apa yang dimaksud dengan aktor?

  • A. metode dalam objek
  • B. bagian dari kode program
  • C. kelas utama dalam sistem
  • D. entitas yang berinteraksi dengan sistem
Jawaban: D
Aktor adalah entitas eksternal, seperti pengguna atau sistem lain, yang berinteraksi dengan sistem.
61.

Langkah pertama dalam perancangan dengan UML adalah?

  • A. membuat class diagram
  • B. mengidentifikasi kebutuhan sistem
  • C. membuat sequence diagram
  • D. menulis kode program
Jawaban: B
Perancangan dengan UML dimulai dengan mengidentifikasi kebutuhan sistem untuk memahami apa yang harus dilakukan sistem.
62.

Diagram UML yang menggambarkan aliran aktivitas dalam sistem adalah?

  • A. class diagram
  • B. sequence diagram
  • C. use case diagram
  • D. activity diagram
Jawaban: D
Activity diagram menunjukkan aliran aktivitas atau proses dalam sistem.
63.

Dalam perancangan UML, hubungan generalization antara kelas menunjukkan?

  • A. agregasi
  • B. pewarisan
  • C. komposisi
  • D. dependensi
Jawaban: B
Generalization dalam UML mewakili hubungan pewarisan (inheritance) antara kelas induk dan kelas anak.
64.

Apa yang dimaksud dengan multiplicity dalam class diagram?

  • A. tipe data atribut
  • B. nama kelas
  • C. jumlah instance yang terlibat dalam hubungan
  • D. metode kelas
Jawaban: C
Multiplicity menentukan jumlah objek yang berpartisipasi dalam hubungan antar kelas.
65.

Apa yang dimaksud dengan abstraction dalam pemrograman berorientasi objek?

  • A. menyembunyikan detail implementasi dan hanya menampilkan fungsi
  • B. membuat objek dari kelas
  • C. menghubungkan metode dengan data
  • D. mengubah nilai variabel
Jawaban: A
Abstraction adalah konsep menyembunyikan detail kompleks dan hanya menampilkan fungsionalitas esensial.
66.

Interface dalam Java mendefinisikan?

  • A. implementasi metode
  • B. variabel instan
  • C. kontrak metode tanpa implementasi
  • D. konstruktor
Jawaban: C
Interface hanya mendeklarasikan metode abstrak yang harus diimplementasikan oleh kelas yang menggunakannya.
67.

Sebuah kelas yang mengimplementasikan interface harus?

  • A. mengimplementasikan semua metode abstrak dari interface
  • B. tidak melakukan apa-apa
  • C. hanya mengimplementasikan beberapa metode
  • D. membuat interface baru
Jawaban: A
Kelas yang mengimplementasikan interface wajib menyediakan implementasi untuk semua metode abstrak yang dideklarasikan di interface.
68.

Kata kunci yang digunakan untuk mengimplementasikan interface dalam Java adalah?

  • A. extends
  • B. interface
  • C. abstract
  • D. implements
Jawaban: D
Kata kunci implements digunakan oleh kelas untuk mengimplementasikan interface.
69.

Dalam konsep abstraction pada pemrograman berorientasi objek Java, bagaimana cara mendeklarasikan sebuah kelas abstrak?

  • A. Menggunakan keyword 'static' sebelum kata kunci 'class'
  • B. Menggunakan keyword 'final' sebelum kata kunci 'class'
  • C. Menggunakan keyword 'abstract' sebelum kata kunci 'class'
  • D. Menggunakan keyword 'private' sebelum kata kunci 'class'
Jawaban: C
Kelas abstrak dideklarasikan dengan keyword 'abstract' sebelum 'class'.
70.

Interface dalam Java mendefinisikan kontrak yang harus diimplementasikan oleh kelas. Manakah pernyataan yang benar mengenai interface?

  • A. Interface dapat diinstansiasi langsung
  • B. Interface tidak dapat memiliki method abstrak
  • C. Interface dapat memiliki implementasi method default
  • D. Interface hanya boleh memiliki satu method
Jawaban: C
Sejak Java 8, interface dapat memiliki method default dengan implementasi.
71.

Dalam inheritance, hubungan antara kelas induk dan kelas anak disebut sebagai relasi?

  • A. Polimorfisme
  • B. Pewarisan
  • C. Abstraksi
  • D. Enkapsulasi
Jawaban: B
Inheritance adalah pewarisan sifat dari kelas induk ke kelas anak.
72.

Jika kelas B merupakan subclass dari kelas A, dan kelas A memiliki method 'tampil()' yang bersifat public, maka di kelas B:

  • A. Method 'tampil()' menjadi private
  • B. Method 'tampil()' harus dideklarasikan ulang
  • C. Method 'tampil()' otomatis diwariskan
  • D. Method 'tampil()' tidak bisa diakses
Jawaban: C
Method public di kelas induk diwariskan ke subclass.
73.

Keyword yang digunakan untuk memanggil konstruktor kelas induk dari kelas anak adalah?

  • A. super
  • B. this
  • C. parent
  • D. base
Jawaban: A
Keyword 'super' digunakan untuk merujuk ke kelas induk.
74.

Jika kelas induk memiliki konstruktor berparameter, bagaimana cara memanggilnya dari konstruktor kelas anak?

  • A. Menggunakan 'this(parameter)' sebagai pernyataan pertama
  • B. Menggunakan 'super(parameter)' sebagai pernyataan pertama
  • C. Menggunakan 'parent(parameter)' sebagai pernyataan pertama
  • D. Menggunakan 'base(parameter)' sebagai pernyataan pertama
Jawaban: B
Konstruktor induk dipanggil dengan 'super(parameter)' di baris pertama.
75.

Dalam inheritance, manakah pernyataan yang benar mengenai method overriding?

  • A. Method di kelas anak harus memiliki nama yang berbeda dari induk
  • B. Method di kelas anak dapat memiliki implementasi yang sama atau berbeda
  • C. Method di kelas anak harus memiliki parameter yang berbeda dari induk
  • D. Method di kelas anak harus memiliki tipe kembalian yang berbeda
Jawaban: B
Overriding memungkinkan implementasi ulang method dengan nama dan parameter sama.
76.

Encapsulation dalam OOP bertujuan untuk:

  • A. Menurunkan sifat dari kelas induk
  • B. Membuat kelas menjadi abstrak
  • C. Memungkinkan banyak bentuk method
  • D. Menyembunyikan detail implementasi dan melindungi data
Jawaban: D
Encapsulation menyembunyikan data dan hanya menyediakan akses melalui method.
77.

Untuk menerapkan encapsulation, atribut dalam kelas sebaiknya memiliki akses modifier:

  • A. public
  • B. default
  • C. protected
  • D. private
Jawaban: D
Atribut private hanya dapat diakses dari dalam kelas itu sendiri.
78.

Method yang digunakan untuk mengakses nilai atribut private disebut:

  • A. Setter
  • B. Constructor
  • C. Getter
  • D. Destructor
Jawaban: C
Getter method digunakan untuk mengambil nilai atribut private.
79.

Jika sebuah atribut private ingin diubah nilainya dari luar kelas, maka harus disediakan:

  • A. Getter method
  • B. Method static
  • C. Constructor berparameter
  • D. Setter method
Jawaban: D
Setter method digunakan untuk mengubah nilai atribut private.
80.

Manakah contoh yang benar dari enkapsulasi dalam kode Java?

  • A. public int data;
  • B. int data;
  • C. protected int data;
  • D. private int data; public int getData() { return data; }
Jawaban: D
Atribut private dengan getter dan setter adalah contoh enkapsulasi.
81.

Polymorphism dalam OOP memungkinkan:

  • A. Sebuah method memiliki banyak bentuk dengan nama yang sama
  • B. Kelas tidak dapat diinstansiasi
  • C. Data disembunyikan dari luar
  • D. Kelas mewarisi sifat dari banyak induk
Jawaban: A
Polymorphism berarti banyak bentuk, biasanya melalui overriding atau overloading.
82.

Contoh polymorphism melalui method overloading adalah:

  • A. Method 'hitung(int a)' dan 'hitung(int a, int b)' dalam satu kelas
  • B. Method 'hitung()' di kelas induk dan anak dengan nama sama
  • C. Method 'hitung()' di kelas induk dan anak dengan parameter berbeda
  • D. Method 'hitung()' hanya dideklarasikan sekali
Jawaban: A
Overloading adalah method dengan nama sama tapi parameter berbeda dalam satu kelas.
83.

Untuk mencapai polymorphism melalui inheritance, method di kelas induk harus bersifat:

  • A. final
  • B. dapat di-override
  • C. private
  • D. static
Jawaban: B
Method yang dapat di-override memungkinkan polimorfisme dinamis.
84.

Jika sebuah method di kelas induk ditandai dengan 'final', maka method tersebut:

  • A. Tidak dapat di-override oleh kelas anak
  • B. Dapat di-override oleh kelas anak
  • C. Hanya dapat diakses dari kelas induk
  • D. Menjadi abstract secara otomatis
Jawaban: A
Method final tidak dapat di-override untuk menjaga implementasi tetap.
85.

Dalam konsep polymorphism, method yang dapat dipanggil pada suatu objek ditentukan oleh tipe referensi, bukan oleh tipe objek sebenarnya. Manakah pernyataan berikut yang benar terkait polymorphism di Java?

  • A. Polymorphism hanya dapat diterapkan pada class abstrak
  • B. Method overriding memungkinkan satu method memiliki banyak bentuk berdasarkan class turunan
  • C. Polymorphism mengharuskan penggunaan static method
  • D. Polymorphism hanya bekerja pada method constructor
Jawaban: B
Method overriding pada subclass memungkinkan method yang sama memiliki perilaku berbeda tergantung class objek, ini adalah inti polymorphism.
86.

Ketika terjadi eksepsi (exception) pada blok try-catch, apa yang terjadi jika tidak ada blok catch yang sesuai dengan tipe eksepsi tersebut?

  • A. Program akan melanjutkan eksekusi setelah blok try-catch
  • B. Eksepsi akan diabaikan secara otomatis
  • C. Eksepsi akan ditangani oleh blok finally
  • D. Program akan menampilkan pesan error dan berhenti
Jawaban: D
Jika tidak ada catch yang cocok, eksepsi akan menyebar ke pemanggil method dan biasanya menyebabkan program berhenti dengan pesan error.
87.

Statement manakah yang digunakan untuk menulis data ke dalam file teks di Java menggunakan kelas FileWriter?

  • A. FileWriter writer = new FileWriter("data.txt"); writer.write("Hello");
  • B. FileWriter writer = new FileWriter("data.txt"); writer.print("Hello");
  • C. FileWriter writer = new FileWriter("data.txt"); writer.appendLine("Hello");
  • D. FileWriter writer = new FileWriter("data.txt"); writer.output("Hello");
Jawaban: A
FileWriter memiliki method write(String) untuk menulis teks ke file. Method print, appendLine, dan output tidak tersedia di kelas FileWriter.
88.

Apa fungsi dari blok finally dalam penanganan eksepsi?

  • A. Menangkap semua eksepsi yang terjadi di blok try
  • B. Menjalankan kode tertentu tanpa syarat, baik terjadi eksepsi maupun tidak
  • C. Menentukan class eksepsi yang akan ditangani
  • D. Menghentikan eksekusi program jika terjadi eksepsi
Jawaban: B
Blok finally selalu dieksekusi setelah blok try-catch selesai, terlepas dari apakah eksepsi terjadi atau tidak, untuk membersihkan sumber daya.
89.

Perhatikan kode berikut: try { int hasil = 10 / 0; } catch (ArithmeticException e) { System.out.println("Error"); } finally { System.out.println("Selesai"); } Output yang akan muncul adalah?

  • A. Error
  • B. Selesai
  • C. Runtime error di baris pertama
  • D. Error lalu Selesai
Jawaban: D
Pembagian dengan nol memicu ArithmeticException, blok catch menangkapnya dan mencetak 'Error', kemudian blok finally mencetak 'Selesai'.
90.

Kelas manakah di Java yang digunakan untuk membaca input dari file teks dengan menggunakan buffer?

  • A. FileReader
  • B. FileInputStream
  • C. InputStreamReader
  • D. BufferedReader
Jawaban: D
BufferedReader, biasanya dikombinasikan dengan FileReader, digunakan untuk membaca teks dari file secara efisien dengan buffering.
91.

Apa kepanjangan dari GUI dalam pengembangan aplikasi desktop?

  • A. General User Interface
  • B. Graphical User Interface
  • C. Graphical Universal Interface
  • D. General Universal Interface
Jawaban: B
GUI singkatan dari Graphical User Interface, yaitu antarmuka pengguna berbasis grafis yang memungkinkan interaksi melalui elemen visual.
92.

Komponen Swing manakah yang digunakan untuk menampilkan teks dalam satu baris dan memiliki label?

  • A. JLabel
  • B. JTextArea
  • C. JTextField
  • D. JButton
Jawaban: A
JLabel adalah komponen Swing untuk menampilkan teks pendek, biasanya sebagai label. JTextField untuk input satu baris, JTextArea untuk input banyak baris.
93.

Untuk menangani event klik tombol di Swing, interface yang harus diimplementasikan adalah?

  • A. ActionListener
  • B. MouseListener
  • C. KeyListener
  • D. WindowListener
Jawaban: A
ActionListener digunakan untuk menangani aksi seperti klik tombol, dengan method actionPerformed. MouseListener lebih spesifik untuk mouse.
94.

Method apa yang digunakan untuk mengatur agar jendela aplikasi Swing muncul di tengah layar?

  • A. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
  • B. frame.setVisible(true)
  • C. frame.setLocationRelativeTo(null)
  • D. frame.setSize(400, 300)
Jawaban: C
setLocationRelativeTo(null) akan memposisikan jendela di tengah layar. Method lain untuk visibility, close operation, dan ukuran.
95.

Apa fungsi dari layout manager BorderLayout dalam Swing?

  • A. Mengatur komponen dalam satu baris horizontal
  • B. Mengatur komponen dalam grid dengan ukuran sama
  • C. Mengatur komponen dalam lima region: Utara, Selatan, Timur, Barat, dan Tengah
  • D. Mengatur komponen dalam satu kolom vertikal
Jawaban: C
BorderLayout membagi panel menjadi lima region (North, South, East, West, Center). FlowLayout untuk baris, GridLayout untuk grid.
96.

Dalam JDBC, langkah pertama yang harus dilakukan sebelum mengeksekusi query SQL adalah?

  • A. Membuat koneksi ke database
  • B. Membuat objek statement
  • C. Menutup koneksi
  • D. Membaca hasil query
Jawaban: A
Langkah pertama adalah membuat koneksi ke database menggunakan DriverManager.getConnection, lalu baru membuat statement dan eksekusi.
97.

Driver JDBC yang digunakan untuk menghubungkan Java dengan MySQL adalah?

  • A. com.mysql.jdbc.Driver
  • B. org.mysql.Driver
  • C. com.mysql.cj.jdbc.Driver
  • D. mysql.Driver
Jawaban: C
Driver untuk MySQL versi terkini adalah com.mysql.cj.jdbc.Driver. Untuk versi lama menggunakan com.mysql.jdbc.Driver, tetapi versi baru menggunakan cj.
98.

Method manakah dari interface Statement yang digunakan untuk menjalankan query SELECT di JDBC?

  • A. execute()
  • B. executeUpdate()
  • C. executeQuery()
  • D. executeInsert()
Jawaban: C
executeQuery() digunakan untuk query SELECT yang mengembalikan ResultSet. executeUpdate() untuk INSERT/UPDATE/DELETE.
99.

Apa yang dimaksud dengan SQL Injection dan cara pencegahannya?

  • A. Serangan dengan mengubah struktur database, dicegah dengan Statement
  • B. Serangan dengan menyisipkan kode SQL melalui input, dicegah dengan PreparedStatement
  • C. Serangan dengan menghapus tabel, dicegah dengan Connection
  • D. Serangan dengan membaca semua data, dicegah dengan ResultSet
Jawaban: B
SQL injection adalah serangan dengan menyisipkan perintah SQL berbahaya melalui input pengguna. Dicegah menggunakan PreparedStatement dengan parameter binding.
100.

Setelah selesai menggunakan koneksi database, langkah yang tepat adalah?

  • A. Menutup ResultSet, lalu Connection, lalu Statement
  • B. Menutup Connection, lalu Statement, lalu ResultSet
  • C. Menutup Statement, lalu ResultSet, lalu Connection
  • D. Menutup ResultSet, lalu Statement, lalu Connection
Jawaban: D
Urutan penutupan yang benar adalah ResultSet, Statement, lalu Connection. Ini memastikan sumber daya dibebaskan dengan benar tanpa error.

Tiap kali lihat soal inheritance, baru sadar UML itu ternyata sering dipakai buat nentuin struktur kodenya. Banyak yang akhirnya nggak bisa bedain kapan pakai abstraction dan kapan perlu polymorphism pas ngerjain studi kasus. Nah soal di atas itu contoh nyata yang bikin kita paham kaitan antar modul dari Java dasar sampai OOP lanjutan. Ada banyak bank soal UAS UT lain kalau mau cek variasi soal serupa biar nggak kaget pas ujian.

Di MSIM4301 Pemrograman Berbasis Desktop, bagian GUI dan database sering muncul bareng di soal UO yang butuh analisis koneksi keduanya. Sementara soal UTM diem-diem nguji pemahaman tipedata sama perulangan lewat potongan kode singkat. Yang repetitif kayak exception handling juga wajib dicermati karena bentuknya beda tiap semester. Intinya latihan soal ini jadi bekal buat ngehadapin pola yang nggak akan jauh dari yang sudah dikerjakan.

Bagikan

error: Content is protected !!