Perancangan E-Commerce Pada Toko Roti Ganda Dengan Menggunakan Dreamweaver 8

(1)

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>&nbsp;&nbsp;&nbsp;"?>

<a href='index.php?id=<?php echo $id;

?>&amp;name=show_message.php'>Show</a>&nbsp;&nbsp;&nbsp; <?php if ($row['replay']=='') { ?>


(90)

<a href='index.php?id=<?php echo $id;

?>&amp;name=show_message.php'>Replay</a>&nbsp;&nbsp;&nbsp; <?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&amp;halaman=1"> <span class="text">&lt;&lt; First</span> </a> |

<a href="index.php?name=main.php&amp;<? echo "halaman=$prev"; ?>"> <span class="text">&lt;&lt;Previous &nbsp;</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&amp;<? 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&amp;<? echo "halaman=$next"; ?>"><span class="text">Next&gt; |</span></a>

<A href="index.php?name=main.php&amp;<? 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">&nbsp;</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">&nbsp;</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">&nbsp;</td> </tr>

<tr class="content">

<td colspan="5" align="right">&nbsp;</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>&nbsp;</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="&lt;&lt; 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 &gt;&gt;" 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>";