0% menganggap dokumen ini bermanfaat (0 suara)
55 tayangan

Modul 7 Object Persistence KSP Java 2022

Dokumen tersebut membahas tentang objek persistence dalam pemrograman berorientasi objek. Objek dapat menyimpan statusnya dalam media penyimpanan sekunder sehingga data tetap tersedia ketika program dijalankan ulang. Dokumen tersebut juga memberikan contoh pembuatan sistem manajemen karyawan dengan menggunakan objek persistence ke database menggunakan XAMPP dan mengimplementasikan fungsi-fungsi dasar seperti menambah, menampilkan, mencari, mengub

Diunggah oleh

Archangela Dian
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
55 tayangan

Modul 7 Object Persistence KSP Java 2022

Dokumen tersebut membahas tentang objek persistence dalam pemrograman berorientasi objek. Objek dapat menyimpan statusnya dalam media penyimpanan sekunder sehingga data tetap tersedia ketika program dijalankan ulang. Dokumen tersebut juga memberikan contoh pembuatan sistem manajemen karyawan dengan menggunakan objek persistence ke database menggunakan XAMPP dan mengimplementasikan fungsi-fungsi dasar seperti menambah, menampilkan, mencari, mengub

Diunggah oleh

Archangela Dian
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 32

Object Oriented Programming

MODUL 7
Object Persistence 1

Michael Edward Setiawan


OBJECT PERSISTENCE 1 KSP JAVA 202
DASAR TEORI

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 :

▪ Menambahkan data staff baru ke dalam sistem


▪ Menampilkan seluruh data-data yang ada di dalam sistem
▪ Mencari seluruh data-data staff yang ada di dalam sistem berdasarkan nomor staff
▪ Mengubah data staff dengan cara mencari dan mengecek berdasarkan nomor staff
▪ Menghapus data staff dengan berdasarkan nomor staff
▪ Dapat menghitung total gaji seorang staff dengan rumus = jamKerja *1000000

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:

1. Buatlah sebuah project baru dengan nama KSP_YYYY (YYYY

= 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

3. Maka akan diarahkan ke halaman

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

8. Data Access Object Class (DAO Class)


Data Access Object (DAO) digunakan untuk memisahkan data access logic
dari business logic dan presentation logic. DAO dapat menambah reusabilty dan
maintainability dari data. DAO digunakan untuk melakukan operasi akses data.

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

Langkah selanjutnya adalah membuat method untuk menambahkan data staff ke


dalam tabel staff yang ada pada database yang kita gunakan, sesuai dengan atribut
yang telah dibuat dari tabel staff dengan query insert data seperti gambar dibawah ini.
Berikut diberikan tabel yang berisi penjelasan singkat mengenai query-query yang
sering digunakan dalam pengaksesan database :
Fungsionalitas Query Keterangan
Insert INSERT INTO Perhatikan nama kolom yang
nama_tabel(kolom1, kolom2, ada pada query dan database
kolom3, dst..) VALUES harus sama, juga perhatikan
(nilai1, nilai2, nilai3, dst..); urutan kolom dan nilai harus
bersesuaian.
Select (View) SELECT kolom1, kolom2, Secara umum terdapat dua
kolom3, dst .. FROM variasi penggunaan query
nama_tabel; SELECT. Untuk menampilkan
SELECT * FROM nama_tabel; isi dari beberapa kolom saja
gunakan query pertama. Kita
juga dapat menampilkan semua
data dengan menggunakan
query kedua.
Update UPDATE nama_tabel SET Kita dapat melakukan update
kolom1 = nilai1, kolom2 = nilai dari beberapa kolom pada
nilai2, kolom3 = nilai3, dst.. tabel sekaligus, dan perhatikan
WHERE condition; juga nilai yang dimasukkan
harus ke dalam kolom yang
sesuai. Perhatikan juga kondisi
yang digunakan, agar tidak
salah melakukan update.
Delete DELETE FROM nama_tabel Perhatikan bagian kondisi saat
WHERE condition; melakukan query delete, jika
salah memberikan kondisi,
maka data yang terhapus akan
berbeda dengan yang ingin kita
hapus. Jika kita lupa
memberikan kondisi, maka
data pada seluruh tabel dapat
terhapus.
NB : Dalam membuat query pada program, hal yang perlu diperhatikan yaitu nama
atribut/kolom dalam query harus sesuai dengan atribut database yang dibuat. Kemudian,
untuk values atribut dengan tipe data selain string/char, tidak perlu ditambahkan tanda
petik satu (‘).

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().

10. Exception Class


Selanjutnya kita akan mengimplementasikan Exception Handling untuk
menangani error ketika program dijalankan dengan membuat kelas baru bernama
NoStaffException pada package exception. Ketikkanlah kode dalam kelas
NoStaffException seperti gambar dibawah ini.

11. User Interface Class


User Interface merupakan bagian presentation logic sebuah aplikasi yang
digunakan sebagai antarmuka kepada user. Selanjutnya adalah membuat kelas Jframe
(view) seperti dibawah ini :
a. Pertama klik kanan pada package view - new - JFrame Form - isi dengan nama
“StaffView”. Jika berhasil, maka tampilan nya seperti ini :

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.

Component Variable Name


PANEL AKSI
Button Add btnAdd
Button Update btnUpdate
Button Delete btnDelete
Button View btnView
PANEL PENCARIAN
Text Field Search txtSearch
Button Search btnSearch
PANEL DATA
Text Field Nama txtNama
Text Field Jumlah Beli txtJumlah
Radio Button Member jrButtonMember
Text Field No Member txtNoMember
Button Cancel btnCancel
Button Done btnDone
Button About btnAbout

Cara Membuat Radio Button Group


Drag radio button kedalam JFrame dan ubahlah nama variabel dan text swingnya menjadi
seperti gambar berikut

Lalu drag button group ke area tersebut

Sehingga akan muncul seperti ini

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 :

b. Lakukan deklarasi variabel dan pembuatan object controller pada constructor :


c. Tambahkan method seperti pada gambar di bawah ini, untuk men-disable beberapa
komponen UI yang tidak diperlukan inputan saat program dijalankan, dan melakukan
clear Text Field.

d. Tambahkan juga prosedur baru yang bernama NoStaffException untuk


mengimplementasikan User Defined Exception yang telah kita buat tadi pada kelas
NoStaffException. Fungsi prosedur ini nantinya akan berfungsi untuk mengecek apakah
inputan pada text field NoStaffException tidak memiliki karakter >= 5 atau kosong.
Berikut adalah potongan code nya.

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 :

Selamat! Kalian telah berhasil menyelesaikan Guided Praktikum 3. Sekarang


saatnya mencoba program yang telah kita buat.

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 :

Anda mungkin juga menyukai