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.