Modul 7 Object Persistence KSP Java 2022
Modul 7 Object Persistence KSP Java 2022
MODUL 7
Object Persistence 1
OBJECT PERSISTENCE
Objek dapat menyimpan status dalam media penyimpanan, berdasarkan media
penyimpanannya objek dibedakan menjadi transient objek dan persiten objek. Transient objek
adalah objek yang menyimpan status daam penyimpanan primer (memori), dimana status
objek akan hilang ketika program di terminasi.
Objek persistence adalah objek yang menyimpan status dalam penyimpan sekunder (file,
basis data). Keunggulan dari objek persistence objek adalah data atau status yang telah
disimpan dalam media penyimpanan (storage), dapat diambil (restored) ketika aplikasi
dijalankan kembali. Mekanisme dari objek persistence sangat sederhana, yaitu memberikan
sebuah program kemampuan untuk membaca dan menuliskan keseluruhan objek ke dan dari
stream byte.
2
GUIDED
Suatu perusahaan ingin membuat sebuah sistem yang mengolah data Karyawan yang
bekerja pada perusahaan tersebut. Data karyawan yang ingin dikelola adalah nama(String),
jamKerja(int), jenisKelamin(String). Kelas karyawan merupakan kelas abstrak yang memiliki 2
method abstract, yakni hitungGaji() dan showDataKaryawan(). Lalu terdapat juga kelas
Staff yang merupakan turunan dari kelas Staff dimana memiliki atribut tambahan
3
noStaff(String). Dari data-data tersebut, buatlah sistem yang mana dapat memenuhi fitur-fitur
seperti berikut :
Seluruh fitur tersebut akan terhubung dengan database XAMPP yang dimiliki oleh
Perusahaan tersebut sehingga data masih tetap tersedia jika program dijalankan ulang. Pihak
perusahaan juga meminta untuk membuat exception untuk error handling dengan ketentuan
inputan nomor staff tidak boleh >= 5 karakter serta inputan jamKerja hanya boleh angka
saja. Berikut adalah langkah-langkah pembuatannya:
= 4 digit NPM). Uncheck create main class (karena kita tidak akan menggunakan
main class bawaan).
2. Buatlah database di XAMPP dengan menekan start pada apache dan mysql, kemudian
silahkan tekan admin pada mysql
4
4. Tekan new (paling atas) dan berikan nama database kalian dengan nama ksp-xxxx
Lalu tekan create dan silahkan buat table dengan nama staff dengan ketentuan:
5. Import Library pada netbeans kalian (File ini akan dilampirkan terpisah)
Lakukan import jar diatas pada folder Libraries yang ada di dalam project
5
agar kita dapat melakukan akses ke database dengan cara klik kanan pada folder Libraries
pada Netbeans - Add JAR/Folder - Blok semua library yang telah di download lalu Open.
Jika berhasil, maka seperti ini tampilannya :
6
6. Membuat Package
Untuk memisahkan fungsi dari masing-masing kelas, maka dibentuk 5 package yang
berbeda dalam 1 project, yaitu control, dao, model, view, dan exception dengan cara klik
kanan pada Source Packages New Folder beri nama Finish
7. Entity Class
Entity Class adalah kelas yang merepresentasikan data yang akan disimpan.
Dalam konteks pembuatan aplikasi ini, entity class yang akan dibuat ini adalah kelas
Karyawan sebagai kelas abstrak dan kelas turunan yaitu kelas Staff, yang
merepresentasikan data yang akan disimpan. Kelas Karyawan dan staff ini
merupakan bagian dari package model. Berikut codenya :
a. Kelas Karyawan
7
b. Kelas Staff
Langkah pertama adalah membuat kelas dengan nama StaffDAO pada package dao.
Setelah itu, jangan lupa untuk mengimport beberapa library yang akan digunakan dalam
pembuatan dao. Berikut potongan code untuk library-library yang harus diimport :
Setelah selesai melakukan pembuatan kelas DAO dan juga mengimport library
yang dibutuhkan, maka sekarang kita dapat mulai mengimplementasikan beberapa
operasi yang dapat kita lakukan terhadap database, yaitu :
a. Membuka dan Menutup Database
Url(String) dan path(String) merupakan variable yang berfungsi untuk
menampung url dan path mana yang akan di akses oleh netbeans. Untuk direktori
path bisa menyesuaikan sesuai dengan letak file database yang disimpan.
Lalu terdapat method makeConection()yang berfungsi untuk membuka file
database agar dapat di akses oleh program Java dan method closeConection()
yang berfungsi untuk menutup file database setelah database selesai di akses.
Berikut adalah kodenya :
b. Insert Data
c. Show Data
Kode dibawah merupakan kode untuk tampil data dengan query select semua
data dari tabel staff pada database.
d. Search Data
Kode diatas merupakan kode untuk cari data dengan query select semua data dari
tabel staff yang mana inputan nomor staff sama dengan nilai nomor staff pada
database.
e. Update Data
Kode dibawah merupakan kode untuk edit data berdasarkan nomor staff. Data
pada tabel staff masing-masing nilai nya akan diupdate sesuai dengan inputan user.
NB : Sama halnya query insert data, hal yang perlu diperhatikan agar data dapat
terupdate adalah penggunaan tanda petik satu/dua yang sesuai.
f. Delete Data
Menghapus data berdasarkan inputan nomor staff dengan query hapus semua
data dari tabel staff yang mana inputan nomor staff sama dengan nilai nomor staff
pada database. Berikut adalah kodenya :
9. Control Class
Control Class di sini merupakan layer yang berisi tentang bussiness logic dari
sebuah aplikasi. Hal pertama yang harus dilakukan setelah membuat kelas StaffControl
adalah mengimport package dao dan model yang akan digunakan, berikut adalah
potongan code nya :
Selanjutnya buatlah body dari kelas StaffControl sehingga keseluruhan codenya
menjadi seperti ini :
Secara keseluruhan, pada masing-masing control method akan melakukan
pembacaan terlebih dahulu dengan membuka database menggunakan method
makeConection(), lalu melakukan proses selanjutnya sesuai masing-masing
method baik itu tambah, tampil, cari, edit, ataupun hapus. Setelah proses selesai,
selanjutnya adalah menutup database dengan menggunakan methode
closeConection().
b. Sekarang kita akan coba menjalankan (compile) project kita. Apabila terdapat
pilihan untuk memilih staffView sebagai main class, pilih saja OK. Jika berhasil,
maka tampilan sesudah program di compile adalah seperti ini :
Environment GUI Java/JFom
Setelah mencoba membuat projek GUI menggunakan Jform, maka sekarang
kalian dapat memilih tab design, dimana fitur “Feel of Java” atau “Drag and Drop”
dapat anda rasakan. Untuk memudahkan anda dalam pengerjaan, berikut adalah hal-
hal yang harus anda perhatikan.
1. Pallete
Berisi komponen-komponen Swing seperti Button, Label, Text Field, dll.
Untuk menggunakan komponen-komponen tersebut, kita cukup melakukan drag
and drop ke bagian form yang diinginkan.
2. Tab Jform
Tab Source : Berisi kode dari Swing yang kita drag and drop, dan juga kode dari
Jform yang kita buat. Sebenarnya dengan fitur drag and drop, kita telah
dimudahkan dalam proses kode coding karena code nya sudah tergenerate secara
otomatis.
Tab Design : Sesuai dengan nama nya, tab ini akan menampilkan “design” dari
project kita yang berisi Pallete, Properties Swing/Form, dsb. Design juga merupakan
tempat dimana kita bisa melakukan drag and drop item yang ingin kita gunakan di
form kita.
NB : Jika tools Pallete dan Properties tidak muncul, maka pilih menu Window
IDE Tools Pilih Pallete atau Properties.
3. Kita akan menambahkan panel agar tampilan dasar lebih tampak lebih menarik
dengan memberi warna background, dengan cara drag swing panel ke form yang
telah dibuat. Lalu pada bagian Properties, ganti background dengan warna yang
sesuai seperti contoh dibawah ini :
Jpanel 1
Jpanel 2
Jpanel 3
4. Lalu tambahkan label pada panel header dengan cara drag label pada bagian swing
controls sehingga hasilnya:
Jangan lupa juga untuk mengubah warna tulisan pada label menjadi putih agar
dapat terbaca dengan jelas. Atur juga alignment dari label nya menjadi center.
5. Selanjutnya tambahkan swing button, radio button, panel, text field, dan label pada
panel bagian tengah untuk pengisian data dan tombol aksinya. Hasilnya akan menjadi
seperti berikut :
Ubah swing tersebut dengan text dan nama variabel yang sesuai dengan fungsi nya
masing-masing. Berikut cara mengubah nama nya :
▪ Untuk mengubah text swing dapat dilakukan dengan cara klik kanan pada swing
edit text beri nama yang sesuai.
▪ Lalu untuk mengubah nama variabel seperti contoh btnTambah, txtCari, dll, dapat
dilakukan dengan cara klik kanan pada swing pilih change variabel name
beri
nama yang sesuai ketentuan tabel dibawah ok.
Block kedua radio button pria dan wanita dengan ctrl + klik. Lalu set button group pada
properties seperti gambar berikut ini.
6. Berikutnya adalah menambahkan swing Text Field pada bagian bawah panel yang
berfungsi untuk menampilkan data member. Lalu ubah nama variabel dengan nama
txtData. Dan hasilnya adalah :
Setelah selesai membuat form, maka sekarang kita akan melakukan “coding” untuk form kita.
Kita masuk ke bagian Source Jframe yang telah kita buat sebelumnya.
a. Import library dan kelas yang dibutuhkan dari package yang berbeda :
e. Klik 2x pada tombol btnAdd, maka akan muncul tampilan seperti gambar di bawah,
kemudian ketikkan code ini :
f. Klik 2x pada tombol btnUpdate, maka akan muncul tampilan seperti gambar di bawah,
kemudian ketikkan code ini :
g. Klik 2x pada tombol btnDelete, maka akan muncul tampilan seperti gambar di bawah,
kemudian ketikkan code ini :
h. Klik 2x pada tombol btnView, maka akan muncul tampilan seperti gambar di bawah,
kemudian ketikkan code ini :
i. Klik 2x pada tombol btnSearch, maka akan muncul tampilan seperti gambar di bawah,
kemudian ketikkan code ini :
j. Klik 2x pada tombol btnDone, maka akan muncul tampilan seperti gambar di bawah,
kemudian ketikkan code ini :
k. Klik 2x pada tombol btnCancel, maka akan muncul tampilan seperti gambar di bawah,
kemudian ketikkan code ini :
l. Klik 2x pada tombol btnAbout, maka akan muncul tampilan seperti gambar di bawah,
kemudian ketikkan code ini :
Pada bagian ini, isilah txtData dengan identitas kalian masing-masing. Identitas berupa
nama lengkap, NPM, dan juga kelas.
m. Lalu khusus untuk kode pada bagian radio button staff, klik kanan pada bagian radio
button staff Properties Events pada baris mouseClicked, pilih
<none> dan ganti dengan jrButtonMemberMouseClicked, lalu close. Kodenya
adalah sebagai berikut :
A. Jalankan programnya, lalu pilih button tampil sehingga hasilnya akan seperti pada
gambar di bawah ini. Lakukan proses yang lain seperti tambah (untuk menyelesaikan
proses tambah, maka jangan lupa select radio button staff), edit, hapus, cari, untuk
melihat apakah program sudah berjalan dengan baik atau belum.
B. Berikut adalah contoh screenshot program yang sudah selesai dibuat :