berbasis Web
SKRIPSI
Diajukan Oleh :
IVAN AFFANDY HARTOYO
NPM : 0634010032
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
RANCANG BANGUN APLIKASI E-COMMERCE BOOKSTORE DENGAN
INISIATIF CROSS SELLING BERBASIS WEB
Penyusun : Ivan Affandy Hartoyo
Pembimbing I : Moh. Irwan Afandi, ST, MSc
Pembimbing II : Wahyu S.J. Saputra, S.Kom
ABSTRAK
Sekarang ini banyak sekali dijumpai proses perdagangan melalui internet. Perusahaan pemakai yang satu dan yang lainnya tentu saling bersaing mendapatkan pelanggan baru. Secara realistis, mempertahahankan pelanggan lama tentu lebih mudah daripada harus mencari pelanggan baru. Diperlukan analisa tentang pelanggan agar mudah dalam mendapatkan produk yang dicari.
Dalam skripsi ini dibuat aplikasi E-Commerce bookstore dengan inisiatif
Cross Selling dengan memberikan Suggest kepada pelanggan tentang produk yang
berkaitan dengan produk yang dilihat secara historikal transaksi. Dengan asumsi agar menarik minat mereka untuk melihat atau bahkan membeli produk yang ditawarkan.
Uji kelayakan aplikasi dilakukan dengan melakukan serangkaian skenario, dan dari hasil uji coba menunjukkan bahwa aplikasi dapat memberikan sugesti kepada pelanggan dengan menawarkan produk yang berkaitan dengan produk yang dilihat melalui pengolahan data transaksi.
Keywords:E-Commercebookstore, Customersuggest, InisiatifCrossSelling.
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT, atas Rahmat, Hidayah
serta InayahNya, sehingga penulis dapat menyelesaikan penulisan Laporan tugas
akhir ini dengan baik dan benar.
Penyusunan Laporan Tugas Akhir ini merupakan prasyarat dalam
mengambil Tugas Akhir di Fakultas Teknologi Industri Jurusan Sistem Informasi
Universitas Pembangunan Nasional “Veteran” Surabaya Jawa Timur. Dan
selesainya laporan ini tak luput dari bantuan banyak pihak, untuk itu ucapan
terima kasih penulis tujukan kepada:
1. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN
“Veteran” Jawa Timur.
2. Bapak Basuki Rachmat, SSi, MT selaku Ketua Jurusan Teknik Informatika
UPN “Veteran” Jawa Timur.
3. Bapak Moh. Irwan Afandi S.kom, M.Kom selaku Dosen Pembimbing I
Laporan Dan Program Skripsi yang telah meluangkan begitu banyak waktu,
tenaga dan pikiran serta dengan sabar membibing penulis dari awal hingga
terselesainya Laporan Skripsi / Tugas Akhir (TA) ini.
4. Bapak Wahyu S.J.. Saputra, S.Kom selaku Dosen Pembimbing II Laporan dan
Program Skripsi yang telah meluangkan begitu banyak waktu, tenaga dan
pikiran serta dengan sabar membimbing penulis dari awal hingga terselesainya
Laporan Skripsi / Tugas Akhir ini.
5. Kedua orang tua tercinta, atas semua doa, materil, dukungan serta
harapan-harapanya pada saat penulis menyelesaikan Skripsi dan laporan ini. Yang
penulis minta hanya doa restunya, sehingga penulis bisa membuat sesuatu
yang lebih baik dari laporan ini.
6. Dosen – Dosen Jurusan Teknik Informatika UPN “VETERAN” JATIM, yang
telah membuat kami membuka pikiran dan merubah pola pikir kami.
7. Kepada yang ada Selalu dihati Reyna Affandy Chelsea terima kasih atas
suport selama ini. I Love U...
8. Seluruh Teman Jurusan Informatika Dan Sistem Informasi, segenap genk
bodrex ( samid, sukev, sandi, hawe, ajenk), segenap team @rsi (mbot, hasim,
ujek, sukev, ajik, ferdy, uciel, teller, sinyo, jemblunk, pakdhe ) dan genk
master (unyil dan juncyboy).
Dan tak lupa kepada semua pihak yang telah memotivasi dan membantu
penulis dalam melaksanakan Tugas Akhir serta penyusunan laporan ini. Semoga
Allah SWT senantiasa memberi limpahan HidayahNya kepada kita semua, amiiin.
Penulis menyadari bahwa laporan ini masih jauh dari kata sempurna, untuk itu
kritik dan saran yang membangun penulis harapkan dari para pembaca untuk
pembenahan laporan ini. Akhirnya penulis berharap agar hasil laporan ini
bermanfaat bagi para pembaca pada umumnya, dan bagi para penulis khususnya,
serta mampu memberikan sumbangsih bagi kemajuan keluarga besar Teknik
Informatika UPN “Veteran” JATIM, Amin
Surabaya, November 2010
Penulis
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... xi
BAB I PENDAHULUAN ... 1
1.1.Latar Belakang ... 1
1.2.Perumusan Masalah ... 2
1.3.Batasan Masalah ... 2
1.4.Tujuan ... 3
1.5.Manfaat ... 3
1.6.Sistematika Penulisan ... 4
BAB II TINJAUAN PUSTAKA ... 6
2.1.Pengertian E-Commerce ... 6
2.1.1.Kelebihan E-Commerce... 7
2.1.2.Konsep Cross Selling... 8
2.2.Pengertian PHP ... 9
2.2.1.Syntax PHP ... 10
2.2.2.Variabel PHP ... 12
2.2.3.String di PHP ... 13
2.2.4.Operator di PHP... 13
2.2.4.1.Arithmetic Operator (Operator Aritmatika)... 13
2.2.4.2.Variable Assignment Operator... 14
2.2.4.3.Comparison Operator (Operator Perbandingan) .. 14
2.2.4.4.Logical Operator (Operator Logika) ... 15
2.2.5.Control Structures di PHP... 16
2.3.MySQL ... 18
2.3.1.Kelebihan MySQL ... 19
2.3.2.Kenektivitas PHP-MySQL ... 20
2.4.Xampp ... 21
BAB III ANALISA DAN PERANCANGAN SISTEM ... 22
3.1.Analisa Sistem ... 22
3.1.1.Admin Web... 23
3.1.2.Customer ... 23
3.2.Perancangan Sistem ... 24
3.2.1.Flow Chart ... 24
3.2.1.1.Flowchart Admin Menerima Proses Order ... 25
3.2.1.2.Flowchart Customer Dalam Memesan Produk ... 26
3.2.2.Perancangan Proses (Data Flow Diagram (DFD)) ... 27
3.2.2.1.Konteks Diagram ... 28
3.2.2.2.DFD Level 1 ... 28
3.2.2.3.DFD Level 2... 30
3.2.2.3.1. Proses Registrasi ... 30
3.2.2.3.2. Proses Login ... 31
3.2.2.3.3. Proses Managemen Data ... 32
3.2.2.3.4. Proses Order ... 33
3.2.2.3.5. Proses Menampilkan Data ... 34
3.2.3.Perancangan Database ... 35
3.2.3.1.Conceptual Data Model ( CDM ) ... 35
3.2.3.2.Physical data model (PDM ) ... 36
3.2.4.Perancangan Struktur File ... 37
3.3.Perancangan Antarmuka ... 38
3.3.1.Antar Muka Home ... 38
3.3.2.Antar Muka detail Produk... 39
3.3.3.Antar Muka Keranjang Belanja ... 40
3.3.4.Antar Muka Menu Admin Web ... 40
BAB IV IMPLEMENTASI SISTEM ... 42
4.1.Lingkungan Implementasi ... 42
4.2.Implementasi Data ... 42
4.2.1.Tabel Admin ... 43
4.2.2. Tabel Pelanggan ... 43
4.2.3.Tabel Produk ... 44
4.2.4.Tabel Kategori ... 46
4.2.5.Tabel Pengarang... 46
4.2.6.Tabel Penerbit ... 47
4.3.Implementasi Antar Muka ... 54
4.3.1.Form Tampilan Home ... 54
4.3.2.Form Pendaftaran Member dan Form Login ... 56
4.3.3.Form Produk Detail dan Suggest ... 58
4.3.4.Form Produk per-kategori... 59
4.3.5.Form Keranjang Belanja ... 59
4.3.6.Form FAQ... 60
4.3.7.Form Profil ... 61
4.3.8.Form Hubungi... 62
4.3.9.Form Admin Login ... 63
4.3.10.Form Admin Home ... 64
4.3.11.Form Admin Menu Managemen Modul ... 65
4.3.12.Form Admin Menu Managemen User ... 65
4.3.13.Form Admin Menu Pelanggan ... 66
4.3.14.Form Admin Menu Produk ... 67
4.3.15.Form Admin Menu Kategori ... 67
4.3.16.Form Admin Menu Pengarang ... 68
4.3.17.Form Admin Menu Penerbit ... 68
4.3.18.Form Admin Menu Order ... 69
4.3.19.Form Admin Menu Order Detail ... 69
4.3.20.Form Admin Menu Komentar ... 70
4.3.21.Form Admin Menu Kota ... 71
4.3.22.Form Admin Menu Hubungi ... 72
4.3.23.Form Admin Menu Banner ... 72
BAB V UJI COBA DAN EVALUASI ... 73
5.1.Lingkungan Uji Coba ... 73
5.2.Skenario Uji Coba ... 73
5.3.Pelaksanaan Uji Coba ... 74
5.3.1.Pelaksanaan Uji Coba Registrasi Pelanggan... 74
5.3.2.Pelaksanaan Uji Coba Registrasi Admin ... 76
5.3.3.Pelaksanaan Uji Coba Login Pelanggan ... 78
5.3.4.Pelaksanaan Uji Coba Login Admin... 79
5.3.5.Pelaksanaan Uji Coba Pencarian Produk... 79
5.3.6.Pelaksanaan Uji Coba Order... 81
5.3.7.Pelaksanaan Uji Coba Memberikan Komentar... 84
5.3.8.Pelaksanaan Uji Coba Mengirim Pesan... 85
5.3.9.Pelaksanaan Uji Coba Logout Pelanggan ... 86
5.3.10.Pelaksanaan Uji Coba Logout Admin... 87
5.4.Evaluasi... 88
BAB VI PENUTUP ... 89
6.1.Kesimpulan ... 89
6.2.Saran ... 89
DAFTAR PUSTAKA ... 91
DAFTAR GAMBAR
Gambar 3.1. Proses bisnis dengan E-Commerce ... 22
Gambar 3.2. Flowchart Admin Dalam Menerima Proses Order ... 25
Gambar 3.3. Flowchart Customer dalam memesan produk ... 26
Gambar 3.4. Konteks Diagram ... 28
Gambar 3.5. DFD Level 1 ... 29
Gambar 3.6. DFD Level 2 Proses Registrasi ... 30
Gambar 3.7. DFD Level 2 Proses Login... 31
Gambar 3.8. DFD Level 2 Proses Managemen Data... 32
Gambar 3.9. DFD Level 2 Proses Order... 33
Gambar 3.10. DFD Level 2 Proses Menampilkan Data ... 34
Gambar 3.11. CDM ... 36
Gambar 3.12. PDM ... 37
Gambar 3.13. Form Home ... 39
Gambar 3.14. Form Detail Produk... 39
Gambar 3.15. Form Keranjang Belanja ... 40
Gambar 3.16. Form Menu Admin Web ... 41
Gambar 4.1. Halaman Home ... 55
Gambar 4.2. Form Pendaftaran Member ... 56
Gambar 4.3. Form Halaman Login ... 57
Gambar 4.4. Form Halaman Produk Detail dan Suggest... 58
Gambar 4.5. Form Produk per-kategori... 59
Gambar 4.6. Form Keranjang Belanja ... 60
Gambar 4.7. Form FAQ ... 61
Gambar 4.8. Form Profil... 62
Gambar 4.9. Form Form Hubungi ... 63
Gambar 4.10. Form Login Admin ... 64
Gambar 4.11. Form Login Admin ... 64
Gambar 4.12. Form Admin Menu Managemen Modul ... 65
Gambar 4.13. Form Admin Menu Managemen User ... 66
Gambar 4.14. Form Admin Menu Pelanggan ... 66
Gambar 4.15. Form Admin Menu Produk ... 67
Gambar 4.16. Form Admin Menu Kategori... 67
Gambar 4.17. Form Admin Menu Pengarang... 68
Gambar 4.18. Form Admin Menu Penerbit ... 68
Gambar 4.19. Form Admin Menu Order ... 69
Gambar 4.20. Form Admin Menu Order Detail ... 70
Gambar 4.21. Form Admin Menu Komentar... 71
Gambar 4.22. Form Admin Menu Kota... 71
Gambar 4.23. Form Admin Menu Hubungi ... 72
Gambar 4.24. Form Admin Menu Banner ... 72
Gambar 5.1. Mengisi Form Registrasi Pelanggan ... 74
Gambar 5.2. Verifikasi data pelanggan... 75
Gambar 5.3. Data Pelanggan Masuk ke dalam Sistem ... 76
Gambar 5.4. Uji Coba Registrasi Admin ... 77
Gambar 5.5. Data Admin/User Masuk ke dalam Sistem ... 77
Gambar 5.6. Proses Login Pelanggan ... 78
Gambar 5.7. Verifikasi Login Pelanggan ... 78
Gambar 5.8. Uji Coba Login Admin ... 79
Gambar 5.9. Verifikasi Login admin ... 79
Gambar 5.10. Uji Coba Pencarian Produk... 80
Gambar 5.11. Hasil Pencarian Produk... 80
Gambar 5.12. Produk masuk ke dalam keranjang belanja... 81
Gambar 5.13. Mengisi Form Tempat Tujuan Pengiriman... 82
Gambar 5.14. Verifikasi Order ... 82
Gambar 5.15. Data Order Masuk ke dalam Sistem ... 83
Gambar 5.16. Admin Merubah Status Order ... 84
Gambar 5.17. Mengisi Form Komentar... 84
Gambar 5.18. Komentar Muncul di Form Produk Detail ... 85
Gambar 5.19. Mengisi Form Hubungi... 85
Gambar 5.20. Pesan Pelanggan Masuk ke dalam Sistem ... 86
Gambar 5.21. Uji Coba Logout Pelanggan... 86
Gambar 5.22. Pelanggan Berhasil Logout ... 87
Gambar 5.23. Uji Coba Logout Admin ... 87
Gambar 5.24. Admin Berhasil Logout... 88
xi
DAFTAR TABEL
Tabel 2.1. Operator Arithmetic ... 14
Tabel 2.2. Operator Logika ... 15
Tabel 3.1. Simbol dalam DFD ... 27
Tabel 3.2. Struktur tabel dan keterangan ... 38
Tabel 4.1. Tabel Admin ... 43
Tabel 4.2. Tabel Pelanggan... 44
Tabel 4.3. Tabel Produk ... 45
Tabel 4.4. Tabel Kategori... 46
Tabel 4.5. Tabel Pengarang... 47
Tabel 4.6. Tabel Penerbit ... 47
Tabel 4.7. Tabel Order_temp ... 48
Tabel 4.8. Tabel Orders... 49
Tabel 4.9. Tabel Orders_detail... 49
Tabel 4.10. Tabel Rating... 50
Tabel 4.11. Tabel Komentar ... 51
Tabel 4.12. Tabel Kota... 51
Tabel 4.13. Tabel Hubungi ... 52
Tabel 4.14. Tabel Modul... 53
1.1. Latar Belakang
Dengan perkembangan teknologi informasi saat ini, telah menciptakan
jenis-jenis dan peluang-peluang bisnis yang baru di mana transaksi-transaksi
bisnis makin banyak dilakukan secara elektronika. Sehubungan dengan
perkembangan teknologi informasi tersebut memungkinkan setiap orang dengan
mudah melakukan perbuatan hukum seperti misalnya melakukan jual-beli.
Perkembangan internet memang cepat dan memberi pengaruh signifikan dalam
segala aspek kehidupan kita. Internet membantu kita sehingga dapat berinteraksi,
berkomunikasi, bahkan melakukan perdagangan dengan orang dari segala penjuru
dunia dengan murah, cepat dan mudah.
Aplikasi yang menunjang kegiatan perdagangan di internet biasa disebut
dengan E-Commerce. Keberadaan E-Commerce merupakan alternatif bisnis yang
cukup menjanjikan untuk diterapkan pada saat ini, karena E-Commerce
memberikan banyak kemudahan bagi kedua belah pihak, baik dari pihak penjual
maupun dari pihak pembeli di dalam melakukan transaksi perdagangan, meskipun
para pihak berada di dua benua berbeda sekalipun. Dengan E-Commerce setiap
transaksi tidak memerlukan pertemuan dalam tahap negoisasi.
Tidak cukup dengan hanya itu itu, diperlukan membina suatu hubungan
yang baik antara perusahaan dengan pelanggan. Dengan mempelajari perilakudan
keinginan pelanggan, diharapkan perusahaan dapat mengambil langkah-langkah
yang tepat untuk meningkatkan pelayanan kepada pelanggan, meningkatkan
loyalitas pelanggan, serta meningkatkan pendapatan perusahaan. Peningkatan
pelayanan terhadap pelanggan dapat dilakukan dengan beberapa cara,antara lain
dengan memberikan fasilitas-fasilitas tertentu kepada pelanggan atau dengan
memberikaninformasi yang cepat serta akurat.
Melalui aplikasi E-Commerce dengan inisiatif Cross Selling berbasis web
ini, dimaksudkan agar pemakai aplikasi ini dapat meningkatkan penjualannya
dengan cara memberikan informasi yang cepat dan akurat yang dapat
memudahkan pelanggan, serta menggunakan teknik pemasaran Cross Selling.
Yakni dengan memberikan berbagai macam Suggestion kepada pelanggan dengan
maksud agar si pelanggan meningkatkan pembeliannya. Dengan demikian secara
otomatis pemakai web akan mendapatkan keuntungan ganda dan pada akhirnya di
masa yang akan datang dapat lebih kompetitif.
1.2. Perumusan Masalah
Berdasarkan latar belakang yang telah dijelaskan diatas, maka dapat
dirumuskan masalah dalam Tugas Akhir ini, yaitu :
a. Bagaimana merancang dan membuat aplikasi yang dapat membantu
pelanggan mencari produk yang dicari.
b. Bagaimana merancang dan membuat aplikasi dengan menggunakan
teknik pemasaran cross selling di dalamnya.
1.3. Batasan Masalah
Dalam menganalisa dan menyelesaikan suatu masalah, maka perlu
pemecahan serta pem-bahasannya. Adapun batasan - batasan masalah adalah
sebagai berikut :
a. Suggest Cross Selling (pilihan produk lain) yang diberikan kepada
pelanggan didapat dari hasil pengolahan data transaksi.
b. Aplikasi yang dibuat berbasis web.
1.4. Tujuan
Tujuan yang ingin dicapai dalam pembuatan aplikasi E-Commerce bebasis
web ini adalah merancang dan membuat aplikasi dengan memberikan masukan
pilihan produk lain yang berkaitan dengan produk yang dilihat pelanggan.
1.5. Manfaat
Adapun manfaat pembuatan aplikasi ini adalah :
a. Bagi pemakai aplikasi :
i. Mendapatkan pelanggan baru.
ii. Menarik konsumen untuk tetap bertahan.
iii. Memudahkan pelanggan dalam mencari barang yang dikehendaki.
b. Bagi Penulis :
i. Memberikan tambahan ilmu pengetahuan yang sangat bermanfaat bagi
penulis sendiri.
ii. Penulis dapat mengaplikasikan ilmu yang didapat baik itu dari dalam
c. Bagi Pembaca :
Dapat menambah wawasan dan pengetahuan bagi rekan-rekan yang akan
menyelesaikan tugas sehingga dapat menyajikan karya ilmiah ini sebagai
masukan dalam karya tulis yang akan dibuat menjadi lebih sempurna.
1.6. Sistematika Penulisan
Adapun Sistematika Penulisan Laporan Tugas Akhir kali ini yaitu:
BAB I PENDAHULUAN
Pada bab ini membahas tentang pendahuluan, latar belakang, perumusan
masalah, pembatasan masalah, tujuan pembuatan tugas akhir dan sistimatika
penulisan laporan ini.
BAB II TINJAUAN PUSTAKA
Pada bab ini membahas tentang pengertian E-Commerce. Selain itu juga
terdapat pengertian PHP dan Mysql sebagai tools untuk mengerjakan tugas akhir
ini.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini menjelaskan tentang analisa desain dan perancangan sistem yang
dibuat.
BAB IV IMPLEMENTASI
Bab ini berisikan bagaimana implementasi aplikasi yang telah di buat
berdasarkan desain sebelumnya.
BAB V UJI COBA DAN EVALUASI
Bab ini berisikan mengenai analisa output dari Aplikasi E-Commerce yang
BAB VI PENUTUP
Bab ini berisikan kesimpulan dan saran untuk pengembangan lebih lanjut
dalam upaya memperbaiki kelemahan yang ada guna mendapatkan hasil yang
Dalam bab ini akan menjelaskan tentang pengertian E-Commerce, tinjauan
pustaka serta beberapa pengetahuan umum tentang materi-materi yang penulis
gunakan sebagai acuan dalam penyelesaian sistem.
2.1.Pengertian E-Commerce
Electronic commerceatau yang lebih dikenal dengan E-Commerce, yang
merupakan bentuk perdagangan secara elektronik melalui media internet.
E-Commerce pada dasarnya merupakan suatu kontak transaksi perdagangan antara
penjual dan pembeli dengan menggunakan media internet. Jadi proses pemesanan
barang dikomunikasikan melalui internet (Zivora V. Sihombing: 2010).
Keberadaan E-Commerce merupakan alternatif bisnis yang cukup
menjanjikan untuk diterapkan pada saat ini, karena E-Commerce memberikan
banyak kemudahan bagi kedua belah pihak, baik dari pihak penjual maupun dari
pihak pembeli di dalam melakukan transaksi perdagangan, meskipun para pihak
berada di dua benua berbeda sekalipun. Dengan E-Commerce setiap transaksi
tidak memerlukan pertemuan dalam tahap negoisasi. Oleh karena itu jaringan
internet ini dapat menembus batas geografis dan teritorial.
Penggunaan internet sebagai media perdagangan terus meningkat dari
tahun ke tahun. Hal ini disebabkan oleh berbagai manfaat yang di dapat oleh
perusahaan ataupun konsumen dengan melakukan transaksi melalui internet.
Manfaat dari digunakannya E-Commerce ini adalah dapat menekan biaya
barang dan jasa, serta dapat meningkatkan kepuasan konsumen sepanjang yang
menyangkut kecepatan untuk mendapatkan barang yang dibutuhkan dengan
kualitas yang terbaik sesuai dengan harganya. Order cycle sebuah bisnis yang
tadinya memakan waktu 30 hari, waktunya bisa dipercepat yakni bisa 5 hari saja.
Proses yang cepat tentunya akan menigkatkan pendapatan.
Berbelanja atau melakukan transaksi perdagangan melalui internet sangat
berbeda dengan berbelanja atau melakukan transaksi perdagangan di dunia nyata.
Dengan E-Commerce memungkinkan kita bertransaksi dengan cepat dan biaya
yang murah tanpa melalui proses yang berbelit-belit, di mana pihak pembeli
(buyer) cukup mengakses internet ke website perusahaan yang mengiklankan
produknya di internet, yang kemudian pihak pembeli cukup mempelajari
ketentuan-ketentuan yang diisyaratkan pihak penjual.
2.1.1. Kelebihan E-Commerce
E-Commerce memiliki banyak kelebihan dibandingkan penjualan secara
manual. Secara ringkas e-commerce mampu menangani masalah berikut :
a. OTOMATISASI, proses otomatisasi yang menggantikan proses
manual.
b. INTEGRASI, proses yang terintegrasi yang akan meningkatkan
efisiensi dan efektivitas proses.
c. PUBLIKASI, memberikan jasa promosi dan komunikasi atas produk
dan jasa yang dipasarkan.
d. INTERAKSI, pertukaran data atau informasi antar berbagai pihak yang
e. TRANSAKSI, kesepakatan antara 2 pihak untuk melakukan transaksi
yang melibatkan institusi lainnya sebagai pihak yang menangani
pembayaran.
2.1.2. Konsep Cross Selling
Pada prinsipnya ( Bayu Adhi Tama, 2009 ), strategi pemasaran
cross-selling adalah sebuah istilah umum yang digunakan untuk menjelaskan penjualan
additional products dan layanan kepada pelanggan yang telah membeli sesuatu
dari perusahaan. Strategi ini berhubungan dengan analisis data pelanggan.
Beberapa teknik analisis yang berhubungan dengan strategi pemasaran ini adalah:
a. Menentukan produk apa yang akan dijual secara bersamaan sebagai
sebuah paket penjualan.
b. Memahami poduk dan layanan apa yang dibeli secara bersamaan.
c. Memperkirakan produk atau layanan apa yang akan dibeli kemudian.
d. Mengestimasi produk atau layanan apa yang akan dibeli kemudian oleh
pelanggan tertentu.
e. Memahami pelanggan mana yang sangat penting untuk dijaga.
f. Menemukan harga optimal untuk produk tertentu dan untuk segmen
pelanggan tertentu.
Dengan menganalisa perilaku pelanggan, dapat dimungkinkan untuk
memperkirakan model perilaku pelanggan selanjutnya dan juga perilaku
pelanggan mana yang potensial. Hal ini sangat menguntungkan bagi perusahaan
karena dapat menjual produk dan layanan yang berbeda dengan menggunakan
teknik pemasaran yang lebih beragam melalui pengetahuan yang telah
Perusahaan dapat mengidentifikasi kebutuhan dan keinginan pelanggan
untuk menetapkan additional product dari produk utamanya. Additional product
yang disarankan berupa data-driven (cross-selling didapat dari data pembelian
historikal pelanggan).
Cross-selling biasanya digunakan oleh sebagian besar online store untuk
menentukan rekomendasi produk apa yang seharusnya dijual juga. Sebagai contoh
dapat dilihat salah satu online bookstore terkemuka seperti Amazon.com dapat
dengan jelas terlihat bahwa jika seorang pelanggan membeli buku secara online
maka website akan memberikan pula rekomendasi mengenai related books yang
direkomendasikan untuk dibeli. Hal ini dapat dilakukan melalui analisis
cross-selling berdasarkan pola pembelian pelanggan yang bertransaksi secara online
melalui website.Contoh kasusnya, bila tema website yang dimiliki adalah hewan
peliharaan, maka produk lain yang ditawarkan adalah makanan hewan, kandang,
alat-alat bermain dan seterusnya. Dan bila tema websitenya tentang kamera
digital, produk lainnya yang bisa ditawarkan baterai cadangan, tripod, tas kamera
dan aksesoris yang berkaitan lainnya.
2.2. Pengertian PHP
PHP adalah bahasa server-side scripting yang menyatu dengan HTML
untuk membuat halaman web yang dinamis. Maksud dari server-side scripting
adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan
di server tetapi disertakan pada dokumen HTML. Pembuatan web ini merupakan
kombinasi antara PHP sendiri sebagai bahasa pemrograman dan HTML sebagai
situs yang menggunakan fasilitas server-side scripting PHP, maka terlebih dahulu
server yang bersangkutan akan memproses semua perintah PHP di server lalu
mengirimkan hasilnya dalam format HTML ke web browser pengguna internet
tadi. Dengan demikian seorang pengguna internet tidak dapat melihat kode
program yang ditulis dalam PHP sehingga keamanan dari halaman web menjadi
lebih terjamin.
Tetapi tidak seperti ASP yang juga cukup dikenal sebagai server-side
scripting, PHP merupakan software yang Open Source (gratis) dan mampu lintas
platform, yaitu dapat digunakan dengan sistem operasi dan web server apapun.
PHP mampu berjalan di Windows dan beberapa versi Linux.
PHP menawarkan koneksitas yang baik dengan beberapa basis data, antara
lain Oracle, Sybase, mSQL, MySQL, Solid, PostgreSQL, Adabas, dll. PHP juga
dapat berintegrasi dengan beberapa library eksternal yang membuat anda dapat
melakukan segalanya mulai dari membuat dokumen PDF hingga mempurse
XML. Bila PHP berada dalam halaman web Anda, maka tidak lagi dibutuhkan
pengembangan lingkungan khusus atau direktori khusus. Hampir seluruh aplikasi
berbasis web dapat dibuat dengan PIIP. Namun kekuatan utama adalah
konektivitas basis data dengan web. Dengan kemampuan ini kita akan mempunyai
suatu sistem basis data yang dapat diakses dari web.
2.2.1. Syntax PHP
Kode PHP disimpan sebagai plain text dalam format ASCII, sehingga
kode PHP dapat ditulis hampir di semua editor text seperti windows notepad,
windows wordpad, dll. Kode PHP adalah kode yang disertakan di sebuah halaman
Contoh file PHP (contoh.php):
<html>
<?php
Echo "Contoh text yang menggunakan kode PHP";
?>
</html>
Pada file “.html”, HTTP server hanya melewatkan content dari file menuju
ke browser. Server tidak mencoba untuk mengerti atau memproses file, karena itu
adalah tugas sebuah browser.
Pada file dengan ekstensi “.php” akan ditangani secara berbeda. Yang
memiliki kode PHP akan diperiksa. Web server akan memulai bekerja apabila
berada diluar lingkungan kode HTML. Oleh karena itu server akan melewati
semua content yang berisi kode HTML, CSS, JavaScript, simple text di browser
tanpa diinterpretasikan di server.
Blok scripting PHP selalu diawali dengan <?php dan diakhiri dengan ?>.
Blok scripting PHP dapat ditempatkan dimana saja di dalam dokumen. Pada
beberapa server yang mendukung, blok scripting PHP dapat diawali dengan <?
dan diakhiri dengan ?>. Namun, untuk kompatibilitas maksimum, sebaiknya
menggunakan bentuk yang standar (<?php ?>).
Setiap baris kode PHP harus diakhiri dengan semikolon (;). Semikolon ini
merupakan separator yang digunakan untuk membedakan satu instruksi dengan
instruksi lainnya. PHP menggunakan // untuk membuat komentar baris tunggal
2.2.2. Variabel PHP
Variabel digunakan untuk menyimpan suatu nilai, seperti text, angka atau
array. Ketika sebuah variabel dibuat, variabel tersebut dapat dipakai
berulang-ulang.
Pada PHP semua variabel harus dimulai dengan karakter '$'. Variabel PHP
tidak perlu dideklarasikan dan ditetapkan jenis datanya sebelum kita
menggunakan variabel tersebut. Hal itu berarti pula bahwa tipe data dari variabel
dapat berubah sesuai dengan perubahan konteks yang dilakukan oleh user. Secara
tipikal, variabel PHP cukup diinisialisasikan dengan memberikan nilai kepada
variabel tersebut.
Contoh berikut akan mencetak "PHP" :
$text = "PHP";
print "$text";
Identifier dalam PHP adalah case-sensitive, sehingga $text dengan $Text
merupakan variabel yang berbeda. Built-in function dan structure tidak
case-sensitive, sehingga echo dengan ECHO akan mengerjakan perintah yang sama.
Identifier dapat berupa sejumlah huruf, digit/angka, underscore, atau tanda dollar
tetapi identifier tidak dapat dimulai dengan digit/angka.
Aturan Penamaan Variabel :
a) Nama variabel harus diawali dengan sebuah huruf atau garis bawah
(underscore) “_”
b) Nama variabel hanya boleh mengandung karakter alpha-numeric dan
underscore (a-Z, 0-9, dan _ )
2.2.3. String di PHP
Variabel string digunakan untuk nilai yang mengandung karakter string.
Pada contoh berikut, skript PHP memberikan string "Hello World" pada variabel
string bernama $txt :
<?php
$txt="Hello World";
echo $txt;
?>
Keluaran kode tersebut adalah : Hello World
Hanya ada satu operator string di PHP. Concatenation operator (.).
digunakan untuk menggabungkan dua string. Contoh :
<?php
$txt1="Hello World";
$txt2="1234";
echo $txt1 . " " . $txt2;
?>
Keluaran kode tersebut adalah : Hello World 1234
2.2.4. Operator di PHP
Operator digunakan untuk menentukan sebuah nilai dengan melakukan
suatu prosedur atau dengan suatu operasi dari beberapa nilai. Nilai yang
digunakan dalam sebuah operasi disebut operand. Penjumlahan adalah sebuah
contoh sederhana dari suatu operasi.
Sebagai contoh : 2 + 4
2 dan 4 adalah sebuah operand. Ekspresi ini akan menghasilkan 6.
2.2.4.1. Arithmetic Operator (Operator Aritmatika)
Tabel 2.1.Operator Arithmetic.
Operator Aksi Contoh Penjelasan
+ Penjumlahan 5 + 5 Menghasilkan nilai : 10
- Pengurangan 14 – 4 Menghasilkan nilai : 10
* Perkalian 5 * 5 Menghasilkan nilai : 25
/ Pembagian 10 / 2 Menghasilkan nilai : 5
% Modulus 9 %4 Menghasilkan nilai : 1
PHP mengabaikan karakter spasi dalam sebuah operasi. Ekspresi $x = 5 +
9 dengan dengan $x=5+9 akan menghasilkan nilai yang sama. Penggunaan spasi
disesuaikan dengan keinginan dari para user.
2.2.4.2. Variable Assignment Operator
Tanda sama dengan ( = ) digunakan untuk mengatur atau menetapkan nilai
suatu variabel. Oleh karena itu tanda tersebut dikenal sebagai operator penugasan.
Contoh :
$x = 1;
$y = x + 1;
$luas = $panjang * $lebar;
$statements = "Yes";
Variabel disebelah kiri tanda ( = ) akan diberikan nilai dari ekspresi
disebelah kanan tanda ( = ).
2.2.4.3. Comparison Operator (Operator Perbandingan)
Operator perbandingan digunakan untuk menguji suatu kondisi. Ekspresi
yang menggunakan operator perbandingan akan selalu menghasilkan nilai
boolean, yaitu antara true (benar) atau false (salah). Contoh :
$i = 4;
if ($i < 6) print "akan dilakukan pencetakan"; // ekspresi '$i < 6' benar
2.2.4.4. Logical Operator (Operator Logika)
Operator logika digunakan untuk mengkombinasikan kondisi, sehingga
beberapa kondisi dapat dievaluasi atau diperiksa dalam sebuah ekspresi. Sebagai
contoh logika AND akan bernilai true jika semua kondisi benar. Tabel berikut ini
menunjukkan semua anggota dari operator logika :
Tabel 2.2.Operator Logika
Operator Contoh Bernilai benar jika
AND $i && $j atau $i AND $j $i dan $j bernilai benar
OR $i || $j atau $i OR $j Salah satu atau kedua variabel
bernilai benar
XOR $i XOR $j Salah satu varibel bernilai benar,
tetapi tidak keduanya benar
NOT !$i $i tidak bernilai benar
print "akan tercetak";
// akan mengeksekusi pernyataan print
If ($i==1 OR $k==3) print "akan tercetak";
// akan mengeksekusi pernyataan print
If ($i==1 XOR $j==2)
print "akan tercetak";
// tidak mengeksekusi pernyataan print karena kedua variabel //bernilai benar
if ! ($i==1 && $k==3)
print "akan tercetak";
// tidak akan mengeksekusi pernyataan print
if (($i==1 && $k==3) XOR ($i==1 || $j=2) XOR ($i==1)) print "akan
tercetak";
2.2.5. Control Structures di PHP
Skrip PHP terdiri dari rangkaian pernyataan. Sebuah pernyataan dapat
berupa assignment, pemanggilan fungsi, sebuah loop, pernyataan kondisional atau
bahkan pernyataan kosong. Pernyataan biasanya diakhiri dengan semikolon.
Sebagai tambahan, pernyataan-pernyataan dapat dikelompokkan menjadi suatu
kelompok pernyataan menggunakan kurung kurawal ( {} ). Sebuah kelompok
pernyataan merupakan sebuah pernyataan juga.
a. IF
Syntax : if (expr) statement
Contoh : - if ($a > $b) print "a is bigger than b";
- Jika statemen lebih dari satu maka :
if ($a > $b) {
print "a is bigger than b";
$b = $a;
}
b. Else
if ($a > $b) {
print "a is bigger than b";
} else {
print "a is NOT bigger than b";
}
c. Elseif
if ($a > $b)
{
print "a is bigger than b";
} elseif ($a == $b)
{
} else
{
print "a is smaller than b";
}
d. Do ... while
Perulangan do..while loops hampir sama dengan perulangan while,
kecuali kebenaran ekspresi dicek di akhir iterasi. Perbedaan mendasar
dari perulangan while adalah iterasi pertama pada do…while pasti akan
dijalankan.
Contoh : $i = 0;
do {
print $i;
}
while ($i>0);
e. For
Syntax : for (expr1; expr2; expr3) statement
Ekspresi pertama (expr1) dievaluasi (dieksekusi) sekali di awal
perulangan. Di awal setiap iterasi, expr2 dievaluasi. Jika benar,
perulangan dilanjutkan dan pernyataan-pernyataan bersarang
dieksekusi. Jika salah, perulangan dihentikan. Di akhir setiap iterasi,
expr3 dievaluasi (dieksekusi).
Contoh :
for ($i = 1; $i <= 10; $i++)
{
print $i;
2.3. MySQL
MySQL adalah multiuser database yang menggunakan bahasa Structured
Query Language (SQL). MySQL dalam operasi client-server melibatkan server
daemon MySQL di sisi server dan berbagai macam program serta library yang
berjalan di sisi client. MySQL mampu menangani data yang cukup besar.
Perusahaan yang mengembangkan MySQL yaitu TcX, mengaku mampu
menyimpan data lebih dari 40 database, 10.000 tabel dan sekitar 7 juta baris,
totalnya kurang lebih 100 Gigabyte data. Informasi selengkapnya tentang MySQL
dapat dilihat di www.mysql.com.
SQL adalah bahasa standar yang digunakan untuk mengakses database
server. Bahasa ini pada awalnya dikembangkan oleh IBM, namun telah diadopsi
dan digunakan sebagai standar industri. Dengan menggunakan SQL, proses akses
database menjadi lebih user-friendly dibandingkan dengan menggunakan dBASE
atau Clipper yang masih menggunakan perintah-perintah pemrograman.
Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam
tabel-tabel yang secara logika merupakan struktur dua dimensi yang terdiri atas
baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel sering
disebut sebagai instance dari data, sedangkan kolom sering disebut sebagai
attribute atau field. Keseluruhan tabel itu dihimpun dalam satu kesatuan yang
disebut database.
Pada dasarnya ada empat grup tipe data yang didukung MySQL, yaitu data
2.3.1. Kelebihan MySQL
MySQL merupakan Relational Database Management System (RDBMS)
yang didistribusikan secara gratis di bawah lisensi GPL (General Public License).
Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh
dijadikan produk turunan yang bersifat closed source atau komersial. MySQL
sebenarnya merupakan turunan salah satu konsep utama dalam database sejak
lama, yaitu SQL (Structured Query Language).
SQL (Structured Query Language) adalah sebuah konsep operasi
database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan operasi data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem database (DBMS) diketahui dari cara kerja optimizer
-nya dalam melakukan proses perintah SQL (Structured Query Language), yang
dibuat oleh user maupun program aplikasinya.
Sebagai database server, MySQL dikatakan lebih unggul dibandingkan
database server lainnya dalam query data. Hal ini terbukti untuk query yang
dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat
dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase. Selain itu
MySQL memiliki keistimewaan, antara lain :
a. Open Source. MySQL didistribusikan secara open source (gratis), di
bawah lisensi GPL (General Public License).
b. Multi user. MySQL dapat digunakan oleh beberapa user dalam waktu
yang bersamaan tanpa mengalami masalah atau konflik.
c. Column types. MySQL memiliki tipe kolom, seperti signed/unsigned
d. Command dan functions. MySQL memiliki operator dan fungsi secara
penuh yang mendukung perintah Select dan Where dalam query.
e. Clients dan tools. MySQL dilengkapi dengan tools yang dapat
digunakan untuk administrasi database.
f. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel
dalam menangani alter table.
2.3.2. Kenektivitas PHP-MySQL
Pembahasan mengenai MySQL secara khusus tidak akan dilakukan. Sebab
pada penulisan ini, penulis ingin memfokuskan penggunaan MySQL melalui
PHP. Dan untuk menjalankan perintah -perintah MySQL dari dalam script PHP
dibutuhkan fungsi koneksi tersendiri. Yaitu :
a. mysql_connect( )
PHP menyediakan fungsi ini untuk membuat koneksi ke MySQL server.
Fungsi ini membutuhkan tiga buah argumen : hostname, database username, dan
database user password.
mysql_connect (“hostname”, ”database user name”, ”database user password”) ;
b. mysql_select_db( )
Fungsi ini digunakan untuk memilih database yang akan digunakan.
Fungsi ini membutuhkan dua buah argumen : nama database dan variabel link.
mysql_select_db(“nama_database”).
c. mysql_query( )
Fungsi ini digunakan untuk melakukan query terhadap database yang
dapat dilakukan jika user telah melakukan koneksi ke MySQL dan memilih
database yang akan digunakan.
2.4. Xampp
Adalah perangkat lunak gratis yang mendukung banyak sistem operasi,
serta merupakan kompilasi dari beberapa program. Diambil dari
(http://id.wikipedia.org/wiki/XAMPP), fungsinya adalah sebagai server yang
berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server,
MySQL database, dan penterjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat
system operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia
dalam GNU General Public Lisensi dan bebas, merupakan web server yang
mudah digunakan yang dapat melayani tampilan halaman web yang dinamis.
Sebelum ke tahap pembuatan sistem, penulis akan melakukan analisa
tentang permasalahan-permasalahan yang mungkin muncul dalam pembuatan
sistem, baru kemudian melakukan prancangan sistem agar sesuai dengan
kebutuhan user.
3.1. Analisa Sistem
Analisa adalah kegiatan dalam mempelajari suatu bentuk permasalahan atau
kasus yang terjadi. Book Store online berbasis Web yang dibangun ini
dimaksudkan agar perusahaan dapat menjalin hubungan dengan customer melalui
dunia maya sehingga kedua belah pihak tidak perlu bertemu secara langsung, juga
dalam hal bertransaksi. Untuk lebih jelasnya lihat Gambar 3.1.
Gambar 3.1.Proses Bisnis dengan E-Commerce
3.1.1. Admin Web
Admin web adalah orang/pihak yang memiliki hak mengendalikan apapun
fasilitas yang disediakan oleh sistem melalui web browser untuk mengatur isi
web tersebut. Hanya admin saja yang mampu masuk ke dalam halaman admin
web untuk mengatur dan mengolah jalannya web. Adapun hak-hak akses yang
dimiliki oleh seorang admin web di sistem ini adalah :
a. Masuk ke dalam halaman admin
b. Memanagemen data produk yang dipromosikan.
c. Memiliki semua hak akses atas customer list.
d. Memiliki semua hak akses atas order list.
e. Melihat data laporan order.
Sebelum admin dapat melakukan semua hal tersebut diatas , seorang admin
diwajibkan login terlebih dahulu dengan username dan passwrd yang mereka
miliki. Apabila ada kesalahan dalam memasukkan password / username maka
tidak dapat masuk ke dalam halaman admin.
3.1.2. Customer
Customer dapat menggunakan fasilitas yang disediakan oleh sistem yang
dapat diakses melaui web browser. Mereka dapat melihat maupun memesan
produk-produk perusahaan yang sebelumnya telah di masukkan oleh admin web.
Khusus dalam melakukan transaksi, customer diwajibkan melakukan registrasi
terlebih dahulu agar dapat menjadi member sehingga bisa melakukan login.
Mengapa diperlukan login, tentunya perusahaan ingin tahu siapa saja pelanggan
terbaiknya dan di daerah mana produknya laris terjual. Hak-hak akses customer
a. Melihat- lihat produk pada katalog
b. Melakukan Shopping Cart / keranjang belanja. Fasilitas dalam Shopping
Cart sendiri meliputi : Customers bisa melakukan update terhadap jumlah
produk yang ingin dipesan dan juga dapat membatalkan pemesanan.
c. Melakukan order ( pemesanan ) produk, dan mendapatkan informasi
pemesanan.
d. Memberikan komentar terhadap produk yang dijual.
e. Memberikan rating ke produk.
f. Melakukan perubahan account, misalkan mengganti alamat ataupun
password.
3.2. Perancangan Sistem
Setelah selesai melakukan analisa terhadap perancangan sistem
selanjutnya adalah melakukan perancangan sistem. Perancangan sistem
dimaksudkan agar sistem yang dibuat agar lebih terstruktur. Dimulai dengan
perancangan flowchart, Context Diagram ( DFD level konteks ), DFD level1,
DFD level 2, Conceptual Data Model ( CDM ), Physical data model ( PDM ),
tabel database dan terakhir adalah perancangan desain antar muka.
3.2.1. Flowchart
Flowchart adalah suatu gambaran yang menjelaskan tentang alur kerja
aplikasi mulai dari awal sebelum aplikasi dijalankan hingga akhir dari aplikasi.
Diambil dari (Sri, 2002 pada www.total.or.id/info.php), flowchart merupakan
bagan alir data yang menunjukkan sebuah alur data melalui program atau sistem
proses-proses yang terpenting disepanjang jalur. Dengan kata lain flowchart berguna bagi
sarana pembantu untuk menunjukkan bagaimana bekerjanya program yang
diusulkan dan sebagai sarana untuk memahami operasi-operasi sebuah program.
Dengan flowchart dapat digambarkan suatu tahapan penyelesaian program secara
sederhana.
3.2.1.1. Flowchart Admin Menerima Proses Order
Start, admin harus login terlebih dahulu agar dapat masuk ke dalam
halaman admin web. Apabila login berhasil maka yang harus dilakukan pertama
oleh seorang admin dalam hal transaksi adalah melihat order pesanan customer
yang masih pending. Apabila tidak ada maka selesai, bila ada yang dilakukan
selanjutnya adalah mengecek saldo rekening. Bila sudah menerima uang, hal
dilakukan selanjutnya adalah mengubah status pemesanan customer. Kemudian
mengirim e-mail pemberitahuan bahwa transaksi sukses dan melakukan
pengiriman pesanan produk. Selesai.
3.2.1.2. Flowchart Customer Dalam Memesan Produk
Di bawah ini di tunjukkan flowchart untuk seorang customer dalam
melakukan transaksi melalui web :
Start customer membuka halaman web site. Customer diwajibkan login
terlebih dahulu ke dalam sistem agar dapat melakukan transaksi. Customer yang
belum login hanya dapat melihat-lihat saja produk yang ditawarkan. Setelah
berhasil login customer memilih produk yang ada dalam website. Jika produk
tidak masuk keranjang belanja, maka alur flowchart selesai. Jika produk masuk
keranjang belanja, maka transaksi dapat berlanjut pada update keranjang belanja.
Jika tidak melakukan update transaksi berlanjut pada penawaran cancel produk.
Jika sampai tahap ini pengunjung melakukan Cancel Produk maka transaksi
berakhir atau gagal transaksi. Jika tidak melakukan Cancel Produk transaksi akan
berlanjut ke klik bayar. Proses yang dilakukan customer selanjutnya adalah
melakukan transfer uang ke rekening yang telah disediakan. Selesai.
3.2.2. Perancangan Proses (Data Flow Diagram (DFD))
Data flow diagram adalah suatu diagram yang menggunakan notasi-notasi
untuk menggambarkan arus data sistem, yang penggunaannya sangat membantu
untuk memahami sistem secara logika, terstruktur dan jelas. DFD merupakan alat
bantu dalam menggambarkan atau menjelaskan sistem yang sedang logis (H.M
Jogianto, 1990) . Tabel 3.1. menerangkan tentang macam simbol dalam DFD :
Tabel 3.1.Simbol dalam DFD.
Simbol Keterangan Menunjukkan entitas berupa sekelompok orang atau departemen atau sistem yang bisa menerima informasi atau data awal
Menunjukkan proses dimana beberapa tindakan dijalankan
Menunjukkan arus data dimana informasi sedang melintas dan atau menuju suatu proses
3.2.2.1. Konteks Diagram
Merupakan diagram yang digunakan untuk menggambarkan sistem secara
global. Hal yang harus diperhatikan dalam merancang sebuah Diagram Konteks
adalah memberikan gambaran tentang seluruh sistem. Berikut adalah gambar
konteks diagram.
Data Banner
Aplikasi E Commerce
+
Gambar 3.4.Konteks Diagram.
Penjelasan Gambar Konteks Diagram:
a. Terdapat 2 pihak yang dapat mengakses aplikasi E-Commerce dengan
inisiatif Cross Selling berbasis web ini, yakni adminweb dan customer.
b. Admin web bertugas sebagai pengelola sistem yang mempunyai hak
akses penuh meliputi insert, update, delete pada data yang ada.
c. Customer adalah pihak yang memesan produk. Tentunya dengan login
terlebih dahulu ke dalam sistem. Customer juga berhak memberikan
pesan, komentar dan rating produk ke dalam sistem.
3.2.2.2. DFD Level 1
Diagram yang digunakan untuk menggambarkan tahapan –tahapan proses
yang ada dalam diagram konteks. Untuk lebih jelasnya berikut adalah gambar
Konfirmasi Login konfirmasi Registrasi
Konfirmasi Login Data kota
Data Penerbit Data PengarangData Kota
Data Banner
Data BannerData Modul Data kategori
Data PengarangData Penerbit Data ProdukData Admin
Data Komentar
Data Produk Data Order
Data modul
Berikut adalah penjelasan gambar :
Dari penjelasan diagram level 1 di atas, maka secara global dalam aplikasi
berbasis web ini dikategorikan menjadi enam proses yaitu :
a. Proses registrasi oleh admin dan pelanggan.
b. Proses login oleh admin dan pelanggan.
c. Proses managemen data oleh admin dan pelanggan.
d. Proses order oleh pelanggan.
e. Proses menampilkan data untuk admin dan pelanggan.
f. Proses meliihat laporan order oleh admin.
3.2.2.2. DFD Level 2
Merupakan diagram yang digunakan untuk menggambarkan arus data
secara lebih detail dari tahapan-tahapan proses pada diagram level 1. Berikut ini
penulis akan menjelaskan setiap proses secara lebih detail.
3.2.2.3.1. Proses Registrasi
Konfirmasi Registrasi
Gambar 3.6. DFD Level 2 Proses Registrasi
Ada dua pihak yang dapat registrasi ke dalam sistem ini, yakni admin dan
pelanggan. Proses ini dilakukan untuk membuat account baru di dalam sistem.
diperbolehkan melakukan pemesanan produk (order), sedangkan admin bisa
meman
ang dimasukkan akan
stomer masuk ke tabel
an mendapatkan konfirmasi
elanggan yang
an juga hanya admin yang
g boleh memanagemen data dalam sistem. Berikut adalah
gambar
agemen data dalam halaman admin web.
Dalam proses registrasi admin terlihat data admin y
masuk ke dalam tabel database admin, sedangkan cu
pelanggan. Pelanggan yang berhasil registrasi ak
registrasi.
3.2.2.3.2. Proses Login
Proses login sangat penting dalm sistem ini, karena hanya p
berhasil login saja yang mampu melakukan order. D
berhasil login saja yan
prose admin dan customer dalam melakukan login.
Konfirmasi Login Konfirmasi Login
Konfirmasi Login Konfirmasi Login
Username Password
Login Admin Admin
Admin
Pelanggan 2
Login Customer
Gambar 3.7.DFD Level 2 Proses Login.
Admin dan customer yang login harus memasukkan username dan
passwordnya. Data loginnya akan masuk ke tabel admin dan pelanggan. Apabila
data username dan passwordnya sesuai, maka sistem akan memberikan konfirmasi
3.2.2.3.3. Proses Managemen Data
Data Produk Produk
3 Managemen
Data Penerbit Penerbit
Admin
Admin Data Kota Kota
7
Customer Komentar 2
Da
Data Hubungi Hubungi 2
Proses managemen data dapat meliputi insert, update, delete data yang ada
alam sistem. Seorang admin dan pelanggan memiliki hak akses memanagemen
data yang berbeda-beda.
Dari beberapa proses di atas, admin mampu memanagemen data admin,
produk, penerbit, pengarang, kategori, kota, modul, banner dan komentar.
Sedangkan customer mampu meng-insert data pelanggan, komentar, rating,
hubungi. Setiap data yang dimasukkan oleh keduanya akan masuk ke dalam
masing-masing tabel dalam database.
3.2.2.3.4. Proses Order
Proses pemesanan dibagi menjadi dua. Saat customer melakukan
pemilihan produk, data-data produknya akan disimpan ke dalam tabel order_temp.
Penyimpanan data-data tersebut bersifat sementara, pelanggan masih mampu
melakukan cancel ataupun update produk. Setelah customer merasa selesai
memilih produk baru kemudian datanya disimpan secara permanen dalam tabel
order dan order detail. Data yang disimpan dalam tabel tersebut adalah data order,
pelanggan, kota dan produk seperti yang terlihat pada Gambar 3.9. d
Customer Order Temp
Order Data Resmi
Order
3.2.2.3
tomer seperti Gambar 3.10.
.5. Proses Menampilkan Data
Proses menampilkan data ini menjelaskan tentang apa saja yang mampu
dilihat oleh admin dan cus
Data Kota
Pelanggan Data Admin
11
Customer Data Penerbit
Admin
Menampilkan Admin
Menampilkan Data Modul
Customer Data Komentar
Komentar
Pada gambar di atas terlihat ada perbedaan sistem dalam menampilkan
ategori, rating, banner dan
omentar. Sedangkan untuk admin, sistem menampilkan data pelanggan, produk,
penerbit, pengarang, kategori, banner, komentar, hubungi, modul. admin dan data
kota.
3.2.3. Perancangan Database
Database adalah suatu koleksi data komputer yang terintegrasi,
diorganisasikan dan disimpan dengan suatu cara yang memudahkan pengambilan
kembali. Database atau basis data juga dapat didefinisikan sebagai himpunan
kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian
rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. Dalam
database dikenal juga Database Management System (DBMS) yaitu suatu
program komputer yang digunakan untuk memasukkan, mengubah, menghapus,
memanipulasi, serta memperoleh data atau informasi dengan praktis dan efisien.
Mengingat pentingnya sebuah database, merancang basis data adalah sebuah
langkah yang harus kita tempuh sebelum membangun sebuah sistem.
3.2.3.1. Conceptual Data Model ( CDM )
Model data konseptual pada aplikasi sistem ini merepresentasikan
rancangan basis data konseptual di server. Berikut ini gambar model data
konseptual.
data kepada pelanggan dan admin. Sistem mampu menampilkan data kepada
pelanggan yakni data produk, penerbit, pengarang, k
melakukan
<pi> Variable characters (50) Variable characters (50)
enum Variable characters (100) Variable characters (100) Variable characters (50) Variable characters (20) Variable characters (100)
<M> Variable characters (100) Integer Variable characters (100) Variable characters (50) Text Date
<M>
Variable characters (100) <M> Variable characters (50) Variable characters (100) enum Variable characters (100) Variable characters (100) Date
>
Variable characters (100) <M Variable characters (100) Variable characters (100)
<M> Variable characters (100) Variable characters (100) Variable characters (100) Text Variable characters (100) Date Integer Integer Variable characters (20)
<M> Variable characters (50) Variable characters (50) Text Variable characters (50) Variable characters (50)
<M>
Variable characters (100) <M> Variable characters (50) Date jumlah Integer <M>
orders_temp Variable characters (100) Date Variable characters (100)
<M> Text
<M> id_pengarang <pi>
<pi> Integer <M> id_penerbit
nama_penerbit Variable characters (100) <M> id_penerbit <pi>
Gambar 3.11.CDM Aplikasi E-Commerce Bookstore.
3.2.3.2. Physical Data Model (PDM )
Model data ini dibuat dengan cara me-generate diagram data konseptual di
atas. Diagram data fisik ini menghasilkan tabel-tabel yang akan digunakan dalam
implementasi aplikasi.Dengan Physical data model kita dapat mengetahui model
sik hasil pengembangan dari sebuah konsep. Untuk lebih jelasnya bisa dilihat
admin
Gambar 3.12.PDM Aplikasi E-Commerce Bookstore.
3.2.4. P
ce ini terdapat lima belas tabel, seperti yang nampak pada
Tabel 3.2.
erancangan Struktur File
Struktur file ini berguna untuk memudahkan penulis untuk merancang
database yang akan digunakan dalam pembuatan suatu program. Fungsinya untuk
menentukan tipe dan jenis dari field dalam sistem yang akan dibuat. Dalam
Tabel 3.2.Struktur Tabel dan Keterangan.
Nama Tabel Keterangan
Admin Tabel yang menyimpan data-data admin
Pelanggan Tabel yang menyimpan data-data pelanggan
Produk Tabel yang menyimpan detail data produk
Kategori Tabel yang berisi data-data kategori
Pengarang Tabel yang berisi data-data pengarang
Penerbit Tabel yang berisi data-data penerbit
Order_temp Tabel yang menyimpan data order sementara
Order_detail Tabel yang menyimpan detail data order
Orders Tabel yang menyimpan data order
Rating Tabel yang berisi data rating produk
Komentar Tabel yang menyimpan data komentar pelanggan
Kota Tabel yang menyimpan data kota dan biaya kirim kota yang
dituju
Hubungi Tabel yang menyimpan pesan pelanggan
Modul Tabel yang menyimpan dan mengatur modul dalam admin
web
Banner Tabel yang menyimpan data banner sbagai iklan web
3.3. Perancangan Antarmuka
Perancangan desain antarmuka dimaksudkan untuk memberikan gambaran
bagaimana tam tif Cross
Selling berbasis web ini. Adapun desain antar muka yang akan digunakan pada
pilan dari aplikasi E-Commerce Bookstore dengan Inisia
aplikasi ini adalah sebagai berikut :
3.3.1. Antar Muka Home
Halaman Home akan muncul ketika pelanggan pertama kali mengakses
situs E-Commerce ini. Gambar 3.13. berikut adalah perancangan antarmuka
Gambar 3.13.Form Home.
3. r Muka
laman de produk.
Halaman ini berisi tentang nama produk, pengarang, kategori, penerbit, deskripsi
produk, dll.
3.2. Anta Detail Produk
Ha tail produk muncul saat pelanggan meng-klik gambar
3.3.3. Antar Muka Keranjang Belanja
Halaman keranjang belanja / shoping chart muncul saat pelanggan
melakukan belanja produk. Data-data produk yang akan dibeli dan juga subtotal
harga akan muncul pada halaman ini.
Gambar 3.15.Form Keranjang Belanja.
3.3.4. Antar Muka Menu Admin Web
Seorang admin dapat memanagemen data sistem lewat halaman ini.
Pada bab ini akan membahas tentang implementasi program dari hasil
analisa dan perancangan sistem yang ada pada bab III, serta bagaimana cara
sistem tersebut dijalankan. Untuk lebih lanjut dapat dijelaskan pada sub bab
berikut :
4.1. Lingkungan Implementasi
Aplikasi E-Commerce dengan inisiatif berbasis web ini diimplementasikan
pada sistem komputer dengan spesifikasi sebagai berikut :
Perangkat keras :
Jenis komputer : Notebook
Prossesor : Intel Core I3 @ 2,13 GHz
Memory (Ram) : 2048 MB
Hardisk : 320 Gb
Sistem Operasi : Windows 7 Home Premium
Aplikasi Pemrograman : Xampp-win32-1.7.2
4.2. Implementasi Data
Implementasi data dibuat untuk mengetahui database apa saja yang ada
didalam sistem proses penyimpanan data pada program yang dibuat. Implementasi
data tersebut dapat dilihat pada sub bab sebagai berikut :
4.2.1. Tabel Admin
Tabel admin diperuntukkan menyimpan data-data lengkap admin web.
Setiap admin web memiliki username, password guna masuk ke dalam halaman
admin web. Berikut adalah query dan hasil eksekusinya.
CREATE TABLE `admin` (
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`nama_lengkap` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
`no_telp` varchar(50) NOT NULL,
`level` varchar(20) NOT NULL DEFAULT 'user',
`blokir` enum('Y','N') NOT NULL DEFAULT 'N',
`id_session` varchar(100) NOT NULL,
PRIMARY KEY (`username`)
) ;
Tabel 4.1. Tabel Admin.
4.2.2. Tabel Pelanggan
Tabel pelanggan berfungsi meyimpan data registrasi account pembeli /
Pelanggan hanya dapat melakukan transaksi bila telah sukses login ke dalam
sistem menggunakan username, password yang telah ia daftarkan ke dalam
sistem. Berikut adalah query tabel pelanggan dan hasil eksekusinya.
CREATE TABLE `pelanggan` (
`id_pelanggan` int(11) NOT NULL AUTO_INCREMENT,
`username_pelanggan` varchar(50) NOT NULL,
`password_pelanggan` varchar(50) NOT NULL,
`nama_pelanggan` varchar(100) NOT NULL,
`alamat_pelanggan` text NOT NULL,
`no_telp_pelanggan` varchar(50) NOT NULL,
`email_pelanggan` varchar(50) NOT NULL,
PRIMARY KEY (`id_pelanggan`)
);
Tabel 4.2.Tabel Pelanggan.
4.2.3. Tabel Produk
Tabel produk berisi tentang detail produk yang dimasukkan, seperti nama
produk, deskripsi, harga, gambar, stok dll. Produk yang telah dimasukkan ke
dalam tabel ini akan muncul ke aplikasi sehingga dapat dilihat oleh konsumen /
customer. Berikut adalah query tabel produk dan hasil eksekusinya.
CREATE TABLE `produk` (
`id_pengarang` int(11) NOT NULL,
`id_kategori` int(11) NOT NULL,
`id_penerbit` int(11) NOT NULL,
`isbn` varchar(100) NOT NULL,
`nama_produk` varchar(100) NOT NULL,
`produk_seo` varchar(100) NOT NULL,
`deskripsi` text NOT NULL,
`harga_awal` int(11) NOT NULL,
`harga_diskon` int(11) NOT NULL,
`stok` int(11) NOT NULL,
`dibaca` int(5) NOT NULL,
`tgl_masuk` date NOT NULL,
`gambar_produk` varchar(100) NOT NULL,
`tgl_terbit` date NOT NULL,
`halaman` int(11) NOT NULL,
`berat` int(11) NOT NULL,
`dimensi` varchar(20) NOT NULL,
PRIMARY KEY (`id_produk`)
) ;
4.2.4. Tabel Kategori
Berisi tentang banyak macam kategori yang dijual. Satu kategori dalam
tabel ini mewakili beberapa macam produk. Berikut adalah query tabel kategori
dan hasil eksekusinya.
CREATE TABLE `kategori` (
`id_kategori` int(11) NOT NULL AUTO_INCREMENT,
`nama_kategori` varchar(100) NOT NULL,
`kategori_seo` varchar(100) NOT NULL,
PRIMARY KEY (`id_kategori`)
) ;
Tabel 4.4.Tabel Kategori.
4.2.5. Tabel Pengarang
Berisi tentang nama_pengarang dan biografi_pengarang. Biografi dalam
tabel ini menjelaskan tentang cerita singkat tentang kehidupan si pengarang.
Berikut adalah query tabel pengarang dan hasil eksekusinya.
CREATE TABLE `pengarang` (
`id_pengarang` int(11) NOT NULL AUTO_INCREMENT,
`nama_pengarang` varchar(100) NOT NULL,
`biografi_pengarang` text NOT NULL,
PRIMARY KEY (`id_pengarang`)
Tabel 4.5.Tabel Pengarang.
4.2.6. Tabel Penerbit
Hanya ada 2 field dalam tabel ini , yakni id_penerbit dan nama penerbit.
Satu penerbit dalam tabel ini mewakili banyak produk. Berikut adalah query tabel
penerbit dan hasil eksekusinya.
CREATE TABLE `penerbit` (
`id_penerbit` int(11) NOT NULL AUTO_INCREMENT,
`nama_penerbit` varchar(100) NOT NULL,
PRIMARY KEY (`id_penerbit`)
) ;
Tabel 4.6.Tabel Penerbit.
4.2.7. Tabel Orders_temp
Merupakan tempat penyimpanan sementara sebuah order pemesanan, atau
juga bisa disebut keranjang belanja. Pelanggan yang melakukan transaksi
sebelumnya dicatat di tabel ini apa saja pembeliannya. Setelah terjadi deal
transaksi, baru kemudian data transaksi disimpan ke dalam tabel order dan tabel
order detail. Berikut adalah query tabel orders_temp dan hasil eksekusinya.
CREATE TABLE IF `orders_temp` (
`id_produk` int(11) NOT NULL,
`id_session` varchar(100) NOT NULL,
`jumlah` int(11) NOT NULL,
`tgl_order_temp` date NOT NULL,
`jam_order_temp` time NOT NULL,
PRIMARY KEY (`id_orders_temp`)
) ;
Tabel 4.7.Tabel Order_temp.
4.2.8. Tabel Orders
Merupakan tempat pencatatatan pesanan pelanggan. Pelanggan yang
membeli sebuah produk datanya akan dicatat dalam tabel ini. Seperti alamat
tujuan, kota, tanggal jam order hingga status order pesanan apakah masih pending
atau telah dikirim. Berikut adalah query tabel orders dan hasil eksekusinya.
CREATE TABLE `orders` (
`id_orders` int(11) NOT NULL AUTO_INCREMENT,
`id_pelanggan` int(11) NOT NULL,
`id_kota` int(11) NOT NULL,
`alamat_order` text NOT NULL,
`status_order` varchar(50) NOT NULL,
`tgl_order` date NOT NULL,
`jam_order` time NOT NULL,
Tabel 4.8.Tabel Orders.
4.2.9. Tabel Orders_detail
Merupakan perluasan dari taber order. Yakni menerangkan tentang jumlah
produk yang dipesan untuk id_produk yang sama ( orderan sebuah produk yang
lebih dari satu item, tetapi sama satu jenis ). Berikut adalah query tabel
orders_detail dan hasil eksekusinya.
CREATE TABLE `orders_detail` (
`id_produk` int(11) NOT NULL,
`id_orders` int(11) NOT NULL,
`jumlah` int(11) NOT NULL
) ;
Tabel 4.9. Tabel Orders_detail.
4.2.10. Tabel Rating
Berfungsi untuk memberikan rating suatu produk. Pelanggan berhak
memberikan nilai yang sebelumnya sudah ditentukan pilihannya. Berikut adalah
CREATE TABLE `rating` (
`id_produk` int(11) NOT NULL,
`sangat_baik` int(11) NOT NULL,
`baik` int(11) NOT NULL,
`buruk` int(11) NOT NULL,
`sangat_buruk` int(11) NOT NULL
) ;
Tabel 4.10.Tabel Rating.
4.2.11. Tabel Komentar
Customer memiliki hak untuk memberikan komentar/pendapatnya
terhadap produk yang ditampilkan. Setiap komentar yang diberikan akan rekam
oleh sistem dan masuk ke tabel komentar. Berikut adalah query tabel komentar
dan hasil eksekusinya.
CREATE TABLE `komentar` (
`id_komentar` int(11) NOT NULL AUTO_INCREMENT,
`id_produk` int(11) NOT NULL,
`id_pelanggan` int(11) NOT NULL,
`isi_komentar` text NOT NULL,
`tgl` date NOT NULL,
`jam_komentar` time NOT NULL,
`aktif` enum('Y','N') NOT NULL DEFAULT 'Y',
PRIMARY KEY (`id_komentar`)
Tabel 4.11.Tabel Komentar.
4.2.12. Tabel Kota
Tabel kota berkaitan dengan tabel order. Setiap kota memiliki ongkos
kirim yang berbeda-beda mengingat jauh dekat dan sulit mudahnya tempat
tersebut dijangkau. Sehingga tabel ini juga menentukan harga dari sebuah produk
melalui tambahan ongkos kirim produknya. Berikut adalah query tabel kota dan
hasil eksekusinya.
CREATE TABLE `kota` (
`id_kota` int(11) NOT NULL AUTO_INCREMENT,
`nama_kota` varchar(100) NOT NULL,
`ongkos_kirim` int(11) NOT NULL,
PRIMARY KEY (`id_kota`) ) ;
Tabel 4.12.Tabel Kota.
4.2.13. Tabel Hubungi
Tabel ini adalah tempat untuk menampung keluhan-keluhan, saran
ataupun kritik terhadap perusahaan dari konsumen tentang produk, web atau
CREATE TABLE `hubungi` (
`id_hubungi` int(11) NOT NULL AUTO_INCREMENT,
`nama_hubungi` varchar(100) NOT NULL,
`email_hubungi` varchar(50) NOT NULL,
`subjek` varchar(100) NOT NULL,
`pesan` text NOT NULL,
`tanggal_hubungi` date NOT NULL,
PRIMARY KEY (`id_hubungi`)
) ;
Tabel 4.13.Tabel Hubungi.
4.2.14. Tabel Modul
Mengatur tentang modul-modul yang diperuntukkan untuk admin web.
Berikut adalah query tabel modul dan hasil eksekusinya.
CREATE TABLE `modul` (
`id_modul` int(11) NOT NULL AUTO_INCREMENT,
`nama_modul` varchar(50) NOT NULL,
`link` varchar(100) NOT NULL,
`status` enum('user','admin') NOT NULL,
`aktif` enum('Y','N') NOT NULL DEFAULT 'Y',
`urutan` int(11) NOT NULL,
PRIMARY KEY (`id_modul`)
Tabel 4.14.Tabel Modul.
4.2.15. Tabel Banner
Tabel banner adalah tempat khusus untuk menampung iklan-iklan yang
muncul di web. Berikut adalah query tabel banner dan hasil eksekusinya.
CREATE `banner`
(
`id_banner` int(11) NOT NULL AUTO_INCREMENT,
`judul_banner` varchar(100) NOT NULL,
`url` varchar(100) NOT NULL,
`gambar_banner` varchar(100) NOT NULL,
`tgl_posting` date NOT NULL,
PRIMARY KEY (`id_banner`)
) ;