Laporan Prakerin - Dian Aditya - 2008/2009

Dian Aditya
Dian AdityaSoftware developer um Meruvian

Laporan Prakerin "Membuat Aplikasi Desktop menggunakan Swing dan Hibernate"

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
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
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
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
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
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
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 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
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 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
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
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
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 hibernate
tool belum terinstall dengan baik pada eclipse, coba install
ulang 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;

@MappedSuperclass
public 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}">
                     <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
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
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 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
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.java


package 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 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
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
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
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

Recomendados

Laporan prakerrin tkj lengkap von
Laporan prakerrin tkj lengkapLaporan prakerrin tkj lengkap
Laporan prakerrin tkj lengkapChyron Supriyadi
88.4K views45 Folien
Contoh laporan pkl ( prakerin ) tkj von
Contoh laporan pkl ( prakerin ) tkjContoh laporan pkl ( prakerin ) tkj
Contoh laporan pkl ( prakerin ) tkjkopihitambasi
30.2K views38 Folien
Hasil Laporan Prakerin SMK Negeri 1 Rangkasbitung von
Hasil Laporan Prakerin SMK Negeri 1 RangkasbitungHasil Laporan Prakerin SMK Negeri 1 Rangkasbitung
Hasil Laporan Prakerin SMK Negeri 1 RangkasbitungDicky Alejandro
135.3K views32 Folien
Kesimpulan dan saran von
Kesimpulan dan saranKesimpulan dan saran
Kesimpulan dan saranitemagil
95.8K views9 Folien
Contoh Laporan Prakerin SMK Multimedia von
Contoh Laporan Prakerin SMK MultimediaContoh Laporan Prakerin SMK Multimedia
Contoh Laporan Prakerin SMK MultimediaMuhamad Nursidik
236.1K views38 Folien
Contoh Laporan PKL di PT DAE HWA INDONESIA (DHI) von
Contoh Laporan PKL di PT DAE HWA INDONESIA (DHI)Contoh Laporan PKL di PT DAE HWA INDONESIA (DHI)
Contoh Laporan PKL di PT DAE HWA INDONESIA (DHI)Shofi Asriani
16.3K views33 Folien

Más contenido relacionado

Was ist angesagt?

CONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKV von
CONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKVCONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKV
CONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKVFirdaus Firdaus
163.6K views32 Folien
Contoh Laporan praktek kerja industri jurusan TKJ von
Contoh Laporan praktek kerja industri jurusan TKJContoh Laporan praktek kerja industri jurusan TKJ
Contoh Laporan praktek kerja industri jurusan TKJriski riskideliana
44.4K views55 Folien
Laporan Praktik Kerja Industri (SHARING PRINTER DENGAN JARINGAN LAN) von
Laporan Praktik Kerja Industri (SHARING PRINTER DENGAN JARINGAN LAN)Laporan Praktik Kerja Industri (SHARING PRINTER DENGAN JARINGAN LAN)
Laporan Praktik Kerja Industri (SHARING PRINTER DENGAN JARINGAN LAN)Dandi Ardiansyah Putra
26.8K views43 Folien
Contoh Laporan Prakerin von
Contoh Laporan PrakerinContoh Laporan Prakerin
Contoh Laporan PrakerinRamdani99
9.4K views28 Folien
LAPORAN PRAKERIN SMKN 1 KARAWANG adittya aprillia arganata von
LAPORAN PRAKERIN SMKN 1 KARAWANG adittya aprillia arganataLAPORAN PRAKERIN SMKN 1 KARAWANG adittya aprillia arganata
LAPORAN PRAKERIN SMKN 1 KARAWANG adittya aprillia arganataAditya Arga
282.6K views51 Folien
Contoh laporan pkl smk von
Contoh laporan pkl smkContoh laporan pkl smk
Contoh laporan pkl smkBae Haqie
293.5K views13 Folien

Was ist angesagt?(20)

CONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKV von Firdaus Firdaus
CONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKVCONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKV
CONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKV
Firdaus Firdaus163.6K views
Contoh Laporan praktek kerja industri jurusan TKJ von riski riskideliana
Contoh Laporan praktek kerja industri jurusan TKJContoh Laporan praktek kerja industri jurusan TKJ
Contoh Laporan praktek kerja industri jurusan TKJ
riski riskideliana44.4K views
Laporan Praktik Kerja Industri (SHARING PRINTER DENGAN JARINGAN LAN) von Dandi Ardiansyah Putra
Laporan Praktik Kerja Industri (SHARING PRINTER DENGAN JARINGAN LAN)Laporan Praktik Kerja Industri (SHARING PRINTER DENGAN JARINGAN LAN)
Laporan Praktik Kerja Industri (SHARING PRINTER DENGAN JARINGAN LAN)
Contoh Laporan Prakerin von Ramdani99
Contoh Laporan PrakerinContoh Laporan Prakerin
Contoh Laporan Prakerin
Ramdani999.4K views
LAPORAN PRAKERIN SMKN 1 KARAWANG adittya aprillia arganata von Aditya Arga
LAPORAN PRAKERIN SMKN 1 KARAWANG adittya aprillia arganataLAPORAN PRAKERIN SMKN 1 KARAWANG adittya aprillia arganata
LAPORAN PRAKERIN SMKN 1 KARAWANG adittya aprillia arganata
Aditya Arga282.6K views
Contoh laporan pkl smk von Bae Haqie
Contoh laporan pkl smkContoh laporan pkl smk
Contoh laporan pkl smk
Bae Haqie293.5K views
Daftar isi untuk laporan pkl von Rizki Ananda
Daftar isi untuk laporan pklDaftar isi untuk laporan pkl
Daftar isi untuk laporan pkl
Rizki Ananda20.7K views
Bab iv (Laporan PKL) von Deny Darmawan
Bab iv (Laporan PKL)Bab iv (Laporan PKL)
Bab iv (Laporan PKL)
Deny Darmawan46.4K views
Laporan kegiatan praktek kerja industri von Hamka Cadaz
Laporan kegiatan praktek kerja industriLaporan kegiatan praktek kerja industri
Laporan kegiatan praktek kerja industri
Hamka Cadaz48.5K views
Pedoman Pelaksanaan Konstruksi Sistem Penyediaan Air Minum von infosanitasi
Pedoman Pelaksanaan Konstruksi Sistem Penyediaan Air MinumPedoman Pelaksanaan Konstruksi Sistem Penyediaan Air Minum
Pedoman Pelaksanaan Konstruksi Sistem Penyediaan Air Minum
infosanitasi51.8K views
Contoh laporan prakerin tkj von ALI FIKRI
Contoh laporan prakerin tkjContoh laporan prakerin tkj
Contoh laporan prakerin tkj
ALI FIKRI14.2K views
Laporan PKL Kerusakan Pada Printer von Ivan net
Laporan PKL Kerusakan Pada PrinterLaporan PKL Kerusakan Pada Printer
Laporan PKL Kerusakan Pada Printer
Ivan net4.6K views
laporan praktik kerja industri jurusan busana butik von Wijanarko Koko
laporan praktik kerja industri jurusan busana butiklaporan praktik kerja industri jurusan busana butik
laporan praktik kerja industri jurusan busana butik
Wijanarko Koko38.6K views
Laporan Prakerin Ressa Nurapiah (Power Point) von Ressa Nurafiah
Laporan Prakerin Ressa Nurapiah (Power Point)Laporan Prakerin Ressa Nurapiah (Power Point)
Laporan Prakerin Ressa Nurapiah (Power Point)
Ressa Nurafiah186.1K views
Laporan kerja praktek "Perawatan Printer" von boys of separato
Laporan kerja praktek "Perawatan Printer"Laporan kerja praktek "Perawatan Printer"
Laporan kerja praktek "Perawatan Printer"
boys of separato19.3K views
Laporan PKL / Prakerin SMK Nasional Depok von Naufal Khawarozni
Laporan PKL / Prakerin SMK Nasional DepokLaporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional Depok
Naufal Khawarozni27.9K views
Contoh persentasi laporan PKL von Firman Sufiana
Contoh persentasi laporan PKLContoh persentasi laporan PKL
Contoh persentasi laporan PKL
Firman Sufiana571.4K views

Destacado

Penilaian praktek kerja industri von
Penilaian praktek kerja industriPenilaian praktek kerja industri
Penilaian praktek kerja industriOperator Warnet Vast Raha
14.9K views5 Folien
Contoh sertifikat prakerin von
Contoh sertifikat prakerinContoh sertifikat prakerin
Contoh sertifikat prakerinHadi Nursyam
48.1K views2 Folien
Panduan Penilaian untuk SMK von
Panduan Penilaian untuk SMKPanduan Penilaian untuk SMK
Panduan Penilaian untuk SMKAKHMAD SUDRAJAT
9.5K views103 Folien
Sertifikat prakerin von
Sertifikat prakerinSertifikat prakerin
Sertifikat prakerinRumondang Tambunan
26.8K views4 Folien
Pedoman Laporan Prakerin SMK PGRI 3 Randudongkal von
Pedoman Laporan Prakerin SMK PGRI 3 RandudongkalPedoman Laporan Prakerin SMK PGRI 3 Randudongkal
Pedoman Laporan Prakerin SMK PGRI 3 RandudongkalYosi M. Giri
14.4K views8 Folien
Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015 von
Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015
Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015Syahfiral Syamsuar
4.2K views103 Folien

Destacado(6)

Contoh sertifikat prakerin von Hadi Nursyam
Contoh sertifikat prakerinContoh sertifikat prakerin
Contoh sertifikat prakerin
Hadi Nursyam48.1K views
Pedoman Laporan Prakerin SMK PGRI 3 Randudongkal von Yosi M. Giri
Pedoman Laporan Prakerin SMK PGRI 3 RandudongkalPedoman Laporan Prakerin SMK PGRI 3 Randudongkal
Pedoman Laporan Prakerin SMK PGRI 3 Randudongkal
Yosi M. Giri14.4K views
Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015 von Syahfiral Syamsuar
Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015
Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015
Syahfiral Syamsuar4.2K views

Similar a Laporan Prakerin - Dian Aditya - 2008/2009

Laporan Prakerin 2014 2015 von
Laporan Prakerin 2014 2015Laporan Prakerin 2014 2015
Laporan Prakerin 2014 2015Andi Suhandi
27.5K views55 Folien
Laporan KP Fix (Akhmad Sakir 13211120) von
Laporan KP Fix (Akhmad Sakir 13211120)Laporan KP Fix (Akhmad Sakir 13211120)
Laporan KP Fix (Akhmad Sakir 13211120)Akhmad Sakir
5K views83 Folien
Contoh Laporan Prkatek Kerja Industri (PRAKERIN) SMK TKJ von
Contoh Laporan Prkatek Kerja Industri (PRAKERIN) SMK TKJContoh Laporan Prkatek Kerja Industri (PRAKERIN) SMK TKJ
Contoh Laporan Prkatek Kerja Industri (PRAKERIN) SMK TKJAriefiandra Ariefiandra
238.7K views41 Folien
Proposal PKL PDAM Kota Malang.docx von
Proposal PKL PDAM Kota Malang.docxProposal PKL PDAM Kota Malang.docx
Proposal PKL PDAM Kota Malang.docxDavidAdiKarunia
1.4K views29 Folien
Panduan PKL Manajemen Informatika tahun 2013 von
Panduan PKL Manajemen Informatika tahun 2013Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013Heri Afrizal
33.4K views36 Folien
Bahasa indonesia laporan von
Bahasa indonesia laporan Bahasa indonesia laporan
Bahasa indonesia laporan nusul
1.9K views15 Folien

Similar a Laporan Prakerin - Dian Aditya - 2008/2009(20)

Laporan Prakerin 2014 2015 von Andi Suhandi
Laporan Prakerin 2014 2015Laporan Prakerin 2014 2015
Laporan Prakerin 2014 2015
Andi Suhandi27.5K views
Laporan KP Fix (Akhmad Sakir 13211120) von Akhmad Sakir
Laporan KP Fix (Akhmad Sakir 13211120)Laporan KP Fix (Akhmad Sakir 13211120)
Laporan KP Fix (Akhmad Sakir 13211120)
Akhmad Sakir5K views
Proposal PKL PDAM Kota Malang.docx von DavidAdiKarunia
Proposal PKL PDAM Kota Malang.docxProposal PKL PDAM Kota Malang.docx
Proposal PKL PDAM Kota Malang.docx
DavidAdiKarunia1.4K views
Panduan PKL Manajemen Informatika tahun 2013 von Heri Afrizal
Panduan PKL Manajemen Informatika tahun 2013Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013
Heri Afrizal33.4K views
Bahasa indonesia laporan von nusul
Bahasa indonesia laporan Bahasa indonesia laporan
Bahasa indonesia laporan
nusul1.9K views
Laporan coling suherman von MulianiAni2
Laporan coling suhermanLaporan coling suherman
Laporan coling suherman
MulianiAni2152 views
Fuel system ibnu hajar von MulianiAni2
Fuel system ibnu hajarFuel system ibnu hajar
Fuel system ibnu hajar
MulianiAni2264 views
Report von ANIARI
ReportReport
Report
ANIARI33.5K views
Laporan cooling sistem habibi von MulianiAni2
Laporan cooling sistem habibiLaporan cooling sistem habibi
Laporan cooling sistem habibi
MulianiAni2393 views
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-f von bromo telecenter
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-fJbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-f
bromo telecenter2.3K views
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferal von Nurdin Al-Azies
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferalmendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
Nurdin Al-Azies3.1K views
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal von DeaAldy
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
DeaAldy16.4K views
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal von Eko Supriyadi
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
Eko Supriyadi424 views
Fuel sistem excavator 320 d aldi von MulianiAni2
Fuel sistem excavator 320 d aldiFuel sistem excavator 320 d aldi
Fuel sistem excavator 320 d aldi
MulianiAni2145 views
Module 1 - Introduce to MATLAB von JomenPardede
Module 1 - Introduce to MATLABModule 1 - Introduce to MATLAB
Module 1 - Introduce to MATLAB
JomenPardede696 views

Más de Dian Aditya

Tugas C++ (Matriks) - Dian Aditya - 2009/2010 von
Tugas C++ (Matriks) - Dian Aditya - 2009/2010Tugas C++ (Matriks) - Dian Aditya - 2009/2010
Tugas C++ (Matriks) - Dian Aditya - 2009/2010Dian Aditya
3.6K views6 Folien
Tugas C++ - Dian Aditya - 2009/2010 von
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Dian Aditya
4.1K views9 Folien
Implementasi AI - Google Prediction API von
Implementasi AI - Google Prediction APIImplementasi AI - Google Prediction API
Implementasi AI - Google Prediction APIDian Aditya
598 views13 Folien
Sistem Berbasis Pengetahuan dan Sistem Pakar von
Sistem Berbasis Pengetahuan dan Sistem PakarSistem Berbasis Pengetahuan dan Sistem Pakar
Sistem Berbasis Pengetahuan dan Sistem PakarDian Aditya
5.4K views14 Folien
Marvin Image Processing Framework von
Marvin Image Processing FrameworkMarvin Image Processing Framework
Marvin Image Processing FrameworkDian Aditya
499 views22 Folien
RESTFul WebApp Concept von
RESTFul WebApp ConceptRESTFul WebApp Concept
RESTFul WebApp ConceptDian Aditya
342 views20 Folien

Más de Dian Aditya(6)

Tugas C++ (Matriks) - Dian Aditya - 2009/2010 von Dian Aditya
Tugas C++ (Matriks) - Dian Aditya - 2009/2010Tugas C++ (Matriks) - Dian Aditya - 2009/2010
Tugas C++ (Matriks) - Dian Aditya - 2009/2010
Dian Aditya3.6K views
Tugas C++ - Dian Aditya - 2009/2010 von Dian Aditya
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010
Dian Aditya4.1K views
Implementasi AI - Google Prediction API von Dian Aditya
Implementasi AI - Google Prediction APIImplementasi AI - Google Prediction API
Implementasi AI - Google Prediction API
Dian Aditya598 views
Sistem Berbasis Pengetahuan dan Sistem Pakar von Dian Aditya
Sistem Berbasis Pengetahuan dan Sistem PakarSistem Berbasis Pengetahuan dan Sistem Pakar
Sistem Berbasis Pengetahuan dan Sistem Pakar
Dian Aditya5.4K views
Marvin Image Processing Framework von Dian Aditya
Marvin Image Processing FrameworkMarvin Image Processing Framework
Marvin Image Processing Framework
Dian Aditya499 views
RESTFul WebApp Concept von Dian Aditya
RESTFul WebApp ConceptRESTFul WebApp Concept
RESTFul WebApp Concept
Dian Aditya342 views

Último

STORYBOARD.docx von
STORYBOARD.docxSTORYBOARD.docx
STORYBOARD.docxJUMADAPUTRA
14 views5 Folien
SISTEM KOMPUTER_DELVIA ANDRINI.pptx von
SISTEM KOMPUTER_DELVIA ANDRINI.pptxSISTEM KOMPUTER_DELVIA ANDRINI.pptx
SISTEM KOMPUTER_DELVIA ANDRINI.pptxDelviaAndrini1
19 views32 Folien
SK PENGAWAS UJIAN SEKOLAH.doc von
SK PENGAWAS UJIAN SEKOLAH.docSK PENGAWAS UJIAN SEKOLAH.doc
SK PENGAWAS UJIAN SEKOLAH.docEMILAANGGRAINI1
13 views3 Folien
Produk Bahan refleksi siklus 1 dan 2.docx von
Produk Bahan refleksi siklus 1 dan 2.docxProduk Bahan refleksi siklus 1 dan 2.docx
Produk Bahan refleksi siklus 1 dan 2.docxdiahprameswari1986
30 views4 Folien
Link MATERI & RENCANA Training _"TOTAL PRODUCTIVE MAINTENANCE (TPM)". von
Link MATERI & RENCANA Training _"TOTAL PRODUCTIVE MAINTENANCE (TPM)".Link MATERI & RENCANA Training _"TOTAL PRODUCTIVE MAINTENANCE (TPM)".
Link MATERI & RENCANA Training _"TOTAL PRODUCTIVE MAINTENANCE (TPM)".Kanaidi ken
16 views51 Folien
PELAKSANAAN & Link2 MATERI Training_"Effective INVENTORY CONTROL & WAREHOUSIN... von
PELAKSANAAN & Link2 MATERI Training_"Effective INVENTORY CONTROL & WAREHOUSIN...PELAKSANAAN & Link2 MATERI Training_"Effective INVENTORY CONTROL & WAREHOUSIN...
PELAKSANAAN & Link2 MATERI Training_"Effective INVENTORY CONTROL & WAREHOUSIN...Kanaidi ken
25 views76 Folien

Último(20)

SISTEM KOMPUTER_DELVIA ANDRINI.pptx von DelviaAndrini1
SISTEM KOMPUTER_DELVIA ANDRINI.pptxSISTEM KOMPUTER_DELVIA ANDRINI.pptx
SISTEM KOMPUTER_DELVIA ANDRINI.pptx
DelviaAndrini119 views
Link MATERI & RENCANA Training _"TOTAL PRODUCTIVE MAINTENANCE (TPM)". von Kanaidi ken
Link MATERI & RENCANA Training _"TOTAL PRODUCTIVE MAINTENANCE (TPM)".Link MATERI & RENCANA Training _"TOTAL PRODUCTIVE MAINTENANCE (TPM)".
Link MATERI & RENCANA Training _"TOTAL PRODUCTIVE MAINTENANCE (TPM)".
Kanaidi ken16 views
PELAKSANAAN & Link2 MATERI Training_"Effective INVENTORY CONTROL & WAREHOUSIN... von Kanaidi ken
PELAKSANAAN & Link2 MATERI Training_"Effective INVENTORY CONTROL & WAREHOUSIN...PELAKSANAAN & Link2 MATERI Training_"Effective INVENTORY CONTROL & WAREHOUSIN...
PELAKSANAAN & Link2 MATERI Training_"Effective INVENTORY CONTROL & WAREHOUSIN...
Kanaidi ken25 views
LATIHAN7_DWIHANA GRACE MARSHELLA_E1G021095.pptx von gracemarsela01
LATIHAN7_DWIHANA GRACE MARSHELLA_E1G021095.pptxLATIHAN7_DWIHANA GRACE MARSHELLA_E1G021095.pptx
LATIHAN7_DWIHANA GRACE MARSHELLA_E1G021095.pptx
gracemarsela0126 views
Perhitungan OEE (Overall Equipment Effectiveness) _Training "TOTAL PRODUCTIV... von Kanaidi ken
Perhitungan  OEE (Overall Equipment Effectiveness) _Training "TOTAL PRODUCTIV...Perhitungan  OEE (Overall Equipment Effectiveness) _Training "TOTAL PRODUCTIV...
Perhitungan OEE (Overall Equipment Effectiveness) _Training "TOTAL PRODUCTIV...
Kanaidi ken13 views
Link2 MATERI & RENCANA Training _"Effective LEADERSHIP"di OMAZAKI BSD City - ... von Kanaidi ken
Link2 MATERI & RENCANA Training _"Effective LEADERSHIP"di OMAZAKI BSD City - ...Link2 MATERI & RENCANA Training _"Effective LEADERSHIP"di OMAZAKI BSD City - ...
Link2 MATERI & RENCANA Training _"Effective LEADERSHIP"di OMAZAKI BSD City - ...
Kanaidi ken18 views
Modul Projek Gaya Hidup Berkelanjutan - Kami Adalah Kesatria Lingkungan - Fas... von NoviKasari25
Modul Projek Gaya Hidup Berkelanjutan - Kami Adalah Kesatria Lingkungan - Fas...Modul Projek Gaya Hidup Berkelanjutan - Kami Adalah Kesatria Lingkungan - Fas...
Modul Projek Gaya Hidup Berkelanjutan - Kami Adalah Kesatria Lingkungan - Fas...
NoviKasari2513 views
tugas PPT_Chita putri_E1G022007.pptx von chitaputrir30
tugas PPT_Chita putri_E1G022007.pptxtugas PPT_Chita putri_E1G022007.pptx
tugas PPT_Chita putri_E1G022007.pptx
chitaputrir3017 views
BEST PRACTISE UNDHA USUK BASA JAWA.pdf von DidikSupriyadi6
BEST PRACTISE UNDHA USUK BASA JAWA.pdfBEST PRACTISE UNDHA USUK BASA JAWA.pdf
BEST PRACTISE UNDHA USUK BASA JAWA.pdf
DidikSupriyadi645 views
Panduan Praktikum Administrasi Sistem Jaringan Edisi 2 von I Putu Hariyadi
Panduan Praktikum Administrasi Sistem Jaringan Edisi 2Panduan Praktikum Administrasi Sistem Jaringan Edisi 2
Panduan Praktikum Administrasi Sistem Jaringan Edisi 2
I Putu Hariyadi19 views
4. Modul Ajar Pancasila Pertemuan 5-6 (Peluang dan tantangan Penerapan Pancas... von Hesan Santoso
4. Modul Ajar Pancasila Pertemuan 5-6 (Peluang dan tantangan Penerapan Pancas...4. Modul Ajar Pancasila Pertemuan 5-6 (Peluang dan tantangan Penerapan Pancas...
4. Modul Ajar Pancasila Pertemuan 5-6 (Peluang dan tantangan Penerapan Pancas...
Hesan Santoso17 views
PELAKSANAAN & Link2 MATERI Workshop _"Pembangunan SDM_INDONESIA EMAS 2045". von Kanaidi ken
PELAKSANAAN  & Link2 MATERI Workshop _"Pembangunan SDM_INDONESIA EMAS 2045".PELAKSANAAN  & Link2 MATERI Workshop _"Pembangunan SDM_INDONESIA EMAS 2045".
PELAKSANAAN & Link2 MATERI Workshop _"Pembangunan SDM_INDONESIA EMAS 2045".
Kanaidi ken74 views

Laporan Prakerin - Dian Aditya - 2008/2009

  • 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
  • 27. 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
  • 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