BAB II LANDASAN TEORI 2.1.
Tinjauan Pustaka Tinjauan pustaka dalam perancangan dan pembuatan sistem informasi marketplace dota 2 player, penulis mengambil dua artikel. Artikel tersebut ditulis oleh Agung Mulyawan, Erda Guslinar Perdana dan Dini rachmawati dengan judul “Aplikasi Jual beli MarketPlace Online” dan artikel kedua ditulis oleh Angga Angger Nugraha dengan judul “Rancang Bangun E-MarketPlace Peminjaman dan Penyewaan Barang Menggunakan Model Pengembangan Extreme Programming”. Menurut Agung, dkk (2013) dalam penelitian yang berjudul “Aplikasi Jual beli MarketPlace Online”. Aplikasi tersebut menangani beberapa fitur yaitu, untuk pembeli : shopping cart system, multi transaksi, pengelolaan data transaksi, fasilitas refunds. Untuk penjual : pengelolaan produk, pengelolaan transaksi,statistik transaksi ,fasilitas payout. Untuk pihak marketplace : moderasi produk, pengelolaan pendaftaran penjual, pengelolaan transaksi, pengelolaan refunds , pengelolaan payout, pengelolaan halaman web, statistik web. Penelitian tersebut dibangun menggunakan metode pengembangan perangkat lunak Waterfall dan UML sebagai alat bantu perancangan sistem. Aplikasi ini diimplementasikan dengan menggunakan bahasa pemrograman PHP dengan framework Codeigniter dan database MySQL serta software pendukung lainnya. Menurut Angga Angger Nugraha (2014) dalam penelitian yang berjudul “Rancang Bangun E-MarketPlace Peminjaman dan Penyewaan Barang Menggunakan Model Pengembangan Extreme Programming”. Dalam penelitian tersebut aplikasi yang dibangung menekankan pada beberapa fitur seperti pencarian barang berdasarkan kata kunci, pengiriman pesan permintaan barang secar broadcast, follow user dan tambah barang ke daftar barang favorit. Aplikasi ini diimplementasikan dengan menggunakan bahasa pemrograman
5
6
PHP dengan framework Codeigniter dan database MySQL serta software pendukung lainnya. Berdasarkan paparan kedua artikel diatas maka penulis melakukan penelitian dengan judul “Perancangan dan Pembuatan Sistem Informasi MarketPlace Dota 2 Player” merupakan sebuah sistim informasi yang menangani transaksi antara penjual dan pembeli khususnya transaksi item pada permainan Dota 2, dimana item yang di perjual belikan terintergrasi dengan aplikasi Steam jadi stok item yang terdapat pada transaksi berisfat real-stock. Dalam aplikasi penulis dilengkapi dengan Shopping cart System, multi transaksi, pengolaan data lapak, fitur refund, pembayaran dengan saldo dan pengolaan data penarikan saldo. Aplikasi ini diimplementasikan dengan menggunakan bahasa pemrograman PHP dengan framework Codeigniter dan database MySQL serta software pendukung lainnya. 2.2. 2.1.1
Landasan Teori E-commerce
Menurut Kalakota dan Whinston (1997) mendefinisikan E-commerce dalam beberapa segi diantaranya : 1. “From a business process perspective, E-commerce is the use of technology to-wards the automation of business transactions and workflow” 2. “From a service perspective E-commerce is a tool that caters to the need of firms, consumers and management to cut down the transaction cost while improving the quality of goods/service and increasing the speed of delivery.” Dengan memahami pengertian diatas, maka E-commerce dapat diartikan dalam beberapa aspek, dua diantaranya adalah dari segi proses E-commerce adalah digunakan dalam memajukan teknologi bisnis transaksi dan alur kerja. Dari segi pelayanan E-commerce berarti alat yang digunakan untuk memenuhi kebutuhan perusahaan, konsumen dan manajemen untuk mengurangi biaya transaksi sekaligus menungkatkan kualitas barang atau jasa.
7
2.1.2
Marketplace Online Menurut Nufransa (2014) Online marketplace adalah situs yang disediakan
oleh penyelenggara jasa internet kepada para penjual untuk dapat menjajakan daganganya melalui dunia maya. Ruang (space) yang disediakan oleh penyedia jasa internet berbentuk laman situs yang disediakan kepada para penjual. Pembeli dapat melihat berbagai macam etalase online yang berada di situs onlone yang berada di situs online market place.Tempat berkumpulnya penjual dan pembeli ini layaknya pusat perbelanjaan biasa, hanya semuanya terselenggara di dunia maya. Situs ini berisi berbagai macam penjual dengan berbagai macam barang dagangan yang menyewa tempat dari penyelenggara jasa internet. Contoh dari kategori ini adalah tokopedia.com, rakuten.com, bukalapak.com, duniavirtual.com. pengelola situs ini menyewa ruang (space) dalam situs mereka yang digunakan untuk berdagang bagi para penjual. 2.1.3
Sistem Informasi Suatu sistem informasi dapat didefinisikan secara teknis sebagai satuan
komponen yang saling berhubungan yang mengumpulkan (atau mendapatakankembali), memproses, menyimpan, dan mendistribusikan informasi untuk mendukung pengambilan keputusan, koordinasi, dan kendali, sistem informasi dapat juga membantu para manajer dan karyawan untuk meneliti permasalahan, memvisualisasikan pokok-pokok yang kompleks, dan menciptakan produk-produk baru (Laudon dan Kenneth, 2005). Sistem informasi berisi informasi tentang orang-orang tertentu, tempattempat, dan hal-hal di dalam organisasi atau di lingkungan sekitarnya. Informasi berarti data yang telah dibentuk ke dalam suatu format yang mempunyai arti dan berguna bagi manusia. Sebaliknya, data merupakan sekumpulan baris fakta yang mewakili peristiwa yang terjadi pada organisasi atau pada lingkungan fisik sebelum diolah ke dalam suatu format yang dapat dipahami dan digunakan orang (Laudon dan Kenneth, 2005). 2.1.4
Basis Data
8
Basis data menurut James Martin (1975) yaitu sebagai berikut : “A database may be defined as a collection of interrelated data stored together without harmful or unnecessary redundancy to serve one or more applications in an optimal fashion; the data are stored so that they are independent of programs with use the data; a common and controlled approach its used in adding new data and in modifiying and retrieving existing data within database” (Edhy, 2004). Dengan memahami pengertian di atas, maka istilah basis data dapat dipahami sebagai suatu kumpulan data terhubung
(Interrelated data) yang
disimpan secara bersama-sama pada suatu media, tanpa mengatap satu sama lain atau tidak perlu suatu kerangkapan data (kalaupun ada maka kerangkapan data tersebut harus seminimal mungkin dan terkontrol (controlled 17edundancy)), data disimpan dengan cara-cara tertentu sehingga mudah untuk digunakan/atau ditampilkan kembali; data dapat digunakan satu atau lebih program-program aplikasi secara optimal; data disimpan tanpa mengalami ketergantungan dengan program yang akan menggunakannya; data disimpan sedemikian rupa sehingga proses penambahan, pengambilan dan modifikasi data dapat dilakukan dengan mudah dan terkontrol (Edhy, 2004). Menurut Fathansyah (2001) Basis Data terdiri dari dua kata, yaitu Basis dan Data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek. Basis data sendiri dapat didefinisikan dalam sejumlah sudut pandang, seperti : a. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedimikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
9
c. Kumpulan file/arsip/table yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. 2.1.5
PHP (Hypertext Preprocessor) PHP adalah bahasa pemrograman berbasis web yang akan memberikan
penampilan canggih jika dipadukan dengan webserver yang memberikan keamanan cukup tinggi. Jika terjadi error pada suatu fungsi atau kegagalan akses, PHP mempunyai fungsi khusus yang memungkinkan pengiriman e-mail langsung ke programmer tersebut. Penangan variabel yang memberikan ‘pelemparan’ variabel antarhalaman juga menjadi lebih aman (M.Syafii, 2005). Bagi programmer web yang ingin menggunakan aplikasi autentikasi user, PHP telah menyediakan 3 jenis autentikasi yaitu http autentikasi, penggunaan cookies, penggunaan session. Selain itu, Anda dapate mengenkripsi data yang dikirim dengan menggunakan fungsi-fungsi yang disediakan PHP, diantaranya adalah cr32, crypt, md5, base64-decode, base64-encode, dan lain-lain (M.Syafii, 2005). PHP adalah bahasa server –side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Maksud dari server –side scripting adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML. Pembuatan web ini merupakan kombinasi antara PHP sendiri sebagai bahahasa pemrograman dan HTML sebagai pembangun halaman web.PHP dapat mengirim HTTP header, dapat mengeset cookies, mengatur authentication dan redirect users (Bimo, 2002). 2.1.6
Model View Control Pola MVC dikenal sebagai model arsitektur aplikasi dengan pemisahan
komponen-komponen dari aplikasi, yaitu pola Model, View dan Controller (Janner, 2010). David (2007) menjelaskan bahwa “Model-View-Controller(MVC) adalah arsitektur perangkat lunak yang memisahkan model model data, antar muka pengguna, dan logika control ke dalam tiga komponen yang berbeda sehingga
10
pemodifikasian komponen view dapat dibuat dengan minimalkan komponen data” (Janner, 2010). 2.1.7
Model View Control (MVC) pada CodeIgniter Penerapan arsitektur MVC dalam CodeIgniter (Antonius, 2010) : a. Model Model bertanggung jawab untuk melakukan pengelolaan data dalam basis data. Di dalamnya biasa dituliskan perintah untuk mengambil, mengubah, menghapus dan menambahkan data. b. View Merupakan “tempat” untuk meletakkan apa yang akan ditampilkan dihalaman perambah (browser). Sebuah berkas view umumnya berisi kode bahasa pemrograman sisi klien (client-side scripting). c. Controller Pengatur utama hubungan antara mode, view, dan juga sumber daya lain yang tersedia. Sumber daya ini diperoleh dari kelompok/tipe kelas yang dapat disebut dengan elemen framework CI.
2.1.8
Framework Framework adalah sistem perangkat lunak yang dapat digunakan kembali
dengan fungsi umum yang telah diterapkan. Framework dapat dikhususkan ke dalam aplikasi yang siap pakai (ready-to-use). Framework juga berfungsi seperti sebuah cetak biru untuk arsitektur dasar dan arsitektur fungsional untuk field aplikasi yang spesifik. Artinya, pengetahuan arsitektur yang terdapat didalam framework seluruhnya dapat diadopsi di dalam aplikasi (Janner, 2010). Meskipun demikian, manfaat dari framework yaitu penggunaan kembali arsitektur dan fungsionalitas yang sederhana masih belum mampu mengatasi kelemahannya, yaitu tingkat dari usaha pelatihan, tidak adanya standar untuk mengintegrasikan framework yang berbeda dan menghasilkan ketergantungan pada manufaktur (Janner, 2010).
11
Framework adalah kumpulan kelas (class) dan fungsi (function. Method) yang disusun secara sistematis berdasarkan kegunaan atau fungsionalitas tertentu untuk mempermudah pembuatan atau pengembangan suatu aplikasi (Antonius, 2010). 2.1.9
CodeIgniter CodeIgniter merupakan framework PHP yang diklaim memiliki eksekusi
tercepat dibandingkan dengan framework lainya. Codeigniter bersifat open source dan menggunakn model basis MVC( Model View Controller) yang merupakan konsep modern framework yang digunakan saat ini. (Widodo, 2013). Codeigniter menawarkan banyak library yang dapat kita gunakan, macam – macam library dapat kita gunakan dengan hanya memanggil class library yang telah disediakan . Adapun fitur – fitur yang disediakan dalam Codeigniter sebagi berikut : 1. Form dan Validasi 2. Keamanan dan XSS Filetering 3. Mendunkung Acitive Record Database 4. Memiliki Helper dan Library yang cukup banyak 5. Mendukung Ekstensi Class dan Plugin dan masih banyak lagi. 2.1.10 JavaScript dan jQuery JavaScript adalah bahasa script yang dikembangkan oleh Netscape untuk membuat dokumen yang dinamis. JavaScript adalah bahasa script sederhana yang mempunyai kemiripan dengan bahasa pemrograman C. JavaScript juga dikenal sebagai sebuah kode pemrograman berorientasi objek (Object Oriented Programming) disingkat OOP. JavaScript memiliki keistimewaan untuk ditambahkan pada kode HTML dan membuat dokumen menjadi lebih interaktif (Wahana Komputer, 2001). JQuery adalah library atau kumpulan kode javaScript siap pakai. Keunggulan menggunakan jquery dibandingkan dengan javaScript standar, yaitu
12
menyederhanakan kode javaScript dengan cara memanggil fungsi yang disediakan oleh jquery. Beberapa keunggulan lain jquery, (Aloysius, 2011) : a.
Jquery compatible dengan banyak browser.
b.
Jquery mendukung semua versi CSS.
c.
Ukuran jquery sangat kecil, sekitar 20kB.
d.
Dokumentasi jquery yang lengkap.
e.
Dukungan komunitas terhadap jquery.
f.
Tersedianya plugin jquery yang sangat beragam.
2.1.11 Unified Modelling Language (UML) Unified Modelling Language adalah bahasa standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dari proses analisis dan desain berorientasi obyek. (Hermawan, 2004). Diagram use case atau use case diagram menyajikan interaksi antara use case dan aktor. Dimana, aktor dapat berupa orang, peralatan, atau sistem lain yang berinteraksi dengan sistem yang sedang dibangun. Use case menggambarkan fungsional sistem atau persyaratan-persyaratan yang harus dipenuhi sistem dari pandangan pemakai. Diagram aktivitas atau activity diagram yang menggambarkan aliran fungsional sistem. Pada tahap pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukan aliran kerja bisnis (business work-flow). Diagram sekuensial atau sequence diagram digunakan untuk menunjukkan aliran fungsionalitas dalam use case. (Sholiq, 2006) 2.1.11.1 Use Case Diagram use case atau use case diagram menyajikan interaksi antara use case dan aktor. Dimana, aktor dapat berupa orang, peralatan, atau sistem lain yang berinteraksi
dengan
sistem
yang
sedang
dibangun.
Use
case
menggambarkan fungsionalitas sistem atau persyaratan-persyaratan yang harus dipenuhi sistem dari pandangan pemakai. ( Sholiq, 2006 ).
13
Tabel 2.1 Simbol Simbol pada UseCase Bentuk komponen
Keterangan Aktor Merupakan menggambarkan
simbol User
untuk yang
berhubungan dengan Sistem Use case Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor Asotiation Menghubungkan link antar element Extends kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm. Include yaitu kelakuan yang harus terpenuhi agar sebuahevent dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya.
2.1.11.2 Class Diagram Diagram kelas atau Class diagram digunkan unutk menampilkan kelaskelas atau paket-paket di dalam sistem dan relasi antar mereka. Ia memebrikan gambaran sistem secara statis. Biasanya, dibuat beberapa diagram kelas untuk sistem. Satu diagram kelas menampilkan subset dari kelas-kelas dan relasinya. Yang lainnya, mungkin menampilkan kelas-kelas termasuk atribut dan operasi dalam kelas-kelas. Data yang lainnya lagi, mungkin menampilkan paket-paket kelas dan relasi antar paket-paket ( Sholiq, 2006 ).
14
Tabel 2.2 Simbol Komponen Class Diagram Bentuk komponen
Keterangan Kelas Deskripsi
dari
sekumpulan
objek
yang terdiri dari daftar atribut dan daftar operasi Generalisasi Hubungan antara yang lebih umum dan elemen yang lebih spesifik Depedensi Hubungan
antara
dua
elemen
pemodelan, di mana perubahan ke satu elemen independen)
pemodelan akan
(elemen
mempengaruhi
simulasi elemen lainnya
2.1.11.3 Sequence Diagram Menurut Hermawan (2004), Sequence diagram menjelaskan secara detail urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi. Pembuatan sequence diagram merupakan aktivitas yang paling kritikal dari proses desain karena artifak inilah yang menjadi pedoman dalam proses pemrograman nantinya dan berisi aliran control dari program. Sequence diagram biasanya tersusun dari elemen Obyek, Interaction dan Message. Interaction menghubungkan 2 obyek dengan pesannya. Diagram ini menjelaskan aspek dinamis dari sistem yang sedang dibangun.
15
Simbol-simbol yang ada pada diagram sekuen (Hermawan, 2004) dapat dilihat pada tabel 2.3 : Tabel 2.3 Simbol Simbol pada Sequence Diagram Bentuk komponen
Nama Aktor/Actor
Keterangan Orang,
proses
atau
sistem
lain
yang
berinteraksi
dengan
sistem informasi
lain
diluar sistem informasi itu sendiri;
biasanya
Dinyatakan menggunakan
kata
benda di awal frase nama actor Garis hidup /
Menyatakan kehidupan
lifeline
suatu objek
Objek
Menyatakan objek yang berinteraksi pesan
Waktu aktif
Menyatakan dalam
objek
keadaan
aktif
dan berinteraksi pesan Pesan tipe create
Menyatakan suatu objek membuat
objek
lain,
arah Pesan tipe call
Menyatakan suatu objek memanggil
operasi
/
16
metode yang ada pada objek yang dibuat Pesan tipe send
Menyatakan
bahwa
suatu
objek
mengirimkan
data
masukkan/informasi ke objek
lainnya,
arah
panah
mengarah
ke
objek yang dikirim Pesan tipe return
Menyatakan
bahwa
suatu objek yang telah menjalankan
suatu
operasi atau
metode
yang
menghasilkan
suatu kembalian objek tertentu,
ke arah
panah mengarah pada objek yang menerima kembalian X
Pesan tipe destroy
Menyatakan akhir hidup suatu objek
2.1.12 Black Box Testing Menurut (Simarta,2010) Klasifikasi black box testing mencakup beberapa pengujian, yaitu : 1. Pengujian fungsional (Functional Testing)
17
Pengujian dilakukan dalam bentuk tertulis untuk memeriksa apakah aplikasi berjalan seperti yang diharapkan. Pengjujian dilakukan dengan cara menguji masing masing fungsionalitas sistem serta operasi back-end( keamanan dan meningkatkan kualitas sistem). 2. Pengujian tegangan (Stress Testing) Pengujian tegangan berkaitan dengan kualitas aplikasi dalam lingkungan. 3. Pengujian beban (Load Testing) Aplikasi diberikan beban input data dengan jumlah data yang besar sehingga pengujian akan tau kinerja dari aplikasi apakah akan menurun.