Pemrograman
Berorientasi Objek
Oleh : Kristin Lebdaningrum S.Kom
D3 SISTEM INFORMASI
LABORATORIUM KOMPUTER
2020
Modul Praktikum Pemrograman Berorientasi Objek
PRODI D3 SISTEM INFORMASI
DAFTAR ISI
BAB I ...................................................................................................................... 4
TUGAS 1 .............................................................................................................. 15
BAB II ................................................................................................................... 16
CONSTRUCTOR ................................................................................................. 16
TUGAS 2 .............................................................................................................. 28
INHERINTANCE ................................................................................................. 30
TUGAS 3 .............................................................................................................. 38
BAB IV ................................................................................................................. 40
POLYMORPHISM ............................................................................................... 40
TUGAS 4 .............................................................................................................. 47
BAB V................................................................................................................... 48
TUGAS 5 .............................................................................................................. 54
BAB VI ................................................................................................................. 55
INTERFACE ......................................................................................................... 55
TUGAS 6 .............................................................................................................. 63
TUGAS 7 .............................................................................................................. 71
BAB VIII............................................................................................................... 72
TUGAS 8 .............................................................................................................. 81
BAB IX ................................................................................................................. 82
TUGAS 9 .............................................................................................................. 91
BAB X................................................................................................................... 93
BAB I
PENGENALAN OOP
Pada bab 1 ini kita akan mempelajari Object Oriented Programming (OOP)
atau dalam Bahasa Indonesia “Pemrograman Berorientasi Objek”. Sebagai Bahasa
pemrograman yang modern, Bahasa pemrograman java hadir sebagai Bahasa yang
dapat mengimplementasikan OOP dalam perkembangan software / program /
aplikasi. Object Oriented Programming (OOP) sendiri merupakan cara untuk
membungkus sebuah objek yang didalamnya terdapat identitas, sifat, dan
keinginan. Contohnya seperti seorang manusia memiliki identitas dalam bentuk
nama, umur, jenis kelamin, berat badan dan lain sebagainya. Lalu manusia juga
memiliki sifat seperti membaca, menulis, ataupun bermain game dan lainnya.
Pada pengertian aslinya bahwa OOP adalah pemrograman berorientasi
objek dimana dalam objek terdapat atribut dan operasi (method) yang dapat diakses
oleh objek lainnya sesuai dengan kebutuhan bahkan ada juga objek yang hanya
boleh digunakan oleh objek itu sendiri.
Pemrograman Berorientasi Objek (OOP) memiliki beberapa keunggulan
dibandingkan pemrograman procedural:
✓ OOP lebih cepat dan lebih mudah dijalankan.
✓ OOP memberikan struktur yang jelas untuk sebuah program.
✓ OOP membuat kode lebih mudah untuk di maintance, dimodigikasi dan di-
debug.
CLASS
Suatu template / blueprint / rancangan dari objek yang akan dibuat untuk
menggambarkan ciri-ciri objek secara umum. Class dan objek adalah dua aspek
utama dari OOP.
CLASS OBJEK
Buah Nanas
Apel
Jeruk
CLASS OBJEK
Mobil Toyota
Honda
Daihatsu
Pembuatan Class:
• Nama Class → Nama Benda
• Diawali dengan huruf Kapital : Mobil, Buah, Mahasiswa
• Access Modifier 4P : Public, Private, Package, Protected
• Body of class :
▪ Attribute : Variabel, Constanta, Field
▪ Methods
Create Class:
Membuat sebuah class dengan nama “LatihanKu” dengan sebuah variable
bilangan:
Ingat untuk sintak java bahwa nama class harus selalu dimulai
dengan HURUF BESAR pertama, dan nama file java harus cocok
dengan nama class
LatihanMu.java
OBJEK
Objek berfungsi untuk membungkus data dan fungsi menjadi suatu unit dalam
sebuah program atau aplikasi. Objek merupakan dasar dari modularitas dan struktur
dalam sebuah pemrograman berorientasi objek. Objek memiliki kesamaan atribut
dan method, objek dapat dikelompokkan menjadi sebuah class. Dan objek-objek
yang dibuat dari suatu class inilah yang disebut dengan instance of class.
Objek
Di Java, sebuah objek dibuat dari sebuah class. Kita sebelumnya sudah
membuat class bernama LatihanKu, jadi sekarang kita dapat menggunakan class ini
untuk tempat pembuatan objek. Untuk membuat objek LatihanKu, panggil nama
class, diikuti dengan nama objek baru dan gunakan kata kunci baru. (W3Schools,
n.d.)
Create an Object:
Buat sebuah objek baru bernama objekKu dan cetak nilai bilangan:
ATRIBUT
Atribut merupakan sebuah sifat atau ciri-ciri yang melekat pada sebuah
objek. Pada pengertian sebelumnya, kita menggunakan istilah variable untuk
bilangan dalam contoh sebelumnya. Bilangan ini sebenarnya adalah atribut di
sebuah class. Kita dapat mengatakan bahwa atribut class adalah variable didalam
class.
Create Atribut:
Pada sebuah class yang bernama LatihanKu memiliki 2 atribut: bilangan1
dan bilangan2:
Selain mengubah atribut, kita dapat melakukan timpa atribut yang sudah
memiliki nilai sebelumnya. Seperti contoh dibawah, mengubah nilai a yang
memiliki nilai sebelumnya 88 menjadi 55:
Apabila kita membuat objek lebih dari satu didalam satu class, kita dapat
mengubah nilai atribut dalam satu objek tanpa mempengaruhi nilai atrribut di objek
lainnya. Seperti contoh dibawah ini, ubah nilai atribut a menjadi 33 di objekKu2,
dan biarkan nilai di atribut objekKu tidak berubah.
METHOD
Method merupakan sekumpulan kode yang hanya berjalan saat kita panggil.
Didalam method terdapat parameter untuk mengirim sebuah data. Method
digunakan untuk melakukan proses tertentu yang disebut juga sebagai fungsi. Jadi
method terdiri dari fungsi-fungsi yang digunakan untuk memanipulasi nilai-nilai
pada atribut untuk melakukan proses-proses yang bisa dilakukan oleh objek.
Dengan method, pekerjaan jadi lebih singkat dan tidak boros menuliskan
banyak kode saat pembuatan program karena method dapat memanggil kumpulan
kode tersebut hanya dengan memanggil nama methodnya. Didalam java memiliki
method berupa static dan public. Method static dapat diakses tanpa membuat objek
class, tetapi kalua public hanya dapat diakses jika kita sudah membuat objek atau
dapat diakses oleh objek. Berikut adalah contoh dari method static dan public.
2. Utama.java
ACCES MODIFIER
Access Modifier digunakan untuk mengatur hak akses kepada class, atribut,
method dan constructor. Berikut merupakan kemampuan aksesabilitas pada
masing-masing access modifier:
Note: Kode didalam table merupakan sebuah atribut, method maupun constructor.
ENCAPSULATION
Enkapsulasi adalah mekanisme untuk membungkus data (variable) dan
method bersama-sama menjadi satu. Enkapsulasi memastikan bahwa data “sensitif”
disembunyikan dari pengguna. Ketentuan untuk membuat enkapsulasi:
1. Mendeklarasi variable atau atribut class menjadi private
2. Menyediakan method get dan set untuk mengakses dan
memperbarui nilai variable private
- Pembuatan Setter
INSTANCE OF CLASS
Instance of class merupakan objek yang dibuat dari class. Jadi instance of
class terletak di class utama (main) yang memiliki sebuah objek untuk memanggil
class lainnya. Seperti contoh dibawah ini ada sebuah main class yang memiliki
nama Utama.java yang akan memanggil class Mahasiswa.java yang sudah kita buat
sebelumnya. Selanjutnya kita membuat class BufferedReader yang terdapat pada
package java.io, untuk mengakses class tersebut kita harus mengimport class
tersebut dengan menaruh kalimat import sebelum java.io, lalu kita tulis
BufferedReader.
Tahap berikutnya kita membuat sebuah inputan dari user yang memiliki
variable untuk tempat menampung inputan tersebut. Setelah ditampung di variable,
maka buat perintah set satu persatu variable yang sudah dibuat untuk diset kedalama
class Mahasiswa.
Tahap terakhir adalah pembuatan proses output dengan menggunakan get,
karena kita sudah membuat proses input. Untuk mengambil data yang sudah
diinputkan, kita hanya memanggil method get().
TUGAS 1
Buatlah sebuah program untuk transaksi pembayaran tiket pesawat dan hotel.
Didalam program ini terdapat 2 class yaitu class Utama.java dan class Tiket.java.
Untuk atributnya bisa dilihat pada gambar. Gambar dibawah ini adalah proses input
data.
Untuk proses outputnya seperti dibawah ini. Didalam proses ini terdapat cara
penghitungan dari total biaya kamar hotel dan harga tiket pesawat.
• Untuk total harga tiket pesawat dihitung dari:
Harga Tiket = (Harga tiket pesawat x jumlah penumpang)
Total = Harga Tiket + (jumlah penumpang x 29.000 (asuransi/penumpang))
• Untuk total biaya kamar hotel dengan diskon 45%
Diskon= 45% x harga kamar hotel
Total Biaya = (harga kamar hotel – diskon) * jumlah kamar
BAB II
CONSTRUCTOR
CONSTRUCTOR
Constructor di java adalah method khusus yang digunakan untk
menginisialisasi objek. Constructor dipanggil Ketika object class dibuat. Hal ini
dapat digunakan untuk mengatur nilai awal untuk atribut objek.
Ciri-ciri Constructor:
1) Constructor dapat dipanggil oleh constructor lainnya dalam satu class yang
sama
2) Tidak mengembalikkan nilai, jadi tidak ada keyword return (seperti void)
3) Method constructor harus mempunyai nama yang sama dengan nama class
tempat constructor dibuat
4) Satu class dapat memiliki labih dari 1 constructor (overloading constructor)
5) Dapat ditambahkan acces modifier yaitu public, private, protected dan
default
Contoh :
Hasil:
Ingat, dan perhatikan jika nama constructor harus sama atau cocok
dengan nama class yang sudah dibuat, dan tidak boleh memiliki tipe atai nilai yang
dikembalikan (seperti penggunaan void). Dan juga bahwa constructor dipanggil
saat kita sudah membuat sebuah objek. Semua class yang sudah kita buat
sesungguhnya telah memiliki constructor secara default. Jadi, jika kita tidak
membuat class constructor sendiri, Java secara otomatis akan membuat constructor
untuk kita. Namun, kita tidak dapat memberikan nilai awal untuk atribut object.
Contoh dengan konsep OOP:
• Mahasiswa.java
• Pert2.java
Hasil:
CONSTRUCTOR PARAMATER
Constructor juga dapat mengambil parameter yang digunakan untuk
menginisialisasi atribut yang sudah kita buat sebelumnya. Contoh berikut, kita
menambahkan parameter namaD, namaB, dan nim ke constructor. Didalam
constructor dibawah ini kita atur namaD ke nmDepan(namaD=nmDepan), namaB
ke nmBlakang(namaB=nmBlakang), dan nim ke nim(nim=nim). Ketika kita
memanggil constructor, kita meneruskan parameter ke constructor
(Kristin,Lebda,123456) yang akan menetapkan nilai namaD menjadi Kristin,
namaB menjadi Lebda, nim menjadi 123456. Di constructor kita dapat memiliki
parameter sebanyak yang kita inginkan.
• Pert2.java
Hasil:
OVERLOADING CONSTRUCTOR
Overloading constructor di java adalah Teknik yang memiliki lebih dari satu
constructor dengan daftar parameter yang berbeda. Source code tersebut diatur
sedemikian rupa sehingga setiap constructor melakukan tugas yang berbeda.
Beberapa constructor tersebut dibedakan oleh kompilator dengan jumlah parameter
dalam daftar dan tipenya. Jadi yang membedakan antara constructor yang satu
dengan yang lainnya merupakan jumlah parameterdan tipe data didalamnya.
Contoh dibawah ini Sebagian diambil dari contoh sebelumnya yang terdapat
atribut nama depan, nama belakang dan nim. Disini ditambahkan constructor baru
dengan tambahan atribut baru serta parameter baru untuk contructor yang baru. Di
constructor yang kedua terdapat aparameter alamat dan umur yang akan tampil di
class Utama(Pert2.java) dengan bantuan objek baru dan disini tidak terdapat access
modifier. Dicontoh juga terdapat method tambahan untuk menampilkan nama
lengkap yang terdiri dari nama depan dan nama belakang.
Contoh Overloading Constructor:
• Mahasiswa.java
• Pert2.java
Hasil:
SETTER
ATRIBUT:
NIM: 123456
NAMA: Kristin
CLASS OBJEK
CONSTRUCTOR
CLASS OBJEK
ATRIBUT:
NIM: 123456
NAMA: Kristin
2. Utama.java
Pada class Utama.java akan memiliki object, menu, input, proses dan
output. Disini juga terdapat perulangan untuk fungsi menu yang menggunakan
while. Untuk gambar dibawah ini masih terdapat 2 object dan emnu yang memiliki
5 submenu.
Berikutnya terdapat sebuah input untuk memilih salah satu dari submenu yang
sudah dibuat diatas.
Dapat dilihat diatas terdapat break dalam setiap case, yang bertugas untuk
menghentikan proses pengecekan menu jika salah satu case sudah terpenuhi dan
sudah dieksekusi.
• Case 1
Pada case 1 ini berisi login admin. Dalam proses login kita mengisi
username dan password yang sudah kita buatkan. Jadi saat kita melakukan proses
pada case ini, pasti ada pengecekan untuk mencocokan apakah cocok dengan
username dan password yang sudah kita buat. Jika dalam input username dan
password cocok, maka login berhasil, apabila tidak cocok login akan gagal.
Hasil
• Case 2
Pada Case 2 digunakan untuk membuat User baru. Disini terdapat 2 inputan
dari keyboard yaitu username dan password baru untuk dibuat. Setelah membuat
inputan, kita memanggil object kedua yang sudah kita buat diatas yaitu user2 yang
memanggil class Login dengan 2 parameter username dan password yang akan diisi
dengan inputan keyboard yaitu newUser dan newPass. Jika username dan
password yang baru sudah terbuat, program akan menampilkan pesan USER
BERHASIL DIBUAT.
Hasil
• Case 3
Pada Case 3 merupakan proses untuk mengubah password lama dengan
password baru yang akan dibuat. Sesuai urutan source code yang ada pada gambar
dibawah ini, pertama terdapat inputan password baru dan lama dari inputan
keyboard. Setelah itu ada proses pembuatan password baru sekaligus pengecekan
dari password lama yang telah diinputkan. Jika dalam penginputan password lama
benar, maka proses tersebut akan mengubah password lama ke password baru.
Apabila dalam penginputan password lama terjadi kesalahan maka terdapat pesan
bahwa password lama telash diinputkan dan tidak berhasil mengubah password
lama ke password baru.
Hasil
• Case 4
Pada Case 4 untuk menampilkan data user yang mempunyai username dan
password. Apabila kita melakukan pembuatan user baru yang ada di proses Case 2,
maka nanti yang ditampilkan ada dua user. User 1 adalah user default yang sudah
kita buat sebelumnya dan user kedua adalah user yang baru kita buat pada proses
Case 2.
Hasil
TUGAS 2
Buatlah sebuah program untuk transaksi pembayaran tiket pesawat dan hotel.
Didalam program ini terdapat 2 class yaitu class Utama.java dan class Tiket.java.
Pada program ini, memiliki proses Login. Proses Login ini dibuat didalam
CONSTRUCTOR yang terletak di class Tiket.java. Apabila anda dapat melakukan
proses login dan berhasil, maka akan muncul 3 menu, yaitu
1. Input Data Transaksi
2. Lihat Data Tiket
3. Keluar
3. Keluar
Menu ketiga yaitu proses keluar dari menu
BAB III
INHERINTANCE
Dijava terdapat perwarisan atribut dan method dari satu class ke class
lainnya. Inherintance sangat penting dari OOP, dengan inherintance, informasi
dibuat dapat dikelola dalam urutan hierarki. Saat kita mewarisi dari class yang ada,
kita dapat menggunakan Kembali method dan atribut dari class induk. Selain itu,
kita juga dapat menambahkan method dan atribut di anak class. Disini, konsep
perwarisan dikelompokkan menjadi dua kategori:
• Subclass (child) → Class yang diwarisi dari class lain.
• Superclass (parent) → Class yang mewarisi.
Inherintance menggunakan kata kunci EXTENDS. Pada contoh dibawah ini,
class laptop (subclass) mewarisi atribut dan method dari class elektronik
(superclass). Di contoh ini memiliki 2 class yaitu: Elektronik.java dan Laptop.java.
Untuk gambar dibawah ini merupakan class Elektronik yang merupakan superclass.
Di class elektronik memiliki atribut berupa brand dan satu method yang memiliki
nama spesifikasi(). Pada atribut brand disetting dengan access modifier private.
Karena jika disetting ke private, maka class laptop tidak dapat mengaksesnya.
Pada gambar dibawah ini merupakan class laptop yang merupakan anak class
dari superclass Elektronik. Didalam anak class ini terdapat atribut namamodel dan
2 object. Kenapa memiliki 2 object? Karena dalam penampilan dibawah akan
menampilkan 2 atribut dari dua class. Jadi object lap dibuat untuk menampilkan
method spesifikasi() dan atribut brand. Object l dibuat untuk menampilkan atribut
namamodel yang dimiliki oleh class laptop itu sendiri.
PENGGUNAAN SUPER
Keyword super berfungsi untuk memanggil method constructor atau
method lainnya yang terletak pada superclassnya. Berikut adalah cara penulisan
super pada subclass untuk memanggil constructor pada superclass.
Super() ATAU super(parameter)
Sedangkan cara penulisan super pada subclass untuk memanggil method pada
superclass adalah sebagai berikut:
Berdasarkan pada gambar diatas, terdapat elektronik class, rice cooker class
dan pastinya ada main class juga. Design UML berfungsi untuk membantu logika
kita untuk pembuatan program. Kita dapat melihat didalam class terdapat tanda (-)
dan (+). Tanda (-) diartikan sebagai private dan tanda (+) diartikan sebagai public.
Terdapat juga anak panah ke atas yang menandakan class rice cooker extends ke
class elektronik yang menggunakan konsep inherintance, dimana class rice cooker
merupakan turunan dari class elektronik. Sehingga atribut brand, warna dan berat
yang dimiliki class elektronik tidak perlu dideklarasikan ulan di class rice cooker.
Class elektronik (Elektronik.java) memiliki beberapa private atribut yang
sudah digambarkan diatas. Pada class ini juga terdapat beberapa method yaitu:
• Method constructor pertama yang tidak memiliki parameter dan tidak ada
isinya(kosong)
• Method constructor kedua memiliki parameter untuk mengeset
brand,warna, dan berat berdasarkan inputan user. Disini kita menggunakan
keyword this untuk memanggil atribut yang sudah dideklarasikan
sebelumnya diatas apabila nama atribut dan nama parameter yang ada di
constructor sama.
• Method setter untuk mengeset nilai dari atribut yang akan diinputkan oleh
user.
• Method getter untuk mengambil nilai dari atribut yang sudah diset dan
diinputkan oleh user.
Setelah pembuatan object, kita akan membuat menu yang berisi inputan,
proses dan output. Dalam pembuatan menu pasti kita akan menggunakan
perulangan. Didalam menu ini terdapat pilihan menu input data, lihat data dan
keluar.
Lalu kita mebuat switch case untuk pembuatan proses menu 1 sampai 3.
Seperti pada gambar dibawah ini. Switch case ini diletakkan didalam while yang
sudah dibuat sebelumnya.
Hasil :
❖ MENU
❖ MENU PILIHAN 1
TUGAS 3
Sebelumnya pada contoh diatas, kalian sudah membuat subclass rice cooker
dan superclass elektronik. Pada tugas 3 ini kalian hanya menambahkan subclass
baru lagi yaitu headphone wireless yang merupakan anak dari superclass elektronik.
Tidak hanya subclass headphone saja yang baru, ada penambahan atribut, method
juga pada class sebelumnya yaitu di class rice cooker dan elektronik. Jangan lupa
juga terdapat class utama yang akan menampilkan program menu. Didalam memnu
juga terdapat pilihan menu baru juga.
MENU
MENU PILIHAN 1
MENU PILIHAN 2
MENU PILIHAN 3
BAB IV
POLYMORPHISM
Dosen.java (Subclass)
Mahasiswa.java (Subclass)
Programmer.java (Subclass)
OVERRIDING METHOD
Overriding method adalah method yang mendefinisikan kembali method
superclass dalam subclass. Dalam pembuatan overriding method nama dan tipe data
method harus sama dengan superclass guna pembuatan polymorphism.
Aturan untuk Overriding Method
✓ Ketentuan untuk method yaitu nama method, daftar parameter, dan jenis
pengembalian harus sama persis
✓ Method yang diganti dapat memperluas aksesbilitas tetapi tidak
mempersempitnya, yaitu jika privat di superclass, subclass dapat membuat
menjadi public tetapi tidak sebaliknya.
Untuk lebih jelasnya overriding method dapat kita lihat dari contoh berikut.
pda variable a. Didalam perulangan ini terdapat inputan user yang juga terdapat
pengecekan inputan user yang menggunakan method equals(). Terdapat juga
toUpperCase yang berfungsi untuk mengconvert semua inputan user menjadi
huruf besar semua.
Hasil:
TUGAS 4
Buatlah class untuk menghitung luas permukaan balok dan keliling balok
sesuai dengan rancangan gambar di atas. Rumusnya adalah :
• Luas Permukaan Balok = 2(pxl)+2(pxt)+2(lxt)
• Keliling Balok = 4(p+l+t)
Tambahkan pula class utama yang digunakan untuk memanggil class rumus
balok. Ketika class utama dijalankan, hasilnya akan tampak seperti dibawah ini :
Sebuah Inputan
Sebuah Output
Sebuah Inputan
Sebuah Output
BAB V
ABSTRACT CLASS
Manusia.java
Dosen.java
Utama.java
Hasil:
Kenapa dan Kapan kita membuat abstract class dan abstract method ?
Untuk mencapai keamanan – Ketika kita menyembunyikan detail tertentu dan
hanya menampilkan detail penting dari suatu object.
Abstract juga dapat dibuat dengan interface, yang akan kita pelajari bab
selanjutnya
CATATAN
Jika didalam abstract class memiliki Didalam abstract class tidak diharuskan
abstract method serta class tersebut memiliki abstract method, karena
memiliki subclass, maka abstract bersifat optional. Tetapi jika di sebuah
method tersebut harus dideklarasikan class memiliki abstract method, maka
ulang(overriding method) di class tersebut harus berbentuk abstract
subclassnya dengan memberi class.
statement didalam methodnya.
KEYWORD FINAL
Keyword final ini digunakan untuk mencegah suatu class diturunkan atau
untuk pendeklarasian ulang(overriding method) pada suatu method. Penggunaan
keyword final dapat dilihat pada contoh dibawah ini.
Class laki-laki dan perempuan merupakan turunan dari class manusia yang
memiliki method yang sama. Sehingga class laki-laki dan perempuan memiliki
method yang sama dari manusia yaitu method HtgBB(), method ini berfungsi untuk
perhitungan berat badan laki-laki dan perempuan. Dan TB merupakan tinggi badan.
Rumus untuk hitung berat badan ideal sebagai berikut:
▪ Laki-laki = (tinggi badan(cm)-100)kg x 90%
▪ Perempuan = (tinggi badan(cm)-100)kg x 80%
Abstract Class Manusia (Manusia.java) memiliki private atribut tinggi
badan seperti yang digambarkan diatas. Di class manusia ini terdapat beberapa
method yaitu:
▪ Method Constructor Manusia yang memiliki parameter untuk mengeset
tinggi badan.
▪ Method Getter untuk mengambil nilai dari atribut yang diinputkan oleh user.
▪ Method HtgBB() termasuk abstract method. Jadi disini belum terdapat isi dari
method.
Hasil:
TUGAS 5
BAB VI
INTERFACE
Cara lain untuk mencapai abstract class dijava adalah dengan interface.
Interface merupakan “abstract class” sepenuhnya yang digunakan untuk
mengelompokkan method terkait dengan isi kosong. Untuk mengakses method
interface, interface harus “diimplementasikan” (seperti diwariskan) oleh class lain
dengan kata kunci implements bukan extends lagi. Isi dari method interface
disediakan oleh class implements. Jadi interface adalah tipe referensi di java yang
mirip dengan class yang merupakan kumpulan dari method abstract. Sebuah class
mengimplementasikan sebuah interface, sehingga mewarisi method abstract dari
interface.
Bersama dengan method abstract, interface juga dapat berisi konstanta,
method default, method static, dan tipe bertingkat. Menulis interface mirip dengan
menulis class. Tetapi sebuah class mendeskripsikan atribut dan perilaku suatu
object. Sedangkan interface berisi perilaku yang diterapkan class. Kecuali jika class
yang mengimplementasikan abstract interface, semua method interface perlu
didefinisikan di class.
Interface akan sama dengan sebuah class jika mempunyai cara seperti berikut:
✓ Sebuah interface dapat berisi beberapa method.
✓ Sebuah interface ditulis didalam file dengan ekstensi .java, dengan nama
interface yang sama dengan nama file.
✓ Kode byte dari sebuah interface muncul dalam file .class.
✓ Sebuah interface terdapat pada sebuah package, dan file bytecode yang
sesuai harus berada dalam struktur direktori yang sesuai dengan nama
package.
Namun, sebuah interface berbeda dengan sebuah class apabila:
✓ Kita tidak dapat membuat contoh interface.
✓ Sebuah interface tidak berisi constructor apapun.
✓ Satu-satunya fields yang dapat muncul di sebuah interface harus dinyatakan
sebagai static dan final.
✓ Interface diimplementasikan oleh class.
✓ Interface dapat memperluas banyak interface.
INTERFACE
Apabila sebuah class mengimplementasikan banyak interface, atau sebuah
interface memperluas beberapa interface yang dikenal dengan multiple
inherintance.
Manusia.java
Dosen.java
Utama.java
Hasil:
MULTIPLE INTERFACE
Untuk menerapkan banyak interface, kita dapat memanggilnya dengan
dipisahkan oleh koma. Didalam contoh ini akan menampilkan output yang sama
dengan contoh sebelumnya tetapi output tersebut diambil dari 2 interface yang
berbeda dan dipanggil oleh 1 class dengan menggunakan implements dan
dipisahkan oleh koma. Contoh dapat dilihat dibawah ini:
Manusia.java (INTERFACE)
Pekerjaan.java (INTERFACE)
Dosen.java (CLASS)
Utama.java
Hasil:
CATATAN INTERFACE
Didalam contoh ini terdapat satu interface yaitu interface operasi, satu class
kalkulator yang akan mengimplementasikan interface operasi. Tidak lupa terdapat
juga main class yang akan memanggil class kalkulator dengan membuat object.
Interface Opersi(Operasi.java) memiliki 4 method kosong didalamanya.
Terdapat 2 method void dan 2 method non void.
Hasil:
TUGAS 6
PILIHAN 1
PILIHAN 2
BAB VII
INPUT / OUTPUT STREAM
OUTPUT STREAM
OutputStream digunakan untuk menulis data ketujuan. Aplikasi java
menggunakan outputStream untuk menulis data ketujuan: itu bisa berupa file, array,
perangkat peripheral atau soket. Jenis class outputStream adalah abstract class,
yang class tersebut tidak dapat digunakan secara langsung pada class utama,
melainkan harus diturunkan terlebih dahulu ke subclassnya.
• FileOutputStream • ByteArrayOutputStream
• FilterOutputStream • PipedOutputStream
• ObjectOutputStream
Hirarki OutputStream
memberikan fungsi pada file tersebut dalam menulis sebuah data ke dalam file
menggunakan DataOutputstream. Setelah selesai, kita melakukan proses close
dengan code nama DataOutputstream.Close().
Tampilan:
Tempat File:
INPUT STREAM
InputStream digunakan untuk membaca data dari sumber. Aplikasi java
menggunakan inputstream untuk membaca data dari sumber, itu bisa berupa file,
array, perangkat peripheral atau soket. Jenis class InputStream adalah abstract class,
yang class tersebut tidak dapat digunakan secara langsung pada class utama,
melainkan harus diturunkan terlebih dahulu ke subclassnya.
Untuk menggunakan fungsionalitas InputStream, kita dapat menggunakan
subclassnya, beberapa diantaranya:
• FileInputStream • ByteArrayInputStream
• FilterInputStream • PipedInputStream
• ObjectInputStream
Hirarki InputStream
FileInputStream digunakan untuk membaca data dari file yang sudah ada.
Object dapat dibuat dengan menggunakan kata kunci new dan ada beberapa jenis
constructor yang tersedia. Berikut contoh dari penggunanaan FileInputStream dan
DataInputStream yang akan mengambil data pada file .txt.
Hasil:
Pada gambar diatas terdapat main class yang sudah melakukan proses
Output Stream. Didalam class tersebut kita membuat file kalkulator.txt terlebih
dahulu dengan menggunakan FileOutputStream dan DataOuputStream. Setelah
membuat file, kita membuat sebuah inputan yang akan diproses dan disimpan
dengan fungsi writeDouble. Lalu kita melakukan penutupan dengan fungsi .close.
Selanjutnya kita mengambil data dari file kalkulator.txt dengan
FileInputStream dan DataInputStream. Untuk menampilkan hasil outputnya kita
menggunakan .readDouble. Source code yang ada pada gambar dibawah ini
diletakkan tepat dibawah source code yang ada pada gambar diatas.
TUGAS 7
BAB VIII
GUI (JOPTIONPANE)
mewarisi class JComponent. Yang perlu kita ketahui dalam mengakses class
JOptionPane, kita harus mengimport javax.swing.
JOptionPane.showMessageDialog(null,"TEST");
Warning Message
JOptionPane.showMessageDialog(null,"WARNING KUNING",
"PERINGATAN",JOptionPane.WARNING_MESSAGE);
Error Message
Source Code
Hasil Output
CONTOH KALKULATOR
Pada contoh kalkulator disini kita memakai interface juga. Contoh ini sama
seperti contoh pada bab interface, hanya saja ada sedikit perbedaan dan ketika kita
ingin menampilkannya, kita menggunakan JOoptionPane.
Di class interface terdapat 4 method kosong yang nantinya akan diisi sebuah fungsi
pada class kalkulator.
Interface Operasi.java
Class Kalkulator.java
Setelah kita sudah membuat interface operasi dan class kalkulator, kita
membuat main class yang terdapat fungsi JOptionPane.
TUGAS 8
BAB IX
KOMPONEN SWING
KOMPONEN SWING
Ada beberapa komponen swing di bab ini yang akan dijelaskan dan diberikan
beberapa contoh.
A. JFrame
JFrame adalah sebuah window yang dapat memiliki title, border, menu,
button, textfield dan beberapa komponen lainnya. Sebuah swing harus memiliki
frame agar komponen dapat ditambahkan kedalam.
Apabila kita ingin frame kita selalu muncul ditengah/center maka kita bisa atur di
menu Code lalu ke form size policy dan pilih Generate Resize Code, lalu centang
pada Generate Center.
B. JPanel
JPanel merupakan class container bagian dari package swing paling
sederhana untuk menyimpan sekumpulan komponen. Sebuah frame dapat memiliki
lebih dari satu panel dan setiap panel dapat memeiliki beberapa komponen. Kita
juga bisa menyebutnya bagian dari JFrame. Panel berguna untuk mengelompokkan
komponen dan menempatkannya ke lokasi yang sesuai dalam sebuah frame. Kita
dapat mencari komponen panel di menu Palette, apabila ingin mengaturnya kita
dapat pergi ke menu Properties.
C. JLabel
JLabel digunakan untuk menampilkan string pendek atau icon gambar.
JLabel dapat menampilkan teks, gambar atau keduanya. Secara default, label
ditampilkan secara vertical tetapi kita dapat mengubah posisi label. Sama seperti
JPanel, kita dapat mencari komponen JLabel di menu palette dan dapat
mengaturnya pada menu properties.
D. JTextField
JTextField adalah bagian dari package javax.swing. Komponen JTextField
adalah komponen yang memungkinkan pengeditan dan penginputan datu baris teks.
JTextField mewarisi class JTextComponent dan menggunakan antarmuka
SwingConstants.
Tampilan TextField
E. JButton
Class JButton digunakan untuk membuat tombol berlabel yang memiliki
implementasi independent platform. Aplikasi di Java dapat menghasilkan beberapa
proses atau Tindakan saat atau setelah tombol(button) ditekan. JButton pewarisan
dari class AbstractButton.
Pada program diatas terdapat button clear dan hapus yang memiliki fungsi
berbeda. Button clear berfungsi untuk menghapus inputan data yang ada di textfield
dan button hapus untuk menghapus hasil output yang ada di JLabel.
Pada menu source, kita akan menuliskan perintah source code. Pertama kita
membuat deklarasi variable dulu dan jangan lupa import javax swing juga.
TUGAS 9
Buatlah program untuk menginputkan nilai mahasiswa pada praktikum pbo. Pada
program ini terdapat 5 inputan seperti berikut: nim, nama mahasiswa, nilai tugas,
nilai uts dan nilai uas, serta memiliki 3 tombol untuk simpan, clear input data dan
hapus hasil data. Program ini akan menampilkan nim, nama mahasiswa, nilai akhir
dan status nilai akhir yang berupa grade dan kelulusan. Untuk menghitung nilai
akhir dengan: (tugas x 50%) + (uts x 25%) + (uas x 25%).
Di praktikum PBO nilai akhir minimum kelulusan yaitu 60
Untuk Grade Kelulusan:
Nilai Akhir Grade Nilai Keterangan
80-100 A Istimewa
75-79 B+ Memuaskan
65-74 B Baik
60-64 C+ Sedang
55-59 C Cukup
40-54 D Kurang
0-39 E Gagal
BAB X
KOMPONEN SWING (LANJUTAN)
A. JRadio Button
JRadioButton adalah komponen Swing yang merepresentasikan item dengan
keadaan dipilih atau tidak dipilih. Biasanya sekelompok radio button dibuat untuk
memberikan opsi kepada pengguna, tetapi hanya satu opsi yang dapat dipilih dalam
satu waktu. Hal tersebut digunakan dalam mengisi formular, makalah objektif
online dan kuis.
B. JButtonGroup
Komponen yang mengelola status yang dipilih / tidak dipilih untuk beberapa
tombol / button. Untuk sebuah group, button group akan memastikan bahwa hanya
satu tombol / button yang dapat dipilih dalam satu waktu. Penggunaan JButton
group digunakan untuk JRadio button, sehingga kita hanya dapat memilih satu
JRadioButton dalam satu button group. Ketika kita menggunakan JButtonGroup
yang diletakkan di JFrame, maka button group tersebut tidak akan tampil tetapi kita
bisa mengetahuinya pada source code dan akan tampil pada properties
JRadioButton yang sudah kita buat.
C. JCheckBox
JCheckBox adalah bagian dari package Java Swing. JCheckBox dapat dipilih
atau batal untuk dipilih, hals tersebut akan tampil status pada user. JCheckBox
digunakan untuk mengaktifkan pilihan true atau false. Mengklik kotak centang
mengubah status dari on menjadi off atau dari off menjadi on.
D. JComboBox
JComboBox adalah komponen Swing yang membuat daftar pilihan drop-down
dan memungkinkan user memilih satu item dari daftar/list. Pilihan yang telah
dipilih oleh user akan ditampilkan dibagian atas menu list. Seperti pada Gambar
dibawah ini, kita dapat mengisi item dari menu model yang ada di properties.
E. JTable
JTable adalah bagian dari Java Swing package dan umumnya digunakan
untuk menampilkan atau mengedit data dua dimensi yang memiliki baris dan
kolom. Komponen ini sama dengan spreadsheet, yang mengatur data dalam bentuk
table. Dalam menghasilkan output dari JTable kita mengambil datanya dengan
bantuan fungsi array. Apabila kita ingin mensetting JTable, klik kanan lalu pilih
Table Contents lalu bisa dilihat pada Gambar dibawah ini. Isi dengan angka nol
pada count di menu Rows.
Kita dapat mengubah judul kolom pada menu column, yang awalnya Title
1 diganti sesuai dengan data yang ingin ditampilkan seperti pada Gambar dibawah
ini. Dan apabila kita ingin menambahkan kolom baru kita dapat menambahkan di
count dan akan muncul judul komlom null.
Lalu klik dua kali pada button simpan untuk memberikan perintah
penyimpanan dari data-data yang sudah diinputkan kedalam komponen masing-
masing. Untuk komponen radio button dan checkbox kita menggunakan
percabangan if else seperti pada gambar dibawah ini. Dan jangan lupa didalam
button simpan ini kita juga memanggil function tampil() yang berfungsi untuk
menampilkan data didalam JTable.
TUGAS 10
BAB XI
PENGENALAN DATABASE
2. Buka aplikasi XAMPP dari start windows dan start Apache dan MySQL
4. Buat database baru pada menu Database atau di menu sisi kiri “New”, jika
sudah akan muncul halaman seperti pada Gambar dibawah ini kemudian
tulisakan nama database yang akan kita buat.
5. Membuat table baru pada database online_shop yang bernama produk dan
memiliki jumlah kolom 4. Setelah selesai menginputkan jumlah kolom pada
table, kita klik button Go. Setelah klik Go maka kita akan menuju ke langkah
berikutnya.
6. Pada langkah ini kita memberikan nama kolom pada table yang sudah kita buat,
serta kita juga dapat memberikan type data untuk setiap kolom, panjang
kolom(length) dan lainnya. Setelah selesai mengatur semua, klik button Save.
7. Tampilan berikutnya dapat dilihat pada Gambar dibawah ini. Apabila kita ingin
membuat table lagi, kita dapat klik menu new yang ada pada menu kiri. Dan
apabila kita ingin menginputkan data pada table kita, kita dapat pilih menu
insert di menu atas.
8. Insert data ini digunakan untuk menginputkan beberapa data pada table kita.
Jadi menginputkan data pada value. Inputan data ini, didefaultkan
berjumlah 2 data, apabila kita ingin menambahkan inputan lagi, kita dapat
merubah jumlah row yang terdapat dibawah, maka inputan data tersebut
akan bertambah otomatis sesuai jumlah yang kita ubah di row. Setelah
selesai menginputkan data kita klik button Go. Kita dapat memilih salah
satu button go untuk menyimpan data, bisa button yang diatas, tengah atau
bawah. Setelah klik Go maka kalian akan diarahkan ke menu SQL.
9. Tampilan hasil data dapat dilihat pada menu browse yang ada diatas.
TUGAS 11
BAB XII
CRUD DENGAN KONEKSI DATABASE
Pada materi ini kita akan mempelajari koneksi bahasa pemrograman java
dengan database MySQL. Pada bab sebelumnya kita sudah mempelajari pembuatan
database dan table di database MySQL. Dalam melakukan koneksi ke database
MySQL, kita perlu menambahkan library MySQL JDBC ke dalam folder libraries
project kita. Berikut adalah langkah-langkah dari penambahan library MySQL,
koneksi ke database sampai pembuatan CRUD yang juga terhubung pada database.
Setelah itu akan muncul kotak Add library lalu pilih MySQL JDBC Driver
dan klik add library. Maka MySQL JDBC Driver akan muncul pada folder libraries.
Apabila kita sudah membuat database serta isi datanya maka kita akan
membuat file Koneksi.java. Disini kita memerlukan java.sql yang memanggil
Connection, DriverManager, dan SQLException. Ketiga hal tersebut untuk
mengelola driver, sql dan koneksi dari java ke database MySQL.
C) CRUD
CRUD adalah singkatan dari create, read, update dan delete. Pada contoh
pembuat CRUD ini, terdapat sebuah program GUI sederhana data karyawan.
Program ini menampilkan data karyawan dari database db_pbo dan table
karyawan yang sudah kita buat sebelumnya. Kita dapat menginputkan data baru,
edita data yang sudah ada, menghapus data dan menampilkan data dari database ke
dalam JTable.
Program ini telah mengimport dari beberapa package yaitu java.sql dan
javax.swing.
Tombol Simpan
Didalam tombol simpan ini berfungsi untuk menyimpan data inputan dari
user kedalam database. Sehingga kita memerlukan query insert untuk membantu
dalam penyimpanan data ke dalam database.
Tombol Edit
Didalam tombol edit ini berfungsi untuk mengubah atau mengupdate data
yang sudah ada dan digantikan dengan data yang baru. Disini kita menggunakan
query update untuk membantu mengubah data yang ada dalam database.
Tombol Hapus
Didalam tombol hapus ini berfungsi untuk menghapus data yang ada di
database. Query yang digunakan adalah delete.
Setelah muncul method mouseclick didalam source code maka kita dapat
mengisi fungsi agar data dapat tampil pada textfield inputan. Fungsi-fungsi tersebut
dapat dilihat pada gambar dibawah ini.
TUGAS 12
Apabila kita melakukan fungsi tombol simpan, edit dan hapus akan muncul
pesan. Ketika kita ingin mengupdate data yang sudah ada di table maka data
tersebut akan muncul pada inputan diatas JTable, jadi akan muncul di textfield nim,
nama, radio button jenis kelamin dan combo box jurusan.
Jurusan memiliki beberapa jurusan yaitu D3 Sistem Informasi, D3 Adm
Perkantoran, S1 Sistem Informasi, S1 Desain Produk. Contoh program dapat dilihat
pada Gambar dibawah.
REFERENCES