Kelas dan Objek dalam PBO

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Apa keuntungan utama dari penggunaan Object Oriented Programming (OOP)?

  • Tidak ada abstraksi
  • Mengurangi modularitas
  • Kompleksitas kode meningkat
  • Abstraksi, penggunaan ulang kode, modularitas, dan plugabilitas (correct)

Dalam konteks OOP, apa yang dimaksud dengan Class?

  • Variabel global
  • Fungsi utama dalam program
  • Hasil perwujudan dari sebuah objek
  • Cetak biru atau template untuk membuat objek, yang mendefinisikan tipe variabel (correct)

Apa perbedaan utama antara void method dan value method?

  • Void method mengembalikan nilai, sedangkan value method tidak
  • Tidak ada perbedaan
  • Value method mengembalikan nilai dengan menggunakan keyword 'return', sedangkan void method tidak mengembalikan nilai (correct)
  • Void method digunakan untuk operasi matematika, sedangkan value method untuk operasi string.

Apa fungsi dari constructor dalam OOP?

<p>Menginisialisasi nilai dari sebuah objek saat objek tersebut dibuat (D)</p> Signup and view all the answers

Apa yang terjadi ketika sebuah kelas memiliki lebih dari satu constructor?

<p>Overloading konstruktor, memungkinkan pembuatan objek dengan parameter yang berbeda (A)</p> Signup and view all the answers

Dalam sintaks Asimo asimoSatu = new Asimo(), apa fungsi dari new Asimo()?

<p>Membuat objek baru dari kelas Asimo dengan memanggil <em>constructor</em> (D)</p> Signup and view all the answers

Apa yang terjadi pada memori saat Anda membuat dua objek yang berbeda dari kelas yang sama?

<p>Setiap objek dialokasikan alamat memori yang unik (A)</p> Signup and view all the answers

Apa yang terjadi jika dua variabel objek menunjuk ke objek yang sama, dan kemudian salah satu variabel diubah untuk menunjuk ke objek lain?

<p>Variabel pertama akan tetap menunjuk ke objek lama, sementara variabel kedua menunjuk ke objek yang baru (B)</p> Signup and view all the answers

Bagaimana cara mengakses method dan field dari sebuah objek dalam OOP?

<p>Menggunakan operator <code>.</code> (dot operator) (B)</p> Signup and view all the answers

Apa fungsi dari modifier dalam OOP?

<p>Mengontrol aksesibilitas, perilaku, dan fungsi dari elemen-elemen dalam kelas (B)</p> Signup and view all the answers

Apa itu Access Modifier?

<p>Kata kunci yang mengatur tingkat akses suatu kelas, method, atau variabel dari bagian kode lain (C)</p> Signup and view all the answers

Apa karakteristik dari static variable?

<p>Diasosiasikan dengan class, bukan dengan instance objek, dan tidak memerlukan inisialisasi dari objek (B)</p> Signup and view all the answers

Apa perbedaan antara static method dan method biasa?

<p><em>Static method</em> digunakan di internal class, bisa dipanggil langsung dari class tanpa membuat objek, sedangkan method biasa dipanggil melalui objek (A)</p> Signup and view all the answers

Apa yang dimaksud dengan final variable?

<p>Variabel yang nilainya tidak dapat diubah setelah diinisialisasi (D)</p> Signup and view all the answers

Apa yang terjadi jika sebuah method dideklarasikan sebagai final?

<p>Method tersebut tidak dapat di-override oleh subclass (C)</p> Signup and view all the answers

Apa karakteristik utama dari abstract class?

<p>Hanya menyediakan spesifikasi <em>field</em> dan <em>method</em> tanpa implementasi (A)</p> Signup and view all the answers

Bagaimana cara membuat objek dari abstract class?

<p>Tidak bisa, <em>abstract class</em> tidak bisa dibuatkan object secara langsung, harus melalui subclass-nya (B)</p> Signup and view all the answers

Apa yang dimaksud dengan inheritance dalam OOP?

<p>Kemampuan sebuah class untuk mewarisi <em>field</em> dan <em>method</em> dari class lain (D)</p> Signup and view all the answers

Apa perbedaan antara superclass dan subclass?

<p><em>Subclass</em> mewarisi dari <em>superclass</em> (D)</p> Signup and view all the answers

Apa yang tidak diwariskan oleh subclass dari superclass?

<p><em>Constructor</em> (A)</p> Signup and view all the answers

Bagaimana cara memanggil constructor dari superclass di subclass?

<p>Menggunakan keyword <code>super()</code> (D)</p> Signup and view all the answers

Apa arti dari class AsimoUngu extends Asimo?

<p>Class AsimoUngu mewarisi semua <em>field</em> dan <em>method</em> dari class Asimo (C)</p> Signup and view all the answers

Apa yang dimaksud dengan override method?

<p>Mengubah implementasi <em>method</em> yang sudah ada di <em>superclass</em> pada <em>subclass</em> (C)</p> Signup and view all the answers

Dalam konteks pemrograman berorientasi objek, apa tujuan utama dari paradigma ini?

<p>Meniru representasi objek yang terdapat di dunia nyata (A)</p> Signup and view all the answers

Dalam Java, apa yang dimaksud dengan istilah 'garbage collection' dan bagaimana proses ini berkontribusi pada manajemen memori?

<p>Proses otomatis yang mendeteksi dan menghapus objek yang tidak lagi digunakan agar memori dapat digunakan kembali. (C)</p> Signup and view all the answers

Jika sebuah kelas mendeklarasikan variabel instance sebagai private, bagaimana kelas lain dapat mengakses atau memodifikasi nilai variabel-variabel ini?

<p>Melalui penggunaan method <em>getter</em> dan <em>setter</em> yang didefinisikan dalam kelas yang sama dengan variabel <code>private</code>. (B)</p> Signup and view all the answers

Apa peran interface dalam pemrograman berorientasi objek dan bagaimana interface berbeda dari abstract class?

<p>Kelas dapat mengimplementasikan beberapa <em>interface</em>, tetapi hanya dapat mewarisi dari satu <em>abstract class</em>. (B)</p> Signup and view all the answers

Manakah dari berikut ini yang BUKAN merupakan keuntungan utama menggunakan Object Oriented Programming (OOP)?

<p>Code Obfuscation (A)</p> Signup and view all the answers

Diberikan kode berikut:

class Kendaraan {
 String merek = "Generic";
}

class Mobil extends Kendaraan {
 String merek = "Toyota";
}

public class Main {
 public static void main(String[] args) {
 Mobil mobilku = new Mobil();
 System.out.println(mobilku.merek);
 }
}

Apa output dari kode di atas?

<p>Toyota (A)</p> Signup and view all the answers

Mana dari pernyataan berikut tentang pewarisan yang benar?

<p>Constructor kelas induk tidak diwariskan ke kelas anak. (C)</p> Signup and view all the answers

Apa tujuan dari penggunaan kata kunci this dalam sebuah kelas?

<p>Untuk merujuk ke instance saat ini dari kelas tersebut. (A)</p> Signup and view all the answers

Diberikan kode berikut:

public class A {
 public void message() {
 System.out.println("This is class A");
 }
}

public class B extends A {
 public void message() {
 System.out.println("This is class B");
 }
}

public class Main {
 public static void main(String[] args) {
 A a = new B();
 a.message();
 }
}

Apa output dari kode di atas?

<p>This is class B (C)</p> Signup and view all the answers

Dalam konteks method overloading, kondisi apa yang harus dipenuhi agar dua method dalam kelas yang sama dapat dibedakan?

<p>Harus memiliki daftar parameter yang berbeda (jumlah, tipe data, atau urutan). (A)</p> Signup and view all the answers

Apa perbedaan utama antara enkapsulasi dan abstraksi dalam OOP?

<p>Enkapsulasi adalah tentang menggabungkan data dan method yang beroperasi pada data tersebut, sedangkan abstraksi adalah tentang menyederhanakan kompleksitas dengan hanya menampilkan informasi penting. (A)</p> Signup and view all the answers

Apa yang dimaksud dengan polimorfisme dalam pemrograman berorientasi objek?

<p>Kemampuan suatu objek untuk mengambil banyak bentuk. (A)</p> Signup and view all the answers

Mana dari berikut yang merupakan contoh yang baik dari abstraksi?

<p>Kelas <code>Mobil</code> memiliki method <code>hidupkanMesin()</code> dan <code>matikanMesin()</code> daripada mengharuskan pengguna untuk berinteraksi langsung dengan komponen mesin. (B)</p> Signup and view all the answers

Dalam pewarisan, jika sebuah subclass tidak meng-override method dari superclass, apa yang terjadi ketika method tersebut dipanggil pada objek subclass?

<p>Method dari superclass yang akan dieksekusi. (C)</p> Signup and view all the answers

Apa tujuan utama dari enkapsulasi dalam pemrograman berorientasi objek (OOP)?

<p>Untuk menyembunyikan detail implementasi dan melindungi data dari akses yang tidak sah. (C)</p> Signup and view all the answers

Flashcards

Apa itu OOP?

Cara pandang pemrograman yang melihat segala sesuatu sebagai objek atau kumpulan objek.

Apa itu Class?

Menyediakan cetak biru dan bertindak sebagai tipe dari variable yang akan menampung objek hasil instansiasi.

Apa itu Object?

Hasil perwujudan/instansiasi dari sebuah Class.

Apa itu Void method?

Method yang tidak mengembalikan nilai apa pun.

Signup and view all the flashcards

Apa itu Value method?

Method yang mengembalikan nilai tertentu menggunakan keyword 'return'.

Signup and view all the flashcards

Apa fungsi Constructor?

Berfungsi untuk mengisialisasi nilai dari sebuah objek.

Signup and view all the flashcards

Apa itu Static variable?

Variable yang diasosiasikan dengan class, digunakan di internal class, dan tidak butuh inisialisasi dari objek.

Signup and view all the flashcards

Apa itu Static method?

Method yang digunakan di internal class, dan tidak dipanggil lewat objek.

Signup and view all the flashcards

Apa itu Final variable?

Ketika variable telah di set sebagai final, maka nilainya tidak dapat diganti.

Signup and view all the flashcards

Apa itu Final method?

Ketika method telah diset final, maka subclass tidak bisa mengubah isinya.

Signup and view all the flashcards

Apa itu Abstract Class?

Class yang hanya menyediakan spesifikasi dari field & method tanpa implementasi.

Signup and view all the flashcards

Apa itu Inheritence?

Mewariskan method atau field ke Class lain.

Signup and view all the flashcards

Apa itu SuperClass?

Class yang mewariskan method atau field.

Signup and view all the flashcards

Apa itu SubClass?

Class yang diwariskan method atau field.

Signup and view all the flashcards

Apa itu Access Modifier?

Mengatur tingkat akses atau visibilitas dari kelas, metode, dan variabel.

Signup and view all the flashcards

Study Notes

Kelas dan Objek dalam Pemrograman Berorientasi Objek (PBO)

  • Pemrograman Berorientasi Objek (OOP) adalah cara pandang pemrograman yang memperlakukan segala sesuatu sebagai objek atau kumpulan objek.
  • OOP meniru representasi objek di dunia nyata.
  • Keuntungan utama OOP melibatkan abstraksi, penggunaan ulang kode, modularitas, dan kemampuan pasang-cabut (plugability).

Komponen Utama OOP

  • Class menyediakan cetak biru dan bertindak sebagai tipe data untuk variabel yang akan menampung objek hasil instansiasi.
  • Object merupakan hasil perwujudan atau instansiasi dari sebuah Class.

Class

  • Cetak biru berisi rancangan fungsi dan bentuk.
  • Class memiliki data (field) dan perilaku (method).
  • Pemodelan Class dapat dilakukan menggunakan Class Diagram.

Sintaks Class

  • Suatu nama Class didefinisikan, diikuti dengan field yang menggambarkan data.
  • Method menentukan perilaku Class, termasuk 'void method' yang tidak mengembalikan nilai dan 'value method' yang mengembalikan nilai menggunakan keyword 'return'.

Method

  • 'Void method' adalah method yang tidak menghasilkan nilai kembalian.
  • 'Value method' adalah method mengembalikan nilai tertentu, yang diindikasikan dengan kata kunci ‘return’.

Constructor

  • Constructor berfungsi untuk menginisialisasi nilai dari sebuah objek.
  • Constructor dipanggil saat pembuatan objek setelah kata kunci 'new'.
  • Sebuah class dapat memiliki lebih dari satu Constructor.
  • Kata kunci 'this' digunakan untuk merujuk field dari Class.

Objek

  • Objek dibuat dengan memanggil constructor class.
  • Memungkinkan untuk membuat objek tanpa parameter atau dengan parameter.
  • Java Virtual Machine (JVM) mengalokasikan ruang di memori untuk variabel referensi objek dan objek itu sendiri.

Reprsentasi Objek di Memori

  • JVM mengalokasikan tempat untuk variabel referensi dan memberikan nama pada variabel tsb
  • JVM mengalokasikan ruang untuk objek
  • Referensi alamat objek yang baru dibentuk diberikan ke variable referensi
  • Objek yang tidak lagi digunakan akan dikumpulkan oleh garbage collector.

Cara Kerja Objek

  • Variabel objek berfungsi sebagai remote yang mengontrol objek Asimo.
  • Suatu referensi pada suatu objek dapat diganti, setelah diganti objek yang sebelumnya tidak lagi ditunjuk maka selanjutnya akan dihapus dari Heap oleh java garbage collector.

Mengakses Method dan Field

  • Setelah objek dibuat, metod dan field dapat diakses dan dimanipulasi menggunakan operator titik (dot operator).

Modifier

  • Modifier adalah kata kunci khusus yang digunakan untuk mengubah atau menentukan aksesibilitas, perilaku, dan fungsi dari elemen-elemen seperti kelas, metode, atau variabel.
  • Jenis Modifier: Akses Modifier, Static Modifier, Final Modifier, Abstract Modifier.

Access Control Modifier

  • Modifier akses mengatur tingkat akses atau visibilitas suatu kelas, metode, atau variabel.
  • Modifier akses mengontrol bagian kode mana yang dapat diakses, penting untuk enkapsulasi dan keamanan OOP.

Static Modifier

  • Variabel statis diasosiasikan dengan class, bukan instance, dan diakses secara internal tanpa inisialisasi objek.
  • Method statis digunakan secara internal dan tidak memerlukan pemanggilan melalui instance objek.

Final Modifier

  • Ketika sebuah variable final/field telah di set sebagai final, maka nilai dari variabel tersebut tidak dapat diganti.
  • Method final tidak dapat diubah implementasinya oleh subclass.

Abstract Modifier

  • Kelas abstrak menyediakan spesifikasi tetapi tidak ada implementasi field dan method.
  • Kelas abstrak tidak dapat diinstansiasi secara langsung, subclass non-abstrak diperlukan untuk membuat objek.

Pewarisan (Inheritance)

  • Inheritance memungkinkan class untuk mewarisi method dan field dari class lain.
  • SuperClass adalah class yang mewariskan.
  • Subclass adalah class yang menerima warisan.
  • Satu superclass dapat memiliki beberapa subclass.

Constructor pada Inheritance

  • Subclass mewarisi method dan field tetapi tidak mewarisi constructor dari superclass.
  • Untuk menggunakan constructor dari superclass, diperlukan pemanggilan melalui super() atau this(), yang dilakukan di dalam constructor subclass.
  • Memanggil super() mengindikasikan penggunaan constructor tanpa parameter.

Sintaks Inheritance

  • Keyword 'extends' mengindikasikan bahwa suatu class mewarisi dari class lain.
  • Constructor superclass dapat dipanggil dengan atau tanpa parameter.
  • Subclass dapat menambahkan method tambahan.

Override Superclass Method

  • Class turunan dapat mewarisi dan mengganti nilai dari method atau field superclass.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Use Quizgecko on...
Browser
Browser