Rancang Bangun Sistem Informasi Minimarket Dengan Penerapan Service Oriented Architecture Kaddy Miharjaya (087006114) Teknik Informatika Universitas Siliwangi Tasikmalaya Email :
[email protected]
Abstract The rapid developments in information technology cause of hardware, operating systems and programming languages currently in circulation becomes increasingly diverse. The positive impact that many options to use the operating system and programming language. Web service is a solution that can be used to overcome these problems. Moreover SOA is an architectural approach that is specifically designed to solve this problems. System development methods used are Extreme Programming (XP) with steps taken are planning, design, coding and testing. The programming language used is by php and NuSOAP library for the implementation of the web service application.The benefits of using a web service is users don’t need to know the code of the program Keyword : Web service, Extreme Programing (XP), NuSOAP Abstrak Perkembangan yang pesat di bidang teknologi informasi mengakibatkan perangkat keras, sistem operasi dan bahasa pemrograman yang beredar sekarang ini menjadi semakin beraneka ragam. Dampak positifnya yaitu banyak pilihan untuk menggunakan sistem operasi dan bahasa pemrograman. Web service merupakan solusi yang dapat digunakan untuk mengatasi permasalahan tersebut. Selain itu SOA adalah pendekatan arsitektural yang khusus dirancang untuk memecahkan masalah ini. Metode pengembangan system digunakan adalah Extreme Programing (XP) dengan tahapan-tahapan yang dilakukan adalah planning, design, coding dan testing. Bahasa pemrograman yang digunakan yaitu dengan php dan library NuSOAP untuk implementasi web service pada aplikasi. Dengan menggunakan web service pengguna tidak perlu mengetahui kode program. Kata Kunci : Web service, Extreme Programing (XP), NuSOAP I. Pendahuluan Perkembangan yang pesat di bidang teknologi informasi mengakibatkan perangkat keras, sistem operasi dan bahasa pemrograman yang beredar sekarang ini menjadi semakin beraneka ragam. Dampak positifnya yaitu banyak pilihan untuk mengunakan sistem operasi dan bahasa pemrograman. Namun ada dampak negatif yang muncul yaitu masalah kompabilitas. Penggunaan sistem operasi dan bahasa pemrograman yang berbeda-beda untuk setiap kompter akan mempersulit pertukaran data dan informasi di antara komputer-komputer tersebut. Belum lagi jika perangkat lain seperti telepon seluler atau mobile device lainnya juga perlu melakukan pertukaran data dengan komputer-komputer. Web service merupakan solusi yang dapat digunakan untuk mengatasi permasalahan tersebut. Web service akan sangat berguna dalam menjebatani perangkat-perangkat seperti komputer maupun mobile device seperti telepon seluler agar dapat melakukan pertukaran data dan informasi. Walaupun web service menjanjikan solusi untuk mengatasi kelemahan teknologi berbasis web pada umumnya, namun demikian masih banyak yang merasa ragu untuk segera menerapkan web service. Keraguan ini disebabkan oleh faktor jaminan keamanan dari teknologi web service. Pada sistem informasi minimarket terdapat banyak layanan, maka di perlukanlah integrasi dari layanan tersebut, untuk mengintegrasikan layanan yang berbeda secara luas untuk lingkungan yang berbasis web dan menggunakan flatform yang berbeda,
metode yang paling umum pada saat ini dengan menggunakan Service Oriented Architecture (SOA). SOA dapat merespon lebih cepat dengan biaya yang lebih efektif. Batasan pada penelitian ini adalah maka permasalahan akan dibatasi sebagai berikut : 1. Implementasi SOA yang di buat menggunakan web service 2. Hanya membahas layanan penjualan pada minimarket 3. Menggunakan framework web service NuSOAP 4. Tidak mengatur aspek keamanan lebih lanjut Adapun tujuan yang ingin dicapai dari penelitian yang dilakukan adalah sebagai berikut : 1. Membangun sistem informasi minimarket menggunaan konsep SOA 2. Mengimplementasikan web service dalam SOA II. Landasan Teori A. Sistem Informasi Sistem Informasi dapat didefinisikan sebagai kumpulan dari komponen-komponen yang saling berhubungan, mengumpulkan (menemukan/ retrieve), memproses, menyimpan dan mendistribusikan informasi untuk mendukung pembuatan keputusan, mengendalikan organisasi, menganalisis permasalahan, serta dapat menciptakan produk. Dari referensi lain system informasi dapat di artikan sebuah system informasi merupakan kumpulan perangkat keras dan perangkat lunak computer serta manusia yang akan mengolah data menggunakan perangkat-perangkat tersebut (Aradea, 2010).
Selain itu, data juga memegang peranan yang penting. Data yang akan dimasukkan dalam sebuah sistem informasi dapat berupa formulir-formulir, prosedurprosedur dan bentuk data lainnya. B. Service Oriented Architecture Service Oriented Architecture adalah sebuah permodelan perangkat lunak yang dibangun dengan pendekatan service oriented. Service oriented sendiri merupakan sebuah pendekatan yang memiliki visi ideal di mana setiap resource dari perangkat lunak terpisah secara bersih satu sama lain (Erl, 2005). SOA merupakan sebuah solusi yang baik untuk pemodelan sistem di perusahaan atau organisasi besar. Sebab, pemodelan ini memiliki banyak kelebihan, diantaranya (Erl, 2005) : 1. Dapat menyatukan berbagai sistem yang memiliki platform berbeda, seperti J2EE dan .NET. sebab dengan pendekatan ini, pengembang akan memilih untuk membangun sebuah layer di atas sistemsistem tersebut yang dapat saling berkomunikasi dengan pesan yang sudah distandarisasi, misalnya menggunakan teknologi XML. Dalam sudut pandang SOA, kedua sistem itu masing-masingnya akan dianggap sebagai service. 2. Tahan terhadap perubahan. Perusahaan atau organisasi besar seringkali berubah struktur untuk meningkatkan efisiensi dan kinerja. Akibatnya, perangkat lunak juga terkena imbas untuk menyesuaikan diri terhadap proses bisnis yang baru. Pemodelan perangkat lunak dengan SOA akan mengurangi usaha untuk modifikasi perangkat lunak tersebut, karena seluruh logic dari sistem sudah terpartisi secara bersih menjadi sekumpulan services, yang hanya perlu dilakukan yaitu menyusun ulang seluruh service tersebut dan jika perlu menambahkan yang baru. Hal ini jelas akan sangat mengurangi biaya daripada membangun sebuah perangkat lunak yang baru.
bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler (Erl, 2005). Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya. D. Agile Proces Agile menurut Fowler (2004) merupakan istilah yang meliputi banyak proses yang bersama-sama menggunakan serangkaian nilai dan prisip seperti yang didefinisikan oleh Agile Development. Kata Agile berarti bersifat cepat, ringan, bebas bergerak dan waspada. Kata ini digunakan sebagai kata yang menggambarkan konsep model proses yang berbeda dari konsep model-model proses yang sudah ada. Agile Process benar-benar adaptif, juga mereka merupakan proses yang sangat berorientasi pada manusia. Pendekatan – pendekatan proses berasumsi bahwa faktor yang paling penting dalam keberhasilan suatu proyek adalah kualitas manusaia dalam proyek tersebut dan bagaimana mereka bekerja bersama orang lain. Metode Agile cenderung menggunakan iterasi yang pendek dan singkat, acapkali untuk sebulan atau kurang. Karena mereka tidak memberi penekanan pada dokumen, pendekatan Agile tidak menggunakan UML dalam model blueprint. Kebanyakan menggunakan UML dalam model sketsa dan sedikit disarankan untuk menggunakannya sebagai bahasa pemograman. E. Extreme Programming XP merupakan suatu model yang tergolong dalam pendekatan Agile yang diusulkan oleh (Kent Beck’s, 1999). Menurut penjelasan dia, definisi XP adalah sebagai berikut: "Extreme Programming (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software". Model ini cenderung menggunakan pendekatan Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding dan Testing.
Gambar 2.1. Service pada SOA (Erl, 2005) C. Web Services Web services adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web services digunakan sebagai suatu fasilitas yang disediakan oleh suatu website untuk menyediakan layanan (dalam
Gambar 2.2. XP Proses (Pressman, 2010)
1.
Planing Pada saat perencanaan, dimulai dengan membuat semacam “user stories” yang ditempatkan index card. User Story (cerita) merupakan deskripsi fitur-fitur fungsional yang dibutuhkan untuk membangun sistem informasi minimarket. 2. Design Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak dengan mengatur class-class di konsep berorientasi objek dalam membangun sistem informasi minimarket. 3. Coding Penerjemahan design dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh programmer yang akan menterjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam membangun sistem informasi minimarket. 4. Testing Melakukan pengujian kebenaran logik dan fungsional. Disini akan diketahui kekurangan, kelebihan, dan kesalahan yang terdapat pada sistem informasi minimarket. F. PHP Hypertext Preprocessor PHP awalnya dikenal dengan Personal Home Page, bahasa interpreter yang mirip dengan bahasa C dan Perl yang memiliki kesederhanaan dalam perintah. PHP dapat digunakan bersama dengan HTML sehingga memudahkan dalam pembangunan aplikasi web dengan cepat. PHP dapat digunakan untuk meng-update basis data dan menciptakan basis data. Interpreter adalah sebuah program yang digunakan untuk membaca file yang berisi kode program yang akan di jalankan, kemudian interpreter tersebut akan meminta CPU untuk melakukan perintah yang diterimanya. Kini, PHP4 banyak digunaan oleh web depelover untuk membangun aplikasi web karena memang terbukti dapat bekerja dengan baik (Iswanto, 2006). G. SOAP SOAP merupakan suatu format standar dokumen berbentuk XML yang digunakan untuk melakukan proses request dan respone antara web service dengan aplikasi yang memanggilnya. Dokumen SOAP yang digunakan untuk melakukan request disebut dengan SOAP request sedangkan dokumen SOAP yang diperoleh dari Web Service disebut dengan SOAP respone
Method-1 Method-2 ……….. Method-n
SOAP Respone (XML) Aplikasi SOAP Request (XML)
Gambar 2.3. XP Proses Request dan Respone Menggunakan SOAP (Lucky, 2008)
H. NuSOAP NuSOAP adalah sebuah kumpulan class-class PHP yang memungkinkan user untuk mengirim dan menerima pesan SOAP melalui protokol HTTP. NuSOAP didistribusikan oleh NuSphere Corporation sebagai open source toolkit di bawah lisensi GNU LGPL. Salah satu keuntungan dari NuSOAP adalah bahwa NuSOAP bukan merupakan PHP extension, sehingga penggunaannya tidak membutuhkan registrasi khusus ke Sistem Operasi maupun web server. NuSOAP ditulis dalam kode PHP murni sehingga semua developer web dapat mengunakan tool ini tanpa tergantung pada jenis web server yang digunakan. NuSOAP merupakan toolkit web service berbasis komponen. NuSOAP memiliki sebuah class dasar yang menyediakan method seperti serialisasi variabel dan pemaketan SOAP-Envelope. Interaksi web service dilakukan dengan class client yang disebut dengan class “soapclient” dan class server yang disebut dengan class “soap_server”. Class-class ini mengizinkan user untuk melakukan proses pengiriman dan penerimaan pesanpesan SOAP dengan bantuan beberapa class-class pendukung lainnya untuk melengkapi proses tersebut. Operasi-operasi pengiriman pesan SOAP dijalankan dengan melibatkan paramater nama operasi yang diinginkan melalui method call(). Jika web service yang dituju menyediakan sebuah file WSDL, maka class “soapclient” akan mengacu langsung pada URL file WSDL tersebut dan menggunakan class “wsdl” untuk mem-parsing file WSDL dan mengekstrak seluruh datanya. Class “wsdl” menyediakan methodmethod untuk mengekstrak data per-operasi dan perbinding. I. Unified Modeling Language (UML) Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain system perangkat lunak, khususnya system yang dibangun menggunakan pemrograman berorientasi objek (fowler, 2005). UML menyediakan 9 jenis diagram : 1. Class Diagrams 2. Objek Diagrams 3. Use-case Diagrams 4. Sequence Diagrams 5. Colaborations Diagrams 6. State Chart Diagrams 7. Activity Diagrams 8. Componen Diagrams 9. Deployment Diagrams III. Metodologi Metodologi yang digunakan dalam pengembangan sistem ini dengan menggunakan Agile Proses dengan pendekatan Extreme Programming (XP). Tahapan tahapan yang di lakukan yaitu Planning, Design, Coding, dan Testing. Tahap planning mendeskripsikan apa saja yang dibutuhkan untuk membangun sistem
informasi minimarket. Tahap design akan menerjemahkan kebutuhan pada sebuah perancangan perangkat lunak dengan mengatur class-class pada konsep berorientasi objek. Tahap coding menerjemahkan design kedalam bahasa yang dapat di kenali oleh komputer. Tahap testing dilakukan dilakukan kebenaran logic dan fungsional pada aplikasi. 1. Planing 1.1. Analisis Kebutuhan Sistem a. Kebutuhan Masukan
Masukan yang dibutuhkan dalam pembangunan system informasi untuk minimarket ini yaitu data barang, data pengguna dan data pegawai.
2. Data ditambah, dirubah atau dihapus. 2.2. Use Case Pengolahan Data Umum
<<extend>> Pengolahan Data Pengguna <<extend>> <<extend>> <<extend>> LOGIN ADMIN
ADMIN
Pengolahan Data Pegawai
<<extend>> Pengolahan Data Suplier <<extend>> Pengolahan Data Barang <<extend>> <<extend>> <<extend>>
Pengolahan Pendapatan Lain
b. Analisis Kebutuhan Keluaran
Kebutuhan keluaran dari sistem informasi minimarket ini yaitu mulai dari laporan penjualan, laporan pembelian, laporan pendapatan lain-lain dan laporan barang yang rusak. 2. Design 2.1. Skenario Tabel 1 ID: Use Case Name: Actor: Goal : Description :
Actor 1. Admin memasukan username dan password
<<extend>>
Transaksi Pembelian
<<extend>> Stok Barang
Pendapatan Lain <<extend>> <<extend>> Edit Modal Awal
Edit Pendapatan
1.1 Login Admin Admin login kedalam sistem Admin login kedalam sistem dan mendapatkan hak akses penuh terhadap sistem Sistem
2.Sistem melakukan verifikasi data admin. Jika valid maka menu utama akan ditampilkan. Jika tidak valid maka akan tampil peringatan.
Laporan Harian Kasir
Laporan Pembelian
Laporan Laba Penjualan
Laporan Pendapatan Lain-lain
Laporan Barang Terlaris
login kasir
Kasir
Transaksi
<<extend>>
Gambar 3.1. Use Case 2.3. Activity Diagrams
Tabel 2 ID: Use Case Name: Actor: Goal : Description :
Actor 1. Admin bisa menambah, merubah dan menghapus data
1.2 Pengolahan Data Umum Admin Admin mengelola pengolahan data umum Admin mengelola pengolahan data umum pada system Sistem
admin
login admin
sistem
masukan username dan pasword
data user name dan pasword
verifikasi username dan pasword
informasi validasi data
Gambar 3.2. Activity Diagrams
3. Coding
2.4. Sequence Diagrams login admin
: ADMIN
memasukan username dan pasword
: sistem
data username dan password perifikasi username dan password
informasi validasi data
Pengkodean merupakan tahap yang penting dalam pembuatan aplikasi. Pada tahap ini dilakukan dengan mengimplementasikan hasil perancangan ke dalam bahasa pemrograman. Adapun bahasa pemrograman yang di pakai yaitu php dan library nuSOAP untuk implementasi web service pada aplikasi 4. Testing
Gambar 3.4. Sequnce Diagrams Login Admin
pengolahan data : sistem barag tambah data barang data barang
: ADMIN
informasi penambahan data barang ubah data barang data barang informasi perubahan data barang hapus data barang data barang informasi penghapusan data barang
Gambar 3.4. Sequnce Diagrams Pengolahan Data Barang
Setelah tahap pengkodean dilakukan pengujian terhadap sistem. Pengujian dilakukan dengan menggunakan metode Black-Box. Pengujian ini dilakukan untuk antar muka perangkat lunak dengan memperlihatkan bahwa fungsi-fungsi bekerja dengan baik pada masukan yang diterima dan keluaran. Pengujian dilakukan agar mengetahui apakah perangkat lunak berjalan sesuai dengan yang diinginkan atau tidak. Pengujian dilakukan meliputi input dan output dari perangkat lunak IV. Hasil dan Pembahasa 1. Implementasi Perangkat Lunak
Sistem informasi mini market yang di bangun menggunakan bahasa pemrograman php yang dirancang untuk mempermudah pengolahan data di minimarket. Sistem informasi ini di jalankan oleh kasir dan administrator melalui web browser. Berikut implementasi perangkat lunak :
2.5. Class Diagrams a. Antarmuka Menu Login
Gambar 4.1. Menu Login b. Antarmuka Menu Utama
Gambar 3.3. Class Diagrams
Gambar 4.2. Menu Utama
c. Antarmuka Menu Kasir
Pendapatan Lain ………………………………………………………….. …………………………………………………………..