SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
EKA WIBAWA
10109407
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
v
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... xii
DAFTAR SIMBOL ... xvi
DAFTAR LAMPIRAN ... xviii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah... 1
1.2 Perumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 5
1.6 Sistematika Penulisan ... 8
BAB 2 LANDASAN TEORI ... 9
2.1 Cloud Computing ... 9
2.1.1 Sejarah Cloud Computing ... 9
2.1.2 Definisi Cloud Computing ... 10
2.1.3 Model Pengembangan Cloud Computing ... 11
2.1.4 Karakteristik Cloud Computing ... 12
2.1.5 Model Layanan Cloud Computing ... 12
2.1.6 Multi Tenant Models ... 14
vi
2.4.2 Diagram Konteks ... 19
2.4.3 Data Flow Diagram (DFD) ... 19
2.4.4 Kamus Data ... 20
2.5 Database (Basis Data) ... 21
2.6 Bahasa Pemrograman ... 23
2.6.1 HTML (Hypertext Markup Language) ... 23
2.6.2 Hypertext Preprocessor (PHP) ... 24
2.6.3 Javascript ... 24
2.6.4 CSS (Cascading Style Sheet) ... 25
2.7 Library dan Tools Pendukung ... 26
2.7.1 Twitter Bootstrap ... 26
2.7.2 Virtualmin ... 26
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 29
3.1 Analisis Sistem ... 29
3.1.1 Analisis Masalah ... 29
3.1.2 Analisis Penyelesaian Masalah ... 30
3.1.3 Deskripsi Sistem ... 30
3.1.3.1 Analisis sistem yang akan dibangun ... 31
3.1.3.2 Paket Dan Fitur ... 38
3.1.3.3 Alur Penyewaan ... 39
3.1.3.4 Alur Pembelian produk ... 40
vii
3.1.5.2 Analisis Perangkat Keras ... 44
3.1.5.3 Analisis Perangkat Lunak ... 45
3.1.6 Analisis Basis Data ... 46
3.1.7 Analisis Fungsional ... 48
3.1.7.1 Diagram Konteks ... 49
3.1.7.2 DFD (Data Flow Diagram) ... 51
3.1.7.3 Spesifikasi Proses ... 79
3.1.7.4 Kamus Data ... 104
3.2 Perancangan Sistem ... 121
3.2.1 Skema Relasi ... 121
3.2.2 Struktur Tabel ... 122
3.2.3 Perancangan Arsitektur ... 130
3.2.4 Jaringan Semantik ... 167
BAB 4 IMPLEMENTASI DAN PENGUJIAN... 173
4.1 Implementasi Sistem ... 173
4.1.1 Perangkat Keras yang digunakan... 173
4.1.2 Perangkat Lunak yang digunakan ... 173
4.2 Implementasi Database ... 174
4.3 Implementasi Antarmuka ... 187
4.4 Pengujian Perangkat Lunak ... 192
viii
BAB 5 KESIMPULAN DAN SARAN ... 211
5.1 Kesimpulan ... 211
5.2 Saran ... 212
Ϯϭϯ Boston.
[2] Website computerwekly http://www.computerweekly.com/feature/A
-history-of-cloud-computing Diakses Pada tanggal 19 Juni 2013, jam
14.00 WIB
[3] Mell, P., & Grance, T. 2011. The NIST Definition of CLoud Computing,
special publication 800-145, Recomendations of the National Institute
of Standars and Technology.
[4] Website IBM http://www.ibm.com/developerworks/cloud/library/cl
-multitenantsaas/ Diakses Pada tanggal 1 Agustus 2013, jam 08.00 WIB.
[5] Rahadiyanto, Ridwan. 2010. Mudah Membuat Toko Online dengan
osCommerce. Yogyakarta: Andi.
[6] Antonius, K. S. 2003. "Pengantar Content Management System
(CMS)". http://ikc.dinus.ac.id/umum/kemas-cms.php Diakses pada
Senin, 2 September 2013 jam 08.30.
[7] Witarto. 2004. Memahami Sistem Informasi. Informatika : Bandung.
[8] Ladjamudin, Al-Bahra Bin. 2005. Analisis dan Desain Sistem Informasi.
Graha Ilmu : Yogyakarta.
[9] Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. ANDI :
Yogyakarta
[10] Hadisaputra, Adi (2009). HTML dan CSS FUndamental. Bogor :
kaffah
[11] Website Php http://www.php.net/manual/en/intro-whatis.php
Diakses pada tanggal 1 Oktober 2013, jam 04.00 WIB
[12] Sunyoto, Andi. 2007.Ajax Membangun Web Dengan
Ϯϭϰ
[13] Website Virtualmin http://www.virtualmin.com/documentation Diakses
pada tanggal 12 September 2013, jam 12.00 WIB
[14] Website Bootstrap http://getbootstrap.com/getting-started/
iii
karunia-Nya Sehingga penulis dapat menyelesaikan skripsi yang berjudul “Implementasi Cloud Computing Software as a Service Pada Aplikasi
E-Commerce” .
Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan, bantuan dan masukan dari berbagai pihak. Untuk itu, penulis menyampaikan terima kasih sebesar-besarnya kepada :
1. Allah SWT yang senantiasa melimpahkan rahmat dan karunia-Nya 2. Orang tua dan keluarga yang selalu memberikan doa dan dukungan
sejak awal menempuh pendidikan hingga tugas akhir ini selesai. 3. Bapak Irawan Afrianto, ST., M.T. selaku ketua jurusan teknik
informatika
4. Bapak Iskandar Ikbal, S.T., M.Kom. selaku dosen pembimbing yang selalu memberikan bimbingan, pengarahan, bantuan dan masukannya yang bermanfaat bagi penulis
5. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku dosen penguji 1 yang telah memberikan masukan dan saran kepada penulis
iv informatika
9. Bapak Eko Andri Prasetyo yang selalu memberikan bimbingan, serta bantuan dalam pengerjaan tugas akhir ini
10.Teman-teman IF-10 angkatan 2009 terima kasih atas kebersamaan serta kekompakan selama kuliah.
11.Semua pihak yang telah memberikan ide, bantuan dan dukungan dalam menyelesaikan tugas akhir ini yang tidak bisa disebutkan satu persatu.
Penulis menyadari bahwa penulisan tugas akhir ini masih jauh dari sempurna maka kritik dan saran dari semua pihak untuk perbaikan dikemudian hari.
Akhir kata, semoga skripsi ini dapat bermanfaat bagi para pembaca.
Bandung, 25 Februari 2014
1
Electronic Commerce atau yang lazim dikenal dengan e-commerce
didiefenisikan sebagai cara untuk menjual dan membeli barang atau jasa melalui sistem elektronik seperti jaringan internet. Jenis situs yang sering digunakan untuk kegiatan e-commerce di Indonesia adalah forum jual beli, jejaring sosial, dan aplikasi e-commerce (single seller).
Dari hasil survei yang dilakukan oleh APJII (Asosiasi Penyelenggara Jasa Internet Indonesia) mengenai pengguna internet di Indonesia, saat ini forum jual beli dan jejaring sosial merupakan media yang paling banyak digunakan untuk melakukan kegiatan jual beli dibandingkan dengan aplikasi
e-commerce. Hal ini dikarenakan kurangnya kemampuan dan pengetahuan
di bidang teknologi informasi, karena untuk mengimplementasikan aplikasi
e-commerce dibutuhkan beberapa tahap seperti perancangan dan
pembangunan aplikasi, penyediaan infrastruktur, dan proses agar aplikasi
e-commerce dapat beroperasi di internet. Jika suatu perusahaan maupun
perorangan tidak mempunyai kemampuan dan pengetahuan di bidang teknologi informasi maka dibutuhkan investasi yang cukup besar. Sehingga dibutuhkan pemanfaatan teknologi yang tepat untuk mendukung pencapaian tersebut.
Cloud Computing adalah suatu mekanisme, dimana sekumpulan IT
resource yang saling terhubung melalui jaringan internet, baik itu
infrastruktur maupun aplikasi. Dengan adanya cloud computing perusahaan maupun perorangan hanya fokus dalam melakukan bisnis dan pengembangan usahanya saja, sehingga akan dibangun aplikasi e-commerce
berbasis cloud computing, yaitu berupa layanan Software as a Service
(SaaS) dalam bentuk Content Management System (CMS) dan layanan
adanya aplikasi e-commerce berbasis cloud computing maka akan terciptanya keseragaman melalui paket-paket yang disediakan sehingga pengguna hanya mengeluarkan biaya sesuai dengan kebutuhan, dan diharapkan dapat mempermudah untuk membangun aplikasi e-commerce.
Berdasarkan latar belakang, maka penelitian ini diberi judul Implementasi
Cloud Computing Software as a Service Pada Aplikasi E-Commerce.
1.2 Perumusan Masalah
Berdasarkan latar belakang, maka perumusan masalah pada penulisan laporan tugas akhir ini adalah bagaimana mengimplementasikan cloud
computing model layanan software as a service pada aplikasi e-commerce.
1.3 Maksud dan Tujuan
Maksud dari penelitian ini adalah untuk mengimplementasikan cloud
computing model layanan software as a service pada aplikasi e-commerce
Adapun tujuan yang ingin dicapai dari penelitian ini adalah :
1. Untuk menyeragamkan aplikasi e-commerce dengan paket-paket yang disediakan sehingga pengguna tidak perlu melakukan investasi yang besar dan hanya membayar sesuai dengan kebutuhan.
2. Untuk membangun aplikasi e-commerce sebagai Software as a service
1.4 Batasan Masalah
Untuk menghindari permasalahan agar tidak meluas dan pembahasan lebih terarah, maka permasalahan akan dibatasi pada :
1. Sistem
a. Model yang digunakan adalah Software as a Service (SaaS).
b. Sebagai layanan software as a service maka menyediakan layanan
costumize berupa pembagian paket-paket layanan berdasarkan harga
sewa dan storage yang terdiri dari 2 paket yaitu personal dan bisnis c. Aplikasi berbasis web
d. Bahasa pemrograman menggunakan PHP, HTML, CSS, JAVASCRIPT.
e. Untuk keamanan validasi data menggunakan SHA1, secure socket
layer (SSL) wildcard
2. Sistem untuk aplikasi e-commerce :
a. Cakupan pemasaran produk meliputi seluruh kawasan di indonesia dengan catatan wilayah tersebut terjangkau oleh jasa pengiriman yang dipilih
b. Batas waktu dari proses pemesanan ke proses pembayaran adalah 3 hari apabila memesan setelah melewati batas waktu tersebut maka pemesanan akan dibatalkan secara otomatis oleh sistem.
c. Komunikasi yang dapat dilakukan antara pengelola e-commerce
dengan kostumer memanfaatkan yahoo mesangger, email, telepon atau sms dan menyediakan fasilitas untuk mengirim pesan kepada pengelola e-commerce.
d. Proses pengembalian produk atau (return) dilakukan melalui form
return yang disediakan
e. Proses pengecekan produk yang dikembalikan (return) dilakukan secara manual.
g. Menampilkan informasi seperti informasi katalog produk, informasi tentang toko, informasi cara melakukan pembelian dan pembayaran, informasi registrasi member, informasi pembayaran transaksi, informasi order, informasi retur.
h. Stok akan berkurang jika produk sudah terjual 1.5 Metodologi Penelitian
Berikut ini adalah metodologi dalam penelitian tugas akhir dengan judul "Rancang Bangun Aplikasi E-commerce sebagai Software as a Service Pada
Cloud E-Toko.", akan ditempuh dengan langkah-langkah sebagai berikut :
1. Tahap Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :
a. Studi Literatur.
Pengumpulan data dengan cara mengumpulkan literatur, jurnal dan bacaan-bacaan yang ada kaitannya dengan judul penelitian. Proses ini dilakukan untuk mencari dan mengumpulkan informasi tentang cara perancangan dan pembangunan aplikasi e-commerce berbasis cloud
computing yang bersumber dari internet dan buku.
b. Observasi.
Metode ini dilakukan dengan cara mengumpulkan data berdasarkan pengamatan langsung terhadap masalah yang diambil.
c. Interview
2. Model Pengembangan Perangkat Lunak
Model pengembangan dalam pembuatan perangkat lunak menggunakan metode waterfall, yang meliputi beberapa proses diantaranya :
a. Requirements definition ( Mendefinisikan kebutuhan )
Pada tahap ini adalah mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh aplikasi yang akan dibangun.
b. System and software design (Desain sistem dan perangkat lunak)
Pada tahap ini desain dikerjakan setelah kebutuhan selesai didefinisikan secara lengkap. Desain sistem merupakan perancangan sistem yang dilakukan berdasarkan data-data yang telah dikumpulkan pada tahap sebelumnya
c. Implementaton and unit testing (Implementasi dan pengujian
perangkat lunak)
Implementasi perangkat lunak dilakukan dengan cara mengimplementasikan hasil dari perancangan perangkat lunak ke dalam kode program yang dimengerti oleh bahasa mesin. Pengujian perangkat lunak yaitu memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal, dan mencari segala kemungkinan kesalahan, memeriksa apakah input sesuai dengan hasil yang diinginkan setelah proses.
d. Integration and system testing (Pengujian integrasi dan sistem)
e. Operation and Maintenance (Operasi dan Pemeliharaan)
Pemeliharaan yaitu penerapan secara keseluruhan disertai pemeliharaan jika terjadi perubahan struktur baik dari segi software maupun
hardware.
1.6 Sistematika Penulisan
Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum tentang penelitian yang dilakukan. Sistematika penulisan skripsi ini adalah sebagai berikut:
BAB 1 PENDAHULUAN
Bab pendahuluan berisi tentang latar belakang permasalahan, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi peneltian, serta sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab landasan teori membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang pernah dilakukan sebelumnya
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab analisis dan perancangan sistem berisi tentang analisis masalah, analisis penyelesaian masalah, deskripsi sistem, analisis software as a service
analisis kebutuhan non-fungsional, analisis kebutuhan fungsional, perancangan basis data, perancangan antarmuka, perancangan struktur menu, perancangan pesan dan perancangan jaringan semantik.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
BAB 5 KESIMPULAN DAN SARAN
9
2.1.1 Sejarah Perkembangan Cloud Computing
Cloud computing adalah hasil dari evolusi bertahap di mana
sebelumnya terjadi fenomena grid computing, virtualisasi, application
service provision (ASP) dan Software as a Service (SaaS). Konsep
penyatuan computing resources melalui jaringan global sendiri dimulai pada tahun 60-an. Saat itu muncul “Intergalactic computer network” oleh J.C.R.
Licklider, yang bertanggung jawab atas pembangunan ARPANET
(Advanced Research Projects Agency Network) di tahun 1969. J.C.R.
Licklider memiliki sebuah cita-cita di mana setiap manusia di dunia ini dapat terhubung dan bisa mengakses program dan data dari situs manapun, di manapun. Menurut Margaret Lewis, Direktur Marketing Produk AMD. “Cita-cita itu terdengar mirip dengan apa yang kini disebut dengan cloud
computing”. Para pakar komputasi lainnya juga memberikan penambahan
terhadap konsep ini, di antaranya John McCarthy yang menawarkan ide mengenai jaringan komputasi yang akan menjadi infrastruktur publik, sama seperti the service bureausyang sudah ada sejak tahun „60-an.
dengan teknologi Elastic Compute Cloud (EC2), terdapat situs layanan web yang di komersialkan yang memungkinkan perusahaan kecil dan individu untuk menyewa komputer atau server, agar dapat menjalankan aplikasi komputer mereka.
Batu lompatan besar lainnya datang di tahun 2009 dengan Web 2.0 mencapai puncaknya. Google dan lainnya memulai untuk menawarkan aplikasi browser-based untuk perusahaan besar, seperti Google Apps. “Kontribusi yang paling penting dari komputasi cloud adalah munculnya
“killer apps” dari penguasa teknologi seperti Microsoft dan Google. Ketika
perusahaan tersebut mengirimkan layanan dalam bentuk yang mudah untuk di konsumsi, efek penerimaannya menjadi sangat luas”, menurut Dan Germain, Chief Technology IT provider Cobweb Solution. “Faktor utama lainnya yang mempengaruhi berkembangnya komputasi cloud antara lain matangnya teknologi visual, perkembangan universal banwidth
berkecepatan tinggi, dan perangkat lunak universal”, menurut Jamie Turner pelopor komputasi cloud. Turner menambahkan, “cloud computing sudah menyebar luas hingga kepada para pengguna Google Doc. Kita hanya dapat membayangkan betapa besarnya ruang lingkup yang sudah di capai. Apa saja dapat di lakukan dan dikirimkan melalui cloud” [2].
2.1.2 Definisi Cloud Computing
Cloud Computing adalah model untuk menciptakan kenyamanan dalam
2.1.3 Model Pengembangan Cloud Computing
Dalam penerapannya, ada beberapa tipe model pengembangan cloud computing. Model pengembangan ini ditinjau dari cakupan dan ruang lingkupnya
1. Public Cloud
Merupakan infrastruktur layanan cloud computing yang dibuat untuk melayani berbagai macam pengguna, di mana mereka menggunakan secara bersama / digunakan untuk umum, yang mungkin dimiliki, dikelola, dan dioperasikan oleh bisnis, akademik, ataupun organisasi pemerintah [3].
2. Private Cloud
Merupakan infrastruktur layanan cloud computing, yang dioperasikan hanya untuk sebuah organisasi tertentu / digunakan untuk pribadi. Biasanya dimiliki, dikelola, dan dioperasikan oleh organisasi atau pihak ketiga [3].
3. Community Cloud
Dalam model ini, sebuah infrastruktur cloud digunakan bersama-sama oleh beberapa organisasi yang memiliki kebersama-samaan kepentingan, misalnya dari sisi misinya, atau tingkat keamanan yang dibutuhkan, dan lainnya [3].
4. Hybrid Cloud
Untuk jenis ini, infrastruktur Cloud yang tersedia merupakan komposisi dari dua atau lebih infrastruktur Cloud ( private,
community, atau public). meskipun secara entitas mereka tetap
alokasi sumber daya bisa dipertahankan pada level yang optimal Secara umum Cloud ini mirip dengan cairan yang mudah dapat memperluas dan mengisi. Bersifat Elastisitas, yang berarti bahwa pengguna dapat meminta sumber daya tambahan pada permintaannya dan dengan mudah melepaskan sumber daya ketika mereka tidak lagi diperlukan. Elastisitas ini salah satu alasan utama individu, bisnis, dan pengguna IT berpindah ke awan (Cloud). Pada data center tradisional itu selalu mungkin untuk menambah dan melepaskan sumber daya. Untuk evolusi Cloud Computing ini sudah berlangsung dan sepenuhnya dapat mengubah cara perusahaan menggunakan teknologi untuk layanan pelanggan, mitra, dan pemasok. Beberapa perusahaan sudah memiliki sumber daya IT hampir seluruhnya di Cloud[3].
2.1.4 Karakteristik Cloud Computing
1. On Demand
Pengguna bisa mengkonfigurasikan secara mandiri layanan yang ingin dipakai melalui sebuah sistem, tanpa perlu interaksi langsung dengan pihak cloud provider. Konfigurasi layanan yang dipilih ini harus tersedia saat itu juga secara otomatis. [3].
2. Rapid elasticity
Kapabilitas dari layanan cloud provider bisa dipakai oleh cloud
consumer secara dinamis berdasarkan kebutuhan. Cloud consumer
bisa menaikkan atau menurunkan kapasitas layanan. Kapasitas layanan yang disediakan ini biasanya tidak terbatas, dan service
consumer bisa dengan bebas dan mudah memilih kapasitas yang
3. Broadband Network Access
Kapabilitas layanan dari cloud provider tersedia lewat jaringan dan bisa diakses oleh berbagai jenis perangkat, seperti smartphone, tablet, laptop dan workstation[3].
4. Resources Pooling
Sumber daya komputasi (storage, CPU, memory, network
bandwidth) yang dikumpulkan oleh penyedia layanan (service
provider) untuk memenuhi kebutuhan banyak pelanggan (service
consumers) dengan model multi-tenant. Sumber daya komputasi ini
bisa berupa sumber daya fisik ataupun virtual dan juga bisa dipakai secara dinamis oleh para pelanggan untuk mencukupi kebutuhannya
[3]
.
5. Measured services
Tersedia layanan untuk mengoptimasi dan memonitor layanan yang dipakai secara otomatis. Dengan monitoring sistem ini, kita bisa melihat berapa resources komputasi yang telah dipakai, seperti:
bandwidth , storage, processing dan jumlah pengguna aktif..
Layanan monitoring ini sebagai bentuk transparansi antara cloud
provider dan cloud consumer [3].
2.1.5 Model Layanan Cloud Computing
Layanan pada Cloud Computing dibagi menjadi tiga model layanan, yaitu
Software as a Service, Platform as a Service, dan Infrastructure as a
Service. Berikut penjelasan dari ketiga jenis layanan :
1. Software As A Service (SAAS)
Software as a Service (SaaS) adalah layanan dari Cloud Computing dimana
disediakan oleh cloud provider. Pelanggan cukup tahu bahwa perangkat lunak bisa berjalan dan bisa digunakan dengan baik [3].
2. Platform Aas A Service (PAAS)
Pada platform as a service konsumen / pengguna diberikan sebuah platform
untuk mengembangkan sampai implementasi sistem. Konsumen / pengguna harus untuk membuat dan mengimplementasikan sistemnya sendiri.
umumnya tools untuk development disediakan dalam bentuk web
application[3].
3. Infrastructure As A Service (IAAS)
Layanan ini menyediakan akses virtualisasi computer, sumber daya dari hardware termasuk mesin, jaringan maupun penyimpanan data [3].
2.1.6 Multi Tenant Models
Multi tenant models adalah arsitektur atau perancangan perangkat lunak di
dalam software as a service, berikut beberapa cara multi tenant models :
Gambar 2.1 Multi-tenant models[4]
1. Separate application and separate databases (aplikasi dan
database terpisah)
melakukan modifikasi aplikasi ke klien/pengguna tertentu, dari sisi keamanan lebih baik.
Kekurangan: untuk update database harus memperbarui secara manual untuk setiap klien/pengguna [4].
2. One shared application and separate databases (satu aplikasi
bersama dan database terpisah)
Keuntungan: update aplikasi dan memastikan data
klien/pengguna tidak tercampur dengan klien/pengguna yang lain
Kekurangan: untuk mengupdatedatabse harus memperbaharui setiap database[4].
3. One shared application and one shared databases (aplikasi
dan database digunakan bersama-sama)
Keuntungan : mudah untuk mengelola database & update,
tidak ada duplikasi.
Kekurangan : jika melewatkan sebuah "ClientID" dalam
query SQL, dapat menyebabkan masalah dengan klien lain
[4]
. 2.2 E-Commerce
Electronic Commerce atau yang lazim dikenal dengan e-commece
didiefenisikan sebagai cara untuk menjual dan membeli barang-barang (dan jasa) melalui sistem elektronik seperti jaringan internet. Sebagian besar kegiatan e-commerce dilakukan sepenuhnya scara elektronik atau item virtual seperti premi ataupun untuk mengakses konten pada situs web, namun sebagian besar perdagangan elektronik melibatkan transportasi fisik item dalam berbagai cara. Pengecer online kadang-kadang dikenal sebagai
e-tailersline ritel dan kadang-kadang dikenal sebagai e-tail. Hampir semua
pengecer besar telah memanfaatkan e-commerce pada World Wide
penjualan e-bisnis. Ia juga terdiri dari pertukaran data untuk menfasilitasi pembiayaan dan pembayaran aspek dari transaksi bisnis [5].
2.3 Content Management System (CMS)
CMS secara sederhana dapat diartikan sebagai berikut :
sebuah sistem yang memberikan kemudahan kepada para penggunanya dalam mengelola dan mangadakan perubahan isi sebuah website dinamis tanpa sebelumnya dibekali pengetahuan tentang hal-hal yang bersifat teknis. Dengan demikian, setiap orang, penulis maupun editor, setiap saat dapat menggunakannya secara leluasa untuk membuat, menghapus atau bahkan memperbaharui isi website tanpa campur tangan langsung dari pihak
webmaster[6].
2.4 Model Analisis
2.4.1 Entity Relationship Diagram (ERD)
Entity Relationship Diagram atau biasa dikenal dengan diagram E-R
secara grafis menggambarkan isi sebuah database. ERD terbagi atas tiga komponen, yaitu entitas (entity), atribut (atribute), dan relasi atau hubungan
(relation). Secara garis besar entitas merupakan dasar yang terlibat dala
sistem. Atribut atau field berperan sebagai penjelas dari entitas, dan relasi atau hubungan menunjukkan hubungan yang terjadi antara dua entitas [7].
1. Entitas (Entity)
Entitas (entity) menunjukkan objek-objek dasar yang terkait di dalam sistem. Objek dasar dapat berupa orang, benda atau hal lain yang keterangannya perlu disimpan dalam basis data [7].
2. Atribut (Atribute)
3. Relasi (Relation)
Relasi atau hubungan adalah kejadian atau transaksi yang terjadi di antara dua entitas yang keterangannya perlu disimpan dalam basis data
[7]
Notasi-notasi simbolik di dalam diagram E-R yang digunakan sebagai berikut [8] :
Tabel 2.1 Notasi yang digunakan pada Entity Relational Diagram (ERD)
No Nama Simbol Fungsi Simbol
1 Persegi panjang Menyatakan suatu himpunan entitas
2 Lingkaran/Elip Menyatakan atribut (atribut yang berfungsi sebagai key digaris bawahi)
3 Belah ketupat Menyatakan himpunan relasi
4 Garis Sebagai penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya
Di dalam Entity Relational Diagram (ERD) terdapat kardinalitas
(cardinality) kardinalitas relasi menunjukan jumlah maksimun tupel yang
1. One to One
Tingkat hubungan satu ke satu, dinyatakan dengan satu kejadian pada entitas pertama, hanya mempunyai satu hubungan dengan satu kejadian pada entitas yang kedua dan sebaliknya [8]. Berikut contoh
one to one
Dosen Kepalai Jurusan
NID
NID
1 1
Gambar 2.2 Diagram kardinalitas One to One
2. One to Many atau Many to One
Tingkat hubungan satu ke banyak adalah sama dengan banyak ke satu. Tergantung dari arah mana hubungan tersebut dilihat [8]. Berikut contoh one to many atau Many to One
Dosen Ajar Kuliah
NID
NID
1 M
Kd_Mk
Gambar 2.3 Diagram kardinalitas One to many
3. Many to Many
Tingkat hubungan banyak ke banyak terjadi jika tiap kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian pada entitas lainnya [8] . Berikut contoh many to many
Mahasiswa Ajar Kuliah
NIM
M M
Kd_Mk Kd_Mk
NIM
2.4.2 Diagram Konteks
Diagram konteks adalah diagram yang terdiri dari suatu proses dan menggambarkan ruang lingkup suatu sistem. Diagram konteks merupakan level tertinggi dari DFD yang menggambarkan seluruh input ke sistem atau output dari sistem. Diagram konteks akan memberi gambaran tentang keseluruhan sistem. Sistem dibatasi oleh Boundary (dapat digambarkan dengan garis putus). Dalam diagram konteks hanya ada satu proses. Tidak boleh ada store dalam diagram konteks [8].
2.4.3 Data Flow Diagram
DFD merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi yang dapat digunakan untuk penggambaran analisis maupun rancangan sistem yang mudah dikomunikasikan kepada pemakai maupun pembuat program [8]. Bagian dari DFD adalah:
1. Arus Data (Data Flow)
Arus data merupakan tempat mengalirnya informasi dan digambarkan dengan garis yang menghubungkan komponen dari sistem [8].
2. Proses ( process )
Proses merupakan apa yang dikerjakan oleh sistem. Proses dapat mengolah data atau aliran data masuk menjadi aliran data ke luar. Proses berfungsi mentransformasikan satu atau beberapa data masukan menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang diinginkan. Setiap proses memiliki satu atau beberapa masukan serta menghasilkan satu atau beberapa data keluaran [8].
3. Kesatuan Luar (External Entity)
Kesatuan luar merupakan kesatuan di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lain yang akan memberikan masukan (input) atau menerima keluaran (output) dari sistem [8].
Simpanan data (data store) merupakan tempat penyimpanan data pengikat data yang ada di dalam sistem. Data store dapat disimbolkan dengan sepasang dua garis sejajar atau dua garis dengan salah satu sisi samping terbuka. Proses dapat mengambil data dari atau memberikan data ke database. [8].
Berikut tabel simbol data flow diagram (DFD) yang sering digunakan
Tabel 2.2 simbol data flow diagram (DFD)
No Nama SImbol Simbol
1 Arus Data
2 Proses
3 Simpanan Data ( Data Store)
4 Entitas Luar
2.4.4 Kamus Data
data dapat digunakan untuk merancang input, output, dan merancang
database program. Kamus data dibuat berdasarkan arus data yang ada [8].
2.5 Database (Basis Data)
Beberapa definisi basis data sebagai berikut :
1. Database adalah sekumpulan data store (bias dalam jumlah yang
besar) yang tersimpan dalam magnetic disk, optical disk, magnetic drum atau media penyimpanan [8].
2. Database adalah sekumpulan program-program aplikasi umum yang
bersifat “batch” yang mengeksekusi dan memproses data secara umum (seperti pencarian,peremajaan,penambahan, dan penghapusan terhadap data) [8].
3. Database terdiri dari data yang akan digunakan atau diperuntukan terhadap banyak „user‟ (baik menggunakan teknik pemrosesan yang bersifat batch atau on-line) akan menggunakan data tersebut sesuai dengan tudas dan fungsinya, dan „user‟ lain dapat juga menggunakan data tersebut dalam waktu yang bersamaan. [8].
2.5.1 MySQL
MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar SQL (Structured Query Language).
MySQL dapat juga berperan sebagai client sehingga sering disebut database
client/server, yang open source dengan kemampuan dapat beroperasi di OS
(operating system) manapun [9].
Contoh :
1. DDL ( Data Definition language )
a. Create : mysql > CREARE DATABASE nama_database;
b. Drop : mysql > DROP DATABASE nama_database;
2. DML ( Data Manipulation Language )
a. INSERT : mysql > INSERT INTO nama_tabel VALUES
(isi_field);
b. SELECT :mysql> SELECT * from nama_tabel ;
c. UPDATE : mysql > UPDATE nama_tabel SET
isi_field=‟data_baru‟;
d. DELETE : DELETE nama_tabel WHERE kondisi;
2.5.2 SQL (Structure Query Language)
SQL adalah sebuah bahasa permintaan database yang terstruktur. Bahasa SQL dibuat sebagai bahasa yang dapat merelasikan beberapa tabel dalam database maupun merelasikan antar database. Bahasa SQL ditulis langsung dalam sebuah program databases sehingga pengguna dapat melihat langsung permintaan yang diinginkan sekaligus melihat hasilnya. SQL dibagi menjadi 2 bentuk query, yaitu [9]:
1. DDL (Data Definition Language)
DDL adalah sebuah metode query sql yang berguna untuk mendefinisikan data pada sebuah database, adapun query yang dimiliki adalah [9]:
a. CREATE : Digunakan untuk melakukan pembuatan tabel dan database [9].
b. DROP : Digunakan untuk melakukan penghapusan tabel maupun database [9].
c. ALTER : Digunakan untuk melakukan perubahan struktur tabel yang telah dibuat, baik menambah field (add), mengganti nama field (change) ataupun menamakannya kembali (rename) serta menghapus (drop) [9].
2. DML (Data Manipulation Language)
melaukan pemanipulasian database yang telah ada atau telah dibuat sebelumnya. Adapun query yang termasuk di dalamnya adalah [9]:
a. INSERT : Digunakan untuk melakukan penginputan pada tabel di database [9].
b. UPDATE : Digunakan untuk melakukan pengubahan atau peremajaan terhadap data yang ada pada tabel [9].
c. DELETE : Digunakan untuk melakukan penghapusan data pada tabel. Penghapusan ini dapat dilakukan secara sekaligus (seluruh isi tabel) maupun hanya beberapa Recordset[9]. 2.6 Bahasa Pemrograman
2.6.1 HTML (Hypertext Markup Language)
Hypertext Markup Language adalah bahasa markup yang umum
Contoh penulisan:
2.6.2 Hypertext Preprocessor (PHP)
PHP adalah akronim dari Hypertext Preprocessor, yaitu suatu bahasa pemrograman berbasiskan kode-kode (script) yang digunakan untuk mengolah suatu data dan mengirimkannya kembali ke web browser menjadi kode HTML Adapun karakteristik script PHP dapat diuraikan sebagai berikut [11]:
1. File PHP disimpan dengan ekstensi file seperti :*.php3,*.php4,*.php. 2. Script PHP biasanya diawali dengan tag <?php dan ditutup dengan
tag ?>.
3. File PHP dapat menginduk atau disisipkan pada bahasa script lainnya atau dapat berdiri sendiri.
Contoh penulisan:
2.6.3 Javascript
JavaScript adalah bahasa scripting yang popular di internet dan dapat bekerja di sebagian besar browser popular seperti internet Explorer (IE). Mozilla Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan
<?php
Echo” Hi, I'm a PHP script! ”; ?>
<html> <head>
<title> Ini Html </title> </head>
<body>
dalam halaman web menggunakan tag SCRIPT. beberapa hal tentang JavaScript [12] :
1. JavaScript didesain untuk menambah interaktif suatu web
2. JavaScript merupakan sebuah bahasa scriptting.
3. Bahasa scripting merupakan bahasa pemrograman yang ringan.
4. JavaScript berisi baris kode yang dijalankan di komputer (web browser).
5. Javascript biasanya disisipkan (embedded) dalam halaman HTML.
6. JavaScript adalah bahasa interpreter (yang berarti skrip dieksekusi tanpa proses kompilasi).
7. Setiap orang dapat menggunakan javascript tanpa membayar lisensi.
Contoh penulisan :
2.6.4 CSS (Cascading Style Sheet)
Cascading Style Sheet (CSS) adalah salah satu bahasa pemrograman
web yang digunakan untuk mempercantik halaman web dan mengendalikan beberapa komponen dalam sebuah web sehingga akan lebih terstruktur dan seragam. CSS dapat kita gunakan dalam mengendalikan ukuran gambar, warna teks, warna tabel, ukuran border, warna border, warna hyperlink, warna mouse over, spasi antar paragraf, spasi antar teks, margin kiri, kanan, atas, bawah, dan parameter lainnya. CSS bisa juga diartikan sebagai bahasa style sheet yang digunakan untuk mengatur tampilan dokumen. Dengan adanya CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda. [10].
<script language="javascript" type="text/javascript"> document.write("Hello World");
Contoh penulisan :
2.7 Library dan Tools Pendukung
2.7.1 Twitter Bootstrap
Twitter Bootstrap adalah sebuah alat bantu untuk membuat sebuah
tampilan halaman website yang dapat mempercepat pekerjaan seorang pengembang website ataupun pendesain halaman website. Sesuai namanya, website yang dibuat dengan alat bantu ini memiliki tampilan halaman yang sama / mirip dengan tampilan halaman Twitter atau desainer juga dapat mengubah tampilan halaman website sesuai dengan kebutuhan.
Twitter Bootstrap dibangun dengan teknologi HTML dan CSS yang dapat membuat layout halaman website, tabel, tombol, form, navigasi, dan komponen lainnya dalam sebuah website hanya dengan memanggil fungsi CSS (class) dalam berkas HTML yang telah didefinisikan. Selain itu juga terdapat komponen-komponen lainnya yang dibangun menggunakan JavaScript [13].
2.7.2 Virtualmin
Virtualmin adalah salah satu layanan Control panel yang digunakan untuk mengelola web hosting dengan lisensi gratis. Dengan virtualmin akan memudahkan untuk melakukan berbagai pekerjaan dalam mengelola sebuah
//* contoh */ body {
padding-top:5px; height: 100%; color: #151515;
background: url(../img/bg.jpg) repeat #efefef; padding-bottom:0;
}
website seperti membuat domain baru, membuat sub-domain, email, statistik dan sebagainya.
Virtualmin sangat cocok digunakan untuk proses pengembangan karena dilengkapi dengan API (Application Programming Interface) yang cukup kompleks, dibanding control panel yang berlisensi gratis lainnya [14].
Contoh API Remote Virtualmin PHP :
<?php
$result = shell_exec("wget -O - quiet --http-user=root --http-passwd=pass --no-check-certificate
'https://localhost:10000/virtual- server/remote.cgi?program=list-domains'");
29
Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat sesuai dengan kebutuhan-kebutuhan. Pada sub bab ini akan diuraikan proses analisis sistem
3.1.1 Analisis Masalah
Electronic Commerce atau yang lazim dikenal dengan e-commerce
didiefenisikan sebagai cara untuk menjual dan membeli barang atau jasa melalui sistem elektronik seperti jaringan internet. Jenis situs yang sering digunakan untuk kegiatan e-commerce di Indonesia adalah forum jual beli, jejaring sosial, dan aplikasi e-commerce (single seller).
Dari hasil survei yang dilakukan oleh APJII (Asosiasi Penyelenggara Jasa Internet Indonesia) mengenai pengguna internet di Indonesia, saat ini forum jual beli dan jejaring sosial merupakan media yang paling banyak digunakan untuk melakukan kegiatan jual beli dibandingkan dengan aplikasi
e-commerce. Hal ini dikarenakan kurangnya kemampuan dan pengetahuan
di bidang teknologi informasi, karena untuk mengimplementasikan aplikasi
e-commerce dibutuhkan beberapa tahap seperti perancangan dan
pembangunan aplikasi, penyediaan infrastruktur, dan proses agar aplikasi
e-commerce dapat beroperasi di internet. Jika suatu perusahaan maupun
perorangan tidak mempunyai kemampuan dan pengetahuan di bidang teknologi informasi maka dibutuhkan investasi yang cukup besar. Sehingga dibutuhkan pemanfaatan teknologi yang tepat untuk mendukung pencapaian tersebut.
3.1.2 Analisis Penyelesaian Masalah
Dari uraian permasalahan , maka dibutuhkan pemanfaaatan teknologi yang tepat untuk mengatasi masalah tersebut. Cloud Computing adalah suatu mekanisme, dimana sekumpulan IT resource yang saling terhubung melalui jaringan internet, baik itu infrastruktur maupun aplikasi. Dengan adanya cloud computing perusahaan maupun perorangan hanya fokus dalam melakukan bisnis dan pengembangan usahanya, sehingga akan dibangung aplikasi e-commerce berbasis cloud computing sebagai software as a service.
3.1.3Deskripsi Sistem
Sistem menyediakan aplikasi e-commerce sebagai software as a service
(SaaS) dalam bentuk Content Management System (CMS). Sistem mempunyai dua bagian yaitu aplikasi cloud provider dan aplikasi
e-commerce. Berikut di ilustrasikan pada sebuah gambar .
3.1.3.1Analisis Sistem yang akan dibangun
Sistem yang akan dibangun mempunyai dua konten yaitu aplikasi provider dan aplikasi e-commerce yang masing – masing mempunyai backend dan
frontend sebagai berikut.
3.1.3.1.1Aplikasi Provider
Aplikasi di provider mempunyai dua konten yaitu back-end dan front-end . bagian back-end pada sistem menyediakan fungsionalitas untuk mengelola data paket, fitur, toko, pembayaran dan data pesan yang dapat dikelola oleh admin. Bagian fron-end pada sistem menyediakan fungsionalitas untuk menampilkan halaman pendaftaran, konfirmasi pembayaran, paket, fitur, panduan dan pesan untuk kebutuhan calon pengguna.
1. Bagian back-end a. Paket
Sistem menyediakan fungisonalitas pengolahan data paket yang dapat dikelola oleh admin cloud. Pada pengolahan data paket, terdapat fungsi untuk menambah dan mengubah. Pengolahan paket terdiri dari nama paket, storage ( kapasitas penyimpanan data), harga sewa dan masa aktif
b. Fitur
Sistem menyediakan fungsionalitas pengolahan data fitur yang dapat dikelola oleh admin admin cloud. Pada pengolahan data fitur, terdapat fungsi untuk menambah dan mengubah. Pengolahan fitur terdiri dari nama fitur dan deskripsi fitur
c. Toko
d. Pembayaran
Pada pengolahan data pembayaran terdapat fungsi untuk melihat, mengubah, mencari dan menghapus data pembayaran, yang terdiri dari id toko, nama bank, no rekening, atas nama, transfer, jumlah transfer, tanggal bayar, deskripsi pembayaran dan status pembayaran
e. Bantuan
Pada pengolahan batuan memiliki fungsi untuk melakukan upgrade
paket, storage dan mengirim pesan dari penyewa etoko.
2. Bagian front-end a. Pendaftaran
Sistem menyediakan fungsi untuk melakukan pendaftaran bagi calon pengguna, pada fungsi ini calon pengguna mengisi nama toko, lama sewa dan email. Sistem secara otomatis mengirim data pembayaran, bank dan no rekening ke email pendaftar.
b. Konfirmasi pembayaran
Sistem menyediakan fungsi untuk kebutuhan calon pengguna maupun pelanggan untuk melakukan konfirmasi pembayaran. Sistem otomatis mengirim email pemberitahuan yang berisi data pembayaran.
c. Paket
Paket berfungsi sebagai informasi kepada pengunjung aplikasi provider untuk mengetahui paket yang disediakan. Selain itu pengunjung dapat memilih paket yang akan dilanjutkan ke proses pendaftaran.
d. Fitur
e. Panduan
Panduan memiliki fungsi untuk menampilkan informasi seperti cara melakukan pendaftaran, konfirmasi pembayaran , dan upgrade paket
f. Bantuan
Sistem menyediakan fungsionalitas bantuan untuk melakukan upgrade
paket, storage dan mengirim pesan yang dilakukan oleh pengguna provider
3.1.3.1.2Aplikasi e-commerce
Aplikasi e-commerce mempunyai dua konten web yaitu back-end dikelola oleh admin toko, dan bagian front-end digunakan oleh pengunjung dan member.
1. Bagian back-end E-Commerce
a. Pengolahan produk
Pengolahan produk mempunyai fungsi untuk menambah, mengubah, menghapus dan mencari data produk, pengolahan produk terdiri dari pengolahan nama produk, kategori produk, berat, harga, diskon, stok, tanggal masuk, gambar produk dan deskripsi produk
b. Pengolahan kategori
Pengolahan kategori mempunyai fungsi untuk menambah mengubah dan menghapus nama kategori.
c. Pengolahan Order
d. Pengolahan retur
Sistem memiliki fungsionalitas pengolahan retur, yaitu member dapat mengklaim produk yang telah dibeli jika produk yang diterima tidak sesuai dengan pembelian. Member akan menginputkan data retur ke dalam sistem dan admin toko
( pengelola toko ) akan mengkorfirmasi status returnya. Retur dapat dilakukan jika status pembelian sudah diterima dan belum melebihi waktu 1x24 jam, terhitung dari tanggal terima pembelian. Produk retur adalah produk yang tidak sesuai pembelian dikarenakan salah produk atau produk yang dikirim rusak saat pengiriman. Produk akan diganti dengan produk yang sama.
e. Pengolahan konfirmasi pembayaran
Pengolahan pembayaran memiliki fungsi untuk mengubah, menghapus data pembayaran dan melihat informasi pembayaran yang dilakukan oleh member maupun non member
f. Pengolahan member
Pengolahan member memiliki fungsi untuk mengubah, mengirim pesan dan melihat informasi data member. Data member terdiri dari email member, nama member, tanggal lahir, alamat, kode pos, kota, dan nomor telepon
g. Pengolahan pesan
Pengolahan pesan memiliki fungsi untuk mengubah, menghapus dan membalas pesan yang dilakukan oleh member, non member dan pengunjung
h. Pengolahan jasa pengiriman
i. Pengolahan paket pengiriman
Pengolahan paket pengiriman memiliki fungsi untuk menambah, menghapus dan mengubah paket pengiriman. Pengolahan paket pengiriman terdiri dari nama paket, lama pengiriman dan nama jasa pengiriman.
j. Pengolahan ongkos pengiriman
Pengolahan ongkos pengiriman memiliki fungsi untuk menambah dan mengubah. Pengolahan ongkos pengiriman terdiri dari kota tujuan pengiriman, jasa pengiriman, paket pengiriman, dan biaya pengiriman
k. Laporan
Sistem menyediakan fungsi untuk mengetahui informasi order, produk yang banyak dilihat, produk yang paling banyak terjual, pendapatan dan statistik pengunjung.
l. Pengolahan provinsi
Pengolahan provinsi memiliki fungsi untuk mengubah dan menghapus nama provinsi
m.Pengolahan kota
Pengolahan kota memiliki fungsi untuk mengubah dan menghapus nama kota
n. Pengolahan bank
o. Pengolahan ym
Pengolahan ym berfungsi untuk mengubah, menambah dan menghapus data ym yang terdiri dari nama pengguna ym dan username ym. Ym berfungsi sebagai salah satu alat untuk berkomunikasi dengan kostumer
p. Pengolahan profil web
Pengolahan profil web berfungsi untuk mengubah data profil web yang terdiri dari nama toko, email toko, alamat toko, keyword, deskripsi toko dan logo.
q. Backup dan restore
Sistem menyediakan fungsionalitas untuk backup dan restore database
dan dilakukan oleh admin took
2. Bagian Front-End E-Commerce
a. Pendaftaran member
Sistem menyediakan fungsionalitas untuk pendaftaran member, dimana pengunjung toko akan menginputkan data pendaftaran member. Sistem akan mengirimkan info pendaftaran member dan kode aktivasi account melalui email server. Untuk memvalidasi user, maka calon member harus melakukan aktivasi account dengan cara membuka email dan mengklik kode aktivasi yang telah dikirimkan. Setelah member melakukan aktivasi, maka status pengunjung berubah menjadi member.
b. Informasi produk
c. Informasi cara beli dan bayar
Infromasi cara beli dan bayar menampilkan informasi mengenai cara pembelian / pemesanan produk dan informasi mengenai cara pembayaran atau melakukan pembayaran. Informasi cara pembelian dan pembayaran dapat dilihat oleh member maupun pengunjung took
d. Informasi cara beli dan bayar
Sistem menyediakan informasi cara melakukan pembelian, pembayaran dan cara melakukan konfirmasi pembayaran melalui form yang disediakan
e. Konfirmasi pembayaran
Sistem menyediakan fungsionalitas untuk melakukan konfrimasi pembayaran melalui form yang disediakan yang terdiri dari no order,
nama bank, no rekening, atas nama, transfer ke rekning tujuan, jumlah transfer, tanggal pembayaran dan keterangan pembayaran
f. Hubungi kami
Sistem menyediakan form untuk mengirim pesan kepada pengelola
e-commerce form yang disediakan terdiri dari nama pengirim, email
pengirim da nisi pesan
g. Keranjang belanja
Keranjang belanja memiliki fungsionalitas untuk informasi pemesanan yang dilakukan yang terdiri dari nama produk, qty , (jumlah produk), jumlah item yang di pesan dan harga
h. Pengiriman
i. Riwayat transaksi
Sistem menyediakan fungsionalitas riwayat transaksi yang dilakukan oleh member yang terdiri dari tanggal order, nama produk, harga total, no resi, jumlah item produk dan status order
j. Data member
Sistem menyediakan fungsionalitas menampilakn informasi data member yang terdiri dari email member, nama member, tanggal lahir, alamat member, kode pos, kota dan nomor telepon
3.1.3.2Paket Dan Fitur
Sebagai layanan Software as a Service sistem menyediakan paket-paket yang sesuai dengan kebutuhan dan kemampuan penggunanya. Paket dan fasilitas yang disediakan sebagai berikut :
Tabel 3.1 Paket Dan Fitur
Fitur
Nama Paket
Pesonal Bisnis
1. Manajemen Produk
2. Manajemen Kategori
3. Manajemen Order
4. Manajemen Pembayaran
5. Manajemen Retur
6. Manajemen Pengiriman
7. Manajemen Member
8. Laporan
9. Pesan
10. Bank
11. Manajemen Kota
12. Manajemen Provinsi
13. Profil web
14. Backup & Restoredatabase
3.1.3.3 Alur Penyewaan
Alur penyewaan dimulai dari memilih paket layanan yang tersedia kemudian mengisi form pendaftaran, paket layanan yang disediakan yaitu paket personal dan paket bisnis. Dari kedua paket tersebut memiliki alur penyewaan sebagai berikut:
a. Calon pengguna mengakses situs etoko.org b. Calon pengguna memilih menu paket
c. Calon pengguna memilih paket personal atau bisnis dengan cara mengklik tombol pilih paket
d. Jika calon pengguna selesai memilih paket maka akan di arahkan ke halaman pendaftaran
e. Calon pengguna mengisi form pendaftaran
f. Jika calon pengguna selesai mengisi form pendaftaran maka sistem akan otomatis mengirim data ID toko yang nantinya di isikan ke form pembayaran, total biaya yang harus dibayar, data bank dan link untuk konfirmasi pembayaran
g. Calon pengguna melakukan pembayaran ke nomor rekening yang dikirimkan melalui email
h. Jika calon pengguna selesai melakukan pembayaran maka calon pengguna mengisi form pembayaran dengan cara memilih menu konfirmasi pembayaran atau mengklik link yang dikirimkan ke email i. Calon pengguna mengisi form konfirmasi pembayaran
j. Jika konfirmasi pembayaran selesai , maka sistem akan otomatis mengirimkan data konfirmasi pembayaran ke email dan menunggu pengelola etoko mengkonfirmasi data pembayaran
k. Pengelola etoko mengecek mengecek rekening yang di transfer oleh calon pengguna
l. Jika dana tersedia maka pengelola etoko akan mengaktifkan toko yang didaftarkan calon pengguna
https://www.etoko.org
Calon pengguna Halaman Paket
Mengakses Memilih Paket Data pembayaran, pendaftaran, bank
Melakukan Pembayaran Melakukan Konfirmasi Pembayaran Form Konfirmasi Pembayaran
Gambar 3.2 gambaran umum alur penyewaan 3.1.3.4Alur Pembelian Produk
a. Calon pembeli memilih produk
b. Calon pembeli memilih tombol beli untuk membeli produk c. Calon pembeli memilih tombol detail untuk melihat detail
produk
d. Jika calon pembeli klik tombol beli maka akan di arahkan ke halaman keranjang belanja
e. Calon pembeli klik selesai belanja, jika sebelumnya sudah login maka akan diarahkan ke halaman pengiriman, jika belum login maka akan diarahkan ke halaman login
f. Jika calon pembeli belum menjadi member maka calon pembeli klik tombol daftar
g. Calon pembeli mengisi jasa pengiriman, paket pengiriman dan metode pembayaran
h. Setelah selesai mengisi form pengiriman maka sistem akan otomatis mengirimakan detail pembayaran ke email calon pembeli
i. Calon pembeli melakukan pembayaran sesuai total biaya yang dikirimkan ke email
j. Setelah melakukan pembayaran calon pembeli melakukan konfirmasi pembayaran melalui form yang disediakan k. Calon pembeli menunggu pengelola toko menyetujui
3.1.4Analisis Software As A Service (SaaS)
Pada sub bab ini menjelaskan tentang perancangan system yang mengimplementasikan aplikasi e-commerce sebagai software as a service. Untuk dapat dikatakan sebagai layanan software as a service maka perangkat lunak ini harus memenuhi beberapa karakteristik, sebagai berikut :
1. Berbasis internet : aplikasi yang dibangun dapat diakses oleh pengguna melalui internet
2. Perangkat lunak yang dibangung terpusat, sehingga pengguna dapat mengakses darimana saja, kapan saja dan dari device apapun.
3. Aplikasi yang ditawarkan oleh penyedia layanan bersifat one to many
atau multi-tenant.
Untuk memenuhi karakteristik dari software as a service pada point ke 3 dibutuhkan model multi-tenant yang akan dijelaskan pada sub bab berikut
3.1.4.1 Multi-tenant Models
Terdapat 3 jenis multitenant models yang memiliki kelebihan dan kekurangan masing-masing yaitu :
Gambar 3.3 multitenant models
1. Separate application and separate databases (aplikasi dan
2. One shared application and separate databases (satu aplikasi bersama dan database terpisah)
3. One shared application and one shared databases (aplikasi
dan database digunakan bersama-sama)
Setelah melakukan beberapa analisis terkait multi-tenant maka pada implementasi software as a service pada sistem provider ini menerapkan
Separate application and separate databases. Berikut beberapa alasan
memilih multi-tenant models tersebut :
a. Mudah untuk memastikan data pengguna tidak tercampur dengan pengguna lain.
b. Mudah untuk melakukan modifikasi aplikasi ke pengguna tertentu.
c. Mudah untuk melakukan modifikasi database ke pengguna tertentu.
d. Dari sisi keamanan lebih baik, karena jika terjadi bug pada aplikasi e-commerce salah satu pengguna maka tidak mempengaruhi pengguna lain.
3.1.5 Analisis Non Fungsional
Analisis non fungsional adalah analisis yang menggambarkan kebutuhan sistem yang menitik beratkan pada perilaku yang dimiliki oleh sistem, diantaranya kebutuhan pengguna, perangkat keras (hardware) dan perangkat lunak (software) sebagai bahan analisis kekurangan dan kebutuhan yang harus dipenuhi dan diterapkan pada sistem.
3.1.5.1 Analisis pengguna
sehingga dapat memperjelas fungsionalitas dari sistem yang akan dikembangkan dan dapat diketahui tingkat pemahaman user terhadap computer. Analisis kebutuhan pengguna dapat dilihat pada tabel 3.2 sebagai berikut :
Table 3.2 analisis kebutuhan pengguna
Pengguna Tugas Hak Akses Keterampilan Pengalaman
Admin
cloud
Mengelola,
mengontrol
aplikasi cloud
computing
Mengelola data
produk,
Membeli produk Mengerti internet Pernah melakukan
pembelian melalui
aplikasi
e-commerce
Pengguna Tugas Hak Akses Keterampilan Pengalaman
Pengunjung
Mengerti internet Pernah melakukan
pembelian melalui
aplikasi
e-commerce
(bukan
sebagai
member)
pembayaran commerce
Pengunjung
Mengerti internet Pernah
menggunakan
aplikasi berbasis
web
3.1.5.2AnalisisPerangkat Keras
Untuk membangun sistem diperlukan virtual private server (VPS), karena di dalam arsitektur SaaS diperlukan layer-layer yang ada pada arsitektur PaaS dan IaaS. Spesifikasi VPS dijelaskan pada tabel 3.3
Tabel 3.3 Kebutuhan virtual private server (VPS)
Perangkat Keras Spesifikasi dan keterangan
Operating System Centos 6.4 64 bit
Hardisk 100 GB
RAM 20 GB
CPU Core 4
CPU Speed 2.13 GHz
Transfer Quota Unlimited
Berikut ini adalah minimal kebutuhan perangkat keras yang disarankan untuk mengakses sistem etoko, dapat dilihat pada tabel 3.4
Tabel 3.4 Kebutuhan perangkat keras akses pengguna provider Perangkat Keras Spesifikasi dan keterangan
Prosesor Intel Pentium 4
Memori 512 MB
VGA Ob-Board
Hardisk 80 GB
Kartu Jaringan, Hub/Switch, Router dan modem
Untuk akses internet
3.1.5.3 Analisis Perangkat Lunak
Spesifikasi perangkat lunak untuk membangun dan megnakses sistem etoko adalah sebagai berikut:
Table 3.5 Kebutuhan akses pengguna aplikasi provider
Perangkat lunak Spesifikasi
Sistem Operasi Windows XP service pack 2
Browser Mozilla Firefox, Google Chrome,
Safari
Table 3.6 Kebutuhan perangkat lunak untuk membangun sistem
Perangkat Lunak Spesifikasi
Sistem Operasi Ubuntu 13.10
Browser Mozilla Firefox, Google Chrome
Editor Sublime Text 2
DBMS Mysql
Web Server Apache
Bahasa Pemrograman PHP5, CSS, HTML, JavaScript
3.1.6 Analisis Basis Data
Admin_e-commerce
Mengelola Mengelola
Mengelola
ym Mengelola Mengelola Profil
Id_ym
paketfitur memiliki toko
memiliki
Entitas serta relasi pada Entity Relationship Diagram (ERD) provider memiliki atribut yang dijelaskan pada tabel 3.7
Tabel 3.7 atribut Entity Relationship Diagram (ERD) provider
No Entitas Atribut
1 Kategori Id_kategori, nama_kategori
2 Produk id_produk, nama_produk, harga_produk, gambar_produk, stok_produk,produk_seo, berat_produk, diskon_produk, deskripsi_produk, tgl_masuk_produk, status_produk, id_kategori 3 Bank id_bank, nama_bank, norek_atas nama
4 Jasa_pengiriman Id_jasa, nama_jasa_pengiriman 5 Paket_Pengiriman Id_paket, nama_paket, id_jasa
6 Ongkos_Kirim Id_ongkos, id_paket, id_kota, ongkos_kirim 7 Kota Id_kota, nama_kota, id_provinsi
8 Provinsi Id_provinsi, nama_provinsi
9 order id_order, id_member, id_ongkos, status_order, tgl_order, jam_order, total_bayar, id_pengiriman, batas_retur
10 keranjang id_keranjang, id_produk, id_session,jumlah, tgl_order_keranjang, stok_keranjang
11 Detail_order id_order, id_produk, jumlah
12 Retur id_retur, id_pemesanan, tgl_retur, status_retur 13 Detail_retur id_detailretur, id_retur, id_detail, jml_retur,
gambar_retur
14 Pembayaran id_pembayaran, id_order, tgl_bayar, jml_bayar, jenis_transfer, rek_member, atas_nama, status_bayar, id_bank
15 Ym Id_ym, user_ym, nama_ym
No Entitas Atribut 17 Admin_cloud Username, password
18 Member id_member, user_member, pass_member,
email_member, nama_member, alamat_member, jk_member, kodepos_member, telp_member, status_member
19 Pesan Id_pesan, nama_pengirim, email_pengirim, isi_pesan, status_pesan, id_member
20 Profil Id_profil, nama_toko, deskripsi, keyword, email_toko, no_telp, alamat_toko, logo
21 Bantuan Id_bantuan, jenis_bantuan, tgl_bantuan, keterangan_bantuan, status_bantuan
22 Toko id_toko, nama_toko, email_toko, password, id_paket, tanggal aktif, tanggal_daftar, lama_sewa,
tanggal_berakhir, total_bayar, status
23 Pembayaran_cloud id_pembayaran, nama_bank, norek_toko, atas_nama, transfer_ke, tgl_pembayaran, id_toko
24 Paket Id_paket, nama_paket, storage,harga, masa_aktif 25 Paketfitur Id_paket, id_fitur
26 Fitur Id_fitur, deskripsi fitur
3.1.7 Analisis Fungsional
3.1.7.1 Diagram Konteks
Cloud E-Commerce Admin cloud
Member info nama bank,info norek, info atas nama, info jumlah transfer, info tanggal transfer, info status pembayaran, info status order, info tgl order, info jam order,info no resi, info nama kota ,info email member, info pass member, info nama member, info tanggal lahir, info alamat member, info kode pos,
info no telp, nama pengirim, info email pengirim, info isi pesan, info status pesan, info nama jasa pengiriman, info jumlah
Admin e-commerce
info_username, info_password, info_nama_paket, info_storage, info_masa_aktif, info_harga, info_aktif, info_nama_fitur, info_deskripsi_fitur, info fitur yang ingin dilihat, info_nama_bank, info_norek, info_transfer, info_jumlah_transfer, info_tanggal_bayar, info_deskripsi_bayar ,info_status_bayar, info_status
data_username, data_password, data_nama_paket, data_storage, data_masa_aktif, data_harga, data_aktif, data_nama_fitur, data_deskripsi_fitur, data fitur yang ingin dilihat, data_nama_bank, data_norek, data_transfer, data_jumlah_transfer, data_tanggal_bayar, data_deskripsi_bayar, data_status_bayar, data_status
Info nama kategori, Info kategori yang akan ditambah, Info kategori yang akan dihapus, Info nama produk, Info deskripsi produk, Info harga produk, Info stok produk, Info berat produk,
Info tanggal masuk, Info gambar, Info dibeli, Info produk yang akan ditambah,
Info produk yang ingin dilihat, Info produk yang akan dihapus, Info nama bank, Info norek, Info atas nama, Info bank yang akan ditambah,Info bank yang akan dihapus, Info pesan yang Ingin dilihat, Info pesan yang akan diubah, Info pesan yang akan dihapus, Info status pesan,
Info nama jasa pengiriman,Info jasa pengiriman yang akan dihapus, Info jasa pengiriman yang akan diubah, Info nama kota, Info kota yang akan ditambah, Info kota yang akan dihapus,
Info harga kirim, Info ongkos kirim yang akan dihapus, Info ongkos kirim yang akan diubah, Info ongkos kirim yang akan dihapus, Info nama paket, Info lama kirim, Info paket pengiriman yang akan ditambah, Info pengiriman yang akan dihapus, Info status pembayaran, Info status pembayaran yang akan diubah, Info pembayaran yang akan dihapus, Info nama toko, Info deskripsi toko, Info keyword, Info email toko, Info telp toko, Info alamat toko, Info logo, Info profil yang akan diubah, Info nama provinsi, Info provinsi yang akan ditambah, Info privinsi yang akan dihapus, Info nama ym,
Info user ym, Info ym yang akan ditambah, Info ym yang akan dihapus Info ym yang akan diubah
Mail server
data nama kategori, data kategori yang akan ditambah, data kategori yang akan dihapus, data nama produk, data deskripsi produk, data harga produk, data stok produk, data berat produk,
data tanggal masuk, data gambar, data dibeli, data produk yang akan ditambah,
data produk yang ingin dilihat, data produk yang akan dihapus, data nama bank, data norek, data atas nama, data bank yang akan ditambah, data bank yang akan dihapus, data pesan yang Ingin dilihat, data pesan yang akan diubah, data pesan yang akan dihapus, data status pesan,
data nama jasa pengiriman, data jasa pengiriman yang akan dihapus, data jasa pengiriman yang akan diubah, data nama kota, data kota yang akan ditambah, data kota yang akan dihapus,
data harga kirim, data ongkos kirim yang akan dihapus, data ongkos kirim yang akan diubah, data ongkos kirim yang akan dihapus, data nama paket, data lama kirim, data paket pengiriman yang akan ditambah, data pengiriman yang akan dihapus, data status pembayaran, data status pembayaran yang akan diubah, data pembayaran yang akan dihapus, data nama toko, data deskripsi toko, data keyword, data email toko, data telp toko, data alamat toko, data logo, data profil yang akan diubah, data nama provinsi, data provinsi yang akan ditambah, data privinsi yang akan dihapus, data nama ym,
data user ym, data ym yang akan ditambah, data ym yang akan dihapus data ym yang akan diubah data nama bank, data norek, data atas nama, data jumlah transfer, data tanggal transfer, data status pembayaran,
data status order, data tgl order, data jam order, data no resi, data nama kota, data email member, data pass member, data nama member, data tanggal lahir, data alamat member, data kode pos,
data no telp, nama pengirim, data email pengirim, data isi pesan, data status pesan, data nama jasa pengiriman, data jumlah
Pengunjung e-commerce
Data_email_member, Data_pass_member, data_nama_member, Data_tanggal_lahir, Data_alamat_member, Data_kodepos Data_no_telp, Data_kota, Data_nama_produk, Data_tgl_order, Data_status_order, Data_jam_order, Data_no_resi, Data_ongkos_kirim Data_produk, Data_pesan, Data_pembayaran
info_email_member, info_pass_member, info_nama_member, info_tanggal_lahir, info _alamat_member, info_kodepos info_no_telp, info_kota, info_nama_produk, info_tgl_order, info_status_order, info_jam_order, info_no_resi, info_ongkos_kirim info_produk, info_pesan, info_pembayaran
Pengunjung provider
data_nama_paket, data_storage, data_masa_aktif, data_harga, data_aktif, data_nama_fitur, data_deskripsi_fitur, data_nama_bank, data_norek, data_transfer, data_jumlah_transfer, data_tanggal_bayar, data_deskripsi_bayar, data_status_bayar, data_status, data_nama_toko, data_tanggal_daftar, data_email_toko, data_pasword, data_lama_sewa, data_total_bayar
info_nama_paket, info_storage, info_masa_aktif, info_harga, info_aktif, info_nama_fitur, info_deskripsi_fitur, info_nama_bank, info_norek, info_transfer, info_jumlah_transfer, info_tanggal_bayar, info_deskripsi_bayar, info_status_bayar, info_status, info_nama_toko, info_tanggal_daftar, info_email_toko, info_pasword, info_lama_sewa, info_total_bayar