Implementasi Cloud Computing Software As A Service Pada Aplikasi E-Commerce

IMPLEMENTASI CLOUD COMPUTING
SOFTWARE AS A SERVICE
PADA APLIKASI E-COMMERCE

SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana

EKA WIBAWA
10109407

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
2014

DAFTAR ISI
ABSTRAK ................................................................................................................ i
ABSTRACT .............................................................................................................. ii
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
2.1

LANDASAN TEORI ............................................................................ 9
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

2.2

E-Commerce ........................................................................................... 15

v

2.3

Content Management System (CMS) ...................................................... 16

2.4

Model Analisis ........................................................................................ 16

2.4.1

Entity Relationship Diagram (ERD) ................................................ 16


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
3.1

ANALISIS DAN PERANCANGAN SISTEM ................................... 29
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

3.1.4

Analisis Software As A Service (SaaS) ............................................ 41

vi

3.1.4.1

Multi-tenant Models......................................................................... 41

3.1.5

Analisis Non Fungsional ................................................................. 42

3.1.5.1

Analisis pengguna............................................................................ 42


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
4.1

IMPLEMENTASI DAN PENGUJIAN............................................. 173
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

4.1.2

Skenario Pengujian Blackbox ........................................................ 192

vii

4.5

Pengujian Beta ...................................................................................... 203

4.5.1

Skenario Pengujian Beta ................................................................ 193

4.5.2

Kesimpulan Pengujian Beta ........................................................... 210

BAB 5

KESIMPULAN DAN SARAN ......................................................... 211

5.1

Kesimpulan ........................................................................................... 211

5.2

Saran ..................................................................................................... 212

DAFTAR PUSTAKA .......................................................................................... 213

viii

DAFTAR PUSTAKA
[1] Sommerville, Ian. 2011. Software Engineering 9th Edition. Pearson :
Boston.
[2] Website computerwekly http://www.computerweekly.com/feature/Ahistory-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

Asynchronouse Javascript dan XML.ANDI : Yogyakarta

Ϯϭϯ

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/

Diakses Pada tanggal 8 Agustus 2012, jam 09.00 WIB

Ϯϭϰ

KATA PENGANTAR

Puji dan syukur penulis panjatkan ke hadirat Allah SWT atas rahmat dan
karunia-Nya Sehingga penulis dapat menyelesaikan skripsi yang berjudul
“Implementasi Cloud Computing Software as a Service Pada Aplikasi ECommerce” .
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
6. Bapak Irfan Maliki, S.T., M.T. selaku dosen penguji 3 yang telah
memberikan saran dan masukan kepada penulis

iii

7. Ibu Sufa'atin, S.T., M.Kom. selaku dosen wali kelas IF-10 angkatan
2009
8. Seluruh dosen pengajar dan staf tata usaha program studi teknik
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

Penulis

iv

BAB 1
PENDAHULUAN

1.1 Latar Belakang 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 ecommerce 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
infrastructure as a Service (IaaS) sebagai media penyimpanan data. Dengan
1

2

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
(SaaS) dalam bentuk Content Management System (CMS) dengan fiturfitur yang siap pakai, sehingga dapat mempermudah pengguna dalam
membangun aplikasi e-commerce.

3

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.
f. Biaya pengembalian produk (return) ditangani di luar sistem.

4

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
Teknik pengumpulan data dengan cara mengadakan wawancara
langsung kepada orang yang ahli dengan pembahasan materi cloud
computing.

5

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)
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. Pengujian sistem merupakan penyatuan unit-unit
program kemudian diuji secara keseluruhan.

6

e. Operation and Maintenance (Operasi dan Pemeliharaan)
Pemeliharaan yaitu penerapan secara keseluruhan disertai pemeliharaan
jika terjadi perubahan struktur baik dari segi software maupun
hardware.

Gambar 0.1 Model Waterfall [1]

7

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 penelitianpenelitian 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 implementasi dan pengujian sistem, menjelaskan tentang hasil
implementasi dari analisis dan perancangan sistem kedalam bentuk bahasa
pemrograman. Serta kebutuhan perangkat keras dan perangkat lunak yang
diperlukan dalam pengembangan sistem.

8

BAB 5 KESIMPULAN DAN SARAN
Bab ini menjelaskan tentang kesimpulan dan saran berdasarkan tujuan yang
ingin dicapai dan saran yang dapat diberikan untuk sistem yang telah
dibangun, tujuannya adalah agar dapat dilakukan perbaikan-perbaikan
dimasa yang akan datang sehingga menghasilkan sistem yang lebih baik
daripada sistem yang sudah dibangun sebelumnya.

BAB 2
LANDASAN TEORI
2.1 Cloud Computing
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 bureaus yang sudah ada sejak tahun „60-an.
Semenjak tahun „60-an, cloud computing telah berkembang
berdampingan dengan perkembangan Internet dan Web. Namun karena
terjadi perubahan teknologi bandwidth yang cukup besar pada tahun 1990an, maka Internet lebih dulu berkembang dibanding cloud computing. Dan
kini teryata terlihat bahwa pendorong utama cloud computing adalah karena
adanya revolusi Internet. Salah satu batu loncatan yang cukup drastis adalah
dengan adanya Salesforce.com di tahun 1999, yang merupakan pencetus
pertama aplikasi perusahaan dijalankan melalui Internet. Perkembangan
berikutnya adalah adanya Amazon Web Services di tahun 2006, di mana
9

10

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
mengakses jaringan sesuai keperluan ke dalam wadah bersama sumber daya
komputasi yang dapat dikonfigurasi dengan cepat dan dirilis dengan upaya
manajemen yang minimal atau minimal interaksi antar penyedia jasa
manajemen [3].

11

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 bersamasama

oleh

beberapa

organisasi

yang

memiliki

kesamaan

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
berdiri sendiri, tapi dihubungkan oleh suatu teknologi / mekanisme
yang memungkinkan portabilitas data dan aplikasi antar Cloud itu.
Misalnya, mekanisme load balancing yang antar Cloud, sehingga

12

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
diinginkan setiap saat [3].

13

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
pelanggan dapat menggunakan software (perangkat lunak) yang telah

14

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)
Keuntungan: mudah untuk memastikan data klien/pengguna
tidak tercampur dengan klien/pengguna lain, mudah untuk

15

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 mengupdate databse 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-tailers line ritel dan kadang-kadang dikenal sebagai e-tail. Hampir semua
pengecer besar telah memanfaatkan e-commerce pada World Wide
Web.Elecronic Commerce pada umumnya dianggap sebagai aspek

16

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)
Atribut sering juga disebut sebagai properti (property) merupakan
keterangan-keterangan yang terkait pada sebuah entitas yang perlu
disimpan sebagai basis data. Atribut berfungsi sebagai penjelas sebuah
entitas [7].

17

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
1

Nama Simbol
Persegi panjang

Fungsi
Menyatakan

suatu

Simbol
himpunan

entitas

2

Lingkaran/Elip

Menyatakan atribut (atribut yang
berfungsi sebagai key digaris
bawahi)

3

Belah ketupat

Menyatakan himpunan relasi

4

Garis

Sebagai
himpunan

penghubung

antara

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
dapat berelasi dengan entitas pada entitas lain, terdapat 3 macam
kardinalitas relasi, yaitu [8] :

18

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
NID
NID

1

1

Dosen

Kepalai

Jurusan

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

NID
NID

Kd_Mk

M

1

Dosen

Ajar

Kuliah

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

NIM

NIM

Kd_Mk
Kd_Mk

M

Mahasiswa

M

Ajar

Kuliah

Gambar 2.4 Diagram kardinalitas many to many

19

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].
4. Simpanan Data ( Data Store)

20

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

1

Arus Data

2

Proses

3

Simpanan Data ( Data Store)

4

Entitas Luar

2.4.4

Simbol

Kamus Data

Kamus data atau data dictionary adalah katalog fakta tentang data dan
kebutuhan-kebutuhan informasi dari suatu sistem informasi. Dengan
menggunakan kamus data, analisis sistem dapat mendefinisikan data yang
mengalir di sistem dengan lengkap. Pada tahap perancangan sistem, kamus

21

data dapat digunakan untuk merancang input, output, dan merancang
database program. Kamus data dibuat berdasarkan arus data yang ada [8].
Database (Basis Data)

2.5

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;
c. Alter : mysql > ALTER nama_tabel alter_spesifikasi kondisi;

22

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)
DML adalah sebuah metode query yang dapat digunakan apabila
DDL telah terjadi, sehingga fungsi dari query ini adalah untuk

23

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
digunakan untuk membuat halaman web. Sebenarnya HTML bukanlah
sebuah bahasa pemrograman. Apabila di tinjau dari namanya, HTML
merupakan bahasa markup atau penandaan terhadap sebuah dokumen teks.
Tanda tersebut di gunakan untuk menentukan format atau style dari teks
yang di tandai. HTML dibuat oleh Tim Berners-Lee ketika masih bekerja
untuk CERN dan dipopulerkan pertama kali oleh browser Mosaic. Selama
awal tahun 1990 HTML mengalami perkembangan yang sangat pesat.
Setiap pengembangan HTML pasti akan menambahkan kemampuan dan
fasilitas yang lebih baik dari versi sebelumnya. Sebelum suatu HTML
disahkan sebagai suatu dokumen HTML standar, ia harus disetujui dulu oleh
W3C untuk dievaluasi secara ketat. Setiap terjadi perkembangan suatu versi
HTML, maka mau tak mau browser pun harus memperbaiki diri agar bisa
mendukung kode-kode HTML yang baru tersebut. Sebab jika tidak, browser
tak akan bisa menampilkan HTML tersebut. [10].

24



Contoh penulisan:

Ini Html


Hello word

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 .
3. File PHP dapat menginduk atau disisipkan pada bahasa script
lainnya atau dapat berdiri sendiri.
Contoh penulisan: