Anda di halaman 1dari 113

PERANCANGAN WEBSITE E-COMMERCE POISON CLOTH

PADA CV. HENDRI JAYA


SKRIPSI
Diajukan untuk memenuhi salah satu syarat kelulusan Program Strata Satu (S1)
ERFIAN JUNIANTO
NIM: 16110077
Program Studi Sistem Informasi
UNIVERSITAS BINA SARANA INFORMATIKA
Bandung
2012
ii
PERSEMBAHAN
Ridho Allah ada pada ridho orang tua.
Dengan mengucap puji syukur kepada Allah S.W.T, skripsi ini kupersembahkan
untuk:
1. Ibu dan Ayahku, karena doa dari merekalah hidupku menjadi berkah. Tiada
kebanggaan yang bisa kuhadirkan untuk mereka, sekalipun hanya secerca.
Mungkin, dengan karyaku ini mereka bisa melihat hasil keringat mereka
mendidik anaknya, yang lebih banyak mengecewakan daripada
membanggakan.
2. Saudara kembarku, yang menyemangati, dan membantuku dalam menjalani
kehidupanku diperantauan.
3. Kedua adikku, yang selalu memberiku semangat.
Tanpa mereka, aku dan karya ini tak akan pernah ada.
iii
SURAT PERNYATAAN KEASLIAN SKRIPSI
Yang bertanda tangan di bawah ini :
Nama : Erfian Junianto
NIM : 16110077
Perguruan Tinggi : Universitas Bina Sarana Informatika Bandung
Alamat Kampus : Jl. Sekolah Internasional No. 1-6, Terusan Jl. Jakarta,
Antapani Bandung
Alamat Rumah : Jl. Bumikiara Dalam No. 13 Kiaracondong, Bandung
Dengan ini menyatakan bahwa skripsi yang telah saya buat dengan judul:
Perancangan Website E-Commerce Poison Cloth Pada CV. Hendri Jaya,
adalah asli (orsinil) atau tidak plagiat (menjiplak) dan belum pernah
diterbitkan/dipublikasikan dimanapun dan dalam bentuk apapun.
Demikianlah surat pernyataan ini saya buat dengan sebenar-benarnya tanpa ada
paksanaan dari pihak manapun juga. Apabila dikemudian hari ternyata saya
memberikan keterangan palsu dan atau ada pihak lain yang mengklaim bahwa
skripsi yang telah saya buat adalah hasil karya milik seseorang atau badan tertentu,
saya bersedia diproses baik secara pidana maupun perdata dan kelulusan saya dari
Universitas Bina Sarana Informatika dicabut/dibatalkan.
Dibuat di : Bandung
Pada tanggal : 15 Mei 2012
Yang menyatakan,
ERFIAN JUNIANTO
iv
SURAT PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya :
Nama : Erfian Junianto
NIM : 16110077
Perguruan Tinggi : Universitas Bina Sarana Informatika Bandung
Alamat Kampus : Jl. Sekolah Internasional No. 1-6, Terusan Jl. Jakarta,
Antapani Bandung
Alamat Rumah : Jl. Bumikiara Dalam No. 13 Kiaracondong, Bandung
Dengan ini menyetujui untuk memberikan ijin kepada pihak Universitas Bina
Sarana Informatika, Hak Bebas Royalti Non-Eksklusif (Non-exclusive Royalti-
Free Right) atas karya ilmiah kami yang berjudul: Perancangan Website E-
Commerce Poison Cloth Pada CV. Hendri Jaya, beserta perangkat yang
diperlukan (apabila ada).
Dengan Hak Bebas Royalti Non-Eksklusif ini pihak Universitas Bina Sarana
Informatika berhak menyimpan, mengalih-media atau format-kan,
mengelolaannya dalam pangkalan data (database), mendistribusikannya dan
menampilkan atau mempublikasikannya di internet atau media lain untuk
kepentingan akademis tanpa perlu meminta ijin dari kami selama tetap
mencantumkan nama kami sebagai penulis/pencipta karya ilmiah tersebut.
Saya bersedia untuk menanggung secara pribadi, tanpa melibatkan pihak
Universitas Bina Sarana Informatika, segala bentuk tuntutan hukum yang timbul
atas pelanggaran Hak Cipta dalam karya ilmiah saya ini.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di : Bandung
Pada tanggal : 15 Mei 2012
Yang menyatakan,
ERFIAN JUNIANTO
v
PERANCANGAN WEBSITE E-COMMERCE POISON CLOTH
PADA CV. HENDRI JAYA
Nama : ERFIAN JUNIANTO
NIM : 16110077
PEMBIMBING
( Dwiza Riana, S.Si, MM, M.Kom. )
vi
PENGESAHAN PANITIA PENGUJI SKRIPSI
Nama : ERFIAN JUNIANTO
NIM : 16110077
Judul Skripsi : PERANCANGAN WEBSITE E-COMMERCE POISON
CLOTH PADA CV. HENDRI JAYA
Telah diuji dan dipertahankan dalam sidang dan dinyatakan L U L U S pada hari
Sabtu, tanggal 28 Juli 2012 oleh Panitia Penguji Skripsi.
Bandung, Agustus 2012
UNIVERSITAS BSI BANDUNG
Prof. Dr. H. M. Ahman Sya
Rektor
DEWAN PENGUJI
------------------------------- -------------------------------
Penguji I
------------------------------- -------------------------------
Penguji II
vii
PANDUAN PENGGUNAAN HAK CIPTA
Skripsi sarjana yang berjudul Perancangan Website E-Commerce
Poison Cloth Pada CV. Hendri Jaya adalah hasil karya tulis asli ERFIAN
JUNIANTO dan bukan hasil terbitan sehingga peredaran karya tulis hanya berlaku
dilingkungan akademik saja, serta memiliki hak cipta. Oleh karena itu, dilarang
keras untuk menggandakan baik sebagian maupun seluruhnya karya tulis ini, tanpa
seizin penulis.
Referensi kepustakaan diperkenankan untuk dicatat tetapi pengutipan atau
peringkasan isi tulisan hanya dapat dilakukan dengan seizin penulis dan disertai
ketentuan pengutipan secara ilmiah dengan menyebutkan sumbernya.
Untuk keperluan perizinan pada pemilik dapat menghubungi informasi yang
tertera di bawah ini:
Nama : ERFIAN JUNIANTO
Alamat : Jl. Bumikiara Dalam No. 13 Kiaracondong, Bandung
No. Telp : 081220035432
E-mail : erfianjunianto90@gmail.com
viii
KATA PENGANTAR
Puji syukur alhamdullillah, penulis panjatkan kehadirat Allah, SWT, yang
telah melimpahkan rahmat dan karunia-Nya, sehingga pada akhirnya penulis dapat
menyelesaikan skripsi ini dengan baik. Di mana skripsi ini penulis sajikan dalam
bentuk buku yang sederhana. Adapun judul penulisan skripsi, yang penulis ambil,
sebagai berikut:
PERANCANGAN WEBSITE E-COMMERCE POISON CLOTH PADA CV.
HENDRI JAYA
Tujuan penulisan skripsi ini dibuat sebagai salah satu syarat kelulusan
Program Strata Satu (S1) Universitas BSI. Sebagai bahan penulisan diambil
berdasarkan hasil wawancara, observasi dan beberapa sumber literatur yang
mendukung penulisan ini. Penulis menyadari bahwa tanpa bimbingan dan dorongan
dari semua pihak, maka penulisan skripsi ini tidak akan lancar Oleh karena itu pada
kesempatan ini, izinkanlah penulis menyampaikan ucapan terima kasih kepada:
1. Bapak Prof. Dr. H. M. Ahman Sya selaku Rektor Universitas Bina Sarana
Informatika Bandung.
2. Ibu Dwiza Riana, S.Si, MM, M.Kom selaku dosen pembimbing skripsi.
3. Staff, karyawan, dan dosen di lingkungan Universitas Bina Sarana Informatika
Bandung.
4. Bapak Dede Hermawan selaku manager produksi sekaligus pemilik CV. Hendri
Jaya, Bapak Herdiwan Ramdhani selaku kepala toko Poison Cloth.
ix
5. Orang Tua, kakak, dan adik-adikku tercinta yang selalu mendukung dan
mendoakanku.
6. Agung Rachmat, Hendar Permana, Rizki Tri Prasetyo, Yudi Ramdhani dan
rekan-rekan mahasiswa kelas 16.8B.33 dan 16.8A.33
Serta semua pihak yang terlalu banyak untuk disebut satu persatu sehingga
terwujudnya penulisan ini. Penulis menyadari bahwa penulisan skripsi ini masih
jauh sekali dari sempurna, untuk itu penulis mohon kritik dan saran yang bersifat
membangun demi kesempurnaan penulisan di masa yang akan datang.
Akhir kata semoga skripsi ini dapat berguna bagi penulis khususnya dan
bagi para pembaca yang berminat pada umumnya.
Bandung, 15 Mei 2012
Penulis
ERFIAN JUNIANTO
x
ABSTRAKSI
Perancangan Website E-Commerce Poison Cloth Pada CV Hendri Jaya,
16110077 (Erfian Junianto)
Sistem penjualan tunai berupa penjualan produk dan proses pesanan barang
toko Poison Cloth pada CV. Hendri Jaya yang menjual berbagai macam produk
berupa pakaian, masih menggunakan cara manual, sehingga memakan waktu yang
cukup lama, dan data yang dihasilkan tidak bisa di akses secara real time. Untuk
meningkatkan penjualan produk maka perlu dilakukan cara lain yaitu penggunaan
website e-commerce.
Metode yang digunakan dalam perancangan website e-commerce Poison
Cloth adalah perencanaan, analisis, desain, dan implementasi. Perancangan website
Poison Cloth pada CV Hendri Jaya sangat diperlukan, mengingat perkembangan
ekonomi global yang semakin pesat. Perancangan website Poison Cloth dibuat
dengan program berbasis web sehingga bisa diakses oleh siapapun, dimanapun, dan
kapanpun. Website Poison Cloth dirancang dengan menggunakan PHP dan
database MySQL.
Penggunaan website e-commerce mampu mengubah cara penjualan.
Penjualan menjadi mudah karena sistem penjualan menjadi online. Pelanggan dapat
melihat produk dan membeli tanpa harus datang ke toko. Pengelolaan data dengan
bantuan sistem yang online, memberikan kemudahan, keakuratan, kecepatan dan
ketelitian. Contohnya pada saat pembuatan laporan.
Kata Kunci: Penjualan, Pakaian, E-Commerce, Perancangan Website.
xi
ABSTRACT
Design of Website E-Commerce Poison Cloth on CV Hendri Jaya, 16110077
(Erfian Junianto)
System of cash sale, which is product sale and goods order processing on
Poison Cloth at CV. Hendri Jaya that sells some kinds of Products which is
Clothing, still used manual way, so that it takes a long time, and the data produced
cant be accessed by real time. To increase products sales so it must be done by
another way which is the use of e-commerce website.
The method used in designing of e-commerce website on Poison Cloth is
planning, analysis, design, and implementation. The design of Poison Cloth website
on CV Hendri Jaya is needed, remembering of global Economic Development is
grown up. The design of Poison Cloth website Ade by Web-based program, so it
can be accessed by everyone, everywhere, and whenever. Poison Cloth website is
designed by using PHP and MySQL-database.
The use of e-commerce website is able to change selling way. Selling
becomes Easy because seling System is Online. Customer can see and buy the
product without they have to go to the shop. The data management by using Online
System gives simplicity, accuracy, velocity and precisely, for example on makinga
report.
Keyword : Sales, Clothing, E-commerce, Web design.
xii
DAFTAR ISI
Halaman
Lembar Judul Skripsi ......................................................................................... i
Lembar Persembahan ......................................................................................... ii
Lembar Pernyataan Keaslian Skripsi ................................................................. iii
Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah ................................... iv
Lembar Pengesahan Skripsi ............................................................................... v
Lembar Pengesahan Panitia Dan Penguji Skripsi .............................................. vi
Lembar Panduan Penggunaan Dan Hak Cipta Tugas Sarjana ........................... vii
Kata Pengantar ................................................................................................... viii
Abstraksi ............................................................................................................ x
Daftar Isi ............................................................................................................. xii
Daftar Simbol ..................................................................................................... xv
Daftar Gambar ................................................................................................. xviii
Daftar Tabel ....................................................................................................... xix
Daftar Lampiran ................................................................................................. xx
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah .................................................................. 1
1.2. Maksud dan Tujuan ......................................................................... 2
1.3. Metode Penelitian ............................................................................ 3
1.3.1. Analisa Penelitian ............................................................. 3
1.3.2. Metode Pengumpulan Data .............................................. 4
1.4. Ruang Lingkup ................................................................................ 5
1.5. Sistematika Penulisan ..................................................................... 6
BAB II LANDASAN TEORI
2.1. Teori Pendukung ............................................................................. 8
2.1.1. Konsep Dasar Pemrograman ............................................ 8
2.2. Peralatan Pendukung (Tools System) ............................................. 11
xiii
2.2.1. Dekomposisi Fungsi ......................................................... 12
2.2.2. UML ................................................................................. 12
2.2.3. ERD .................................................................................. 13
2.2.4. Spesifikasi Basis Data ...................................................... 14
BAB III ANALISA SISTEM BERJALAN
3.1. Tinjauan Perusahaan ....................................................................... 16
3.1.1. Sejarah Perusahaan ........................................................... 16
3.1.2. Struktur Organisasi dan Fungsi ........................................ 17
3.2. Prosedur Sistem Berjalan ................................................................ 18
3.3. Dekomposisi Fungsi Sistem Berjalan ............................................. 20
3.4. Activity Diagram Sistem Berjalan ................................................... 21
3.5. Spesifikasi Sistem Berjalan ............................................................. 23
3.5.1 Spesifikasi Bentuk Dokumen Masukkan .......................... 24
3.5.2 Spesifikasi Bentuk Dokumen Keluaran ............................ 24
3.6 Permasalahan .................................................................................... 26
3.7 Alternatif Permasalahan.................................................................... 27
BAB IV RANCANGAN WEB USULAN
4.1. Dekomposisi Fungsi Sistem Usulan ............................................... 28
4.2. Desain Sistem (UML) ..................................................................... 30
4.3. ERD (Entity Relationship diagram) ................................................ 35
4.4. Spesifikasi Basis Data ..................................................................... 37
4.5. Tampilan Web ................................................................................. 46
4.6. Publikasi Web ................................................................................. 52
4.7. Spesifikasi Hardware dan Software ................................................ 53
4.7.1. Spesifikasi Hardware ....................................................... 53
4.7.2. Spesifikasi Software ......................................................... 53
BAB V PENUTUP
5.1. Kesimpulan ..................................................................................... 54
5.2. Saran-saran ...................................................................................... 54
xiv
DAFTAR PUSTAKA
DAFTAR RIWAYAT HIDUP
KARTU BIMBINGAN
SURAT KETERANGAN RISET
LAMPIRAN
xv
DAFTAR SIMBOL
A. Simbol Component Diagram
Simbol Deskripsi
Package adalah simbol yang menggambarkan nama
dari sebuah paket aplikasi
Component adalah simbol yang menggambarkan
komponen utama dari suatu sistem.
Package Specification adalah simbol yang
menggambarkan suatu modul atau fasilitas tertentu
pada suatu program.
Kebergantungan adalah simbol untuk
menggambarkan ketergantungan antar komponen yang
dipakai.
B. Simbol Use Case Diagram
Simbol Deskripsi
Aktor adalah simbol yang menggambarkan pihak yang
berhubungan dengan sistem baik itu merupakan
pengguna atau sistem lainnya yang berada dari sistem
yang sedang dibahas.
Use Case adalah simbol yang menggambarkan suatu
Kegiatan (Aktifitas) yang terjadi pada sistem.
Generalisasi adalah simbol hubungan generalisasi dan
spesialisasi (umum-khusus) antara dua buah use case
dimana fungsi yang satu adalah fungsi yang lebih
umum dari yang lainnya.
xvi
<<include>> Include adalah simbol apabila use case tambahan
dijalankan maka use case yang ditambahkan akan selalu
dipanggil
C. Daftar Simbol Activity Diagram
Simbol Deskripsi
Status Awal adalah simbol yang menyatakan awal
dari aktifitas.
Status Akhir adalah simbol yang menyatakan akhir
dari aktifitas.
States adalah simbol yang menggambarkan Aktifitas
yang terjadi.
State Conditions adalah simbol yang menerangkan
kondisi proses yang sedang berlangsung.
Join adalah simbol penggabungan dimana lebih dari
satu aktivitas digabungkan menjadi satu.
atau
Swimlane adalah simbol untuk memisahkan organisasi
bisnis yang bertanggung jawab terhadap aktivitas yang
terjadi.
D. Daftar Simbol ERD
Simbol Deskripsi
Entity adalah simbol dari entitas, yaitu obyek yang
dapat dibedakan dalam dunia nyata dan yang akan
disimpan dalam tabel.
xvii
Weak Entity adalah simbol yang menggambarkan
entitas lemah dan tidak memiliki kunci utama.
Attribut adalah simbol untuk menggambarkan detail
dari entitas yang berupa field.
Attribut Primary Key adalah simbol dari field kunci
dalam field entitas.
Relationship adalah simbol hubungan yang terjadi
antas entitas.
Identifying Relationship adalah simbol hubungan
yang terjadi antas entitas yang mempunyai
dependency.
Garis, sebagai penghubung antara relasi dengan
entitas, relasi dan entitas dengan atribut.
1:M
M:1
N:M
Simbol Hubungan untuk menggambarkan hubungan
kertergantungan antar entitas, dari satu ke banyak,
banyak ke satu, dan banyak ke banyak
xviii
DAFTAR GAMBAR
Halaman
Gambar III.1 Struktur Organisasi CV. Hendri Jaya, Juni 2012 ......................... 17
Gambar III.2 Diagram Dekomposisi Sistem Berjalan ....................................... 20
Gambar III.3 Diagram Activity Pengadaan Barang ............................................ 21
Gambar III.4 Diagram Activity Penjualan Barang .............................................. 22
Gambar III.5 Diagram Activity Pembuatan Laporan........................................... 23
Gambar IV.1 Diagram Dekomposisi Sistem Usulan ......................................... 29
Gambar IV.2 Diagram Use Case Pendaftaran Member Baru ............................. 30
Gambar IV.3 Diagram Use Case Hubungi Kami .............................................. 30
Gambar IV.4 Diagram Use Case Pemesanan Barang......................................... 31
Gambar IV.5 Diagram Activity Pendaftaran Member Baru ............................... 31
Gambar IV.6 Diagram Activity Hubungi Kami ................................................. 32
Gambar IV.7 Diagram Activity Pemesanan Barang ........................................... 33
Gambar IV.8 Diagram Component .................................................................... 34
Gambar IV.9 Diagram Deployment ................................................................... 34
Gambar IV.10 Entity Relational Diagram ......................................................... 36
Gambar IV.11 Tampilan Halaman Depan ......................................................... 46
Gambar IV.12 Tampilan Halaman Pendaftaran Member .................................. 47
Gambar IV.13 Tampilan Halaman Pengelolaan Data Member ......................... 48
Gambar IV.14 Tampilan Halaman Produk ........................................................ 48
Gambar IV.15 Tampilan Halaman Produk Terbaru dan Terlaris ...................... 49
Gambar IV.16 Tampilan Halaman Pengelolaan Data Produk ........................... 49
Gambar IV.17 Tampilan Halaman Daftar Belanja ............................................ 50
Gambar IV.18 Tampilan Halaman Faktur ......................................................... 50
Gambar IV.19 Tampilan Halaman Pengelolaan Pesanan .................................. 51
Gambar IV.20 Tampilan Halaman Laporan Penjualan ...................................... 51
Gambar IV.21 Tampilan Halaman Laporan Pengeluaran Barang ..................... 52
xix
DAFTAR TABEL
Tabel IV.1 Spesifikasi File Admin ..................................................................... 37
Tabel IV.2 Spesifikasi File Barang .................................................................... 39
Tabel IV.3 Spesifikasi File Detail Faktur .......................................................... 39
Tabel IV.4 Spesifikasi File Detail Menu ............................................................ 39
Tabel IV.5 Spesifikasi File Faktur ..................................................................... 40
Tabel IV.6 Spesifikasi File Katalog ................................................................... 41
Tabel IV.7 Spesifikasi File Kategori .................................................................. 41
Tabel IV.8 Spesifikasi File Kontak .................................................................... 42
Tabel IV.9 Spesifikasi File Kota ........................................................................ 43
Tabel IV.10 Spesifikasi File Kurir ..................................................................... 43
Tabel IV.11 Spesifikasi File Menu .................................................................... 44
Tabel IV.12 Spesifikasi File Temporari Transaksi ............................................ 44
Tabel IV.13 Spesifikasi File User ...................................................................... 45
xx
DAFTAR LAMPIRAN
Lampiran A.1 Dokumen Surat Jalan .................................................................. 58
Lampiran A.2 Dokumen Catatan Barang ........................................................... 59
Lampiran B.1 Dokumen Surat Perintah Kerja (SPK) ........................................ 60
Lampiran B.2 Dokumen Kwitansi ..................................................................... 61
Lampiran B.3 Dokumen Laporan Barang .......................................................... 62
Lampiran B.4 Dokumen Laporan Penjualan ...................................................... 63
Lampiran C.1 Listing Program Carapesan.......................................................... 64
Lampiran C.2 Listing Program Cetak Faktur...................................................... 64
Lampiran C.3 Listing Program Cetak Profil . ..................................................... 67
Lampiran C.4 Listing Program Daftar Belanja .................................................. 69
Lampiran C.5 Listing Program Delete................................................................ 72
Lampiran C.6 Listing Program Download.......................................................... 72
Lampiran C.7 Listing Program Edit Akun.......................................................... 72
Lampiran C.8 Listing Program Footer ............................................................... 79
Lampiran C.9 Listing Program Formulir ........................................................... 79
Lampiran C.10 Listing Program Header ............................................................ 86
Lampiran C.11 Listing Program Home .............................................................. 86
Lampiran C.12 Listing Program Index .............................................................. 86
Lampiran C.13 Listing Program Input Faktur .................................................... 88
Lampiran C.14 Listing Program Input Keranjang .............................................. 93
Lampiran C.15 Listing Program Katalog ........................................................... 94
1
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Sejak tahun 1990-an, terjadi tren globalisasi ekonomi yang signifikan.
Kompetisi menjadi global, dengan negara-negara industri baru yang menawarkan
alternatif produk yang berbiaya rendah atau berkualitas tinggi (Whitten dkk :
2004). Dengan pengaruh dari perkembangan internet, maka banyak perusahaan
yang mengubah cara berbisnis mereka.
CV. Hendri Jaya adalah perusahaan yang bergerak dibidang konveksi. Produk
yang dihasilkan antara lain adalah pakaian. Setiap hari bisa menghasilkan ratusan
potong pakaian. Selama ini, CV. Hendri Jaya melaksanakan aktivitasnya dengan
prosedur manual. Pelanggan yang ingin menggunakan jasanya harus mendatangi
langsung kantor administarasi CV. Hendri Jaya. Pemesanan biasanya dilakukan
dalam partai besar.
Tentunya CV. Hendri Jaya sudah memiliki prosedur operasional yang sudah
terstandar. Namun pada prakteknya, pelaksanaan prosedur tersebut masih
mengalami banyak kendala. Diantaranya masih banyak barang cacat (reject) dan
terjadi kelebihan barang produksi, sehingga menjadi barang sisa produksi yang
kurang produktif.
Barang-barang tersebut pada mulanya hanya menumpuk di gudang, dan pada
akhirnya diobral murah kepada lingkungan sekitar. Kemudian manajemen CV.
Hendri Jaya membuat sebuah langkah solusi. Langkah tersebut adalah dengan
2
mendirikan sebuah toko yang bernama Poison Cloth yang khusus menjual barang-
barang tesebut. Dan kemudian untuk membantu penjualan barang tersebut, maka
CV. Hendri Jaya memproduksi barang sendiri (bukan pesanan pelanggan), seperti
kaos, topi, celana, ikat pinggang, dan juga boxer.
Lagi-lagi penjualan tersebut masih terbentur masalah promosi dan masalah
menjaring pelanggan. Poison Cloth masih menjual dan mempromosikan dengan
cara manual yaitu, door to door, pelanggan ke pelanggan, pamflet, dan juga
promosi melalui marketing mereka. Cara-cara seperti ini akan memakan banyak
waktu dan biaya, namun hasilnya kurang maksimal. Barang yang dijualpun sering
tidak memenuhi target.
Maka dari itu, perlu adannya sebuah media yang diharapkan mampu
mengatasi masalah-masalah tersebut. Melihat dari perkembangan dunia bisnis
yang telah banyak berubah, dengan memanfaatkan teknologi internet sebagai
medianya, maka CV. Hendri Jaya melalui Poison Cloth ingin menerapkan proses
bisnis tersebut. Dengan adanya pembahasan masalah tersebut, maka penulis
tertarik untuk memilih judul PERANCANGAN WEBSITE E-COMMRCE
POISON CLOTH PADA CV. HENDRI JAYA.
1.2. Maksud dan Tujuan
Maksud dari penulisan laporan ini antara lain:
1. Memberikan alternatif penyampaian informasi produk yang dihasilkan oleh
CV. Hendri Jaya, agar informasi dari produknya dapat dikonsumsi oleh
pelanggan yang lebih banyak, meliputi luar kota, nasional atau bahkan
3
internasional. Penyampaian informasi yang meluas, diharapkan mampu
meningkatkan penjualan produk yang dihasilkan CV. Hendri Jaya.
2. Memberikan kemudahan pengolahan data penjualan, dari segi pemesanan,
pengelolaan faktur, pembuatan laporan, dan monitoring penjualan dari waktu
ke waktu.
Setiap mahasiswa Fakultas Teknik Program Studi Sistem Informasi jenjang
Strata Satu (S1) Universitas BSI diwajibkan untuk menulis skripsi yang didasar
pada orientasi ilmu pengetahuan sebagai syarat untuk mengakhiri masa studinya.
Maka dari itu tujuan dari penulisan skripsi ini adalah untuk melengkapi salah satu
syarat yang telah ditentukan dalam mencapai kelulusan Program Strata Satu (S1)
pada Universitas Bina Sarana Informatika.
1.3. Metode Penelitian
Skripsi merupakan sebuah karya ilmiah dalam bidang pendidikan dan ilmu
pengetahuan, yang mana harus ditunjang dengan data yang memiliki kebenaran
dan dapat dibuktikan. Maka dari itu, dilakukan sebuah penelitian untuk
mendapatkan data-data tersebut. Diantara urutan proses penelitian adalah sebagai
berikut.
1.3.1. Analisa Penelitian
1. Planning
Penulis melakukan perencanaan awal untuk menentukan lingkup masalah,
tujuan dan jadwal penyelesaian. Dengan melakukan penelusuran fakta sebagai
data awal, penulis mengidentifikasi dan memetakan masalah yang didapat.
4
Sehingga penentuan lingkup masalah, tujuan , dan jadwal menjadi jelas dan
mudah.
2. Analisis Sistem
Lingkup masalah yang sudah ditentukan dalam perencanaan, kemudian
dipecahkan dan diuraikan menjadi bagian-bagian komponen. Sehingga mudah
untuk dipelajari seberapa baik bagian-bagian tersebut bekerja dan berinteraksi
untuk meraih tujuan.
3. Desain Sistem
Setelah dilakukan analisa terhadap sistem, proses selanjutnya adalah
melakukan desain sistem. Pada tahap ini dilakukan perangkaian kembali
bagian-bagian komponen menjadi sebuah sistem yang lengkap. Hal ini
melibatkan Penghapusan (Eliminate), Penyederhanaan (Simplify), Integrasi
(Integrated), Otomatisasi (Aotumatitation), dan dilakukan penambahan pada
sistem aslinya.
4. Implementasi Sistem
Pada akhirnya, penulis akan melakukan konstruksi, instalasi, pengirimn, dan
pengujian terhadap sistem, agar sistem yang dibuat menjadi benar-benar
seperti yang dibutuhkan sehingga tidak menjadi sampah.
1.3.2. Metode Pengumpulan Data
Menurut Zahir (2005:174) Pengumpulan data adalah prosedur yang
sistematis dan standar untuk memperoleh data yang diperlukan. Pengumpulan
5
data tidak lain merupakan suatu proses pengadaan data primer untuk keperluan
penelitian. Pengumpulan data merupakan langkah yang sangat penting dalam
metode ilmiah, maka dari itu penulis menggunakan metode pengumpulan data
sebagai berikut :
1. Wawancara
Dalam mencari data yang dibutuhkan, penulis melakukan pengumpulan data
dari narasumber dengan mengajukan beberapa pertanyaan yang berkaitan
dengan data yang dibutuhkan.
2. Observasi
Dalam mencari data yang dibutuhkan, penulis tidak hanya melakukan
wawancara, tetapi juga melakukan pengamatan langsung ke lokasi. Hal ini
dilakukan untuk melihat bagaimana sistem bekerja, sehingga penulis dapat
memetakan masalah.
3. Studi Pustaka
Untuk mendukun penelitian dan pengumpulan data, penulis membaca,
mengutip, dan mengumpulkan referensi yang berhubungan dengan penelitian.
1.4. Ruang Lingkup
Penyusunan laporan ini memiliki ruang lingkup sebagai pembatasan masalah
yang akan dibahas. Ruang lingkup pertama adalah pada desain untuk level
pengguna, maka dibuatlah menu sesuai kebutuhan yang sudah didefiniskan.
Kebutuhan pada sisi pengguna adalah beranda (sebagai halaman informasi awal),
produk, cara pemesanan, hubungi kami, katalog, daftar belanja, akun, login
6
pelanggan, logout pelanggan, dan pendaftaran pelanggan baru. Terdapat juga
fasilitas cetak faktur dan cetak kartu anggota.
Sedangkan kebutuhan pada sisi pengelola web adalah admin, katalog,
kategori, kontak, laporan, member, navigasi, pengiriman, pesanan, produk, login,
dan logout.
1.5. Sistematika Penulisan
Penulisan laporan skripsi ini memiliki sistematika penulisan sebagai standar
susunanannya. Sistematika tersebut adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini akan menguraikan latar belakang masalah, maksud dan tujuan, metode
penelitian, ruang lingkup, dan yang terakhir adalah sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini akan berisi tentang teori-teori yang mendukung pengembangan perangkat
lunak yang akan dibangun. Selain itu juga pada bab ini akan menjelaskan
mengenai peralatan pendukung yang digunakan dalam pengembangan perangkat
lunak ini.
BAB III ANALISISA SISTEM BERJALAN
Bab ini akan diuraikan tentang sejarah perusahaan, prosedur sistem berjalan,
dekomposisi fungsi sistem berjalan, diagram aktifitas sistem berjalan,
permasalahan, dan yang terakhir adalah alternatif permasalahan.
7
BAB IV RANCANG BANGUN WEB USULAN
Bab ini menjelaskan tentang rancangan web yang diusulkan meliputi,
dekomposisi fungsi sistem usulan, desain sistem dengan UML, ERD, spesifikasi
basis data, tampilan web, publikasi web, dan spesifikasi hardware dan software.
BAB V PENUTUP
Bab ini berisi kesimpulan dari keseluruhan isi laporan dan saran pengembangan
selanjutnya.
8
BAB II
LANDASAN TEORI
2.1. Teori Pendukung
2.1.1. Konsep Dasar Pemrograman
Menurut Jogiyanto (2005:22) program adalah kegiatan-kegiatan prinsip
yang telah ditentukan untuk dilaksanakan oleh organisasi dengan maksud
menerapkan strategi-strategi yang telah disusun. Program terdiri atas serangkaian
pernyataan atau urutan perintah yang harus dilaksanakan oleh komputer. Proses
pemrograman komputer bukan hanya sekedar menulis suatu urutan perintah yang
dikerjakan oleh komputer, tetapi bertujuan untuk memecahkan suatu masalah
serta membuat mudah pekerjaan yang lainnya, yang diinginkan oleh pemakai
(user).
Pemrograman Web atau dikenal dengan Web Programming merupakan
suatu bahasa pemrograman yang berbeda. Karena bahasa ini menghasilkan
interface yang berbeda dari bahasa pemrograman yang lain. Perbedaan yang lain
adalah diperlukannya server untuk menyimpan database maupun interface-nya.
Bahasa pemrograman ini dapat di akses pada saat bersamaan oleh banyak pemakai
tanpa harus ada interface pada gadget pemakai.
Perkembangan teknologi pemrograman Web berpengaruh dalam bidang
jasa dan pelayanan. Salah satu contohnya adalah penjualan elektronik (e-
commerce). Menurut Whitten (2004:21), E-Commerce adalah pembelian dan
penjualan barang dan layanan dengan menggunakan internet. E-commerce
9
merupakan tren perekonomian global. Seiring dengan semakin berkembangnya
internet dan pemrograman web, e-commerce juga ikut berkembat pesat.
E-commerce merupakan metode untuk menjual produk secara online
melalui fasilitas internet. Transaksi bisa terjadi antara pegusaha dengan pembeli
atau antar pengusaha. Untuk melakukan proses show, order, get, and deliver,
diperlukan sebuah website. E-commerce akan memangkas semua biaya
marketing dan semua biaya trading yang biasa digunakan.
Metode e-commerce ini sudah banyak membantu banyak perusahaan
maupun peroranggan untuk melakukan bisnis mereka. Metode ini juga
memberikan keleluasaan dalam penjualan, karena tidak lagi dibatasi ruang dan
waktu.
Proses yang terjadi pada e-commerce menurut Utomo (2005:13) adalah :
1. Show, penjual menunjukkan produk dan layananya di website.
2. Order, pembeli memesan produk yang ada.
3. Verifikasi data pembeli, berserta nomor rekening ataupun kartu kredit.
4. Pembayaran yang dilakukan secara online berikut penanganan trasaksinya.
5. Deliver, pengiriman produk atau layanan yang telah dipesan.
Keuntungan yang diperoleh dalam menggunakan e-commerce menurut Utomo
(2005:14) adalah :
1. Meningkatkan pendapatan perusahaan dengan memakai fasilitas internet.
2. Mengurangi biaya-biaya teknis seperti kertas, laporan dan sebagainya.
3. Mempercepat verifikasi transaksi, karena e-commerce dibuat secara real-time
dan selama 24 jam.
10
4. Dengan cepatnya verifikasi data dan pesanan pelanggan, akan lebih
mempercepat pelayanan pengiriman produk. Hal ini semakin menambah
kepuasan pelanggan (customer satisfaction).
Media utama yang digunakan untuk mendukung e-commerce adalah
Internet. Internet berasal dari kata interconnection networking yang berarti
hubungan berbagai komputer dengan berbagai tipe membentuk suatu sistem
jaringan melalui jalur telekomunikasi yang mencangkup seluruh dunia. Internet
terbentuk karena dampak revolusi tinggi, dimana teknologi komunikasi bergabung
menjadi satu dengan teknologi komputer. Internet merupakan sarana komunikasi
dan penyebaran informasi secara global, yaitu sebuah media untuk berbagi
informasi dan beriteraksi antar individu dengan menggunakan komputer tanpa
dibatasi oleh wilayah dan waktu. Kehadiran internet telah menyebabkan
munculnya sistem perdagangan elektronik (e-commerce), Virtual University, e-
mail dan sebagainya.
Internet merupakan media untuk pertukaran data, sedangkan untuk
mengolah data diperlukan sebuah aplikasi dan database. Aplikasi dibangun
dengan menggunakan bahasa pemrograman diantaranya PHP dan database-nya
adalah MySQL. PHP adalah bahasa pemrograman script yang ditempatkan dalam
server dan diproses di server Peranginangin (2006:2). PHP dirancang untuk
membentuk website dinamis. PHP juga merupakan program yang dikembangkan
secara bersama oleh programmer dari seluruh dunia yang menekuni dunia open-
source. Disini, PHP khusus dikembangkan untuk mengakses dan memanipulasi
data-data yang ada dalam database server open-source seperti MySQL. PHP
digabungkan dengan bahasa HTML (HyperText Markup Language) sebagai
11
kerangkanya, dan juga CSS (Cascading Style Sheet) sebagai pengaturan
tampilannya.
Data-data yang sudah di olah melalui aplikasi tersebut akan dikirimkan
atau disimpan di dalam database server, contohnya adalah MySQL. MySQL
adalah multi user database yang menggunakan bahasa SQL dengan kemampuan
yang cukup reliabel Syafii (2005:65). Sebagai database server yang memiliki
konsep database modern. MySQL memiliki banyak sekali keistimewaaan,
diantaranya yaitu portability, open source, multiuser, performance tuning. Dengan
dasar bahasa SQL yang sudah terstandar, menjadikan kemudahan bagi
penggunanya. Selain itu MySQL banyak digunakan dikarenakan gratis.
Menurut Sunyoto (2007:130), SQL adalah bahasa yang dikhususkan
untuk operasi database dan digunakan untuk mengakses basis data yang tergolong
relasional. SQL mulai berkembang pada tahun 1970an. SQL mulai digunakan
sebagai standar yang resmi pada tahun 1986 oleh ANSI (American National
Standard Institute) dan pada tahun 1987 oleh ISO (International Organization for
Standardization) dan disebut sebagai SQL-86. Pada perkembangannya, SQL
beberapa kali dilakukan revisi.
2.2. Peralatan Pendukung (Tools System)
Perkembangan teknologi perangkat lunak yang semakin pesat, membuat
diperlukannya bahasa yang digunakan untuk memodelkan perangkat lunak yang
akan dibuat dan perlu adanya standarisasi agar orang di berbagai negara dapat
mengerti pemodelan perangkat lunak.
12
2.2.1. Dekomposisi Fungsi
Menurut Nuryahya (2005:11), Dekomposisi Fungsi dimulai dengan
analisis pekerjaan apa saja yang ingin dilakukan, diikuti tahap desain bagaimana
pekerjaan tersebut dapat dilakukan dimana prosesnya berorientasi pada tujuan.
Perangkat yang digunakan biasanya berdasarkan pada data flow dan bahasa
prosedural.
Aktivitas suatu sistem pasti mempunyai bagian-bagian yang saling
berhubungan. Bagian-bagian tersebut harus didefinisikan terlebih dahulu agar
terdapat kejelasan dalam pembuatan sistem. Dengan menggunakan diagram
dekomposisi, penulis dapat mendefinisikan ke aktivitas yang terjadi pada suatu
sistem.
2.2.2. UML
Bahasa pemrograman berorientasi objek yang pertama dikembangkan
dikenal denga nama Simula-67 yang dikembangkan pada tahun 1967. Bahasa
pemrograman ini kuran berkembang, namun karena kemunculannya telah
memberikan sumbangan yang sangat besar pada developer pengembang bahasa
pemrograman berorientasi objek selanjutnya.
Perkembangann bahasa pemrograman berorientasi objek, membuat banyak
bermunculan metodologi pemodelan, salah satunya UML. UML (Unified
Modeling Language) merupakan bahasa visual untuk pemodelan dan komunikasi
mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung
(Rosa A. S dkk, 2011:118).
13
Pembagian diagram UML menurut Shalahuddin dkk (2011:120) sebagai
berikut:
1. Structure Diagrams
a. Class Diagram
b. Object Diagram
c. Component Diagram
d. Composite Structure Diagram
e. Package Diagram
f. Deployment Diagram
2. Behavior Diagrams
a. Use case Diagram
b. Activity Diagram
c. State Machine Diagram
3. Interaction Diagrams
a. Sequence Diagram
b. Communication Diagram
c. Timing Diagram
d. Interaction Overview Diagram
2.2.3. ERD
Pemodelan awal basis data yang paling banya digunakan adalah denga
menggunakan ERD (Entity Relationship Diagram). ERD dikembangkan
berdasarkan teori himpunan dalam bidang matematika. ERD digunakan untuk
pemodelan basis data relasional.
14
Menurut Winarko (2006:13), Entity Relationship Diagram adalah sebuah
diagram yang menggambarkan hubungan/relasi antar Entitas (Entity), dan setiap
Entity terdiri atas satu atau lebih Attribut yang mempresentasikan seluruh kondisi
(fakta) dari Dunia Nyata yang kita tinjau. Sedangkan Menurut Winarko
(2006:14) juga, Entitas (Entity) merupakan individu yang mewakili sesuatu yang
nyata dan dapat dibedakan. Dengan ER-Diagram penulis dapat
mentranformasikan keadaan dari Dunia Nyata kedalam bentuk basis data.
2.2.4. Spesifikasi Basis Data
Data tidak dapat dipisahkan dari perangkat lunak. Karena setiap perangkat
lunak pasti memiliki data untuk menjalankan tugasnya. Tidak hanya perangkat
lunak yang memiliki alur hidup, dalam membuat perencanaan basis data juga
memiliki alur hidup atau Database Life Cycle (DBLC). Fase-fase DBLC menurut
Shalahuddin dkk (2011:48) sebagai berikut:
1. Analisis Kebutuhan (requirements analys)
Hal-hal yang harus dilakukan pada tahap ini adalah:
a. Didefinisikan dengan mewawancarai produsen dan pemakai data.
b. Membuat kontrak spesifikasi basis data.
c. Entity Relationship Diagram (ERD).
2. Desain lojik basis data (logical database design)
Pada tahap ini harus dibuat rancangan lojik basis data. Biasanya pada tahap ini
dibuat Conceptual Data Model (CDM).
3. Desain fisik basis data (physical database design)
15
Pada tahap ini harus dibuat rancangan fisik basis data. Biasanya pada tahap ini
dibuat Physical Data Model (PDM).
4. Implementasi
a. Membuat Query SQL.
b. Aplikasi Ke DBMS atau file.
Menurut James Martin dalam Sutanta (2011:29), Basis Data adalah suatu
kumpulan data terhubung (interrelated data) yang disimpan secara
bersama-sama pada suatu media, tanpa mengatap satu sama lain atau tidak
perlu suatu kerangkapan data, data disimpan dengan cara-cara tertentu
sehingga mudah digunakan atau ditampilkan kembali, data dapat
digunakan oleh satu atau lebih program-program aplikasi secara optimal,
data disimpan tanpa mengalami ketergantungan dengan program yang
akan menggunakannya, data disimpan sedemikian rupa sehingga proses
penambahan, pengambilan, dan modifikasi data dapat dilakukan dengan
mudah dan terkontrol.
Dari pengertian tersebut, maka inti dari basis data adalah sebagai
pangkalan data. Dimana informasi yang didapat dari dunia nyata
ditransformasikan kedalam bentuk data yang dikumpulkan menurut fungsi dan
bagiannya.
16
BAB III
ANALISA SISTEM BERJALAN
3.1. Tinjauan Perusahaan
3.1.1. Sejarah Perusahaan
CV. Hendri Jaya adalah perusahaan yang bergerak di bidang konveksi
pakaian, didirikan di Bandung pada tanggal 20 Juli 1990 perusahaan ini berawal
dari jenis usaha industri rumahan (home industry) bidang jahit-menjahit pakaian
yang bertempat di Jalan Gegerkalong Tengah No 42 174 A, melihat kondisi
lingkungan yang ramai ditambah dan banyaknya gedung sekolah, perguruan
tinggi serta perkantoran swasta & pemerintah di lingkungan tersebut, sehingga
banyak kalangan masyarakat yang membutuhkan jasa jahit pakaian demi
memenuhi kebutuhan primer mereka, dengan melihat banyaknya permintaan
dalam hal tersebut maka perusahaan kecil ini berinisiatif untuk melebarkan
usahanya dengan merekrut karyawan.
Perjalanan usaha konveksi ini pun terus berkembang serta mengalami
peningkatan. Dengan mempertimbangkan hal tersebut, maka mulai terbentuk
sebuah perusahaan yang berbadan hukum dengan jenis persekutuan komanditer
(CV) yang pada awalnya menggunakan SIUP dan NPWP. Setelah perusahaan
terbentuk menjadi CV, perusahaan pun kini berkembang dengan pesat. Maka dari
itu, saat ini pesanan pakaian pun sudah dapat memasuki instansi seperti pada
sekolah, perkantoran swasta maupun negeri, dan pelangan perorarangan sehingga
produksi pesanan pakaian pun semakin hari semakin bertambah.
17
Keadaan yang semakin menggiurkan tersebut menjadikan semangat yang
luar biasa, sehingga saat ini CV. Hendri Jaya sudah merambah pada percetakan
dan perdagangan. Poison Cloth adalah bentuk dari keseriusan tersebut. Pada
Poison Cloth dikhususkan pada penjualan barang saja, bukan pada produksinya.
3.1.2. Struktur Organisasi dan Fungsi
Gambar III.1
Struktur Organisasi CV. Hendri Jaya, Juni 2012
1. Manager Produksi
Manager Produksi berperan dalam mengatur seluruh aspek dalam bidang
produksi, yang meliputi pengawasan terhadap kegiatan dalam aspek keuangan,
produksi desain, serta aspek pemasaran
18
2. Bidang Keuangan
Bidang Keuangan berperan dalam proses pengendalian arus kas keuangan
perusahaan serta mengelola pengurusan penggajian karyawan. Pada bagian ini
terdapat Staff Karyawan sebagai pelakunya.
3. Produksi dan Desain
Berperan dalam melaksanakan proses produksi dari mulai barang mentah
sampai barang jadi, termasuk proses desain. Pada bagian ini pelakunya adalah
staff produksi
4. Pemasaran
Pelaku bagian ini adalah staff marketing, yang bertanggung jawab terhadap
promosi produk, sehingga terjadi penjualan. Bagian pemasaran juga
melakukan pengadaan barang dan pembuatan laporan.
3.2.Prosedur Sistem Berjalan
CV. Hendri Jaya menjual barang sisa produksi dan barang reject melalui
Poison Cloth. Secara khusus Poison Cloth menjual barang-barang fashion dengan
sistem tunai. Analisa sistem berjalan yang terdapat pada Poison Cloth sebagai
berikut :
1. Pengadaan Barang
Poison Cloth khusus menjual barang-barang dari CV. Hendri Jaya. Barang
yang dijual adalah barang sisa produksi dan barang yang secara sengaja
diproduksi sendiri oleh CV. Hendri Jaya, yang nantinya dijual bersama-sama.
19
Proses awalnya, Poison Cloth dari laporan penjualan perbulan, mengecek stok
barang keseluruhan, kemudian menentukan barang mana saja yang harus
diorder dan dengan jumlah berapa. Khusus untuk barang sisa produksi, CV.
Hendri Jaya mengirimkan langsung ke Poison Cloth dan langsung diproses.
Untuk melakukan order ke CV. Hendri Jaya, dibuatlah SPK (Surat Perintah
Kerja) kepada bagian produksi sesuai barang yang diminta. Kemudian, setelah
barang jadi, barang dikirim langsung ke Poison Cloth dengan menyertakan
surat jalan. Setelah barang diterima, dilakukan pencatatan dan pemberian kode
artikel seperti yang sudah ditentukan sebelumnya. Barang yang sudah diterima
bisa dibayar langsung atau selama dua minggu setelah barang diterima. Pada
setiap akhir bulan bagian gudang membuat laporan pengeluaran barang.
2. Penjualan Barang
Sistem penjualan barang pada Poison Cloth masih menggunakan sistem
konvensional, dimana calon pembeli harus datang langsung ke toko, kemudian
melihat katalog atau melihat barangnya langsung. Setelah melihat-lihat
barang, dan merasa cocok kemudian calon pembeli memilih dan membawanya
ke bagian kasir. Kemudian kasir melayani pembayaran barang sesuai harga
yang tertera. Selanjutnya, kasir membuatkan kwitansi lunas rangkap dua.
Kwitansi yang asli diberikan ke pembeli kemudian yang copy disimpan kasir
sebagai bukti penjualan. Yang terakhir kasir melakukan pengemasan barang
dan memberikan barang dan kwitansi asli ke pembeli.
20
3. Pembuatan Laporan
Barang yang dibeli dan dicatat oleh kasir, ditambah pencocokan dengan surat
jalan, kemudian digunakan untuk membuat laporan pengeluaran barang atau
stock opname untuk mengetahui sisa barang yang masih ada. Kemudian untuk
kwitansi, akan dibuat laporan penjualan setiap bulannya, sehingga manajer
dapat melihat kondisi kas Poison Cloth.
3.3. Dekomposisi Fungsi Sistem Berjalan
Penggambaran aktivitas penjualan pada Poison Cloth dapat dilihat pada
diagram dekomposisi sistem berjalan berikut ini.
Gambar III.2
Diagram Dekomposisi Sistem Berjalan
21
3.4. Activity Diagram Sistem Berjalan
Diagram aktivitas menggambarkan aliran kerja atau aktivitas dari sebuah
sistem atau proses bisnis. Yang digambarkan adalah aktivitas sistem bukan apa
yang dilakukan aktor. Diagram aktivitas juga banyak digunakan untuk
mendefinisikan rancangan proses bisnis, dimana setiap urutan aktivitas yang
digambarkan merupakan proses bisnis sistem yang didefinisikan. Berikut adalah
diagram aktifitas pada Poison Cloth.
1. Diagram Aktivitas Pengadaan Barang
Gambar III.3
Diagram Activity Pengadaan Barang
22
2. Diagram Aktivitas Penjualan Barang
Gambar III.4
Diagram Activity Penjualan Barang
23
3. Diagram Aktivitas Pembuatan Laporan
Gambar III.5
Diagram Activity Pembuatan Laporan
3.5. Spesifikasi Sistem Berjalan
Poison Cloth dalam menjalankan tugasnya, melibatkan banyak dokumen
sebagai tanda bukti. Diantaranya adalah surat perintah kerja (SPK), surat jalan,
dan kwitansi.
24
3.5.1. Spesifikasi Bentuk Dokumen Masukkan
1. Dokumen Surat Jalan
Nama Dokumen : Surat Jalan
Fungsi : Dokumen Pengiriman Barang
Media : Kertas
Jumlah : 2 rangkap
Tujuan : Bagian Gudang
Bentuk Dokumen : Lampiran A.1
2. Dokumen Catatan Barang
Nama Dokumen : Buku Catatan Barang
Fungsi : Dokumen Pencatatan Barang Masuk
Media : Kertas
Jumlah : 1 buku
Tujuan : Bagian Gudang
Bentuk Dokumen : Lampiran A.2
3.5.2. Spesifikasi Bentuk Dokumen Keluaran
1. Dokumen Surat Perintah Kerja (SPK)
Nama Dokumen : Surat Perintah Kerja
Fungsi : Dokumen Perintah Produksi Barang
Media : Kertas
Jumlah : 1 rangkap
Tujuan : Bagiang Produksi CV. Hendri Jaya
Bentuk Dokumen : Lampiran B.1
25
2. Dokumen Kwitansi
Nama Dokumen : Kwitansi
Fungsi : Dokumen Bukti Pembayaran
Media : Kertas
Jumlah : 2 rangkap
Tujuan : Pembeli dan Kasir
Bentuk Dokumen : Lampiran B.2
3. Dokumen Laporan Barang
Nama Dokumen : Laporan Barang
Fungsi : Dokumen Laporan Pengeluaran Barang
Media : Kertas
Jumlah : 1 rangkap
Tujuan : Pemilik
Bentuk Dokumen : Lampiran B.3
4. Dokumen Laporan Penjualan
Nama Dokumen : Kwitansi
Fungsi : Dokumen Laporan Penjualan
Media : Kertas
Jumlah : 1 rangkap
Tujuan : Pemilik
Bentuk Dokumen : Lampiran B.4
26
3.6. Permasalahan
Permasalahan masih banyak terjadi pada beberapa bagian fungsi. Masalah-
masalah tersebut tentunya menjadi hambatan. Masalah yang penulis temukan pada
Poison Cloth dapat didefinisikan sebagai berikut.
1. Pengadaan Barang
a. Perhitungan Stok
Masalah yang terjadi pada bagian ini adalah pada proses perhitungan stok
yang memakan waktu lama, dan terkadang terjadi kesalahan. Sehingga
keadaan jumlah barang tidak bisa diketahui secara pasti.
b. Pencatatan Barang
Pencatatan barang yang masih manual, membutuhkan waktu yang lama,
khususnya pada saat pemberian artikel produk, sering tidak akurat pada
saat pembuatannya, serta membutuhkan waktu yang lama.
2. Penjualan Barang
Masalah pada bagian ini adalah jangkauan pemasaran yang masih sangat
sempit. Tidak banyak orang yang mengenal produk dari Poison Cloth.
Pembeli hanya dari masyarakat sekitar atau lingkup dalam kota. Sehingga
penjualan masih sangat minim. Penyebaran katalog pun belum meluas.
3. Laporan
a. Laporan Penjualan
Masalah yang terjadi pada bagian ini adalah proses pembuatan laporan
yang lama, dan manajer tidak bisa melihat laporan secara real time.
27
b. Laporan Pengeluaran Barang
Masalah yang terjadi pada bagian ini sama seperti pada pembuatan laporan
penjualan, karena prosesnya hampir bersamaan, maka proses pembuatan
laporan menjadi lama, dan manajer tidak bisa melihat laporan secara real
time.
3.7. Alternatif Permasalahan
Permasalahan yang terjadi harus segera dipecahkan, agar tidak
menghambat aktivitas penjualan. Dari hasil analisis penulis, ada beberapa solusi
yang penulis tawarkan kepada pihak Poison Cloth.
Pertama, penjualan yang masih konvensional akan diubah menjadi non
konvensional, yaitu dengan membuat sebuah sistem informasi secara online untuk
promosi pemasaran dan penjualan produk.
Kedua, jika penjualan secara online, maka pengelolaan data juga harus
mengikuti. Agar perubahan data produk, termasuk gambar, harga, stok, kode
artikel, dan detail produk, dapat dilakukan secara real time. Disediakan juga
katalog terbaru untuk promosi terhadap pelanggan.
Ketiga, jika data diolah oleh sistem, maka secara otomatis akan di
kalkulasi oleh sistem. Seperti pada saat pencatatan barang, laporan barang keluar,
dan tentunya laporan penjualan yang berkaitan dengan keuangan. Semuanya dapat
dilihat secara real time. Pada akhirnya akan sangat mengurangi penggunaan
kertas, dan mempersingkat waktu.
28
BAB IV
RANCANGAN WEB USULAN
4.1. Dekomposisi Fungsi Sistem Usulan
Penulis membuat solusi dari permasalahan perusahaan dengan membuat
website e-commerce. Proses utamanya adalah transaksi penjualan dan pengelolaan
data pesanan. Proses bisnis ini dapat terjadi jika terdapat pelanggan yang menjadi
anggota/member. Langkah awalnya, calon pelanggan yang mengunjungi website
dapat mendaftar melalui menu yang telah disediakan. Kemudian, calon pelanggan
mengisi data diri sesuai formulir yang sudah disediakan. Setelah berhasil
mendaftar, maka pelanggan harus login dahulu untuk melakukan proses
pemesanan produk. Setelah berhasil login dan memesan produk, pelanggan dapat
melihat pesanan, mengubah pesanan, menghapus pesanan, atau melanjutkan ke
proses selanjutnya melalui menu daftar belanja.
Proses terakhir adalah pembayaran, dimana total yang harus dibayarkan sesuai
yang tertera pada proses terakhir pemesanan produk. Pembayaran dapat dilakukan
melalui transfer ke nomer rekening yang sudah disediakan. Untuk keseluruhan
proses dapat dilihat pada diagram dekomposisi berikut ini.
29
Gambar IV.1
Diagram Dekomposisi Fungsi Sistem Usulan
30
4.2. Desain Sistem (UML)
Perancangan sistem perangkat lunak akan didefinisikan menurut aktivitas
masing-masing. Kemudian ditentukan aktor yang terlibat pada setiap aktifitas.
Untuk menggambarkan aktifitas apa saja yang dilakukan, maka dibuatlah desain
UML yang diawali dengan pembuatan Use Case terlebih dahulu.
1. Use Case Diagram
a. Diagram Use Case Pendaftaran Member Baru
Gambar IV.2
Diagram Use Case Pendaftaran Member Baru
b. Diagram Use Case Hubungi Kami
Gambar IV.3
Diagram Use Case Hubungi Kami
31
c. Diagram Use Case Pemesanan Barang
Gambar IV.4
Diagram Use Case Pemesanan Barang
2. Activity Diagram
a. Diagram Activity Pendaftaran Member Baru
Gambar IV.5
Diagram Activity Pendaftaran Member Baru
32
b. Diagram Activity Hubungi Kami
Gambar IV.6
Diagram Activity Hubungi Kami
33
c. Diagram Activity Pemesanan Barang
Gambar IV.7
Diagram Activity Pemesanan Barang
34
3. Component Diagram
Pemodelan untuk menggambarkan komponen perangkat lunak pada sistem,
dibuatlah diagram komponen sebagai berikut.
Gambar IV.8
Diagram Component
4. Deployment Diagram
Diagram deployment digunakan untuk menggambarkan fisik jaringan.
Diagram ini membantu dalam pengembangan selanjutnya.
Gambar IV.9
Diagram Deployment
35
4.3.ERD (Entity Relationship diagram)
Perancangan perangkat lunak atau pembuatan suatu aplikasi, pada intinya
adalah untuk mengolah data menjadi informasi. Agar data dapat diolah,
sebelumnya data harus dikumpulkan atau disimpan pada suatu tempat
penyimapan, tentunya dalam bentuk data digital. Dari hasil penelitian yang
penulis lakukan, terdapat banyak data dari beberapa entitas yang harus diolah agar
dapat menjadi informasi yang berguna.
Tabel yang dibuat adalah tabel admin yang berisi data akun administrator
sebagai pengelola website. Tabel katalog berisi data gambar katalog produk. Tabel
barang berisi data produk yang dijual, tabel ini berhubungan dengan tabel kategori
untuk memisahkan setiap barang berdasar kategorinya. Sebagai tempat
penyimpanan data transaksi pelanggan dibuatlah tabel faktur dan tabel detail
faktur, yang nantinya digunakan untuk menampilkan faktur penjualan. Namun
sebagai penyimpanan data sementara dibuatlah tabel temporari transaksi. Di
dalam faktur terdapat kota tujuan dan jasa pengiriman yang dipakai, sehingga
dibuat tabel kurir dan tabel kota.
Produk yang dikategorikan berdasar kategori masing-masing membuat
menu produk harus bisa disesuaikan, maka dibuat tabel menu dan tabel detail
menu untuk menyimpan data menu produk. Sebagai fasilitas percakapan
disediakan halaman kontak yang ditampung dalam tabel kontak. Semua kegiatan
tersebut tidak akan berjalan jika tidak ada pelanggan sebagai pembeli, maka
disediakan tabel user untuk menampung informasi data pelannggan. Untuk
melihat hubungan keterkaitan data antar tabel, dapat dilihat pada diagram ERD
berikut.
36
d
ik
ir
im
k
e
d
iis
i
o
le
h
N
N
Gambar IV.10
Entity Relational Diagram
37
4.4. Spesifikasi Basis Data
Penjelasan dari ERD yang telah dibuat, dibagi berdasarkan entitas dan
menjadi tabel-tabel dalam database atau basis data. Tabel-tabel tersebut
mempunyai spesifikasi sebagai berikut.
1. Nama Database : poisoncloth
Nama tabel : Tabel Admin
Akronim : tbladmin.myd
Fungsi tabel : Untuk menyimpan data admin
Kunci Utama : id_admin
Panjang Record : 563
Tabel IV.1 Spesifikasi File Admin
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id Admin id_admin Varchar 12 Primary Key
2. Nama Admin nama_admin Varchar 100
3.
Jenis Kelamin
Amin
jenis_kel_admin Varchar 1
4.
Tempat Lahir
Admin
tmp_lahir_admin Varchar 50
5.
Tanggal Lahir
Admin
tgl_lahir_admin Date
6. Alamat Admin alamat_admin Text
7. Email Admin email_admin Varchar 150
8.
Username
Admin
user_admin Varchar 100
38
9.
Password
Admin
pass_admin Varchar 100
10. Level Admin level_admin Varchar 15
11. Log Admin log_admin Varchar 35
2. Nama Database : poisoncloth
Nama tabel : Tabel Barang
Akronim : tblbarang.myd
Fungsi tabel : Untuk menyimpan data barang
Kunci Utama : id_barang
Panjang Record : 165
Tabel IV.2 Spesifikasi File Barang
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id Barang id_barang Varchar 12 Primary key
2. Nama Barang nama_barang Varchar 100
3. Harga barang harga_barang Double
4. Berat barang berat_barang Decimal
5. Stok barang stok_barang Varchar 1
6. Gambar barang gambar_barang Text
7. Deskripsi barang desk_barang Text
8. Log barang log_barang Varchar 35
9. Rating rating Int 5
10. Kategori Barang id_kategori Varchar 12 Foreign key
39
3. Nama Database : poisoncloth
Nama tabel : Tabel Detail Faktur
Akronim : tbldetailfaktur.myd
Fungsi tabel : Untuk menyimpan data detail faktur
Kunci Utama : -
Panjang Record : 34
Tabel IV.3 Spesifikasi File Detail Faktur
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Quantity qty int 5
2. Subtotal subtotal int 5
3. No faktur no_faktur Varchar 12 Foreign key
4. Id barang id_barang Varchar 12 Foreign key
4. Nama Database : poisoncloth
Nama tabel : Tabel Detail Menu
Akronim : tbldetailmenu.myd
Fungsi tabel : Untuk menyimpan sub menu
Kunci Utama : id_submenu
Panjang Record : 89
Tabel IV.4 Spesifikasi File Detail Menu
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id detail menu id_submenu Varchar 12 Primary key
2. Nama submenu nama_submenu Varchar 25
40
3. Kode akses kode_akses Varchar 5
4. Log submenu log_submenu Varchar 35
5. Id menu id_menu Varchar 12 Foreign key
5. Nama Database : poisoncloth
Nama tabel : Tabel Faktur
Akronim : tblfaktur.myd
Fungsi tabel : Untuk menyimpan data pemesanan barang
Kunci Utama : no_faktur
Panjang Record : 181
Tabel IV.5 Spesifikasi File Faktur
No Elemen Data Akronim Tipe Ukuran Keterangan
1. No faktur no_faktur Varchar 12 Primary key
2. Nama penerima nama_penerima Varchar 100
3. Alamat kirim alamat_kirim Text
4. Kode Pos kodepos Varchar 5
5. Total bayar total_bayar Double
6. Status pesanan status_pesanan Varchar 10
7. Tanggal pesan log_tgl Varchar 10
8. Waktu pesan log_wkt Varchar 8
9. Security key text
10. Id user id_user Varchar 12 Foreign key
11. Id kurir id_kurir Varchar 12 Foreign key
12. Id kota id_kota Varchar 12 Foreign key
41
6. Nama Database : poisoncloth
Nama tabel : Tabel Katalog
Akronim : tblkatalog.myd
Fungsi tabel : Untuk menyimpan data katalog
Kunci Utama : id_katalog
Panjang Record : 130
Tabel IV.6 Spesifikasi File Katalog
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id katalog id_katalog Varchar 12 Primary key
2. Judul katalog judul_katalog Varchar 30
3. Gambar katalog gambar_katalog Text
4. Ukuran file ukuran_file Int 11
5. Tipe file type_file Varchar 30
6. Log katalog log_katalog Varchar 35
7. Id admin id_admin varchar 12 Foreign key
7. Nama Database : poisoncloth
Nama tabel : Tabel Kategori
Akronim : tblkategori.myd
Fungsi tabel : Untuk menyimpan data kategori
Kunci Utama : id_kategori
Panjang Record : 32
42
Tabel IV.7 Spesifikasi File Kategori
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id kategori id_kategori Varchar 12 Primary key
2. Nama kategori nama_kategori Varchar 20
8. Nama Database : poisoncloth
Nama tabel : Tabel Kontak
Akronim : tblkontak.myd
Fungsi tabel : Untuk menyimpan data pesan member
Kunci Utama : id_kontak
Panjang Record : 94
Tabel IV.8 Spesifikasi File Kontak
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id kontak id_kontak Varchar 12 Primary key
2. Isi pesan pesan_kontak Text
3. Log pesan log_kontak Varchar 35
4. Balasan pesan balas_kontak Text
5. Log balasan log_balas Varchar 35
6. Id user id_user Varchar 12 Foreign key
9. Nama Database : poisoncloth
Nama tabel : Tabel Kota
Akronim : tblkota.myd
Fungsi tabel : Untuk menyimpan data kota pengiriman barang dari kurir
43
Kunci Utama : id_kota
Panjang Record : 55
Tabel IV.9 Spesifikasi File Kota
No Elemen Data akronim Tipe Ukuran Keterangan
1. Id kota id_kota Varchar 12 Primary key
2. Nama kota nama_kota Varchar 20
3. Ongkos kirim ongkos_kirim Int 11
4. Id kurir id_kurir Varchar 12 Foreign key
10. Nama Database : poisoncloth
Nama tabel : Tabel Kurir
Akronim : tblkurir.myd
Fungsi tabel : Untuk menyimpan data kurir
Kunci Utama : id_kurir
Panjang Record : 22
Tabel IV.10 Spesifikasi File Kurir
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id kurir id_kurir Varchar 12 Primary key
2. Nama kurir nama_kurir Varchar 10
11. Nama Database : poisoncloth
Nama tabel : Tabel Menu
44
Akronim : tblmenu.myd
Fungsi tabel : Untuk menyimpan data menu
Kunci Utama : id_menu
Panjang Record : 60
Tabel IV.11 Spesifikasi File Menu
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id menu id_menu Varchar 12 Primary key
2. Log menu log_menu Varchar 35
3. Status menu status_menu Varchar 1
4. Id kategori id_kategori Varchar 12 Foreign key
12. Nama Database : poisoncloth
Nama tabel : Tabel Temporari Transaksi
Akronim : tbltemptrans.myd
Fungsi tabel : Untuk menyimpan data pesanan sementara
Kunci Utama : id_temptrans
Panjang Record : 51
Tabel IV.12 Spesifikasi File Temporari Transaksi
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id temporari id_temptrans Int 11 Primary key
2. Quantity qty Int 5
3. Subtotal sub_total Double
4. Id user id_user Varchar 35 Foreign key
45
13. Nama Database : poisoncloth
Nama tabel : Tabel User
Akronim : tbluser.myd
Fungsi tabel : Untuk menyimpan data member
Kunci Utama : id_user
Panjang Record : 517
Tabel IV.13 Spesifikasi File User
No Elemen Data Akronim Tipe Ukuran Keterangan
1. Id user id_user Varchar 12 Primary key
2. Nama user nama_user Varchar 100
3. Tempat lahir tmp_lahir Varchar 50
4. Tanggal lahir tgl_lahir Date
5. Jenis kelamin jenis_kel Varchar 20
6. Email email_user Varchar 150
7. Nomor telepon nomor_telp Varchar 14
8. Alamat alamat_user Text
9. Password pass_user Varchar 100
10. Status status_user Varchar 1
11. Log daftar log_daftar Varchar 35
12. Log user log_user Varchar 35
13. Foto user foto_user Text
46
4.5.Tampilan Web
Perancangan website akan menghasilkan tampilan atau GUI, sebagai
media interaksi dengan pengguna. Dibawah ini beberapa tampilan website sesuai
dengan dekomposisi fungsi sistem usulan.
1. Tampilan Halaman Depan
Gambar IV.11
Gambar Halaman Depan
47
2. Tampilan Halaman Pendaftaran Member
Gambar IV.12
Gambar Halaman Pendaftaran Member
48
3. Tampilan Halaman Pengelolaan Data Member
Gambar IV.13
Gambar Halaman Pengelolaan Data Member
4. Tampilan Halaman Produk
Gambar IV.14
Gambar Halaman Produk
49
5. Tampilan Halaman Produk Terbaru dan Terlaris
Gambar IV.15
Gambar Halaman Produk Terbaru dan Terlaris
6. Tampilan Halaman Pengelolaan Data Produk
Gambar IV.16
Gambar Halaman Pengelolaan Data Produk
50
7. Tampilan Halaman Daftar Belanja
Gambar IV.17
Gambar Halaman Daftar belanja
8. Tampilan Halaman Faktur
Gambar IV.18
Gambar Halaman Faktur
51
9. Tampilan Halaman Pengelolaan Pesanan
Gambar IV.19
Gambar Halaman Pengelolaan Pesanan
10. Tampilan Halaman Laporan Penjualan
Gambar IV.20
Gambar Halaman Laporan Penjualan
52
11. Tampilan Halaman Laporan Pengeluaran Barang
Gambar IV.21
Gambar Halaman Laporan Pengeluaran Barang
4.6. Publikasi Web
Sebagai bentuk implementasi, penulis mempublikasikan website Poison
Cloth. Publikasi dilakukan dengan penyewaan hosting dan pembelian domain atau
alamat website. Terdapat banyak penyedia hosting maupun domain dengan harga
yang bersaing. Sebagai contoh, penyewaan hosting pada alamat
dapurhosting.com, besar biaya yang harus dibayar per tahun berkisar antara Rp.
25.000,- sampai dengan Rp. 1.000.000,- untuk server di Indonesia. Sedangkan
untuk domainnya dihargai Rp. 95.000,- per tahun untuk akhiran .com.
Pengajuan kepada pemilik belum mendapat kesepakatan, maka darii itu
untuk kebutuhan pelaksanaan sidang skripsi, penulis mempublikasikan sementara
pada penyedia hosting gratis dengan rincian sebagai berikut.
53
Alamat Hosting : orgfree.com
Alamat Domain : poisoncloth-demo.orgfree.com
4.7. Spesifikasi Hardware dan Software
Setelah dilakukan percobaan atau implementasi, penulis mendapatkan data
untuk menentukan spesifikasi hardware dan software, dimana website dapat
berjalan maksimal.
4.7.1. Spesifikasi Hardware
Dari hasil percobaan implementasi, di dapat data untuk menentukan
spesifikasi minimum hardware yang harus digunakan agar program dapat berjalan
lancar. Spesifikasi minimal hardware yang harus digunakan sebagai berikut.
Processor : 1,3 GHz
Harddisk : 80 GB
Memory : 512 MB (DDR1)
VGA : 128 MB
Keyboard : Standar QWERTY
Mouse : PS/2 atau USB 2.0
4.7.2. Spesifikasi Software
Spesifikasi hardware sangat penting, tetapi kehadiran software juga sama
pentingnya. Untuk spesifikasi software yang memadai agar website berjalan
lancar sebagai berikut.
Sistem Operasi : Windows XP SP3/ Linux yang sederajat
Browser : Mozilla Firefox V.10 keatas, Google Chroom V.10 keatas.
54
BAB V
PENUTUP
5.1. Kesimpulan
Penelitian yang telah penulis lakukan dan diuraikan pada BAB I, BAB II,
BAB III, dan BAB IV, menghasilkan beberapa kesimpulan. Kesimpulan yang
penulis dapatkan adalah :
1. Penggunaan e-commerce dan sarana internet, memungkinkan penyampaian
informasi produk yang lebih cepat, akurat, dan up to date. Sehingga mampu
menjaring pelanggan yang lebih banyak dari berbagai wilayah tanpa batasan
waktu.
2. Pengelolaan data dengan bantuan sistem berbasis web, menjadi lebih efektif
dan efisien, mampu mengurangi tingkat kesalahan, dan dapat diakses secara
real time.
5.2. Saran-saran
Penulis menyadari masih banyak kekurangan dalam pembuatan sistem ini.
Untuk pengembangan selanjutnya, penulis menyarankan beberapa hal sebagai
berikut :
1. Penerapan javascript dan jquery kedalam website agar tidak terlalu
membebani server.
2. Penerapan metode SEO (Search Engine Optimizer) terhadap website agar
dapat muncul dalam mesin percari.
3. Penambahan keamanan pada setiap bagian.
DAFTAR PUSTAKA
Jogiyanto, HM. 2005. Analisa & Disain Sistem Informasi: Pendekatan
Terstruktur Teori dan Praktek Aplikasi Bisnis. Edisi Ketiga. Yogyakarta :
Andi.
Madcoms . 2006. Macromedia Dreamweaver 8. Andi Offset: Yogyakarta.
Navathe, Shamkant B, dan Rames Elmasri. 2007. Fundamentals of Database
System. Pearson International Edition.
Nazir, Moh. 2005. Metode Penelitian. Bogor: Ghalia Indonesia.
Peranginangin. 2006. Aplikasi Web dengan PHP dan MySQL.Yogyakarta: Andi
Offset.
Shalahuddin, dan Rosa A.S. 2011. Modul Pembelajaran Rekayasa Perangkat
Lunak (Terstruktur dan Berorientasi Objek). Bandung: Modula.
Sunyoto, Andi 2007. Pemograman Database dengan Visual Basic dan Microsoft
SQL. Yogyakarta: Andi Offset.
Syafii . 2005. Panduan Membuat Aplikasi Database dengan PHP 5. Yogyakarta:
Andi Offset.
Syahputra, Andi. 2003. Apache Web Server. Yogyakarta: Penerbit Andi.
Utomo, Eko Priyo. 2005. Berbisnis di Era Internet dengan E-Commerce.
Bandung: Yrama Widya.
Whitten, Jeffery L, Lonnie D. Bentley, dan Kevin C. Dittman. 2004. Metode
desain dan analisis sistem edisi 6. Yokyakarta : Penerbit Andi
Winarko, Edi. 2006. Perancangan Database Dengan Power Designer 6.32.
Jakarta:Prestasi Pustakaraya
DAFTAR RIWAYAT HIDUP
I. Bio Data Mahasiswa
NIM : 16110077
Nama Lengkap : Erfian Junianto
Tempat, Tanggal Lahir : Wonogiri, 17 Juni 1990
Alamat lengkap : Panggil, RT 02/04 Jatipurno, Wonogiri
II. Pendidikan Formal
1. SDN 1 Jatipurno, lulus tahun 2002.
2. SMPN 1 Jatisrono, lulus tahun 2005.
3. SMAN 1 Jatisrono, lulus tahun 2008.
4. AMIK BSI Jurusan Manajemen Informatika di Bandung, lulus tahun 2011
Bandung, 15 Mei 2012
Erfian Junianto
KARTU BIMBINGAN SKRIPSI
UNIVERSITAS BINA SARANA INFORMATIKA
N I M : 16110077
Nama Lengkap : Erfian Junianto
Dosen Pembimbing : Dwiza Riana, S.Si, MM, M.Kom
Judul Skripsi : Perancangan Website E-Commerce
Poison Cloth Pada CV. Hendri Jaya
No.
Tanggal
Bimbingan
Pokok Bahasan
Paraf Dosen
Pembimbing
1. 11-05-2012 Bimbingan perdana
2. 26-05-2012 Judul
3. 01-06-2012 Revisi BAB I, II, III
4. 15-06-2012 Acc BAB I & BAB II
5. 15-06-2012 Revisi BAB III
6. 26-06-2012 Revisi Program dan BAB IV
7. 29-06-2012 Cek Program
8. 03-07-2012 Revisi BAB III & BAB IV
9. 14-06-2012 Acc Keseluruhan
Catatan untuk Dosen Pembimbing.
Bimbingan Skripsi
Dimulai pada tanggal : 11-05-2012
Diakhiri pada tanggal : 14-06-2012
Jumlah pertemuan bimbingan : 9
Disetujui oleh,
Dosen Pembimbing
Dwiza Riana, S.Si, MM, M.Kom
58
Lampiran A.1. Dokumen Surat Jalan
SURAT JALAN
NO:
Bandung, .................................................
Kepada Yth. :...........................................
..................................................................
..................................................................
No. Banyaknya Jenis Barang Keterangan
Tanda terima,
(..................................................)
asasssssssssssssssssssssssssssssss
Hormat kami,
(..................................................)
58
Lampiran A.2. Dokumen Catatan Barang
Lampiran A.2. Dokumen Catatan Barang
CATATAN BARANG
No Tanggal
No. Surat
Jalan
Kode
Barang
Rincian
Harga
Barang
Harga
Produksi
Harga
Jual
Keterangan Cek
59
Lampiran B.1. Dokumen Surat Perintah Kerja (SPK)
en Laporan Barang
SURAT PERJANJIAN PESANAN PAKAIAN
Yang bertanda tangan di bawah ini :
Nama : .........................................................
Jabatan : .........................................................
Alamat : .........................................................
Nama tersebut diatas adalah pihak ke I
Nama : .........................................................
Jabatan : .........................................................
Alamat : .........................................................
Nama tersebut selanjutnya disebut pihak ke II
Pihak ke I dan pihak ke II telah sepakat membuat perjanjian pesanan pakaian seragam dengan
jumlah .................... terdiri dari :
No Nama Pakaian Banyak Harga Jumlah Keterangan
1.
2.
3.
4.
5.
6.
7.
8.
1) Spesifikasi pekerjaan tersebut sesuai dengan contoh dan penawaran harga yang telah
disepakati bersama-sama
2) Jangka waktu pengerjaan ditentukan bersama-sama mulai dari ............................................
s/d ........................................... selama ........ hari.
3) Sistem pembayaran pihak ke I memberikan uang muka sebesar Rp. .................... dan sisa
pembayaran akan dilunasi setelah barang dikirim sesuai dengan jumlah pesanan.
4) Bilamana ada komplain bisa diperbaiki lagi oleh pihak ke II.
5) Demikian surat perjanjian ini kami buat untuk dilaksanakan dan dipatuhi secara bersama-
sama.
Bandung, ...............................................
Yang membuat perjanjian bersama-sama menandatangani
Pihak I Pihak II
(........................................) (........................................)
60
Lampiran B.2. Dokumen Kwitansi
61
Lampiran B.3. Dokumen Laporan Barang
piran A.2. Dokumen Laporan Barang
LAPORAN
No Tanggal No. Faktur Kode Barang Decriptions
Harga
Jual
Stok
Barang
Keterangan TTD
62
Lampiran B.4. Dokume Laporan Penjualan
piran A.2. Dokumen Laporan Barang
LAPORAN
No Tanggal No. Faktur Kode Barang Decriptions
Harga
Jual
Stok
Barang
Keterangan TTD
63
Lampiran C.1 Listing Program Carapesan
carapesan.php
<h1>Cara Pemesanan</h1>
<p>Untuk Melakukan pemesanan dengan fasilitas ini, dapat dilakukan dengan beberapa tahap :</p>
<ol>
<li style="font-weight:bold;"><strong>Mendaftar</strong></li>
<p align="justify">Agar dapat melakukan pemesanan, silahkan melakukan pendaftaran terlebih dahulu.
Untuk mendaftar silahkan klik <strong><a href="index.php?hal=formulir">DAFTAR</a></strong> yang
berada di bawah form login.</p>
<li style="font-weight:bold;"><strong>Login</strong></li>
<p align="justify">Setelah pendaftaran Anda berhasil, silahkan melakukan login terlebih dahulu agar
proses pemesanan barang dapat dilakukan.</p>
<li style="font-weight:bold;"><strong>Memesan Barang</strong></li>
<p align="justify">Setelah berhasil masuk (login), silahkan pilih barang yang akan Anda beli. Lihat
pada bagian kanan (Keranjang Belanja) untuk melihat berapa barang yang sudah Anda pesan.</p>
<li style="font-weight:bold;"><strong>Melakukan Pembayaran</strong></li>
<p align="justify">Pada akhir proses pemesanan, akan tertera nominal jumlah yang harus dibayar.</p>
<li style="font-weight:bold;"><strong>Mencetak Faktur</strong></li>
<p align="justify">Setelah selesai, silahkan cetak faktur sebagai bukti pemesanan barang. Kemudian,
lakukan pembayaran dengan mentransfer ke rekening yang kami sediakan, selanjutnya kirim Pesan Melalui
Kontak atau SMS ke Nomor yang kami sediakan. Kami akan melakukan pengiriman setelah administrasi
pembayaran diselesaikan. Paling lambat 7 hari setelah pembayaran lunas. <strong>Terimakasih</strong></p>
</ol>
Lampiran C.2 Listing Program Cetak Faktur
cetakfaktur.php
<?PHP ob_start();?>
<style type="text/css">
.table{border:#999 solid 1px; font-family:"Trebuchet MS", Arial, Helvetica, sans-serif; padding:0;}
.table td{vertical-align:middle;}
.center{text-align:center;}
.left{text-align:left;}
.right{text-align:right;}
.abu{background-color:#CCC;}
.bold{font-weight:bold;}
.border_left{border-left:#999 dashed 1px;}
.border_right{border-right:#999 dashed 1px;}
.border_top{border-top:#999 dashed 1px;}
.border_bottom{border-bottom:#999 dashed 1px;}
</style>
<body onLoad="javascript:print()">
<?PHP
include "config/koneksi.php";
include "function/fungsi_tanggal.php";
include "function/fungsi_pemisah_rp.php";
$noFaktur = $_GET['no_Faktur'];
$ambil_faktur = mysql_query("select
tblfaktur.*,tbluser.nama_user,tblkurir.nama_kurir,tblkota.nama_kota,tblkota.ongkos_kirim from
tblfaktur,tblkurir,tblkota,tbluser where tblkurir.id_kurir=tblfaktur.id_kurir and tblkota.id_kota=tblfaktur.id_kota
and tbluser.id_user=tblfaktur.id_user and tblfaktur.no_faktur='$noFaktur'",$koneksi);
$loop_faktur = mysql_fetch_array($ambil_faktur);
$log_tgl_faktur = substr($loop_faktur['log_faktur'],0,10);
$log_wkt_faktur = substr($loop_faktur['log_faktur'],10,9);
?>
<table border="0" width="100%" class="table center">
<tr>
<td class="bold left" style="border-bottom:#000 solid 1px;">
64
<div style="float:left; width:400px; height:140px; text-align:center; vertical-align:middle;
background:url(images/poison_logo12.png) no-repeat;"></div>
<p style="padding-top:25px;"><font size="+3">POISON CLOTH</font><br>
<font size="-1">Alamat: Jln. Gegerkalong Tengah No 42 174 A Telp: 022-02202334</font><br>
<font size="+1">FAKTUR PENJUALAN</font></p>
</td>
</tr>
<tr>
<td width="81%">
<!--kop faktur-->
<table width="100%" align="center">
<tr>
<td width="13%" class="bold">NoFaktur</td>
<td>:</td>
<td width="50%"><?=$loop_faktur['no_faktur'];?></td>
<td width="15%" class="bold">Tgl Transaksi</td>
<td>:</td>
<td width="22%"><?=tgl_indo($loop_faktur['log_tgl']);?></td>
</tr>
<tr>
<td class="bold">Nama Pemesan</td>
<td>:</td>
<td><?=$loop_faktur['nama_user'];?></td>
<td class="bold">Jam Transaksi</td>
<td>:</td>
<td><?=$loop_faktur['log_waktu'];?></td>
</tr>
<tr>
<td class="bold">Nama Penerima</td>
<td>:</td>
<td><?=$loop_faktur['nama_penerima'];?></td>
<td class="bold">Jasa Kurir</td>
<td>:</td>
<td><?=$loop_faktur['nama_kurir'];?></td>
</tr>
<tr>
<td class="bold">Kota Tujuan</td>
<td>:</td>
<td colspan="4"><?=$loop_faktur['nama_kota'];?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<!--isi faktur-->
<table border="0" width="100%" cellspacing="0">
<tr class="abu center" >
<td width="3%" class="center">No</td>
<td width="23%" class="center">Kode Barang</td>
<td width="19%" class="center">Nama Barang</td>
<td width="18%" class="center">Berat Barang</td>
<td width="19%" class="center">Harga Barang</td>
<td width="6%" class="center">Qty</td>
<td class="center" colspan="2">Subtotal</td>
</tr>
<?PHP
$no=1;
$beratTot=0;
$subTot =0;
65
$ambil_detail = mysql_query("select
tbldetailfaktur.*,tblbarang.nama_barang,tblbarang.harga_barang,tblbarang.berat_barang from
tbldetailfaktur,tblbarang where tblbarang.id_barang=tbldetailfaktur.id_barang and
no_faktur='$loop_faktur[no_faktur]'",$koneksi);
while ($loop_detail=mysql_fetch_array($ambil_detail)){
$beratTot = $beratTot + ($loop_detail['berat_barang'] * $loop_detail['qty']);
$subTot = $subTot + $loop_detail['subtotal'];
?>
<tr>
<td class="center border_bottom border_left"><?=$no;?></td>
<td class="center border_bottom border_left"><?=$loop_detail['id_barang'];?></td>
<td class="center border_bottom border_left"><?=$loop_detail['nama_barang'];?></td>
<td class="center border_bottom border_left"><?=$loop_detail['berat_barang'];?></td>
<td class="center border_bottom border_left">Rp.
<?=rupiah($loop_detail['harga_barang']);?></td>
<td class="center border_bottom border_left"><?=$loop_detail['qty'];?></td>
<td width="3%" class="center border_bottom border_left">Rp.</td>
<td width="9%" class="right border_bottom
border_right"><?=rupiah($loop_detail['subtotal']);?></td>
</tr>
<?PHP
$no++;
}
$totOngkir = $beratTot * $loop_faktur['ongkos_kirim'];
?>
</table>
</td>
</tr>
<tr>
<td>
<!--kaki faktur-->
<table border="0" width="100%" class="border_bottom border_left border_right border_top">
<tr>
<td width="7%">Alamat</td>
<td width="1%">:</td>
<td width="43%" valign="top"><?=$loop_faktur['alamat_kirim'];?></td>
<td width="22%" class="right">Total Harga</td>
<td colspan="2">:</td>
<td class="center border_left">Rp.</td>
<td width="9%" class="right"> <?=rupiah($subTot);?></td>
</tr>
<tr>
<td class="right" colspan="4">Total Berat x Ongkos Kirim</td>
<td width="1%" >:</td>
<td width="14%" class="left"><?=$beratTot;?>Kg x Rp. <?=rupiah($loop_faktur['ongkos_kirim']);?> =
</td>
<td width="3%" class="center border_left">Rp.</td>
<td class="right"> <?=rupiah($totOngkir);?></td>
</tr>
<tr>
<td class="right bold" colspan="4">Grand Total</td>
<td colspan="2">:</td>
<td class="center border_left">Rp.</td>
<td style="border-top:#000 solid 2px;"
class="right"><strong><?=rupiah($loop_faktur['total_bayar']);?></strong></td>
</tr>
</table>
<table width="100%" class="border_bottom border_left border_right border_top">
<tr>
66
<td colspan="8" class="center bold border_top border_left border_right" >Pembayaran dilakukan
selambat-lambatnya 3 hari setelah pemesanan, jika tidak maka pesanan dianggap hangus atau dibatalkan.<br
/>Faktur ini dinyatakan sah, apabila dicetak melalui login dan tercantum security key yang valid</td>
</tr>
<tr>
<td colspan="8" class="center bold border_bottom border_left
border_right"><?=$loop_faktur['securitykey'];?></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<?PHP
session_start();
$_SESSION['checkOut'] = '';
$_SESSION['noFak'] = '';
ob_end_flush();
?>
Lampiran C.3 Listing Program Cetak Profil
cetakprofil.php
<style type="text/css">
.table{border:#999 solid 2px;font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;padding:0;}
.center{text-align:center;}
.left{text-align:left;}
.right{text-align:right;}
.abu{background-color:#CCC;}
.bold{font-weight:bold;}
.border_left{border-left:#999 solid 2px;}
.border_right{border-right:#999 solid 2px;}
.border_top{border-top:#999 solid 2px;}
.border_bottom{border-bottom:#999 solid 2px;}
.font{font-family:"Courier New", Courier, monospace;font-size:12px;}
</style>
<body onLoad="javascript:print();">
<?PHP
include "config/koneksi.php";
include "function/fungsi_tanggal.php";
$idUser = $_GET['id'];
$ambil_data = mysql_query("select * from tbluser where id_user='$idUser'",$koneksi);
$loop_data = mysql_fetch_array($ambil_data);
$log_wkt_daftar = substr($loop_data['log_daftar'],10,9);
$log_tgl_daftar = substr($loop_data['log_daftar'],0,10);
?>
<table border="0" width="500" class="table" cellspacing="0" align="center">
<tr bgcolor="#CCCCCC">
<td class="center border_bottom"><img src="images/logo_kecil.png" width="32" height="32"/></td>
<td class="left border_bottom">KARTU MEMBER POISON CLOTH</td></tr>
<tr>
<td width="115" height="152" class="center border_right"><img src="<?=$loop_data['foto_user'];?>"
width="100%" height="100%"/></td>
<td valign="top">
<!-- data akun-->
<table border="0" width="100%" height="100%" class="font" cellspacing="0">
<tr>
<td width="35%" class="border_bottom">ID User</td>
<td width="2%" class="border_bottom">:</td>
<td width="63%" class="border_bottom"><?=$loop_data['nama_user'];?></td>
67
</tr>
<tr>
<td class="border_bottom">Nama</td>
<td class="border_bottom">:</td>
<td class="border_bottom"><?=$loop_data['nama_user'];?></td>
</tr>
<tr>
<td class="border_bottom">Tempat, Tgl Lahir</td>
<td class="border_bottom">:</td>
<td class="border_bottom"><?PHP echo $loop_data['tmp_lahir'] .", ".
tgl_indo($loop_data['tgl_lahir']);?></td>
</tr>
<tr>
<td class="border_bottom">Jenis Kelamin</td>
<td class="border_bottom">:</td>
<td class="border_bottom"><?=$loop_data['jenis_kel'];?></td>
</tr>
<tr>
<td class="border_bottom">No. Telp</td>
<td class="border_bottom">:</td>
<td class="border_bottom"><?=$loop_data['nomor_telp'];?></td>
</tr>
<tr>
<td valign="top" align="justify">Alamat</td>
<td valign="top">:</td>
<td><?=$loop_data['alamat_user'];?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="border_top" bgcolor="#CCCCCC" align="center">Terdaftar Sejak :
<?=tgl_indo($log_tgl_daftar);?> | <?=$log_wkt_daftar;?> </td>
</tr>
</table>
</body>
Lampiran C.4 Listing Program Daftar Belanja
daftarbelanja.php
<?php
session_start();
include "config/koneksi.php";
include "function/fungsi_pemisah_rp.php";
$hal = $_GET['hal'];
$pil_menu = $_GET['pil'];
if (empty($hal))
{echo "<meta http-equiv=\"refresh\" content=\"URL:0;index.php?hal=produk\">";
}else{
if (isset($_SESSION['pengunjung']) && isset($_SESSION['pass_user']))
{
?>
<div class="akun_wrap">
<form method="post" action="index.php?hal=inputfaktur" name="form_daftarbelanja"
onclick="document.refresh()">
<table width="100%" class="table_keranjang">
<tr>
<td width="100%" height="38" colspan="2" align="center">
<table border="0" cellpadding="4" cellspacing="0" width="100%">
<tr>
<td bgcolor="#53C7FD" class="td"></td>
68
<td bgcolor="#53C7FD" class="td"><b>Kode</b></td>
<td bgcolor="#53C7FD" class="td"><b>Nama Barang</b></td>
<td bgcolor="#53C7FD" class="td"><b>Berat</b></td>
<td bgcolor="#53C7FD" class="td"><b>Harga</b></td>
<td bgcolor="#53C7FD" class="td"><b>Jumlah</b></td>
<td bgcolor="#53C7FD" class="td"><b>Sub Total</b></td>
</tr>
<?php
$isi_keranjang = mysql_query("select
tblbarang.nama_barang,tblbarang.id_kategori,tblbarang.gambar_barang,tblbarang.harga_barang,tblbarang.berat
_barang, tblkategori.nama_kategori, tbltemptrans.* from tblbarang,tblkategori,tbltemptrans where
tblbarang.id_barang=tbltemptrans.id_barang and tblkategori.id_kategori=tblbarang.id_kategori and
tbltemptrans.id_user='$_SESSION[id_user]'");
$subTotal = 0;
$totalBerat =0;
while($k = mysql_fetch_array($isi_keranjang)){
echo "<tr>
<td class=td><img src='".$k['gambar_barang']."' width=100 height=120></td>
<td class=td>".$k['id_barang']."</td>
<td class=td>".$k['nama_barang']."</td>
<td class=td>".$k['berat_barang']." Kg</td>
<td class=td>Rp. ".rupiah($k['harga_barang'])."</td>";
echo " <td class=td><input type=text size=1 value='".$k['qty']."' id=qty".$k['id_temptrans']."
class\"text_settings\" onKeyDown=\"CekInput(this.form.this.form.qty".$k['id_temptrans'].");\"
onKeyUp=\"CekInput(this.form.qty".$k['id_temptrans'].");\">
<a href=\"javascript:update(".$k['id_temptrans'].")\">Update</a> <span
id=\"loading".$k['id_temptrans']."\"></span></td>
<td class=\"td td_right\">Rp. <span id=\"harga".$k['id_temptrans']."\">".rupiah($k['sub_total'])."</span>
&nbsp;<a href=\"delete.php?idTemp=".$k['id_temptrans']."&idBarang=".$k['id_barang']."\" title=\"Hapus
Keranjang\" name=\"hapusKeranjang\"><img src=images/delete.png border=0></a></td>
</tr>";
$subTotal = $subTotal + $k['sub_total'];
$totalBerat = $totalBerat + $k['berat_barang'];
$_SESSION['subtotal']=$subTotal;
echo"<input type=\"hidden\" name=\"total\" value=\"$subtotal\" />";
}
echo "<tr>
<td colspan=4 bgcolor='#53C7FD' align=right></td>
<td colspan=2 bgcolor='#53C7FD' align=right> <b>Sub Total</b> </td>
</td><td bgcolor='#53C7FD' align=center><b>Rp. <span
id=subtotal>".rupiah($subTotal)."</span></b></td>
</tr>";
?>
</table>
</td>
<tr>
<td><a href="index.php?hal=produk&pil=<?PHP echo $pil_menu;?>"
class="submit_kerangjang"><img src="images/2.png"/>&nbsp;Lanjutkan Berbelanja</a></td>
<td align="right"><input type="submit" name="lanjutkan" value="Selesai"
class="submit_kerangjang"/></td>
</tr>
</tr>
</table>
<font style="color:#999999;">
*) silahkan isi jumlah sesuai yang anda pesan, kemudian klik "update".<br /> *) Klik "selesai" jika anda sudah
selesai berbelanja.<br /> *) Jika Muncul "NaN" silahkan Refresh halaman atau tekan "F5".<br />*) Berat akan
diakumulasi pada saat pencetakan faktur dengan perhitungan "(berat awal x qty x ongkos kirim)"</font>
<br />
69
</form>
</div>
<?php
}else{
echo"<script language='javascript'>
alert('Maaf,silahkan login dahulu sebelum mengakses halaman ini')
document.location='index.php'
</script>";
}
}#akhir validasi
?>
<script>
<!--
var ajaxku;
var idnya;
function update(id){
idnya = id;
ajaxku = buatajax();
idinput = "qty"+id;
idloading = "loading"+id;
qty = document.getElementById(idinput).value;
var url ="updatejumlah.php";
url =url+"?id="+id;
url =url+"&jml="+qty
url =url+"&sid="+Math.random();
ajaxku.onreadystatechange=stateChanged;
ajaxku.open("GET",url,true);
ajaxku.send(null);
document.getElementById(idloading).innerHTML = "<img src=gambar/ajax-loader.gif>";
}
function buatajax(){
if (window.XMLHttpRequest){
return new XMLHttpRequest();
}
if (window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
function stateChanged(){
var data;
if (ajaxku.readyState==4){
data = ajaxku.responseText;
subtotalx = document.getElementById("subtotal").innerHTML;
sub = parseFloat(subtotalx);
idharga = "harga"+idnya;
idloading = "loading"+idnya;
harganya = document.getElementById(idharga).innerHTML;
hrg = parseFloat(harganya);
if(data.length>0){
hargabaru = parseFloat(data);
subtotalbaru = sub-hrg+hargabaru;
document.getElementById(idloading).innerHTML = "";
document.getElementById(idharga).innerHTML = data
document.getElementById("subtotal").innerHTML = subtotalbaru;
}
70
}
}
function IsJustAngka(text){
var i, sub, a;
for(i=0;i<text.length;i++){
sub = text.substring(i, (i+1)); //ambil sebuah karakter text
for(a=0;a<=9;a++){
if(sub == a) break; //Jika ternyata termasuk angka 0 sampai 9, berarti sub = angka, break!
}
//Jika a = 10, berarti break tidak pernah dijalankan dan sub bukan merupakan angka.
if(a==10) return false;
}
//Jika sampai disini, berarti semua nya adalah angka
return true;
};
function CekInput(textbox){
if(!IsJustAngka(textbox.value)){
textbox.value = textbox.value.substring(0, textbox.value.length-1);
}
};
-->
</script>
Lampiran C.5 Listing Program Delete
delete.php
<?php
include "config/koneksi.php";
$idTempTrans= $_GET['idTemp'];
$idBarang = $_GET['idBarang'];
$ambil_stok = mysql_query("select tblbarang.stok_barang, tbltemptrans.qty from tblbarang, tbltemptrans
where tblbarang.id_barang=tbltemptrans.id_barang and tbltemptrans.id_temptrans=$idTempTrans",$koneksi);
$loop_data = mysql_fetch_array($ambil_stok);
#$stok = $loop_data['stok_barang'];
#$stokbaru = $stok + $jml;#mengembalikan stok
#$ubahstok = mysql_query("UPDATE tblbarang SET stok_barang=$stokbaru WHERE
id_barang='$idBarang'",$koneksi);
#if($ubahstok)
#{
$del = mysql_query("delete from tbltemptrans where id_temptrans=$idTempTrans",$koneksi);
if($del){
echo "<meta http-equiv=\"refresh\" content=\"URL:0;index.php?hal=daftarbelanja\">";
}else{
echo "Maaf, tampaknya terjadi kesalahan, silahkan ulangi kembali.";
}
#}
?>
Lampiran C.6 Listing Program Download
download.php
<?php
include "config/koneksi.php";
$ambil_katalog = mysql_query("select * from tblkatalog where id_katalog = '$_GET[idKatalog]'",$koneksi);
$data = mysql_fetch_array($ambil_katalog);
header("Content-Disposition: attachment; filename=".$data['gambar_katalog']);
header("Content-length: ".$data['ukuran_file']);
71
header("Content-type: ".$data['type_file']);
$fp = fopen($data['gambar_katalog'], 'r');
$content = fread($fp, filesize($data['gambar_katalog']));
fclose($fp);
echo $content;
exit;
?>
Lampiran C.7 Listing Program Edit Akun
editakun.php
<?PHP
include "config/koneksi.php";
include "function/fungsi_tanggal.php";
$hal = $_GET['hal'];
$kode = $_GET['kode'];
# validasi
if (empty($hal))
{
echo "<meta http-equiv=\"refresh\" content=\"URL:0;index.php?hal=editakun\">";
}else{
if($_SESSION['pengunjung'] == ""){
echo"<script language=\"javascript\">
alert(\"Maaf, Anda tidak berhak mengakses halaman ini.\");
</script>";
echo "<meta http-equiv=\"refresh\" content=\"URL:0;index.php\">";
}else{
if($_POST['ubahAkun']){
#ambil data foto
$ambil_foto = mysql_query("select foto_user from tbluser where id_user =
'$_SESSION[id_user]'",$koneksi);
$loop_foto = mysql_fetch_array($ambil_foto);
#memulai ubah data
$namaUser = stripslashes(strip_tags(ucwords($_POST['nama_user'])));
$tmpLahir = stripslashes(strip_tags(ucwords($_POST['tmp_lahir'])));
$tglLahir = stripslashes(strip_tags(ucwords($_POST['tgl_lahir'])));
$jenisKel = stripslashes(strip_tags($_POST['jeniskelamin']));
$emailUser = trim(htmlspecialchars($_POST['email_user']));
$nomorTelp = trim(htmlspecialchars($_POST['nomor_telp']));
$alamatUser = stripslashes(strip_tags($_POST['alamat_user']));
$passWord = base64_encode(addslashes($_POST['password2']));
$user_answer= $_POST['user_answer'];
$answer = $_POST['answer'];
if(substr(md5($user_answer),5,10) != $answer){
echo '<p style="color: red;">Jawaban Anda salah, silahkan ulangi.</p>';
}else{
#memulai upload gambar
$fileName = $_FILES['foto_user']['name']; #mengambil nama file
$fileSize = $_FILES['foto_user']['size']; #memeriksa ukuran
$fileError = $_FILES['foto_user']['error']; #menampilkan error saat upload
if($fileSize > 0 || $fileError == 0){ #mengecek file yang corrupt atau error
$move = move_uploaded_file($_FILES['foto_user']['tmp_name'],
'D:/AppServ/www/PoisonCloth/images/user/'.$fileName); #memindahkan gambar
if($move){
#mengubah data
$tgl_masuk = date("Y-m-d H:i:s",time());
72
$ip = $_SERVER['REMOTE_ADDR'];
$log = $tgl_masuk. " " .$ip;
#hapus foto lama
error_reporting(0);
if ($loop_foto['foto_user'] != ''){
unlink($loop_foto['foto_user']) or die ("file bermasalah");
}
$ubah_data=mysql_query("update tbluser set nama_user='$namaUser',
tmp_lahir='$tmpLahir',tgl_lahir='$tglLahir',jenis_kel='$jeniKkel',nomor_telp='$nomorTelp',alamat_user='$alam
atUser',pass_user='$passWord',log_user='$log',foto_user='images/user/$fileName' where
id_user='$_SESSION[id_user]' ",$koneksi);
if($ubah_data){
?>
<script language="javascript">
alert("Terima Kasih, data Anda telah berhasil diubah.")
</script>
<?PHP
}else{
?>
<script language="javascript">
alert("Mohon Maaf, sepertinya ada kesalahan, silahkan ulangi beberapa saat lagi.")
</script>
<?PHP
}
}else{
# gagal mengunggah
?>
<script language="javascript">
alert("Gagal Mengunggah gambar");
</script>
<?
}
}else{#jika user tidak mengubah foto
#mengubah data
$tgl_masuk = date("Y-m-d H:i:s",time());
$ip = $_SERVER['REMOTE_ADDR'];
$log = $tgl_masuk. " " .$ip;
$ubah_data=mysql_query("update tbluser set nama_user='$namaUser',
tmp_lahir='$tmpLahir',tgl_lahir='$tglLahir',
jenis_kel='$jenisKel',nomor_telp='$nomorTelp',alamat_user='$alamatUser',pass_user='$passWord',log_user='$l
og' where id_user='$_SESSION[id_user]' ",$koneksi);
if($ubah_data){
?>
<script language="javascript">
alert("Terima Kasih, data Anda telah berhasil diubah.")
</script>
<?PHP
}else{
?>
<script language="javascript">
alert("Mohon Maaf, sepertinya ada kesalahan, silahkan ulangi beberapa saat lagi.")
</script>
<?PHP
}
}
}#akhir upload gambar
}#akhir ubah data
//}#akhir ubah
$ambil_data = mysql_query("select * from tbluser where id_user='$_SESSION[id_user]'",$koneksi);
$loop_data = mysql_fetch_array($ambil_data);
73
$log_wkt_daftar = substr($loop_data['log_daftar'],10,9);
$log_tgl_daftar = substr($loop_data['log_daftar'],0,10);
$log_wkt = substr($loop_data['log_user'],10,9);
$log_tgl = substr($loop_data['log_user'],0,10);
$log_ip = substr($loop_data['log_user'],20,15);
?>
<div class="akun_wrap">
<?php
if($loop_data['foto_user'] != ''){
?>
<img style="margin: 0px 0 10px 0px; float: left;padding: 10px; border: 1px solid #ddd; width:130px;
height:160px;" src="<?=$loop_data['foto_user'];?>"/>
<?php
}else{
?>
<img style="margin: 0px 0 10px 0px; float: left;padding: 10px; border: 1px solid #ddd; width:130px;
height:160px;" src="images/user/missing.jpg"/>
<?php
}
?>
<p style="margin-left:180px; text-align:justify; font-size:120%;width:auto;">Selamat Datang
<b><?=$loop_data['nama_user'];?></b>, ini merupakan bentuk layanan kami. Jika Anda ingin mengedit Profil
Anda, silahkan klik "tombol edit". Jika ada saran atau kritik, silahkan sampaikan melalui tab Hubungi Kami.
Semoga Anda puas dengan layanan kami. Terima Kasih</p>
<table border="0" class="akun_info">
<tr>
<th width="25%" valign="top">Nama</th>
<th valign="top">:</th>
<td valign="top"> <?=$loop_data['nama_user'];?></td>
</tr>
<tr>
<th width="25%" valign="top">TTL</th>
<th valign="top">:</th>
<td valign="top"> <?PHP echo $loop_data['tmp_lahir'] .", ". tgl_indo($loop_data['tgl_lahir']);?></td>
</tr>
<tr>
<th valign="top">Jenis Kelamin</th>
<th valign="top">:</th>
<td valign="top"><?=$loop_data['jenis_kel'];?></td>
</tr>
<tr>
<th valign="top">E-Mail</th>
<th valign="top">:</th>
<td valign="top"><?=$loop_data['email_user'];?></td>
</tr>
<tr>
<th valign="top">Nomor Telp</th>
<th valign="top">:</th>
<td valign="top"><?=$loop_data['nomor_telp'];?></td>
</tr>
<tr>
<th valign="top">Alamat</th>
<th valign="top">:</th>
<td valign="top"><?=$loop_data['alamat_user'];?></td>
</tr>
<tr>
<th valign="top">Masuk Terakhir Pada</th>
<th valign="top">:</th>
<td valign="top"><?=tgl_indo($log_tgl);?> | <?=$log_wkt;?> | <?=$log_ip;?></td>
74
</tr>
<tr>
<th valign="top">Member Sejak</th>
<th valign="top">:</th>
<td valign="top"><?=tgl_indo($log_tgl_daftar);?> | <?=$log_wkt_daftar;?></td>
</tr>
</table>
<form name="formEditProfil" id="contact" action="" method="post">
<div class="form_settings" align="right">
<input type="hidden" name="idUser2" value="<?=$loop_data['id_user'];?>" />
<input type="submit" class="submit" name="cetak_profil" value="Cetak"
onClick="window.open('cetakprofil.php?id=<?=$loop_data['id_user'];?>')">
<input type="submit" class="submit" name="edit_profil" value="Edit">
</div>
</form>
</div>
<?PHP
if(isset($_POST['edit_profil'])){
$number_1 = rand(1, 9);
$number_2 = rand(1, 9);
$answer = substr(md5($number_1+$number_2),5,10);
?>
<form method="post" action="" name="formUpdateProfil" onSubmit="return validasi(this)"
enctype="multipart/form-data">
<input type="hidden" name="answer" value="<?=$answer;?>">
<div class="form_settings" style="margin-left:15px;">
<p><span>Nama </span><input type="text" name="nama_user" size="20"
value="<?=$loop_data['nama_user'];?>" onKeyPress="return hurufonly(event, false)" maxlength="100"/></p>
<p><span>Tempat Lahir </span><input type="text" name="tmp_lahir" size="20"
value="<?=$loop_data['tmp_lahir'];?>" onKeyPress="return hurufonly(event, false)" maxlength="30"/></p>
<p><span>Tgl Lahir </span><input type="text" name="tgl_lahir" size="20"
value="<?=$loop_data['tgl_lahir'];?>" readonly="readonly"/>
<a href="javascript:void(0)"
onClick="if(self.gfPop)gfPop.fPopCalendar(document.formUpdateProfil.tgl_lahir);return false;" ><img
name="popcal" align="absmiddle" align="left" src="config/calender/calender.jpeg" width="34" height="22"
border="0" alt=""></a></p>
<p><span>&nbsp;</span><font class="comment">Silahkan klik icon kalender disebelah kanan
teks.</font></p>
<p><span>Jenis Kelamin </span>
<?PHP
if($loop_data['jenis_kel']== 'Perempuan'){
?>
<input type="radio" name="jeniskelamin" value="Laki-laki"/>&nbsp;Laki-laki&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="jeniskelamin" value="Perempuan" checked="checked"/>&nbsp;Perempuan
<?PHP
}else
if($loop_data['jenis_kel']== 'Laki-laki'){
?>
<input type="radio" name="jeniskelamin" value="Laki-laki" checked="checked"/>&nbsp;Laki-
laki&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="jeniskelamin" value="Perempuan" />&nbsp;Perempuan
<?PHP
}else
if($loop_data['jenis_kel']== ''){
?>
<input type="radio" name="jeniskelamin" value="Laki-laki" />&nbsp;Laki-laki&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="jeniskelamin" value="Perempuan" />&nbsp;Perempuan
<?PHP
75
}
?>
</p>
<p><span>E-mail </span><input type="text" name="email_user"size="30"
value="<?=$loop_data['email_user'];?>" readonly/></p>
<p><span>&nbsp; </span><i>Demi keamanan, e-mail tidak bisa diubah.</i></p>
<p><span>No Telepon/HP </span><input type="text" name="nomor_telp" size="20"
value="<?=$loop_data['nomor_telp'];?>" onKeyDown="CekInput(this.form.nomor_telp);"
onKeyUp="CekInput(this.form.nomor_telp);" maxlength="14"/></p>
<p><span>Alamat </span><textarea cols="25" rows="3" name="alamat_user"
><?=$loop_data['alamat_user'];?></textarea></p>
<p><span>Password </span><input type="password" name="password1"
value="<?=base64_decode($loop_data['pass_user']);?>"/></p>
<p><span>Ulangi Password</span><input type="password" name="password2"
value="<?=base64_decode($loop_data['pass_user']);?>"/></p>
<p><span><?php echo $number_1; ?> + <?php echo $number_2; ?> = ?</span><input type="text"
name="user_answer" onKeyDown="CekInput(this.form.user_answer);"
onKeyUp="CekInput(this.form.user_answer);" maxlength="2"/><input type="hidden" name="answer"
value="<?php echo $answer; ?>" /></p>
<p><span>Foto </span><input type="file" name="foto_user" size="35"/></p>
<p style="padding-top: 15px"><span>&nbsp;</span><input class="submit" type="submit" name="ubahAkun"
value="Ubah" /><input class="submit" type="reset" value="Batal" onClick="javascript:history.go(-1);"/></p>
</div>
</form>
<?PHP
}#akhir isset edit
}#akhir validasi login
}#akhir validasi hal
mysql_close();
?>
<script language="javascript">
function validasi(form){
if (form.nama_user.value == ""){
alert("Kolom Nama belum diisi.");
form.nama_user.focus();
return (false);
}
if (form.tmp_lahir.value == ""){
alert("Kolom tempat lahir belum diisi.");
form.tmp_lahir.focus();
return (false);
}
if (form.tgl_lahir.value == ""){
alert("Kolom tanggal belum diisi.");
form.tgl_lahir.focus();
return (false);
}
if((form.jeniskelamin[0].checked==false) && (form.jeniskelamin[1].checked==false)){
alert("Jenis kelamin belum dipilih.");
return (false);
}
if (form.email_user.value == ""){
alert("Kolom E-mail belum diisi.");
form.email_user.focus();
return (false);
}
if (form.nomor_telp.value == ""){
76
alert("Kolom Nomor Telp belum diisi.");
form.nomor_telp.focus();
return (false);
}
if (form.alamat_user.value == ""){
alert("Kolom Alamat belum diisi.");
form.alamat_user.focus();
return (false);
}
if (form.password1.value == ""){
alert("Kolom Password belum diisi.");
form.password1.focus();
return (false);
}
if (form.password2.value == ""){
alert("Kolom Komfirmasi Password belum diisi.");
form.password2.focus();
return (false);
}
if (form.password1.value != form.password2.value){
alert("Password anda tidak sama silahkan ulangi.");
form.password2.focus();
return (false);
}
if (form.user_answer.value == ""){
alert("Kolom Jawaban belum diisi.");
form.user_answer.focus();
return (false);
}
return (true);
};
function IsJustAngka(text){
var i, sub, a;
for(i=0;i<text.length;i++){
sub = text.substring(i, (i+1)); //ambil sebuah karakter text
for(a=0;a<=9;a++){
if(sub == a) break; //Jika ternyata termasuk angka 0 sampai 9, berarti sub = angka, break!
}
if(a==10) return false;
}
//Jika sampai disini, berarti semua nya adalah angka
return true;
};
function CekInput(textbox){
if(!IsJustAngka(textbox.value)){
textbox.value = textbox.value.substring(0, textbox.value.length-1);
}
};
function hurufonly(e, decimal) {
var key;
var keychar;
if (window.event) {
key = window.event.keyCode;
}
else if (e) {
key = e.which;
77
}
else {
return true;
}
keychar = String.fromCharCode(key);
if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) || (key==32) ) {
return true;
}
else if ((("qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM").indexOf(keychar) > -1)) {
return true;
}
else if (decimal && (keychar == ".")) {
return true;
}
else
return false;
};
</script>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body
tag. -->
<iframe width=174 height=189 name="gToday:normal:config/calender/agenda.js"
id="gToday:normal:config/calender/agenda.js" src="config/calender/ipopeng.htm" scrolling="no"
frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-1000px; left:-100px;">
</iframe>
Lampiran C.8 Listing Program Footer
footer.php
<footer>
<p><a href="index.php">Beranda</a>|<a href="index.php?hal=produk&pil=pts">Produk</a>|<a
href="index.php?hal=carapesan">Cara Pemesanan</a>|<a href="index.php?hal=kontak">Hubungi
Kami</a>|<a href="index.php?hal=katalog">Katalog</a></p>
<p>Poison Cloth Copyright &copy; 2012 By Erfian Junianto</p>
</footer>
Lampiran C.9 Listing ProgramFormulir
formulir.php
<?php
$hal=$_GET['hal'];
include "config/koneksi.php";
# validasi
if (empty($hal))
{
echo "<meta http-equiv=\"refresh\" content=\"URL:0;index.php?hal=formulir\">";
}else{
$namaUser = stripslashes(strip_tags(ucwords($_POST['nama_user'])));
$tmpLahir = stripslashes(strip_tags(ucwords($_POST['tmp_lahir'])));
$tglLahir = stripslashes(strip_tags($_POST['tgl_lahir']));
$jenisKel = stripslashes(strip_tags($_POST['jeniskelamin']));
$emailUser = trim(htmlspecialchars($_POST['email_user']));
$nomorTelp = trim(htmlspecialchars($_POST['nomor_telp']));
$alamatUser = stripslashes(strip_tags($_POST['alamat_user']));
$passWord = base64_encode(addslashes($_POST['password2']));
$user_answer= $_POST['user_answer'];
$answer = $_POST['answer'];
function email_is_valid($email) {
return preg_match('/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i',$email);
}
78
if (isset($_POST['daftar'])) {
if (!email_is_valid($emailUser)) {
echo '<p style="color: red;">E-mail Anda tidak valid, silahkan ulangi.</p>';
}else
if(substr(md5($user_answer),5,10) != $answer){
echo '<p style="color: red;">Jawaban Anda salah, silahkan ulangi.</p>';
}else{
#cek ketersediaan email
$cek_email = mysql_query("select * from tbluser where email_user='$emailUser'",$koneksi);
$ver_email = mysql_fetch_array($cek_email);
if ($ver_email){
#echo "<p style=\"color: red;\">Maaf, E-mail telah terpakai, silahkan coba dengan E-mail
Anda yang lain. Mohon isi dengan data yang benar.</p>";
?>
<script language="javascript">
alert("Maaf, E-mail telah terpakai, silahkan coba dengan E-mail Anda yang
lain. Mohon isi dengan data yang benar.")
</script>
<?PHP
}else{
#memulai upload gambar
$fileName = $_FILES['foto_user']['name']; #mengambil nama file
$fileSize = $_FILES['foto_user']['size']; #memeriksa ukuran
$fileError = $_FILES['foto_user']['error']; #menampilkan error saat upload
if($fileSize > 0 || $fileError == 0){ #mengecek file yang corrupt atau error
$move = move_uploaded_file($_FILES['foto_user']['tmp_name'],
'D:/AppServ/www/PoisonCloth/images/user/'.$fileName); #memindahkan gambar
if($move){
# membuat auto number untuk idUser
$tgl = date("ym",time());
$tgl_masuk = date("Y-m-d H:i:s",time());
$ip = $_SERVER['REMOTE_ADDR'];
$log = $tgl_masuk. " " .$ip;
$ambil_data =mysql_query("select * from tbluser order by id_user desc",$koneksi);
$urutan=mysql_fetch_row($ambil_data);
if($urutan[0] == ""){
$idUser="USR.".$tgl.".001";
}else
if($urutan[0] <> ""){
$data_akhir=mysql_query("select * from tbluser order by id_user desc limit 0,1",$koneksi);
$urutan2=mysql_fetch_row($data_akhir);
if(substr($urutan2[0],0,8) <> "USR.".$tgl){
$idUser="USR.".$tgl.".001";
}else{
$Counter=substr($urutan2[0],9,3)+1;
if($Counter < 10){
$idUser="USR.".$tgl. ".00" .$Counter;
}else
if($Counter < 100){
$idUser="USR.".$tgl. ".0" .$Counter;
}else
if($Counter < 1000){
$idUser="USR.".$tgl. "." .$Counter;
}
}
}
# menginput ke dalam database
$input_data=mysql_query("INSERT INTO tbluser values
('$idUser','$namaUser','$tmpLahir','$tglLahir','$jenisKel','$emailUser','$nomorTelp','$alamatUser','$passWord','1
','$log','$log','images/user/$fileName') ",$koneksi);
79
if($input_data){
$namaUser = "";
$tmpLahir = "";
$tglLahir = "";
$emailUser = "";
$nomorTelp = "";
$alamatUser = "";
$passWord = "";
#echo "<p style=\"color: red;\">Terima Kasih telah bergabung, silahkan login untuk
berbelanja.</p>";
?>
<script language="javascript">
alert("Terima Kasih telah bergabung, silahkan login untuk berbelanja.")
</script>
<?PHP
}else{
#echo '<p style="color: red;">Mohon Maaf, sepertinya ada kesalahan, silahkan
ulangi beberapa saat lagi.</p>';
?>
<script language="javascript">
alert("Mohon Maaf, sepertinya ada kesalahan, silahkan ulangi beberapa saat
lagi.")
</script>
<?PHP
}
}else{
?>
<script language="javascript">
alert("Gagal Mengunggah gambar");
</script>
<?php
}#akhir move
}else{#jika user tidak mengunggah gambar
# membuat auto number untuk idUser
$tgl = date("ym",time());
$tgl_masuk = date("Y-m-d H:i:s",time());
$ip = $_SERVER['REMOTE_ADDR'];
$log = $tgl_masuk. " " .$ip;
$ambil_data =mysql_query("select * from tbluser order by id_user desc",$koneksi);
$urutan=mysql_fetch_row($ambil_data);
if($urutan[0] == ""){
$idUser="USR.".$tgl.".001";
}else
if($urutan[0] <> ""){
$data_akhir=mysql_query("select * from tbluser order by id_user desc limit 0,1",$koneksi);
$urutan2=mysql_fetch_row($data_akhir);
if(substr($urutan2[0],0,8) <> "USR.".$tgl){
$idUser="USR.".$tgl.".001";
}else{
$Counter=substr($urutan2[0],9,3)+1;
if($Counter < 10){
$idUser="USR.".$tgl. ".00" .$Counter;
}else
if($Counter < 100){
$idUser="USR.".$tgl. ".0" .$Counter;
}else
80
if($Counter < 1000){
$idUser="USR.".$tgl. "." .$Counter;
}
}
}
# menginput ke dalam database
$input_data=mysql_query("INSERT INTO tbluser values
('$idUser','$namaUser','$tmpLahir','$tglLahir','$jenisKel','$emailUser','$nomorTelp','$alamatUser','$passWord','1
','$log','$log','') ",$koneksi);
if($input_data){
$namaUser = "";
$tmpLahir = "";
$tglLahir = "";
$jenisKel = "";
$emailUser = "";
$nomorTelp = "";
$alamatUser = "";
$passWord = "";
#echo "<p style=\"color: red;\">Terima Kasih telah bergabung, silahkan login untuk
berbelanja.</p>";
?>
<script language="javascript">
alert("Terima Kasih telah bergabung, silahkan login untuk berbelanja.")
</script>
<?PHP
}else{
#echo '<p style="color: red;">Mohon Maaf, sepertinya ada kesalahan, silahkan
ulangi beberapa saat lagi.</p>';
?>
<script language="javascript">
alert("Mohon Maaf, sepertinya ada kesalahan, silahkan ulangi beberapa saat
lagi.")
</script>
<?PHP
}
}#akhir upload gambar
}#akhir cek email
}#akhir validasi form
}
$number_1 = rand(1, 9);
$number_2 = rand(1, 9);
$answer = substr(md5($number_1+$number_2),5,10);
?>
<body onLoad="document.formulir.nama_user.focus()">
<h1>Pendaftaran Member Baru</h1>
<div class="form_settings">
<form method="post" action="" name="formulir" onSubmit="return validasi (this)" enctype="multipart/form-
data">
<input type="hidden" name="answer" value="<?=$answer;?>">
<p><span>Nama </span><input type="text" name="nama_user" size="20"
value="<?=$namaUser;?>" onKeyPress="return hurufonly(event, false)" maxlength="100"/></p>
<p><span>Tempat Lahir </span><input type="text" name="tmp_lahir" size="20" value="<?=$tmpLahir;?>"
onKeyPress="return hurufonly(event, false)" maxlength="30"/></p>
<p><span>Tgl Lahir </span><input type="text" name="tgl_lahir" size="20"
value="<?=$tglLahir;?>" readonly/>
81
<a href="javascript:void(0)" onClick="if(self.gfPop)gfPop.fPopCalendar(document.formulir.tgl_lahir);return
false;" ><img name="popcal" align="absmiddle"src="config/calender/calender.jpeg" width="34" height="22"
border="0" alt=""></a></p>
<p><span>&nbsp;</span><font class="comment">Silahkan klik icon kalender disebelah kanan
teks.</font></p>
<p><span>Jenis Kelamin </span><input type="radio" name="jeniskelamin" value="Laki-laki"/>&nbsp;Laki-
laki&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="jeniskelamin" value="Perempuan"
/>&nbsp;Perempuan</p>
<p><span>E-mail </span><input type="text" name="email_user"size="30"
value="<?=$emailUser;?>"/></p>
<p><span>No Telepon/HP </span><input type="text" name="nomor_telp" size="20"
value="<?=$nomorTelp;?>" onKeyDown="CekInput(this.form.nomor_telp);"
onKeyUp="CekInput(this.form.nomor_telp);" maxlength="14"/></p>
<p><span>Alamat </span><textarea cols="25" rows="3" name="alamat_user"
><?=$alamatUser;?></textarea></p>
<p><span>Password </span><input type="password" name="password1" /></p>
<p><span>Ulangi Password</span><input type="password" name="password2" /></p>
<p><span><?php echo $number_1; ?> + <?php echo $number_2; ?> = ?</span><input type="text"
name="user_answer" maxlength="2" onKeyDown="CekInput(this.form.user_answer);"
onKeyUp="CekInput(this.form.user_answer);"/><input type="hidden" name="answer" value="<?php echo
$answer; ?>" /></p>
<p><span>Foto </span><input type="file" name="foto_user" size="35"/></p>
<p style="padding-top: 15px"><span>&nbsp;</span><input class="submit" type="submit" name="daftar"
value="Daftar" /><input class="submit" type="reset" value="Batal" /></p>
</form>
</div>
</body>
<script language="javascript">
function validasi(form){
if (form.nama_user.value == ""){
alert("Kolom Nama belum diisi.");
form.nama_user.focus();
return (false);
}
if (form.tmp_lahir.value == ""){
alert("Kolom tempat lahir belum diisi.");
form.tmp_lahir.focus();
return (false);
}
if (form.tgl_lahir.value == ""){
alert("Kolom tanggal belum diisi.");
form.tgl_lahir.focus();
return (false);
}
if((form.jeniskelamin[0].checked==false) && (form.jeniskelamin[1].checked==false)){
alert("Jenis kelamin belum dipilih.");
return (false);
}
if (form.email_user.value == ""){
alert("Kolom E-mail belum diisi.");
form.email_user.focus();
return (false);
}
if (form.nomor_telp.value == ""){
alert("Kolom Nomor Telp belum diisi.");
form.nomor_telp.focus();
return (false);
}
if (form.alamat_user.value == ""){
alert("Kolom Alamat belum diisi.");
82
form.alamat_user.focus();
return (false);
}
if (form.password1.value == ""){
alert("Kolom Password belum diisi.");
form.password1.focus();
return (false);
}
if (form.password2.value == ""){
alert("Kolom Komfirmasi Password belum diisi.");
form.password2.focus();
return (false);
}
if (form.password1.value != form.password2.value){
alert("Password anda tidak sama silahkan ulangi.");
form.password2.focus();
return (false);
}
if (form.user_answer.value == ""){
alert("Kolom Jawaban belum diisi.");
form.user_answer.focus();
return (false);
}
return (true);
};
function IsJustAngka(text){
var i, sub, a;
for(i=0;i<text.length;i++){
sub = text.substring(i, (i+1)); //ambil sebuah karakter text
for(a=0;a<=9;a++){
if(sub == a) break; //Jika ternyata termasuk angka 0 sampai 9, berarti sub = angka, break!
}
//Jika a = 10, berarti break tidak pernah dijalankan dan sub bukan merupakan angka.
if(a==10) return false;
}
//Jika sampai disini, berarti semua nya adalah angka
return true;
};
function CekInput(textbox){
if(!IsJustAngka(textbox.value)){
textbox.value = textbox.value.substring(0, textbox.value.length-1);
}
};
function hurufonly(e, decimal) {
var key;
var keychar;
if (window.event) {
key = window.event.keyCode;
}
else if (e) {
key = e.which;
}
else {
return true;
83
}
keychar = String.fromCharCode(key);
if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) || (key==32) ) {
return true;
}
else if ((("qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM").indexOf(keychar) > -1)) {
return true;
}
else if (decimal && (keychar == ".")) {
return true;
}
else
return false;
};
</script>
<!-- PopCalendar(tag name and id must match) Tags should not be enclosed in tags other than the html body
tag. -->
<iframe width=174 height=189 name="gToday:normal:config/calender/agenda.js"
id="gToday:normal:config/calender/agenda.js" src="config/calender/ipopeng.htm" scrolling="no"
frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-1000px; left:-100px;">
</iframe>
<?php
mysql_close();
}#akhir validasi
?>
Lampiran C.10 Listing Program Header
header.php
<div id="logo">
<div id="logo_text">
<h1><img src="images/poison_logo1.png" /></h1>
</div>
<div id="logo_text2">
<h3>Ayo...</h3>
<h4>Belanja...</h4>
</div>
</div>
<nav>
<?php include "menu.php";?>
</nav>
Lampiran C.11 Listing Program Home
home.php
<h1>Selamat Datang di <span class="logo_colour">Poison CLoth</span></h1>
<p align="justify">Anda butuh <i>fashion</i> yang murah namun berkualitas ?? Kami solusinya.</p>
<p align="justify">Kami adalah perusahaan yang bergerak dibidang <i>fashion</i>. Kami menyediakan
berbagai macam produk berkualitas namun dengan harga terjangkau. Produk yang kami sediakan mulai dari
baju, kaos, jaket, celana, boxer , topi, dan akseoris lainnya. Silahkan coba buktikan sendiri dan Selamat
Berbelanja. <br /><font style="color:#F00; text-transform:capitalize; font-weight:bold;">AGAR DAPAT
BERBELANJA, ANDA HARUS TERDAFTAR SEBAGAI MEMBER KAMI DAN MENGIKUTI ATURAN
YANG BERLAKU.</font></p>
<strong><h2>BEST SELLER</h2></strong>
<p>Klik pada gambar untuk melihat detail.</p>
<?PHP
include "config/koneksi.php";
84
$ambil_data=mysql_query("select id_barang,nama_barang,gambar_barang,rating from tblbarang where rating >
0 order by rating desc limit 0,6",$koneksi);
$no=1;
while($loop_data=mysql_fetch_array($ambil_data)){
?>
<div style="float:left"> <a
href="index.php?hal=produkdetail&kode=<?=$loop_data['id_barang'];?>"><img style="margin: 0px 0 10px
0px; float: left;padding: 10px; border: 1px solid #ddd;" src="<?=$loop_data['gambar_barang'];?>"
title="<?=$loop_data['nama_barang'];?>" /></a></div>
<?
}
?>
Lampiran C.12 Listing Program Index
index.php
<?php
session_start();
$page=$_GET['hal'].".php";
include "config/koneksi.php";
$bhs=$_GET['bhs'];
$_SESSION["Bahasa"]=$bhs;
include "config/language.php";
if ( strpos($_SERVER['HTTP_USER_AGENT'],'MSIE') !==false)
{
echo"
<p style=\"font-family:'Trebuchet MS'; font-size:20px; text-align:center; color:#CC6600;\">
<font size=+2><b>
Kami mendeteksi Anda menggunakan Browser Microsoft Internet Explorer<br>
Untuk sementara silahkan gunakan Browser SELAIN Microsoft Internet Explorer<br>
Kami akan segera memperbaikinya <br>
Mohon maaf atas ketidaknyamanannya.<br><br><br>
regards ~Poison Cloth~
<b></font>
</p>";
}else
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !==false)
{
echo"
<p style=\"font-family:'Trebuchet MS'; font-size:20px; text-align:center; color:#CC6600;\">
<font size=+2><b>
Kami mendeteksi Anda menggunakan Browser Opera<br>
Untuk sementara silahkan gunakan Browser SELAIN Opera<br>
Kami akan segera memperbaikinya <br>
Mohon maaf atas ketidaknyamanannya.<br><br><br>
regards ~Poison Cloth~
<b></font>
</p>";
}else
if ( (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !==false) ||
(strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !==false))
{
?>
<!DOCTYPE HTML>
<html>
<head>
<title>.::Selamat Datang Poison Cloth::.</title>
<meta name="description" content="website description" />
<meta name="keywords" content="website keywords, website keywords" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link rel="Shortcut Icon" href="favicon.ico">
85
<link rel="stylesheet" type="text/css" href="css/style.css" />
<!-- mendeteksi HTML 5 -->
<script type="text/javascript" src="js/modernizr-1.5.min.js"></script>
</head>
<body>
<div id="container">
<img src="images/sun.png" alt="sunshine" />
<div id="main">
<header>
<?php include "header.php";?>
</header>
<div id="site_content">
<!-- awal sidebar-->
<?php include "sidebar.php";?>
<!-- akhir sidebar-->
<!-- awal konten-->
<div id="content">
<?php
if ($page==""){
include "home.php";
}else
if (!file_exists($page)){
//echo "Tidak ada halaman";
include "home.php";
}else{
include "$page";
}
?>
</div>
<!-- akhir konten-->
</div>
<!-- awal footer-->
<?php include "footer.php";?>
<!-- akhir footer-->
</div>
</div>
<div id="grass"></div>
</body>
</html>
<?php
}
?>
Lampiran C.13 Listing Program Input Faktur
inputfaktur.php
<?php
session_start();
include "config/koneksi.php";
$hal = $_GET['hal'];
$aksi = $_GET['act'];
if (empty($hal))
{
echo "<meta http-equiv=\"refresh\" content=\"URL:0;index.php?hal=produk\">";
}else{
if (isset($_POST['lanjutkan']))
{
?>
86
<div class="akun_wrap">
<form method="post" action="" name="formFaktur" class="form_settings" onsubmit="return validasi (this)">
<table width="100%">
<tr>
<td>Nama Pemesan</td>
<td><input type="text" name="namaPemesan" value="<?=$_SESSION['pengunjung'];?>"
readonly="readonly" /></td>
</tr>
<tr>
<td>Nama Penerima</td>
<td><input type="text" name="namaPenerima" onKeyPress="return hurufonly(event, false)"
maxlength="100"/></td>
</tr>
<tr>
<td valign="top">Alamat Lengkap</td>
<td><textarea rows="3" cols="100" name="alamatLengkap"></textarea></td>
</tr>
<tr>
<td valign="top">Kode Pos</td>
<td><input type="text" name="kodePos" maxlength="5" onKeyDown="CekInput(this.form.kodePos);"
onKeyUp="CekInput(this.form.kodePos);" /></td>
</tr>
<tr>
<td>Jasa Pengiriman</td>
<td>
<select name="cmbkurir" size="1" onchange="showKota()">
<option value="pilih">--Pilih Kurir--</option>
<?PHP
$query = "SELECT * FROM tblkurir";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
echo "<option value='".$data['id_kurir']."'>".$data['nama_kurir']."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>Kota Tujuan</td>
<td><div id="kota"></div></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="checkOut" value="Lanjut" class="submit"/><input type="button"
name="back" value="Kembali" class="submit" onclick="javascript:history.go(-1);"/></td>
</tr>
</table>
</form>
</div>
<?php
}#akhir lanjutkan
if(isset($_POST['checkOut'])){
#membuat nofaktur otomatis
$tgl = date("ym",time());
#$tgl_masuk = date("Y-m-d",time());
$ip = $_SERVER['REMOTE_ADDR'];
$log_tgl = date("Y-m-d",time());
$log_wkt = date("H:i:s",time());
87
$ambil_data=mysql_query("select * from tblfaktur order by no_faktur desc",$koneksi);
$urutan=mysql_fetch_row($ambil_data);
if($urutan[0] == ""){
$noFaktur="FKT.".$tgl.".001";
}else
if($urutan[0] <> ""){
$data_akhir=mysql_query("select * from tblfaktur order by no_faktur desc limit
0,1",$koneksi);
$urutan2=mysql_fetch_row($data_akhir);
if(substr($urutan2[0],0,8) <> "FKT.".$tgl){
$noFaktur="FKT.".$tgl.".001";
}else{
$Counter=substr($urutan2[0],9,3)+1;
if($Counter < 10){
$noFaktur="FKT.".$tgl. ".00" .$Counter;
}else
if($Counter < 100){
$noFaktur="FKT.".$tgl. ".0" .$Counter;
}else
if($Counter < 1000){
$noFaktur="FKT.".$tgl. "." .$Counter;
}
}
}
#mulai menginput ke dalam tabel faktur dan detail faktur
$ambil_data = mysql_query("select
tbltemptrans.*,tblbarang.nama_barang,tblbarang.harga_barang,tblbarang.berat_barang,
tbluser.nama_user,tbluser.nomor_telp from tblbarang,tbluser,tbltemptrans where
tblbarang.id_barang=tbltemptrans.id_barang AND tbluser.id_user=tbltemptrans.id_user AND
tbltemptrans.id_user='$_SESSION[id_user]'",$koneksi);
#cari ongkos kirim
$ambil_ongkir = mysql_query("select tblkota.ongkos_kirim from tblkota where
id_kota='$_POST[cmbkota]'",$koneksi);
$loop_ongkir = mysql_fetch_array($ambil_ongkir);
$ongKir = $loop_ongkir['ongkos_kirim'];
$securitykey = md5($_SESSION['id_user']);
$subTot = 0;
$totBerat = 0;
while($loop_detail=mysql_fetch_array($ambil_data)){
#input ke tabel detail
$input_detail = mysql_query("insert into tbldetailfaktur (no_faktur,id_barang,qty,subtotal) values
('$noFaktur','$loop_detail[id_barang]','$loop_detail[qty]','$loop_detail[sub_total]')",$koneksi);
$ratingBaru = 0;
#$ambil_rating = mysql_query("select rating from tblbarang WHERE
id_barang='$loop_detail[id_barang]'",$koneksi);
#$loop_rating = mysql_fetch_array($ambil_rating);
#$ratingBaru = $loop_rating['rating']+ $loop_detail['qty'];
#$ubah_rating = mysql_query("update tblbarang set rating = '$ratingBaru' where
id_barang='$loop_detail[id_barang]'",$koneksi);
$subTot = $subTot + $loop_detail['sub_total'];
$totBerat = $totBerat + ($loop_detail['berat_barang']*$loop_detail['qty']);
#echo $loop_detail['rating'];
#echo $ratingBaru;
}
$grandTot = ($totBerat * $ongKir)+$subTot;
88
$input_faktur = mysql_query("insert into tblfaktur
(no_faktur,id_user,id_kurir,id_kota,nama_penerima,alamat_kirim,kodepos,total_bayar,status_pesanan,log_tgl,lo
g_waktu,securitykey) values
('$noFaktur','$_SESSION[id_user]','$_POST[cmbkurir]','$_POST[cmbkota]','$_POST[namaPenerima]','$_POS
T[alamatLengkap]','$_POST[kodePos]','$grandTot','menunggu','$log_tgl','$log_wkt','$securitykey')",$koneksi);
if($input_faktur){
$_SESSION['checkOut'] = "Aktif";
$hapus_temp = mysql_query("delete from tbltemptrans where
id_user='$_SESSION[id_user]'",$koneksi);
if($hapus_temp){
echo "<div class=pesan><center>
Transaksi Anda Berhasil Diproses, Silahkan Lakukan Pembayaran
paling lambat 3 hari setelah pemesanan.<br>
Atau Pesanan akan dibatalkan.<br>
Barang Akan dikirim selambat-lambatnya 7 hari setelah
pembayaran selesai<br>
Terima Kasih Sudah Berbelanja Di Toko Kami<br>
Silahkan Cetak Faktur Anda dengan Meng-Klik Link dibawah<br>
<a href=cetakfaktur.php?no_Faktur=$noFaktur
target=_blank>Cetak Faktur</a>
</center></div>";
$_SESSION['noFak'] = $noFaktur;
}
}else{
echo mysql_error();
}
}else
if(($aksi=='cetakFaktur') && ($_SESSION['checkOut']=='Aktif')){
echo "<div class=pesan><center>
Transaksi Anda Berhasil Diproses, Silahkan Lakukan Pembayaran paling lambat 3 hari
setelah pemesanan.<br>
Atau Pesanan akan dibatalkan.<br>
Barang Akan dikirim selambat-lambatnya 7 hari setelah pembayaran selesai<br>
Terima Kasih Sudah Berbelanja Di Toko Kami<br>
Silahkan Cetak Faktur Anda dengan Meng-Klik Link dibawah<br>
<a href=cetakfaktur.php?no_Faktur=$_SESSION[noFak] target=_blank>Cetak Faktur</a>
</center></div>";
}#akhir checkout
}#akhir hal
?>
<script language="javascript">
function validasi(form){
if (form.namaPemesan.value == ""){
alert("Kolom Nama Pemesan belum diisi.");
form.namaPemesan.focus();
return (false);
}
if (form.namaPenerima.value == ""){
alert("Kolom Nama Penerima belum diisi.");
form.namaPenerima.focus();
return (false);
}
if (form.alamatLengkap.value == ""){
alert("Kolom Alamat belum diisi.");
form.alamatLengkap.focus();
return (false);
}
if (form.kodePos.value == ""){
89
alert("Kolom kode pos belum diisi.");
form.kodePos.focus();
return (false);
}
if (form.cmbkurir.value == "pilih"){
alert("Kolom jasa pengiriman belum dipilih.");
form.cmbkurir.focus();
return (false);
}
if (form.cmbkota.value == ""){
alert("Kota tujuan belum tersedia, silahkan pilih jasapengiriman yang lain.");
form.cmbkurir.focus();
return (false);
}
return (true);
};
function IsJustAngka(text){
var i, sub, a;
for(i=0;i<text.length;i++){
sub = text.substring(i, (i+1)); //ambil sebuah karakter text
for(a=0;a<=9;a++){
if(sub == a) break; //Jika ternyata termasuk angka 0 sampai 9, berarti sub = angka, break!
}
if(a==10) return false;
}
//Jika sampai disini, berarti semua nya adalah angka
return true;
};
function CekInput(textbox){
if(!IsJustAngka(textbox.value)){
textbox.value = textbox.value.substring(0, textbox.value.length-1);
}
};
function konfirmasi(del){
tanya = confirm('PERHATIAN !!! \n Anda akan menghapus barang dengan nama " '+ del + ' " \n Lanjutkan ?');
if (tanya == true) return true;
else return false;
};
function showKota()
{
<?php
// membaca semua propinsi
$query = "SELECT * FROM tblkurir";
$hasil = mysql_query($query);
// membuat if untuk masing-masing pilihan propinsi beserta isi option untuk combobox kedua
while ($data = mysql_fetch_array($hasil))
{
$idKurir = $data['id_kurir'];
// membuat IF untuk masing-masing propinsi
echo "if (document.formFaktur.cmbkurir.value == \"".$idKurir."\")";
echo "{";
// membuat option kabupaten untuk masing-masing propinsi
90
$query2 = "SELECT * FROM tblkota WHERE id_kurir = '$idKurir' order by nama_kota asc";
$hasil2 = mysql_query($query2);
$content = "document.getElementById('kota').innerHTML = \"<select name='cmbkota'>";
while ($data2 = mysql_fetch_array($hasil2))
{
#if($data2['id_kota'] !== ''){
$content .= "<option value='".$data2['id_kota']."'>".$data2['nama_kota']."</option>";
#}else{
# $content .= "<option value=''>Belum Tersedia</option>";
#}
}
$content .= "</select>\";";
echo $content;
echo "}\n";
}
?>
};
function hurufonly(e, decimal) {
var key;
var keychar;
if (window.event) {
key = window.event.keyCode;
}
else if (e) {
key = e.which;
}
else {
return true;
}
keychar = String.fromCharCode(key);
if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) || (key==32) ) {
return true;
}
else if ((("qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM").indexOf(keychar) > -1)) {
return true;
}
else if (decimal && (keychar == ".")) {
return true;
}
else
return false;
};
</script>
Lampiran C.14 Listing Program Input Keranjang
inputkeranjang.php
<?php
session_start();
include "config/koneksi.php";
$pil_menu = $_GET['pil'];
$idBarang = $_GET['kode'];
if (empty($idBarang))
{
91
echo "<meta http-equiv=\"refresh\" content=\"URL:0;index.php?hal=produk\">";
}else{
if ($_SESSION['pengunjung'] == ""){
echo "<meta http-equiv=\"refresh\" content=\"URL:0;index.php?hal=produk\">";
}else{
$ambil_data = mysql_query("SELECT * FROM tblbarang where id_barang='$idBarang'");
$loop_data = mysql_fetch_array($ambil_data);
$subTotal = $loop_data['harga_barang'];
$masuk = mysql_query("insert into tbltemptrans (id_user,id_barang,qty,sub_total) values
('$_SESSION[id_user]','$idBarang',1,$subTotal)",$koneksi);
if($masuk){
echo "<meta http-equiv=\"refresh\"
content=\"URL:0;index.php?hal=daftarbelanja&pil=$pil_menu\">";
}else{
echo "error";
}
}#akhir input keranjang
}#akhir validasi hal
?>
Lampiran C.15 Listing Program Katalog
katalog.php
<h1>Daftar Katalog</h1>
<p>Silahkan download katalog yang kami sediakan sebagai referensi belanja anda.</p>
<?PHP
include "config/koneksi.php";
include "function/fungsi_tanggal.php";
$ambil_katalog = mysql_query("select * from tblkatalog order by id_katalog asc",$koneksi);
?>
<ol>
<?PHP
while($loop_katalog=mysql_fetch_array($ambil_katalog)){
$log_tgl = substr($loop_katalog['log_katalog'],0,10);
?>
<li><?=$loop_katalog['judul_katalog'];?>&nbsp;&nbsp;&nbsp;&nbsp;Update :
<?=tgl_indo($log_tgl);?>&nbsp;&nbsp;&nbsp;&nbsp;<a
href="download.php?idKatalog=<?=$loop_katalog['id_katalog'];?>">Download</a></li>
<?PHP
}
?>
</ol>

Anda mungkin juga menyukai