1. LAPORAN
PRAKTIK KERJA INDUSTRI
TAHUN AJARAN 2008/2009
MEMBUAT APLIKASI DESKTOP
MENGGUNAKAN SWING DAN HIBERNATE
Disusun Oleh
Nama : Dian Wahyu Aditya
Nomor Induk Siswa : 7919/0464.RP
Bidang Keahlian : Informatika
Program Keahlian : Rekayasa Perangkat Lunak
SMK PGRI 3 MALANG
Jl. Raya Tlogomas IX No. 29 Malang 65144 Jawa Timur
Telp.(0341)554383 Fax.(0341)574755
Website : www.smkpgri3-mlg.sch.id
e-mail : smkpgri3mlg@smkpgri3-mlg.sch.id
1
2. LEMBAR PENGESAHAN
LAPORAN PRAKTEK KERJA INDUSTRI
Tempat PRAKERIN : Meruvian Foundation
Alamat : Wijaya Grand Center Blok H41,
Jakarta
Waktu PRAKERIN : 23 Oktober 2008 – 4 Juli 2009
Program Keahlian : Rekayasa Perangkat Lunak
Nama : Dian Wahyu Aditya
Nomor Induk Siswa : 7919/0464.RP
Menyetujui,
Pembimbing DU/DI Pembimbing Sekolah
Kurniawan M. Lukman Hakim, ST
Mengetahui,
BKA / PRAKERIN Pimpinan Perusahaan
M. Lukman Hakim, ST Frans Thamura
2
3. Kata Pengantar
Puji syukur Alhamdulillah penyusun panjatkan kehadirat Allah Yang
Maha Kuasa atas rahmat dan hidayahnya sehingga penyusun dapat menyelesaikan
laporan ini dengan cukup lancar dan sesuai dengan jangka waktu yang telah
ditentukan. Tidak terasa sudah hampir satu tahun penyusun mengikuti kegiatan
prakerin di Meruvian Foundation, dan sangat merasakan banyak sekali ilmu
yang diperoleh terutama tentang dunia Java.
Laporan ini akan menjelaskan bagaimana membuat aplikasi menggunakan
bahasa pemrograman java serta sedikit bukti betapa mudahnya membuat sebuah
aplikasi karena kita hanya tinggal memanfaatkan library yang sudah disediakan.
Laporan ini juga sebagai sebuah media pembuktian bahwa ilmu, kemampuan, dan
ketrampilan yang diperoleh bukan hanya berasal dari bakat, akan tetapi juga
kemauan dan kerja keras dari pelakunya.
Terima kasih penyusun ucapkan kepada Bpk. Lukman Hakim ST selaku
pembimbing sekolah atas dukungan yang telah diberikan selama penyusun
melaksanakan prakerin. Kepada pimpinan Meruvian, Bpk. Frans Thamura
penyusun ucapkan terimakasih atas semangat kerja dan kedisiplinan yang selalu
diterapkan di setiap kesempatan sehingga sampai detik inipun penusun masih
merasakan manfaatnya. Kepada Bpk. Aditya Lukman dan Bpk. Kurniawan
selaku pembimbing prakerin, penyusun ucapkan banyak-banyak terimakasih atas
bimbingan baik didunia industri maupun diluar kegiatan prakerin. Penyusun juga
mengucapkan terima kasih kepada semua pihak yang telah banyak berkontribusi
selama kegiatan prakerin.
Laporan ini masih jauh dari kata sempurna, penyusun juga menyadari hal
tersebut. Atas dasar tersebut mohon kritik dan solusi agar kedepan dapat
bermanfaat bagi penyusun. Sedikit harapan dari penyusun agar seluruh lulusan
smk optimis dan dapat membuktikan bahwa smk bisa.
Malang, 19 Juli 2009
3
4. Daftar Isi
HALAMAN SAMPUL ..................................................................... 1
LEMBAR PENGESAHAN ............................................................... 2
KATA PENGANTAR ....................................................................... 3
DAFTAR ISI ..................................................................................... 4
BAB I Pendahuluan .............................................................. 6
1.1. Latar Belakang Masalah ................................ 6
1.2. Fungsi dan Tujuan ......................................... 7
BAB II Pelaksanaan Praktik Kerja Industri ........................... 8
2.1. Waktu dan Tempat ......................................... 8
2.2. Tentang Meruvian .......................................... 8
2.3. Sistem Pelaksanaan Kegiatan di Tempat
Prakerin .......................................................... 9
2.4. Kegiatan selama Prakerin .............................. 9
2.5. Sistematika Kerja ........................................... 10
BAB III Membuat Aplikasi Desktop Menggunakan Swing
dan Hibernate ............................................................. 11
3.1. Persiapan ........................................................ 12
3.1.1. Integrated Development Environment .... 12
3.1.2. Database .................................................. 13
3.1.3. Swing Designer ....................................... 13
3.1.4. Hibernate Tools ...................................... 14
3.1.5. Library .................................................... 14
4
5. 3.2. Langkah Pengerjaan ...................................... 15
3.2.1. Membuat sebuah hibernate project ......... 15
3.2.2. Memulai hibernate project ...................... 16
3.2.3. Men-generate database menggunakan
Hibernate tools ........................................ 20
3.2.4. Menjalankan hibernate object ................. 24
3.2.5. Membuat Aplikasi berbasis GUI ............ 25
BAB IV Penutup ...................................................................... 30
4.1. Kesimpulan .................................................... 30
4.2. Saran .............................................................. 30
DAFTAR PUSTAKA ....................................................................... 31
5
6. BAB I
Pendahuluan
1.1. Latar Belakang Masalah
Dewasa ini kebutuhan akan programmer java di dunia industri
meningkat dengan sangat pesat. Hampir sebagian besar SMK yang memiliki
program keahlian Rekayasa Perangkat Lunak merubah haluan, dari yang
notabene nya mengajarkan bahasa pemrograman non-java seperti Delphi
ataupun C++ beralih mengajarkan bahasa pemrograman Java. Lantas
mengapa programmer Java lulusan SMK seakan tenggelam mengingat
sedikitnya lulusan SMK yang terserap di dunia industri untuk keahlian
Java? Mungkin pertanyaan tersebut yang masih sering terbayang di telinga
setiap siswa SMK yang sedang mempelajari bahasa pemrograman Java yang
konon merupakan bahasa pemrograman paling hot abad ini.
Memang tidak dapat dipungkiri bahwa dunia luar/industri masih
belum cukup percaya dengan ketrampilan yang dimiliki oleh lulusan SMK.
Memang ada programmer Java lulusan SMK yang telah direkrut di dunia
industri. Akan tetapi hampir sebagian besar perusahaan ketika merekrut
tenaga kerja lulusan SMK masih menggunakan sistem pelatihan bagi yang
telah lulus seleksi yang rata-rata minimal 3 (tiga) bulan. Memang bukan
kabar yang cukup baik bagi para calon programmer Java, akan tetapi hal
tersebut bukan sebuah alasan untuk tidak mempelajari bahasa pemrograman
Java.
SMK PGRI 3 Malang merupakan salah satu lembaga pendidikan di
Kota Malang yang mengajarkan bahasa pemrograman Java bagi siswa yang
mendalami program keahlian Rekayasa Perangkat Lunak. Pelaksanaan
prakerin di SMK PGRI 3 Malang dilaksanakan siswa ketika menginjak
kelas dua yakni selama 12 bulan, berbeda dengan SMK lain yang rata-rata
kegiatan prakerinnya dilaksanakan selama 3 hingga 6 bulan. Oleh karena itu
6
7. siswa yang telah melaksanakan prakerin selama satu tahun penuh
seharusnya sudah menguasai medan pertempuran yang akan dihadapi kelak
ketika lulus.
Berdasarkan pada kenyataan diatas serta semangat yang kuat
penyusun bermotivasi untuk membuktikan bahwa lulusan SMK khususnya
SMK PGRI 3 Malang siap bersaing di dunia industri serta menjawab semua
keraguan khalayak industri tentang lulusan SMK yang katanya kurang ber-
skill adalah sebuah kesalahan besar.
1.2. Fungsi dan Tujuan
Dari banyak fungsi dan tujuan dilaksanakannya kegiatan prakerin,
penyusun merangkum beberapa fungsi dan tujuan penting melaksanakan
kegiatan Praktek Kerja Industri dan membuat Laporan Prakerin,
diantaranya:
Mengenalkan siswa pada kondisi dimana seseorang benar-benar
sedang bergelut dalam dunia usaha/industri.
Memberi waktu lebih kepada siswa untuk mempelajari seluk beluk
dunia usaha/industri sebelum mereka benar-benar masuk ke dunia
industri.
Melatih mental, karena kondisi di dunia usaha/industri sangat jauh
berbeda dengan kondisi di sekolah. Karena itu biasanya sifat asli
seorang siswa akan terlihat jelas ketika dan setelah melaksanakan
kegiatan prakerin.
Mendapat pengakuan terhadap pengalaman kerja.
7
8. BAB II
PELAKSANAAN PRAKTIK KERJA INDUSTRI
2.1. Waktu dan Tempat
Kegiatan prakerin dilaksanakan di Meruvian, Wijaya Grand Center
H41 Jakarta selama 8 (delapan) bulan yaitu mulai tanggal 23 Oktober 2008
– 4 Juli 2009.
2.2. Tentang Meruvian
Meruvian adalah Lembaga Pengambangan dan Pelayanan berbasis
Java dan Enterprise OpenSource. Meruvian didirikan oleh Frans Thamura
pada tanggal 28 Maret 2006 untuk mengurangi kesenjangan industri.
Industri yang Kompetitif
Keahlian Industri Basic
GAP
Kursus Standar (Internasional)
Universitas
Adapun kurikulum yang didesain didalam Meruvian adalah
kurikulum pengembangan setelah kurikulum standart yang dikembangkan
oleh Sun Microsystem, sehingga dapat dikatakan seluruh program-program
yang diajarkan adalah versi praktis dari kelas yang didesain oleh Sun
Microsystem.
8
9. 2.3. Sistem Pelaksanaan Kegiatan di Tempat Prake rin
Sistem yang digunakan adalah mengutamakan ketepatan waktu
penyelesaian sebuah project serta penekanan kedisiplinan dan tanggung
jawab terhadap pekerjaan, agar setiap pekerjaan selesai pada waktu yang
telah ditentukan.
Siswa prakerin dibagi menjadi dua kelompok, yaitu tim
pengembang dan tim riset. Tim pengembang bertugas mengembangkan
produk Meruvian sedangkan tim riset bertugas melakukan riset terhadap
suatu teknologi baru yang suatu saat akan digunakan untuk mengembangkan
produk-produk yang lain.
2.4. Kegiatan selama Prakerin
Selama menjalani kegiatan prakerin sekitar hampir 8 (delapan)
bulan di Meruvian penyusun telah merasa mendapat banyak ilmu dan
pengalaman tentang Java di level industri. Salah satu project yang
dikerjakan oleh penyusun adalah project BlueOxygen Postila, yang
merupakan project untuk pengembangan Point of Services. Postila sendiri
salah satunya dibangun menggunakan teknologi Swing dan Hibernate yang
akan dibahas di Bab III.
Selain pengembangan project Postila, penyusun juga melakukan
riset mengenai salah satu teknologi Java yaitu Spring. Spring juga salah satu
teknologi yang digunakan untuk membangun project Postila. Sehingga
dapat dikatakan penyusun melakukan pengembangan terhadap project
sambil melakukan riset terhadap teknologi yang akan digunakan pada
project yang dikembangkan tersebut.
9
10. 2.5. Sistematika Ke rja
Proses Kegiatan :
1. Pembuatan Model Program
Model yang dimaksudkan disini dalam istilah awam adalah
pembuatan rangka dan mesin sebuah aplikasi dan terpisah dari
tampilan. Model ini berfungsi untuk menghubungkan aplikasi
dengan database. Tentu saja pembuatan model ini tidak
sembarangan, harus sesuai dengan instruksi yang telah
disampaikan.
2. Membuat Tampilan Aplikasi
Proses ini merupakan bagian pembuatan Graphical User Interface
(GUI) yaitu pembuatan tampilan yang berhubungan langsung
dengan user.
3. Testing Program
Bagian testing dapat dikatakan bagian penyempurnaan program
yaitu mencari kesalahan yang mungkin terjadi pada aplikasi.
10
11. BAB III
Membuat Aplikasi Desktop Menggunakan Swing dan
Hibernate
Bab ini akan membahas mengenai teknologi ORM (Object Relational
Mapping) paling populer didunia yaitu hibernate. ORM merupakan mekanisme
model yang berinteraksi dengan database.
Class Table
Class
Object Column
Table
Object
Column
Class Table
Object Column
Package Database
Mekanisme Object Relational Mapping Bekerja
ORM sebenarnya adalah sebuah teknologi yang menjadi satu lapis antara
aplikasi dengan database, yang mana ORM ini bekerja seperti database juga,
11
12. tetapi hanya berbentuk object. Setiap object di dalam ORM mewakili table dalam
database. Akibat dari teknologi mapping ini membuat sebuah aplikasi yang
dikembangkan dengan ORM tidak terikat dengan database manapun. Sedangkan
untuk melakukan query database, dengan ORM digunakan sebuah object
relational language yang bekerja mirip dengan SQL (pada Hibernate
menggunakan Hibernate Query Language/ HQL). Umumnya setiap class dan
object POJO dimap sengan sebuah XML.
3.1. Persiapan
3.1.1. Integrated Development Environment
Seorang programmer tidak akan pernah jauh dari Integrated
Development Environment atau sering disebut dengan IDE dalam
membuat sebuah aplikasi. IDE merupakan sebuah peralatan dalam
pemrograman yang diintegrasiakn kedalam aplikasi software yang
mendukung pembangunan Graphical User Interface (GUI), text atau
penulisan kode, compiler dan debugger.
Ada beberapa IDE yang sering digunakan antara lain NetBeans
IDE (IDE besutan Sun Microsystem / http://www.netbeans.org) dan
Eclipse IDE (merupakan IDE paling populer di dunia Java dan nomor 2
setelah Microsoft Visual Strudio / http://www.eclipse.org). Pada bahasan
kali ini penyusun menggunakan Eclipse IDE versi 3.4 (Ganymede).
12
13. Gambar Eclipse IDE
3.1.2. Database
Penyusun menggunakan Oracle 10g Express Edition
(http://www.oracle.com).
3.1.3. Swing Designer
Untuk membuat aplikasi berbasis GUI, programmer memerlukan
GUI designer untuk mempermudah serta mempercepat pembuatan GUI.
Karena kebutuhan tersebut penyusun menambahkan plugin pada Eclipse
yaitu Instantiations Swing Designer yang dapat didownload di
http://www.instantiations.com.
13
14. 3.1.4. Hibernate Tools
Hibernate tools memudahkan programmer dalam membuat
project berbasis hibernate. Hibernate Tools sebenarnya hadir dengan dua
teknologi, sebagai plugin pada eclipse dan sebagai script pada ant. Cara
menginstall Hibernate Tools cukup mudah, pertama download hibernate
tools terbaru di http://tools.hibernate.org kemudian extract file yang
sudah didownload tersebut ke dalam folder eclipse.
3.1.5. Library
Download beberapa library yang dibutuhkan, antara lain :
Hibernate (http://www.hibernate.org)
o hibernate3.jar
o hibernate-annotation.jar
o ejb3-persistence.jar
o dom-4j.jar
o commons- logging.jar
o commons-collections.jar
o cglib.jar
o asm.jar
o jta.jar
o antlr.jar
o hibernate-commons-annotation.jar
o freemarker.jar
Database driver, karena penyusun menggunakan OracleXE sebagai
database maka jdbc library terdapat pada
{oracledirectory}apporacleproduct10.2.0serverjdbclib
o ojdbc14.jar
14
15. Langkah Pengerjaan
3.2.1. Membuat sebuah hibernate project
Buat project baru
o File – New – Other
o Pilih kategori Java Project kemudian klik tombol next
o Masukkan nama project (“SwingHibernate”) kemudian
click tombol finish
15
16. Masukkan jar file kedalam build path
o Click kanan pada project kemudian pilih menu “Ne w
Folder” (“dengan nama lib”)
o Jika folder lib telah terbuat, buka explorer kemudian copy
semua jar file (library) yang dibutuhkan kemudian klik
kanan dan paste semua ibrary yang telah dicopy
o Jika semua library telah ter-copy, blok semua jar file
kemudian click kanan, pilih menu “Buid Path – Add to
Build Path”
3.2.2. Memulai hibernate project
Membuat file konfigurasi Hibernate (hibernate.cfg.xml)
o Klik kanan pada src kemudian pilih file – menu – other
o Cari kategori Hibernate kemudian pilih Hibernate
Configuration File.
16
17. Catatan :
Jika kategori Hibernate tidak ditemukan berarti hibernate
tool belum terinstall dengan baik pada eclipse, coba install
ulang plugin kemudian restart eclipse.
17
18. <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-
3.0.dtd">
<hibernate-configuration>
<session-factory name="HibernateSessionFactory">
<property name="hibernate.connection.driver_class">
oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.password">
hibernateswing
</property>
<property name="hibernate.connection.url">
jdbc:oracle:thin:@localhost:1521/xe
</property>
<property name="hibernate.connection.username">
hibernateswing
</property>
<property name="hibernate.dialect">
org.hibernate.dialect.OracleDialect
</property>
</session-factory>
</hibernate-configuration>
Buat sebuah class DefaultPersistence, objek ini adalah sebuah
object yang termapping untuk menghasilkan id yang unik dari
setiap kegiatan persistensi. Objek ini sangat diperlukan untuk
pengembangan selanjutnya, karena dengan mengimplementasikan
objek ini akan terbentuk sebuah record id dan akan terisi secara
otomatis bila dilakukan save terhadap data baru.
Isi dari DefaultPersistence.java adalah sebagai berikut :
package sch.smkpgri3.psg.persistence;
import java.io.Serializable;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import org.hibernate.annotations.GenericGenerator;
@MappedSuperclass
public class DefaultPersistence implements Serializable{
@Id
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy="uuid")
protected String id;
18
19. public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
Kemudian buat Java class dengan nama KategoriProduk
o Isi dari KategoriProduk.java
package sch.smkpgri3.psg.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;
import sch.smkpgri3.psg.persistence.DefaultPersistence;
@Entity
@Table(name="kategori_produk")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class KategoriProduk extends DefaultPersistence{
@Column(name="nama")
private String nama;
@Column(name="deskripsi")
private String deskripsi;
o Klik kanan dan pilih
19
20. Ketika tombol ok ditekan, maka secara otomatis semua
variable akan memiliki method setXXX dan getXXX.
o Setelah itu register class yang telah dibuat ke dalam
hibernate.cfg.xml dengan menambahkan baris berikut
<mapping class="sch.smkpgri3.psg.entity.KategoriProduk"/>
3.2.3. Menggenerate Database menggunakan Hibernate Tool
Setelah langkah-langkah diatas selesai dilakukan, berikutnya
adalah menggenerate entity class yang sudah dibuat tadi ke dalam
database. Untuk menggenerate menggunakan hibernate tool diperlukan
script ant build (build.xml) agar table bisa digenerate secara otomatis.
20
21. Berikut isi dari build.xml :
<?xml version="1.0" encoding="UTF-8"?>
<project name="hibernateswing" basedir=".">
<target name="init">
<property name="hibswing.lib" value="${basedir}/lib"/>
<property name="hibswing.classes" value="${basedir}/bin"/>
<property name="hibswing.sources" value="${basedir}/src"/>
</target>
<target name="schemaexport" depends="init">
<taskdef name="hibernatetool"
classname="org.hibernate.tool.ant.HibernateToolTask">
<classpath>
<fileset dir="${hibswing.lib}">
<include name="**/*.jar"/>
</fileset>
<path location="${hibswing.classes}"/>
</classpath>
</taskdef>
<hibernatetool destdir="${hibswing.classes}">
<annotationconfiguration
configurationfile="${hibswing.sources}/hibernate.cfg.xml"/>
<hbm2ddl drop="true"
console="false"
create="true"
outputfilename="hibswing.sql"
delimiter=";"
export="true"
/>
</hibernatetool>
</target>
</project>
Jalankan script tersebut dengan meng-click kanan pada file
build.xml yang telah dubuat kemudian pilih Run As – Ant Build.
21
22. Jika tidak terjadi masalah maka console akan menampilkan output
sebagai berikut :
Buildfile: D:DATAKUJavaProjectEclipseHibernateSwingbuild.xml
init:
schemaexport:
[hibernatetool] Executing Hibernate Tool with a Hibernate Annotation/EJB3
Configuration
[hibernatetool] 1. task: hbm2ddl (Generates database schema)
[hibernatetool] 25 Jul 09 10:02:48 org.hibernate.cfg.annotations.Version
<clinit>
[hibernatetool] INFO: Hibernate Annotations 3.3.1.GA
[hibernatetool] 25 Jul 09 10:02:49 org.hibernate.cfg.Environment <clinit>
[hibernatetool] INFO: Hibernate 3.2.5
[hibernatetool] 25 Jul 09 10:02:49 org.hibernate.cfg.Environment <clinit>
[hibernatetool] INFO: hibernate.properties not found
[hibernatetool] 25 Jul 09 10:02:49 org.hibernate.cfg.Environment
buildBytecodeProvider
[hibernatetool] INFO: Bytecode provider name : cglib
..........
..........
[hibernatetool] 25 Jul 09 10:02:53
org.hibernate.connection.DriverManagerConnectionProvider configure
[hibernatetool] INFO: using driver: oracle.jdbc.driver.OracleDriver at
URL: jdbc:oracle:thin:@localhost:1521/xe
[hibernatetool] 25 Jul 09 10:02:53
org.hibernate.connection.DriverManagerConnectionProvider configure
[hibernatetool] INFO: connection properties: {user=hibernateswing,
password=****}
[hibernatetool] 25 Jul 09 10:02:57
org.hibernate.tool.hbm2ddl.SchemaExport execute
[hibernatetool] INFO: schema export complete
[hibernatetool] 25 Jul 09 10:02:58
org.hibernate.connection.DriverManagerConnectionProvider close
[hibernatetool] INFO: cleaning up connection pool:
jdbc:oracle:thin:@localhost:1521/xe
BUILD SUCCESSFUL
Total time: 11 seconds
Jika proses generate berjalan dengan lancar, coba buka Oracle
Object Browser. Maka secara otomatis akan terbentuk table baru
dengan nama KATEGORI_PRODUK.
22
23. 3.2.4. Menjalankan Hibe rnate Object
Selanjutnya sebelum membuat aplikasi berbasis GUI sebaiknya
adalah mebuat aplikasi sederhana berbasis text dahulu untuk melakukan
query ke database. Secara konsep proses ini adalah inisialisasi
SessionFactory, kemudian baru melakukan eksekusi dimana untuk
mengeksekusi menggunakan Hibernate Query Language (HQL).
package sch.smkpgri3.psg.kategoriproduk;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import sch.smkpgri3.psg.entity.KategoriProduk;
public class KategoriProdukCRUD {
private SessionFactory sf;
private Session sess;
//Inisialisasi Session Factory
public KategoriProdukCRUD() {
sf = new AnnotationConfiguration()
.configure("hibernate.cfg.xml")
.buildSessionFactory();
sess = sf.openSession();
}
23
24. //Method untuk menyimpan KategoriProduk ke database
public void insertOrUpdate(KategoriProduk prod) {
sess.getTransaction().begin();
sess.saveOrUpdate(prod);
sess.getTransaction().commit();
}
public void delete(KategoriProduk prod) {
sess.getTransaction().begin();
sess.delete(prod);
sess.getTransaction().commit();
}
//Mereturn KategoriProduk dalam bentuk list
public List<KategoriProduk> getKategoriProduk() {
String hql = "FROM"+
KategoriProduk.class.getName();
return sess.createQuery(hql).list();
}
public static void main(String [] args) {
KategoriProduk prod = new KategoriProduk();
prod.setNama("Sepatu");
prod.setDeskripsi("Alas Kaki");
//Inisialisasi Session Factory
KategoriProdukCRUD kat = new
KategoriProdukCRUD();
//Menyimpan KategoriProduk
kat.insertOrUpdate(prod);
//Menampilkan data pada KategoriProduk kedalam
//console
for(KategoriProduk p : kat.getKategoriProduk())
{
System.out.println(p.getNama());
System.out.println(p.getDeskripsi());
}
}
}
Dapat kita lihat diatas proses inisialisasi SessionFactory dan
Session berada pada Constructor, sedangkan proses Create dan Update
terdapat pada method insertOrUpdate() dan proses Delete pada method
delete(). Method getKategoriProduk() berfungsi untuk menyimpan List
yang berisi obyek KategoriProduk. Ketika script diatas dijalankan maka
24
25. proses pertama adalah menyimpan data pada database kemudian
menampilkannya ke console dalam format teks.
Coba lihat kembali ke dalam Oracle browser, maka secara ajaib
object KategoriProduk akan langsung tersimpan tanpa menggunakan
perintah sql sama sekali.
3.2.5. Membuat aplikasi bebasis GUI
Sebenarnya bagian ini merupakan tahap akhir dalam bahasan ini
yaitu pembuatan Graphical User Interface (GUI) yaitu tahap pembuatan
kulit luar untuk menghubungkan antara user dengan aplikasi.
Berikut langakah- langkah pembuatan entry form untuk menyimpan
object Kategori-Produk yang telah dibuat ke dalam database.
25
26. Buat java class baru dengan memilih menu File – New – Other
kemudian cari kategori WindowBuilder – Swing Designer –
JFrame. (Beri nama KategoriProdukForm)
Catatan :
Jika kategori WindowBuilder tidak ditemukan berarti Swing
Designer belum terinstall dengan baik pada eclipse.
Buat tampilan seperti gambar berikut.
Berikut script dari KategoriProdukForm.java
package sch.smkpgri3.psg.kategoriproduk;
import java.awt.EventQueue;
26
28. txtNama = new JTextField();
m_contentPane.add(txtNama, "cell 2
0,growx");
txtNama.setColumns(10);
}
{
lblDeskripsi = new JLabel("Deskripsi");
m_contentPane.add(lblDeskripsi, "cell 0
1");
}
{
scrollPane = new JScrollPane();
m_contentPane.add(scrollPane, "cell 2 1 3
1,grow");
{
txtrDeskripsi = new JTextArea();
scrollPane.setViewportView(txtrDeskripsi);
}
}
{
btnSave = new JButton("Save");
m_contentPane.add(btnSave, "cell 3
3,growx");
}
}
}
Kemudian untuk perintah save tinggal menambahkan listener pada
button yang telah dibuat kemudian memasukkan baris kode untuk
menyimpan inputan ke dalam database.
Berikut kodenya :
btnSave.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
KategoriProduk prod = new KategoriProduk();
prod.setNama(txtNama.getText());
prod.setDeskripsi(txtrDeskripsi.getText());
KategoriProdukCRUD kat = new
KategoriProdukCRUD();
kat.insertOrUpdate(prod);
}
});
28
29. Sedikit penjelasan tentang kode di atas adalah ketika btnSave di-
click maka proses save akan dijalankan, yang hanyalah pada baris
txtNama.getText() yang mengambil inputan berupa text dari
txtNama yang merupakan JTextField, begitu pula dengan
txtrDeskripsi.getText(). Sehingga proses save hanya dilakukan
ketika tombol Save di-click dan isi properti dari KategoriProduk
.java tergantung pada inputan pada txtNama dan txtrDeskripsi.
29
30. BAB IV
PENUTUP
4.1. Kesimpulan
Dewasa ini kebutuhan akan programmer Java meningkat sangat
pesat, hampir sebagian besar SMK yang memiliki program keahlian
Rekayasa perangkat lunak memasukkan bahasa pemrograman Java
sebagai salah satu bidang keahlian yang wajib dikuasai oleh setiap
siswanya. Akan tetapi hingga saat ini publik industri masih belum cukup
percaya akan kemampuan para lulusan SMK.
Meruvian sebagai Lembaga Pengambangan dan Pelayanan berbasis
Java dan Enterprise OpenSource didirikan untuk mengurangi
kesenjangan industri. Adapun kurikulum yang didesain didalam
Meruvian adalah kurikulum pengembangan setelah kurikulum standart
yang dikembangkan oleh Sun Microsystem.
4.2. Saran
Para lulusan SMK agar lebih optimis dan menunjukan bahwa
lulusan SMK tidak kalah dengan sarjana.
Menciptakan produk-produk yang bermanfaat bagi masyarakat,
bangsa, dan tanah air dan yang terpenting adalah ramah
lingkungan.
Meningkatkan kedisiplinan karena salah satu tolak ukur
kesuksesan seseorang adalah dari tingkat kedisiplinannya.
Mengembangkan teknologi secara mandiri agar tidak selamanya
dimonopoli oleh teknologi dari bangsa lain.
Hormatilah yang lebih tua.
30
31. DAFTAR PUSTAKA
Thamura, Frans. 2006. Cara Cepat Mengembangkan Solusi Java
Enterprise dengan Arsitektur MVC (Struts2, Spring, dan Hibernate).
Departemen Pendidikan Nasional. 2007. Buku pedoman Java
Education Network Indonesia.
31