• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Laporan Prakerin - Dian Aditya - 2008/2009
 

Laporan Prakerin - Dian Aditya - 2008/2009

on

  • 1,230 views

Laporan Prakerin

Laporan Prakerin

"Membuat Aplikasi Desktop menggunakan Swing dan Hibernate"

Statistics

Views

Total Views
1,230
Views on SlideShare
1,228
Embed Views
2

Actions

Likes
1
Downloads
38
Comments
0

1 Embed 2

https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Laporan Prakerin - Dian Aditya - 2008/2009 Laporan Prakerin - Dian Aditya - 2008/2009 Document Transcript

    • LAPORAN PRAKTIK KERJA INDUSTRI TAHUN AJARAN 2008/2009 MEMBUAT APLIKASI DESKTOPMENGGUNAKAN 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 MALANGJl. 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
    • 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 PerusahaanM. Lukman Hakim, ST Frans Thamura 2
    • Kata Pengantar Puji syukur Alhamdulillah penyusun panjatkan kehadirat Allah YangMaha Kuasa atas rahmat dan hidayahnya sehingga penyusun dapat menyelesaikanlaporan ini dengan cukup lancar dan sesuai dengan jangka waktu yang telahditentukan. Tidak terasa sudah hampir satu tahun penyusun mengikuti kegiatanprakerin di Meruvian Foundation, dan sangat merasakan banyak sekali ilmuyang diperoleh terutama tentang dunia Java. Laporan ini akan menjelaskan bagaimana membuat aplikasi menggunakanbahasa pemrograman java serta sedikit bukti betapa mudahnya membuat sebuahaplikasi karena kita hanya tinggal memanfaatkan library yang sudah disediakan.Laporan ini juga sebagai sebuah media pembuktian bahwa ilmu, kemampuan, danketrampilan yang diperoleh bukan hanya berasal dari bakat, akan tetapi jugakemauan dan kerja keras dari pelakunya. Terima kasih penyusun ucapkan kepada Bpk. Lukman Hakim ST selakupembimbing sekolah atas dukungan yang telah diberikan selama penyusunmelaksanakan prakerin. Kepada pimpinan Meruvian, Bpk. Frans Thamurapenyusun ucapkan terimakasih atas semangat kerja dan kedisiplinan yang selaluditerapkan di setiap kesempatan sehingga sampai detik inipun penusun masihmerasakan manfaatnya. Kepada Bpk. Aditya Lukman dan Bpk. Kurniawanselaku pembimbing prakerin, penyusun ucapkan banyak-banyak terimakasih atasbimbingan baik didunia industri maupun diluar kegiatan prakerin. Penyusun jugamengucapkan terima kasih kepada semua pihak yang telah banyak berkontribusiselama kegiatan prakerin. Laporan ini masih jauh dari kata sempurna, penyusun juga menyadari haltersebut. Atas dasar tersebut mohon kritik dan solusi agar kedepan dapatbermanfaat bagi penyusun. Sedikit harapan dari penyusun agar seluruh lulusansmk optimis dan dapat membuktikan bahwa smk bisa. Malang, 19 Juli 2009 3
    • Daftar IsiHALAMAN SAMPUL ..................................................................... 1LEMBAR PENGESAHAN ............................................................... 2KATA PENGANTAR ....................................................................... 3DAFTAR ISI ..................................................................................... 4BAB I Pendahuluan .............................................................. 6 1.1. Latar Belakang Masalah ................................ 6 1.2. Fungsi dan Tujuan ......................................... 7BAB 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 ........................................... 10BAB 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
    • 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 ............ 25BAB IV Penutup ...................................................................... 30 4.1. Kesimpulan .................................................... 30 4.2. Saran .............................................................. 30DAFTAR PUSTAKA ....................................................................... 31 5
    • BAB I Pendahuluan1.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
    • 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
    • BAB II PELAKSANAAN PRAKTIK KERJA INDUSTRI2.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
    • 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
    • 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
    • BAB III Membuat Aplikasi Desktop Menggunakan Swing dan Hibernate Bab ini akan membahas mengenai teknologi ORM (Object RelationalMapping) paling populer didunia yaitu hibernate. ORM merupakan mekanismemodel 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 antaraaplikasi dengan database, yang mana ORM ini bekerja seperti database juga, 11
    • tetapi hanya berbentuk object. Setiap object di dalam ORM mewakili table dalamdatabase. Akibat dari teknologi mapping ini membuat sebuah aplikasi yangdikembangkan dengan ORM tidak terikat dengan database manapun. Sedangkanuntuk melakukan query database, dengan ORM digunakan sebuah objectrelational language yang bekerja mirip dengan SQL (pada Hibernatemenggunakan Hibernate Query Language/ HQL). Umumnya setiap class danobject 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
    • Gambar Eclipse IDE3.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
    • 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
    •  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
    •  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
    • Catatan :Jika kategori Hibernate tidak ditemukan berarti hibernatetool belum terinstall dengan baik pada eclipse, coba installulang plugin kemudian restart eclipse. 17
    • <?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;@MappedSuperclasspublic class DefaultPersistence implements Serializable{ @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(name="system-uuid", strategy="uuid") protected String id; 18
    • 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
    • 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
    • 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}"> <annotationconfigurationconfigurationfile="${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
    • Jika tidak terjadi masalah maka console akan menampilkan output sebagai berikut :Buildfile: D:DATAKUJavaProjectEclipseHibernateSwingbuild.xmlinit:schemaexport:[hibernatetool] Executing Hibernate Tool with a Hibernate Annotation/EJB3Configuration[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.EnvironmentbuildBytecodeProvider[hibernatetool] INFO: Bytecode provider name : cglib .......... ..........[hibernatetool] 25 Jul 09 10:02:53org.hibernate.connection.DriverManagerConnectionProvider configure[hibernatetool] INFO: using driver: oracle.jdbc.driver.OracleDriver atURL: jdbc:oracle:thin:@localhost:1521/xe[hibernatetool] 25 Jul 09 10:02:53org.hibernate.connection.DriverManagerConnectionProvider configure[hibernatetool] INFO: connection properties: {user=hibernateswing,password=****}[hibernatetool] 25 Jul 09 10:02:57org.hibernate.tool.hbm2ddl.SchemaExport execute[hibernatetool] INFO: schema export complete[hibernatetool] 25 Jul 09 10:02:58org.hibernate.connection.DriverManagerConnectionProvider close[hibernatetool] INFO: cleaning up connection pool:jdbc:oracle:thin:@localhost:1521/xeBUILD SUCCESSFULTotal 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
    • 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
    • //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 danSession berada pada Constructor, sedangkan proses Create dan Updateterdapat pada method insertOrUpdate() dan proses Delete pada methoddelete(). Method getKategoriProduk() berfungsi untuk menyimpan Listyang berisi obyek KategoriProduk. Ketika script diatas dijalankan maka 24
    • 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
    •  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.javapackage sch.smkpgri3.psg.kategoriproduk;import java.awt.EventQueue; 26
    • import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.border.EmptyBorder;import net.miginfocom.swing.MigLayout;public class KategoriProdukForm extends JFrame { private JPanel m_contentPane; private JLabel lblNama; private JLabel lblDeskripsi; private JTextField txtNama; private JScrollPane scrollPane; private JTextArea txtrDeskripsi; private JButton btnSave; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { KategoriProdukForm frame =new KategoriProdukForm(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public KategoriProdukForm() { initComponents(); } private void initComponents() { setTitle("Kategori Produk"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 309, 217); m_contentPane = new JPanel(); m_contentPane.setLayout(new MigLayout("","[56.00][][111.00][70.00][]", "[][97.00][][]")); m_contentPane.setBorder(new EmptyBorder(5, 5, 5,5)); setContentPane(m_contentPane); { lblNama = new JLabel("Nama"); m_contentPane.add(lblNama, "cell 0 0"); } { 27
    • txtNama = new JTextField(); m_contentPane.add(txtNama, "cell 20,growx"); txtNama.setColumns(10); } { lblDeskripsi = new JLabel("Deskripsi"); m_contentPane.add(lblDeskripsi, "cell 01"); } { scrollPane = new JScrollPane(); m_contentPane.add(scrollPane, "cell 2 1 31,grow"); { txtrDeskripsi = new JTextArea(); scrollPane.setViewportView(txtrDeskripsi); } } { btnSave = new JButton("Save"); m_contentPane.add(btnSave, "cell 33,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
    • Sedikit penjelasan tentang kode di atas adalah ketika btnSave di-click maka proses save akan dijalankan, yang hanyalah pada baristxtNama.getText() yang mengambil inputan berupa text daritxtNama yang merupakan JTextField, begitu pula dengantxtrDeskripsi.getText(). Sehingga proses save hanya dilakukanketika tombol Save di-click dan isi properti dari KategoriProduk.java tergantung pada inputan pada txtNama dan txtrDeskripsi. 29
    • BAB IV PENUTUP4.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
    • DAFTAR PUSTAKA Thamura, Frans. 2006. Cara Cepat Mengembangkan Solusi JavaEnterprise dengan Arsitektur MVC (Struts2, Spring, dan Hibernate). Departemen Pendidikan Nasional. 2007. Buku pedoman JavaEducation Network Indonesia. 31