SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Laporan Praktek Kerja Lapangan(PKL)
Laporan Praktek Kerja Lapangan(PKL)Laporan Praktek Kerja Lapangan(PKL)
Laporan Praktek Kerja Lapangan(PKL)Ruth Dian
 
Laporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional DepokLaporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional DepokNaufal Khawarozni
 
Laporan Akhir (PKL)
Laporan Akhir (PKL)Laporan Akhir (PKL)
Laporan Akhir (PKL)Taufik
 
Laporan Prakerin 2014 2015
Laporan Prakerin 2014 2015Laporan Prakerin 2014 2015
Laporan Prakerin 2014 2015Andi Suhandi
 
Laporan psg patrick xi tkj 3
Laporan psg patrick xi tkj 3Laporan psg patrick xi tkj 3
Laporan psg patrick xi tkj 3Patrick Haumptman
 
Contoh Laporan Prakerin Industri
Contoh Laporan Prakerin IndustriContoh Laporan Prakerin Industri
Contoh Laporan Prakerin IndustriNur Arifaizal Basri
 
Laporan prakerin jurusan adm perkantoran di PT PLN (persero)
Laporan prakerin jurusan adm perkantoran di PT PLN (persero)Laporan prakerin jurusan adm perkantoran di PT PLN (persero)
Laporan prakerin jurusan adm perkantoran di PT PLN (persero)Hamka Cadaz
 
Laporan prakerin asli
Laporan prakerin asliLaporan prakerin asli
Laporan prakerin asliUli Syarief
 
Laporan prakerin printer smk al ilyasi tambelangan sanpang
Laporan prakerin printer smk al ilyasi tambelangan sanpangLaporan prakerin printer smk al ilyasi tambelangan sanpang
Laporan prakerin printer smk al ilyasi tambelangan sanpangmHosin
 
Laporan PRAKERIN
Laporan PRAKERINLaporan PRAKERIN
Laporan PRAKERINdennyrirama
 
Laporan Praktik Industri SMKN Blambangan Umpu
Laporan Praktik Industri SMKN Blambangan UmpuLaporan Praktik Industri SMKN Blambangan Umpu
Laporan Praktik Industri SMKN Blambangan UmpuAtri Yuliansyah
 
Laporan Prakerin Teknik komputer & jaringan
Laporan Prakerin Teknik komputer & jaringanLaporan Prakerin Teknik komputer & jaringan
Laporan Prakerin Teknik komputer & jaringanGuntex
 
Kesimpulan dan saran
Kesimpulan dan saranKesimpulan dan saran
Kesimpulan dan saranitemagil
 
laporan praktek kerja lapangan
laporan praktek kerja lapanganlaporan praktek kerja lapangan
laporan praktek kerja lapanganRestu Budy
 
Hasil Laporan Prakerin SMK Negeri 1 Rangkasbitung
Hasil Laporan Prakerin SMK Negeri 1 RangkasbitungHasil Laporan Prakerin SMK Negeri 1 Rangkasbitung
Hasil Laporan Prakerin SMK Negeri 1 RangkasbitungDicky Alejandro
 
CONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKV
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
 
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (jazuli)
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (jazuli)Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (jazuli)
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (jazuli)Ahmad Sayadi
 
Contoh laporan pkl ( prakerin ) tkj
Contoh laporan pkl ( prakerin ) tkjContoh laporan pkl ( prakerin ) tkj
Contoh laporan pkl ( prakerin ) tkjkopihitambasi
 
LAPORAN PRAKERIN (ARISKA COMPNET)
LAPORAN PRAKERIN (ARISKA COMPNET)LAPORAN PRAKERIN (ARISKA COMPNET)
LAPORAN PRAKERIN (ARISKA COMPNET)ARISKA COMPNET
 

Tendances (20)

Laporan Praktek Kerja Lapangan(PKL)
Laporan Praktek Kerja Lapangan(PKL)Laporan Praktek Kerja Lapangan(PKL)
Laporan Praktek Kerja Lapangan(PKL)
 
Laporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional DepokLaporan PKL / Prakerin SMK Nasional Depok
Laporan PKL / Prakerin SMK Nasional Depok
 
Laporan Akhir (PKL)
Laporan Akhir (PKL)Laporan Akhir (PKL)
Laporan Akhir (PKL)
 
Laporan Prakerin 2014 2015
Laporan Prakerin 2014 2015Laporan Prakerin 2014 2015
Laporan Prakerin 2014 2015
 
Laporan psg patrick xi tkj 3
Laporan psg patrick xi tkj 3Laporan psg patrick xi tkj 3
Laporan psg patrick xi tkj 3
 
Contoh Laporan Prakerin Industri
Contoh Laporan Prakerin IndustriContoh Laporan Prakerin Industri
Contoh Laporan Prakerin Industri
 
Laporan prakerin jurusan adm perkantoran di PT PLN (persero)
Laporan prakerin jurusan adm perkantoran di PT PLN (persero)Laporan prakerin jurusan adm perkantoran di PT PLN (persero)
Laporan prakerin jurusan adm perkantoran di PT PLN (persero)
 
Laporan prakerin asli
Laporan prakerin asliLaporan prakerin asli
Laporan prakerin asli
 
Laporan prakerin
Laporan prakerinLaporan prakerin
Laporan prakerin
 
Laporan prakerin printer smk al ilyasi tambelangan sanpang
Laporan prakerin printer smk al ilyasi tambelangan sanpangLaporan prakerin printer smk al ilyasi tambelangan sanpang
Laporan prakerin printer smk al ilyasi tambelangan sanpang
 
Laporan PRAKERIN
Laporan PRAKERINLaporan PRAKERIN
Laporan PRAKERIN
 
Laporan Praktik Industri SMKN Blambangan Umpu
Laporan Praktik Industri SMKN Blambangan UmpuLaporan Praktik Industri SMKN Blambangan Umpu
Laporan Praktik Industri SMKN Blambangan Umpu
 
Laporan Prakerin Teknik komputer & jaringan
Laporan Prakerin Teknik komputer & jaringanLaporan Prakerin Teknik komputer & jaringan
Laporan Prakerin Teknik komputer & jaringan
 
Kesimpulan dan saran
Kesimpulan dan saranKesimpulan dan saran
Kesimpulan dan saran
 
laporan praktek kerja lapangan
laporan praktek kerja lapanganlaporan praktek kerja lapangan
laporan praktek kerja lapangan
 
Hasil Laporan Prakerin SMK Negeri 1 Rangkasbitung
Hasil Laporan Prakerin SMK Negeri 1 RangkasbitungHasil Laporan Prakerin SMK Negeri 1 Rangkasbitung
Hasil Laporan Prakerin SMK Negeri 1 Rangkasbitung
 
CONTOH Laporan praktik kerja industri (SMK) PRAKERIN PROGRAM STUDI DKV
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
 
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (jazuli)
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (jazuli)Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (jazuli)
Laporan praktek kerja industri (prakerin) smk al baisuny 2014-2015 (jazuli)
 
Contoh laporan pkl ( prakerin ) tkj
Contoh laporan pkl ( prakerin ) tkjContoh laporan pkl ( prakerin ) tkj
Contoh laporan pkl ( prakerin ) tkj
 
LAPORAN PRAKERIN (ARISKA COMPNET)
LAPORAN PRAKERIN (ARISKA COMPNET)LAPORAN PRAKERIN (ARISKA COMPNET)
LAPORAN PRAKERIN (ARISKA COMPNET)
 

En vedette

Contoh sertifikat prakerin
Contoh sertifikat prakerinContoh sertifikat prakerin
Contoh sertifikat prakerinHadi Nursyam
 
Panduan Penilaian untuk SMK
Panduan Penilaian untuk SMKPanduan Penilaian untuk SMK
Panduan Penilaian untuk SMKAKHMAD SUDRAJAT
 
Pedoman Laporan Prakerin SMK PGRI 3 Randudongkal
Pedoman Laporan Prakerin SMK PGRI 3 RandudongkalPedoman Laporan Prakerin SMK PGRI 3 Randudongkal
Pedoman Laporan Prakerin SMK PGRI 3 RandudongkalYosi M. Giri
 
Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015
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
 

En vedette (6)

Penilaian praktek kerja industri
Penilaian praktek kerja industriPenilaian praktek kerja industri
Penilaian praktek kerja industri
 
Contoh sertifikat prakerin
Contoh sertifikat prakerinContoh sertifikat prakerin
Contoh sertifikat prakerin
 
Panduan Penilaian untuk SMK
Panduan Penilaian untuk SMKPanduan Penilaian untuk SMK
Panduan Penilaian untuk SMK
 
Sertifikat prakerin
Sertifikat prakerinSertifikat prakerin
Sertifikat prakerin
 
Pedoman Laporan Prakerin SMK PGRI 3 Randudongkal
Pedoman Laporan Prakerin SMK PGRI 3 RandudongkalPedoman Laporan Prakerin SMK PGRI 3 Randudongkal
Pedoman Laporan Prakerin SMK PGRI 3 Randudongkal
 
Panduan Penilaian Kurikulum 2013 pada SMK sesuai Permendikbud No 53 Thn 2015
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
 

Similaire à Membuat Aplikasi

Laporan KP Fix (Akhmad Sakir 13211120)
Laporan KP Fix (Akhmad Sakir 13211120)Laporan KP Fix (Akhmad Sakir 13211120)
Laporan KP Fix (Akhmad Sakir 13211120)Akhmad Sakir
 
Proposal PKL PDAM Kota Malang.docx
Proposal PKL PDAM Kota Malang.docxProposal PKL PDAM Kota Malang.docx
Proposal PKL PDAM Kota Malang.docxDavidAdiKarunia
 
Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013Heri Afrizal
 
Bahasa indonesia laporan
Bahasa indonesia laporan Bahasa indonesia laporan
Bahasa indonesia laporan nusul
 
Laporan coling suherman
Laporan coling suhermanLaporan coling suherman
Laporan coling suhermanMulianiAni2
 
LAPORAN PKL .doc FIXS.docx
LAPORAN PKL .doc FIXS.docxLAPORAN PKL .doc FIXS.docx
LAPORAN PKL .doc FIXS.docxBudiKusuma15
 
Fuel system ibnu hajar
Fuel system ibnu hajarFuel system ibnu hajar
Fuel system ibnu hajarMulianiAni2
 
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)
Contoh Laporan PKL di PT DAE HWA INDONESIA (DHI)Shofi Asriani
 
Report
ReportReport
ReportANIARI
 
Laporan cooling sistem habibi
Laporan cooling sistem habibiLaporan cooling sistem habibi
Laporan cooling sistem habibiMulianiAni2
 
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-fJbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-fbromo telecenter
 
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferalmendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferalNurdin Al-Azies
 
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferalEko Supriyadi
 
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferalDeaAldy
 
Fuel sistem excavator 320 d aldi
Fuel sistem excavator 320 d aldiFuel sistem excavator 320 d aldi
Fuel sistem excavator 320 d aldiMulianiAni2
 
Contoh Laporan Prakerin
Contoh Laporan PrakerinContoh Laporan Prakerin
Contoh Laporan PrakerinRamdani99
 
Module 1 - Introduce to MATLAB
Module 1 - Introduce to MATLABModule 1 - Introduce to MATLAB
Module 1 - Introduce to MATLABJomenPardede
 

Similaire à Membuat Aplikasi (20)

Laporan KP Fix (Akhmad Sakir 13211120)
Laporan KP Fix (Akhmad Sakir 13211120)Laporan KP Fix (Akhmad Sakir 13211120)
Laporan KP Fix (Akhmad Sakir 13211120)
 
Proposal PKL PDAM Kota Malang.docx
Proposal PKL PDAM Kota Malang.docxProposal PKL PDAM Kota Malang.docx
Proposal PKL PDAM Kota Malang.docx
 
Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013Panduan PKL Manajemen Informatika tahun 2013
Panduan PKL Manajemen Informatika tahun 2013
 
Bahasa indonesia laporan
Bahasa indonesia laporan Bahasa indonesia laporan
Bahasa indonesia laporan
 
Laporan coling suherman
Laporan coling suhermanLaporan coling suherman
Laporan coling suherman
 
Laporan pkl
Laporan pklLaporan pkl
Laporan pkl
 
LAPORAN PKL .doc FIXS.docx
LAPORAN PKL .doc FIXS.docxLAPORAN PKL .doc FIXS.docx
LAPORAN PKL .doc FIXS.docx
 
PKL 1.pdf
PKL 1.pdfPKL 1.pdf
PKL 1.pdf
 
Fuel system ibnu hajar
Fuel system ibnu hajarFuel system ibnu hajar
Fuel system ibnu hajar
 
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)
Contoh Laporan PKL di PT DAE HWA INDONESIA (DHI)
 
Report
ReportReport
Report
 
Laporan cooling sistem habibi
Laporan cooling sistem habibiLaporan cooling sistem habibi
Laporan cooling sistem habibi
 
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-fJbptunikompp gdl-agusnovyni-25155-12-unikom a-f
Jbptunikompp gdl-agusnovyni-25155-12-unikom a-f
 
Laporan Prakerin Yusuf
Laporan Prakerin YusufLaporan Prakerin Yusuf
Laporan Prakerin Yusuf
 
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferalmendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
mendiagnosis_permasalahan_pengoperasian_pc_dan_periferal
 
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
 
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
02. mendiagnosis permasalahan pengoperasian_pc_dan_periferal
 
Fuel sistem excavator 320 d aldi
Fuel sistem excavator 320 d aldiFuel sistem excavator 320 d aldi
Fuel sistem excavator 320 d aldi
 
Contoh Laporan Prakerin
Contoh Laporan PrakerinContoh Laporan Prakerin
Contoh Laporan Prakerin
 
Module 1 - Introduce to MATLAB
Module 1 - Introduce to MATLABModule 1 - Introduce to MATLAB
Module 1 - Introduce to MATLAB
 

Plus de Dian Aditya

Tugas C++ (Matriks) - Dian Aditya - 2009/2010
Tugas C++ (Matriks) - Dian Aditya - 2009/2010Tugas C++ (Matriks) - Dian Aditya - 2009/2010
Tugas C++ (Matriks) - Dian Aditya - 2009/2010Dian Aditya
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Dian Aditya
 
Implementasi AI - Google Prediction API
Implementasi AI - Google Prediction APIImplementasi AI - Google Prediction API
Implementasi AI - Google Prediction APIDian Aditya
 
Sistem Berbasis Pengetahuan dan Sistem Pakar
Sistem Berbasis Pengetahuan dan Sistem PakarSistem Berbasis Pengetahuan dan Sistem Pakar
Sistem Berbasis Pengetahuan dan Sistem PakarDian Aditya
 
Marvin Image Processing Framework
Marvin Image Processing FrameworkMarvin Image Processing Framework
Marvin Image Processing FrameworkDian Aditya
 
RESTFul WebApp Concept
RESTFul WebApp ConceptRESTFul WebApp Concept
RESTFul WebApp ConceptDian Aditya
 

Plus de Dian Aditya (6)

Tugas C++ (Matriks) - Dian Aditya - 2009/2010
Tugas C++ (Matriks) - Dian Aditya - 2009/2010Tugas C++ (Matriks) - Dian Aditya - 2009/2010
Tugas C++ (Matriks) - Dian Aditya - 2009/2010
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010
 
Implementasi AI - Google Prediction API
Implementasi AI - Google Prediction APIImplementasi AI - Google Prediction API
Implementasi AI - Google Prediction API
 
Sistem Berbasis Pengetahuan dan Sistem Pakar
Sistem Berbasis Pengetahuan dan Sistem PakarSistem Berbasis Pengetahuan dan Sistem Pakar
Sistem Berbasis Pengetahuan dan Sistem Pakar
 
Marvin Image Processing Framework
Marvin Image Processing FrameworkMarvin Image Processing Framework
Marvin Image Processing Framework
 
RESTFul WebApp Concept
RESTFul WebApp ConceptRESTFul WebApp Concept
RESTFul WebApp Concept
 

Dernier

Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxSlasiWidasmara1
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxPurmiasih
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)MustahalMustahal
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CAbdiera
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarankeicapmaniez
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptxMiftahunnajahTVIBS
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDmawan5982
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxsdn3jatiblora
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 

Dernier (20)

Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajaran
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
11 PPT Pancasila sebagai Paradigma Kehidupan dalam Masyarakat.pptx
 
tugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SDtugas 1 tutorial online anak berkebutuhan khusus di SD
tugas 1 tutorial online anak berkebutuhan khusus di SD
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
Aksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptxAksi nyata Malaikat Kebaikan [Guru].pptx
Aksi nyata Malaikat Kebaikan [Guru].pptx
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 

Membuat Aplikasi

  • 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