Program Studi: INFORMATIKA
Waktu: 120 menit
1. Di bawah ini termasuk dalam tipe Creational Pattern, yaitu:
select one or more:
2. Lihat Gambar 4 dan Gambar 5
Andaikan sebuah kelas Cheque ditambahkan. Supaya Cheque bisa disimpan SavingsAccount, kita tidak perlu melakukan modifikasi terhadap fungsi store di interface BankAccount dan kelas SavingsAccount. Hal ini terjadi karena prinsip OCP telah berhasil diimplementasikan dengan baik. Artinya fungsi store tidak mengalami perubahan (closed for modification) untuk setiap penambahan kelas yang mengimplementasikan interface ______ Sementara itu, kelas implementor dapat bertambah terus (open for extension) yang mengakibatkan fungsionalitas dari fungsi store bertambah, tanpa harus melakukan perubahan terhadap kode program
Answer:
3. Berikut ini merupakan pernyataan yang BENAR tentang pattern adalah
Select one or more:
4. Beriikut ini yang termasuk di dalam element daru design pattern:
select one or more:
5. Di bawah ini merupakan kelas Counter:
public class Counter { int count = 0; public Counter() {} public int increment() { return ++count; } public int decrement() { return --count; } }
Di bawah ini merupakan kelas pengujian untuk Counter
public class CounterTest extends junit.framework.TestCase { Counter counter1; public CounterTest() { } protected void setUp() { counter1 = new Counter(); counter1.count=1; } public void testIncrement() { assertTrue(counter1.increment() == 1); } public void testIncrementFalse() { assertFalse(counter1.increment() == 0); } public void testDecrement() { assertTrue(counter1.decrement() == -1); } }
Apabila kelas pengujian dijalankan, test case mana sajakah yang failed?
select one or more:
6. Lihat Gambar 2
Method getColumnName tersebut digunakan untuk
7. public Mahasiswa showMahasiswa(String query)
{ con = dbCon.makeConnection(); String sql = "SELECT m.*, p.* FROM mahasiswa as m JOIN prodi as p ON m.kode_prodi = p.kode_prodi WHERE (m.npm LIKE " + "'%" + query + "%'" + "OR m.nama_mhs LIKE '%" + query + "%'" + "OR p.nama_prodi LIKE '%" + query +"%")"; Mahasiswa m; //kode yang lain dihilangkan return m; } Berdasarkan kasus pada tutorial, potongan code berikut ini terletak pada persistence layer dan merupakan potongan code yang benar untuk mengambil data mahasiswa dari database berdasarkan kunci pencarian tertentu.
Select one:
8. Relasi mana yang cocok digunakan untuk relasi antara Klub dengan Pemain Bola?
9. "Objek penyusun tidak bisa ada tanpa keberadaan objek whole." Berdasarkan statement di atas disebut juga dengan relasi komposisi.
10. Berikut ini merupakan pernyataan yang BENAR adalah:
11. Yang merupakan aksesibilitas anggota di dalam OOP adalah:
12. Perhatikan potongan kode berikut:
public void addFilm (Film f) { film[counter] = new Film (f); counter++; }
Kode tersebut merupakan method yang terletak di kelas Bioskop. Kode tersebut berisikan sebuah method addFilm yang akan menambahkan objek Film ke kelas Bioskop dengan relasi Agregasi.
13. Kode syntax di Java untuk membuat pewarisan kelas adalah:
14. Pada semester genap 2023/2024, program studi Informatika menawarkan beberapa mata kuliah. Setiap mata kuliah diajar oleh seorang atau beberapa dosen dan diikuti oleh beberapa mahasiswa. Kelas yang dapat teridentifikasi adalah:
15. Kode berikut merupakan penerapan dari:
class Pegawai { private String nama; private int gaji; public Pegawai (String nama) { this.nama = nama; gaji = 500000; } public Pegawai () { nama = "Harry Potter"; gaji = 1000000; } }
16. (Lihat Gambar 17) Potongan gambar berikut adalah menggambarkan adanya dependency antara kelas Dosen dengan Mata Kuliah. Tipe dependency apa yang menggambarkan pada potongan code berikut ini?
17. Pilih pasangan yang sesuai antara deskripsi dengan jenis variabel/metode yang tepat:
Setiap objek memiliki salinan dan salinan tersebut memiliki nilai masing-masing | |
Menyatakan bahwa sebuah variabel hanya dapat diakses oleh fungsi-fungsi yang ada pada kelas tersebut | |
Disebut juga sebagai variabel static | |
Memungkinkan sebuah variabel diakses secara langsung oleh kelas lain |
18. Apa saja yang diwariskan dalam konsep pewarisan?
19. "Dalam studi kasus pengembangan sistem KRS universitas, jika terdapat relasi antara mahasiswa dengan mata kuliah, maka relasi yang cocok digunakan agar pengembangan sistem tersebut sesuai dengan konsep yang benar digunakanlah relasi asosiasi."
20. Jika ada 3 buah kelas, Manusia, Dokter, dan Guru, kemudian kelas-kelas tersebut akan dibuat dengan konsep pewarisan. Kelas yang manakah merupakan kelas induknya?
21. Jika ada sebuah konstanta yang nilainya akan diakses oleh klien atau kelas lain, maka deklarasikan visibilitannya sebagai ...
22. Perhatikan kode berikut:
public interface IPendapatanPerBulan { public double hitungPendapatan(int presensi) { return 2000000+(10000*presensi); } }
Kode tersebut sudah benar.
23. Perhatikan code berikut:
public class Mahasiswa { private String nama; private String npm; public Mahasiswa() { ... ... } }
Jika ingin membuat sebuah konstruktor untuk melengkapi code di atas, maka code di bawah ini yang benar adalah:
24. (Lihat Gambar 10) Potongan code di atas akan menghasilkan error, karena:
25. Dari code di bawah ini mana yang termasuk aksesor yang tepat untuk atribut String nama:
26. (Lihat Gambar 3 sampai Gambar 7) Berikut ini menggambarkan diagram UML yang benar yang menunjukkan pewarisan dalam dunia hewan adalah:
27. Relasi Agregasi disebut bersifat lemah, karena:
28. (Lihat Gambar 12) Berdasarkan code program di atas pernyataan di bawah ini yang BENAR adalah:
29. Perbedaan kelas abstract dan interface:
30. Relasi mana yang cocok digunakan apabila relasinya tersebut antara bangunan hotel dengan ruangan kamar?
31. (Lihat Gambar 14) Potongan code berikut adalah menggambarkan adanya dependency antara kelas Dosen dengan Mata Kuliah. Tipe dependency apa yang menggambarkan pada potongan code berikut? (*) Dengan asumsi tambahMK merupakan salah satu method di kelas Dosen
32. Deklarasi berikut:
void tampil (String judul, String pengarang); void tampil (String pengarang, String judul);
Merupakan contoh overloading method.
33. (Lihat Gambar 1) Eksekusi perintah pada line 1 akan mengakibatkan terjadinya kesalahan, karena kelas Mysterious tidak memiliki konstruktor.
34. Diketahui:
Kelas Linked List mempunyai method insertFirst(), insertLast(), deleteFirst(), deleteLast()
Kelas Queue mempunyai method insertLast(), deleteFirst()
Kelas Stack mempunyai method insertLast(), deleteLast()
Kelas Array mempunyai method sort(), concat()
Kelas Vector mempunyai method elementAt()
Dari kelas-kelas di atas yang mana merupakan kelas anak dari kelas Linked List...
35. Kemampuan objek-objek yang berbeda untuk memberi respons terhadap permintaan yang sama, sesuai dengan cara masing-masing, merupakan pengertian dari:
36. Jika kita memiliki sebuah variabel yang nilainya tidak dapat diubah, maka pada pendeklarasian variabel tersebut akan kita tambahkan keyword:
37. Relasi "is-a" antar superclass dan subclasses-nya disebut dengan:
38. (Lihat Gambar 15) Potongan gambar di atas adalah menggambarkan adanya dependency antara kelas Dosen dengan Mata Kuliah. Tipe dependency apa yang menggambarkan pada potongan code berikut? (*) Dengan asumsi getMK merupakan salah satu method di kelas Dosen
39. Pernyataan di bawah ini yang merupakan pernyataan yang SALAH adalah:
40. (Lihat Gambar 19) Secara sintaks, tidak ada yang salah dengan kode program di atas. Hanya saja, secara konsep, pengkodean di atas melanggar prinsip: