• Tidak ada hasil yang ditemukan

GENERATOR KODE PROGRAM JAVA DESKTOP MENGGUNAKAN FRAMEWORK HIBERNATE DAN TIWULFX NASKAH PUBLIKASI. diajukan oleh Heru Tri Julianto

N/A
N/A
Protected

Academic year: 2021

Membagikan "GENERATOR KODE PROGRAM JAVA DESKTOP MENGGUNAKAN FRAMEWORK HIBERNATE DAN TIWULFX NASKAH PUBLIKASI. diajukan oleh Heru Tri Julianto"

Copied!
7
0
0

Teks penuh

(1)

GENERATOR KODE PROGRAM JAVA DESKTOP MENGGUNAKAN

FRAMEWORK HIBERNATE DAN TIWULFX

NASKAH PUBLIKASI

diajukan oleh

Heru Tri Julianto

13.11.6832

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM YOGYAKARTA

YOGYAKARTA

2016

(2)
(3)

1

GENERATOR KODE PROGRAM JAVA DESKTOP MENGGUNAKAN FRAMEWORK

HIBERNATE DAN TIWULFX

Heru Tri Julianto

1)

, Windha Mega Pradnya D

2)

,

1)Teknik Informatika STMIK AMIKOM Yogyakarta

2) Teknik Informatika STMIK AMIKOM Yogyakata

Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283 Email : heru.j@students.amikom.ac.id1), windha.m@amikom.ac.id 2)

Abstract – In the development of a Java application, there is often code that must be written repeatedly and have same characteristics. For Example when writing the POJO class (Plain Old Java Object) or Java Bean which is usually the mapping of the data structure. Writing code that repeatedly is quite time consuming and less effective. To anticipate that problem, programmer usually use a code generator to simplify the encoding process.

Code generator that was created use Hibernate ORM and TiwulFX Framework it will generate code that have CRUD (Create, Retrieve, Update, Delete) capability for each table from database.

Keywords Generator Kode, Hibernate, TiwulFX,

POJO, CRUD 1. Pendahuluan

Dalam pengembangan sebuah aplikasi Java, sering kali terdapat kode yang harus ditulis secara berulang-ulang dan memiliki karakteristik yang sama. Misal pada saat penulisan kode POJO (Plain Old Java Object) atau Java Bean yang biasanya merupakan mapping dari struktur data. Penulisan kode yang dilakukan secara berulang-ulang tentu cukup memakan waktu dan kurang efektif. Untuk mengantisipasi hal tersebut biasanya programmer mamanfaatkan generator kode untuk mempermudah proses pengkodeannya.

Selain menggunakan generator kode, programmer juga menggunakan framework atau library untuk membantu proses pengkodean baik

front-end maupun back-end. Framework atau library

yang dapat membantu proses pengkodean adalah TiwulFX dan Hibernate.

TiwulFX adalah library yang memiliki komponen-komponen kustom dari JavaFX . JavaFX sendiri adalah sebuah tool-kit GUI (Graphical User Interface) terbaru dari Java untuk mengembangkan aplikasi yang kaya konten. JavaFX dirancang untuk menyediakan bagi para developer Java sebuah platform yang baru, ringan, dengan performa yang

tinggi. Tujuannya adalah untuk menggantikan swing

untuk membangun aplikasi desktop.

Hibernate ORM (Object Relational Mapping) merupakan sebuah teknik pemrograman yang menjembatani perbedaan tipe data pada konsep pemrograman yang berorientasi objek dengan konsep database. Hibernate telah memiliki generator kode, namun hanya menghasilkan kode mapping object dari tabel database. Kode tersebut belum mampu untuk menjalankan CRUD (Create Retrieve Update Delete). Jadi, programmer masih perlu menuliskan kode-logic untuk melakukan CRUD yang meliputi kode front-end dan back-end untuk masing-masing POJO secara manual. Pada dasarnya kode-logic CRUD memiliki karakteristik yang hampir sama. Jika dalam sebuah aplikasi terdapat banyak object tabel, proses tersebut tentulah memakan waktu dan kurang efektif.

2. Landasan Teori 2.1 Tinjauan Pustaka

Imam Kuswardayan, Nanik Suciati, Dody Rachmat Wicaksono (2004) melakukan penelitian dengan judul “JSP dan Java Servlet Generator Untuk Aplikasi Database Berbasis Web Dengan Mengimplementasikan Framework Jakarta Struts”. Dalam penelitian ini dibuat aplikasi code generator

untuk bahasa java, khususnya JSP dan JavaServlet. Spesifikasi dari aplikasi yang akan dihasilkan oleh code generator ini adalah aplikasi yang memiliki arsitektur J2EE, yaitu dengan mengimplementasikan

framework Jakarta Struts yang berdasarkan pada blue print Model View Controller. Framework Jakarta Struts akan bekerja sama dengan framework iBATIS yang akan menangani Persistent Database Layer. Kedua framework akan bekerja bersama-sama membangun pondasi yang kokoh dalam membangun aplikasi berarsitektur J2EE. [1]

Ayu Dwi Rahman Harnani (2008) judul penelitian “Generator Kode Program PHP dari Diagram UML (Unified Modeling Language) Berbasis XML (Extensible Markup Language)”. Generator kode yang dikembangkan dalam penelitian

(4)

ini berdasarkan permodelan UML(Unified Modeling Language). Aplikasi ini dibangun untuk membangkitkan kode program PHP dari suatu class

diagram. Output dari aplikasi dapat memudahkan programmer dalam mengimplementasikan sistem agar sesuai dengan perancangan yang telah dibuat oleh perancang sistem dengan tool diagram UML berbasis XML yang berbeda-beda. Aplikasi ini dibangun menggunakan analisa dan desain berorientasi objek dengan menggunakan bahasa pemrograman Java 1.5 dan Visual Paradigm for UML yang berbasis XML sebagai tool pemodelan sistem. [2]

2.2 Generator Kode

Generator kode (Code Generator) adalah sebuah program aplikasi yang menulis kode program lainnya, atau dengan kata lain aplikasi yang menghasilkan aplikasi lain. Dengan semakin kompleksnya framework yang digunakan, kemampuan dalam mengembangkan sebuah generator kode sangat penting untuk membangun aplikasi. [3]

Dalam mengembangkan aplikasi programmer biasanya memanfaakan code generator. Code generator merupakan salah satu tool dari CASE

(Computer Aided Software Engineering).

Pengembangan code generator bertujuan menghasilkan kode dari spesifikasi yang telah dibuat, menghemat waktu dan biaya. Tujuan dari penggunaan CASE adalah untuk menyediakan beberapa code generator yang secara otomatis menghasilkan 90% atau lebih dari spesifikasi sistem normal yang diberikan oleh programmer secara normal. Dengan teknik ini diharapkan pekerjaan programmer bisa lebih ringan.[4]

2.3 TiwulFX

TiwulFX merupakan library antar muka yang memiliki komponen-komponen kustom dari JavaFX untuk memudahkan dalam pembuatan aplikasi. Terdapat dua komponen utama dalam TiwulFX yaitu TableControl dan Form. TableControl adalah komponen yang dapat menampilkan data dalam tabel. Selain untuk menampilkan data, komponen ini juga bisa digunakan untuk manipulasi data. JavaFX sendiri memiliki komponen tabel yaitu TableView, namun komponen ini hanya dapat menampilkan data saja.

2.4 Hibernate ORM

ORM (Object Relationaal Mapping) adalah sebuah teknologi yang menjadi satu lapis antara aplikasi dengan database, yang mana ORM ini bekerja seperti database juga, tetapi hanya bebentuk

objek. Setiap objek di dalam ORM umumnya mewakili tabel dalam database. Akibat dari teknologi mapping ini membuat sebuah aplikasi yang dikembangkan dengan ORM tidak terikat dengan

database manapun. Sedangkan untuk melakukan

query ke database dengan ORM digunakan sebuah

object relational language, yang mirip dengan SQL. Umumnya setiap tabel object POJO dimap dengan XML.[5]

Project hibernate dimulai pada tahun 2001 oleh Gavin King, project ini mulai mendapat tanggapan serius setelah Gavin King dipekerjakan oleh Jboss dan Jboss mulai mengerahkan pasukan lebih banyak lagi untuk mengelola Hibernate secara serius. Keberhasilan Hibernate sangat fenomenal, bahkan di satu titik Hibernate justru lebih terkenal dibanding konsep ORM itu sendiri. [5]

2.5 Flowchart

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. [6]

Flowchart adalah bagan (chart) yang menunjukkan alir (flow) di dalam program/prosedur sistem secara logika. Flowchart digunakan untuk alat bantu komunikasi dan untuk dokumentasi.

2.5.1 Generator Kode pada Hibernate

Hibernate memiliki generator kode yang dapat menghasilkan file class POJO. Generator kode yang memilik antar muka terdapat pada plugin Eclipse atau Netbeans IDE (Integrated Development Environment). Plugin Hibernate ini memiliki fitur

“click-and-generate” dengan teknik rekayasa balik atau reverse engineering dan sebuah generator kode. Fitur ini dapat membangkitkan kode-logic berdasarkan database atau file konfigurasi Hibernate. 3. Analisis

Analisis sistem merupakan tahapan paling awal dari pengembangan sistem yang menjadi fondasi menentukan keberhasilan sistem informasi yang dihasilkan nantinya.

3.1 Analisis Kebutuhan Sistem

Analisis kebutuhan sistem merupakan cara untuk memahami dengan baik kebutuhan dari sistem. Kebutuhan teknologi atau peralatan yang diperlukan antara lain :

(5)

3

1. Perangkat Keras 2. Perangkat Lunak 3. Sumber Daya Manusia 3.2 Perancangan Generator Kode

Perancagan generator kode dalam penelitian ini menggunakan flowchart program seperti berikut :

Gambar 1. Flowchart Program Generator Kode 3.3 Perancangan Tampilan atau Interface 3.3.1 Rancangan Tampilan pada Generator

Kode

Untuk dapat menampilkan bantuan pengguna aplikasi ini harus menjalankan command :

Java -jar urapfx.jar –help

Maka akan muncul tampilan bantuan yang berisi daftar parameter beserta deskripsinya dan contoh penggunaanya.

usage: Mandatory Parameters for UrapFX

-dp,--daopackage <arg> Parameter for DAO package name -h,--help show help.

-ph,--projecthome <arg> Parameter for project home directory

-pp,--pojopackage <arg> Parameter for pojo package name -up,--uipackage <arg> Parameter for ui package name Example :

java -jar urapfx-1.0-SNAPSHOT.jar -ph /target-dir/app -pp com.panemu.cenil.pojo -up com.panemu.cenil.ui -dp com.panemu.cenil.dao

3.3.2 Rancangan Tampilan Utama

Berikut adalah rancangan tampilan utama ketika aplikasi generator kode dijalankan :

java -jar urapfx-1.0-SNAPSHOT.jar -ph /target-dir/app -pp com.panemu.cenil.pojo -up com.panemu.cenil.ui -dp com.panemu.cenil.dao

Process Starts Now!

[===========> ] 23%

3.3.3 Rancangan UI Kode yang dihasilkan Berikut adalah rancangan tampilan UI kode yang dihasilkan untuk masing-masing POJO :

Gambar 2.Rancangan Kode yang dihasilkan

4. Pembahasan 4.1 Implementasi

Tahap Implementasi sistem merupakan tahap meletakkan sistem supaya siap untuk dioperasikan. Tahap ini termasuk merancang, mempersiapkan, menguji, dan menerapkan suuatu sistem yang dilakukan selama periode waktu tertentu untuk melakukan verifikasi bahwa sistem yang baru dapat berjalan sesuai perancangan dan pembuatan.

4.2 Pengujian Sistem

Pengujian program atau sistem dilakukan untuk menemukan kesalahan maupun segala kemungkinan yang dapat menimbulkan kesalahan pada program atau aplikasi. Tujuan dari pengujian sistem adlah untuk memastikan semua modul berjalan dengan baik sesuai dengan harapan. Pertanyaan kunci dalam pengetesan hasil game ini adalah “Apakah aplikasi generator kode yang dihasilkan sesuai dengan yang direncanakan?”

4.2.1 White Box Testing

White box testing merupakan salah satu cara pengujian yang dilakukan untuk menguji prosedur-prosedur yang ada dengan melihat ke dalam modul

(6)

untuk meneliti kode-kode program yang ada, dan menganalisis apabila terdapat kesalahan. Alur logika yang dilakukan oleh setiap bagian prosedur diuji dengan memberikan kondisi yang spesifik.

Berikut ini adalah beberapa contoh skenario pengujian white box testing yang dilakukan.

Gambar 3.White Box Validasi File Target Sudah Ada

Pada gambar di atas merupakan pengujian validasi jika sudah terdapat file target. File POJO untuk User.java dan Employee.java telah terdapat pada projek, maka akan muncul notifikasi “POJO File "Employee.java" already exist, do you want to replace it? N/y”. Kemudian user harus mengetik “y” untuk yes/ya atau “n” untu no/tidak.

4.2.2 Black Box Testing

Uji coba berikutnya adalah uji coba dengan menggunakan Black box testing. Pengujian black box

berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji.

Tabel 1.Black Box testing pada generator kode

Kolom Balok Generator POJO Melakukan proses generate POJO Valid Generator UI Melakukan proses generate UI Valid Generator FXML Melakukan proses generate FXML Valid Generator DaoStandar Melakukan proses generate DaoStandar Valid Tampilan Bantuan Menampilkan halaman bantuan Valid Pesan Peringatan jika file target sudah Menampilkan pesan peringatan jika file target sudah ada

Valid

ada

Tabel 2.Black Box testing pada kode yang dihasilkan Yang diuji Keterangan Hasil Fungsi

Insert

Klik tombol insert, kemudian isikan isian2nya semua, setelah itu klik tombol simpan

Valid

Fungsi Update

Pilih data yang akan diedit → klik tombol edit, kemudian edit data, setelah itu klik tombol simpan

Valid

Fungsi Delete

Pilih data yang akan didelete → klik tombol delete, muncul konfirmasi delete, klik delete

Valid

Fungsi Sorting

Klik kolom yang akan di sorting, klik sekali desc, klik lagi asc

Valid

5. Kesimpulan

Berdasarkan penjelasan dan pembahasan yang telah diuraikan pada bab-bab sebelumnya hingga tahap implementasi program maka dapat diambil kesimpulan bahwa penulis dapat membangun sebuah generator kode yang dapat men-generate kode dari tabel database yang mampu untuk menjalankan fungsi CRUD dengan memanfaatkan framework

Hibernate dan TiwulFX. 6. Saran

Aplikasi masih memiliki kekurangan, yaitu belum mampu men-generate kode CRUD dari tabel database yang memiliki relational-table. User Interface yang digunakan masih menggunakan cmd/terminal, pengembang selanjutnya diharapkan mampu membuat user interface yang lebih interaktif. Daftar Pustaka

[1] Kuswardayan, Imam. Suciati, Nanik. Wicaksosno. Rachmat, Dody. 2006. JSP Dan Java Servlet Generator Untuk Aplikasi Database Berbasis Web Dengan Mengimplementasikan Framework Jakarta Struts.

[2] Harnani, Ayu Dwi Rahman. 2008. Generator Kode Program PHP dari Diagram UML (Unified Modeling Language) Berbasis XML (ExtensibleMarkup Language).

(7)

5

[3] Herrington, Jack. Code Generation in Action. 2003. Greenwich. Manning Publications.

[4] Al Fatta, Hanif. 2007. Analisis dan Perancangan Sistem Informasi. Yogyakarta. ANDI.

[5] JENI, TIM. 2008. JENI- Bab04-Berkenalan dengan Hibernate sebagai solusi model dalam MVC.

[6] Sulindawati. Fathoni, Muhammad. 2010.

Pengantar Analisa Perancangan “Sistem“.

Medan. STIMIK TRIGUNA DHARMA.

Biodata Penulis

Heru Tri Julianto, memperoleh gelar Sarjana

Komputer (S.Kom), Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta, lulus tahun 2017. Saat ini menjadi Software Engineer di CV. Panemu Indonesia di Yogyakarta.

Windha Mega Pradnya D, memperoleh gelar Sarjana Komputer (S.Kom), Jurusan Sisterm Informasi STMIK AMIKOM Yogyakarta, lulus tahun 2007. Memperoleh gelar Magister Komputer (M.Kom), Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta, lulus tahun 2011. Saat ini menjadi Dosen di STMIK AMIKOM Yogyakarta.

Gambar

Gambar 1. Flowchart Program Generator Kode  3.3  Perancangan Tampilan atau Interface  3.3.1  Rancangan  Tampilan  pada  Generator
Tabel 2. Black Box testing pada kode yang dihasilkan  Yang diuji  Keterangan  Hasil  Fungsi

Referensi

Dokumen terkait

Bentuk-bentuk dari ke-7 desain elemen estetis interior berornamen kearifan lokal yang dikembangkan pada Masjid Imaduddin Tancung mengusung konsep dan filosofi

Berdasarkan rumusan masalah yang ada, maka tujuan utama dari penelitian ini adalah cara menerapkan teknologi Cloud Computing pada suatu sistem repository tugas

Slika 2.21: Prikaz organiziranega omrežja kolesarskih poti in spremljajoče infrastrukture Vir: RS, MPZ, DRSC, strategija razvoja državnega kolesarskega omrežja v RS, Ljubljana 2000

Hasil dari penelitian ini menemukan bahwa secara parsial profitabilitas yang diproksikan dengan Return On Asset (ROA) berpengaruh negatif dan signifikan terhadap struktur

Pengaruh langsung yang negatif dari panjang tongkol (-0,398) diperlemah oleh pengaruh tidak langsung dari umur berbunga jantan, berat 1000 biji, tinggi tanaman, panjang daun,

kamar mandi” karya Gusmel Riyald, ald, dapat diketahui bahwa d dapat diketahui bahwa drama ini menggunakan rama ini menggunakan alur maju yaitu dari pertama terjadi suatu

R: 2 menit ke depan menentukan leher ini menoleh atau tidak, kalau 2 menit didepat tidak asik maka leher ini akan menoleh dan tidak memperhatikan, tapi kalau