Structural Design Pattern II (Adapter, Bridge, Flyweight, Proxy)

Structural Design Pattern II (Adapter, Bridge, Flyweight, Proxy)

University

29 Qs

quiz-placeholder

Similar activities

UTS PBO

UTS PBO

University

35 Qs

QUIZ IK20C

QUIZ IK20C

University

30 Qs

Kuis Power Point Serkom ITK 2022

Kuis Power Point Serkom ITK 2022

12th Grade - Professional Development

26 Qs

Structural Design Pattern

Structural Design Pattern

University

28 Qs

TMK TAHUN 5

TMK TAHUN 5

KG - University

29 Qs

Ujian JPJ

Ujian JPJ

KG - Professional Development

33 Qs

Year 11 ATAR Design Quiz

Year 11 ATAR Design Quiz

11th Grade - University

30 Qs

UAS PBO Dasar Ganjil 2024

UAS PBO Dasar Ganjil 2024

University

35 Qs

Structural Design Pattern II (Adapter, Bridge, Flyweight, Proxy)

Structural Design Pattern II (Adapter, Bridge, Flyweight, Proxy)

Assessment

Passage

Computers

University

Hard

Created by

Kasmir Syariati

Used 1+ times

FREE Resource

29 questions

Show all answers

1.

MULTIPLE CHOICE QUESTION

45 sec • 1 pt

Manakah pernyataan berikut yang paling tepat menggambarkan definisi Adapter Design Pattern?

Pola desain ini memungkinkan objek untuk diubah tanpa mempengaruhi objek lain yang bergantung padanya.

Pola desain ini memungkinkan objek untuk berkomunikasi satu sama lain secara langsung tanpa perantara.

Pola desain ini memungkinkan objek untuk memantau perubahan objek lain dan diperbarui secara otomatis ketika perubahan terjadi.

Pola desain ini mengkonversi antarmuka objek yang tidak kompatibel menjadi antarmuka yang kompatibel.

Pola desain ini memungkinkan objek untuk disimpan dan dimuat dari penyimpanan persisten.

Answer explanation

Media Image

Adapter Design Pattern memungkinkan Anda untuk mengkonversi antarmuka objek yang tidak kompatibel menjadi antarmuka yang kompatibel. Hal ini memungkinkan Anda untuk menggunakan objek yang tidak kompatibel bersama-sama dengan objek lain dalam sistem Anda.

Bayangkan Anda memiliki dua perangkat elektronik yang ingin Anda hubungkan bersama, tetapi perangkat tersebut memiliki konektor yang berbeda. Anda dapat menggunakan adaptor untuk mengkonversi konektor perangkat yang tidak kompatibel menjadi konektor yang kompatibel, sehingga Anda dapat menghubungkan kedua perangkat tersebut.

2.

MULTIPLE CHOICE QUESTION

45 sec • 1 pt

Tujuan dari Adapter Design Pattern?

Meningkatkan modularitas dan reusability kode.

Mempermudah Unit Test

Meningkatkan kinerja aplikasi.

Memungkinkan objek yang tidak kompatibel untuk digunakan bersama.

Menyederhanakan user interface.

Answer explanation

Tujuan utama dari Adapter Design Pattern adalah untuk memungkinkan objek yang tidak kompatibel untuk digunakan bersama. Hal ini dapat membantu Anda untuk:

  • 1. Menggunakan kembali kode yang ada: Anda dapat menggunakan kembali kode yang ada untuk objek yang tidak kompatibel dengan mengadaptasinya ke antarmuka yang kompatibel.

  • 2. Mengintegrasikan sistem yang berbeda: Anda dapat mengintegrasikan sistem yang berbeda dengan mengadaptasi antarmuka mereka ke antarmuka yang kompatibel.

  • 3. Menyederhanakan kode: Anda dapat menyederhanakan kode Anda dengan menghindari harus menulis kode khusus untuk menangani objek yang tidak kompatibel.

3.

MULTIPLE CHOICE QUESTION

45 sec • 1 pt

Manakah analogi berikut yang paling cocok menggambarkan Adapter Design Pattern?

Sebuah adaptor stopkontak memungkinkan Anda untuk menggunakan perangkat elektronik dengan konektor yang berbeda pada stopkontak yang sama.

Sebuah kamus menerjemahkan kata-kata dari satu bahasa ke bahasa lain.

Sebuah peta menunjukkan jalan dari satu lokasi ke lokasi lain.

Sebuah browser web menampilkan halaman web dari internet.

Sebuah kalkulator melakukan perhitungan matematis.

Answer explanation

Analogi yang paling tepat untuk Adapter Design Pattern adalah adaptor stopkontak. Adaptor stopkontak memungkinkan Anda untuk menggunakan perangkat elektronik dengan konektor yang berbeda pada stopkontak yang sama. Ini mirip dengan bagaimana Adapter Design Pattern memungkinkan Anda untuk menggunakan objek yang tidak kompatibel bersama-sama dengan mengadaptasinya ke antarmuka yang kompatibel.


kenapa bukan pilihan analogi lain?

  • (b) Kamus menerjemahkan kata-kata dari satu bahasa ke bahasa lain, tetapi tidak mengkonversi antarmuka yang tidak kompatibel.

  • (c) Peta menunjukkan jalan dari satu lokasi ke lokasi lain, tetapi tidak mengkonversi antarmuka yang tidak kompatibel.

  • (d) Browser web menampilkan halaman web dari internet, tetapi tidak mengkonversi antarmuka yang tidak kompatibel.

  • (e) Kalkulator melakukan perhitungan matematis, tetapi tidak mengkonversi antarmuka yang tidak kompatibel.

4.

MULTIPLE CHOICE QUESTION

45 sec • 1 pt

Ketika tim pengembang mewarisi kode dari developer sebelumnya (legacy code) yang menggunakan library lama dengan antarmuka yang sudah usang, masalah apa yang mungkin mereka hadapi dan dapat diatasi dengan Adapter Design Pattern?

Kode warisan tersebut tidak dapat dikompilasi dengan compiler terbaru.

Kode warisan tersebut tidak dapat dijalankan pada platform hardware yang baru.

Kode warisan tersebut tidak kompatibel dengan library terbaru yang ingin digunakan.

Dokumentasi dari kode warisan tersebut hilang atau tidak terpelihara dengan baik.

Kode warisan tersebut ditulis dengan gaya pemrograman yang sudah ketinggalan zaman.

Answer explanation

Adapter Design Pattern membantu mengatasi ketidaksesuaian antarmuka pada library yang berbeda.

  • Pilihan (a) dan (b) lebih condong ke permasalahan kompatibilitas hardware atau software versi.

  • Pilihan (d) memang bisa menjadi tantangan tersendiri, namun bukan permasalahan utama yang diatasi Adapter.

  • Pilihan (e) bisa jadi penghambat, tetapi bukan permasalahan inti yang diselesaikan Adapter.

5.

MULTIPLE SELECT QUESTION

45 sec • 2 pts

Anggap Anda sedang membangun aplikasi e-commerce yang terintegrasi dengan berbagai layanan pembayaran. Masing-masing layanan memiliki API yang berbeda untuk melakukan proses pembayaran.

Bagaimana Adapter Design Pattern bisa menjadi solusi yang tepat dalam skenario ini?

Adapter Design Pattern membantu mengamankan komunikasi dengan layanan pembayaran eksternal.

Adapter Design Pattern menyederhanakan kompleksitas pengelolaan banyak layanan pembayaran.

Adapter Design Pattern memungkinkan aplikasi untuk berinteraksi dengan layanan pembayaran yang memiliki antarmuka yang berbeda dengan cara yang seragam.

Adapter Design Pattern meningkatkan skalabilitas aplikasi dengan memungkinkan penambahan layanan pembayaran baru dengan mudah.

Adapter Design Pattern mengurangi jumlah baris kode yang dibutuhkan untuk mengimplementasikan integrasi dengan layanan pembayaran.

Answer explanation

Adapter Design Pattern membuat antarmuka yang seragam untuk berinteraksi dengan layanan pembayaran yang berbeda.

  • Pilihan (a) lebih fokus pada keamanan jaringan, bukan permasalahan inti yang diatasi Adapter.

  • Pilihan (b) memang menjadi keuntungan, namun bukan inti permasalahan yang diatasi Adapter.

  • Pilihan (d) bisa jadi efek samping positif, tetapi bukan permasalahan utama yang diatasi Adapter.

  • Pilihan (e) bisa jadi manfaat, tetapi bukan inti permasalahan yang diatasi Adapter.

6.

MULTIPLE CHOICE QUESTION

45 sec • 1 pt

Di antara skenario berikut, manakah yang paling sesuai dengan permasalahan yang ingin diatasi oleh Adapter Design Pattern?

Anda perlu menyimpan data pengguna ke dalam database, namun library database yang digunakan memiliki antarmuka yang berbeda dengan format data yang ingin disimpan.

Anda ingin mendesain sistem yang fleksibel dan dapat diubah-ubah, tetapi khawatir perubahan pada modul tertentu akan berdampak pada keseluruhan sistem.

Anda ingin mengukur performa program Anda dengan akurat, namun fungsi pengukuran yang tersedia memiliki output yang sulit dibaca.

Anda sedang mengembangkan aplikasi mobile dan perlu mengakses sensor perangkat, tetapi sensor yang berbeda memiliki cara pemanggilan fungsi yang tidak seragam.

Anda ingin menyembunyikan implementasi detail dari sebuah objek agar kode Anda lebih mudah dipahami dan dipelihara.

Answer explanation

Adapter Design Pattern membantu memecahkan masalah kompatibilitas antarmuka.

  • Pilihan (a) bisa diatasi dengan konverter data atau fungsi pemetaan.

  • Pilihan (b) ditangani oleh prinsip Open-Closed yang tidak harus selalu melibatkan Adapter.

  • Pilihan (c) bisa diselesaikan dengan fungsi formatter atau modifikasi sederhana pada fungsi pengukuran.

  • Pilihan (d) menunjukkan permasalahan klasik yang diselesaikan Adapter yaitu ketidaksesuaian antarmuka pemanggilan fungsi sensor.

  • Pilihan (e) lebih sesuai dengan konsep Encapsulation yang bertujuan menyembunyikan detail implementasi.

7.

MULTIPLE CHOICE QUESTION

45 sec • 2 pts

Anda ingin mengimplementasikan Adapter Design Pattern untuk menghubungkan kelas LegacyClass dengan kelas NewClass.

LegacyClass memiliki metode doSomething() yang mengembalikan nilai String, sedangkan NewClass membutuhkan nilai Integer sebagai argumen untuk metode process().

Bagaimana Anda akan mendesain kelas Adapter untuk menghubungkan kedua kelas tersebut?

Buat kelas Adapter yang mewarisi dari LegacyClass dan mengimplementasikan metode process() dengan mengkonversi nilai String yang dikembalikan oleh doSomething() menjadi nilai Integer.

Buat kelas Adapter yang mewarisi dari NewClass dan mengimplementasikan metode doSomething() dengan memanggil metode process() dari NewClass dan mengonversi nilai Integer yang dikembalikan menjadi String.

Buat kelas Adapter yang mengimplementasikan antarmuka kedua kelas (LegacyClass dan NewClass) dan mengonversi nilai antara String dan Integer di dalam implementasi metodenya.

Buat kelas Adapter yang menggunakan komposisi untuk menyimpan instance dari LegacyClass dan NewClass, dan meneruskan panggilan metode antara kedua kelas tersebut.

Buat kelas Adapter yang menggunakan inheritance hierarki untuk memperluas fungsionalitas dari LegacyClass dan NewClass, dan mengimplementasikan metode baru yang menggabungkan fungsionalitas dari kedua kelas tersebut.

Answer explanation

Pilihan (c) adalah implementasi yang paling tepat untuk Adapter Design Pattern dalam skenario ini.

  • Pilihan (a) dan (b) melanggar prinsip Single Responsibility, karena kelas Adapter harus fokus pada konversi antarmuka, bukan mengimplementasikan fungsionalitas dari kedua kelas.

  • Pilihan (d) dapat digunakan dalam beberapa kasus, tetapi tidak selalu merupakan solusi yang paling tepat.

  • Pilihan (e) lebih cocok untuk skenario di mana Anda ingin memperluas fungsionalitas dari kedua kelas, bukan hanya mengkonversi antarmuka.

Create a free account and access millions of resources

Create resources
Host any resource
Get auto-graded reports
or continue with
Microsoft
Apple
Others
By signing up, you agree to our Terms of Service & Privacy Policy
Already have an account?