Anda di halaman 1dari 15

LAPORAN AKHIR PRAKTIKUM

MATA KULIAH
PEMROGRAMAN BEBBASIS OBJEK

MUCHAMMAD IKFANI DIFANGGA


220602011
A-PAGI

PROGRMA STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSTIAS MUHAMMADIYAH GRESIK
2023
MODUL 1
KELAS DAN OBJEK

1. DASAR TEORI

Pada pemrograman Java, pendeklarasian kelas dilakukan dengan


menggunakan syntax sebagai berikut :

[modifier] class class_identifier

Contoh:

public class Barang {

Objek adalah segala sesuatu/objek real di dunia nyata yang


representasikan dengan atribut/karakter/state/ dan method/perilaku/behavi-
our.

Kumpulan dari objek-objek yang mempunyai atribut dan method yang


dinamakan kelas. Jika dianalogikan dengan objek dunia nyata pada masalah
objek dan kelas diumpamakan sebagai cetakan (template) kue maka objek
adalah kue-kue yang dihasilkan setalah melalui percetakan. Kue hasil dari
cetakannyaakan selalu mempunyai bentuk/model dan ukuran yang sama
dengan cetakan yang digunakan.

Setiap objek mempunyai atribut dan method. Atribut ini merupakan


informasi yang relevan dengan objek dan memberikan gmabaran / informasi
mengenai objek yang dilekatinya. Atribut-atribut yang didefinisikan pada
masing-masing objek mungkin mempunyai nama yang tetapi mempunyai
nilai berbeda. Nilai atribut pada masing-masing objek adalah melekatpada
objeknya sendiri-sendiri. Method merupakan sagala aktivitas yang dapat
dilakukan oleh objek, untuk memanipulasi atribut-atribut yang telah
didefiniskan.

Struktur dasar sebuah kelas pada intinya ada 4 bagian, yaitu :

• Deklarasi kelas;
• Deklarasi dan inisialisasi atribut;
• Pendefinisian method;
• Komentar.

2. IMPLMENTASI TEORI

Dalam implementasi kode, dua objek Barang, yaitu barang1 dan barang2,
dibuat dengan nilai yang berbeda untuk atribut nama dan harga. Selanjutnya, nilai
atribut dari kedua objek tersebut ditampilkan menggunakan method getNama()
dan getHarga().Dengan demikian, kode tersebut menciptakan kelas sederhana
untuk merepresentasikan barang dengan atribut nama dan harga, memberikan
kemampuan untuk mengambil dan mengubah nilai atribut tersebut, dan
mengilustrasikan penggunaan kelas melalui pembuatan objek dan pengaksesan
atribut objek.
MODUL 2
VISIBILITY DAN ENCAPSULATION

1. DASAR TEORI
Visibilty yang digunakan dalam pemrograman berorientasi objek
mempunyai konsep yang hampir sama dengan scope (ruang lingkup)
variable pada pemrogrman procedural. Tapi dalam konsep berorientasi
objek memberikan control yang lebih baik terhadap variable dan method
dengan status visibility yang disesuaikan dengan kebutuhan dan kegunaan.
Ada tiga tipe disediakan dalam Berorientasi Objek:
1. Public
Atribut dan method yang dideklarasikan secara public dapat
diakses dan diubah secara global oleh semuanya dari kelas
mana saja.
2. Protected
Atribut dan method yang dideklarasikan secar protected akan
dapat diakses dan diubah dalam kelas tempay dideklarasikan
(dibuat) dan di kelas-kelasnya turunannya.
3. Private
Atribut dan method yang diklarasikan secara private hanya
dapat diakses dlam kelas tempat dia deklarasikan (dibuat).

Konstruktor adalah method yang secara otomatis dipanggil ketika


sebuah kelas diinisialisasi menjadi objek. Method ini digunakan untuk
inisialisasi atau mempersiapkan data untuk objek.

Konsep lain dalam Pemrograman Berorientasi Objek yang


disatukan dengan modularity adalah Encapsulation. Encapsulation berarti
penggabungan bersama kumpulan atribut dan method kedalam objek dan
menyembunyikan struktur implementasinya dari user menggunakan objek.
Maka dari itu, bagaimana struktur objek dan implementasi atribut dan
objek tidak ditampilkan ke objek lain yang menggunkannya. Pengaksesan
langsung terhadap atribut objek tidak diperkenankan dan segala perubahan
pada data yang melekat pada objek hanya bias diakses secara tidak
langsung melalui sekumpulan method yang tesedia secara public.
Encapsulation terkadang disebut sebagai Information Hiding
adalah kunci konsep dari bekerja dengan objek. Secara format,
encapsulation adalah menyembunyikan implementasi detail dari user
terhadap suatu objek. Memahami sifat encapsulation harus mengerti access
modifier. Fungsinya adalah untuk melakukan kontrol terhadap kelas
maupun Atribut dan Method pada kelas yang menggunakan modifier ini.
Suatu atribut harus memiliki minimal satu buah modifier.

Default ()
• Apabila tidak ada pendefinisian access modifier maka akan
didefinisikan secara otomatis sebagai default.
• Bukan merupakan Java keyword.
• Semua atribut maupun method yang ada dalam satu package bisa
diakses oleh semua yang ada dalam package tersebut.
• Class diluar package boleh melakukan melakukan subclass, tetapi
subclass tersebut tidak bisa mengakses feature superclass.
• Public (+)
• Access Modifier public akan membuat Kelas, maupun atribut dan
method dari kelas bisa di akses / dipanggil dari mana saja.

Private (-)
• Kelas maupun Atribut dan Method yang dideklarasikan private
hanya bisa diakses dari kelas yang mendeklarasikan.
• Subclass tidak bisa mengakses private atribut dan method dari
Superclass yang diberi acces modifier private.

Protected (#)
• Kelas maupun Atribut dan Method yang dideklarasikan protected
bisa diakses oleh semua class dalam satu package.
• Class diluar package boleh melakukan melakukan subclass, dan
subclass tersebut bisa mengakses atribut ataupun method dari
superclass.
2. IMPLMENTASI TEORI
Kelas Mobil memiliki atribut merk dan tahun yang bersifat publik (public),
dapat diakses dari luar kelas. Atribut jumlahPintu bersifat pribadi (private), hanya
dapat diakses dari dalam kelas. Kelas ini menyediakan metode getter dan setter
untuk merk dan tahun, serta metode displayInfo() untuk menampilkan informasi
lengkap tentang mobil.
Dalam program utama, sebuah objek mobil1 dibuat dengan merk "Toyota",
tahun 2022, dan 4 pintu. Kemudian, informasi mobil tersebut ditampilkan melalui
pemanggilan metode displayInfo().
MODUL 3
INHERITANCE

1. DASAR TEORI
Inheritance adalah salah satu konsep utama dalam pemrograman
berorientasi objek yang memungkinkan sebuah kelas mewarisi atribut dan
method dari kelas lain. Kelas yang mewarisi atribut dan method dari kelas
lain disebut sebagai subclass, sedangkan kelas yang diwarisi disebut sebagai
superclass.

Inheritance memiliki beberapa manfaat, antara lain:

• Reusability. Inheritance memungkinkan kita untuk menggunakan


kembali kode yang sudah ada, sehingga dapat menghemat waktu dan
tenaga dalam pengembangan program.
• Efficiency. Inheritance dapat meningkatkan efisiensi program karena
kita tidak perlu menulis ulang kode yang sudah ada.
• Clarity. Inheritance dapat meningkatkan keterbacaan program karena
kita dapat menggunakan kode yang sudah ada untuk
merepresentasikan konsep yang sama.

Jenis-Jenis Inheritance

Dalam Java, terdapat dua jenis inheritance, yaitu:

• Single inheritance. Sebuah subclass hanya dapat memiliki satu


superclass.
• Multilevel inheritance. Sebuah subclass dapat memiliki superclass
yang juga merupakan subclass dari kelas lain.

Aturan Inheritance

Dalam Java, terdapat beberapa aturan yang harus diikuti dalam penerapan
inheritance, yaitu:
• Atribut dan method public. Atribut dan method public dari superclass
dapat diakses oleh subclass.
• Atribut dan method protected. Atribut dan method protected dari
superclass dapat diakses oleh subclass, kelas lain dalam package yang
sama, dan kelas turunan dari subclass.
• Atribut dan method private. Atribut dan method private dari
superclass hanya dapat diakses oleh kelas tempat atribut dan method
tersebut dideklarasikan.

2. IMPLMENTASI TEORI
Kode di atas merupakan contoh penerapan konsep pewarisan (inheritance)
dalam pemrograman Java. Terdapat dua kelas utama, yaitu Kendaraan dan Mobil.
Kelas Mobil mewarisi sifat-sifat dari kelas Kendaraan.

Kelas Kendaraan memiliki atribut merek yang merepresentasikan merek dari


kendaraan tersebut. Dalam metodenya, terdapat fungsi start() dan stop() yang
mencetak pesan ke konsol tentang proses menyalakan dan mematikan kendaraan.

Kelas Mobil merupakan turunan dari kelas Kendaraan, sehingga mewarisi


atribut dan metode dari kelas tersebut. Selain itu, kelas Mobil memiliki metode
khusus yaitu klakson(), yang mencetak pesan klakson ke konsol.
MODUL 4
POLIMORPHISM

1. DASAR TEORI
Polimorfisme adalah konsep dalam pemrograman berorientasi objek di
mana suatu objek dapat memiliki banyak bentuk atau tipe. Dalam Java,
polimorfisme dapat dicapai melalui dua cara: polimorfisme statis dan
polimorfisme dinamis.
• Polimorfisme statis terjadi ketika suatu kelas memiliki beberapa
metode dengan nama yang sama tetapi parameter yang berbeda. Ini
disebut overloading.
• Polimorfisme dinamis terjadi ketika suatu kelas memiliki metode
dengan nama yang sama dengan kelas lain dalam hierarki
kelasnya. Ini disebut overriding.

Polimorfisme memiliki beberapa manfaat, antara lain:

• Reusability code: Kita bisa menulis kode implementasi dasar


dalam superclass dan meng-override implementasinya pada
subclass, sehingga mengurangi duplikasi kode.

• Increased flexibility: Program kita menjadi lebih fleksibel karena


kita bisa menangani objek-objek dari berbagai tipe dengan cara
yang sama.

• Improved clarity: Kode kita menjadi lebih mudah dipahami karena


behavior tergantung pada tipe objek yang digunakan.

2. IMPLMENTASI TEORI
Kode di atas mengilustrasikan konsep polimorfisme dalam Java dengan
menggunakan antarmuka. Terdapat dua kelas utama, Mobil dan Sepeda, yang
mengimplementasikan antarmuka Kendaraan.Antarmuka Kendaraan menyediakan
metode start() dan stop(). Kelas Mobil dan Sepeda menerapkan metode tersebut
sesuai dengan kebutuhan masing-masing. Kelas Mobil memiliki metode
tambahan, yaitu klakson().
Dalam metode main di kelas Utama, objek kendaraan1 merujuk pada
objek Mobil, sementara objek kendaraan2 merujuk pada objek Sepeda. Melalui
polimorfisme, keduanya dapat dipanggil menggunakan antarmuka Kendaraan,
memungkinkan pemanggilan metode tanpa perlu memperhatikan kelas aslinya.
MODUL 5
INTERFACE DAN GUI

1. DASAR TEORI

Interface pada bahasa pemrograman Java adalah sebuah blueprint yang


berisi definisi dari method-method yang harus diimplementasikan oleh kelas-
kelas yang mengimplementasikan interface tersebut. Interface tidak memiliki
implementasi method, hanya deklarasi method saja. Interface digunakan
untuk mempermudah pengembangan aplikasi dengan memisahkan antara
definisi dan implementasi. Interface juga digunakan untuk membuat kelas-
kelas yang tidak saling berhubungan menjadi terhubung melalui interface
yang sama.

Interface digunakan untuk:

• Mendefinisikan kontrak atau kesepakatan antara kelas-kelas yang


mengimplementasikannya.
• Meningkatkan reuseability kode.
• Mempermudah pemeliharaan kode.

2. IMPLMENTASI TEORI
Pada studi kasus pesawat, interface PesawatTerbang mendefinisikan dua
method abstrak, yaitu terbang() dan mendarat(). Kelas Pesawat
mengimplementasikan interface PesawatTerbang dengan menyediakan
implementasi untuk kedua method abstrak tersebut.

Untuk Penerapan gui sederhana kita bisa membuat kalkulator, dimana


setiap panel jika di tekan maka akan menampilkan angka dan juga symbol
operator untuk menghitung, jadi setiap panel tombol operator kita masukkan
logika dan juga code untuk menghitung sesuai keinginan dari user

Anda mungkin juga menyukai