IMPLEMENTASI FRAMEWORK JASPER DAN HIBERNATE
PADA PEMBUATAN APLIKASI SISSPRO BERBASIS WEB
(STUDI KASUS DI BAGIAN PRODUKSI
PG TASIKMADU AFD PG COLOMADU, SURAKARTA)
Mudjahidin1, Faizal Johan1, Alfa Raditya Y.11
Fakultas Teknologi Informasi,
Institut Teknologi Sepuluh Nopember (ITS), Surabaya, 60111, Indonesia E-mail : [email protected]
Abstraksi – Pembuatan laporan-laporan manajemen merupakan salah satu kegiatan untuk mendukung bisnis suatu perusahaan. Proses ini masih dilakukan sendiri-sendiri oleh bagian masing-masing, sehingga masih memerlukan proses integrasi data pada semua bagian. Oleh karena itu, diperlukan suatu aplikasi yang dapat mengotomatisasikan proses pembuatan laporan-laporan manajemen serta dapat mengintegrasikan laporan-laporan tersebut.
Pada tugas akhir ini akan ditunjukkan suatu aplikasi yang dihasilkan dari kolaborasi PHP dan Java, sehingga proses maintenance situs web akan menjadi lebih mudah. Dengan bantuan Hibernate dan JasperReports, dapat memudahkan developer dalam mengembangkan aplikasi berbasis Java dengan Object/Relational Mapping dan membangkitkan laporan ke dalam format tertentu. Dengan demikian, ketika dalam proses pembuatan laporan, diharapkan dapat lebih aman dan dapat menghindari perbedaan data serta dapat meminimalkan resiko kesalahan.
Kata kunci : Workflow, Pembuatan
Laporan, Framework Jasper,
Framework Hibernate.
1 PENDAHULUAN
PT. Perkebunan Nusantara IX (Persero) adalah sebuah BUMN yang bergerak di bidang perkebunan dan berlokasi di Jawa Tengah, Indonesia, serta berkantor pusat di Jl. Mugas Dalam (Atas) Semarang.
Pabrik Gula (PG), khususnya PG Tasikmadu Afd. Colomadu, tentu ingin mempertahankan, bahkan meningkatkan kinerja pada beberapa tahun terakhir. Namun sayangnya, proses pembuatan laporan-laporan manajemen masih dilakukan sendiri-sendiri oleh bagian masing-masing, sehingga masih memerlukan proses integrasi data pada semua bagian. Oleh karena itu, diperlukan suatu aplikasi yang dapat mengotomatisasikan proses pembuatan laporan-laporan manajemen serta dapat mengintegrasikan laporan-laporan tersebut.
Seperti yang dapat dilihat pada gambar di atas, terdapat 3 bagian unit Sistem Produksi, yaitu : Bagian Bagian Tanaman, Bagian Instalasi dan Bagian Pengolahan/Fabrikasi yang ditunjang oleh Bagian AKU (Akuntansi, Keuangan dan Umum). Kewenangan pada masing-masing bagian di atas berbeda-beda. Bagian Tanaman, misalnya, bertanggung jawab untuk menyediakan bahan baku berupa bibit tebu yang berkualitas
Teknologi yang digunakan oleh penulis di sini adalah kolaborasi antara teknologi PHP dan Java, serta menggunakan sistem manajemen database MySQL. Java merupakan suatu bahasa pemrograman yang multiplatform dan dapat diandalkan dalam membuat aplikasi berbasis web. Dengan adanya teknologi PHP, maka proses maintenance situs web akan menjadi lebih mudah. Selain itu, dengan dukungan sistem manajemen database MySQL, maka dapat mencakup keseluruhan data pada perusahaan tempat studi kasus dilakukan.
Data-data tersebut dapat diperoleh dengan cara melakukan survey di Pabrik Gula Tasikmadu, sehingga dapat diperoleh data yang valid dan dapat digunakan.
2 WORKFLOW
A DEFINISI WORKFLOW
Terdapat beberapa pendapat mengenai pengertian workflow. Pendapat-pendapat tersebut antara lain:
"Workflow merupakan istilah yang digunakan untuk menjelaskan tugas-tugas, langkah-langkah prosedural, organisasi maupun orang-orang yang terlibat, informasi input maupun output yang diperlukan, dan tools yang diperlukan dalam setiap tahap di dalam proses bisnis." (PennState, 2004)
“Work flow itu adalah diagram alir bagaimana sebuah proses kerja berjalan. Proses dalam workflow bisa meliputi 1 atau lebih struktur organisasi / struktur fungsi organisasi. Lebih dikenal baik dengan nama Cross-Functional Flowchart..” (M Arif Pradipto, 2007)
"Workflow merupakan otomatisasi dari perpindahan dokumen dan data antar perorangan dalam suatu proses." (Aluca, 2004)
Dari berbagai teori tersebut dapat disimpulkan bahwa pengertian workflow adalah otomatisasi proses bisnis yang meliputi perpindahan dokumen melalui suatu prosedur kerja.
B TUJUAN WORKFLOW
Adapun tujuan dari pembuatan workflow adalah :
1. Menterjemahkan kebutuhan ke dalam spesifikasi yang menggambarkan langkah implementasi sistem.
2. Mengadaptasikan hasil analisa ke batasan yang disyaratkan oleh kebutuhan non-fungsional, lingkungan implementasi, kebutuhan kinerja dan seterusnya.
3. Menunjukkan bagaimana sistem akan direalisasikan pada phase implementasi.
C MANFAAT WORKFLOW
Manfaat pembuatan workflow adalah sebagai berikut :
1. Memastikan proses bisnis dilakukan sesuai prosedur.
2. Mengurangi biaya operasi, meningkatkan akses informasi, waktu proses dan produktifitas.
3. Meningkatkan komunikasi, pelayanan dan kondisi karyawan, membantu pengambilan keputusan, serta meningkatkan kemampuan perencanaan.
3 ANALISIS KEBUTUHAN DAN
PERANCANGAN PERANGKAT LUNAK
A PROSES PEMBUATAN
LAPORAN SAAT INI
Proses pembuatan laporan-laporan manajemen yang berjalan dalam Bagian Sub Sistem Produksi PG Tasikmadu Afd
Colomadu kota Surakarta saat ini masih dibuat terpisah pada masing-masing bagian. Belum ada aplikasi yang dapat mengintegrasikan laporan-laporan manajemen dari masing-masing bagian tersebut.
Hal ini merupakan peraturan yang terdapat pada Bagian Sub Sistem Produksi PG Tasikmadu Afd Colomadu. Gambar 1 alur kerja sub sistem produksi di PG Tasikmadu Afd Colomadu.
Gambar 1 Diagram Alur Kerja Sub Sistem Produksi
B PENGGUNA
Berikut ini adalah penjelasan dari aktor-aktor yang terlibat di dalam sistem sebagaimana terlihat pada diagram use case di atas
1. Pengguna. SISSPRO
Aktor pengguna merupakan generalisasi dari semua aktor yang lain, karena semua aktor bawahan dari aktor pengguna bisa melakukan login.
2. Administrator
Yang bertindak sebagai Administrator sistem. Merupakan aktor turunan dari aktor Pengguna SISSPRO dan generalisasi dari aktor Supervisor Administrator SISSPRO yang bertanggung jawab terhadap jalannya aplikasi dengan baik. Tugas utama dari aktor ini adalah : mengawasi kinerja supervisor administrator dan mengelola data pengguna.
3. Operator Bagian
Merupakan aktor turunan dari aktor pengguna SISSPRO yang bertanggung jawab terhadap pemasukan data-data sub sistem produksi PG Tasikmadu Afd Colomadu. Operator bagian terdiri atas operator bagian Tanaman, operator bagian Pengolahan, operator bagian Angkutan dan operator bagian Litbang.
C FUNGSI
Sesuai dengan permasalahan yang telah disebutkan sebelumnya dapat ditentukan fasilitas yang dapat diberikan oleh sistem kepada pengguna antara lain: 1. Melakukan login
2. Mengelola data pengguna 3. Menampilkan data Timbangan 4. Menampilkan data Hasil Pasti Per
Periode
5. Menampilkan data Produksi Per Kategori
6. Menampilkan data Produksi Harian 7. Menampilkan data Estimasi Akhir 8. Menampilkan data Master Kebun
Awal
9. Menampilkan data Master Kebun Detail
10.Mengelola data Timbangan 11.Mengelola data Hasil Pasti 12.Mengelola data Produksi Harian 13.Mengelola data Estimasi Sisa 14.Mengelola data Kebun
15.Melakukan konversi dokumen Workflow Sub Sistem Produksi PG Tasikmadu Afd Colomadu
Bagian Instalasi Bagian Pengolahan Bagian Litbang Bagian Tanaman START LAP LUAS LAP PENANGKARAN LAP LUASAN TEBU GILING LAP KEMAJUAN PEKERJAAN KEBUN DATA RKAP TAKSASI MARET TAKSASI DESEMBER MASTER KEBUN AWAL MASTER KEBUN
DETAIL LAP TIMBANGAN
LAP TEBU MASUK HARIAN LAP TEBU MASUK PER PERIODE LAP TEBU MASUK S/D AKHIR LAP PRODUKSI
HARIAN LAP HASIL PASTI LAP PRODUKSI PER KATEGORI
D TEKNOLOGI
Beberapa teknologi dipilih berdasarkan kebutuhan perusahaan, sedangkan sebagian lainnya ditentukan sendiri oleh penulis karena tidak ada kebutuhan khusus atas teknologi tersebut.
1. PHP
PHP adalah bahasa (scripting languange) yang dirancang khusus untuk penggunaan dalam web. PHP kependekan untuk Hypertext Preprocessor.
Seperti bahasa pemrogaman web lainnya PHP menjalankan seluruh perintah yang berada dalam skrip PHP di dalam web server dan menampilkan hasilnya ke dalam web browser klien.
2. MySQL
MySql adalah cepat, mudah untuk digunakan (easy-to-use) dan sebagai manajemen database relasional (RDBMS) yang digunakan pada beberapa web site.
3. PHP/Java Bridge
Jika kita akan membangun aplikasi berbasis web, maka salah satu script yang dapat kita gunakan adalah PHP. Untuk menjembatani antara script PHP dengan library Java, ketiga implementasi di atas menyediakan sebuah PHP/Java Bridge.
Implementasi de facto PHP memiliki PHP/Java Bridge yang dipaket secara terpisah, yang telah tersedia pada situs Source Forge. PHP/Java Bridge menggunakan dual process model di mana library Java dijalankan dalam proses terpisah dari runtime PHP. Interaksi dengan objek Java disusun
melalui proses Java menggunakan protokol XML.
4. Hibernate
Bekerja dengan perangkat lunak berbasis object dan database relasional dapat menghabiskan waktu pada lingkup perusahaan belakangan ini. Hibernate merupakan tool Object/Relational Mapping untuk lingkungan Java. Istilah Object/Relational Mapping (ORM) merujuk pada teknik pemetaan representasi data dari model object ke model data relasional dengan skema berbasis SQL.
Hibernate tidak hanya melakukan pemetaan dari class Java ke dalam tabel database (dan dari tipe data Java ke tipe data SQL), tetapi juga menyediakan fasilitas query dan pengambilan data. Hibernate juga dapat mengurangi waktu pengembangan secara signifikan bila dibandingkan dengan waktu pengembangan dengan penanganan data manual di SQL dan JDBC.
Walaupun Hibernate biasanya digunakan dalam server aplikasi J2EE, seperti WebSphere dan JBoss, Hibernate dapat digunakan dalam aplikasi standalone. Kebutuhannya bervariasi untuk lingkungan yang berbeda, dan Hibernate dapat dikonfigurasikan untuk mengadopsi perbedaan lingkungan tersebut. Hibernate bekerja dengan berbagai support service, seperti connection pools, caching services maupun transaction managers. Hibernate juga memungkinkan Anda menggunakan support service tambahan dengan mengimplementasikan interface sederhana.
5. JasperReports
JasperReports merupakan library class Java berbasis open-source yang dirancang untuk membantu para
developer dengan tugas menambah kemampuan dalam hal reporting pada aplikasi Java. Karena JasperReports bukan merupakan tool standalone, maka JasperReports tidak dapat diinstall sendiri. Maka, Jasper harus disisipkan ke dalam aplikasi Java dengan menyertakan library Jasper dalam classpath. JasperReports merupakan library class Java, dan bukan alat untuk end user, tetapi lebih ditujukan untuk developer Java yang ingin menambahkan kemampuan reporting dalam aplikasi mereka.
Meskipun JasperReports utamanya digunakan untuk menambah kemampuan reporting pada aplikasi berbasis web via Servlet API, Jasper tidak punya dependensi apapun pada Servlet API maupun library Java EE yang lain. Oleh karena itu, Jasper tidak terbatas untuk aplikasi web.
Fitur-fitur JasperReports antara lain sebagai berikut :
Flexible report layout
Mampu menyajikan data secara tekstual maupun grafik
Mengizinkan developer untuk menyediakan data dengan berbagai cara
Dapat menerima data dari berbagai datasource
Mampu membangkitkan subreport
Mampu mengubah report ke dalam berbagai format dokumen
E ARSITEKTUR SISTEM
Sistem Informasi Sub Sistem Produksi ini adalah sebuah aplikasi berbasis web yang dikembangkan dengan menggunakan teknologi open source. Web Server yang digunakan adalah Apache dengan bahasa pemrograman web server PHP. Untuk koneksi database, basis data yang digunakan
adalah Mysql. Untuk lebih jelasnya, dapat dilihat pada gambar 2 berikut.
Gambar 2 Arsitektur Sistem
F IMPLEMENTASI SISTEM
Secara umum perangkat lunak ini dikembangkan dengan menggunakan sistem operasi Windows, dengan alasan perangkat lunak ini membutuhkan Internet Explorer yang ada pada sistem operasi windows. Aplikasi web dikembangkan dengan webserver menggunakan Apache 2.0.59 dan database menggunakan MySQL Version 5.0.88.
4 UJI COBA DAN EVALUASI
Uji coba dilakukan untuk menguji jalannya aplikasi mulai dari proses input sampai dengan proses output dan mengetahui kesesuaian antara desain dengan kenyataan. Data-data yang digunakan dalam proses uji coba ini menggunakan data yang diperoleh dari sub sistem Produksi di Pabrik Gula. SISSPRO lulus uji coba apabila menu-menu yang dipilih bisa berjalan dengan baik dan tidak ada pesan error yang muncul. Skenario uji coba yang akan dilakukan adalah sebagai berikut:
1. Login
2. Mengelola Data Timbangan 3. Mengelola Data Hasil Pasti 4. Menampilkan Data Produksi Per
Kategori
5. Mengelola Data Produksi Harian 6. Mengelola Data Estimasi
7. Mengelola Data Kebun
8. Mengelola Data Kebun Detail DATABASE BROWSER WEB SERVER SISSPRO scripts JAVA JVM POJO Class Persistent Class request response Java Bridge Java-based Communication
Gambar 3 Diagram Usecase SISSPRO
5 PENUTUP
A KESIMPULAN
Berdasarkan hasil tugas akhir yang dilakukan, maka dapat disimpulkan beberapa hal sebagai berikut :
1. Sistem Informasi Sub Sistem Produksi telah berhasil diimplementasikan dengan menggunakan teknologi Open Source berbasis web yang menggunakan PHP dan Mysql, dan dibantu oleh framework Hibernate dan Jasper
2. Sistem yang telah dibangun dapat menyediakan informasi mengenai peningkatan atau penurunan giling harian, serta dapat melakukan estimasi produksi akhir.
B SARAN
Beberapa hal yang diharapkan dapat dikembangkan pada masa mendatang adalah sebagai berikut :
1. Menggunakan teknologi J2ME, sehingga aplikasi dapat diakses via WAP browser.
2. Mengintegrasikan sistem dengan sistem akuntansi di Pabrik Gula, sehingga pada akhirnya dapat menghasilkan laporan keuangan secara otomatis.
6 DAFTAR PUSTAKA
Anonymous, 1992. Dokumentasi Sistem Produksi PG Sragi, Pekalongan. Anonymous, 1992. Komputerisasi Sub
Sistem Produksi : Presentasi tanggal 20-21 Februari 1992 di Kantor Direksi. Surakarta.
Anonymous, 2004. Profil Perusahaan Pabrik Gula Pangka. PTPN IX (Persero) Tegal.
Nugroho, Bunafit. Mei, 2007. Trik dan Rahasia Membuat Aplikasi Web dengan PHP.Gava Media.
Nugroho, Bunafit. Februari, 2004. PHP &
MySQL dengan editor
Dreamweaver MX. ANDI Yogyakarta.
A. Manolescu, Dragos. August, 2001. Micro-Workflow : An Object-Oriented Workflow Architecture for Embedded Workflow. Department of EECS, University of Kansas.
Bima, Ifnu. 2008. Materi Pelatihan Java Desktop. Artivisi Intermedia Jakarta.
Muhardin, Endy. 2004. O-R Mapping Hibernate : Pemetaan Object-Relational dengan Hibernate. Artivisi Intermedia Jakarta.
Heffelfinger, David R. 2006. JasperReports for Java Developers. PACKT Publishing.