RANCANG BANGUN APLIKASI PELAKSANAAN PRODUKSI BERORIENTASI SERVIS PADA PERUSAHAAN FURNITUR MENGGUNAKAN PLATFORM JAVA. Notario Airlangga Putra1, Riyanarto Sarno2, Dwi Sunaryono3 1,2,3
Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo Surabaya, 60111, Indonesia 1
2
[email protected] ,
[email protected] ,
[email protected]
Abstrak Proses pelaksanaan produksi merupakan proses merubah bahan baku menjadi produk jadi atau setengah jadi. Proses ini berawal dari pemindahan material ke lantai produksi sebagai bahan baku proses produksi hingga pengendalian kualitas dari hasil produk jadi maupun setengah jadi yang dihasilkan. Proses pelaksanaan produksi ini menginformasikan jalannya tahapan produksi mulai dari penggunaan material, penggunaan mesin, produk yang dihasilkan, hingga laporan atas inspeksi produk setelah barang terbentuk. Pada tugas akhir ini penulis akan membangun aplikasi pelaksanaan produksi menggunakan teknologi Java dengan metode Service Oriented Architecture (SOA). Dengan metode ini, diharapkan akan menghasilkan suatu sistem yang fleksibel dan responsif terhadap perubahan proses bisnis dan menghasilkan service dari sistem pelaksanaan produksi yang reusable dan dapat digunakan oleh entitas lain. Kata kunci : pelaksanaan produksi, produk, SOA.
1. Pendahuluan Proses pelaksanaan produksi merupakan proses merubah bahan baku menjadi produk jadi atau setengah jadi. Proses ini berawal dari pemindahan material ke lantai pabrik sebagai bahan baku proses produksi hingga pengendalian kualitas dari hasil produk jadi maupun setengah jadi yang dihasilkan. Proses pelaksanaan produksi ini menginformasikan jalannya tahapan produksi mulai dari penggunaan material, penggunaan mesin, produk yang dihasilkan, hingga laporan atas inspeksi produk setelah barang terbentuk. Mayoritas perusahaan manufaktur yang sedang berkembang memiliki visi untuk memproduksi barang sebanyak – banyaknya untuk dapat memenuhi permintaan pasar. Seluruh sasaran, strategi, dan program kerja perusahaan difokuskan untuk meningkatkan kapasitas dan mempercepat proses produksi. Namun,
3
seiring waktu yang berjalan, fokusnya tidak hanya memproduksi produk sebanyak – banyaknya, tetapi juga dapat memproduksi produk dengan kualitas yang baik dengan rantai produksi yang efisien. Agar produk yang dihasilkan terus terpantau maka dibutuhkan suatu aplikasi yang dapat menangani proses bisnis pelaksanaan produksi. Disinilah peranan aplikasi dalam meningkatkan mutu serta kualitas barang hasil produksi khususnya produk - produk furnitur.
2. Proses Pelaksanaan Produksi
Proses pelaksanaan produksi merupakan salah satu proses bisnis dari functional domain manufacturing. Manufacturing adalah proses produksi untuk menghasilkan produk – produk fisik (tangible product). International Conference on Production Research (ICPR) pada tahun 1983 mendefinisikan manufacturing sebagai serangkaian operasi dan kegiatan yang saling berhubungan yang meliputi perancangan (design), pemilihan bahan (material selection), perencanaan (planning), pembuatan (manufacturing), penjaminan mutu (quality assurance), serta pengelolaan dan pemasaran produk – produk. Dua tipe lingkungan manufacturing dalam diantaranya : Make to order Make to stock Tabel 1-1 – Perbandingan Lingkungan Manufacturing Berdasarkan Make – to –Stock, dan Make to Order Aspek
Jadwal pengiriman Volume produksi tingkat unit
Lingkungan Make – to – Make/ stock engineering to order Pendek Panjang Tinggi
Rendah
penjualan Kisaran produksi Basis pelayanan Struktur bill of material
Rendah
Tinggi
Ketersediaan produk dalam persediaan
Ketersediaan kapasitas engineering dan manufacturing. Bill of material yang khusus.
Bill of material standar Adapun yang dimaksud proses pelaksanaan produksi adalah tahap akhir dari proses perencanaan produksi (production planning). Proses ini dimulai dari pemindahan material ke lantai produksi sampai inspeksi atas kualitas produk yang dihasilkan. Untuk lebih jelasnya dapat dilihat pada gambar di bawah.
5.
6.
Inspection Receive FG/Product Transaksi yang digunakan untuk mencatat data produk hasil produksi yang ditolak setelah dilakukan inspeksi. Machine Usage Transaksi yang digunakan untuk mencatat lama waktu pemakaian machine dan produk yang dihasilkan. Transaksi machine usage ini juga bisa menghasilkan transaksi issue material, product receipt dan hours accounting.
3. Deskripsi Umum Perangkat Lunak
Fitur perangkat lunak yang dibagun disini terbagi menjadi tiga, yaitu Master Data, Pre – Execution, dan Production Execution. Deskripsi lebih lengkap tentang perangkat lunak yang dibangun dijelaskan pada bab 3.1, 3.2 dan bab 3.3.
3.1 Master Data
Gambar 1 Block Diagram pada Aplikasi Pelaksanaan Produksi
Keterangan : 1. Transfer Material to Production Transaksi untuk memindahkan material yang dibutuhkan oleh suatu proses produksi dari gudang. 2. Return Material to Warehouse Transaksi untuk memindahkan bahan/material sisa proses produksi, dari lokasi produksi (gudang WIP) ke lokasi penyimpanan bahan baku. 3. Issue Material Transaksi untuk mencatat pemakaian material yang digunakan dalam suatu proses produksi. Transaksi issue material ini pada dasarnya hampir sama dengan transaksi credit adjustment yaitu akan mengurangi stock. 4. Receive FG/Product Transaksi untuk mencatat penerimaan barang hasil dari proses produksi. Transaksi Receive product pada dasarnya ini hampir sama dengan transaksi debit adjustment yaitu akan menambah stock.
Master data berfungsi untuk mendaftarkan semua master data pelaksanaan produksi yang dibutuhkan untuk melaksanakan proses pre – execution dan production execution. Master data terdiri dari : 1. Operation Berisi daftar operasi – operasi yang dilakukan selama proses pelaksanaan produksi seperti operasi pemotongan, penebalan, pengeboran, pembentukan, dan penggabungan (Joyce, 2000). 2. Workcenter Berisi daftar departemen (workcenter) atau tempat mesin yang dikategorikan berdasarkan operasi yang dilakukan. 3. Machine Berisi daftar mesin – mesin untuk operasi manufaktur yang dipunyai perusahaan. 4. Routing Berisi data yang dibutuhkan nantinya bisa digunakan untuk memproses barang mentah menjadi barang setengah jadi atau barang setengah jadi menjadi barang jadi. 5. Bill of Material Bill of material berisi komposisi material yang dibutuhkan untuk membentuk material dengan level yang lebih tinggi. Bill of Material terbagi menjadi dua, yaitu bill of raw material, dan bill of sparepart. Bill of raw material berisi daftar raw material yang dibutuhkan untuk membentuk sparepart, sedangkan bill of sparepart merupakan daftar material setengah jadi yang digunakan untuk membentuk sparepart dengan level yang lebih tinggi. 6. Item Machine
Item machine digunakan untuk melihat durasi waktu yang dibutuhkan mesin dalam melakukan operasi untuk operasi tertentu.
4.Arsitektur Perangkat Lunak
Dalam mengembangkan aplikasi manufaktur, penulis menggunakan arsitektur 5 tier dengan JSF 2.0 Framework sebagai presentation layer, dan hibernate 3.2 Pre – Execution 3.2.5 sebagai data access layer (DAL) untuk Pre – execution berfungsi untuk mempersiapkan menciptakan Persistence Object. Database yang akan jalannya proses pelaksanaan produksi (production digunakan adalah oracle 11g. Berikut ini gambaran execution). Fitur – fitur pre – execution di antaranya : arsitektur aplikasi yang akan digunakan 1. Production request. Production request digunakan untuk menerima permintaan produksi dari inventory. 2. Production order. Production order merupakan surat perintah produksi dari production request. Surat perintah produksi yang dikeluarkan sesuai dengan operasi yang dikerjakan beserta material yang dibutuhkan. 3. Transfer material. Transfer material digunakan untuk melakukan permintaan material yang dibutuhkan dalam production order ke Gambar 2 Arsitektur Aplikasi Pelaksanaan Produksi inventory. Transfer material meliputi jumlah dan jenis material yang diminta. JSF 2.0 berperan menangani presentation layer melalui navigation, event handling, dan validation. JSF 2.0 juga 3.3 Production Execution dapat menangani business logic melalui fitur managed Production execution digunakan untuk mencatat beans, yaitu suatu komponen yang digunakan untuk proses bisnis yang dilakukan selama produk dibuat. Fitur mengatur state dari halaman web. Pada JSF, managed – fitur production execution diantaranya : beans berperan dalam tiga hal yaitu : 1. Issue Material Issue material digunakan untuk mencatat Membuat ataupun membuang beans – pemakaian material yang digunakan selama component software yang dapat digunakan proses produksi berjalan. untuk berbagai tujuan. Contoh dari beans : fitur 2. Machine Usage label, textbox, dan lain – lain. Machine usage digunakan untuk mencatat Membaca property dari beans ketika pemakaian mesin selama proses produksi ditampilkan pada halaman web. berjalan. Pencatatan yang dilakukan meliputi Memberi nilai pada beans ketika suatu form jenis mesin yang digunakan, dan jumlah waktu melakukan method POST. yang digunakan. Adapun peran hibernate 3.2.5, adalah menjadi 3. Receive Product “jembatan” antara aplikasi dan database dengan Receive product digunakan untuk mencatat menciptakan persistence object – suatu class yang produk yang dihasilkan dari proses produksi mewakili tabel – tabel dalam database. Hal ini membuat yang telah berjalan. aplikasi menjadi lebih beriorientasi objek karena dalam 4. Inspection Product melakukan query, programmer menggunakan fitur Inspection product digunakan untuk mencatat criteria milik hibernate pada Object Relational Mapping hasil dari aktivitas pengendalian kualitas (ORM). terhadap produk yang dihasilkan dari proses produksi yang telah berjalan. Pencatatan 5.Orkestrasi Web Servis pada Manufaktur meliputi jumlah barang yang diinspeksi dan Orkestrasi web service adalah sebuah eksekusi dari jumlah barang yang ditolak karena mengalami proses bisnis yang spesifik menggunakan WS – kegagalan dari segi kualitas. BPEL. WS – BPEL adalah bahasa yang digunakan 5. Close Production untuk mengeksekusi proses bisnis menggunakan Close production digunakan untuk menandai bahwa suatu perintah produksi telah selesai web service. Tools yang digunakan untuk mengeksekusi WS-BPEL adalah Glassfish Open dilakukan.
ESB. Adapun rancangan dari orkestrasi web servis
untuk aplikasi pelaksanaan produksi ini dijelaskan pada gambar di bawah : BPEL manufactureOrchestration
Start
prId : String output : prDto
provideProductionRequest
input : poDtoList : poList output : objectDtoList : objectList
provideRequestManByPo
provideRequestMaterialByPo
providePoListByPr
input = prDto : ProductionRequestDTO output = poDtoList : poList
provideIssueMaterialByPo
provideMachineUsageByPo
provideReceiveProductByPo
provideInspectionProductByPo
End
Gambar 3 Diagram Orkestrasi pada Aplikasi Pelaksanaan Produksi
Pada diagram di atas terlihat web service yang dilibatkan pada proses orkestrasi pelaksanaan produksi adalah dimulai dari permintaan produksi (production request), surat perintah produksi (production order), permintaan sumber daya manusia (request man), permintaan material (request material), penggunaan material (issue material), penggunaan mesin (machine usage), penerimaan product (receive product), dan inspeksi produk (inspection product). Parameter utama yang digunakan untuk mengeksekusi orkestrasi di atas adalah production request id. Dari parameter ini kemudian diproses menjadi daftar surat perintah produksi (production order), dari daftar surat perintah produksi ini bisa didapatkan data – data permintaan sumber daya manusia (request man), permintaan material (request material), penggunaan material (issue material), penggunaan mesin (machine usage), penerimaan material (receive material), dan inspeksi produk (inspection product). Dan terakhir, orkestrasi ini diolah menjadi laporan produksi (production request report). 6. Implementasi Adapun spesifikasi lingkungan pemrograman yang digunakan untuk tahap implementasi dari aplikasi pelaksanaan produksi:
Database yang digunakan pada server adalah Oracle Database 11g. Netbeans 6.9.1 sebagai IDE utama dalam mengembangkan aplikasi. Apache tomcat sebagai aplikasi server. Mozilla firefox sebagai browser utama. Enterprise Architect sebagai tools untuk membuat class diagram dari project yang telah diimplementasikan. Database yang digunakan pada server adalah Oracle Database 11g.
6.1 Implementasi Tabel ke Class Implementasi mapping table ke class membutuhkan 4 (empat) elemen class : Hibernate Configuration Files (hibernate.cfg.xml). Berisi konfigurasi database yang digunakan untuk koneksi antara framework hibernate dengan database. Hibernate Reverse Engineer (hibernate.reveng.xml). Berisi schema database dan class – class yang dilibatkan dalam aplikasi.
HibernateUtil Helper Class. Class ini akan menciptakan SessionFactory yang digunakan untuk membuka session ketika suatu persistence class diakses POJO (Plain Old Java Object) class. Class yang berisi attribute – attribute yang mewakili entitas – entitas yang dilibatkan dalam proses bisnis. Hibernate Mapping Files. File berisi xml ini berelasi dengan setiap POJO class. Fungsi dari Hibernate Mapping File adalah untuk memberitahu framework hibernate bagaimana menjalankan fungsi load and store pada object, table dan kolom apa yang diakses pada database.
6.3 Implementasi Data Access Layer
Implementasi data access layer dibuat satu base class bernama BaseHibernateDao yang berisi fungsi - fungsi umum yang digunakan oleh class lainnya. Class ini kemudian di - inherit oleh class – class lain yang lebih spesifik sesuai dengan fungsi – fungsi komponennya. class dataaccess T BaseHibernateDAO + + + + + # + +
6.2 Implementasi Domain Model
Implementasi domain model dari class dalam komponen diagram hasil perancangan sebelumnya dimodelkan ke dalam bentuk Hibernate Mapping Files dan POJO (Plain Old Java Object) dari database , dimana setiap class dalam komponen diagram merepresentasikan entitas bisnis yang ada. Adapun contoh dari Hibernate Mapping Files dan POJO untuk Bill of Material :
<property name="bomquantity" type="java.lang.Double"> <property name="bomlevel" type="big_decimal"> Gambar 4 Hibernate Mapping untuk Bill of Material
deleteData(T) : boolean getById(String) : T getLastId() : T getLastIdWithPrefix(Class, String, String) : T readAllData(Class) : List readDataById(Class, String, String) : Object saveData(T) : boolean saveOrUpdateData(T) : boolean
Gambar 5 BaseHibernateDao
6.4 Implementasi Application Service Layer
Application layer merupakan layer business logic dan merupakan layer yang berfungsi untuk menjembatani antara Presentation Layer dengan Data Access Layer. Gambar di bawah adalah contoh implementasi Application Service Layer pada objek penggunaan material (issue material). class applicationserv ice
IssueMaterialASL ~ ~ ~ ~
dto: IssueMaterialDto im: MfIssuematerial issueMaterialCrud: IssueMateriaDAO poDao: ProductionOrderDAO
+ + + + + + +
deleteIssueMaterial(MfIssuematerial) : boolean getIssuematerialDto(String) : IssueMaterialDto getIssueMaterialDtoListByPoList(List
) : List IssueMaterialASL() readAllData() : List saveIssueMaterial(MfIssuematerial) : boolean startPo(MfIssuematerial) : boolean
Gambar 6 Application Service Layer untuk IssueMaterial
6.5 Implementasi Presentation Layer
Implementasi presentation layer pada aplikasi pelaksanaan produksi adalah web interfaces yang dihasilkan dari framework JSF 2.0 dan primefaces. Gambar di bawah adalah contoh presentation layer untuk form bill of material :
3. Item 4. Quantity 5. Branch 6. Start 7. Finish
: fg.mt.001 : 12 : Surabaya : 14-JUN-11 09.27.19 : 14-JUN-11 10.00.00
Gambar 7 Form Bill of Material
7.Uji Coba dan Evaluasi Uji coba dari aplikasi yang dilakukan dengan melihat hasil keluaran yang dihasilkan oleh aplikasi.
7.1 Lingkungan Uji Coba.
Uji coba untuk aplikasi ini dilakukan pada sebuah komputer server dan sebuah komputer client. Berikut ini spesifikasi masing-masing komputer yang digunakan pada uji coba : Komputer server Komputer ini berperan sebagai web server dan database server. o Spesifikasi perangkat keras: Intel Pentium 4 @3.00 Ghz RAM 1.5 GB o Spesifikasi perangkat lunak: Sistem Operasi Windows Server 2008 R2 Apache Tomcat 6.0.32 Oracle Database 11g Komputer client Komputer ini berperan sebagai pengakses aplikasi melalui sebuah web browser. o
o
Spesifikasi perangkat keras: Prosesor Intel Core 2 Duo T 6600 2,2 Ghz. Memori 2 GB Spesifikasi perangkat lunak: Microsoft Windows 7 Ultimate Mozilla Firefox
Pada fase ini akan dijelaskan skenario testing untuk salah satu proses bisnis yaitu permintaan produksi (production request). Data masukan Production Request 1. Sales Order : so.17042011.001 2. Sales Order Detail : 12
Gambar 8 Skenario Testing untuk Production Request
Hasil :
Gambar 9 Hasil Testing penambahan Data Production Request
8.Kesimpulan Dari hasil pengamatan mulai tahap analisis, perancangan, implementasi dan uji coba, penulis mengambil kesimpulan sebagai berikut: 1. Modul manufaktur berhasil diimpelementasikan pada aplikasi ERP2011 menggunakan Java Server Faces 2.0 dan Primefaces untuk user interfaces, dan Hibernate 3.2.5 untuk Data Access Layer dan telah melalui fase testing untuk semua fungsionalitasinya. 2. Modul manufaktur telah terintegrasi dengan functional domain lainnya melalui web services. 3. Adapun proses bisnis yang terlibat di dalamnya adalah pre –execution dan production execution. PreExecution menangani production request, production order, request material, request man, dan
4.
request machine. Untuk production execution menangani issue material, machine usage, receive product, dan inspection product. Untuk menghasilkan arsitektur SOA yang baik, harus dilakukan suatu analisis dan desain berorientasi Service (SOAD) dengan mengikuti suatu acuan. Dari hasil analysis SOAD, dilakukan Mapping ke dalam arsitektur aplikasi enterprise beserta teknologi yang digunakan. Ini dilakukan agar aplikasi yang dibuat tetap konsisten dengan hasil analisis dan desain.
Penghargaan
Penulis menyampaikan rasa terimakasih untuk dosen pembimbing tugas akhir kepada Bapak Riyanarto Sarno dan Dwi Sunaryono, serta kerjasama yang diberikan untuk integrasi aplikasi oleh rekan – rekan ERP2011.
Daftar Pustaka 1. 2. 3.
4.
5.
6.
Geary, D., & Horstmann, C. (2010). Core Java Server Faces. Redwood Shores: Prentice Hall. Joyce, E. (2000). The Technique of Furniture Making. London: B.T. Batsford Limited. King, G., Bauer, C., & Andersen, M. R. (n.d.). Hibernate - Relational Persistence for Idiomatic Java. Kusuma, H. (2009). MANAJEMEN PRODUKSI PERENCANAAN DAN PENGENDALIAN PRODUKSI. Jakarta: Andi Publisher. Sarno, R., & Anisah Herdiyanti. (2010). A Service Portfolio for an Enterprise Resource Planning. IJCSNS International Journal of Computer Science and Network Security. Thomas H. Cormen, C. E. (2011, July 4). Depthfirsh Search. Retrieved from wikipedia: http://en.wikipedia.org/wiki/Depth-first_search