BAB II

35
BAB II KAJIAN PUSTAKA A. Kajian Terdahulu Aplikasi web micropayment pada alamat www.gudangvoucher.com [14], merupakan salah satu kajian pada penelitian ini. Gudangvoucher.com merupakan aplikasi micropayment berbasis web yang mempunyai berbagai macam merchant. Merchant pada gudangvoucher.com adalah para vendor game online seperti tantra, lito, cabal, dan lain-lain. Aplikasi web www.gudangvoucher.com juga melayani pembayaran lain, selain voucher game online. Misalnya, pembayaran rekening speedy, kartu telepon, tv kabel, dan lain-lain. Merchant yang tergabung pada website gudangvoucher.com terpusat dalam satu aplikasi, sehingga semua transaksi dilakukan pada website gudangvoucher.com. Pengisian saldo setiap 11

description

Sistem Informasi

Transcript of BAB II

27

BAB IIKAJIAN PUSTAKAA. Kajian TerdahuluAplikasi web micropayment pada alamat www.gudangvoucher.com [14], merupakan salah satu kajian pada penelitian ini. Gudangvoucher.com merupakan aplikasi micropayment berbasis web yang mempunyai berbagai macam merchant. Merchant pada gudangvoucher.com adalah para vendor game online seperti tantra, lito, cabal, dan lain-lain.Aplikasi web www.gudangvoucher.com juga melayani pembayaran lain, selain voucher game online. Misalnya, pembayaran rekening speedy, kartu telepon, tv kabel, dan lain-lain. Merchant yang tergabung pada website gudangvoucher.com terpusat dalam satu aplikasi, sehingga semua transaksi dilakukan pada website gudangvoucher.com. Pengisian saldo setiap pengguna aplikasi micropayment diisi dengan pengiriman melalui bank yang telah ditunjuk. Kajian terdahulu sebagai referensi Tugas Akhir ini mengacu pada penelitian yang dilakukan oleh Deny Prasetyo [1] dengan judul Perancangan dan Implementasi Sekuriti Sistem E-Money Pada Infrastruktur SMS Over GPRS yang membahas implementasi sekuriti pada sistem e-money dengan menggunakan infrasturktur SMS over GPRS.Penelitian ini juga mengacu pada laporan seminar internasional yang dilaksanakan di Bank Indonesia pada bulan Mei 2006 [15] dengan judul Towards a Less Cash Society in Indonesia yang membahas tentang implementasi Non-Cash Payments Instruments Development. Laporan seminar tersebut menjelaskan instrumen yang harus dipersiapkan dalam mengembangkan pembayaran non-tunai.Penelitian ini akan memodifikasi sistem dari aplikasi micropayment www.gudangvoucher.com. Modifikasi sistem berupa pemisahan antara aplikasi merchant dan provider micropayment gateway yang semula tergabung menjadi satu. Transaksi pembayaran dapat dilakukan pada setiap aplikasi merchant. Aplikasi merchant merupakan aplikasi yang terpisah dari sistem micropayment gateway. Sistem yang akan dibuat akan menambahkan fasilitas Application Programming Interface (API) sehingga setiap merchant akan memiliki aplikasi tersendiri. Aplikasi yang dimiliki oleh merchant dapat digunakan untuk mengakses akun virtual bank yang terdapat pada sistem micropayment. B. MicropaymentSebuah faktor utama dalam evolusi web adalah electronic commerce, dengan kemampuan untuk membeli, menjual, dan mengiklankan barang dan jasa kepada pelanggan. Setelah electronic commerce, sekarang mulai muncul sistem micropayment. Micropayment merupakan transaksi keuangan yang melibatkan jumlah uang yang kecil.Micropayment pada awalnya direncanakan sebagai cara untuk memungkinkan penjualan konten online yang melibatkan jumlah uang yang kecil[13]. Transaksi ini memungkinkan orang untuk menjual konten di internet untuk jumlah uang yang kecil dan akan menjadi sebuah alternatif untuk pendapatan dari periklanan.Saat ini sistem micropayment mulai digunakan sebagai sistem pembayaran atas barang dan jasa melalui internet. Sistem bisnis yang digunakan adalah sebagai penyedia layanan pembayaran. Terdapat beberapa merchant yang bergabung dengan penyedia layanan micropayment agar bisa mengakses pembayaran melalui sistem yang telah disediakan.Suatu penyelenggara sistem micropayment atau sistem elektronik harus memenuhi beberapa persyaratan minimimum sesuai dengan undang-undang informasi dan transaksi elektronik pasal 16 ayat 1, yaitu [7]: 1. Dapat menampilkan kembali informasi elektronik dan dokumen elektronik secara utuh sesuai dengan masa retensi yang ditetapkan dengan perundang-undangan.2. Dapat melindungi ketersediaan, keutuhan, keotentikan, kerahasiaan, dan keteraksesan informasi elektronik dalam penyelenggara sistem elektronik tersebut. 3. Dapat beroperasi sesuai dengan prosedur atau petunjuk dalam penyelenggara sistem elektronik tersebut.4. Dilengkapi dengan prosedur atau petunjuk yang diumumkan dengan bahasa, informasi, atau simbol yang dapat dipahami oleh pihak yang bersangkutan dengan penyelenggara sistem elektronik tersebut. 5. Memiliki mekanisme yang berkelanjutan untuk menjaga kebaruan, kejelasan, dan kebertanggungjawaban prosedur atau petunjuk. C. Web ServiceWeb Service merupakan bagian dari logika bisnis yang terletak di suatu tempat pada jaringan internet[4]. Web service biasanya dapat diakses melalui protokol internet standar, seperti HTTP atau SMTP. Web service merupakan salah satu bentuk implementasi dari arsitektur model aplikasi multi tier yang berorientasi pada layanan. Biasanya web service tidak memiliki user interface, karena termasuk dalam layer business-service. Artinya pada web service hanya tersedia fungsi-fungsi yang nantinya dapat digunakan oleh aplikasi lainnya, atau lebih sering disebut dengan Application Programming Interface (API).Web service dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Selain itu, web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu aplikasi untuk menyediakan layanan kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan yang disediakan oleh suatu sistem yang menyediakan web service. Data yang disimpan untuk bertukar informasi pada web service biasanya berformat XML (Extensible Markup Language). Format data XML digunakan agar data dapat diakses oleh sistem lain, meskipun berbeda platform, sistem operasi, atau bahasa pemrogaman. Selain format data XML, sekarang mulai banyak dikembangkan web service yang menggunakan JSON (Java Script Object Notation). Format data JSON juga dapat diakses oleh semua platform, sistem operasi, dan bahasa pemrograman.Web service memiliki tiga entitas pada arsitekturnya, yaitu : 1. Service Requester (peminta layanan).Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.2. Service Provider (penyedia layanan).Berfungsi untuk menyediakan layanan dan mengolah registry agar layanan-layanan tersebut dapat tersedia. 3. Service Registry (daftar layanan). Berfungsi sebagai lokasi sentral yang mendeskripsikan semua layanan yang telah di daftarkan.

Gambar 3. Arsitektur Web ServiceKomunikasi diantara web service dengan aplikasi yang mengakses layanan dapat menggunakan beberapa protokol komunikasi. Protokol tersebut antara lain HTTP, XML, SOAP (Simple Object Access Protokol, UDDI (Universal Description Discovery and Integration), WSDL (Web Services Description Language), dan REST (Representational State Transfer).REST merupakan protokol yang paling baru dikembangkan sebagai komunikasi antara web service dengan aplikasi yang mengakses layanan. Pada penelitian ini, penulis menggunakan REST sebagai protokol komunikasi dengan menggunakan format data XML. D. REST (Representational State Transfer)REST pertama kali diperkenalkan melalui desertasi Roy Fieldings, PhD pada tahun 2000[5]. REST merupakan singkatan dari Representational State Transfer. REST merupakan batasan ketika diterapkan pada desain sebuah sistem akan menciptakan gaya arsitektur perangkat lunak tersebut. REST dalam desertasi Fielding menerangkan bahwa REST merupakan suatu sistem yang memiliki peran yang spesifik untuk data, komponen, hyperlinks, protokol komunikasi, dan konsumsi data.REST memiliki karakteristik[6] :1. Addresable ResourceInformasi dan data pada protokol REST merupakan suatu sumber daya. Setiap sumber daya diakses melalui URI (Uniform Resource Identifier).

2. StatelessSetiap request dari client ke server harus mengandung semua informasi yang diperlukan server untuk memahami maksud dari request, dan request tidak dapat memanfaatkan server untuk mengingat / menyimpan konteks apapun.3. Representation OrientedAplikasi client berinteraksi dengan layanan menggunakan representasi dari layanan tersebut. Sebuah resource yang direferensikan pada salah satu URI (Uniform Resource Identifier) dapat memiliki format yang berbeda dalam melakukan komunikasi. Platform yang berbeda memerlukan berbagai format. Misalnya, browser memerlukan HTML, JavaScript memerlukan JSON, dan aplikasi yang dibuat dengan bahasa pemrograman java mungkin memerlukan XML.4. Hypermedia As The Engine Of Application State (HATEOAS)HATEOAS membolehkan menentukan jenis format data pada aplikasi REST.REST hanya menggunakan HTTP methods untuk setiap layanan yang diberikan. Setiap methods memiliki tujuan dan makna yang yang berbeda. Methods HTTP yang digunakan pada protokol REST antara lain : 1. GETGET merupakan operasi read-only. Method GET digunakan untuk melakukan query kepada server untuk informasi yang spesifik. Data yang ada pada server tidak akan berubah ketika mengaplikasikan operasi atau method ini. Pada operasi database CRUD (Create, Retrieve, Update, Delete) method GET termasuk pada kategori Retrieve.2. PUTPUT method digunakan untuk operasi insert atau update pada database. Ketika menggunakan method PUT identitas dari resource sudah diketahui terlebih dahulu mengenai operasi yang akan dilakukan. Pada saat mengirim pesan dengan method PUT lebih dari satu kali, tidak akan menimbulkan efek pada layanan. Analoginya sama ketika mengedit dokumen pada Microsoft Word. Tidak peduli beberapa kali file tersebut disimpan, file akan tetap disimpan pada dokumen yang sama.3. DELETEDELETE merupakan methods yang digunakan untuk melakukan operasi delete pada database.4. POSTPOST merupakan methods yang digunakan untuk melakukan operasi insert pada database. E. Application ServerApplication server merupakan sebuah perangkat lunak yang didedikasikan untuk melakukan efisiensi pelaksanaan prosedur untuk mendukung pembangunan aplikasi[12]. Istilah application server awalnya digunakan ketika membicarakan tentang sistem client server yang terdahulu, server yang menjalankan layanan SQL server, dan middleware server yang membedakan database dengan file server. Application server bertugas sebagai seperangkat komponen yang dapat diakses oleh para pengembang perangkat lunak melalui API yang didefinisikan oleh platform itu sendiri. Pada aplikasi web, komponen ini biasanya dilakukan di mesin yang sama pada web server yang digunakan. Tugas utama komponen tersebut adalah untuk mendukung pembangunan halaman dinamis. Saat ini application server tidak hanya digunakan untuk menampilkan sebuah halaman web. Application server juga memberikan fasilitas clustering, fail-over, dan load balancing, sehingga para pengembang dapat lebih memfokuskan pada pelaksanaan business logic.Banyak terdapat application server yang digunakan sekarang. Misalnya Glassfish Application Server, JBoss, WebLogic, Jetty, dan WebSphere. Selain application server yang telah disebutkan di atas, masih banyak lagi jenis application server yang ada, baik versi open source atau commercial. Application server memiliki berbagai keunggulan, yaitu :1. Integritas data.Dengan memusatkan business logic pada beberapa server, transaksi update dan upgrade ke aplikasi yang dilakukan oleh semua user dapat terjamin integritas datanya.2. Konfigurasi terpusatPerubahan konfigurasi aplikasi, misalnya pemindahan database server, pengaturan sistem, dapat dilakukan secara terpusat.3. KeamananSebuah titik sentral penyedia layanan adalah pengaturan akses data dan bagian dari aplikasi itu sendiri dianggap sebagai manfaat keamanan dan tanggung jawab untuk autentikasi. 4. Kinerja yang tinggi Application server berfungsi untuk membatasi lalu lintas jaringan, sehingga dapat meningkatkan kinerja aplikasi.5. Total Cost of Ownership (TCO)Penggunaan application server dapat menghemat biaya dalam mengembangkan sebuah aplikasi.6. Dukungan transaksiSebuah transaksi merupakan unit kegiatan dimana banyak perubahan kepada sumber data yang sama atau sumber data terdistribusi dapat dibuat sebagai sebuah unit yang yang terpisahkan. End user dapat memperoleh dari pengurangan waktu dalam tahap pengembangan dan pengurangan biaya.

F. Web Server Web server merupakan server di internet yang menyediakan layanan situs yang dapat diakses melalui browser, Misalnya Internet Explorer, Mozilla Firefox, Opera, Safari, dan lain-lain. Salah satu web server yang banyak digunakan adalah apache. Web server berfungsi untuk menerima permintaan dari protokol HTTP dan HTTPS. Permintaan itu kemudian memberikan hasil proses berupa data yang ditampilkan ke browser. Data ini memiliki format yang standar, yang disebut dengan SGML (Standar General Markup Language). Format pada world wide adalah SGML. Tetapi para pengguna internet lebih banyak menggunakan HTML (Hypertext Markup Language) karena penggunaanya lebih sederhana dan mudah dipelajari. Proses yang dimulai dari permintaan client, diterima web server, diproses, dan dikembalikan lagi hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besar web server hanya memproses semua inputan yand diperoleh dari web client nya.G. PHP1. Sekilas PHPPHP atau Hypertext Preprocessor dikenal sebagai bahasa scripting yang menyatu dengan tag-tag HTML yang di eksekusi di server untuk membuat suatu halaman web yang dinamis. PHP termasuk jenis bahasa pemrograman yang bersifat server side scripting, maksudnya perintah-perintah akan dieksekusi sepenuhnya dalam format HTML. Dengan demikian seorang pengguna internet tidak dapat melihat kode program yang ditulis dalam PHP, sehingga dari segi keamanan lebih terjamin.Perintah dalam PHP dibuka dengan tanda . setiap akhir baris diakhiri dengan tanda ; tag penutup ?> juga berfungsi sebagai titik koma. Penulisan program PHP menggunakan pembedaan antara huruf besar dan huruf kecil untuk variabel atau disebut juga dengan case sensitive. Penulisan variabel ditandai dengan $.2. Script PHPAda dua cara yang sering digunakan dalam penulisan script PHP, yaitu:a. Embeded ScriptPenulisan menggunakan metode ini dilakukan dengan cara meletakkan script PHP diantara tag-tag HTML. Contoh :

Embaded script

.

Listing 1. PHP Embeded Scriptb. Non Embeded ScriptNon Embeded Script adalah pembuatan program murni PHP, dimana tag-tag HTML diletakkan didalamnya. Contoh :

Listing 2. PHP Non Embeded Script3. Tag PHPDalam penulisan tag PHP, dapat dilakukan dengan banyak cara sehingga akan memudahkan pemakainya. Tag-tag yang dapat digunakan adalah dalam bentuk style XML, ASP, dan Java Script. Adapun tag standar yang biasanya digunakan mirip dengan penulisan program XML, yang diawali dengan . Contoh penulisan program dengan style standar sebagai berikut :

Style PHP

Listing 3. Tag PHP4. Keunggulan PHPa. Cross platform, PHP dapat dipakai pada semua web server yang ada serta dijalankan pada berbagai system operasi yang ada.b. PHP mendukung banyak paket database seperti postgreSQL, MySQL, Oracle dan sebagainya.c. Konektifitas basis data dengan web yang handal sehingga suatu sistem basis data dapat diakses melalui web.H. JAVAJava[8] adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystem. Java menyediakan sejumlah perluasan yang mendukung pengembangan aplikasi GUI (Graphical User Interface), dan juga pengembangan aplikasi Client-Server terhadap jaringan lokal (LAN) atau jaringan luas (WAN). Bahasa ini hampir merupakan kumpulan bentuk dan sifat-sifat yang telah dikenal pada bahasa pemrograman seperti C, C++, SmallTalk, dan Common Lisp. Secara arsitektural Java bersifat netral, Java memiliki interpreter dan lingkungan runtime. Ini memungkinkan pemrogram menuliskan kode yang dapat dieksekusi pada berbagai platform perangkat keras dan sistem operasi.

Java dikenal sebagai bahasa pemrograman tingkat tinggi dengan fitur-fiturnya yaitu:1. SimpleJava disusun sebagai sebuah sistem yang dapat diprogram dan dimengerti dengan mudah mempelajarinya dan sederhana.2. Object OrientedJava dirancang berorientasi objek yang merupakan suatu teknik untuk memusatkan rancangan pada data (objek) dan interface.3. Robust and securePenggunaan Garbage Collector akan mengurangi waktu yang diperlukan oleh programmer untuk menemukan kegagalan manajemen memori dalam program atau buffer overflow, sehingga Java menjadi handal dan aman.4. Architecture Neutral and portableJava compiler digunakan untuk mengkompilasi kode program java yang dirancang untuk menghasilkan kode yang netral terhadap semua arsitektur perangkat keras yang disebut sebagai Java Bytecode. Java bytecode dianggap sebagai kode-kode mesin dari JVM (Java Virtual Machine), yang kemudian JVM yang akan menginterpretasikan kode tersebut ke kode mesin dari arsitektur yang bersangkutan sehingga Java dapat dijalankan disemua platform seperti Windows, Linux, Netware, Unix, dan MacintoshJava sangat banyak memiliki pustaka yang secara bebas dapat digunakan oleh pengembang software. Pustaka yang digunakan pada penelitian ini adalah JAXB dan Jersey. Pustaka JAXB digunakan untuk memproduksi dan melakukan parsing untuk format data XML. Jersey merupakan library yang digunakan untuk melakukan komunikasi dengan protokol REST web service.I. UML (Unified Modelling Language)UML (Unified Modelling Language) adalah salah satu alat bantu yang sering digunakan dalam pengembangan sistem yang berorientasi obyek. UML menyediakan bahasa permodelan visual yang memungkinkan pengembang sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti, serta dilengkapi dengan mekanisme yang efektif untuk berbagi dan mengkomunikasikan rancangan mereka dengan yang lain. UML merupakan kesatuan bahasa permodelan yang dikembangkan oleh Booch, Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE). UML terdiri dari serangkain diagram sehingga memungkinkan sistem analis untuk membuat cetak biru yang komprehensif kepada klien, programmer, dan setiap orang yang terlibat dalam proses pengembangan. Diagram-diagram UML[9] :1. Class DiagramsClass Diagrams memperlihatkan interaksi antar class dan sistem. Class merupakan suatu cetak biru sebuah obyek. Selain itu, Class Diagrams juga memperlihatkan gambaran statik dari setiap class dan hubungannya.

Gambar 4. Class Diagrams2. Object Diagrams Object Diagrams adalah gambaran obyek-obyek secara ringkas di sebuah sistem pada suatu waktu. Object Diagrams juga disebut sebagai instance diagram karena menunjukkan instance dari suatu class. Menunjukkan hubungan yang ada diantara obyek-obyek yang kompleks, merupakan salah satu kegunaan Object Diagrams.

Gambar 5. Objects Diagrams3. Use Case DiagramUse case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita tentang cara pemakaian sebuah sistem yang dipakai. Use case terdiri dari sekumpulan skenario yang dilakukan oleh seorang actor (orang, perangkat keras, urutan waktu atau sistem yang lain). Use case diagram memfasilitasi komunikasi antara analis dan pengguna serta antara analis dan klien. Use case yang sudah ada dapat digunakan kembali, untuk itu bisa dipakai untuk menunjukkan use case adalah bagian dari use case yang lain, sedangkan digunakan untuk membuat use case baru dengan menambahkan langkah-langkah pada use case yang sudah ada.

Gambar 6. Diagram Use Case4. Activity DiagramActivity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung paralel sedangkan flowchart tidak bisa.

Gambar 7. Activity Diagram5. Sequence Diagram Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah skenario. Diagram ini menunjukkan sejumlah contoh obyek dan pesan yang diletakkan diantara obyek-obyek dalam use case. Komponen utama sequence diagram terdiri atas obyek yang dituliskan dengan kotak segiempat bernama. Message (pesan) diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress vertikal.

Gambar 8. Sequence Diagrams6. Collaboration Diagram Collaboration Diagram adalah perluasan dari obyek diagram. Collaboration diagram menunjukkan message (pesan) dari obyek yang dikirimkan satu sama lain. Collaboration diagram menampikan informasi yang sama dengan sequence diagram, tetapi interaksi antara obyek dan actor tidak ditampilkan berdasarkan urutan waktu.

Gambar 9. Collaboration Diagrams7. Statechart Diagram Menyediakan cara memodelkan berbagai state keberadaan suatu obyek. Digunakan untuk memodelkan perilaku sebuah sistem sehingga menjadi lebih dinamis.

Gambar 10. Statechart Diagram8. Component DiagramComponent diagram memperlihatkan organisasi dan ketergantungan antara sekumpulan komponen. Sebuah implementation view dihubungkan dengan class diagram dimana komponen tersebut memetakan satu atau lebih class, interface, atau collaboration.

Gambar 11. Component Diagram9. Deployment Diagram Deployment diagram memperlihatkan konfigurasi run-time pada node pemrosesan dan komponen.Static component dihubungkan dengan component diagram, sebuah node menyertakan satu atau lebih komponen.

Gambar 12. Deployment Diagram

11