ii
ABSTRACT
DEVELOPMENT APPLICATIONS E-COMMERCE
IN THE STORE OF WENK
’S SPORT
By
Nova Kusniar
10107473
Wenk's Sport is a store that specializes in selling sports equipment like soccer clothes, football shoes, futsal shoes and balls. Current system of selling products at Wenk's Sport is not computerized, that is by consumers came directly to the store to select and purchase the desired products. Besides, in making the recapitulation of sales report is still carried out manually, so the sales report has not been properly detailed.
The method used in software development is using the waterfall method. While to analyze the currently running procedures was used Flowmap. To describe the relationship of data flows between the system and external components was used the context diagram. Data Flow Diagram (DFD) is used to describe flow of data that flows on the system, while in the database design are used data dictionary and Entity Relationship Diagram (ERD).
Application testing comprises of alpha testing where this testing is use the black box testing method that focuses on the functional requirements of software and beta testing is field test by interviewing the owner and employees of Wenk's Sport Shop and give the questionnaire to the general public as users of the application. Based on the test results it can be concluded that e-commerce application is considered easy to use, display was enough attractive, speed up data processing, expanding the scope of marketing, easier in promoting the product, allows consumers to make purchases of products and easier in making the recapitulation of sales report
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang Masalah
Toko Wenk’s Sport merupakan toko yang bergerak dalam bidang penjualan produk olahraga sepak bola. Toko Wenk’s Sport menjual produk berupa pakaian sepak bola, sepatu sepak bola, sepatu futsal dan bola. Dalam melakukan penjualan produk, penjualannya hanya berdasarkan konsumen yang datang langsung ke toko tersebut. Sementara rata-rata konsumen yang datang ke Toko Wenk’s Sport sekitar tiga sampai lima orang per hari, hal ini dirasakan masih kurang karena konsumen yang datang ke toko pun kebanyakan hanya pelanggan tetap dari toko dan untuk konsumen baru yang datang ke toko masih kurang.
Selanjutnya kendala yang muncul yaitu mengenai lingkup penjualan yang masih terbatas di sekitar Kabupaten Bandung, sehingga untuk pembeli yang berasal dari luar Kabupaten Bandung harus datang ke toko yang dirasakan kurang efektif dan menyita waktu. Sementara itu, promosi produk yang sedang berjalan di toko Wenk’s Sport hanya lewat mulut ke mulut yang dirasa kurang memberikan informasi yang tepat mengenai produk yang ditawarkan kepada para konsumen. Selain itu, dalam pembukuan untuk pembuatan laporan rekapitulasi penjualan masih dilakukan secara manual sehingga laporan penjualan belum terperinci secara baik.
membangun suatu sistem perdagangan secara online atau lebih dikenal dengan istilah e-commerce ( electronic commerce).
E-Commerce didefinisikan sebagai proses pembelian dan penjualan produk, jasa dan informasi yang dilakukan secara elektronik dengan memanfaatkan jaringan komputer seperti internet [3]. Dengan perangkat keras seperti komputer dan fasilitas internet sebagai perangkat penunjangnya, maka memungkinkan untuk dibangun suatu aplikasi seperti sistem perdagangan online atau e-commerce yang dipandang dapat menunjang kegiatan bisnis perdagangan serta dapat dijadikan sebagai alat pemasaran dan media promosi untuk menawarkan produk toko Wenk’s Sport kepada konsumen dan konsumen dapat membeli produk tanpa harus datang langsung ke toko karena dengan e-commerce konsumen dapat melakukan pembelian kapan saja dan dimana saja
Berdasarkan hasil wawancara dengan pihak Toko Wenk’s Sport, serta mengacu dari permasalahan di atas, maka perlu di buat suatu sistem yang dapat menyelesaikan semua permasalahan yang ada saat ini. Pembangunan Aplikasi E-Commerce Pada Toko Wenk’s Sport adalah harapan untuk menyelesaikan berbagai permasalahan di atas guna mencapai efektifitas maupun efisiensi toko tersebut.
1.2 Rumusan Masalah
1.3 Maksud dan Tujuan
Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah membangun aplikasi e-commerce pada toko Wenk’s Sport. Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah :
1. Mempermudah pemasaran dan penjualan serta mempermudah pembeli untuk melakukan pembelian produk tanpa harus datang ke toko Wenk’s Sport.
2. Mempermudah dalam membuat laporan rekapitulasi penjualan.
3. Memberikan informasi yang tepat mengenai produk yang ditawarkan oleh toko Wenk’s Sport.
1.4 Batasan Masalah
Berdasarkan penjelasan di atas, maka di buat beberapa batasan masalah agar pembahasan lebih terfokus dan sesuai dengan tujuan yang akan dicapai. Adapun batasan masalahnya adalah sebagai berikut:
1. Data yang diolah pada aplikasi ini yaitu data produk, data pembelian, data pembayaran, data pengiriman produk, data retur produk, data laporan.
2. Proses yang ada pada aplikasi ini adalah pengolahan data produk,pengolahan data pembelian, pengolahan data pembayaran, pengolahan data pengiriman produk, pengolahan data retur produk, dan pembuatan laporan.
4. Proses pengiriman barang dilakukan setelah pembeli melakukan pembayaran atas barang yang dipesan dan barang dikirim melalui jasa pengiriman barang seperti menggunakan jasa pengiriman JNE.
5. Untuk keamanan, aplikasi ini menggunakan Secure Socket Layer (SSL), IP-Dedicated, danfasilitas login untuk mengakses situs.
6. Aplikasi hanya memberikan fasilitas customer service online melalui Yahoo Messenger, dan hanya dapat melakukan integrasi dengan situs jejaring sosial facebook.
7. Aplikasi ini dibangun menggunakan bahasa pemrograman PHP dan MySQL sebagai DBMS yang didukung dengan aplikasi seperti Macromedia Dreamweaver sebagai editor HTML, Mozilla firefox dan chrome sebagai web browser.
8. Tahapan analisis aplikasi ini menggunakan metode terstruktur dengan model proses DFD (Data Flow Diagram) dan model data ERD (Entity Relation Diagram).
1.5 Metodologi Penelitian
Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut:
1. Tahap pengumpulan data
a. Studi Literatur.
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian [1]. b. Observasi.
Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil [1].
c. Wawancara.
Pengumpulan data yang dilakukan dengan cara berkomunikasi langsung melalui tanya jawab secara langsung mengenai hal-hal yang ada kaitannya dengan topik yang di ambil [1].
2. Tahap pembuatan perangkat lunak.
Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall seperti tercantum pada gambar 1.1, yang meliputi beberapa proses diantaranya [2]:
a. System / Information Engineering
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya ke dalam pembentukan perangkat lunak.
b. Analisis
c. Design
Tahap penerjemahan dari data yang di analisis ke dalam bentuk yang mudah dimengerti oleh user.
d. Coding
Tahap penerjemahan data atau pemecahan masalah yang telah di rancang ke dalam bahasa pemrograman tertentu.
e. Pengujian
Merupakan tahap pengujian terhadap perangkat lunak yang di bangun.
f. Maintenance
Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan–perubahan atau penambahan sesuai dengan permintaan user.
System Engineering
System Analysis
System Testing System
Design
System Coding
System Maintenance
Feedback
1.6 Sistematika Penulisan
Sistematika penulisan laporan tugas akhir ini di susun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB 1 PENDAHULUAN
Pada bab ini di bahas mengenai latar belakang masalah, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Pada aplikasi ini menjelaskan berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan, teori program yang berkaitan dengan aplikasi yang digunakan, teori khusus yaitu berkaitan dengan istilah-istilah yang dipakai dalam pembuatan aplikasi e-commerce tersebut.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini berisi analisis kebutuhan dalam membangun aplikasi ini, analisis terhadap seluruh spesifikasi sistem yang mencakup analisis prosedur yang sedang berjalan, analisis pengguna dan analisis basis data, selain itu terdapat juga perancangan antarmuka untuk aplikasi yang akan di bangun sesuai dengan hasil analisis yang telah di buat.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
BAB 5 KESIMPULAN DAN SARAN
9
BAB 2
TINJAUAN PUSTAKA
2.1 Tinjauan Perusahaan 2.1.1 Sejarah Toko Wenk’s Sport
Toko Wenk’s Sport merupakan toko yang bergerak dalam bidang
penjualan produk olahraga sepak bola. Toko Wenk’s Sport didirikan pada tahun 2008 oleh Bapak Irwan Gunawan. Toko ini berlokasi di jalan raya Cikalongwetan No. 205 Kabupaten Bandung Barat.
Produk yang di jual di toko Wenk’s Sport antara lain: a. Pakaian Sepak Bola
b. Sepatu Sepak Bola c. Sepatu Futsal d. Bola
Dalam memproleh produk-produk yang akan dipasarkan, toko ini banyak menjalin kerjasama dengan toko lain yang memproduksi alat-alat olahraga sepak bola.
2.1.2 Visi dan Misi
Visi dari toko Wenk’s Sport adalah untuk mengembangkan usaha atau
Adapun misi dari toko Wenk’s Sport adalah senantiasa berusaha
memberikan pelayanan terbaik bagi seluruh konsumen toko Wenk’s Sport, bahkan
melebihi harapan konsumen sekaligus memberikan manfaat bagi semua kalangan masyarakat.
2.1.3 Struktur Organisasi
Struktur organisasi merupakan gambaran formal organisasi yang menunjukkan adanya pemisahan fungsi, uraian tugas, wewenang dan tanggung jawab yang di susun untuk membantu pencapaian hasil usaha perusahaan serta pengendaliannya secara efektif. Bentuk organisasi Toko Wenk’s Sport didasarkan atas tinjauan dari segi wewenang, tanggung jawab dan hubungan kerja dalam fungsi organisasi.
Toko Wenk’s Sport yang termasuk ke dalam kategori perusahaan
perseorangan memiliki struktur organisasi sederhana yang dapat di lihat pada gambar 2.1.
pemilik toko
pegawai toko kasir bagian stok
barang
2.1.4 Deskripsi Tugas
Definisi tugas digunakan untuk mengetahui tugas, wewenang, tanggung jawab dari masing-masing bagian. Definisi tugas yang ada di toko Wenk’s Sport adalah sebagai berikut:
1. Pemilik Toko
Pemilik toko Wenk’s Sport memiliki tugas sebagai pengambil
keputusan, mengontrol kinerja semua pegawai, melaksanakan pemeriksaan yang meliputi seluruh aspek kegiatan manajemen keuangan dan operasional agar pengelolaan dapat dilaksanakan secara efektif dan efisien.
2. Bagian Stok Barang
Bagian stok barang di toko Wenk’s Sport bertugas memeriksa persediaan barang.
3. Pegawai Toko
Pegawai toko bertugas untuk melayani konsumen. 4. Kasir
2.2 Landasan Teori 2.2.1 E-Commerce
2.2.1.1 Sejarah E-commerce
Saat awal ditemukannya jaringan komputer, kebanyakan perusahaan bisnis sekala besar di seluruh dunia, terutama di Amerika Serikat, menggunakan suatu bagian tertentu dari perdagangan elektronik (electronic commerce) untuk mengendalikan transaksi antarbisnis. EDI (Electronic Data Interchange), yang memungkinkan pertukaran dokumen antarbagian dalam suatu perusahaan dengan bentuk yang terstandarisasi di jaringan pribadi, telah di mulai pada sekitar tahun 1960-an di Amerika Serikat. Kemudian aplikasi-aplikasi perbankan berskala besar telah lama menggunakan jaringan terdedikasi (dedicated networks) untuk metode-metode pertransferan dana dengan menggunakan sistem EFT (Electronic Fund Transfer), yang merupakan metode pentransferan dana secara elektronik, yang dirancang untuk mengoptimalkan pembayaran yang dilakukan secara elektronik. Saat ini, dengan semakin maraknya penggunaan Internet, perdagangan secara elektronik (e-commerce) dilakukan oleh bisnis-bisnis dengan berbagai ukuran [3].
2.2.1.2 Keuntungan E-commerce
2.2.1.2.1 Keuntungan Bagi Perusahaan
a. Memperpendek Jarak
Perusahaan-perusahaan dapat lebih mendekatkan diri dengan konsumen. Dengan hanya mengklik link-link yang ada pada situs-situs, konsumen dapat menuju ke perusahaan dimanapun saat itu konsumen berada.
b. Perluasan Pasar
Jangkauan pemesaran menjadi semakin luas dan tidak terbatas oleh area geografis dimana perusaan berada.
c. Perluasan Jaringan Mitra Bisnis
Pada perdagangan tradisional, sangat sulit bagi suatu perusahaan untuk mengetahui posisi geografis mitrakerjanya yang berada di negara-negara lain atau benua lain. Bagaimana pun juga mitra kerja sangat pentin untuk konsultasi dan kerjasama baik teknis maupun non-teknis. Dengan adanya perdagangan elektronik lewat jaringan internet, hal-hal tersebut bukan menjadi masalah yang besar lagi.
d. Efisien
informasi-informasi produk/jasa dan transaksi-transaksi bias dilakukan lebih cepatserta lebih akurat.
2.2.1.2.2 Keuntungan Bagi Konsumen
Perdagangan elektonik juga bermanfaat bagi pelanggan/konsumen. Beberapa manfaat itu adalah sebagai berikut [3]:
a) Efektif
Konsumen dapat memperoleh informasi tentang produk/jasa yang dibutuhkannya dan bertransaksi dengan cara yang cdepat dan murah.
b) Aman Secara Fisik
Konsumen tidak perlu mendatangi tokotempat perusahaan menjajakan harganya dan ini memungkinkan konsumen dapat bertransaksi dengan aman sebab di daerah-daerah tertentu mungkin sangat berbahaya jika berkendaraan dan membawa uang tunaidalam jumlah yang besar. c) Fleksibel
Konsumen dapat melakukan transaksi dari berbagai lokasi, baik dari rumah, kantor, warnet, atau tempat-tempat lainnya. Konsumen juga tidak perlu berdandan rapi seperti pada perdagangan tradisional umumnya.
2.2.1.2.3 Keuntungan Bagi Masyarakat Umum
1. Mengurangi Polusi dan Pencemaran Lingkungan
Dengan adanya perdagangan elektronik yang dapat dilakukan dimana saja, konsumen tidak perlu melakukan perjalanan-perjalanan ke toko-toko, dimana hal ini pada gilirannya akan mengurangi jumlah kendaraan yang berlalu-lalang di jalanan. Berkurangnnya kendaraan di jalanan berarti menghemat bahan bakar (BBM) dan mengurangi tingkat polusi udara sebab gas-gas buangan kendaraan bermotor dapat mencemari lingkungan.
2. Membuka Peluang Kerja Baru
Era perdagangan elektronik akan membuka peluang-peluang kerja baru bagi yang tidak „buta’ teknologi. Muncul pekerjaan-pekerjaan baru
seperti pemrogram computer, perancang web, ahli di bidang basis data, analisis sistem, ahli di bidang jaringan computer, dan sebagainya.
3. Menguntungkan Dunia Akademis
4. Meningkatkan Kualitas Sumber Daya Manusia
Perdagangan elektronik, seperti juga teknologi komputer pada umumnya, hanya bias dilakukan oleh orang-orang yang tidak gaptek (gagap teknologi), sehingga pada gilirannya akan merangsang orang-orang untuk mempelajari teknologi komputer demi kepentingan mereka sendiri. Selain itu, dalam melakukan perdagangan elektronik, seseorang suatu saat mungkin akan „tersesat’ ke situs-situs berkualitas yang akan meningkatkan
pemahaman orang yang bersangkutan.
2.2.1.3 Kerugian E-commerce
Di samping segala hal yang menguntungkandi atas, segala sesuatu ciptaan manusia pasti memiliki sisi negatif. Namun, dari sudut pandang manapun, perdagangan elektronik memiliki segi positif lebih banyak dari sisi negatifnya.
Sebagai langkah antisipasi, perlu memahami beberapa segi negatif perdagangan elektronik (atau internet pada umumnya) sebagai berikut [3]:
a. Meningkatkan Individualisme
b. Terkadang Menimbulkan Kekecewaan
Apa yang di lihat di layar monitor komputer kadang berbeda dengan apa yang di lihat secara kasat mata. Seseorang yang membeli lukisan di Internet mungkin suatu saat akan mendapati lukisannya tidak memiliki warna yang sama dengan apa yang dilihatnya di layar monitor. Seseorang yang membeli sofa di Internet adalah contoh lain. Di layar monitor sofa yang akan dibelinya terlihat begitu nyaman diduduki. Kenyataannya? Sangat mungkin, apa yang terlihat begitu lembut di layar monitor ternyata pada kenyataanya tidak begitu adanya.
c. Tidak Manusiawi
Sering sekali orang pergi ke toko-toko dan pusat-pusat perbelanjaan (mall) tidak sekedar ingin memuaskan kebutuhannya akan barang/jasa tertentu. Mungkin orang itu melakukannya untuk penyegaran (refresing) atau bersosialisasi dengan rekan-rekan atau keluarganya. Perdagangan elektronik gagal di pandang dari sudut pandang seperti ini. Di internet, meski dapat mengobrol (chatting) dengan orang lain, mungkin orang itu tidak merasakan jabat tangannya, senyuman ramahnya, atau candanya.
hal ini tidak dapat di jumpai di perdagangan elektronik. Perdagangan elektronik sangat berorientasi transaksi. Perdagangan elektronik hanya sesuai pada situasi dan kondisi tertentu, dimana kontak langsung antara penjual dan pembeli tidak terlalu dibutuhkan.
2.2.1.4 Klasifikasi E-Commerce
Penggolongan E-Commerce yang lazim dilakukan orang ialah berdasarkan sifat transaksinya, antara lain [3]:
1. Business to Business (B2B)
Jenis transaksi di mana pembeli biasanya membeli dalam jumlah besar karena akan di jual kembali. Contoh penjualan grosir.
2. Business to Consumer (B2C)
Jenis transaksi dimana pembelinya perorangan dan tidak punya tujuan untuk menjualnya kembali biasanya semacam toko online yang menjual berbagai macam barang.
3. Consumer to Consumer (C2C)
4. Consumer to Business (C2B)
Termasuk ke dalam kategori ini adalah perseorangan yang menjual produk atau layanan kepada organisasi, dan perseorangan yang mencari penjual, berinteraksi dengan mereka dan menyepakati suatu transaksi.
2.2.2 Pengenalan CSS
CSS atau Cascading Style Sheet saat ini adalah sebuah elemen penting dalam pembuatan sebuah web. Sama pentingnya saat mendesain bentuk web pada Photoshop. Dengan CSS, dapat mendesign sejumlah halaman dengan aturan yang sama tanpa mengubah halaman-halaman tersebut satu persatu. Bayangkan saja jika mempunyai ratusan halaman dan harus mendesign ulang halaman tersebut satu persatu, hanya akan menghabiskan waktu. Dengan CSS, masalah tersebut akan diatasi. Dengan membuat sebuah file CSS kemudian meng-importnya ke dalam file halaman web, sehingga dapat memformat style semua halam web yang di buat.
Saat ini CSS merupakan aturan style yang banyak digunakan dikarenakan fleksibilitas dari tag, kemudahan dan lengkapnya atribut yang dimilikinya.
2.2.3 Pengenalan PHP
PHP atau Hypertext Preprocessor adalah salah satu jenis bahasa pemograman web yang open source, sehingga dapat digunakan secara cuma-cuma. Selain gratis, PHP juga memiliki kelebihan diantaranya, kemudahan dalam menggunakannya serta dapat digunakan untuk membuat website dinamis.
Dengan PHP dapat membuat situs lebih interaktif. Misalnya untuk pengisian formulir, pengisian buku tamu, dll. PHP juga dapat menghubungkan website yang di buat dengan database, sehingga menciptakan website yang dinamis.
Struktur dari file PHP biasanya didahului oleh tag <?php serta di tutup dengan tag ?>. Dan file-nya ber-ekstensi .php.
<?php
Disini letek skrip-skrip PHP
?>
Setiap perintah juga harus dilengkapi dengan titik koma “;”. Serta variable
PHP di tulis dengan tanda dolar ($) dan diikuti nama variabel tanpa spasi. // Perintah diakhiri dengan “;”
<?php
Perintah PHP1;
Perintah PHP2;
?>
// Variabel tanpa spasi
$variabelphp = “Nilai dari variabelphp”;
$tulis = “value dari tulis”;
?>
Untuk menghubungkan web berbasis PHP dengan database, biasanya akan membutuhkan sebuah perantara koneksi. Kondisi ini dapat dibuat dengan mudah menggunakan tools Recordest yang ada pada Dreamweaver. Tapi untuk sederhananya sebagai berikut:
<?php
$servername = “localhost”;
$username = “root”;
$password = “password”;
$database = “database”;
mysql_connect ($servername, $username, $password) or die (“Gagal Koneksi”);
mysql_select_db($database) or die (“Database tidak ada”);
?>
2.2.4 HTML (Hypertext Markup Language)
Hypertext markup Language (HTML) dalam ilmu komputer merupakan bahasa pemformatan teks untuk dokumen-dokumen pada jaringan computer yang di kenal sebagai World Wide Web (atau sering disebut web saja). Dokumen-dokumen HTML merupakan berkas teks yang mengandung 2 bagian [3]:
1. Isi yaitu segala sesuatu yang ingin ditampilkan dan diperlihatkan dalam dokumen web.
2. Tag yang merupakan informasi pemformatan, yang tersembunyi dari pandangan pengguna, yang memberitahu browser tentang bagaimana caranya menampilkan isi dokumen ke hadapan pengguna.
HTML pada dasarnya merupakan himpunan bagian dari bahasa yang lebih luas jangkauannya yaitu Standard Generalized Markup Language (SGML), yang merupakan sistem pengkodean dan pemformatan untuk dokumen yang ditampilkan di layar computer maupun di kertas.
Dokumen-dokumen SGML terdiri dari 3 jenis informasi: data, structure, dan format. Data mencakup tidak hanya teks, grafik dan gambar, suara tetapi juga informasi-informasi yang tidak ditampilkan pada luaran misalnya basis data katalog pengiriman lewat surat yang memuat informasi rujukan tentang item tertentu yang berisi persediaan saat ini yang tidak tercantum dalam catalog tercetak.
memuat struktur yang sama. Namun selain itu, HTML juga memuat link, atau hubungan dengan halaman-halaman World Wide Web yang lainnya.
Format merujuk pada bagaimana dokumen akan di lihat oleh para pengguna. Sebagai contoh, teks mungkin akan dimiringkan (italic), ditebalkan (bold), diberi garis bawah (underline), dan sebagainya.
World Wide Web pertama kali dikembangkan oleh fisikawan dan ilmuwan computer Inggris yang bernama Timothy Berners-Lee pada salah satu proyek yang diselenggarakan oleh Pusat Riset Nuklir Eropa (European Organization for Nuclear Research (CERN)) di Geneva, Swiss. Berners-Lee menggabungkan beberapa ide yang ada saat itu ke suatu sistem tunggal yang memudahkan para fisikiawan menggunakan data-data dan mengomunikasikannya lewat Internet. Yang juga penting, Berners-Lee menambahkan kemamapuan multimedia pada dokumen-dokumen web. Berners-Lee mulai bekerja dengan hypertext pada awal tahun 1980-an dan prototipe-nya diimplementasikan oleh CERN pada tahun 1989. Selanjutnya ide-ide Berners-Lee secara cepat menyebar ke universitas-universitas di seluruh dunia (dan akhirnya ke dunia komersial).
memiliki penandaan untuk membuat formulir-formulir yang memungkinkan pengguna mengisi informasi tertentu dan mengirimkannya secara elektronik ke tempat-tempat lain di jaringan internet.
Perangkat lunak yang memungkinkan pengguna menjelajahi World Wide Webdan melihat dokumen-dokumen HTML dinamakan browser. Browser menafsirkan tag-tag HTML pada dokumen dan melakukan pemformatan saat dokumen yang bersangkutan ditampilkan di layar monitor.
Pada tahun 1989, Berners-Lee merumuskan suatu proposal tentang sebuah system hypertext yang memiliki 3 komponen sebagai berikut:
1. Antarmuka yang konsisten untuk semua jenis platform. Antarmuka ini harus menyediakan akses yang dapat digunakan oleh berbagai jenis computer. 2. Akses informasi yang bersifat universal. Setiap pengguna harus dapat
mengakses setiap informasu yang berbeda.
3. Antarmuka yang menyediakan akses keberbagai jenis dokumen dan protocol.
2.2.5 JavaScript
JavaScript adalah bahasa skrip dan Netscape yang fungsinya mirip dengan VBScript namun bahasa dasarnya adalah adalah Java. Javascript di dukung oleh browser Netscape Navigator mulai versi 2.0. Javascript lebih mudah digunakan dari Java, tetapi tentu saja tidak memiliki kemampuan yang secanggih Java. Javascript menggunakan bahasa HTML sebagai antarmuka penggunanya. Java dapat membuat antarmuka secara lengkap. Pada sisi client, applet (sebuah aplikasi sikembangkan untuk dijalankan di browser) di pelihara dalam kode sumber. Pada server, mereka dikompilasimenjadi kode byte (bahasa antara), mirip dengan program-program yang dibuat dengan bahasa pemograman Java. Javascript berevolusi dari bahasa livescript dan Netscape dan kompatibel dengan bahasa pemograman Java. Javascript tidak sehebat Java, namun dapat digunakan bersama dengan Java. Sebagai contoh applet Javascript dapat digunakan untuk membuat form masukan pengguna dan melakukan validasi asupan, sementara program Java akan melakukan pemrosesan informasinya [3].
2.2.5.1 Kekurangan dan Kelebihan JavaScript
Beberapa kelebihan dari JavaScript diantaranya adalah sebagai berikut [3]: 1. Ukuran file relatif kecil
server. Semakin kecil space suatu web yang di simpan dalam suatu server, maka kinerja server ketika di-browsing oleh user di internet akan tidak terlalu berat, selain itu sifat JavaScript yang client side tidak perlu lagi diolah oleh server ketika browser memanggilnya.
2. Mudah untuk dipelejari
Javascript merupakan bahasa semi pemograman yang merupakan gabungann antara bahasa pemograman Java dengan bahasa kode HTML sehingga di sebut bahasa hybrid, dan tidak memiliki aturan serumit Java. 3. Terbuka
Javascript tidak terikat oleh hardware maupun software tertentu, bahkan sistem operasi seperti Windows maupun Unix. Karena bersifat terbuka, maka dapat dibuat di baca di semua jenis computer.
Sedangkan, beberapa kekurangan JavaScript diantaranya adalah sebagai berikut:
1. Skrip tidak terenkripsi
2. Kemampuan terbatas
Walaupun JavaScript mampu membuat halaman web menjadi interaktif dan dinamis, namun JavaScript tidak mampu membuat program aplikasi sendiri seperti Java.
3. Keterbatasn objek
Javascript tidak mampu membuat kelas-kelas yang bias menampung objek-objek tambahan seperti Java, karena JavaScript telah memiliki objek built-in pada struktur bahasanya.
2.2.6 Mengenal MySQL dan phpMyAdmin
MySql adalah database yang menghubungkan script PHP menggunakan perintah query dan escape character yang sama dengan PHP. MySQL mempunyai tampilan client yang mempermudah dalam mengakses database dengan kata sandi untuk mengijinkan proses yang boleh dilakukan.
Sedangkan phpMyAdmin merupakan halaman yang terdapat pada web server. Fungsi dari halaman ini adalah sebagai pengendali database MySQL menggunakan web server [5].
2.2.6.1 Perintah Membuat Database
Untuk membuat database badu di dalam server dengan menggunakan printah CREATE DATABASE. Berikut adalah contoh untuk membuat database [5].
Query OK, 1 row affected (0.28)
Pada perintah di atas, pernyataan “Query OK, 1 row affected (0.02)” menendakan bahwa perintah yang dijalankan dapat diterima oleh server. Sehingga maksud dari perintah akan diterapkan pada database MySQL.
Untuk melihat hasilnya, dapat menggunakan perintah SHOW seperti sebelumnya.
mysql> SHOW DATABASES;
2.2.6.2 Perintah Mengaktifkan Database
Setelah database di buat, maka dapat bekerja di dalam database tersebut dengan menggunakan perintah-perintah DML (Data Manipulation Language) dan DDL (Data Definition Language). Untuk dapat bekerja pada sebuah database, masuklah ke dalam database tersebut. Caranya adalah dengan menggunakan perintah USE. Perhatikan contohnya [5]:
mysql> USE nama database;
Database changed
Setelah mendapatkan pesan “Database changed”, maka sekarang berada di
2.2.6.3 Perintah Membuat Tabel
Di dalam databse, dapat melakukan operasi DDL seperti perintah CREATE untuk membuat table. Struktur perintah untuk membuat table adalah sebagai berikut [5]:
Sintaks
CREATE TABLE namatabel (koloma TYPE(panjang),
Kolomb TYPE(panjang), ………,
Kolomn TYPE(panjang));
2.2.6.4 Perintah Menampilkan Tabel
Melihat kondisi daftar table di dalam database yang sedang aktif. Perintah yang dapat digunakan adalah SHOW TABLES. Perhatikan contoh querynya sebagai berikut [5]:
mysql> SHOW TABLES;
2.2.6.5 Perintah mendeskripsikan Tabel
Semua desain kolom tabel yang telah di buat, dapat ditampilkan lagi dengan menggunakan perintah DESCRIBE atau DESC. Perhatikan caranya sebagai berikut [5]:
2.2.6.6 Perintah Memasukkan Data Pada Tabel
Setelah tabel terbentuk, dapat menggunakan perintah-perintah (Data Manipulation Language) seperti INSERT, UPDATE, dan DELETE untuk memanipulasi data yang ada didalamnya.
Perintah INSERT digunakan untuk memasukkan data baru ke dalam tabel, cara menggunakannya adalah sebagai berikut [5]:
Sintaks
INSERT INTO namatabel (koloma, kolomb, …, kolomn)
Values („datakoloma‟, ‟datakolomb‟,„…‟, „datakolomn‟)
2.2.6.7 Perintah Menampilkan Isi Tabel
Setelah data dimasukkan, dapat melihat daftar data yang ada di dalam tabel dengan nama tabel yang telah di buat. Caranya adalah dengan menggunakan perintah SELECT, perhatikan contohnya sebagai berikut [5]:
mysql> SELECT * FROM namatabel;
2.2.6.8 Menampilkan Dengan Kondisi
Parameter WHERE merupakan bentuk klausa SQL standar yang dimiliki oleh MySQL dalam membuat pengkondisian dalam permintaan/query. Sintaks penggunaannya adalah [5]:
Sintaks dasar
SELECT [* | kolom] FROM namatabel WHERE kondisi;
2.2.6.9Merubah Data dengan Kondisi
Perintah DML lain yang berkaiatan dengan data adalah UPDATE. Perintah ini dapat digunakan untuk meremajakan isi data lama pada atabel menjadi data terbaru. Penggunaan dari perintah tersebut dapat di lihat pada sintaks berikut [5]: Sintaks dasar
UPDATE namatabel SET koloma=‟databaru‟, Kolomb=‟databaru‟ WHERE kondisi;
2.2.6.10Menghapus Data dengan Kondisi
Dengan menggunakan parameter WHERE, dapat melakukan operasi penghapusan data dari tabel anggota. Perintah DML yang digunakan untuk menghapus data adalah DELETE. Berikut sintaksnya [5]:
Sintaks dasar
2.2.7 Basis Data (Database)
Definisi Basis Data (Database) dapat didefinisikan dalam sejumlah sudut pandang seperti [6]:
a. Sistem yang terkomputerisasi yang tujuan utamanya adalah memelihara informasi dan membuat informasi tersebut tersedia saat dibutuhkan.
b. Kumpulan data yang saling berhubungan yang di simpan di tempat penyimpanan dan dapat dimanfaatkan kembali dengan cepat dan mudah.
Sebuah basis data memerlukan system untuk memasukkan mengubah, menghapus, memanipulasi, dan dapat memperoleh data/informasi dengan praktis dan efisien, sistem tersebut dikenal dengan nama Database Management System (DBMS). DBMS mengatur proses pengambilan dan penyimpanan data seperti system operasi yang bertugas mengatur sumber daya di dalam komputer. DBMS akan menentukan bagaimana data di organisasi, di simpan, di ubah, dan di ambil kembali. DBMS juga menerapkan mekanisme pengamatan data, pemakaian data secara bersama-sama oleh beberapa aplikasi, dan menjaga kehandalan data (integritas data).
2.2.8 ERD
menggunakan OODBMS maka perancangan basis data tidak perlu menggunakan ERD. Berikut adalah simbol-simbol yang digunakan pada ERD [12]:
Simbol Deskripsi
Entitas / entity
nama_entitas
Entitas merupakan data inti yang akan di simpan; bakal tabel pada basis data
Atribut
nama_atribut
Field atau kolom data yang butuh di simpan dalam suatu entitas
Atribut kunci primer
nama_kunci_primer
Field atau kolom data yang butuh di simpan dalam suatu entitas dan digunakan sebagai kunsinakses record yang diinginkan; biasanya berupa id
Atribut multinilai /
multivalue
nama_atribut
Field atau kolom data yang butuh di simpan dalam suatu entitas yang dapat memiliki nilai lebih dari satu
Relasi
nama_relasi
Relasi yang menghubungkan antar entitas; biasanya diawali dengan kata kerja
Asosiasi / association
1 O..*
Penghubung antara relasi dan entitas di mana di kedua ujungnya memiliki
multiplicity kemungkinan jumlah pemakaian
2.2.9 CDM
CDM (Conceptual Data Model) atau model konsep data merupakan konsep yang berkaitan dengan pandangan pemakai terhadap data yang di simpan dalam basis data. CDM sudah di buat dalam bentuk tabel-tabel tanpa tipe data yang menggambarkan relasi antar tabel untuk keperluan implementasi ke basis data.CDM merupakan hasil penjabaran labih lanjut dari ERD. Ada aturan-aturan yang harus diikuti dalam melakukan konversi ERD menjadi CDM.
Berikut adalah simbol-simbol yang ada pada CDM [12]:
Simbol Deskripsi
Entitas / tabel Entitas atau tabel yang menyimpan data
dalam basis data
Relasi Relasi antar tabel yang terdiri atas nama relasi dan multiplicity
nama_tabel
1..*
1..*
nama relasi
2.2.10 PDM
Model Relasional atau Physical Data Model (PDM) adalah model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setipa kolom memiliki nama yang unik beserta tipe datanya. PDM merupakan konsep yang menerangkan detail dari bagaimana data di simpan di dalam basis data.
Berikut adalah simbol-simbol yang ada pada PDM [12]:
Simbol Deskripsi
Tabel Tabel yang menyimpan data dalam basis
data
Relasi Relasi antar tabel yang terdiri dari
persamaan antara primary key (kunci primer) tabel yang di acu dengan kunci yang menjadi referensi acuan di tabel lain
nama_tabel
id_tbl 1 = id_fk_tbl2
Gambar 2.4 Simbol PDM
2.2.11 DFD
sistem. Berikut adalahcontoh DFDyang dikembangkan oleh Chris Gane dan Trish Sarson [12]:
produsen atau konsumen
proses aliran data
D4 nama penyimpadan data 1.2.3
Gambar 2.5 Contoh DFD yang Dikembangkan Chris Gane & Trish Sarson
Informasi yang ada di dalam perangkat lunak dimodifikasi dengan beberapa transformasi yang dibutuhkan. Data Floe Diagram (DFD) atau dalam bahasa Indonesia menjadi Diagram Alir Data (DAD) adalah representasi grafik yang menggambarkan aliran informasi dan transformasi informasi yang diaplikasikan sebagai data yang mengalir dari masukan (input) dan keluaran (output).
DFD dapat digunakan untuk merepresentasikan sebuah sistem atau perangkat lunak pada beberapa level abstraksi. DFD dapat di bagi menjadi beberapa level yang lebih detailuntuk merepresentasikan aliran informasi atau fungsi yang lebih detail. DFD menyediakan mekanisme untuk pemodelan fungsional ataupun pemodelan aliran informasi. Oleh karena itu, DFD lebih sesuai digunakan untuk memodelkan fungsi-fungsi perangkat lunak yang akan diimplementasikan menggunakan pemrograman terstruktur karena pemrograman terstruktur menbagi-bagi bagiannya dengan fungsi-fungsi dan prosedur-prosedur.
DFD tidak sesuai untuk memodelkan sistem perangkat lunak yang akan di bangun menggunakan pemrograman berorientasi objek. Paradigma pemrograman terstruktur dan pemrograman berorientasi objek merupakan hal yang berbeda. Jangan mencampuradukkan pemrograman terstruktur dan pemrograman berorientasi objek.
Notasi Keterangan
proses atau fungsi atau prosedur; pada pemodelan perangkat lunak yang akan diimplementasikan dengan pemrograman terstruktur, maka pemodelan notasi inilah yang harusnya menjadu fungsi atau prosedur di dalam kode program.
catatan:
nama yang diberikan pada sebuah proses biasanya berupa kata kerja
file atau basis data atau penyimpanan (storage); pada pemodelan perangkat lunak yang akan diimplementasikan dengan pemrograman terstruktur, maka pemodelan notasi inilah yang harusnyadibuat menjadi tabel-tabel basis data yang dibutuhkan, tabel-tabel ini juga harus sesuai dengan perancangan tabel-tabel pada basis data (Entity Relationship Diagram (ERD), Conceptual Data Model (CDM), Physical Data Model (PDM))
catatan:
nama yang diberikan pada sebuah penyimpanan biasanya kata benda
entitas luar (external entity) atau masukkan (input) atau keluaran (output) atau orang yang memakai/ berinteraksi dengan perangkat lunak yang dimodelakan atau sistem lain yang terkait dengan aliran data dari sistem yang di modelakan.
catatan:
nama yang digunakan pada masuan (input) atau keluaran (output) biasanya berupa kata benda
aliran data; merupakan data yang di kirim antar proses, dari penyimpanan ke proses, atau dari proses ke masukkan (input) atau keluaran (output)
catatan:
nama yang digunakan pada aliran data biasanya berupa kata benda, dapat di awali dengan kata data
misalnya „data siswa’ atau tanpa kata data misalnya „siswa’
Berikut ini adalah tahapan-tahapan perancangan dengan menggunakan DFD:
1. Membuat DFD Lebel 0 atau sering disebut juga Context Diagram DFD Level 0 menggambarkan sistem yang akan di buat sebagai suatu entitas tunggal yang berinteraksi dengan orang maupun sistem lain. DFD Level 0 digunakan untuk menggambarkan interaksi antara sistem yang akan dikembangkan dengan entitas luar.
2. Membuat DFD Level 1
DFD Level 1 digunakan untuk menggambarkan modul-modul yang adadalam sistem yang akan dikembangkan. DFD Level 1 merupakan hasil breakdown DFD Level 0 yang sebelumnya sudah di buat.
3. Membuat DFD Level 2
Modul-modul pada DFD Level1 dapat di-breakdown menjadi DFD Level 2. Modul mana saja yang harus di-breakdown lebih detail tergantung pada tingkat kedetailan modul tersebut. Apabila modul tersebut sudah cukup detail dan rinci maka modul tersebut sudah tidak perlu untuk di-breakdown lagi. Untuk sebuah sistem, jumlah DFD Level 2 sama dengan jumlah modulpada DFD Level 1 yang di-breakdown.
4. Membuat DFD Level 3 dan seterusnya
Pada suatu diagram DFDsebaiknya jumlah modultidak boleh lebih darin20 buah. Jika lebih dari 20 buah modul, diagram akan terlihat rumit dan susah untuk di baca sehingga menyebabkan sistem yang dikembangkan jugamenjadi rumit.
2.2.12 Kamus Data
Kamus data (data dictionary) dipergunakan untuk memperjelas aliran data yang digambarkan pada DFD. Kamus data adalah kumpulan daftar elemen data yang mengalir pada sistem perangkat lunak sehingga masukkan (input) dan keluaran (output) dapat dipahami secara umum (memiliki standar cara penulisan). Kamus data biasanya berisi[12]:
1. nama – nama dari data
2. digunakan pada – merupakan proses-proses yang terkait data 3. deskripsi – merupakan deskripsi data
4. informasi tambahan – seperti tipe data, nilai data, batas nilai data, dan komponen yang membentuk data
Simbol Keterangan
=
+
[|]
{}n
( )
*…*
di susun atau terdiri dari
dan
baik … atau ...
n kali di ulang/bernilai banyak
data opsional
batas komentar
Gambar 2.7 Simbol Kamus Data
Kamus data pada DFD nanti harus dapt dipetakan dengan hasil perancangan basis data yang dilakukan sebelumnya. Jika ada kamus data yang tidak dapat dipetakan pada tabel hasil perancangan basis data berarti hasil perancangan basis data dengan perancangan dengan DFD masih belum sesuai, sehingga harus ada yang di perbaiki baik perancangan basis datanya, perancangan DFD-nya, atau keduanya.
2.2.13 Keamanan Untuk Aplikasi Web
menawarkan metode perlindungan yang mirip, tetapi melindungi saluran komunikasi di antara 2 protokol bagian bawah dalam tumpukan protocol, yaitu antara lapisan aplikasi dan lapisan jaringan dan transpor menurut standar protocol TCP/IP. Selain hal di atas, SSL dapat juga digunakan untuk transaksi-transaksi selain yang berjalan di web, tetapi tidak di rancang untuk menangani keputusan keamanan berbasis pada otentikasi pada peringkat aplikasi atau dokumen. Ini berarti harus menggunakan metode yang lain untuk mengendalikan akses ke berkas-berkas (file) yang berbeda [3].
2.2.14 Mengenal Web Server
Web server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HHTP atau HTTPS dari klien yang di kenal dengan web browser dan mengirimkan kembali hasilnya dalam bentu halaman-halaman webyang umumnya berbentuk dokumen HTML. Web server yang terkenal diantaranya adalah Apache dan Microsoft Internet Information Service (ISS). Apache (Server HTTP Apache atau server Web/WWW/Apache) adalah web server yang dapat dijalankan di banyak system operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP.
merupakan layanan terintegrasi dalam Windows 2000 Server, Windows Server 2003 atau sebagai add-on dalam Windows NT 4.0. Layanan ini berfungsi sebagai pendukung protocol TCP/IP yang berjalan dalam lapisan aplikasi (application layer). IIS juga menjadi fondasi dari platform Internet dan Internet Microsoft, yang mencakup Microsoft Site Server, Mivrosoft Commercial Internet System dan produk-produk Microsoft BackOffice lainnya [7].
2.2.15 Search Engine Optimalization (SEO)
Untuk membuat web lebih cepat terdaftar (terindex) search engine, wajib melakukan SEO. Berikut adalah beberapa trik-trik SEO yang mendasar [4]:
1. Menggunakan meta yang lengkap dalam tag head dari sebuah halaman website.
2. Setiap halaman menggunakan meta tag yang berlainan. Jangan membuat perulangan keyword pada website.
3. Menggunakan alt image (deskripsi gambar) pada setiap gambar.
4. Tidak melakukan farming link. Di sini berarti, tidak menampung link-link yang sangat banyak dalam sebuah halamn website.
5. Tetap rajin untuk meng-update website. Meskipun kecil, ini akan sangat berarti dalam pencarian website oleh search engine.
2.2.16 Macromedia Dreamweaver 8
mempunyai tool-tool yang lengkap untuk membuat sebuah website secara sempurna. Fitur editing secara visual yang dimiliki oleh program ini memungkinkan untuk membuat web tanpa harus mengenal kode-kode yang ada didalamnya, sehingga proses pembuatan web akan semakin praktis dan cepat [4].
2.2.17 World Wide Web (WWW)
2.2.18 Electronic Mail (E-Mail)
Aplikasi ini adalah yang paling banyak digunakan, dan termasuk salah satu dari aplikasi pertama di Internet. Dengan E-mail, dapat mengirim dan menerima surat, pesan, dokumen, secara elektronik dengan pemakai lain di Internet yang mempunyai alamat e-mail [8].
2.2.19 Pengenalan Website
Website adalah sebuah media presentasi online untuk sebuah perusahaan atau individu. Website juga dapat digunakan sebagai media penyimpanan informasi secara online, seperti detik.com, okezone.com, vivenews.com, dan lain-lain.
Berdasarkan kedinamisan, website dapat dibedakan menjadi dua, yaitu website statis dan website dinamis. Website statis bersifat un-real time. Maksudnya website statis tidak dapat di ubah secara simultan dalam sebuah web based administrator, sehingga hanya bias di ubah ketika langsung mengakses file pada server dan melakukan perubahan pada source codenya. Sedangkan website dinamis adalah sebuah website yang dilengkapi sebuah pengaturan (administrator) yang dapat berfungsi sebagai sarana untuk mengubah data website secara real time tanpa menyentih sorce code dalam server.
Beberapa contoh bahasa pemograman web yang dapat digunakan diantaranya adalah PHP, ASP, JSP dan ColdFusion.
199 4.1 Implementasi Sistem
Tahapan implementasi merupakan tahap penciptaan perangkat lunak, tahap kelanjutan dari kegiatan perancangan sistem. Tahap ini merupakan tahap dimana sistem siap untuk dioperasikan yang terdiri dari penjelasan mengenai lingkungan implementasi dan implementasi program.
4.1.1 Lingkungan Implementasi
Untuk mendukung aplikasi yang akan diterapkan pada lingkungan implementasi, maka dalam hal ini harus memperhatikan perangkat keras dan perangkat lunak yang menunjang dalam pembangunan aplikasi e-commerce.
4.1.2 Implementasi Perangkat Keras
Spesifikasi perangkat keras minimal yang dibutuhkan untuk mengimplementasikan perangkat keras adalah sebagai berikut:
Tabel 4.1 Perangkat Keras yang Dibutuhkan
No. Perangkat keras Spesifikasi
1. Prosessor Intel Pentium 4 2.0 GHz
2. Monitor LCD 14”
3. VGA VGA Card On-Board 64 Mb
4. Memori DDR2 512Mb
5. Keyboard Keyboard
6. Mouse Mouse
8. Modem Wired
4.1.3 Implementasi Perangkat Lunak
Spesifikasi perangkat lunak yang dibutuhkan untuk mengimplementasikan perangkat lunak adalah sebagai berikut:
Tabel 4.2 Perangkat Lunak yang Dibutuhkan
No. Perangkat Lunak Keterangan
1. Sistem Operasi Windows XP
2. Web Browser Mozilla Firefox, Google Chrome
3. Code Editor Macromedia dreamweaver 8
4. Database MySql 5.0.51a
4.1.4 Implementasi Database
Pembuatan database dilakukan dengan menggunakan aplikasi DBMS MySQL. Implementasi database dalam bahasa SQL adalah sebagai berikut:
Tabel 4.3 Implementasi Database
No. Nama Tabel Perintah
1. admin CREATE TABLE IF NOT EXISTS `admin` (
`username` varchar(40) NOT NULL, `password` varchar(40) NOT NULL, `nama` varchar(50) NOT NULL, `email` varchar(100) NOT NULL, `level` enum('Admin','Operator') NOT NULL,
`aktif` enum('Non Aktif','Aktif') NOT NULL DEFAULT 'Aktif',
PRIMARY KEY (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
2. harga_paket CREATE TABLE IF NOT EXISTS `harga_paket` (
`harga` int(7) unsigned NOT NULL, `lama` tinyint(2) unsigned DEFAULT NULL,
PRIMARY KEY
(`id_kota`,`id_paket_pengiriman`), KEY `id_paket_pengiriman`
(`id_paket_pengiriman`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ADD CONSTRAINT `harga_paket_ibfk_2` FOREIGN KEY (`id_kota`) REFERENCES `kota` (`id`) ON UPDATE CASCADE, ADD CONSTRAINT
`harga_paket_ibfk_3` FOREIGN KEY (`id_paket_pengiriman`) REFERENCES `paket_pengiriman` (`id`) ON UPDATE CASCADE;
3. jasa_pengiriman CREATE TABLE IF NOT EXISTS `jasa_pengiriman` (
`id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT,
`nama` varchar(255) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT
CHARSET=latin1 AUTO_INCREMENT=3 ;
4. kategori_ukuran CREATE TABLE IF NOT EXISTS `kategori_ukuran` (
`id_produk_kategori` tinyint(2) unsigned NOT NULL,
`id_ukuran` mediumint(3) unsigned NOT NULL,
PRIMARY KEY
(`id_produk_kategori`,`id_ukuran`), KEY `id_ukuran` (`id_ukuran`) ) ENGINE=InnoDB DEFAULT
CHARSET=latin1;
ADD CONSTRAINT
ADD CONSTRAINT
`kategori_ukuran_ibfk_4` FOREIGN KEY (`id_ukuran`) REFERENCES `ukuran` (`id`) ON UPDATE CASCADE;
5. konfirmasi_pembayaran CREATE TABLE IF NOT EXISTS `konfirmasi_pembayaran` (
`id_pembelian` int(7) unsigned NOT NULL,
`cara_bayar` enum('Setor
Tunai','ATM','Internet Banking','SMS Banking','PayPal') NOT NULL,
`waktu_pembayaran` date NOT NULL, `waktu_konfirmasi` datetime NOT NULL,
`bank`
enum('BCA','Mandiri','PayPal') NOT NULL,
`kurs` int(8) unsigned DEFAULT NULL,
`amount_paid` int(9) NOT NULL, `digit` varchar(14) NOT NULL, `rek_pembayar` varchar(255) NOT NULL,
`status`
enum('OK','Waiting','Gagal','Tunda') NOT NULL DEFAULT 'Waiting',
`admin` varchar(40) DEFAULT NULL, `sisa` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id_pembelian`), KEY `id_pembelian`
(`id_pembelian`),
KEY `admin` (`admin`), KEY `kurs` (`kurs`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ADD CONSTRAINT
`konfirmasi_pembayaran_ibfk_3` FOREIGN KEY (`admin`) REFERENCES `admin` (`username`) ON DELETE SET NULL ON UPDATE CASCADE,
ADD CONSTRAINT
FOREIGN KEY (`id_pembelian`) REFERENCES `pembelian` (`id`) ON UPDATE CASCADE,
ADD CONSTRAINT
`konfirmasi_pembayaran_ibfk_5` FOREIGN KEY (`kurs`) REFERENCES `kurs` (`id`) ON UPDATE SET NULL; 6. kota CREATE TABLE IF NOT EXISTS `kota` (
`id` varchar(6) NOT NULL, `nama` varchar(50) NOT NULL,
`propinsi` tinyint(2) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `propinsi` (`propinsi`) ) ENGINE=InnoDB DEFAULT
CHARSET=latin1;
ADD CONSTRAINT `kota_ibfk_1` FOREIGN KEY (`propinsi`) REFERENCES
`propinsi` (`id`) ON UPDATE CASCADE;
7. kurs CREATE TABLE IF NOT EXISTS `kurs` (
`id` int(7) unsigned NOT NULL AUTO_INCREMENT,
`kurs` int(6) unsigned NOT NULL, `update` datetime NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT
CHARSET=latin1 AUTO_INCREMENT=19 ;
8. member CREATE TABLE IF NOT EXISTS `member`
(
`email` varchar(40) NOT NULL, `password` varchar(40) NOT NULL, `nama` varchar(50) NOT NULL, `alamat` mediumtext,
`kota` varchar(10) DEFAULT NULL, `kodepos` varchar(5) DEFAULT NULL, `telepon` varchar(15) DEFAULT NULL,
`join_date` date DEFAULT NULL, `kode_aktivasi` varchar(10) NOT NULL,
`aktif` tinyint(1) unsigned NOT NULL DEFAULT '0',
NULL DEFAULT 'Tidak', PRIMARY KEY (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
9. paket_pengiriman CREATE TABLE IF NOT EXISTS `paket_pengiriman` (
`id` mediumint(3) unsigned NOT NULL AUTO_INCREMENT,
`nama` varchar(255) NOT NULL, `id_jasa_pengiriman` tinyint(2) unsigned NOT NULL,
PRIMARY KEY (`id`), KEY `id_jasa_pengiriman` (`id_jasa_pengiriman`) ) ENGINE=InnoDB DEFAULT
CHARSET=latin1 AUTO_INCREMENT=7 ;
ADD CONSTRAINT
`paket_pengiriman_ibfk_1` FOREIGN KEY (`id_jasa_pengiriman`)
REFERENCES `jasa_pengiriman` (`id`) ON UPDATE CASCADE;
10. pembelian CREATE TABLE IF NOT EXISTS `pembelian` (
`id` int(7) unsigned NOT NULL, `status` enum('Batal','Belum Bayar','Sudah
Konfirmasi','Tunda','Lunas','Barang telah Dikirim','Barang telah
Diterima','Retur','Selesai') NOT NULL DEFAULT 'Belum Bayar', `member` varchar(40) NOT NULL, `total_pembelian` int(8) unsigned DEFAULT NULL,
`biaya_pengiriman` int(8) unsigned DEFAULT NULL,
`paket_pengiriman` mediumint(3) unsigned NOT NULL,
`waktu_pemesanan` datetime NOT NULL,
`jatuh_tempo` datetime NOT NULL, `penerima` varchar(100) DEFAULT NULL,
`kodepos` int(10) unsigned DEFAULT NULL,
`telepon` varchar(20) DEFAULT NULL,
`alamat` mediumtext,
`resi_pengiriman` varchar(20) DEFAULT NULL,
`tanggal_kirim` date DEFAULT NULL, `waktu_terima` datetime DEFAULT NULL,
`admin` varchar(40) DEFAULT NULL, PRIMARY KEY (`id`),
KEY `paket_pengiriman` (`paket_pengiriman`), KEY `kota` (`kota`), KEY `member` (`member`), KEY `admin` (`admin`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ADD CONSTRAINT `pembelian_ibfk_5` FOREIGN KEY (`member`) REFERENCES `member` (`email`) ON UPDATE CASCADE,
ADD CONSTRAINT `pembelian_ibfk_6` FOREIGN KEY (`paket_pengiriman`) REFERENCES `paket_pengiriman` (`id`) ON UPDATE CASCADE,
ADD CONSTRAINT `pembelian_ibfk_7` FOREIGN KEY (`kota`) REFERENCES `kota` (`id`) ON UPDATE CASCADE, ADD CONSTRAINT `pembelian_ibfk_8` FOREIGN KEY (`admin`) REFERENCES `admin` (`username`) ON UPDATE CASCADE;
11. pembelian_detail CREATE TABLE IF NOT EXISTS `pembelian_detail` (
`id_produk` mediumint(4) unsigned NOT NULL,
`id_warna` mediumint(3) unsigned NOT NULL,
NOT NULL,
`id_pembelian` int(7) unsigned NOT NULL,
`harga` int(8) unsigned DEFAULT NULL,
`banyak` tinyint(3) unsigned NOT NULL,
`diskon` tinyint(2) unsigned DEFAULT '0',
PRIMARY KEY
(`id_produk`,`id_warna`,`id_produk_k ategori`,`id_ukuran`,`id_pembelian`) ,
KEY `id_warna` (`id_warna`), KEY `id_ukuran` (`id_ukuran`), KEY `id_pembelian`
(`id_pembelian`),
KEY `id_produk_kategori` (`id_produk_kategori`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ADD CONSTRAINT
`pembelian_detail_ibfk_10` FOREIGN KEY (`id_pembelian`) REFERENCES `pembelian` (`id`) ON UPDATE CASCADE,
ADD CONSTRAINT
`pembelian_detail_ibfk_6` FOREIGN KEY (`id_produk`) REFERENCES `produk_stok` (`id_produk`) ON UPDATE CASCADE,
ADD CONSTRAINT
`pembelian_detail_ibfk_7` FOREIGN KEY (`id_warna`) REFERENCES
`produk_stok` (`id_warna`) ON UPDATE CASCADE,
ADD CONSTRAINT
`pembelian_detail_ibfk_8` FOREIGN KEY (`id_produk_kategori`)
REFERENCES `produk_stok`
(`id_produk_kategori`) ON UPDATE CASCADE,
`pembelian_detail_ibfk_9` FOREIGN KEY (`id_ukuran`) REFERENCES `produk_stok` (`id_ukuran`) ON UPDATE CASCADE;
12. produk CREATE TABLE IF NOT EXISTS `produk` (
`id` mediumint(4) unsigned NOT NULL AUTO_INCREMENT,
`nama` varchar(100) NOT NULL, `kategori` tinyint(2) unsigned NOT NULL,
`merk` tinyint(2) unsigned NOT NULL,
`harga` int(8) NOT NULL,
`diskon` tinyint(2) unsigned NOT NULL,
`date_input` date NOT NULL, `admin` varchar(40) NOT NULL, `berat` int(6) unsigned NOT NULL DEFAULT '0',
`satuan` varchar(20) NOT NULL DEFAULT 'pcs',
`keterangan` mediumtext,
`status` enum('Aktif','Non Aktif') NOT NULL DEFAULT 'Aktif',
`hit` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `produk_kat` (`kategori`), KEY `kategori`
(`kategori`,`merk`,`admin`), KEY `admin` (`admin`), KEY `merk` (`merk`) ) ENGINE=InnoDB DEFAULT
CHARSET=latin1 AUTO_INCREMENT=17 ;
ADD CONSTRAINT `produk_ibfk_5` FOREIGN KEY (`kategori`) REFERENCES `produk_kategori` (`id`) ON UPDATE CASCADE,
ADD CONSTRAINT `produk_ibfk_7` FOREIGN KEY (`admin`) REFERENCES `admin` (`username`) ON UPDATE CASCADE;
13. produk_gambar CREATE TABLE IF NOT EXISTS `produk_gambar` (
`id` varchar(10) NOT NULL,
`id_produk` mediumint(4) unsigned NOT NULL,
`id_warna` mediumint(3) unsigned NOT NULL,
`judul` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`),
KEY `id_warna` (`id_warna`), KEY `id_produk` (`id_produk`) ) ENGINE=InnoDB DEFAULT
CHARSET=latin1;
ADD CONSTRAINT
`produk_gambar_ibfk_5` FOREIGN KEY (`id_produk`) REFERENCES
`produk_warna` (`id_produk`) ON UPDATE CASCADE,
ADD CONSTRAINT
`produk_gambar_ibfk_6` FOREIGN KEY (`id_warna`) REFERENCES
`produk_warna` (`id_warna`) ON UPDATE CASCADE;
14. produk_kategori CREATE TABLE IF NOT EXISTS `produk_kategori` (
`id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT,
`nama` varchar(255) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT
CHARSET=latin1 AUTO_INCREMENT=4 ; 15. produk_merk CREATE TABLE IF NOT EXISTS
`produk_merk` (
`id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT,
`nama` varchar(200) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT
16. produk_rating CREATE TABLE IF NOT EXISTS `produk_rating` (
`id_produk` mediumint(4) unsigned NOT NULL,
`id_warna` mediumint(3) unsigned NOT NULL,
`id_member` varchar(40) NOT NULL, `rating` enum('1','2','3','4','5') DEFAULT NULL,
PRIMARY KEY
(`id_produk`,`id_warna`,`id_member`) ,
KEY `id_member` (`id_member`), KEY `id_warna` (`id_warna`) ) ENGINE=InnoDB DEFAULT
CHARSET=latin1;
ADD CONSTRAINT
`produk_rating_ibfk_3` FOREIGN KEY (`id_member`) REFERENCES `member` (`email`),
ADD CONSTRAINT
`produk_rating_ibfk_1` FOREIGN KEY (`id_produk`) REFERENCES
`produk_warna` (`id_produk`), ADD CONSTRAINT
`produk_rating_ibfk_2` FOREIGN KEY (`id_warna`) REFERENCES
`produk_warna` (`id_warna`); 17. produk_stok CREATE TABLE IF NOT EXISTS
`produk_stok` (
`id_produk` mediumint(4) unsigned NOT NULL,
`id_warna` mediumint(3) unsigned NOT NULL,
`id_produk_kategori` tinyint(2) unsigned NOT NULL,
`id_ukuran` mediumint(3) unsigned NOT NULL,
`stok` mediumint(3) unsigned NOT NULL,
`ordered` mediumint(3) unsigned NOT NULL DEFAULT '0',
(`id_produk`,`id_warna`,`id_produk_k ategori`,`id_ukuran`),
KEY `id_ukuran` (`id_ukuran`), KEY `id_warna` (`id_warna`), KEY `id_produk_kategori` (`id_produk_kategori`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ADD CONSTRAINT `produk_stok_ibfk_10` FOREIGN KEY (`id_produk_kategori`) REFERENCES `kategori_ukuran`
(`id_produk_kategori`) ON UPDATE CASCADE,
ADD CONSTRAINT
`produk_stok_ibfk_11` FOREIGN KEY (`id_ukuran`) REFERENCES
`kategori_ukuran` (`id_ukuran`) ON UPDATE CASCADE,
ADD CONSTRAINT
`produk_stok_ibfk_8` FOREIGN KEY (`id_produk`) REFERENCES
`produk_warna` (`id_produk`) ON UPDATE CASCADE,
ADD CONSTRAINT
`produk_stok_ibfk_9` FOREIGN KEY (`id_warna`) REFERENCES
`produk_warna` (`id_warna`) ON UPDATE CASCADE;
18. produk_warna CREATE TABLE IF NOT EXISTS `produk_warna` (
`id_produk` mediumint(4) unsigned NOT NULL,
`id_warna` mediumint(3) unsigned NOT NULL,
PRIMARY KEY
(`id_produk`,`id_warna`), KEY `id_warna` (`id_warna`) ) ENGINE=InnoDB DEFAULT
CHARSET=latin1;
ADD CONSTRAINT
`produk_warna_ibfk_4` FOREIGN KEY (`id_warna`) REFERENCES `warna` (`id`) ON UPDATE CASCADE;
19. propinsi CREATE TABLE IF NOT EXISTS `propinsi` (
`id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT,
`nama` varchar(50) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT
CHARSET=latin1 AUTO_INCREMENT=43 ;
20. retur CREATE TABLE IF NOT EXISTS `retur` (
`tanggal` date NOT NULL,
`waktu_proses` datetime DEFAULT NULL,
`status` enum('Waiting','Sudah Direspon','Retur telah
Dikirim','Retur telah
Diterima','Retur Ditolak') NOT NULL DEFAULT 'Waiting',
`resi_retur` varchar(20) DEFAULT NULL,
`tanggal_kirim` date DEFAULT NULL, `waktu_terima` datetime DEFAULT NULL,
`id_pembelian` int(7) unsigned NOT NULL,
`admin` varchar(40) DEFAULT NULL, `rekening` tinytext,
`uang_retur` int(10) unsigned DEFAULT '0',
PRIMARY KEY (`id_pembelian`), KEY `id_pembelian`
(`id_pembelian`),
KEY `admin` (`admin`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
FOREIGN KEY (`admin`) REFERENCES `admin` (`username`) ON DELETE CASCADE ON UPDATE CASCADE; 21. retur_detail CREATE TABLE IF NOT EXISTS
`retur_detail` (
`id_produk` mediumint(4) unsigned NOT NULL,
`id_warna` mediumint(3) unsigned NOT NULL,
`id_produk_kategori` tinyint(2) unsigned NOT NULL DEFAULT '0', `id_ukuran` mediumint(3) unsigned NOT NULL,
`id_pembelian` int(7) unsigned NOT NULL,
`jumlah` int(3) unsigned NOT NULL, `acc` int(3) unsigned DEFAULT '0', `alasan` enum('Barang tidak sesuai dengan pesanan','Barang rusak atau cacat') NOT NULL,
`status`
enum('Waiting','Diterima','Ditolak') NOT NULL DEFAULT 'Waiting',
PRIMARY KEY
(`id_produk`,`id_warna`,`id_produk_k ategori`,`id_ukuran`,`id_pembelian`, `alasan`),
KEY `id_pembelian` (`id_pembelian`), KEY `id_warna`
(`id_warna`,`id_ukuran`),
KEY `id_ukuran` (`id_ukuran`), KEY `id_produk_kategori`
(`id_produk_kategori`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ADD CONSTRAINT
`retur_detail_ibfk_10` FOREIGN KEY (`id_warna`) REFERENCES
`pembelian_detail` (`id_warna`) ON UPDATE CASCADE,
ADD CONSTRAINT
(`id_produk_kategori`) REFERENCES `pembelian_detail`
(`id_produk_kategori`) ON UPDATE CASCADE,
ADD CONSTRAINT
`retur_detail_ibfk_12` FOREIGN KEY (`id_ukuran`) REFERENCES
`pembelian_detail` (`id_ukuran`) ON UPDATE CASCADE,
ADD CONSTRAINT
`retur_detail_ibfk_13` FOREIGN KEY (`id_pembelian`) REFERENCES
`pembelian` (`id`) ON UPDATE CASCADE,
ADD CONSTRAINT
`retur_detail_ibfk_9` FOREIGN KEY (`id_produk`) REFERENCES
`pembelian_detail` (`id_produk`) ON UPDATE CASCADE;
22. ukuran CREATE TABLE IF NOT EXISTS `ukuran` (
`id` mediumint(3) unsigned NOT NULL AUTO_INCREMENT,
`nama` varchar(255) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT
CHARSET=latin1 AUTO_INCREMENT=16 ;
23. warna CREATE TABLE IF NOT EXISTS `warna` (
`id` mediumint(3) unsigned NOT NULL AUTO_INCREMENT,
`nama` varchar(255) NOT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT
CHARSET=latin1 AUTO_INCREMENT=27 ;
4.1.5 Implementasi Antarmuka
Tabel 4.4 Implementasi Antarmuka Pengunjung
Menu Deskripsi Nama File
Depan Digunakan sebagai halaman depan dan terdapat beberapa menu diantaranya menu produk, cari, daftar, login dan keranjang
index.php
Semua produk Halaman yang digunakan untuk menampilkan semua kategori produk yang tersedia
produk.php
Produk Halaman yang digunakan untuk menampilkan data produk yang tersedia
produk_kategori.php
Produk detail Halaman yang digunakan untuk menampilkan data detail produk yang dipilih
produk_detail.php
Produk terbaru Untuk menampilkan produk terbaru
spesial_terbaru.php
Produk diskon Untuk menampilkan produk diskon
spesial_diskon.php
Produk paling laku Untuk menampilkan produk paling laku
spesial_terlaku.php
Pencarian Untuk mencari produk search.php
Lupa password Halaman yang digunakan untuk mengirimkan password baru
login_problem.php
Daftar Halaman yang digunakan untuk mendaftarkan diri menjadi member
registrasi.php
Tentang cara belanja Halaman yang digunakan untuk menampilkan tentang cara belanja
artikel.php
Tentang alamat pengiriman
Halaman yang digunakan untuk menampilkan tentang alamat pengiriman
artikel.php
Tentang biaya pengiriman
Halaman yang digunakan untuk menampilkan tentang biaya pengiriman
artikel.php
Tentang tracking Halaman yang digunakan untuk menampilkan tentang tracking
artikel.php
Tentang pembayaran Halaman yang digunakan untuk menampilkan tentang pembayaran
artikel.php
menampilkan tentang stok
Tentang kami Halaman yang digunakan untuk menampilkan tentang tami
artikel_detail.php
Kontak Halaman yang digunakan untuk menampilkan kontak
artikel_detail.php
Tabel 4.5 Implementasi Antarmuka Member
Menu Deskripsi Nama File
Depan Digunakan sebagai halaman depan dan terdapat beberapa menu diantaranya menu produk, cari, daftar, login dan keranjang
index.php
Semua Produk Halaman yang digunakan untuk menampilkan semua kategori produk yang tersedia
produk.php
Produk Halaman yang digunakan untuk menampilkan data produk yang tersedia
produk_kategori.php
Produk Detail Halaman yang digunakan untuk menampilkan data detail produk yang dipilih
produk_detail.php
Produk Terbaru Untuk menampilkan produk terbaru
spesial_terbaru.php
Produk Diskon Untuk menampilkan produk diskon
spesial_diskon.php
Produk Paling Laku Untuk menampilkan produk paling laku
spesial_terlaku.php
Pencarian Untuk mencari produk search.php Masuk Digunakan sebagai halaman
login member
index.php
Tentang cara belanja Halaman yang digunakan untuk menampilkan tentang cara belanja
artikel.php
Tentang alamat pengiriman
Halaman yang digunakan untuk menampilkan tentang alamat pengiriman
artikel.php
Tentang biaya pengiriman
Halaman yang digunakan untuk menampilkan tentang biaya