Perancangan E-Commerce Pada Toko Roti Ganda Dengan Menggunakan Dreamweaver 8
PERANCANGAN E-COMMERCE PADA ROTI GANDA
PEMATANGSIANTAR DENGAN MENGGUNKAN
DREAMWEAVER 8
TUGAS AKHIR
SITI MAI SARAH PANE
072406011
PROGRAM STUDI D3 ILMU KOMPUTER/STATISTIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA MEDAN
2010
(2)
PERANCANGAN E-COMMERCE PADA ROTI GANDA
PEMATANGSIANTAR DENGAN MENGGUNKAN
DREAMWEAVER 8
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya
SITI MAI SARAH PANE
072406011
PROGRAM STUDI D3 ILMU KOMPUTER/STATISTIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA MEDAN
2010
(3)
PERSETUJUAN
Judul : PERANCANGAN E-COMMERCE PADA TOKO ROTI GANDA DENGAN MENGGUNAKAN
DREAMWEAVER 8 Kategori : TUGAS AKHIR
Nama : SITI MAI SARAH PANE Nomor Induk Mahasiswa : 072406011
Program Studi : D3 ILMU KOMPUTER Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Juni 2010
Komisi Pembimbing :
Diketahui/Disetujui oleh Pembimbing, Departemen Matematika FMIPA USU
Ketua
Dr. Saib Suwilo, M.Sc Drs. Sawaluddin, M.IT
(4)
PERNYATAAN
PERANCANGAN E-COMMERCE PADA ROTI GANDA DENGAN MENGGUNAKAN DREAMWEAVER 8
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juni 2010
SITI MAI SARAH PANE 072406011
(5)
PENGHARGAAN
Dengan mengucapkan “Alhamdulillah” dan memanjatkan puji syukur kehadirat Allah
SWT yang Maha Pengasih dan Maha Penyayang , dengan limpahan Rahmat dan Karunia-Nya, Tugas akhir ini berhasil diselesaikan tepat pada waktunya sebagisalah satu syarat untuk menyelesaikan studi pada D-III Ilmu Komputer FMIPA USU.
Adapun judul dari tugas akhir ini adalah “PERANCANGAN E-COMMERCE PADA ROTI GANDA PEMATANGSIANTAR DENGAN MENGGUNKAN DREAMWEAVER 8
Ucapan terima kasih penulis sampaikan yang sebesar-besarnya kepada:
1. Bapak Prof Dr. Eddy Marlianto, M.Sc, selaku dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
2. Bapak Dr. Saib Suwilo, M.Sc, Ketua Departemen Matematika USU.
3. Bapak Drs. Sawaluddin, M.IT, sebagai Dosen Pembimbing yang telah banyak memberikan bimbingan dan arahan dalam penulisan laporan Tugas Akhir ini. 4. Seluruh Staff Pengajar dan Pegawai FMIPA USU.
5. Bapak Jumarruddin selaku Pemiliki Toko Roti Ganda yang telah berkenan memberikan kesempatan kepada saya untuk melakukan riset.
6. Teristimewa untuk Ayahanda dan Ibunda tercinta, kakak, abang yang saya sayangi, terima kasih atas cinta dan motivasinya dalam menyelesaikan laporan Tugas Akhir ini.
7. Seluruh keluarga yang memberikan banyak motivasi dalam menyelesaikan laporan Tugas Akhir ini.
8. Para sahabat tercinta : kak Ratih, Dessy Antika, Dini Syaputri, Ika Puspita, Putri Fatimah, Tsauri Aqsa dan teman-teman lainnya yang tidak dapat disebut satu per satu yang selalu memberikan motivasinya dan semangat, semoga Allah meridhoi setiap gerak langkah kita.
9. Teman-teman seperjuangan di DIII Ilmu Komputer 2007, Khususnya di
Komputer A‟07.
10.Semua pihak yang ikut membantu dalam penyelesaian Tugas Akhir ini yang tidak dapat disebut satu persatu, penulis ucapkan terimah kasih banyak.
Akhir kata penulis panjatkan doa semoga Allah SWT akan membalas kebaikan semua pihak Amin.
Medan, Juni 2010
(6)
ABSTRAK
Kajian ini bertujuan untuk membangun suatu website pada Toko Roti Ganda.
Website ini di kembangkan dengan menggunakan perangkat lunak Macromedia Dreamweaver 8, Apache 2.2.3, PHP 5.2, dan MySQL 5.0, Website ini berfungsi untuk memberikan kemudahan dalam penjualan roti dan kue serta informasi pada pelanggan Toko Roti Ganda dimanapun berada. Tujuan Website ini adalah untuk memperkenalkan bahwa sistem informasi berbasis e-Commerce sangat penting dalam perkembangan usaha. serta dapat meningkatkan kualitas SDM yang berbasis Teknologi Informasi dan Komunikasi.
(7)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Daftar isi vi
Daftar Tabel viii
Daftar Gambar ix
Bab 1 Pendahuluan
1 1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan dan Manfaat Penelitian 3
1.5 Metode Penelitian 3
1.6 Sistematika Penulisan 5
Bab 2 Landasan Teori 7
2.1 Pengertian e-Commerce 7
2.1.1 Jenis e-Commerce 8
2.1.2 Keuntungan e-Commerce 10
2.1.3 Kerugian e-Commerce 10
2.2 Database 11
2.2.1 Jenjang Database 12
2.3 MySQL 13
2.3.1 Keuntungan MySQL 13
2.3.1 Syntaks-syntaks MySQL 15 2.4 PhpMyAdmin 18
2.5 PHP (Personal Home Page) 18
2.5.1 Konsep Dasar PHP 19
(8)
2.6 Pengenalan Internet 22
2.6.1 Internet Commerce 23
2.6.2 Web Server 23
2.7 HTML (Hypertext Markup Language) 24
2.8 Macromedia Dreamweaver 8 25
2.9 CSS (Cascading Style Sheet) 26
Bab 3 Perancangan Sistem 27
3.1 Perancangan Sistem
3.2 Data Flow Diagram 27
3.2.1 Simbol-simbol DFD dan Flowchart 28
3.2.2 Diagram Level Konteks 30
3.2.3 Data Flow Diagram Level Nol 31
3.3 Perancangan Database 32
3.3.1 Field Name 32
3.3.2 Field Table 33
3.3.3 Describtion Field Table 35
3.4 Relationship Table 40
3.5 Flowchart Sistem 41
3.5.1 Flowchart menu utama 41
3.5.2 Flowchart Pembelian Barang 42
3.5.3 Flowchart Login Admin 43
3.5.4 Flowchart Search 44
3.6 Algoritma Program 45
3.6.1 Algoritma Menu Utama 45
3.6.2 Algoritma Pemesanan Produk 45
3.6.3 Algoritma Admin 46
3.6.4 Algoritma Search 47
Bab 4 Implementasi Sistem 48
4.1 Pengertian Implementasi Sistem 48
(9)
4.3 Komponen-komponen Sistem 49
4.3.1 Hardware 49
4.3.2 Software 50
4.3.3 Brainware 51
4.4 Demonstrasi Program 52
Bab 5 Kesimpulan dan Saran 57
5.1 Kesimpulan 57
5.2 Saran 58
Daftar Pustaka 59
Lampiran A : Listing Program Lampiran B : Surat-Surat
(10)
DAFTAR TABEL
Halaman
Tabel 3.1 Simbol-simbol DFD dan Flowcart 28
Tabel 3.2 Tabel Dalam Database 32
Tabel 3.3 Field Table Dalam Database 33
Tabel 3.4 Describtion table_cart 35
Tabel 3.5 Describtion table_category 35
Tabel 3.6 Describtion table_currency 36
Tabel 3.7 Describtion table_inbox 36
Tabel 3.8 Describtion table_order 37
Tabel 3.9 Describtion table_order_item 38
Tabel 3.10 Describtion table_product 38
Tabel 3.11 Describtion table_shop_config 39
(11)
DAFTAR GAMBAR
Halaman
Gambar 2.1 Jenjang Data 12
Gambar 3.1 DFD Level Konteks 30
Gambar 3.2 DFD Level Nol 31
Gambar 3.3 Relationship Table 40
Gambar 3.4 Flowchart Menu Utama 41
Gambar 3.5 Flowchart Pembelian Barang 42
Gambar 3.6 Flowchart Login Admin 43
Gambar 3.7 Flowchart Search 44
Gambar 4.1 Tampilan antar muka Sistem Operasi Windows XP 50
Gambar 4.2 Tampilan antar muka Macromedia Dreamweaver 8 50
Gambar 4.3 Tampilan antar muka web server 51
Gambar 4.4 Tampilan Index/ Home 52
Gambar 4.5 Tampilan Category 53
Gambar 4.6 Tampilan Contact 54
Gambar 4.7 Tampilan Login 55
Gambar 4.8 Tampilan Shopping Basket 55
(12)
ABSTRAK
Kajian ini bertujuan untuk membangun suatu website pada Toko Roti Ganda.
Website ini di kembangkan dengan menggunakan perangkat lunak Macromedia Dreamweaver 8, Apache 2.2.3, PHP 5.2, dan MySQL 5.0, Website ini berfungsi untuk memberikan kemudahan dalam penjualan roti dan kue serta informasi pada pelanggan Toko Roti Ganda dimanapun berada. Tujuan Website ini adalah untuk memperkenalkan bahwa sistem informasi berbasis e-Commerce sangat penting dalam perkembangan usaha. serta dapat meningkatkan kualitas SDM yang berbasis Teknologi Informasi dan Komunikasi.
(13)
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi telekomunikasi dan komputer menyebabkan terjadinya perubahan kultur kita sehari-hari. Dalam era yang disebut information age ini, media elektronik menjadi salah satu media andalan untuk melakukan komunikasi dan bisnis.
e-Commerce merupakan extension dari Commerce dengan mengeksploitasi media elektronik. Meskipun penggunaan media elektronik ini belum dimengerti, akan tetapi desakan bisnis menyebabkan para pelaku bisnis mau tidak mau harus menggunakan media elektronik ini (Deris. 2002).
Penjualan secara online atau e-Commerce memiliki kelebihan yang banyak daripada penjualan secara manual. Selain itu juga mempermudah pemilik toko dalam memeriksa data dari hasil penjualan tersebut. Toko akan lebih mudah di kenal karena produk yang di tawarkan dapat di lihat dan di akses oleh jutaan manusia. Baik dalam negeri maupun luar negeri. Sehingga lebih memanjakan para konsumen khususnya konsumen yang memiliki waktu sibuk dan sempit. Melihat perkembangan zaman yang semakin canggih serta kehidupan manusia yang semakin praktis, pentingnya para
(14)
wirausaha memasang situs web penjualan online. Untuk meningkatkan mutu penjualan yang berbasis teknologi cepat dan mampu bersaing dan bertahan di dunia bisnis.
1.2 Rumusan Masalah
Toko Roti Ganda merupakan toko yang menjual segala jenis kue. Dengan kemajuan teknologi, menjadikan setiap pengusaha untuk beralih menjual produk mereka secara online. Agar dapat menjaga perkembangan serta kemajuan toko. Maka, dibangunlah aplikasi website berbasis e-Commerce. Sehingga dapat memberikan kemudahan bagi konsumen dalam memilih barang dengan berbagai macam alternatif yang ada, tanpa harus mengunjungi toko tersebut.
1.3 Batasan Masalah
Agar permasalahan yang dibahas lebih terfokus dan tidak melebar, penulis mambatasi permasalahan yanga kan dibahas.
Hal-hal yang akan dibahas dan dijabarkan adalah:
a. Halaman utama website (Home) dari Toko tersebut
b. identitas (profil) dari perusahaan
c. Presentasi electronis (Pembuatan Website) untuk produk dan layanan
d. Pemesanan secara langsung hanya sebatas antar dan bayar tidak mencakup masalah lain.
(15)
e. Rancangan web dinamis agar dapat menjadi media informasi yang baik dan berguna yaitu suatu sistem yang diperuntukkan bagi publikasi Toko Roti Ganda.
1.4 Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah untuk menunjukkan bahwa pentingnya membangun situs web penjualan online. Sehingga dapat mengembangkan bisnis yang ada, serta memberikan beberapa manfaat baik untuk pemilik toko maupun konsumen antara lain:
1. Memudahkan pemilik toko dalam memeriksa data secara keseluruhan. 2. Memberikan pelayanan pada konsumen yang membeli produk secara online. 3. Memberikan kemudahan untuk mengakses produk-produk yang diinginkan. 4. Meningkatkan mutu penjualan sehingga toko lebih berkembang dan maju. 5. Membantu para peneliti peneliti lain dalam melakukan riset sebagai bahan
perbandingan.
1.5 Metode Penelitian
Adapun metode penelitian yang digunakan adalah:
1. Peninjauan dan Evaluasi
awal yaitu peninjauan dan evaluasi sisitem serta data barang dalam penjualanan toko roti ganda pematangsiantar.
(16)
2. Analisis
Merupakan tahapan untukmelakukan analisa terhadap alur yang ada dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan, kesempatan dan mengevaluasi yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikan.
3. Desain
Merupakan tahapan akan rancangan aplikasi yang kemungkinan dapat memecahkan maslah yang terdapat pada hasil analisa.
4. Implementasi
Merupakan tahapan pengimplementasian aplikasi pada penjualan yang terdapat pada toko roti ganda pematangsiantar.
5. Uji Program
Merupakan tahapan evaluasi akan aplikasi yang sudah berjalan apakah sudah sesuai degan harapan atau masih perlu dilakukan perbaikan.
(17)
1.6 Sistematika Penulisan
Secara garis besar tugas akhir ini dibagi atas lima bab dan beberapa lampiran. Adapun kelima bab tersebut adalah:
BAB 1 PENDAHULUAN
Bab ini merupakan bagian yang berisi mengenai latar belakang penulisan, identifikasi dan batasan masalah, maksud dan tujuan, metodologi penelitian, tinjauan pustaka serta sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab ini berisikan tentang uraian teoritis mengenai pengertian-pengertian, metode penyusunan data serta mengenai bahasa pemrograman yang digunakan.
BAB 3 PERANCANGAN SISTEM
Bab ini berisikan rancangan sistem yang dibentuk. Yaitu berisikan sistem yang terpadu dengan database, rancangan model tampilan website, file yang digunakan serta algoritma terbentuknya program.
(18)
BAB 4 IMPLEMENTASI SISTEM
Bab ini merupakan bagian yang berisi tentang pengertian dan tujuan implementasi sistem serta penjabaran elemen-elemen sistem baik dari segi hardware, software dan brainware.
BAB 5 KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan mengenai hasil rancangan sistem yang telah dibentuk dan disertai dengan saran yang diberikan oleh penulis kepada pihak perusahaan.
(19)
BAB 2
LANDASAN TEORI
2.1 Pengertian e-Commerce
e-Commerce merupakan prosedur berdagang atau mekanisme jual-beli di internet dimana pembeli dan penjual dipertemukan di dunia maya. e-Commerce juga dapat didefinisikan sebagai suatu cara berbelanja atau berdagang secara online atau direct selling yang memanfaatkan fasilitas Internet dimana terdapat website yang dapat
menyediakan layanan “get and deliver“.
e-Commerce akan merubah semua kegiatan marketing dan juga sekaligus memangkas biaya-biaya operasional untuk kegiatan trading (perdagangan).
Proses yang ada dalam E-commerce adalah sebagai berikut :
a. Presentasi electronis (Pembuatan Web site) untuk produk dan layanan. b. Pemesanan secara langsung dan tersedianya tagihan.
c. Otomasi account Pelanggan secara aman (baik nomor rekening maupun nomor kartu kredit)
d. Pembayaran yang dilakukan secara Langsung (online) dan penanganan transaksi (Januri, dkk, 2008).
(20)
2.1.1 Jenis e-Commerce
e-Commerce dapat dibagi menjadi beberapa jenis yang memiliki karakteristik berbeda-beda yaitu:
1. Business to Business (B2B)
Business to Business e-Commerce memiliki karakteristik:
a. Trading partners yang sudah diketahui dan umumnya memiliki hubungan (relationship) yang cukup lama. Informasi hanya dipertukarkan dengan partner tersebut. Dikarenakan sudah mengenal lawan komunikasi, maka jenis informasi yang dikirimkan dapat disusun sesuai dengan kebutuhan dan kepercayaan (trust). b. Pertukaran data (data exchange) berlangsung berulang-ulang dan secara berkala, misalnya setiap hari, dengan format data yang sudah disepakati bersama. Dengan kata lain, servis yang digunakan sudah tertentu. Hal ini memudahkan pertukaran data untuk dua entiti yang menggunakan standar yang sama.
c. Salah satu pelaku dapat melakukan inisiatif untuk mengirimkan data, tidak harus menunggu parternya.
d. Model yang umum digunakan adalah peer-to-peer, dimana processing intelligence dapat didistribusikan di kedua pelaku bisnis.
2. Business to Consumer (B2C)
Business to Consumer e-Commerce memiliki karakteristik sebagai berikut: a. Terbuka untuk umum, dimana informasi disebarkan ke umum.
b. Servis yang diberikan bersifat umum (generic) dengan mekanisme yang dapat digunakan oleh khalayak ramai. Sebagai contoh, karena sistem Web sudah umum digunakan maka servis diberikan dengan menggunakan basis Web.
(21)
c. Servis diberikan berdasarkan permohonan (on demand). Konsumer melakukan inisiatif dan produser harus siap memberikan respon sesuai dengan permohonan.
d. Pendekatan client/server sering digunakan dimana diambil asumsi client consumer) menggunakan sistem yang minimal (berbasis Web) dan processing
(business procedure) diletakkan di sisi server.
3. Consumen to consumen(C2C)
Dalam C2C seseorang menjual produk atau jasa ke orang lain. Dapat juga disebut sebagai pelanggan ke palanggan yaitu orang yang menjual produk dan jasa ke satu sama lain.
Lelang C2C. Dalam lusinan negara, penjualan dan pembelian C2C dalam situs lelang sangat banyak. Kebanyakan lelang dilakukan oleh perantara, seperti eBay.com, auctionanything.com, para pelanggan juga dapat menggunakan situs khusus seperti
buyit.com atau bid2bid.com. Selain itu banyak pelanggan yang melakukan lelangnya sendiri seperti greatshop.com menyediakan piranti lunak untuk menciptakan komunitas lelang terbalik C2C online.
4. Comsumen to Business(C2B).
Dalam C2B konsumen memeritahukan kebutuhan atas suatu produk atau jasa tertentu, dan para pemasok bersaing untuk menyediakan produk atau jasa tersebut ke konsumen. Contohnya di priceline.com, dimana pelanggan menyebutkan produk dan harga yang diinginkan, dan priceline mencoba menemukan pemasok yang memenuhi kebutuhan tersebut.
(22)
2.1.2 Keuntungan e-Commerce
a. Bagi Perusahaan, memperpendek jarak, perluasan pasar, perluasan jaringan mitra bisnis dan efisiensi, dengan kata lain mempercepat pelayanan ke pelanggan, dan pelayanan lebih responsif, serta mengurangi biaya-biaya yang berhubungan dengan kertas, seperti biaya pos surat, pencetakan, report, dan sebagainya sehingga dapat meningkatkan pendapatan.
b. Bagi Consumen, efektif, aman secara fisik dan flexible
c. Bagi Masyarakat Umum, mengurangi polusi dan pencemaran lingkungan, membuka peluang kerja baru, menguntungkan dunia akademis, meningkatkan kualitas SDM (Januri, dkk, 2008).
2.1.3 Kerugian e-Commerce
a. Meningkatkan Individualisme, pada perdagangan elektronik seseorang dapat bertransaksi dan mendapatkan barang/jasa yang diperlukan tanpa bertemu dengan siapapun.
b. Terkadang Menimbulkan Kekecewaan, apa yang dilihat dilayar monitor komputer kadang berbeda dengan apa yang dilihat secara kasat mata.
(23)
2.2 Database
Database adalah kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu. Database tidak selalu berhubungan dengan komputer. Contohnya adalah buku telepon. Hal ini karena buku ini berisi kumpulan nama, alamat, dan nomor telepon yang disusun dalam urutan alfabetis. Namun pada saat sekarang ini, database sangat identik dengan komputer. Database di dunia komputer memang sudah menjadi bagian yang sangat penting. Hampir semua aplikasi memakai database sebagai tulang
Salah punggungnya. Database diperlukan karena berbagai macam alasan, diantaranya: 1. satu komponen penting dalam sistem informasi, karena merupakan dasar
dalam menyediakan informasi.
2. Menentukan kualitas informasi akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai apabila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.
3. Mengurangi duplikasi data (data redundancy). 4. Hubungan data dapat ditingkatkan (data reliability). 5. Mengurangi pemborosan tempat simpanan luar.
(24)
2.2.1 Jenjang Data
Gambar 2.1 Jenjang data
Adapun penjelasan dari tingkatan tersebut adalah sebagai berikut:
1. Database merupakan Kumpulan dari file/table membentuk database.
2. File merupakan kumpulan dari record-record yang menggambarkan satu
kesatuan data yang sejenis. Misalnya file mata pelajaran berisi data tentang semua mata pelajaran yang ada.
3. Record merupakan kumpulan dari field membentuk suatu record. Record
menggambarkan syatu unit data individu yang tertentu. Kumpulan dari record membentuk suatu file. Misalnya file personalia, tiap-tiap record dapat mewakili data tiap-tiap karyawan.
4. Field Mempresentasikan suatu atribut dari record yang menunjukkan suatu
item dari data, seperti misalnya nama, alamat dan lain sebagainya. Kumpulan dari field membentuk suatu record.
5. Characters: Merupakan bagian data yang terkecil, dapat berupa karakter
numerik, huruf ataupun karakter-karakter khusus ( Special Characters) yang membentuk suatu item data/field (didik, 2009).
(25)
2.3 MySQL
MySQL adalah salah satu database server yang cukup dikenal saat ini. MySQL keluaran T.c.X. data Consult AB, sebuah perusahaan IT Swedia, yang menawarkan berbagai keunggulan dibandingkan database server lainnya, yaitu:
1. Mampu menangani jutaan user dalam waktu yamg bersamaan. 2. Mampu menampung lebih dari 50.000.000 rekord. 3. Sangat cepat dalam mengeksekusi perintah.
Selain itu MySQL juga menyediakan dukungan open source. Setiap pengguna MySQL diizinkan untuk mengubah source untuk keperluan pengembangan atau menyelaraskan spesifikasi database sesuai kebutuhan (Janner, 2006).
2.3.1 Keuntungan MySQL
MySQL adalah suatu database populer dengan pengembang Web (Web Developer).
Kecepatan dan ukuran yang kecil membuatnya ideal untuk web site. Ditambah lagi dengan fakta bahwa MySQL adalah open source.
Adapun keuntungan MySQL adalah:
1. Cepat. Tujuan utama dari pengembangan MySQL adalah kecepatan, sebagai konsekuensi software yang dirancang dari awal untuk kecepatan.
2. Tidak Mahal. MySQL adalah Cuma-Cuma di bawah lisensi GPL open source, sementara pembiayaan untuk lisensi komersialnya sangatlah pantas.
(26)
3. Mudah digunakan. Anda dapat membangun dan berinteraksi dengan database MySQL hanya dengan menggunakan sedikit pernyataan sederhana di dalam bahasa SQL, yang menjadi bahasa standar untuk komunikasi dengan RDBMS. 4. Dapat berjalan pada beberapa sistem operasi. MySQL dapat berjalan pada
sistem operasi beragam, seperti Windows, linux, Mac OS. 5. Dukungan teknis secara luas tersedia.
6. Aman. MySQL adalah sistem otorisasi fleksibel yang mengijinkan beberapa atau semua privilege database untuk pengguna khusus atau kelompok pengguna.
7. Mendukung database yang besar. MySQL menangani database sampai 50 juta baris atau lebih.
8. Customizable. Lisensi GPL open source mengijinkan pemrogram untuk memodifikasi software MySQL untuk mencocokkannya dengan lingkungan tertentu (Janner, 2006).
(27)
2.3.2 Syntaks – syntaks MySQL
Perintah-perintah yang umum digunakan dalam MySQL diantaranya adalah:
a. INSERT
digunakan untuk mengisi data atau menambah record pada suatu tabel.
INSERT INTO nama_tabel (kolom1, kolom2..) VALUES (nilai1,nilai2..);
b. SELECT
Digunakan untuk melihat data dari satu atau beberapa tabel.
SELECT kolom-kolom;
FROM nama-tabel;
Untuk melihat seluruh isi kolom dari suatu tabel digunakan query SELECT *.
SELECT * FROM nama-tabel;
c. WHERE
Digunakan untuk menyaring hasil query sehingga record yang dikeluarkan hanyalah
record yang sesuai dengan yang diinginkan.
SELECT kolom1, kolom2
FROM kolom1
WHERE kolom2 < kriteria;
d. DISTINCT
(28)
SELECT DISTINCT kolom2 FROM kolom1;
e. BETWEEN
Digunakan untuk membatasi suatu batas nilai tertentu.
SELECT kolom1,kolom2,kolom3
FROM kolom1
WHERE kolom2 BETWEEN..AND..;
f. LIKE
Digunakan untuk pencarian data yang memiliki pola tertentu.
SELECT kolom1,kolom2
FROM kolom1
WHERE kolom1 LIKE „A%‟;
g. ORDER BY
Digunakan untuk mensortir data hasil query sesuai dengan kebutuhan.
SELECT kolom1,kolom2
FROM kolom1
ORDER BY kolom1;
Untuk mensortir dengan urutan terbalik, digunakan keywoord tambahan DESC.
(29)
SELECT kolom1.kolom2
FROM kolom1
ORDER BY kolom 1 DESC;
f. DELETE
Digunakan untuk menghapus suatu record dengan kriteria tertentu.
DELETE FROM nama-tabel WHERE kriteria:
Untuk menghapus record pada suatu tabel, digunakan perintah DELETE tanpa menentukan kriterianya.
DELETE FROM nama-tabel;
i. UPDATE
Digunakan untuk memodifikasi nilai kolom dari suatu record.
UPDATE nama-tabel
SET nama-kolom1=nilai-baru1,nilai-kolom2=nilai-baru2,..
WHERE criteria;
(30)
2.4 PhpMyAdmin
Setiap RDBMS (Relation Database Management System) seperti Oracle, SQL Server, MySQL dan lain-lain, pasti memiliki tool yang dapat digunakan untuk mempermudah pengoperasian database. Oracle memiliki TAOD. SQL Server memiliki Enterprise Manager dan SQL Query Analyzer. Sedangkan MySQL memiliki tool atau aplikasi yang disebut PhpMyAdmin.
PhpMyAdmin merupakan aplikasi berbasiskan web yang dikembangkan menggunakan bahasa pemrograman PHP. Melalui PhpMyAdmin, user dapat melakukan perintah query. Perintah tersebut misalnya administrasi user dan
privileges, export dan import database, manajemen database, manajemen tabel dan struktur tabel, dan sebagainya. PhpMyAdmin sangat user friendly, sehingga mudah untuk digunakan walaupun pengguna baru (newbie) (Saputro, 2008).
2.5 PHP (Personal Home Page)
PHP adalah bahasa (Scripting Language) yang dirancang secara khusus untuk penggunaan Web. PHP adalah tool anda untuk pembuatan halaman web dinamis. Kaya akan fitur yang membuat perancangan web dan pemrograman lebih mudah, PHP digunakan pada 13 juta domain.
Seperti bahasa pemrograman web lainnya. PHP memproses seluruh perintah yang berada dalam skrip PHP di dalam web server dan menampilkan outputnya ke dalam web browser klien. PHP adalah bahasa scripting yang menghasilkan output HTML ataupun output-output lainnya, sesuai keinginan pemrogram (misalnya: PDF,
(31)
dan lain-lain)yang dijalankan pada server side. Artinya, semua sintaks yang kita berikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke
browser hanya hasilnya (output) saja (Janner, 2006).
2.5.1 Konsep Dasar PHP
Kode PHP diawali dengan tanda lebih kecil (<) dan diakhiri dengan tanda lebih besar (>). Ada empat cara untuk menuliskan skrip PHP, yaitu:
a) <? Hallo ?> b) <? Php Hallo?> c) <% Hallo%>
d) <SCRIPT LANGUAGE=”php”>Hallo</SCRIPT>
Jiak ingin menambahkan komentar, namun komentar tersebut tidak ikut dieksekusi maka dapat ditulis sebagai berikut :
/* Tulis Komentar */ atau // Tulis Komentar
Skrip yanhg dibuat dengan PHP disimpan dengan nama file dan diikuti dengan
ekstensi *.php, misalnya : contoh.php. Bila skrip PHP diakses melalui komputer lokal maka file PHP disimpan di folder htdocs di web server. Semua halnya dengan penamaan dokumen HTML, pemberian nama dokumen yang sama tetapi dituliskan dengan case yang berbeda akan dianggap sebagai dokumen yang berbeda, misalnya contoh.php akan berbeda dengan CONTOH.php. Skrip PHP dapat disisipkan di bagian manapun dalam dokumen HTML, begitu pula sebaliknya skrip HTML dapat diletakkan diantara skrip PHP:
(32)
* Contoh1.php (Menyisipkan skrip PHP di dokumen HTML)
<html>
<head>
<title> Menyisipkan PHP di dokumen HTML </title>
</head>
<body>
Cara menyapa PHP dengan akrab: <br>
<p>
<?php
Echo “Hallo PHP,Apa khabar?”;
?>
</body>
</html>
(33)
2.5.2 Keunggulan PHP
Adapun keunggulan PHP antara lain:
1. cepat, karena ditempelkan (embedded) di dalam kode HTML, sehingga waktu tanggap menjadi pendek.
2. Tidak mahal-gratis, pada kenyataannya PHP adalah gratis dan bisa diperoleh tanpa harus membayarnya.
3. Mudah untuk digunakan, PHP berisi beberapa fitur khusus dan fungsi yang dibutuhkan untuk membuat web yang dinamis.
4. berjalan pada beberapa sistem Operasi, dapat berjalan pada sistem operasi yang beragam, windows, linux, Mac OS, dan kebanyakan variasi dari Unix.
5. Dukungan teknis tersedia secara luas karena PHP menyediakan dukungan gratis via daftar diskusi e-mail.
6. Aman, pengguna tidak melihat kode PHP, karena kode yang ditampilkan pada browser adalah kode HTML.
7. Dirancang untuk mendukung database. PHP meliputi kemampuan yang dirancang untuk berinteraksi dengan database tertentu.
8. Customizable, Lisensi open source sehingga mengizinkan para pemrogram untuk memodifikasi software PHP (Janner, 2006).
(34)
2.6 Pengenalan Internet
Internet (Inter-Network) adalah sebutan untuk sekumpulan jaringan komputer yang menghubungkan situs akademik, pemerintahan, komersial, organisasi, maupun perorangan. Internet menyediakan akses untuk layanan telekomnunikasi dan sumber daya informasi untuk jutaan pemakainya yang tersebar di seluruh dunia. Layanan internet meliputi komunikasi langsung (email, chat), diskusi (Usenet News, email, milis), sumber daya informasi yang terdistribusi (World Wide Web, Gopher), remote login dan lalu lintas file (Telnet, FTP), dan aneka layanan lainnya.
Jaringan yang membentuk internet bekerja berdasarkan suatu set protokol standar yang digunakan untuk menghubungkan jaringan komputer dan mengalamati lalu lintas dalam jaringan. Protokol ini mengatur format data yang diijinkan, penanganan kesalahan (error handling), lalu lintas pesan, dan standar komunikasi lainnya. Protokol standar pada internet dikenal sebagai TCP/IP (Transmission Control Protocol/Internet Protocol). Protokol ini memiliki kemampuan untuk bekerja diatas segala jenis komputer, tanpa terpengaruh oleh perbedaan perangkat keras maupun sistem operasi yang digunakan (Graifhan, 2003).
Penggunaan internet dipilih oleh kebanyakan orang sekarang ini karena kemudahan-kemudahan yang dimiliki oleh jaringan internet, yaitu:
1 internet sebagai jaringan publik yang sangat besar (huge/widespread network),
layaknya yang dimiliki suatu jaringan publik elektronik, yang murah, cepat, dan kemudahan akses.
(35)
2. menggunakan electronic data sebagai media penyampaian pesan/data sehingga dapat dilakukan pengiriman dan penerimaan informasi secara mudah dan ringkas baik dalam bentuk data elektronik analog dan digital (Deris, 2002).
2.6.1 Internet Commerce
Internet Commerce adalah penggunaan internet yang berbasis teknologi informasi dan komunikasi untuk perdagangan. Kegiatan komersial ini seperti iklan dalam penjualan produk dan jasa. Transaksi yang dapat dilakukan di internet antara lain pemesanan dan pembelian barang dimana barang akan dikirim melalui pos atau sarana lain setelah pembeli mentranser uang ke rekening penjual. Harga lebih murah biayanya dibandingkan dengan membuka outlet retail di berbagai tempat. Internet media promosi perusahaan dan produk yang paling tepat dengan harga yang relatif lebih murah. Serta pembelian melalui internet akan diikuti dengan layanan pengantaran barang sampai ketempat pemesanan (Nofie, 2009).
2.6.2 Web server
Web server adalah software yang menjadi tulang belakang dari world wide web
(www). Web server menunggu permintaan dari client yang menggunakan browser seperti Netscape Navigator, Internet Explorer, Modzilla, dan program browser lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format SGML (standar general markup language). Data yang berupa format ini kemudian
(36)
akan ditampilkan oleh browser sesuai dengan kemampuan browser tersebut. Contohnya, bila data yang dikirim berupa gambar, browser yang hanya mampu menampilkan teks (misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan menampilkan alternatifnya saja. Web server, untuk berkomunikasi dengan client-nya (web browser) mempunyai protokol sendiri, yaitu HTTP (hypertext transfer protocol) (Effendi ,2009).
2.7 HTML (Hypertext Markup Language)
HTML adalah bahasa pendeskripsi halaman yang menciptakan dokumen-dokumen
hypertext atau hypermedia . HTML memasukkan kode-kode penegendali dalam sebuah dokumen pada berbagai poin yang dapat anda spesifikasikan, yang dapat menciptakan hubungan (hyperlink) dengan bagian lain dari dokumen tersebut atau dengan dokumen lain yang berbeda diWord Wide Web (Janner, 2006).
Di bawah ini adalah struktur dari dokumen HTML.
<HTML> <HEAD> <TITLE>Latihan Pertama</TITLE>
</HEAD>
(37)
Selamat Belajar HTML </BODY> </HTML>
(Abdul, 2003).
Berikut ini adalah penjelasan kode pada HTML.
1. pasangan tag <HTML> dan <HTML> menandakan bahwa kode yang terdapat di dalamnya adalah kode HTML sehingga browser akan menerjemahkan sebagai dokumen HTML.
2. 2 Bagian yang terdapat dalam <HTML> dan </HTML> umumnya terbagi atas 1) kepala, dan 2) badan
3. bagian kepala ditandai dengan pasangan tag <HEAD> dan </HEAD>, sedangkan bagian badan ditandai dengan tag <BODY> dan </BODY>.
4. pada bagian kepala, anda bisa menentukan judul dokumen HTML. Judul ini ditulis dalam pasangan tag <TITLE> dan </TITLE> (Abdul, 2003).
.
2.8 Macromedia Dreamweaver 8
Macromedia Dreamweaver 8 merupakan sebuah editor HTML profesional untuk mendesain secara visual dan mengelola situs web maupun halaman web. Macromedia Dreamweaver 8 adalah salah satu vendor Macromedia Inc. Pada saat ini pihak Macromedia telah mengeluarkan versi terbaru dari macromedia Dreamweaver memiliki kemampuan untuk menyunting folder dengan lebih baik, serta mampu menggabungkan layout site dengan progreming web.
(38)
Macromedia Dreamweaver merupakan sebuah editor HTML profesional
untuk mendesain secara visual dan mengolah situs web maupun halaman web.
Macromedia Dreamweaver 8 adalah salah satu produk dari vendor Macromedia Inc. Dimana Macromedia Dreamweaver 8 ini memiliki kemampuan untuk menyunting kode dengan lebih baik, serta mampu menggabungkan layout site dengan
programming web.
Aplikasi pada Dreamweaver juga dapat membuat sebuah aplikasi dinamis dengan database menggunakan bahasa server seperti CFML, ASP.NET, ASP, JSP, dan PHP. CSS atau Cassading Style adalah sebuah dokumen yang berisi aturan yang digunakan untuk memisahkan isi dengan layout dalam halaman-halaman web yang dibuat (Kurniawan, 2008).
2.9 CSS (Cascading Style Sheet)
CSS digunakan dalam kode HTML untuk menciptakan suatu kumpulan style
yang terkadang dapat digunakan untuk memperluas kemampuan HTML, sebagai contoh, kode HTML murni tidak memungkinkan untuk untuk mengatur ukuran font yang diterapkan pada setiap sel dan bahkan tag <BASEFONT> pun tak berpengaruh pada sel-sel tabel (Abdul, 2003).
(39)
BAB 3
PERANCANGAN SISTEM
3.1 Perancangan Sistem
Perancangan sistem merupakan upaya perusahaan untuk memulai memiliki sistem baik yang lama maupun yang baru. Perancangan sistem dilakukan setelah mendapat gambaran dengan jelas apa yang harus dilakukan. Desain sistem secara umum mengidentifikasikan komponen-komponen sistem e-Commerce yang akan didesain secara terinci.
3.2 Data Flow Diagram (DFD)
Data Flow Diagram (DFD) adalah gambaran sistem secara logika. Digunakan untuk mengambarkann aliran data informasi dan transformasi (proses) dari data. Dimulai dari pemasukan data sampai menghasilkan keluaran (output) data.
(40)
3.2.1 Simbol-simbol DFD dan Flowcart
Tabel 3.1 Simbol-simbol DFD dan Flowcart
No Gambar Nama Fungsi
1 Kesatuan Luar
(External Entity)
Merupakan kesatuan luar di lingkungan luar Sistem yang akan memberikan
input atau menerima output dari sistem.
2 Proses (Process) Kegiatan dari hasil suatu
arus data yang masuk dalam proses untuk dihasilkan arus data yang
akan keluar atau untuk mengubah input menjadi
output
3 Aliran Data
(Data Flow)
Data mengalir melalui sistem, dimulai dengan sebagian input dan diubah
atau diproses menjadi input
(41)
4 Penyimpanan Data
( Data Storage)
Data disimpan untuk keperluan berikutnya.
5 Awal Proses
Program (Start)
Awal untuk memulai suatu program.
6 Perintah Dasar Petunjuk untuk setiap
aplikasi program.
7 Proses Data Proses data dari aplikasi
yang tersedia.
8 Aplikasi
Program
Aplikasi-aplikasi yang terdapat pada website
tersebut.
9
Database
Tempat penyimpanan semua data.
(42)
3.2.2 Diagram Level Konteks
Category Product Shop Config
- order Produk - contact us
Produk
Gambar 3.1 DFD Level Konteks Sistem e-Commerce pada Toko Roti Ganda Pematangsiantar
Costumer
Sistem e-Commerce
Admin
(43)
3.2.3 Data Flow Diagram level nol
Data Category
Category
Produk Data Produk
Information shop Shop config
Costumer comment
Contact us
Costumer order produk
order
Gambar 3.2 DFD Level Nol Sistem e-Commerce pada Toko Roto Ganda Pematangsiantar
Costumer Admin
Input category
Input Produk
Shop Config
Contact us
order
Deliver
F4
F5 F3
F2 F1
(44)
3. 3 Perancangan Database
Database merupakan kumpulan dari data yang saling berhubungan satu dengan lainnya, tersimpan di simpanan luar komputer dan digunakan perangkat lunak tertentu untuk memanipulasinya. Database merupakan salah satu komponen yang penting dalam sistem informasi yang berbasis e-Commerce, karena berfungsi sebagai basis penyedia informasi bagi para pemakainya. Karena database merupakan kumpulan dari beberapa file, dalam hal ini file-file tersebut dikelompokkan secara terstruktur dalam beberapa tabel sesuai dengan informasi yang terkandung didalamnya. Berikut ini adalah langkah-langkah perancangan database yang penulis gunakan untuk membangun sistem e-Commerce ini :
3.3.1 Field Name
Tabel 3.2 Tabel dalam database
No Table Name
1 Tbl_cart
2 Tbl_category 3 Tbl_currency
4 Tbl_inbox
5 Tbl_order
6 Tbl_order_item 7 Tbl_product 8 Tbl_shop config
(45)
3.3.2 Field Table
Tabel 3.3 Field Table dalam database
No Table Name Field Name
1 Tbl_cart - ct_id
- pd_id - ct_qty
- ct_session_id - ct_date
2 Tbl_category - cat_id
- cat_parent_id - cat_name - cat_description - cat_image
3 Tbl_currency - cy_id
- cy_code - cy_symbol
4 Tbl_inbox - id
- name - email - comment - replay - time_replay - date
5 Tbl_order - od_id
- od_date - od_last_update - od_status - od_memo - od_shipping_first_name - od_shipping_last_name - od_shipping_address1 - od_shipping_address2 - od_shipping_phone - od_shipping_city - od_shipping_state - od_shipping_postal_code - od_shipping_cost
(46)
- od_payment_first_name - od_payment_last_name - od_payment_address1 - od_payment_address2 - od_payment_phone - od_payment_city - od_payment_state - od_payment_postal code
6 Tbl_order_item - od_id
- pd_id - od_qty
7 Tbl_product - pd_id
- cat_id - pd_name - pd_description - pd_price - pd_qty - pd_image - pd_thumbnail - pd_date - pd_last_update
8 Tbl_shop config - sc_name
- sc_address - sc_phone - sc_email - sc_shipping_cost - sc_currency - sc_order_email
9 Tbl_user - user_id
- user_name - user_password - user_regdate - user_last_login
(47)
3.3.3 Describtion Field Table
a) table_cart
Tabel 3.4 Describtion table_cart
No Field Name Type Width Description
1 ct_id * int 10 Id chart
2 pd_id** int 10 Id product
3 ct_qty madiumint 8 Jumlah product
4 ct_session_id char 32 Kode id session pengguna
5 ct_date datetime - waktu
b) table_category
Tabel 3.5 Describtion table_category
No Field Name Type Width Descreption
1 cat_id* int 10 Id kategory
2 cat_parent_id int 11 Id kategory
3 cat_name varchar 50 Nama kategory
4 cat_description varchar 200 Deskripsi kategori 5 cat_image varchar 255 Nama gambar dari kategory
(48)
c) table_currency
Tabel 3.6 Describtion table_currency
No Field Name Type Width Descreption
1 cy_id* int 10 Id currency
2 cy_code char 3 kode currency
3 cy_symbol varchar 8 Simbol currency
d) table_inbox
Tabel 3.7 Describtion table_inbox
No Field Name Type Width Descreption
1 Id* int 5 Id inbox
2 Name varchar 35 Nama pemgunjung
3 Email varchar 35 Email pengunjung
4 comment text - Komentar pengunjung
5 Replay text - Balasan
6 time_replay datetime - Waktu pesan di balas
(49)
e) table_order
Tabel 3.8 Describtion table_order
No Field Name Type Width Descreption
1 od_id* Int 10 Id order
2 od_date datetime - Waktu memesan
3 od_last_update datetime - Waktu memesan
diperbaharui
4 od_status Enum - Status dari pesanan
(dikirim atau belum)
5 od_memo varchar 255 Pesan singkat
6 od_shipping_first_name varchar 50 Nama awal pemesan 7 od_shipping_last_name varchar 50 Nama akhir pemesan 8 od_shipping_address1 varchar 100 Alamat I pemesan 9 od_shipping_address2 varchar 100 Alamat II pemesan 10 od_shipping_phone varchar 32 No telepon pemesan
11 od_shipping_city varchar 100 Kota pemesan
12 od_shipping_state varchar 32 Provinsi pemesan 13 od_shipping_postal_code varchar 10 Kode pos pemesan 14 od_shipping_cost decimal 5,2 Biaya yang dikeluarkan
15 od_payment_first_name varchar 50 Nama awal pembayar 16 od_payment_last_name Varchar 50 Nama akhir pembayar 17 od_payment_address1 Varchar 100 Alamat I pembayar 18 od_payment_address2 Varchar 100 Alamat II pembayar 19 od_payment_phone Varchar 32 No telepon pembayar
(50)
20 od_payment_city Varchar 100 Kota pembayar 21 od_payment_state Varchar 32 Provinsi pembayar 22 od_payment_postal code Varchar 10 Kode pos pembayar
f) table_order_item
Tabel 3.9 Describtion table_order_item
No Field Name Type Width Descreption
1 od_id** Int 10 Id order
2 pd_id** Int 10 Id produk
3 od_qty Int 10 jumlah order yang di
pesan
g) table_product
Tabel 3.10 Describtion table_product
No Field Name Type Width Descreption
1 pd_id* int 10 Id produk
2 cat_id** int 10 Id kategory
3 pd_name varchar 100 Nama produk
4 pd_description text - Deskripsi produk
5 pd_price decimal 9,2 Harga
6 pd_qty smallint 5 Jumlah yang tersedia
7 pd_image varchar 200 Nama gambar
(51)
9 pd_date datetime - Waktu data produk di terima 10 pd_last_update datetime - Waktu data produk di update
h) table_shop_config
Tabel 3.11 Describtion table_shop_config
No Field Name Type Width Descreption
1 sc_name varchar 50 Nama toko
2 sc_address varchar 100 Alamat toko
3 sc_phone varchar 30 No telepon toko
4 sc_email varchar 30 E-mail toko
5 sc_shipping_cost decimal 5,2 Baiya yang dikeluarkan
6 sc_currency int 10 Mata uang yang digunakan
7 sc_order_email enum - Pengiriman data dengan email
i) table_user
Tabel 3.12 Describtion table_user
No Field Name Type Width Descreption
1 user_id* int 0 Id user
2 user_name varchar 20 Nama user
3 user_password varchar 32 Password user
4 user_regdate datetime - Waktu
(52)
Ket:
* adalah sebagai sombol Primary Key ** adalah sebagai simbol Forgen key
3.4 Relationship Table
Gambar 3.3 Relationship Table
tbl_category cat_id*
tbl_product pd_id* cat_id**
tbl_order od_id* tbl_cart
ct_id* pd_id**
tbl_order_item od_id** pd_id**
(53)
I FLOWCHART SISTEM 1 Flowchart menu utama
No
Yes
Gambar 3.4 Flowchart Menu Utama
Start
Buka Koneksi Database
Index Menu Halaman Home Profil Contact Login Close Order
Tutup Koneksi Database
End
Cake Bakery y Tampilan Utama
Latar Belakang Toko
Informasi Pembelian
Komentar Pengunjung
Halaman Login Admin
Category
Shopping Cart
(54)
2 Flowchart Pembelian Barang
No
No
Yes
Gambar 3.5 Flowchart Pembelian Barang
End Start
Pilih Kategori
Add To Cart Pilih Jenis Cake
Cake
Shopping Basket
Proses To Chekout
Isian Data Database
(55)
3 Flowchart Login Admin
No
No
Gambar 3.6 Flowchart Login Admin
Start
Index
Login
Username And Password
Status = Admin
Menu Admin
(56)
4 Flowchart Search
No
Yes
Gambar 3.7 Flowchart Search
Start
Cari Lagi Go
Hasil Pencarian Input Data
End
(57)
II ALGORITMA PROGRAM
Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah logika atau matematika. Adapun algoritma yang akan dibahas antara lain yaitu:
1 Algoritma Menu Utama
1. Aktifkan server yang di gunakan mis, Apache, Xampp, Wampp dll. Kemudian aktifkan browser Internet Explorer atau Mozilla Firefox, ketikkan pada address bar “localhost/ganda2” kemudian tekan enter atau klik icon
“Go” pada sudut kanan address bar, maka akan tampil halaman utama web site.
2. Setelah halaman Index muncul, maka terdapat berbagai menu yang telah ada. Dengan tampilan disain yang menarik serta terdapat kata-kata “Welcome” sebagai sambutan telah mengunjungi website serta melihat dan membeli berbagi produk yang di tawarkan.
3. Jika ingin keluar close pada menu browser maka akan keluar dari Web.
2 Algoritma Pemesanan Produk
1. Klik menu Home atau Index terdapat di sidebar kanan pada website kategori produk. pengunjung dapat memilih kategori yang diinginkan dengan beragam jenis produk dalam setiap kategori. Klik kategori kemudian klik jenis produk dari kategori kemudian klik nama produk. Secara otomatis sistem akan memasukkan produk belanja pembeli ke dalam keranjang belanja.
(58)
2. Pembeli masih dapat membatalkan atau menambah produk yang ingin di beli. Setelah benar-benar produk ingin di beli, pembeli harus meng klik proses cek. Kemudian sistem akan mengarahkan ke dalam halaman isian registrasi atau isian data pembeli. Setelah selesai, sistem akan mengirim ke database admin dan akan di proses lebih lanjut.
3. Jika sudah selesai. Data pembeli akan di proses kemudian pesanan akan di antar ke data alamat yang telah diberikan pembeli, jika ingin belanja lagi ”klik
here”.
3 Algoritma Admin
1. Klik Login pada menu home atau Index maka akan muncul menu login, kemudian masukkan user dan password. Akan muncul berbagai menu pada halaman Admin.
2. Setelah masuk ke halaman utama admin. Akan tampil berbagai menu admin. Misalnya : home, category, product, order, inbox, user, shopconfig. Menu-menu tersebut menjadi lokasi kerja admin seperti pengupdatean, penghapusan, penambahan, membalas berbagi komentar pengunjung, pemeriksaan data pemebeli dll.
(59)
4 Algoritma Search
1. klik menu Home atau Index disebelah login terdapat tampilan search. Yang berfungsi untuk membantu pengunjung dan pembeli mencari data produk yang diinginkan tanpa melihat dari kategori.
2. Masukkan nama produk yang ingin di cari misnya “puding”. Maka akan tampil segala macam jenis kue puding yang tersedia di database. Jika ingin
mencari lagi klik “cari lagi”, maka akan kembali ke home dan silahkan masukkan nama produk. Apabila nama salah atau tidak terdapat dalam database, maka sistem akan memberi peringatan “data tidak ditemukan”.
(60)
BAB 4
IMPLEMENTASI SISTEM
4.1 Pengertian Implementasi Sistem
Implementasi sistem adalah suatu prosedur yang dilakukan untuk menyelesaikan sistem yang ada dalam dokumen rancangan sistem yang telah disetujui an mengujinya, menginstal dan memulai menggunakan sistem baru yang diperbaiki. Adapun langkah-langkah yang dibutuhkan dalam implementasi sistem adalah:
1. Mendapatkan software dan hardware yang tepat serta sesuai untuk merancang website.
2. Menyelesaikan rancangan sistem.
3. Menulis, menguji, mengontrol dan mendokumentasikan website.
4. Mendapatkan persetujuan.
4.2 Tujuam Implementasi Sistem
Adapun tujuan-tujuan dari implementasi sistem, yaitu:
1. Mengkaji rangkaian sistem baik dari segi software maupun hardware sebagai sarana pengolah data penyaji informasi.
(61)
2. Menyelesaikan rancangan sistem yang ada dalam
3. Memastikan bahwa pengunjung dapat mengoprasikan dengan mudah terhadap sistem yang baru dan mendapat informasi yang baik dan jelas.
4. Memperhitungkan bahwa sistem telah memenuhi permintaan pemakai yaitu dengan menguji sistem secara menyeluruh.
5. Memastikan bahwa sistem yang telah berjalan dengan lancar dengan mengontrol dan melakukan instalasi secara benar.
4.3 Komponen-Komponen Kebutuhan Sistem
Komponen-komponen yang sangat berperan dalam menunjang penerapan sistem yang dirancang pengolahan data. Beberapa komponen yang dibutuhkan sistem untuk dapat beroperasi dengan baik antara lain:
4.3.1 Hardware
Hardware merupakan komponen yang sangat dibutuhkan dalam mewujudkan sistem yang diusulkan. Dalam hal ini penulis dapat merincikan spesifikasi komponen hardware yaitu:
a. Personel komputer dengan processor intel pentium inside dual core.
b. Hardisk 160 GB. c. Memori 1 G.
d. Monitor LCD 14 inchi. e. CPU T4200.
(62)
4.3.2 Software
Hardaware tidak dapat memcahkan suatu masalah tanpa adanya komponen software. Adapun software yang digunakan dalam pembuatan website ini adalah:
1. Sistem Operasi Windows Xp
Gambar 4.1 Tampilan antar muka Sistem Operasi Windows XP
2. Macromedia dreamweaver 8
Software ini berfungsi sebagi text editor dalam penulisan script PHP dalampembuatan website.
(63)
3. XAMPP
XAMPP merupakan kumpulan aplikasi yang terdiri dari apache sebagai
web server, PHP sebagi bahasa pemrograman, MySQL sebagai database. Dengan XAMPP kebutuhan software telah terpenuhi.
Gambar 4.3 Tampilan antar muka web server
4.3.3 Brainware
Brainware adalah sumber daya manusia yang akan berperan sebagai user ataupun
administrator sistem. Brainware yang dibutuhkan sebagai administrator nantinya akan bekerja pada server dalam pengolahan website. Administrator harus mengerti tentang bahasa pemrograman PHP dan MySQL serta mengerti akan jalannya sistem. Sedangkan user tidak harus memiliki kemampuan khusus hanya menegrti mengoperasikan internet sistem.
(64)
4.4 Demonstrasi Program
Adapun tampilan atau output program yang di rancang penulis adalah sebagi berikut:
4.4.1 Tampilan Index/ Home
Gambar 4.4 Tampilan Index/ Home
Gambar 4.4 Tampilan Index/ Home
(65)
4.4.2 Tampilan Category
(66)
4.4.3 Tampilan Contact
(67)
4.4.4 Tampilan Login
Gambar 4.7 Tampilan Login
4.4.5 Tampilan Shopping Basket
(68)
4.4.6 Tampilan Shipping And Payment Information
(69)
BAB 5
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Aplikasi e-Commerce pada toko roti ganda ini dirancang dan direalisasikan dengan menggunakan sistem operasi Windows, MySQL sebagai database manajemen sistem, PHP sebagai bahasa scripting yang menyatu dengan HTML (sintaks dan perintah yang diberikan sepenuhnya dijalankan di web server), Apache sebagai web server, dan Macromedia Dreamweaver 8 sebagai web editornya. Dari realisasi tersebut dapat diambil kesimpulan yaitu:
1. Penggunaan sistem layanan e-Commerce ini akan memberikan kemudahan dalam pembelian suatu barang, dimana konsumen tidak perlu datang ke toko tersebut secara langsung. Karena pemesanan barang dapat dilakukan melalui teknologi internet.
2. Aplikasi XAMPP yang digunakan memudahkan penulis dalam perancangan aplikasi e-Commerce ini, karena dalam aplikasi XAMPP meliputi Apache sebagai web server, PHP sebagai bahasa pemrogramannya dan MySQL sebagai databasenya. Oleh karena itu, dengan XAMPP kebutuhan software dapat terpenuhi.
(70)
5.2 SARAN
1. Penulis menyadari bahwa apa yang telah dibuat penulis masih banyak kekurangannya. Oleh karena itu masih diperlukan lagi pengembangan lebih lanjut untuk perbaikan kedepan.
2. Poses pembelajaran akan berkembang jika tidak fanatik terhadap satu sistem saja. Karena itu sebagai alat bantu pemecahan masalah.
3. Apalikasi yang digunakan sangat sederhana dan masih membutuhkan pengembangan dan pembelajaran yang lebih baik.
(71)
DAFTAR PUSTAKA
Sugiri, S. H. 2008. Pengelolaan Database MySQL dengan PHPMyAdmin.
Yogyakarta: Graha Ilmu.
Kurniawan, B. 2008. Desain Web Praktis dengan CSS. Jakarta: Elex Media Komputindo.
Simarmata, J. 2006. Menggunakan PHP dan MySQL. Yogyakarta: Penerbit Andi. Peranginangin, K. 2006. Aplikasi WEB dengan PHP dan MySQL. Yogyakarta: C.V
ANDI OFFSET
Kadir, A. 2003. Pemrograman Web. Yogyakarta: Penerbit Andi. Dwi, D. P. 2009. Mengenal Database.
http://www.catatanlepas.com/komputer/44-database/83-mengenal-database.pdf Diakses 8 Mei 2010.
Nofie, I. 2009. Mengenal e-Commerce.
images.frihartati.multiply.com/.../mengenal-e-commerce%5B1%5D.pdf?.. Diakses tanggal 5 Oktober 2009.
Effendi, R. 2009. Web Server.
www.ittelkom.ac.id/.../index.php?...web-server. Diakses tanggal 29 April
2010.
Januri, B. M. Dkk. 2008. e-Commerce dan Standar-Standar Dalam e-Commerce.
http://wilis.himatif.or.id/.../e-commerce%20dan%20standar-standar%20dalam%20e-commerce.doc. Diakses tanggal 8 Februari 2010.
Ramadhani, G. 2003. Pengenalan Internet.
http://dhani.singcat.com/files/pengenalan_internet.pdf Diakses 12 mei 2010.
Stiawan, D. 2002. e-Commerce.
deris.unsri.ac.id/materi/deris/ecommerce_deris.pdf. Diakses tanggal 1 Desember 2009.
(72)
(73)
1. ADMIN
A. Koneksi.php
<?php // database connection config $dbHost = 'localhost';
$dbUser = 'root'; $dbPass = '';
$dbName = 'ganda';
$koneksi=mysql_connect($dbHost,$dbUser,$dbPass); mysql_select_db($dbName, $koneksi);
?>
B. ProsessConfig.php
<?php
ini_set('display_errors', 'On'); //ob_start("ob_gzhandler"); error_reporting(E_ALL);
// start the session session_start();
// database connection config $dbHost = 'localhost';
$dbUser = 'root'; $dbPass = '';
(74)
// setting up the web root and server root for // this shopping cart application
$thisFile = str_replace('\\', '/', __FILE__);
$docRoot = $_SERVER['DOCUMENT_ROOT'];
$webRoot = str_replace(array($docRoot, 'library/config.php'), '', $thisFile); $srvRoot = str_replace('library/config.php', '', $thisFile);
define('WEB_ROOT', $webRoot); define('SRV_ROOT', $srvRoot);
// these are the directories where we will store all // category and product images
define('CATEGORY_IMAGE_DIR', 'images/category/'); define('PRODUCT_IMAGE_DIR', 'images/product/');
// some size limitation for the category // and product images
// all category image width must not // exceed 75 pixels
define('MAX_CATEGORY_IMAGE_WIDTH', 75);
// do we need to limit the product image width? // setting this value to 'true' is recommended
(75)
define('LIMIT_PRODUCT_WIDTH', true);
// maximum width for all product image
define('MAX_PRODUCT_IMAGE_WIDTH', 300);
// the width for product thumbnail
define('THUMBNAIL_WIDTH', 75);
if (!get_magic_quotes_gpc()) { if (isset($_POST)) {
foreach ($_POST as $key => $value) {
$_POST[$key] = trim(addslashes($value)); }
}
if (isset($_GET)) {
foreach ($_GET as $key => $value) {
$_GET[$key] = trim(addslashes($value)); }
} }
// since all page will require a database access // and the common library is also used by all // it's logical to load these library here require_once 'database.php';
(76)
require_once 'common.php';
// get the shop configuration ( name, addres, etc ), all page need it $shopConfig = getShopConfig();
?>
C. ProcessCategory
<?php
require_once '../../library/config.php'; require_once '../library/functions.php';
checkUser();
$action = isset($_GET['action']) ? $_GET['action'] : ''; switch ($action) {
case 'add' : addCategory(); break;
case 'modify' : modifyCategory(); break;
case 'delete' : deleteCategory();
(77)
break;
case 'deleteImage' : deleteImage(); break;
default :
// if action is not defined or unknown // move to main category page header('Location: index.php'); }
/*
Add a category */
function addCategory() {
$name = $_POST['txtName'];
$description = $_POST['mtxDescription']; $image = $_FILES['fleImage'];
$parentId = $_POST['hidParentId'];
$catImage = uploadImage('fleImage', SRV_ROOT . 'images/category/');
$sql = "INSERT INTO tbl_category (cat_parent_id, cat_name, cat_description, cat_image)
VALUES ($parentId, '$name', '$description', '$catImage')"; $result = dbQuery($sql) or die('Cannot add category' . mysql_error());
(78)
header('Location: index.php?catId=' . $parentId); }
/*
Upload an image and return the uploaded image name */
function uploadImage($inputName, $uploadDir) {
$image = $_FILES[$inputName]; $imagePath = '';
// if a file is given
if (trim($image['tmp_name']) != '') { // get the image extension
$ext = substr(strrchr($image['name'], "."), 1);
// generate a random new file name to avoid name conflict $imagePath = md5(rand() * time()) . ".$ext";
// check the image width. if it exceed the maximum // width we must resize it
$size = getimagesize($image['tmp_name']);
if ($size[0] > MAX_CATEGORY_IMAGE_WIDTH) { $imagePath = createThumbnail($image['tmp_name'], $uploadDir . $imagePath, MAX_CATEGORY_IMAGE_WIDTH);
(79)
// move the image to category image directory // if fail set $imagePath to empty string
if (!move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath)) {
$imagePath = ''; }
} }
return $imagePath; }
/*
Modify a category */
function modifyCategory() {
$catId = (int)$_GET['catId']; $name = $_POST['txtName'];
$description = $_POST['mtxDescription']; $image = $_FILES['fleImage'];
$catImage = uploadImage('fleImage', SRV_ROOT . 'images/category/');
// if uploading a new image // remove old image
if ($catImage != '') { _deleteImage($catId);
(80)
$catImage = "'$catImage'"; } else {
// leave the category image as it was $catImage = 'cat_image';
}
$sql = "UPDATE tbl_category
SET cat_name = '$name', cat_description = '$description', cat_image = $catImage
WHERE cat_id = $catId";
$result = dbQuery($sql) or die('Cannot update category. ' . mysql_error()); header('Location: index.php');
} /*
Remove a category */
function deleteCategory() {
if (isset($_GET['catId']) && (int)$_GET['catId'] > 0) { $catId = (int)$_GET['catId'];
} else {
header('Location: index.php'); }
// find all the children categories $children = getChildren($catId);
(81)
// make an array containing this category and all it's children $categories = array_merge($children, array($catId));
$numCategory = count($categories);
// remove all product image & thumbnail // if the product's category is in $categories $sql = "SELECT pd_id, pd_image, pd_thumbnail FROM tbl_product
WHERE cat_id IN (" . implode(',', $categories) . ")"; $result = dbQuery($sql);
while ($row = dbFetchAssoc($result)) {
@unlink(SRV_ROOT . PRODUCT_IMAGE_DIR . $row['pd_image']);
@unlink(SRV_ROOT . PRODUCT_IMAGE_DIR . $row['pd_thumbnail']);
}
// delete the products
$sql = "DELETE FROM tbl_product
WHERE cat_id IN (" . implode(',', $categories) . ")"; dbQuery($sql);
// then remove the categories image _deleteImage($categories);
(82)
// finally remove the category from database; $sql = "DELETE FROM tbl_category
WHERE cat_id IN (" . implode(',', $categories) . ")"; dbQuery($sql);
header('Location: index.php'); }
/*
Recursively find all children of $catId */
function getChildren($catId) {
$sql = "SELECT cat_id ". "FROM tbl_category ".
"WHERE cat_parent_id = $catId "; $result = dbQuery($sql);
$cat = array();
if (dbNumRows($result) > 0) {
while ($row = dbFetchRow($result)) { $cat[] = $row[0];
// call this function again to find the children $cat = array_merge($cat, getChildren($row[0])); }
(83)
return $cat; }
/*
Remove a category image */
function deleteImage() {
if (isset($_GET['catId']) && (int)$_GET['catId'] > 0) { $catId = (int)$_GET['catId'];
} else {
header('Location: index.php'); }
_deleteImage($catId);
// update the image name in the database $sql = "UPDATE tbl_category
SET cat_image = ''
WHERE cat_id = $catId"; dbQuery($sql);
header("Location: index.php?view=modify&catId=$catId"); }
(84)
Delete a category image where category = $catId */
function _deleteImage($catId) {
// we will return the status
// whether the image deleted successfully $deleted = false;
// get the image(s)
$sql = "SELECT cat_image FROM tbl_category WHERE cat_id ";
if (is_array($catId)) {
$sql .= " IN (" . implode(',', $catId) . ")"; } else {
$sql .= " = $catId"; }
$result = dbQuery($sql);
if (dbNumRows($result)) {
while ($row = dbFetchAssoc($result)) { // delete the image file
$deleted = @unlink(SRV_ROOT . CATEGORY_IMAGE_DIR . $row['cat_image']);
(85)
}
return $deleted; }
?>
D. ProcessOrder.php
<?php
require_once '../../library/config.php'; require_once '../library/functions.php';
checkUser();
$action = isset($_GET['action']) ? $_GET['action'] : '';
switch ($action) { case 'modify' : modifyOrder(); break;
default :
// if action is not defined or unknown // move to main category page header('Location: index.php'); }
(86)
function modifyOrder() {
if (!isset($_GET['oid']) || (int)$_GET['oid'] <= 0 || !isset($_GET['status']) || $_GET['status'] == '') {
header('Location: index.php'); }
$orderId = (int)$_GET['oid']; $status = $_GET['status'];
$sql = "UPDATE tbl_order
SET od_status = '$status', od_last_update = NOW() WHERE od_id = $orderId";
$result = dbQuery($sql);
header("Location: index.php?view=list&status=$status"); }
?>
E. Main.php (Inbox)
<?php
if (!defined('WEB_ROOT')) { exit;
(87)
} ?> <style>
.text{ font-family:"Courier New", Courier, monospace; font-size:13;} </style>
<?php
// get current configuration // database connection config $dbHost = 'localhost';
$dbUser = 'root'; $dbPass = '';
$dbName = 'phpwebco_shop';
$koneksi=mysql_connect($dbHost,$dbUser,$dbPass); mysql_select_db($dbName, $koneksi);
$sql = mysql_query("SELECT * FROM tbl_inbox"); ?><script type="text/JavaScript">
<!--
function MM_popupMsg(msg) { //v1.0 alert(msg);
}
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false; for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'"); }
(88)
//-->
</script> <?php
//menentukan batas, cek dan posisi data $batas=5;
if(empty($halaman)){ $posisi=0;
$halaman = 1; } else {
$posisi = ($halaman-1) * $batas; }
//sesuaikan perintah SQL dengan posisi dan batas
$sql= "SELECT * FROM tbl_inbox ORDER BY id DESC LIMIT $posisi,$batas"; $result = mysql_query($sql);
$test=mysql_num_rows($result); if ($test!=0)
{
$no=$posisi+1;
echo" <table width='500' align='left' cellpadding='1' cellspacing='1' class='text'>"; echo" <tr>";
(89)
echo "<th>NO</th>"; echo "<th>Name</th>"; echo "<th>Email</th>"; echo "<th>Action</th></tr>";
while($row=mysql_fetch_array($result)) {
//pemberian warna berbeda pada tiap baris tampilan if (($no % 2)==0)
{ $warna="#EFEFEF"; } else { $warna="#DEDEDE";}
$id= $row['id'];
echo "<tr bgcolor=$warna align='left' ><td width='10'>"; echo $no;
echo "</td><td width='40'>"; echo $row['name'];
echo "</td><td width='50'>"; echo $row['email'];
echo "</td><td width='50'>";
echo "<a href='delete_message.php?id=$id' onClick=\"return confirm('Apakah Anda benar-benar akan menghapus Message
ini?')\">Delete</a> "?>
<a href='index.php?id=<?php echo $id;
?>&name=show_message.php'>Show</a> <?php if ($row['replay']=='') { ?>
(90)
<a href='index.php?id=<?php echo $id;
?>&name=show_message.php'>Replay</a> <?php }
else {echo "Replayed"; } ?>
<? $no++; }
echo "</table><p><table width='500' align='left' id='tabel_show' cellpadding='1' cellspacing='1'><tr><td></td><td>";
$sql2 = mysql_query("select * from tbl_inbox"); $result=mysql_num_rows($sql2);
$jmlhalaman=ceil($result/$batas); /* bangun Previous link */
if($halaman > 1){
$prev = ($halaman - 1); ?>
<a href="index.php?name=main.php&halaman=1"> <span class="text"><< First</span> </a> |
<a href="index.php?name=main.php&<? echo "halaman=$prev"; ?>"> <span class="text"><<Previous </span></a>
<? } else {
echo "<p><span class='text'>First| < Previous</span> "; } //tampilkan link halaman 1,2,3...
(91)
for($i = 1; $i <= $jmlhalaman; $i++){ if($i == $jmlhalaman){
echo "$i "; }
else { ?>
<a href="index.php?name=main.php&<? echo "halaman=$i"; ?>"><span class="text"><? echo $i; ?></span></a>
<? } }
/* bangun Next link */
if($halaman < $jmlhalaman){ $next = $halaman + 1;
?>
<a href="index.php?name=main.php&<? echo "halaman=$next"; ?>"><span class="text">Next> |</span></a>
<A href="index.php?name=main.php&<? echo "halaman=$jmlhalaman"; ?>"><span class="text">Last >></span></a>
<? }
echo "</td></tr></table>";
}//akhir dari kondisi bahwa data tidak kosong
else { echo "TIDAK ADA DATA DALAM DATABASE "; }
?>
(92)
<?php
require_once '../../library/config.php'; require_once '../library/functions.php';
checkUser();
$action = isset($_GET['action']) ? $_GET['action'] : '';
switch ($action) {
case 'addProduct' : addProduct(); break;
case 'modifyProduct' : modifyProduct(); break;
case 'deleteProduct' : deleteProduct(); break;
case 'deleteImage' : deleteImage(); break;
(93)
default :
// if action is not defined or unknown // move to main product page header('Location: index.php'); }
function addProduct() {
$catId = $_POST['cboCategory']; $name = $_POST['txtName'];
$description = $_POST['mtxDescription'];
$price = str_replace(',', '', (double)$_POST['txtPrice']); $qty = (int)$_POST['txtQty'];
$images = uploadProductImage('fleImage', SRV_ROOT . 'images/product/');
$mainImage = $images['image']; $thumbnail = $images['thumbnail'];
$sql = "INSERT INTO tbl_product (cat_id, pd_name, pd_description, pd_price, pd_qty, pd_image, pd_thumbnail, pd_date)
VALUES ('$catId', '$name', '$description', $price, $qty, '$mainImage', '$thumbnail', NOW())";
(94)
header("Location: index.php?catId=$catId"); }
/*
Upload an image and return the uploaded image name */
function uploadProductImage($inputName, $uploadDir) {
$image = $_FILES[$inputName]; $imagePath = '';
$thumbnailPath = '';
// if a file is given
if (trim($image['tmp_name']) != '') {
$ext = substr(strrchr($image['name'], "."), 1); //$extensions[$image['type']];
// generate a random new file name to avoid name conflict $imagePath = md5(rand() * time()) . ".$ext";
list($width, $height, $type, $attr) = getimagesize($image['tmp_name']);
// make sure the image width does not exceed the // maximum allowed width
if (LIMIT_PRODUCT_WIDTH && $width > MAX_PRODUCT_IMAGE_WIDTH) {
(95)
$result = createThumbnail($image['tmp_name'], $uploadDir . $imagePath, MAX_PRODUCT_IMAGE_WIDTH);
$imagePath = $result; } else {
$result = move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath);
}
if ($result) {
// create thumbnail
$thumbnailPath = md5(rand() * time()) . ".$ext"; $result = createThumbnail($uploadDir . $imagePath, $uploadDir . $thumbnailPath, THUMBNAIL_WIDTH);
// create thumbnail failed, delete the image if (!$result) {
unlink($uploadDir . $imagePath); $imagePath = $thumbnailPath = ''; } else {
$thumbnailPath = $result; }
} else {
// the product cannot be upload / resized $imagePath = $thumbnailPath = ''; }
}
(96)
}
/*
Modify a product */
function modifyProduct() {
$productId = (int)$_GET['productId']; $catId = $_POST['cboCategory']; $name = $_POST['txtName'];
$description = $_POST['mtxDescription'];
$price = str_replace(',', '', $_POST['txtPrice']); $qty = $_POST['txtQty'];
$images = uploadProductImage('fleImage', SRV_ROOT . 'images/product/');
$mainImage = $images['image']; $thumbnail = $images['thumbnail'];
// if uploading a new image // remove old image
if ($mainImage != '') {
_deleteImage($productId);
$mainImage = "'$mainImage'"; $thumbnail = "'$thumbnail'";
(97)
} else {
// if we're not updating the image
// make sure the old path remain the same // in the database
$mainImage = 'pd_image'; $thumbnail = 'pd_thumbnail'; }
$sql = "UPDATE tbl_product
SET cat_id = $catId, pd_name = '$name', pd_description = '$description', pd_price = $price,
pd_qty = $qty, pd_image = $mainImage, pd_thumbnail = $thumbnail
WHERE pd_id = $productId";
$result = dbQuery($sql);
header('Location: index.php'); }
/*
Remove a product */
function deleteProduct() {
if (isset($_GET['productId']) && (int)$_GET['productId'] > 0) { $productId = (int)$_GET['productId'];
(98)
header('Location: index.php'); }
// remove any references to this product from // tbl_order_item and tbl_cart
$sql = "DELETE FROM tbl_order_item WHERE pd_id = $productId"; dbQuery($sql);
$sql = "DELETE FROM tbl_cart WHERE pd_id = $productId"; dbQuery($sql);
// get the image name and thumbnail $sql = "SELECT pd_image, pd_thumbnail FROM tbl_product
WHERE pd_id = $productId";
$result = dbQuery($sql);
$row = dbFetchAssoc($result);
// remove the product image and thumbnail if ($row['pd_image']) {
unlink(SRV_ROOT . 'images/product/' . $row['pd_image']); unlink(SRV_ROOT . 'images/product/' . $row['pd_thumbnail']); }
(99)
// remove the product from database; $sql = "DELETE FROM tbl_product WHERE pd_id = $productId"; dbQuery($sql);
header('Location: index.php?catId=' . $_GET['catId']); }
/*
Remove a product image */
function deleteImage() {
if (isset($_GET['productId']) && (int)$_GET['productId'] > 0) { $productId = (int)$_GET['productId'];
} else {
header('Location: index.php'); }
$deleted = _deleteImage($productId);
// update the image and thumbnail name in the database $sql = "UPDATE tbl_product
(1)
for ($i = 0; $i < $numItem; $i++) { extract($cartContent[$i]);
$productUrl = "index.php?c=$cat_id&p=$pd_id"; $subTotal += $pd_price * $ct_qty;
?>
<tr class="content">
<td width="80" align="center"><a href="<?php echo $productUrl; ?>"><img src="<?php echo $pd_thumbnail; ?>" border="0"></a></td>
<td><a href="<?php echo $productUrl; ?>"><?php echo $pd_name; ?></a></td> <td align="right"><?php echo displayAmount($pd_price); ?></td>
<td width="75"><input name="txtQty[]" type="text" id="txtQty[]" size="5" value="<?php echo $ct_qty; ?>" class="box" onKeyUp="checkNumber(this);"> <input name="hidCartId[]" type="hidden" value="<?php echo $ct_id; ?>"> <input name="hidProductId[]" type="hidden" value="<?php echo $pd_id; ?>"> </td>
<td align="right"><?php echo displayAmount($pd_price * $ct_qty); ?></td> <td width="75" align="center"> <input name="btnDelete" type="button" id="btnDelete" value="Delete" onClick="window.location.href='<?php echo $_SERVER['PHP_SELF'] . "?action=delete&cid=$ct_id"; ?>';" class="box"> </td>
</tr> <?php } ?>
<tr class="content">
<td colspan="4" align="right">Sub-total</td>
<td align="right"><?php echo displayAmount($subTotal); ?></td> <td width="75" align="center"> </td>
(2)
</tr>
<tr class="content">
<td colspan="4" align="right">Shipping </td>
<td align="right"><?php echo displayAmount($shopConfig['shippingCost']); ?></td>
<td width="75" align="center"> </td> </tr>
<tr class="content">
<td colspan="4" align="right">Total </td>
<td align="right"><?php echo displayAmount($subTotal + $shopConfig['shippingCost']); ?></td>
<td width="75" align="center"> </td> </tr>
<tr class="content">
<td colspan="5" align="right"> </td> <td width="75" align="center">
<input name="btnUpdate" type="submit" id="btnUpdate" value="Update Cart" class="box"></td>
</tr> </table> </form> <?php } else {
?>
<p> </p><table width="550" border="0" align="center" cellpadding="10" cellspacing="0">
(3)
<td><p align="center">Kerancang belanja anda kosong</p> <p align="center">silahkan belanja di toko kami.</p></td> </tr>
</table> <?php }
$shoppingReturnUrl = isset($_SESSION['shop_return_url']) ? $_SESSION['shop_return_url'] : 'index.php';
?>
<table width="550" border="0" align="center" cellpadding="10" cellspacing="0"> <tr align="center">
<td><input name="btnContinue" type="button" id="btnContinue" value="<< Continue Shopping" onClick="window.location.href='<?php echo
$shoppingReturnUrl; ?>';" class="box"></td> <?php
if ($numItem > 0) { ?>
<td><input name="btnCheckout" type="button" id="btnCheckout" value="Proceed To Checkout >>" onClick="window.location.href='checkout.php?step=1';" class="box"></td>
<?php } ?> </tr> </table>
<div align="center"> <?php
(4)
require_once 'include/footer.php'; ?>
</div>
6. CHECKOUT.PHP <?php
require_once 'library/config.php';
require_once 'library/cart-functions.php'; require_once 'library/checkout-functions.php';
if (isCartEmpty()) {
// the shopping cart is still empty // so checkout is not allowed header('Location: cart.php');
} else if (isset($_GET['step']) && (int)$_GET['step'] > 0 && (int)$_GET['step'] <= 3) {
$step = (int)$_GET['step'];
$includeFile = ''; if ($step == 1) {
$includeFile = 'shippingAndPaymentInfo.php'; $pageTitle = 'Checkout - Step 1 of 2';
} else if ($step == 2) {
$includeFile = 'checkoutConfirmation.php'; $pageTitle = 'Checkout - Step 2 of 2'; } else if ($step == 3) {
$orderId = saveOrder();
(5)
$_SESSION['orderId'] = $orderId;
// our next action depends on the payment method // if the payment method is COD then show the // success page but when paypal is selected // send the order details to paypal
if ($_POST['hidPaymentMethod'] == 'cod') { header('Location: success.php'); exit;
} else {
$includeFile = 'paypal/payment.php'; }
} } else {
// missing or invalid step number, just redirect header('Location: index.php');
}
require_once 'include/header.php'; ?>
<script language="JavaScript" type="text/javascript" src="library/checkout.js"></script>
<?php
require_once "include/$includeFile"; echo "<div align='center'>";
(6)
require_once 'include/footer.php'; echo "</div>";