SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2010 procedural dalam analisis, pembuatan, dan RANCANG BANGUN PERANGKAT LUNAKaplikasi INVENTORY DANacuan DISTRIBUSI penggunaan ERP. Kerangka yang digunakan adalah COBIT METODE (Control PERUSAHAAN MANUFAKTURdapat DENGAN MENGGUNAKAN Objectives for Information and Related SERVICE ORIENTED ARCHITECTURE Technologies) yang menyediakan Proses Teknologi Eka Gibran Hasany, Prof. Riyanarto Sarno, Rizky Januar Akbar. Informasi yangInstitut umum digunakan suatu Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Teknologi Sepuluhdalam Nopember enterprise. Tujuan dari COBIT adalah Email : ekagibran @gmail.com menyelaraskan tujuan Teknologi Informasi dengan tujuan bisnis. Abstrak - Service Oriented Architecture adalah suatu solusi Arsitektural yang sering muncul belakangan ini. Dimulai dari IBM, kemudian dikembangkan oleh para Developer, Service Oriented Architecture juga berkembang sebagai suatu paradigma abstrak yang memiliki banyak jenis dalam pengimplementasiannya. Namun, setiap ahli pasti setuju bahwa Arsitektur SOA memiliki banyak keuntungan seperti loose coupling, reusability, maintainability, integration. Enterprise Resource Planning adalah suatu bagian yang sangat penting dari perusahaan. ERP merupakan suatu sistem yang sangat besar yang terdiri dari modul-modul yang menangani bagian tertentu dan semuanya saling terintegrasi. Dengan kondisi ERP seperti itu, dimungkinkan untuk dibuat dengan suatu arsitektur yang lebih modular agar tercapainya keunggulan seperti reusability, maintainability, dan integration. Aplikasi dalam Tugas Akhir ini mencoba menerapkan solusi Service Oriented Architecture pada ERP dengan tetap berpedoman pada prinsip dasar SOA. Adapun tahapannya dimulai dari analisis yang dinamakan Service Oriented Analisys and Design. Untuk mengimplementasikan ERP dengan Service Oriented Architecture, dimulai dengan tahapan analisis yang disebut dengan Service Oriented Analysis and Design (SOAD). SOAD. SOAD memiliki Layer yang merupakan tahaptahap analisis yang dilakukan secara top-down. Layer-layer tersebut adalah Business Process, Business Service, Software Service, Software Components. Dengan melakukan tahap SOAD secara benar, maka akan dapat diidentifikasi Service-service yang penting yang dapat mendukung implementasi Service Oriented Architecture untuk ERP. yaitu. Makalah ini terdiri dari beberapa bab BAB I. PENDAHULUAN BAB II. KAJIAN PUSTAKA BAB III. ANALISIS BAB IV. PERANCANGAN BAB V. IMPLEMENTASI BAB VI. UJI COBA DAN EVALUASI BAB VII. PENUTUP Kata kunci: SOA, ERP, Web Service, Aplikasi Enterprise 2. 1. Pendahuluan Dalam suatu perusahaan industri, Enterprise Resource Planning merupakan bagian yang berperan sangat vital dalam proses manufaktur, distribusi, dan keuangan. Sistem ERP sangat besar dan kompleks, karena itu tidak jarang perusahaan menginvestasikan uang yang cukup besar untuk ERP, dan tidak jarang pula terjadi kesalahan-kesalahan baik yang disebabkan oleh Human error, maupun kesalahan teknis dari aplikasi ERP itu sendiri yang tentunya dapat mengacaukan stabilitas bisnis perusahaan. Untuk menghindari dan memperkecil kemungkinan buruk di atas, harus ada suatu konsep arsitektural yang mengedepankan reusability, maintainability, dan integration. Service Oriented Architecture adalah suatu konsep arsitektur yang paling dekat untuk dapat memenuhi syarat-syarat di atas, tentunya dengan beberapa faktor pertimbangan sesuai dengan konteks. Adapun ERP sangat mendukung tujuan bisnis dari perusahaan. Oleh karena itu, perlu juga ada suatu acuan yang yang menata dan mengelola baik secara otomatis, maupun Dasar Teori 2.1 Service Oriented Architecture SOA (Service Oriented Architecture) adalah suatu model arsitektural untuk membangun solusi enterprise berdasarkan service. Secara lebih spesifik, SOA berhubungan dengan pembangunan independen dari layanan bisnis yang dapat dikombinasikan menjadi proses bisnis pada level tinggi dan solusi dalam konteks enterprise. Dengan menerapkan metode SOA, maka tuntutan terhadap perubahan kebutuhan bisnis dapat terselesaikan. SOA memberikan solusi untuk penerapan reusable services pada sistem. SOA juga menyediakan sebuah mekanisme untuk mengintegrasikan aplikasi legacy yang ada tanpa memandang platform ataupun bahasa 2.2 Inventory dan Distribusi Modul ini digunakan untuk mengelola aktifitas penjualan, pembelian, pengontrolan stok barang dan distribusi barang. Berikut ini adalah 1 Eka Gibran Hasany - 5106100168 SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2010 fitur-fitur yang terdapat Inventory/Distribution. pada modul a. Purchase Request Transaksi yang digunakan untuk membuat dokumen permintaan pembelian atas barang yang butuhkan. b. Purchase Order Transaksi yang digunakan untuk membuat dokumen pemesanan barang kepada supplier. c. Sales Order Transaksi yang digunakan untuk mencacat dokumen pemesanan barang oleh customer. d. Receiving Transaksi yang digunakan untuk membuat dokumen penerimaan barang dari supplier. Transaksi ini menambah persediaan dan menjadi dasar untuk pembuatan Purchase Invoice. e. Purchase Return Transaksi yang digunakan untuk membuat dokumen pengembalian barang ke supplier. Transaksi ini mengurangi persediaan dan menjadi dasar untuk pembuatan Purchase Return Invoice. f. Shipment Transaksi yang digunakan untuk membuat dokumen pengiriman barang ke customer. Transaksi ini mengurangi persediaan dan menjadi dasar untuk pembuatan Sales Invoice. g. Sales Return Transaksi yang digunakan untuk membuat dokumen pengembalian barang dari customer. Transaksi ini menambah persediaan dan menjadi dasar untuk pembuatan Sales Return Invoice. h. Location Transfer Transaksi yang digunakan untuk membuat dokumen pemindahan barang dari satu lokasi ke lokasi lainnya. i. Stock Take Sarana untuk melakukan penghitungan ulang jumlah barang persediaan dan membandingkan perhitungan fisik ini dengan saldo sesuai catatan sistem. Sistem selanjutnya secara otomatis menghasilkan transaksi penyesuaian (adjustment) untuk selisih yang timbul. j. IN Debit Adjustment Transaksi yang digunakan untuk menambah jumlah saldo persediaan, baik nilai ataupun hitungannya (quantity), contoh penggunaannya misalnya untuk membetulkan jumlah persediaan setelah dihitung ulang (stock-take). k. IN Credit Adjustment Transaksi yang digunakan untuk mengurangi jumlah saldo persediaan, baik nilai ataupun hitungannya (quantity), contoh penggunaannya misalnya untuk membetulkan jumlah persediaan setelah dihitung ulang (stock-take). l. Load Sheet Sarana pemuatan barang ke dalam kendaraan pengangkut dengan memperhitungkan kapasitas kendaraannya. Barang yang dimuat adalah barang yang sudah dibuatkan shipment. Jadi dalam transaksi ini ada daftar pengiriman dari Shipment yang telah dibuat beserta informasi mengenai kendaraan pengangkut, pengemudi dan asistennya. 2.3 Arsitektur Aplikasi Enterprise Aplikasi Enterprise adalah suatu aplikasi yang berskala besar yang umumnya fokus pada domain permasalahan proses bisnis. Karena itu, suatu aplikasi enterprise membutuhkan sifat maintainability, flexibility, integration. Untuk dapat mendesain aplikasi enterprise yang baik, dibutuhkan suatu arsitektur yang baik pula yang dapat mengakomodasikan requirement-requirement yang dibutuhkan. Gambar 2-1 Layer Aplikasi Enterprise 2 Eka Gibran Hasany - 5106100168 SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2010 Secara umum, suatu aplikasi enterprise terdiri dari layer-layer yang merupakan sekumpulan fungsi/class library yang memiliki kaidah dasar yang sama. Presentation Layer adalah layer paling luar dari aplikasi yang langsung berhubungan dengan user. Service Layer menjembatani antara Presentation/User dengan Logic pada Business Layer. Data Access Layer berhubungan dengan segala bentuk transaksi yang berhubungan dengan persistensi, baik itu CRUD ataupun transaksi database lainnya. 3. Metodologi 3.1 Arsitektur Aplikasi Gambar 3.1 berikut merupakan arsitektur dari aplikasi ini. Dari gambar tersebut terlihat bahwa ada tiga macam pengguna, yakni petugas disperindag, pemilik industri dan konsumen, yang masing-masing mempunyai kepentingan terhadap aplikasi. Presentation Layer (Inventory.Web) Web Services (Inventory.Service.Web) Service Layer (Inventory.Service.Application) Data Access Layer (Inventory.Data) Oracle Database Gambar 3-1 Arsitektur Aplikasi Suatu sistem yang menerapkan Service Oriented Architecture dengan baik harus dapat memenuhi prinsip-prinsip berikut : 1. Reusability. Prinsip reusability diterapkan dengan menempatkan Web Services sebelum Service Layer. Komponen yang bersifat reusable bukanlah pada web service, melainkan pada Service Layer. Suatu Web Service dapat memanggil lebih dari satu komponen yang menyusun Aplikasi. 2. Loose coupling Loose coupling dilakukan menempatkan Service Layer antara Business Layer dengan Presentation Layer atau Web Services. Dengan Service Layer, maka Bussines Logic dan domain disembunyikan dari User yang mengakses Presentation layer, maupun dari aplikasi eksternal yang mengkonsumsi web service. Perubahan pada Business Logic atau Domain ditangani oleh Service Layer, sehingga Presentation Layer dan Web Services tidak terpengaruh. 3. Interoperability. Adanya Web services memungkinkan aplikasi eksternal dapat mengakses business logic secara tidak langsung dengan batasan dan aturan tertentu. Gambar 2-1 Arsitektur NHibernate 3 Eka Gibran Hasany - 5106100168 ProjectBase.Data , ProjectBase.Utils Domain Model, DTO, Interfaces (Inventory.Core) 2.5 Object Relational Mapping - NHibernate Object Relational Mapping (ORM) adalah suatu konsep dalam memetakan table sebagai entitas pada database, dengan class atau object sebagai entitas dalam lingkungan pemrograman atau aplikasi. Salah satu ORM yang dikhususkan untuk .NET adalah NHibernate. NHibernate tidak hanya memfokuskan kepada pemetaan dari kelas .NET ke tabel database (dan dari tipe data .NET ke tipe data SQL), tetapi juga menyediakan data query dan mendapatkan fasilitas-fasilitas yang dapat mengurangi waktu pengembangan perangkat lunak secara signifikan. Tujuan dari NHibernate adalah adalah meringankan beban developer terhadap persoalan-persoalan programming yang berkaitan dengan data. Pada gambar 2.2, ditunjukkan arsitektur high-level-view dari NHibernate. Dalam arsitektur tersebut terlihat bahwa NHibernate menggunakan database dan data konfigurasi (App.Config dan XML Mapping) untuk menyediakan layanan persistent dan objek persistent ke aplikasi. SEMINAR TUGAS AKHIR PERIODE AGUSTUS 2010 4. 4. menggunakan Web Service”. Fakultas MIPA Universitas Widya Dharma Klaten. Integrasi Aplikasi harus dapat diintegrasikan dengan aplikasi lainnya. Integrasi dilakukan dengan mengorkestrasikan Web Service dari aplikasi ini, serta aplikasi lainnya. Kesimpulan Dari hasil pengamatan mulai tahap analisis, perancangan, implementasi dan uji coba, penulis mengambil kesimpulan sebagai berikut: 1. 2. 3. 5. 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. Untuk menghasilkan suatu aplikasi Enterprise yang baik, diperlukan suatu arsitektur yang baik yang dapat memenuhi permintaan dari suatu arsitektur SOA yaitu reusability, loose coupling dan integration. Analisis proses bisnis sangat penting dilakukan untuk dapat menghasilkan suatu aplikasi inventory yang baik. Daftar Pustaka [1] IBM. (2004). Patterns: Elements of ServiceOriented Analysis and Design, <URL: http://www.ibm.com/developerworks/library/ ws-soad1/> , diakses tanggal 10 Juli 2010. [2] Dino Esposito. Andrea Saltarello.Microsoft Press(2009). “Architecting Microsoft .NET Solutions for the Enterprise” [3] IT Governance Institute. (2007). COBIT 4.1. [4] Sarno, R. and Herdiyanti, A. (May 2010), “Developing Information Technology Policies for Enterprise Resource Planning to Improve Customer Orientation and Service”, International Journal of Computer Science and Network Security, ISSN – 1738 – 7906, Vol. 10, No. 5, pp. 82-94. [5] Sarno, R. and Herdiyanti, A. (March 2010), “A Service Portfolio for an Enterprise Resource Planning”; International Journal of Computer Science and Network Security, ISSN – 1738 – 7906, Vol. 10, No. 3, pp. 144156. [6] Daniel Minoli. (2008). Enterprise Architecture A to Z. [7] Prasetyo, Hendro Joko. (2009) “Implementasi Service Oriented Architecture (SOA) 4 Eka Gibran Hasany - 5106100168