BAB II LANDASAN TEORI
2.1 Konsep Dasar Sistem Sistem payment switching merupakan salah satu metode pembayaran yang di gunakan banyak instansi perbankan di dunia di tambah lagi dengan standarisasi untuk kebutuhan transaksi elektronik dengan menggunakan ISO 8583.
Metode Payment Switching terdiri dari berbagai instrumen dalam pengoperasiannya yaitu dengan cara otorisasi yang menyediakan otorisasi real time yang cocok di gunakan untuk server merchant. menggunakan sebuah server yang menciptakan representasi digital dari instrument keuangan konvensional dan meneruskan permintaan otorisasi representasi digital dari instrumen ini ke pada semua yang berhubungan dengan jaringan keuangan konvensional dan institusi.
Payment switching menyediakan dukungan transaksi berdasarkan waktu dan harga berdasarkan waktu mengimplementasikan otorisasi berdasarkan pergantian dan agregasi penyelesaian pembayaran mikro dan termasuk sistem untuk dukungan pelanggan luas yang memberikan kepuasan tingkat tinggi kepada pelanggan dalam perdagangan elektronik. Kontrol terhadap penipuan dalam transaksi dapat di cegah dengan berdasarkan model sebuah transaksi yang spesifik dan beberapa teknologi otentikasi berlaku untuk setiap transaksi.
Interkoneksi server pada payment switching terdiri dari berbagai sudut pandang yaitu pada bagian bank, bagian aplikasi payment switching dan database yang terintegrasi dengan semua data baik yang di kirim maupun yang di terima pada lalu lintas payment switching pada dasarnya metode payment switching mengedepannya transaksi real time yang teruji dengan tingkat keamanan data yang sangat terjamin.
Pada gambar di bawah ini terlihat bagaimana alur sebuah siklus payment switching bekerja, yaitu di mulai dari instrument alat pembayaran bisa berupa 7
8
ATM (Anjungan Tunai Mandiri), Phone Banking, Internet Banking di teruskan pada bank penjamin yang terintegrasi dengan ketiga alat pembayaran di atas lalu, Bank tersebut mengkoleksi data yang di kirim dan mencocokan dengan database Bank itu sendiri.
Pada Bank tersebut jika ada data yang di update maka di teruskan untuk di sampaikan pada aplikasi payment switching di enkripsi pada jalur yang telah di ciptakan dan masuk kepada payment gateway pada suatu institusi yang sudah terintegrasi dengan aplikasi payment switching pada fase inilah database mengupdate data berdasarkan lalu lintas data yang masuk melalui payment gateway dari aplikasi payment switching.
Aplikasi payment switching ini dapat berintegrasi dengan berbagai database dari beberapa institusi dengan pola satu ke banyak database, metode payment switching sangat berguna karena menganut pola satu atap, jadi hanya perlu satu aplikasi payment switching dan semua database bisa di akomodir oleh aplikasi ini
Gambar 2.0 - Contoh gambaran alur kerja Payment Switching
9
Dalam hal transaksi elektronik ada standarisasi mengenai protokol ini yaitu payment gateway yang sudah berstandarkan ISO 8583.
Sebuah transaksi berbasis kartu atau chip biasanya di gunakan pada perangkat transaksi seperti pusat-perbelanjaan atau ATM, melalui serangkaian jaringan, lalu di teruskan kepada penerbit kartu dan sistem otorisasi terhadap account pemegang kartu tersebut. Data transaksi berisi informasi yang berasal dari kartu (misalnya, nomor rekening), transaksi (misalnya, uang pembayaran), semua data tersebut dengan data-data yang lainnya dapat dihasilkan secara dinamis atau ditambahkan oleh sistem. penerbit kartu atau bank yang bersangkutan akan mengijinkan atau menolak transaksi dengan mengirimkan pesan respon yang harus diserahkan kembali ke terminal ATM dalam waktu yang cepat.
ISO 8583 mendefinisikan sebuah format pesan dan aliran komunikasi sehingga sistem yang berbeda dapat bertukar data transaksi. Sebagian besar transaksi dilakukan dengan menggunakan ATM (Anjungan Tunai Mandiri) ISO 8583 pada beberapa titik dalam rantai komunikasi, seperti melakukan transaksi yang dilakukan ketika seorang pelanggan menggunakan kartu untuk melakukan pembayaran di toko. Baik itu kartu kredit maupun kartu debit jaringan komunikasi dasar otorisasi mereka pada standar ISO 8583, seperti yang dilakukan lembagalembaga lainnya.
Pemegang kartu dapat bertansaksi dengan melakukan pembelian, penarikan, deposito, restitusi, pengembalikan, informasi saldo, pembayaran dan transfer antar rekening. ISO 8583 juga mendefinisikan pesan sistem-untuk-sistem untuk pertukaran kunci yang aman, rekonsiliasi total, dan tujuan administratif lainnya.
Meskipun ISO 8583 mendefinisikan standar umum, tidak biasanya digunakan secara langsung oleh sistem atau jaringan. Sebaliknya, masing-masing jaringan atau institusi menyesuaikan standar untuk digunakan sendiri dengan bidang atau industri yang di jalankan dan kebijakan yang berjalan.
10
2.2 Klasifikasi Sistem
Berikut ini adalah salah satu contoh modul aplikasi payment switching yang di pisahkan pada beberapa bagian :
1. Protocol Dictionary, Protocol Profiling 2. Network Communication 3. Database Connection 4. Transaction Executor 5. Watchdog Agent 6. Web Based Operation & Maintenance Tools
Financial Networks Payment Processing
Authentication Principal Authetication Settlement
Internet
Stable Database
Gambar 2.1 - Contoh gambaran klasifikasi sistem Payment Switching 2.3 Pengertian Payment Switching
Sebuah pembayaran secara elektronik yang di tangani oleh sebuah server yang menciptakan representasi digital konvensional pada instrumen keuangan dan
11
meneruskan pesan yang di dapatkan tersebut untuk pembayaran atas instrumen yang telah di definisikan dalam format pesan ke dalam jaringan yang berhubungan institusi keuangan konvensional. 2.4 Pengertian ISO 8583 ISO 8583 ini adalah sebuah standar internasional untuk transaksi finansial. Dan standar atau protokol ini sudah sejak lama digunakan oleh perbankan untuk menjembatani komunikasi, walaupun tidak menutup kemungkinan pihak selain bank menggunakan protokol ISO 8583, dengan adanya sebuah standar komunikasi seperti ini maka tidak menutup kemungkinan transaksi dapat tetap dilakukan antar pihak yang terkait walaupun menggunakan sistem atau bahasa pemrograman yang berbeda.
Penggunaan ISO 8583 ini dapat kita lihat secara nyata yaitu pada mesin-mesin EDC seperti dibawah ini :
Gambar 2.2 - Contoh mesin EDC
Selain pada mesin EDC, penggunaan ISO 8583 ini juga banyak diterapkan pada komunikasi antar bank ataupun antara Switcher dengan Biller.
12 2.5 Cara Kerja ISO 8583 Mekanisme ISO 8583 adalah dengan mengirimkan sekumpulan bit dan jumlah bit ini di tentukan oleh versi ISO 8583 dalam implementasinya dengan komunikasi bit yang telah di definisikan di server. 2.6 Versi ISO 8583 Posisi pertama atau digit pertama dari MTI (Message Type Indicator) ini digunakan sebagai penanda versi ISO 8583 yang digunakan. Sedangkan versi yang terdapat dalam ISO 8583 adalah sebagai berikut :
Gambar 2.3 - Versi ISO 8583 2.7 Tipe Pesan ISO 8583 ini sebenarnya dibagi menjadi 3 buah komponen yaitu :
1. Message Header, ini dapat digunakan sebagai penanda awal dari sebuah message.
2. Application Data, ini adalah inti dari ISO 8583. Semua format dan definisi message terdapat pada bagian ini. 3. Message Trailer, ini dapat digunakan sebagai penanda akhir dari sebuah message.
dan jika digambarkan, struktur diatas akan terlihat seperti gambar dibawah ini untuk sebuah message lengkap ISO 8583 :
13
Gambar 2.4 - Struktur Data ISO 8583
2.8 Message Header Dalam beberapa kasus, kadang-kadang dalam setiap message kita hanya menjumpai penggunaan Message Header atau Message Trailer saja. Message Header dan Message Trailer hanya digunakan sebagai penanda saja, Penggunaan Message Header dan Message Trailer ini sepenuhnya tergantung pada setiap pihak yang berkepentingan dan harusnya informasi ini tertulis jelas pada dokumen spesifikasi teknis yang telah dimusyawarahkan dan disepakati bersama oleh kedua belah pihak atau lebih 2.9 Application Data Application Data merupakan inti dari pesan ISO 8583 untuk berkomunikasi antar client dan server dan hal tersebut di bagi ke dalam 3 bagian, yaitu :
1. MTI (Message Type Indicator), adalah 4 digit karakter yang digunakan sebagai penanda awal dari message utama ISO 8583.
2. Bitmap, adalah 8 bytes data binari atau 16 digit nilai hexadecimal yang digunakan sebagai penanda bit-bit atau data element mana saja yang aktif. (16 digit disini merupakan panjang standar dari Primary Bitmap)
3. Data Element (DE), adalah bit-bit yang berisi informasi yang sebenarnya pada transaksi itu sendiri
14 2.10 Message Type Indicator (MTI) MTI (Message Type Indicator) ini terdiri dari 4 digit karakter yang digunakan sebagai awal message utama ISO 8583 itu sendiri. MTI (Message Type Indicator) dibagi menjadi seperti gambar dibawah ini :
Gambar 2.5 - Struktur Message Type Indicator (MTI)
Sebagai contoh sederhana, MTI 0110 bisa dijelaskan seperti dibawah ini :
Gambar 2.6 - Contoh Message Type Indicator (MTI)
2.10.1 Message Class Sedangkan pada posisi kedua atau digit kedua dari MTI (Message Type Indicator) ini digunakan untuk tujuan apa pesan itu secara keseluruhan. Dan kode atau nilai yang standart digunakan untuk mengisi digit kedua ini dapat dilihat pada gambar dibawah ini :
15
Gambar 2.7 - Contoh Message Class pada MTI
2.10.2 Message Function Posisi ketiga atau digit ketiga dari MTI (Message Type Indicator) ini digunakan untuk mendifinisikan fungsi dari sebuah message apakah itu request, response ataupun advice. Dan kode atau nilai yang standart digunakan untuk mengisi digit ketiga ini dapat dilihat pada gambar dibawah ini :
Gambar 2.8 - Contoh Message Function pada MTI
16 2.10.3 Message Origin Posisi keempat atau digit terakhir dari MTI (Message Type Indicator) ini digunakan untuk mendefinisikan dari mana message ini berasal (lokasi pengirim pesan). Dan kode atau nilai yang standart digunakan untuk mengisi digit keempat ini dapat dilihat pada gambar dibawah ini :
Gambar 2.9 - Contoh Message Origin pada MTI
2.11 Bitmap Application Data yang terdapat dalam ISO 8583 ini adalah Bitmap. Bitmap ini adalah sebuah komponen yang mempunyai panjang 16 karakter (atau lebih, tergantung apakah Secondary atau Tertiary Bitmap aktif atau tidak) dalam hexadecimal, dan nilai yang terdapat dalam bitmap ini digunakan untuk merepresentasikan field atau Data Element keberapa yang aktif.
Sebuah message ISO 8583 kurang lebih pasti mempunyai satu bitmap yang biasa disebut sebagai Primary Bitmap, yang menandakan bahwa Data Element 1 sampai 64 aktif. Sedangkan Secondary Bitmap akan muncul jika Data Element 65 sampai 128 aktif, begitu juga untuk Tertiary/Third Bitmap digunakan jika Data Element 129 sampai 192 aktif walaupun jarang sekali sebuah message sampai menggunakan Tertiary Bitmap.
17
Bitmap ini bisa merupakan 8 bytes data binari ataupun 16 karakter hexadecimal dari 0-9, A-F pada ASCII atau EBCDIC karakter, sebuah field atau Data Element akan aktif jika nilai bitmap ini bernilai TRUE (ditandai dengan nilai 1). Sedangkan untuk field atau Data Element yang tidak aktif, akan bernilai FALSE (ditandai dengan nilai 0 [nol]) pada bitmap. 2.11.1 Primary Bitmap Primary Bitmap, semua message ISO 8583 pasti mempunyai ini. Field atau Data Element yang aktif adalah 1-64. 2.11.2 Secondary Bitmap Secondary Bitmap, ini digunakan jika field atau Data Element yang aktif adalah 65-128. Ciri-ciri adanya Secondary Bitmap ini adalah bit pertama dari PRIMARY BITMAP pasti bernilai 1 atau TRUE. 2.11.3 Third Bitmap Tertiary/Third Bitmap, ini digunakan jika field atau Data Element yang aktif adalah 129-192. Identitas adanya Tertiary/Third Bitmap ini adalah aktif-nya field atau Data Element ke 65. 2.12 Data Elemen (DE) Data Element merupakan sebuah inti dari keseluruhan message yang terdapat dalam ISO 8583, karena pada Data Element inilah isi informasi dari transaksi yang dilakukan sesungguhnya akan dikirimkan melalui jaringan menggunakan protokol ISO 8583. Terdapat 128 Data Element pada standart ISO 8583 versi 1987, sedangkan pada versi berikut-nya yaitu ISO 8583 versi 1993 naik menjadi 192 Data Element.
Data Element ini dapat diasumsikan seperti sekumpulan kotak sebanyak 128 atau 192 buah (tergantung dari versi ISO 8583 yang digunakan-nya), yang tiap-tiap kotak mempunyai ARTI dan FORMAT yang sudah ditentukan oleh
18
standart ISO 8583. Dan agar mudah, tampilan Data Element pada ISO 8583 dapat digambarkan seperti gambar dibawah ini :
Gambar 2.10 - Struktur Data Element (DE)
Setiap Data Element mempunyai format data yang di ijinkan pada tiap isinya (seperti numerik, binary atau yang lain-nya) dan mempunyai panjang data yang sudah ditentukan (baik secara variabel ataupun fix). Sedangkan format data yang terdapat dalam Data Element adalah seperti pada tabel dibawah ini :
Gambar 2.11 - Format Data Element (DE)
Selain format data, tiap Data Element dapat mempunyai panjang data yang dapat ditentukan secara fixed (tetap) maupun secara variabel. Jika panjang Data Element-nya ditentukan secara variabel, maka Data Element tersebut harus didahului oleh indikasi berapa panjang datanya dahulu baru diikuti oleh data yang sebenar-nya. Sedangkan format panjang variabel yang telah ditentukan oleh standart ISO 8583 dapat dilihat pada tabel dibawah ini :
19
Gambar 2.12 - Format panjang karakter pada DE
2.13 Message Trailer Message Trailer digunakan sebagai penanda akhir dari sebuah message. 2.14 Contoh Pesan Dalam ISO 8583 Setelah mengetahui apa itu MTI, Bitmap dan Data Element, sekarang mari kita mulai dengan sebuah contoh bagaimana cara menyusun sebuah message ISO 8583 yang lengkap sampai siap untuk dikirimkan ke client/server. Sebagai contoh untuk membuat sebuah Network Management Request Message yang menggunakan ISO 8583 versi 1993 dengan Data Element yang aktif adalah DE ke 3,7,11,12,13,48 dan 70 dengan konfigurasi tiap-tiap Data Element adalah sebagai berikut Data Element
Type
Keterangan
Nilai
003
N6
Processing Code
123456
007
N8
Transmission Date and Time
20110815
(yyyyMMdd) 011
N6
System Trace Audit Number
123456
012
N6
Local time transaction
011030
(hhmmss)
20
013
N4
048
AN…999 Additional Data Private
009ECHO TEST
070
N3
001
Date local transaction (mmdd)
Network Management
0914
Information Code Tabel 2.0 - Contoh konfigurasi Data Element (DE)
Tahapan yang perlu dilakukan yaitu adalah :
1. Pembuatan Message Type Identifier, yang diminta adalah Network Management Request Message dengan versi 1993. Jadi nilai MTI yang cocok adalah sebagai berikut : 1800 dengan penjelasan : ·
Digit pertama bernilai 1 (satu) berarti menggunakan versi 1993 dari ISO 8583
·
Digit kedua bernilai 8 (delapan) berarti Network Management Message
·
Digit ketiga bernilai 0 (nol) berarti Request
·
Digit keempat bernilai 0 (nol) berarti ini adalah Acquirer
2. Pembuatan Bitmap, pembuatan Bitmap dapat dilakukan dengan cara sebagai berikut : Konversi Data Element 3,7,11,12,13,48 dan 70 menjadi binary dengan cara sebagai berikut :
1
1
2
3
4
6
7
8
9
0
n-th bit
0
0
1
0
0
1
0
0
0
bit map
21
2
1
2
3
4
6
7
8
9
0
n-th bit
1
1
1
0
0
0
0
0
0
bit map
3
1
2
3
4
6
7
8
9
0
n-th bit
0
0
0
0
0
0
0
0
0
bit map
4
1
2
3
4
6
7
8
9
0
n-th bit
0
0
0
0
0
0
1
0
0
bit map
5
1
2
3
4
6
7
8
9
0
n-th bit
0
0
0
0
0
0
0
0
0
bit map
6
1
2
3
4
6
7
8
9
0
n-th bit
22
0
0
0
0
0
0
0
0
1
bit map
7
1
2
3
4
6
7
8
9
0
n-th bit
0
0
0
0
0
0
0
0
0
bit map
8
1
2
3
4
6
7
8
9
0
n-th bit
0
0
0
0
0
0
0
0
0
bit map
9
1
2
3
4
6
7
8
9
0
n-th bit
0
0
0
0
0
0
0
0
0
bit map
0
1
2
3
4
6
7
8
9
0
n-th bit
23
0
0
0
0
0
0
0
0
0
bit map
1
1
2
3
4
6
7
8
9
0
n-th bit
0
0
0
0
0
0
0
0
0
bit map
128
2
1
2
3
4
6
7
n-th
8
bit
0
0
0
0
0
0
bit map
0
Tabel 2.1 - Perhitungan Data Element (DE)
Karena ada field atau Data Element yang aktif antara 65-128 untuk Secondary Bitmap aktif pada DE ke 70, maka ganti nilai bit pertama bitmap dengan nilai 1 (satu). 1 1
2
3
4
6
7
8
9
0
n-th bit
1
0
1
0
0
1
0
0
0
bit map
Tabel 2.2 - Perubahan Data Element (DE) bit pertama
24
Lalu konversikan hasil bitmap tersebut ke dalam Hexadecimal: 101000100011100000000000000000000000000000000001000000000000000000 00010000000000000000000000000000000000000000000000000000000000 Table Konversi dari Biner Bitmap ke Hexadecimal. Nilai (1)
Nilai (2)
Konversi (1)
Konversi(2)
1010
0010
A
2
0011
1000
3
8
0000
0000
0
0
0000
0000
0
0
0000
0000
0
0
0000
0001
0
1
0000
0000
0
0
0000
0000
0
0
0000
0100
0
4
0000
0000
0
0
0000
0000
0
0
0000
0000
0
0
0000
0000
0
0
0000
0000
0
0
0000
0000
0
0
0000
0000
0
0
Tabel 2.3 - Konversi Biner bitmap ke Hexadecimal
Dari hasil tersebut di dapat nilai Hexadecimal Bitmap : A2380000000100000400000000000000
25
Pengabungan Data Element, sedangkan penggabungan nilai Data Element menghasilkan nilai sebagai berikut : 123456201009141234560110300914009ECHO TEST001
Setelah semua proses perhitungan selesai dilakukan, gabungkan antara MTI, BITMAP dan Application Data menjadi satu yang hasil akhirnya adalah format message lengkap ISO 8583 untuk tipe Network Management Request : 1800A2380000000100000400000000000000123456201009141234560110300914009E CHO TEST001
2.15 Perkembangan Teknologi Perkembangan teknologi saat ini berkembang dengan sangat pesat, terbukti dengan banyaknya penelitian di bidang teknologi informasi yang menghasilkan karya ilmiah yang dapat di terapkan dalam kehidupan sehari-hari guna membantu manusia dalam menyelesaikan berbagai permasalahannya. 2.15.1 Software Framework Kerangka Software adalah sekumpulan kode atau pustaka dalam sebuah bahasa pemrograman yang menyediakan fungsionalitas generik dapat diganti selektif atau khusus dengan modifikasi oleh pengguna, sehingga memberikan fungsionalitas tertentu. Kerangka perangkat lunak yang mempunyai perpustakaan program komputer abstrak di bungkus dalam sebuah antarmuka pemrograman aplikasi (API) yang terintegrasi dan dapat digunakan kembali. Namun, kerangka tersebut berisi fitur-fitur khusus yang membedakan mereka dari perpustakaan normal.
Kerangka Kerja Software memiliki fitur yang mempunyai ciri-ciri sebagai berikut :
26
1. Kontrol Versi - dalam kerangka kerja software, tidak seperti pada aplikasi user biasa, aliran program di atur secara keseluruhan dan pemanggilan alur program telah di atur oleh kerangka kerja software.
2. Perilaku Standar - Kerangka kerja software memiliki perilaku standar. perilaku standarnya mempuyai fitur yang membantu pengguna dalam menyelesaikan serangkaian masalah dengan sebuah solusi sederhana.
3. Dapat Di Perpanjang - Sebuah kerangka kerja software dapat di modifikasi tanpa harus merusak kode utama oleh pengguna dengan menambahkan kode-kode khusus untuk menyediakan fungsionalitas tertentu. 4. Kode Utama Tidak Bisa Di Modifikasi – Kode utama pada kerangka kerja software, pada umumnya tidak diperbolehkan untuk di modifikasi. pengguna dapat memperpanjang kerangka kerja, tetapi tidak boleh mengubah kode utama. 2.15.2 Java Java adalah bahasa pemrograman yang awalnya dikembangkan oleh James Gosling di Sun Microsystems (yang sekarang merupakan anak perusahaan dari Oracle Corporation) dan dirilis pada tahun 1995 sebagai komponen inti dari platform Java Sun Microsystems. Bahasa banyak berasal dari sintaks dari C dan C + + namun memiliki model object sederhana dan lebih sedikit tingkat rendah fasilitas.
Aplikasi Java biasanya disusun untuk bytecode (file class) yang dapat berjalan pada Java Virtual Machine (JVM) terlepas dari arsitektur komputer. Java adalah, tujuan umum bersamaan, berbasis kelas, bahasa berorientasi objek yang khusus dirancang untuk memiliki sebagai dependensi pelaksanaan yang sedikit mungkin. Hal ini dimaksudkan untuk membiarkan pengembang aplikasi "Write Once, Run Everywhere". Java saat ini salah satu bahasa pemrograman yang paling
27
populer digunakan, dan digunakan secara luas dari perangkat lunak berbagai aplikasi dari mulai mikro controller sampai dengan aplikasi web.
2.15.3 Socket Programming Pemrograman berbasiskan jaringan atau soket yang melibatkan program berkomunikasi dengan program lain di sebuah jaringan komputer. Program atau proses memulai komunikasi disebut proses klien, dan program menunggu komunikasi yang akan dimulai adalah proses server. Klien dan server proses bersama-sama membentuk suatu sistem terdistribusi. Komunikasi antara klien dan proses server dapat berupa connection-oriented (seperti sirkuit TCP didirikan virtual atau sesi), atau connectionless (berdasarkan datagrams UDP). 2.15.4 Pengenalan jPOS Framework Java yang digunakan dalam sistem ini adalah jPOS Framework yang merupakan perpustakaan kode program yang memangkas semua proses manual yang harus di lakukan ketika kita menggunakan pemrograman Socket biasa. Selain itu, jPOS juga mendukung beberapa protokol-protokol yang biasa digunakan dalam implementasi ISO 8583 dan menyediakan pembayaran elektronik dan solusi komunikasi
data transaksi yang berhubungan dengan retailer, prosesor pembayaran dan bank di seluruh dunia. 2.15.5 PHP PHP adalah bahasa scripting untuk keperluan umum yang awalnya dirancang untuk pengembangan web untuk menghasilkan halaman web dinamis. Untuk tujuan ini, kode PHP tertanam ke dalam dokumen di dalam HTML dan di interpretasikan oleh server web dengan modul PHP prosesor, yang menghasilkan dokumen halaman web. PHP dapat digunakan pada kebanyakan web server.
28
PHP pada awalnya diciptakan oleh Rasmus Lerdorf pada tahun 1995. Implementasi utama dari PHP sekarang diproduksi oleh Grup PHP dan berfungsi sebagai standar de facto untuk PHP karena tidak ada spesifikasi formal. PHP adalah perangkat lunak bebas yang dirilis di bawah Lisensi PHP. 2.15.6 Pengenalan CodeIgniter PHP Framework yang di gunakan dalam sistem ini adalah CodeIgniter yang merupakan framework PHP yang kuat dengan perpustakaan kode yang sangat efektif, dibangun untuk programer PHP yang membutuhkan alat sederhana dan elegan untuk membuat aplikasi web dengan fitur lengkap. Dan merupakan kerangka kerja software
yang menggunakan sedikit konfigurasi dalam
penggunaannya dan menerapkan kerangka kerja software dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. 2.15.7 Mysql Database Database yang di gunakan dalam sistem ini adalah MySQL merupakan sebuah implementasi dari sistem manajemen basis data relasional (RDBMS) yang di distribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya, SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional,
29
MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak basis data kompetitor lainnya. Namun demikian pada modus nontransaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basis data transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional. 2.15.8 Netbeans Editor yang penulis gunakan dalam membangun sistem ini menggunakan NetBeans yang merupakan kerangka platform untuk aplikasi desktop Java, dan sebuah lingkungan pengembangan terpadu (IDE) untuk pengembangan dengan Java, JavaScript, PHP, Python, Ruby, Groovy, C, C + +, Scala, Clojure, dan lainlain.
Gambar 2.13 - Logo Netbeans
NetBeans IDE ditulis dalam Java dan dapat berjalan di mana saja dengan (Java Virtual Machine) JVM yang telah di instal, termasuk Windows, Mac OS, Linux, dan Solaris. Sebuah JDK diperlukan untuk pengembangan fungsionalitas Java, tetapi tidak diperlukan untuk pembangunan di bahasa pemrograman lain.
30
Platform NetBeans memungkinkan aplikasi untuk dikembangkan dari satu set komponen perangkat lunak moduler yang disebut modul. Aplikasi berbasis platform NetBeans (termasuk IDE NetBeans) dapat diperpanjang oleh pengembang pihak ketiga. 2.15.9 Ruang Lingkup Ruang lingkup pada Netbeans terbagi menjadi beberapa jendala utama seperti gambar berikut ini.
Gambar 2.14 - Editor Netbeans §
Jendela Proyek merupakan tampilan dari semua daftar project yang sedang di kerjakan melalui editor Netbeans.
§
Jendela Editor merupakan tampilan untuk mengerjakan koding aplikasi yang sedang di buat dan mendukung validasi sintak eror
§
Jendelan Output/Keluaran merupakan tampilan dari hasil kompilasi project atau skrip yang di jalankan melalui editor Netbeans.
31 2.15.10 Keunggulan Netbeans a. NetBeans GUI Builder dengan ribuan plug In yang bisa di download langsung di website resminya, maupun dari pihak ketiga. b. NetBeans GUI Builder sangat kompatibel dengan Swing karena memang langsung dikembangkan oleh Sun yang notabenenya sebagai pengembang Swing. c. Netbeans tidak hanya dapat digunakan buat java saja, karena Netbeans dapat di gunakan untuk bahasa pemograman lain seperti C/C++, Ruby, dan PHP. d. NetBeans
GUI
Builder
sangat
cocok
untuk
digunakan
dalam
pengembangan sistem berskala Enterprise. e. Pada paket tertentu, Netbeans juga menyertakan GlassFish V2 UR2 dan Apache Tomcat 6.0.16 2.16 Metode Waterfall Waterfall Model adalah sebuah metode pengembangan software yang bersifat sekuensial dan terdiri dari 5 tahap yang saling terkait dan mempengaruhi seperti gambar berikut. Analisa Kebutuhan
Desain Sistem
Penulisan Kode Program
Pengujian Program
Penerapan Program
Gambar 2.15 - Metode Waterfall Model
32
Keterkaitan dan pengaruh antar tahap ini ada karena output sebuah tahap dalam Waterfall Model merupakan input bagi tahap berikutnya, dengan demikian ketidaksempurnaan
hasil
pelaksanaan
tahap
sebelumnya
adalah
awal
ketidaksempurnaan tahap berikutnya. Memperhatikan karakteristik ini, sangat penting bagi tim pengembang dan perusahaan untuk secara bersama-sama melakukan analisa kebutuhan dan desain sistem sesempurna mungkin sebelum masuk ke dalam penulisan kode program.
Berikut adalah penjelasan detail dari masing-masing tahap dalam Waterfall model: 2.16.1 Analisa Kebutuhan Analisa kebutuhan merupakan tahap pertama yang menjadi dasar proses pembuatan Tailor-made software selanjutnya. Kelancaran proses pembuatan software secara keseluruhan dan kelengkapan fitur software yang dihasilkan sangat tergantung pada hasil analisa kebutuhan ini. Untuk memperoleh informasi tentang proses bisnis dan kebutuhan perusahaan, umumnya tim pengembang melakukan wawancara, diskusi dan survey. Dalam proses wawancara, diskusi dan survey diperlukan komunikasi yang intensif dan terbuka antara tim pengembang dan tim counter-partner dari perusahaan. Selain itu, peran aktif dari manajemen sebagai pihak yang memahami seluk beluk perusahaan secara kompherensif juga diperlukan agar diperoleh informasi proses bisnis dan daftar kebutuhan perusahaan yang lengkap. Beberapa perusahaan membantu memperlancar penyelesaian tahap ini terlebih dahulu menyusun scope of work software yang akan dibuat sebagai acuan kerja tim pengembang. Hasil analisa kebutuhan yang tidak lengkap berpotensi menyebabkan beberapa permasalahan yang tidak diharapkan, antara lain: waktu pembuatan software menjadi lebih lama, proses dalam software tidak sesuai dengan proses bisnis dan software tidak dapat memenuhi semua kebutuhan perusahaan. Untuk meminimalkan resiko ini, disarankan perusahaan melakukan konfirmasi pemahaman tim pengembang tentang proses bisnis dan kebutuhan perusahaan dengan cara meminta resume
33
hasil analisa kebutuhan dan menyempurnakannya bersama tim pengembang jika di perlukan. 2.16.2 Desain Sistem Desain sistem merupakan tahap penyusunan proses, data, aliran proses dan hubungan antar data yang paling optimal untuk menjalankan proses bisnis dan memenuhi kebutuhan perusahaan sesuai dengan hasil analisa kebutuhan. Dokumentasi yang dihasilkan dari tahap desain sistem ini antara lain: System Flow, Data Flow Diagram (DFD) dan Entity Relationship Diagram (ERD). System Flow merupakan bagan aliran dokumen dari satu bagian perusahaan ke bagain lain baik secara manual maupun melalui Sistem Informasi. Data Flow Diagram adalah diagram yang menunjukan aliran data di antara pengguna, proses dan database yang terkait dengan software. Entity Relationship Diagram merupakan diagram yang menunjukan bagaimana data dan informasi software akan di simpan di dalam database beserta dengan hubungan antar data. Seperti halnya tahap analisa kebutuhan, pada saat desain sistem selesai dibuat sebaiknya desain yang sudah dibuat pengembang didiskusikan dan disempurnakan oleh tim pengembang bersama dengan tim counter-partner dan manajemen perusahaan. 2.16.3 Penulisan kode program Penulisan kode program merupakan tahap penerjemah desain sistem yang telah dibuat ke dalam bentuk perintah-perintah yang dimengerti computer dengan menggunakan bahasa pemrograman, middleware dan database tertentu di atas platform yang menjadi standar perusahaan. Bahasa pemrograman yang saat ini popular digunakan antara lain : Microsoft Visual Basic .Net untuk kategori aplikasi yang berjalan pada sistem operasi windows, PHP untuk pembuatan software dalam kategori Web Application dan Java untuk membuat software yang dapat berjalan diatas beberapa platform sistem operasi / multiplatform. Database yang saat ini banyak digunakan antara lain: ORACLE dan Microsoft SQL Server 2005 untuk kebutuhan penyimpanan data dalam jumlah besar, fitur keamanan data yang handal dan penggunaan oleh banyak pengguna, Mysql dan PosgreSQL untuk kebutuhan penyimpanan data di sistem operasi Linux dan Microsoft Access untuk
34
penyimpanan data dalam jumlah tidak terlalu besar untuk memenuhi kebutuhan personal. Berbeda dengan 2 tahap sebelumnya, pada tahap penulisan kode program ini keterlibatan perusahaan tidaklah terlalu besar. 2.16.4 Pengujian Program Pengujian software dilakukan untuk memastikan bahwa software yang dibuat telah sesuai dengan desainnya dan semua fungsi dapat dipergunakan dengan baik tanpa kesalahan. Pengujian software biasanya dilakukan dalam 2 atau 3 tahap yang saling independen, yaitu : pengujian oleh internal tim pengembang, pengujian oleh divisi Quality Assurance dan pengujian oleh pengguna di perusahaan. Dalam tahap ini, perusahaan harus memastikan bahwa kerangka / scenario pengujian software dibuat dengan lengkap meliputi semua proses, kebutuhan dan pengendalian yang ada di dalam dokumen analisa kebutuhan dan desain sistem. 2.16.5 Penerapan program Penerapan
program
merupakan
tahap
dimana
tim
pengembang
menerapkan aplikasi yang telah selesai dibuat dan diuji ke dalam lingkungan Teknologi Informasi perusahaan dan memberikan pelatihan kepada pengguna di perusahaan. Pada saat melaksanakan pelatihan perusahaan harus yakin bahwa semua karyawan benar-benar menguasai Sistem Informasi yang dibuat sesuai dengan tugas, kewenangan dan tanggung jawabanya. Untuk mendukung penguasaan ini pada waktu operasional harian setelah pelatihan, perusahaan sebaiknya memastikan pengembang telah memberikan buku User Manual dari Sistem Informasi yang dibuat.
Berdasarkan kesepakatan bersama yang dibuat sebelumnya, pada tahap ini perusahaan juga dapat meminta tim pengembang untuk menjelaskan secara detail kode program kepada Staf Teknologi Informasi di perusahaan agar jika diperlukan pengembangan lebih lanjut di waktu yang akan dating dapat dilakukan sendiri oleh perusahaan. Hal ini biasanya dilakukan perusahaan-perusahaan besar yang
35
memfokuskan staff divisi Teknologi Informasinya hanya untuk pemeliharaan sistem saja.
Dengan memperhatikan keuntungan, konsekuensi dan mengikuti tahapantahapan yang ada di dalam Metode Waterfall tersebuat di atas dengan bagi maka peluang perusahaan untuk mendapatkan Sistem Informasi yang berkualitas menjadi semakin besar. Semakin berkualitas Sistem Informasi yang diperoleh perusahaan berarti pula daya saing dan peluang perusahaan untuk memenangkan kompetisi. Hal ini tidak lain karena pemrosesan informasi, pengendalian proses bisnis dan pengambilan keputusan dapat dilakukan dengan cepat dan akurat.
Memperhatikan hal tersebut, maka sudah sewajarnya di era yang sangat kompetitif ini perusahaan mendukung kegiatan operasional dan pengembangan bisnisnya dengan mempergunakan Sistem Informasi yang dibuat sesuai dengan proses bisnis dan kebutuhan perusahaan masing-masing.