1. Dokumen tersebut berisi soal ujian akhir semester mata pelajaran Pemrograman Berorientasi Objek untuk kelas XI Rekayasa Perangkat Lunak.
2. Terdapat 40 soal pilihan ganda dan petunjuk pengerjaan soal.
3. Soal-soal meliputi konsep dasar pemrograman berorientasi objek seperti interface, string, class, database, GUI.
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Soal + jawaban PAT PBO Kelas XI RPL 2021.docx
1. PEMERINTAH PROVINSI BANTEN
DINAS PENDIDIKAN DAN KEBUDAYAAN
UNIT PELAKSANATEKNIS
SMK NEGERI 1 PANDEGLANG
Jl. Raya Labuan Km 05 Kadulisung, Palurahan, Kaduhejo, Pandeglang 42253 Telp/ Fax. 0253201012/0253203441
Surel : humas@smkn1pandeglang.sch.id laman : www.smkn1pandeglang.sch.id
PENILAIAN AKHIR TAHUN
TAHUN PELAJARAN 2021/2022
LEMBARAN SOAL
Mata Pelajaran : Pemrograman Berorientasi Objek
Paket/Kompetensi Keahlian : Rekayasa Perangkat Lunak
Kelas/Semester : XI/ 4
Hari dan Tanggal : Jumat, 3 Juni 2022
Bentuk Soal : Pilihan Ganda
Jumlah soal : 40 Pilihan Ganda
Waktu : 75 menit
Guru Mata Pelajaran : Saprudin Komala, S.Kom.
Pilihlah jawaban yang paling benar dengan memberi tanda silang (X) pada huruf A,B,C,D, atau E pada
lembar jawaban yang telah disediakan!
1. UNTUK soal nomor 1-5 perhatikan gambar contoh program java interface berikut. Interface pada program
tersebut ada pada baris...
a. //A
b. //B
c. //C
d. //D
e. //E
2. Letak pembuatan obyek untuk penggunaan interface ada pada baris...
a. //A
b. //B
2. c. //C
d. //D
e. //E
3. Method yang akan diimplementasikan/ dihubungkan oleh interface adalah...
a. //A
b. //B
c. //C
d. //D
e. //E
4. Output dari baris //B masing-masing adalah...
a. 100 dan 40
b. 21,75 dan 17,4
c. 100 dan 21,75
d. 40 dan 17,4
e. 40 dan 21,75
5. Output dari baris //C masing-masing adalah...
a. 100 dan 40
b. 21,75 dan 17,4
c. 100 dan 21,75
d. 40 dan 17,4
e. 40 dan 21,75
6. Salah satu kelas dasar yang disediakan oleh java untuk memanipulasi karakter adalah..
a. String d. String Length
b. String Immutability e. Modifier
c. String Buffer
7. Class String yang merepresentasikan urutan karakter yang dapat dikembangkan dan ditulis ulang dengan
menyisipkan karakter dan substring di tengahnya adalah...
a. String d. String Length
b. String Immutability e. Modifier
c. String Buffer
8. Isi string tidak dapat diubah lagi ketika ia sudah terbentuk, hal tersebut adalah sifat dari..
a. String d. String Length
b. String Immutability e. Modifier
c. String Buffer
9. Fungsi string yang berfungsi untuk menghitung panjang string dari sebuah variabel adalah...
a. Length d. Uppercase
b. Concat e. Lowercase
c. Compare to
10. Fungsi string yang berfungsi untuk menggabungkan string adalah...
a. Length d. Uppercase
b. Concat e. Lowercase
c. Compare to
11. Fungsi string yang berfungsi untuk mengubah huruf kecil menjadi huruf besar adalah...
a. Length d. Uppercase
b. Concat e. Lowercase
c. Compare to
12. Perhatikan script code berikut:
public class ST{
public static void main (String args[]){
String input1 = "123 ";
String input2 = "456 ";
System.out.println(input1 + input2);
} }
Output dari script code di atas adalah...
a. 142536 d. 123456
b. 456 123 e. 123 456
c. 579
3. 13. Perhatikan script code berikut:
public class STL{
public static void main (String args[]){
String panjang = " Kemenkominfo (Kementrian Telekomunikasi dan Informasi)
";
System.out.println(panjang.length());
} }
Output dari script code di atas adalah...
a. 56 d. 49
b. 55 e. 48
c. 51
14. Perhatikan script code berikut:
public class modul{
public static void main (String args[]){
String kata = "Hanacaraka Datasawala";
StringBuffer baru2 = new StringBuffer(kata);
System.out.println("nbaru (awal) : "+baru2);
System.out.println ("baru (delete): "+baru2.delete (6,15));
} }
Output dari script code di atas adalah...
a. Hanaca sawala d. Hanaca
b. Hanacasawala e. sawala
c. Hanacsawala
15. Metode dari class file yang mengambil panjang file adalah...
a. delete() d. exist()
b. getName() e. length()
c. isFile()
16. Java akses modifier yang wilayah aksesnya terbatas pada kelas yang sama dan bisa juga pada kelas yang
berbeda namun masih pada package yang sama adalah...
a. Public d. Private
b. Protected e. Void
c. Default
17. Perintah yang digunakan untuk memasukkan semua fungsi I/O ke dalam program java adalah...
a. import java.io.*;
b. import java.io.File;
c. import java.io.FileInputStream;
d. public class io {
public static void main(String[] args) {}
e. try {
statement;
} catch (IOException e) {
Statement }
18. Perintah yang digunakan untuk memasukkan fungsi koneksi ke database adalah...
a. import java.sql.Connection;
b. import java.sql.DriverManager;
c. import java.sql.Statement;
d. import java.sql.ResultSet;
e. import javax.swing.JOptionPane;
19. Perintah yang digunakan saat kita ingin menampilkan/ memilih data dari database ke java adalah...
a. import java.sql.Connection;
b. import java.sql.DriverManager;
c. import java.sql.Statement;
d. import java.sql.ResultSet;
e. import javax.swing.JOptionPane;
20. Syntax Query untuk menyimpan data ke dalam tabel adalah...
a. Add d. Edit
b. Insert e. Delete
c. Input
4. 21. Perintah untuk memanggil form Data_Karyawan pada Menu Utama adalah...
a. This.dispose(); d. new show().Data_Karyawan();
b. new form Data_Karyawan(); e. new show().form.Data_Karyawan();
c. new Data_Karyawan().show();
22. Perintah yang digunakan untuk memasukkan fungsi jendela dialog pesan adalah...
a. import java.sql.Connection;
b. import java.sql.DriverManager;
c. import java.sql.Statement;
d. import java.sql.ResultSet;
e. import javax.swing.JOptionPane;
Untuk soal nomor 23 dan 24 perhatikan potongan script code berikut:
Connection con = DriverManager. getConnection ("jdbc:mysql://localhost:3306/delta_rpl","root",
“user1234”);
23. Script yang berfungsi untuk menghubungkan aplikasi ke database adalah...
a. jdbc:mysql:// d. “root”
b. localhost:3306/ e. “user1234”
c. delta_rpl
24. Nama database pada script tersebut adalah...
a. jdbc:mysql:// d. “root”
b. localhost:3306/ e. “user1234”
c. delta_rpl
25. Nama server pada script tersebut adalah..
a. jdbc:mysql:// d. “root”
b. localhost:3306/ e. “user1234”
c. delta_rpl
26. User pada script tersebut adalah..
a. jdbc:mysql:// d. “root”
b. localhost:3306/ e. “user1234”
c. delta_rpl
27. Password pada script tersebut adalah..
a. jdbc:mysql:// d. “root”
b. localhost:3306/ e. “user1234”
c. delta_rpl
Untuk soal nomor 28 dan 29 perhatikan script code berikut:
1. private void jButton5ActionPerformed(java.awt.event.ActionEvent
evt) {
2. try {
3. java.sql.Connection conn = (java.sql.Connection)
delta.koneksi. koneksiDB();
4. java.sql.Statement stat = conn.createStatement();
5. java.sql.ResultSet rs = stat.executeQuery ("select * from
karyawan where id_karyawan = '"+jTextField1.getText()+"'");
6. if (rs.next()){
7. jTextField2.setText(rs.getString("nama_karyawan"));
8. jTextField4.setText(rs.getString("jabatan"));
9. }else{
10. jTextField2.setText("");
11. jTextField3.setText("");
12. }} catch (Exception e) {}}
28. Fungsi dari keseluruhan script code di atas adalah...
a. Tombol Simpan d. Tombol Cetak
b. Tombol Hapus e. Tampilkan Data
c. Tombol Cari
29. Pada script code baris ke 3 berfungsi untuk membuat variabel conn, pernyataan yang benar adalah...
a. Nama package = koneksi d. Nama package = delta
Nama class = delta Nama class = koneksiDB()
Nama method = koneksiDB() Nama method = koneksi
5. b. Nama package = delta e. Nama package = koneksiDB()
Nama class = koneksi Nama class = koneksi
Nama method = koneksiDB() Nama method = delta
c. Nama package = koneksi
Nama class = koneksiDB()
Nama method = delta
30. Perhatikan script berikut:
1. private void GetData(){
2. try {
3. Connection conn =(Connection)delta.koneksi.koneksiDB();
4. java.sql.Statement stm = conn.createStatement();
5. java.sql.ResultSet sql = stm.executeQuery("select * from
karyawan");
6. jTable1.setModel(DbUtils.resultSetToTableModel(sql));
7. } catch (SQLException e) {
8. }
9. }
Fungsi script tersebut adalah...
a. Menampilkan data dari database
b. Menyimpan data ke database
c. Menghapus data dari database
d. Memperbarui data pada database
e. Mencari data pada database
Untuk soal nomor 31 dan 32, perhatikan script berikut:
1. private void jButton2ActionPerformed(java.awt.event.ActionEvent
evt) {
2. if (databaru == true) {
3. try {
4. String sql = "insert into karyawan
values('"+jTextField1.getText()+"','"+jTextField2.getText()+"','"+
jTextField3.getText()+"','"+jTextField4.getText()+"','"+jTextField
5.getText()+"','"+jTextField6.getText()+"')";
5. java.sql.Connection conn =
(java.sql.Connection)delta.koneksi.koneksiDB();
6. java.sql.PreparedStatement pst =
conn.prepareStatement(sql);
7. pst.execute();
8. JOptionPane.showMessageDialog(null, "berhasil
disimpan");
9. } catch (SQLException e) {
10. JOptionPane.showMessageDialog(null, e);
11. }
12. } else {
13. try {
14. String sql = "update karyawan SET
nama_karyawan='"+jTextField2.getText()+"',nik='"+jTextField3.getTe
xt()+"',jabatan='"+jTextField4.getText()+"',no_telphone='"+jTextFi
eld5.getText()+"',alamat='"+jTextField6.getText()+"' where
id_karyawan='"+jTextField1.getText()+"'";
15. java.sql.Connection conn =
(java.sql.Connection)delta.koneksi.koneksiDB();
16. java.sql.PreparedStatement pst =
conn.prepareStatement(sql);
17. pst.execute();
18. JOptionPane.showMessageDialog(null, "berhasil
disimpan");
19. } catch (SQLException e) {
20. JOptionPane.showMessageDialog(null, e);
21. } } GetData(); }
31. Jika kita menginput data dengan data yang belum ada pada database, maka script di atas berfungsi sebagai...
a. Menampilkan data dari database
b. Menyimpan data ke database
c. Menghapus data dari database
d. Memperbarui data pada database
e. Mencari data pada database
6. 32. Jika kita menginput data dengan data yang sudah ada pada database, maka script di atas berfungsi sebagai...
a. Menampilkan data dari database
b. Menyimpan data ke database
c. Menghapus data dari database
d. Memperbarui data pada database
e. Mencari data pada database
33. Perhatikan script berikut:
1. private void jButton3ActionPerformed(java.awt.event.ActionEvent
evt) {
2. try {
3. String sql ="delete from karyawan where
id_karyawan='"+jTextField1.getText()+"'";
4. java.sql.Connection conn =
(java.sql.Connection)delta.koneksi.koneksiDB();
5. java.sql.PreparedStatement pst =
conn.prepareStatement(sql);
6. pst.execute();
7. databaru=true;
8. jTextField1.setText("");
9. jTextField2.setText("");
10. jTextField3.setText("");
11. jTextField4.setText("");
12. jTextField5.setText("");
13. jTextField6.setText("");
14. } catch (SQLException e) {}
15. GetData();
16. }
Fungsi script tersebut adalah...
a. Menampilkan data dari database
b. Menyimpan data ke database
c. Menghapus data dari database
d. Memperbarui data pada database
e. Mencari data pada database
Untuk soal nomor 34-36 perhatikan gambar berikut:
34. Untuk membuat input pilihan Jenis Kelamin seperti nomor 1 pada gambar, menggunakan objek bernama...
a. Label
b. Text Field
c. Text Area
d. Combo Box
e. List
7. f. Table
35. Untuk membuat input Alamat agar bisa berisi teks multi baris seperti nomor 2 pada gambar, menggunakan
objek bernama...
a. Label
b. Text Field
c. Text Area
d. Combo Box
e. List
f. Table
36. Untuk menampilkan data yang sudah disimpan ke dalam database seperti nomor 3 pada gambar,
menggunakan objek bernama...
a. Label
b. Text Field
c. Text Area
d. Combo Box
e. List
f. Table
Untuk soal nomor 37-40, perhatikan script code Visual Basic berikut:
1. Private Sub ButtonHitung_Click(sender As Object, e As EventArgs)
Handles Button1.Click
2. Dim panjang As Integer
3. Dim lebar As Integer
4. Dim tinggi As Integer
5. Dim volume As Integer
6.
7. panjang = tbpanjang.Text
8. lebar = tblebar.Text
9. tinggi = tbtinggi.Text
10.
11. volume = panjang * lebar * tinggi
12.
13. tbvolume.Text = volume
14. End Sub
37. Code yang menunjukkan deklarasi variable ditunjukkan oleh script pada baris ke...
a. 1
b. 2-5
c. 7-9
d. 11
e. 13
38. Code yang berfungsi untuk mendefinisikan setiap variable akan mendapat value dari objek tertentu
ditunjukkan oleh script pada baris ke...
a. 1
b. 2-5
c. 7-9
d. 11
e. 13
39. Code yang berfungsi sebagai proses utama dari subclass tersebut ditunjukkan oleh script pada baris ke...
a. 1
b. 2-5
c. 7-9
d. 11
e. 13
40. Code yang berfungsi sebagai output (menampilkan hasil proses utama) ditunjukkan oleh script pada baris
ke...
a. 1
b. 2-5
c. 7-9
d. 11
e. 13