SISTEM INFORMASI PEMESANAN JASA CETAK
BERBASIS WEB PADA CV. VIDA PLUS
JAKARTA
SKRIPSI
Diajukan untuk memenuhi salah satu syarat kelulusan Strata Satu (S1)
RAHMAT HIDAYAT
11150006
Program Studi Sistem Informasi
Sekolah Tinggi Manajemen Informatika & Komputer
NUSA MANDIRI
Jakarta
2016
PERSEMBAHAN
“Orang beriman itu bersikap ramah dan tidak ada kebaikan bagi seorang yang
tidak bersikap ramah. Dan sebaik-baik manusia adalah orang yang paling
bermanfaat bagi manusia” (HR. Thabrani dan Daruquthni) Dengan mengucap
puji syukur kepada Allah S.W.T, skripsi ini kupersembahkan untuk:
1. Bapak Junaidi dan Ibu Rohima tercinta yang telah membesarkan aku dengan
segala kesabaran, tanpa pamrih yang mengorbankan jiwa dan raganya, selalu
membimbing, mendukung, memotivasi, memberi apa yang terbaik bagiku
serta selalu mendoakan aku untuk meraih kesuksesanku.
2. Istriku (Sutianah) beserta anak-anakku (Raihana Yasmina Faiha dan Naufal
Rakha Hidayat) yang telah menjadi motivator dalam menjalani hidup ini, yang
telah memberiku semangat, aku selalu sayang kalian.
3. Kakakku (Julaeha dan Rofii), yang selalu memberikan semangat dan
dukungan baik secara materiil dan spiritual, hingga membuat diriku yakin
untuk meraih masa depan yang lebih baik.
Tanpa mereka, aku dan karya ini tak akan pernah ada
PERSETUJUAN DAN PENGESAHAN SKRIPSI
Skripsi ini diajukan oleh:
Nama : Rahmat Hidayat
NIM : 11150006
Program Studi : Sistem Informasi
Jenjang : Strata Satu (S1)
Judul Skripsi : Sistem Informasi Pemesanan Jasa Cetak Berbasis
Web Pada CV. Vida Plus Jakarta
Telah dipertahankan pada Periode 2-2015 di hadapan penguji dan diterima
sebagai bagian persyaratan yang diperlukan untuk memperoleh Sarjana Ilmu
Komputer (S.Kom) pada Program Strata Satu (S1) Program Studi Sistem
Informasi di Sekolah Tinggi Manajemen Informatika & Komputer Nusa Mandiri.
Jakarta, 19 Februari 2016
PEMBIMBING SKRIPSI,
Dosen Pembimbing I : Nining Suryani, M.Kom __________________
Dosen Pembimbing II : Eri Mardiani, M.Kom __________________
DEWAN PENGUJI,
Penguji I : ………………………….. ………………………
Penguji II : ………………………….. ………………………
….. ………………………
PANDUAN PENGGUNAAN HAK CIPTA
Skripsi sarjana yang berjudul “Sistem Informasi Pemesanan Jasa Cetak
Berbasis Web Pada CV. Vida Plus Jakarta” adalah hasil karya tulis asli RAHMAT
HIDAYAT 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 : RAHMAT HIDAYAT
Alamat : Jl. Masjid 1 No,18 Rt.01 Rw.02 Cinere kota
Depok
No. Telp : 087885674142
E-mail : [email protected]
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 adalah sebagai berikut : “SISTEM INFORMASI PEMESANAN JASA
CETAK BERBASIS WEB PADA CV. VIDA PLUS JAKARTA”.
Tujuan penulisan skripsi ini dibuat sebagai salah satu syarat kelulusan
Program Strata Satu (S1) STMIK Nusa Mandiri. Sebagai bahan penulisan diambil
berdasarkan hasil penelitian (eksperimen), 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. Ketua STMIK Nusa Mandiri.
2. Pembantu Ketua I STMIK Nusa Mandiri.
3. Ketua Program Studi Sistem Informasi STMIK Nusa Mandiri.
4. Ibu Nining, Nining Suryani, M.Kom selaku Dosen Pembimbing I skripsi.
5. Ibu Eri Mardiani, M.Kom selaku Dosen Pembimbing II skripsi.
6. Staff / karyawan / dosen di lingkungan STMIK Nusa Mandiri.
7. Bapak H. Rofi’i selaku Direktur CV. Vida plus.
8. Staff / karyawan di lingkungan CV. Vida Plus.
9. Orang tua tercinta yang telah memberikan dukungan moral maupun spritual.
10. Rekan-rekan mahasiswa kelas 11.8A.07
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 dimasa yang akan
datang.
Akhir kata semoga skripsi ini dapat berguna bagi penulis khususnya dan
bagi para pembaca yang berminat pada umumnya.
Jakarta, 10 Februari 2016
RAHMAT HIDAYAT
ABSTRAK
Rahmat Hidayat (11150006), Sistem Informasi Pemesanan Jasa Cetak Berbasis
Web Pada CV. Vida Plus Jakarta
Sistem pemesanan yang dijalankan pada CV. Vida Plus saat ini hanya melalui
telepon dan datang langsung ke kantor. Menurut pengamatan penulis hal tersebut
menyebabkan tidak terdokumentasinya pemesanan jasa cetak secara efektif dan
efisien. Terbatasnya sarana informasi jasa cetak yang ditawarkan oleh CV. Vida
Plus. Hal ini menyebabkan para pelanggan ataupun calon pelanggan mengalami
kesulitan untuk melihat detail jasa dan produk yang ditawarkan karena harus
secara langsung datang ke kantor percetakan. Dengan merancang sistem
informasi, penjualan dan pemesanan dengan menggunakan media online berbasis
web dengan pemrograman berorientasi objek (object orientend programing)
diharapkan mempermudah pemesanan pelanggan dengan media online yang dapat
dilakukan kapan saja dan memudahkan sistem pemasaran yang memiliki
jangkauan yang tidak terbatas.
Kata Kunci: Pemesanan, Jasa Cetak, Perancangan Web, object oriented
programing
ABSTRACT
Rahmat Hidayat (11150006), Information Systems Web-Based Print Services
Booking at CV. Vida Plus Jakarta
The booking system is run on a CV. Vida Plus currently only over the phone and
come directly to the office. According to the writer's observation that it causes no
booking terdokumentasinya print services effectively and efficiently. Limited
means of information print services offered by CV. Vida Plus. This leads to
customers or prospective customers find it difficult to see the details of the
services and products offered because they have directly come to the printing
office. By designing information systems, sales and bookings using online media
web-based object-oriented programming (OOP) expected to facilitate customers
booking with online media that can be done anytime and facilitate marketing
system has unlimited range.
Keywords: Order, Print Services, Web design, object-oriented programing
DAFTAR ISI
Halaman
LEMBAR JUDUL SKRIPSI …………………………………………..
LEMBAR PERSEMBAHAN …………………….……………………
LEMBAR PERNYATAAN KEASLIAN SKRIPSI …………………..
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH ……………………………………………………………….
LEMBAR PERSETUJUAN DAN PENGESAHAN SKRIPSI ……….
LEMBAR PANDUAN PENGGUNAAN HAK CIPTA ………………
KATA PENGANTAR ………………………………………………..
ABSTRAKSI ………………………………………………………....
DAFTAR ISI ………………………………………………………....
DAFTAR SIMBOL ..............................................................................
DAFTAR GAMBAR ...........................................................................
DAFTAR TABEL ................................................................................
DAFTAR LAMPIRAN ........................................................................
BAB I PENDAHULUAN
1.1. Latar Belakang Masalah ....................................................
1.2. Identifikasi Permasalahan .................................................
1.3. PerumusanMasalah ............................................................
1.4. Maksud dan Tujuan ............................................................
1.5. Metode Penelitian ..............................................................
1.5.1.Teknik Pengumpulan Data .......................................
A.Observasi ..............................................................
B. Wawancara ..........................................................
C. Studi Pustaka .......................................................
1.5.2. Model Pengembangan Sistem …………………….
A. Analisa Kebutuhan Sistem …………………….
B. Desain ………………………………………….
C. Coding ………. ………………………………..
D. Testing …………………………………………
E. Support …………………………………………
1.6. Ruang Lingkup ..................................................................
BAB II LANDASAN TEORI
2.1. Tinjauan Pustaka …………………………………………
2.2. Penelitian Terkait ………………………………………...
BAB III ANALISA SISTEM BERJALAN
3.1. Tinjauan Perusahaan ……………………………..………
3.1.1. Sejarah Perusahaan ……………………..…………
3.1.2.Struktur Organisasi dan Fungsi ……………………
3.2. Proses Bisnis Sistem ……………………………………..
3.3. Spesifikasi Dokumen Sistem Berjalan …………………...
i
ii
iii
iv
v
vi
vii
viii
x
xii
xvi
xvii
xviii
1
2
3
3
4
4
4
4
4
5
5
5
5
6
6
6
7
9
11
11
12
13
17
BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisa Kebutuhan Software …………………………….
4.2. Desain ……………………………………………………
4.2.1. Database …………………………………………..
4.2.2. Software Architecture …………………………….
4.2.3. User Interface ……………………………………..
4.3. Code Generation …………………………………………
4.4. Testing …………………………………………………...
4.5. Support …………………………………………………..
4.5.1. Publikasi Web …………………………………….
4.5.2. Spesifikasi Hardware dan Software ………………
4.6. Spesifikasi Dokumen Sistem Usulan ……………………
BAB V PENUTUP
5.1. Kesimpulan ……………………………………………...
5.2. Saran-saran ………………………………………………
DAFTAR PUSTAKA
DAFTAR RIWAYAT HIDUP
SURAT KETERANGAN RISET
LEMBAR KONSULTASI BIMBINGAN
LAMPIRAN
Lampiran A. Dokumen Sistem Berjalan
Lampiran B. Dokumen Sistem Usulan
18
32
32
40
46
50
63
67
67
67
68
69
70
71
72
73
74
76
79
DAFTAR SIMBOL
a. Simbol UML
Use Case Diagram
USE CASE
Fungsionalitas yang disediakan sistem sebagai
unit-unit yang saling bertukar pesan antar unit
atau actor.
AKTOR
orang, proses, atau sistem ain yang berinteraksi
dengan sistem informasi yang akan dibuat di
luar sistem informasi yang akan dibuat itu
sendiri.
ASOSIASI
komunikasi antar actor dan use case atau use
case memiliki interkasi dengan actor.
EKSTENSI
Menspesifikasikan bahwa Use Case target
memperluas perilaku dari Use Case sumber
pada suatu titik yang diberikan.
GENERALISASI
Hubungan dimana objek anak (descendent)
berbagi perilaku dan struktur data dari objek
yang ada di atasnya objek induk (ancestor).
<<include>>
MENGGUNAKAN/INCLUDE
Menspesifikasikan bahwa Use Case sumber
secara eksplisit.
Activity Diagram
STATUS AWAL
status awal aktivitas sistem, sebuah diagram
aktivitas memiliki sebuah status awal
AKTIVITAS
aktivitas yang dilakukan sistem, aktivitas
biasanya diawali dengan kata kerja
<<extend>>
PERCABANGAN/ DECISION
asosiasi percabangan dimana jika ada pilihan
aktivitas lebih dari satu
PENGGABUNGAN/ JOIN
asosiasi penggabungan dimana lebih dari satu
aktivitas digabungkan menjadi satu
STATUS AKHIR
Status akhir yang dilakukan sistem, sebuah
diagram aktivitas memiliki sebuah status akhir
SWIMLANE
Memisahkan organisasi bisnis yang
bertanggung jawab terhadapa aktivitas yang
terjadi
Sequence Diagram
atau
AKTOR
Orang, proses, atau sistem lain yang
berinteraksi dengan sistem informasi yang akan
dibuat itu sendiri,
GARIS HIDUP/LIFELINE
Menyatakan kehidupan suatu objek
Nama swimlane
Nama aktor
WAKTU AKTIF
Menyatakan objek dalam keadaan aktif dan
berinteraksi.
PESAN TIPE CREATE
Menyatakan suatu objek membuat objek yang
lain, arah panah mengarah pada objek yang
dibuat
PESAN TIPE CALL
Menyatakan suatu objek memanggil
operasi/metode yang ada pada objek lain atau
dirinya sendiri
Class Diagram
KELAS
Kelas pada struktur sistem
KEBERGANTUNGAN/DEPENDENCY
Kebergantungan antar kelas
AGREGASI/AGGREGATION
Menyatakan objek dalam keadaan aktif dan
berinteraksi.
Deployment Diagram
<<create>>
1:nama_metode()
Nama_kelas
+attribut
+operasi()
Attributs
Nama_entitas
Nama_kunci primer
PACKAGE
Merupakan sebuah bungkusan dari satu atau
lebih node
NODE
Biasanya mengacu pada perangkat keras
(hardware), perangkat lunak yang tidak dibuat
sendiri (software).
KEBERGANTUNGAN/DEPENDENCY
Kebergantungan antar node.
LINK
Relasi antar node
b. Symbol ERD
ENTITAS/ENTITY
Entitas merupakan data inti yang akan
disimpan
ATRIBUT
Field atau kolom data yang butuh disimpan
dalam suatu entitas
ATRIBUT KUNCI PRIMER
Field atau kolom data yang butuh disimpan
daam suatu entitasdan digunakan sebagai kunci
akses record yang dinginkan
RELASI
Relasi yang menghubungkan antar entitas.
ASOSIASI/ ASSOCIATION
Penghubung antara relasi dan entitas di mana di
kedua ujungnya memiliki multiplicity
kemungkinan jumlah pemakaian.
Nama_node
N
DAFTAR GAMBAR
Halaman
1. Gambar III.1. Struktur Organisasi CV. Vida Plus ……………....
2. Gambar III.2. Activity Diagram Pemesanan …………….....……
3. Gambar III.3. Activity Diagram Proses Produksi ……………….
4. Gambar III.4. Activity Diagram Pembayaran …………..……….
5. Gambar IV.1. Use case Diagram Pemesanan ..………..……….
6. Gambar IV.2. Activity Diagram Pemesanan Oleh pelanggan ….
7. Gambar IV.3. Activity Diagram Konfirmasi Pembayaran Oleh
pelanggan ……………………………………………………….
8. Gambar IV.4. Activity Diagram Halaman awal admin ………...
9. Gambar IV.5. Activity Diagram Halaman Admin Kelola Produk
10. Gambar IV.6. Activity Diagram Mengelola pesanan …………..
11. Gambar IV.7. Activity Diagram Mengelola user ……..………..
12. Gambar IV.8. Entity Relationship Diagram Pemesanan Produk .
13. Gambar IV.9. Logical Record Structure Pemesanan Online …...
14. Gambar IV.10. Class Diagram Pemesanan …………………….
15. Gambar IV.11. Sequence Diagram Pilih Produk ……………….
16. Gambar IV.12. Sequence Diagram Tambah ke Daftar Pesanan ..
17. Gambar IV.13. Sequence Diagram Check ke Riwayat Pesanan...
18. Gambar IV.14. Sequence Diagram Konfirmasi Pembayaran …..
19. Gambar IV.15. Sequence Diagram Admin Mengelola data
produk …………………………………………………………..
20. Gambar IV.16. Sequence Diagram Admin Mengelola data
Pesanan …………………………………………………………
21. Gambar IV.17. Sequence Diagram Admin Mengelola data
Member …………………………………………………………
22. Gambar IV.18. Deployment Diagram Admin Mengelola data
Member…….……………………………………………………
23. Gambar IV.19. Tampilan Halaman Depan .……………………
24. Gambar IV.20. Tampilan Halaman Registrasi …………………
25. Gambar IV.21. Tampilan Halaman Login ……..………………
26. Gambar IV.22. Tampilan Halaman Admin ……………………
27. Gambar IV.23. Tampilan Halaman Admin Konfirmasi Pesanan
28. Gambar IV.24. Tampilan Halaman Admin persetujuan pesanan
12
14
15
16
19
26
27
28
29
30
31
32
33
40
41
41
42
42
43
43
44
45
46
47
48
48
49
49
DAFTAR TABEL
Halaman
1. Tabel IV.1. Deskripsi Use Case Diagram Pemesanan Halaman
user ……………………………………………………………….
2. Tabel IV.2. Deskripsi Use Case Diagram Konfirmasi Pesanan …
3. Tabel IV.3. Deskripsi Use Case Diagram Konfirmasi
Pembayaran …..………………………………………………….
4. Tabel IV.4. Deskripsi Use Case Halaman Admin ……………….
5. Tabel IV.5. Deskripsi Use Case Kelola Produk ………………….
6. Tabel IV.6. Deskripsi Use Case Diagram kelola Produk ………...
7. Tabel IV.7. Deskripsi Use Case Diagram Kelola User ………….
8. Tabel IV.8. Spesifikasi File Tabel User ………………………….
9. Tabel IV.9. Spesifikasi File Tabel Orders ……………………….
10. Tabel IV.10. Spesifikasi File Tabel Detail Pesanan ..…………….
11. Tabel IV.10. Spesifikasi File Tabel Produk ..…………………….
12. Tabel IV.12. Spesifikasi File Tabel Kategori …………………….
13. Tabel IV.13. Spesifikasi File Tabel confirmation .……………….
20
21
21
22
23
24
25
34
35
36
37
38
39
DAFTAR LAMPIRAN
Halaman
1. Lampiran A.1. Gambar Dokumen Nota Pesanan
2. Lampiran A.2. Gambar Dokumen Kwitansi
3. Lampiran A.3. Gambar Dokumen Surat Jalan
4. Lampiran B.1. Gambar Dokumen Usulan
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Promosi dan jangkauan pemasaran dengan keterbatasan tenaga kerja
dalam hal pemasaran jasa dan produk yang akan dijual adalah salah satu hambatan
yang membutuhkan tunjangan keuangan yang begitu besar bagi CV. Vida Plus.
CV. Vida Plus adalah usaha kecil dalam bidang percetakan dimana dari segi
pemasaran begitu banyak persaingan dengan usaha-usaha besar yang memiliki
modal yang cukup kuat.
Dengan bantuan teknologi dan informasi menjadikan usaha ini dapat
memudahkan melakukan pemasaran dengan jangkauan lebih luas tanpa harus
membayar tenaga pemasaran untuk menawarkan jasa dan produk.
Percetakan CV. Vida Plus adalah usaha kecil di bidang jasa percetakan
mulai dari buku, kalender, kop surat, brosur, flyer, spanduk, undangan dan semua
hasil cetakan maupun produknya.
Didalam persaingan dunia usaha percetakan sangat berhubungan dengan
dunia teknologi informasi agar CV. Vida Plus dapat terus bersaing dengan
pengusaha yang lain maka harus dapat menggunakan teknologi informasi dengan
semaksimal mungkin.
Didalam kenyataannya CV. Vida Plus belum menggunakan teknologi
informasi secara maksimal untuk memasarkan, dimana pemasarannya hanya lewat
mulut ke mulut yang memiliki keterbatasan dalam jangkauannya dengan tenaga
kerja yang terbatas.
Pada penelitian yang telah dilakukan pada percetakan Mahardika dimana
masih menggunakan sistem konvensional untuk melakukan pemesanan dan
pembayaran jasa cetak sehingga percetakan Mahardika mempunyai masalah yang
sering terjadi seperti sulitnya pemesanan dan cara pembayaran. Maka dengan
menghasilkan sebuah aplikasi berbasis web akan dapat mempermudah proses
transaksi pemesanan dan pembayaran di percetakan Mahardika. Sehingga manfaat
yang diperoleh dengan adanya aplikasi ini adalah mempermudah proses
pemesanan dan untuk mengurangi terjadinya kesalahan perhitungan dalam
laporan keuangan (Puspita dkk, 2011:1).
Sistem Informasi Pemesanan Jasa Cetak Berbasis Web Pada CV. Vida
Plus Jakarta sebagai sarana penjualan diharapkan dapat membantu didalam
pemesanan produk dan jasa percetakan. Didalam sistem informasi berbasis web
ini terdapat katalog produk percetakan berikut cara pemesanannya.
1.2. Identifikasi Permasalahan
Adapun masalah yang di hadapi oleh CV. Vida Plus dalam pemesan jasa
cetak adalah:
1. Sistem pemesanan yang dijalankan saat ini hanya melalui telepon dan
datang langsung ke kantor. Menurut pengamatan penulis hal tersebut
menyebabkan tidak terdokumentasinya pemesanan jasa cetak secara efektif
dan efisien.
2. Terbatasnya sarana informasi jasa cetak yang ditawarkan oleh CV. Vida
Plus. Hal ini menyebabkan para pelanggan ataupun calon pelanggan
mengalami kesulitan untuk melihat detail jasa dan produk yang ditawarkan
karena harus secara langusng datang ke kantor percetakan.
1.3. Perumusan Masalah
Adapun permasalahan yang dapat diamati berdasarkan latar belakang
masalah diantaranya adalah:
1. Bagaimana membuat sistem penjualan dan pemesanan yang komunikatif
dan informatif untuk CV. Vida Plus.
2. Bagaimana membuat sistem yang dapat mendokumentasikan data pelanggan
dengan baik.
3. Bagaimana memudahkan pemasaran produk dan jasa percetakan secara
online dengan tidak terbatasnya ruang dan waktu.
1.4. Maksud dan Tujuan
Berdasarkan latar belakang dan perumusan masalah yang telah di
uraikan, maka maksud dan tujuan dari penelitian ini adalah:
1. Merancang sistem informasi, penjualan dan pemesanan dengan
menggunakan media online berbasis web.
2. Mempermudah pemesanan pelanggan dengan media online yang dapat
dilakukan kapan saja.
3. Agar memudahkan sistem pemasaran yang memiliki jangkauan yang tidak
terbatas.
Tujuan dari penulisan skripsi ini adalah untuk memenuhi salah satu
persyaratan kelulusan gelar sarjana Strata satu Sekolah Tinggi Manajamen
Informatika Nusa Mandiri jurusan Sistem Informasi.
1.5. Metode Penelitian
1.5.1. Teknik Pengumpulan Data
Adapun teknik yang digunakan dalam mengumpulkan data-data adalah
antara lain:
A. Observasi
Dalam metode observasi ini yang dilakukan penulis adalah melakukan
pengamatan dan mempelajari semua permasalahan yang ada dilapangan
khususnya dalam rangka memajukan dan dapat bersaing dengan dunia
percetakan pada CV. Vida Plus.
B. Wawancara
Dalam metode ini yang dilakukan penulis adalah melakukan wawancara
secara langsung dengan pemilik percetakan Bapak H. Ropii yang
melakukan pemasaran maupun penerimaan pemesanan.
C. Studi Pustaka
Dalam metode ini penulis melakukan dengan mencari bahan referensi yang
berhubungan atau berkaitan secara langsung dalam menyelesaikan
permasalahan CV. Vida Plus melalui internet, jurnal dan buku-buku.
1.5.2. Model Pengembangan Sistem
Pada tahap pengembangkan sistem informasi didalam penelitian ini
menggunakan metode waterfall adalah suatu proses pengembangan perangkat
lunak berurutan, di mana kemajuan dipandang sebagai terus mengalir ke bawah
(seperti air terjun) melewati fase-fase perencanaan, pemodelan, implementasi
(konstruksi), dan pengujian adapun tahapan didalam metode waterfall adalah:
A. Analisa kebutuhan Sistem
Berdasarkan penelitian yang telah dilakukan, analisa atas system yang akan
dibangun untuk CV. Vida Plus adalah system pemesanan secara online
berupa form pemesanan, daftar katalog jasa cetak yang ditawarkan, halaman
login bagi pelanggan baru, pelanggan lama dan admin serta profil
perusahaan.
B. Desain
Penulis menggunakan desain arsitektur perangkat lunak dengan diagram
UML (Unifield Modelling Language) diantaranya Use Case diagram, class
diagram, activity diagram dan sequence diagram. Untuk perancangan
basis data menggunakan ERD (entity Relationship Diagram). Pada tahap
perancangan desain ini maka akan menghasilkan kebutuhan atas software
yang akan digunakan untuk sistem aplikasi berbasis web.
C. Coding
Didalam tahap ini penulis menggunakan pemrograman berorientasi objek
atau objek oriented program dan menterjemahkan kode-kode ke dalam
bahasa pemrograman PHP.
D. Testing
Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem
yang telah dibuat tadi. Penulis melakukan testing dengan menggunakan
metode Black Box, dimana rencana pengujian pada login user, pendaftaran
pelanggan, input pemesanan dan informasi hasil pemesanan, desain tes
dijalankan pada sistem aplikasi web pemesanan apakah data dan informasi
yang dihasilkan telah berjalan sesuai yang diharapkan.
E. Support
Didalam tahap ini akan memelihara sistem memperbaiki dan update ringan,
mengembangkan sistem upgrade dan pengembangan ringan untuk
meningkatkan kemampuan sistem yang lebih besar mungkin membutuhkan
proyek pengembangan terpisah serta mendukung pengguna selama
menggunakan aplikasi.
1.6. Ruang Lingkup
Didalam penulisan skripsi ini ruang lingkupnya yaitu sistem pemesanan
yang akan memudahkan pelanggan dalam memesan jasa cetak menggunakan form
pemesanan, dilengkapi dengan halaman login untuk user admin, user pelanggan
lama dan pendaftaran pelanggan baru agar dapat memesan jasa cetak pada CV.
Vida Plus berdasarkan daftar katalog jasa dan produk cetakan.
BAB II
LANDASAN TEORI
2.1 Tinjauan Pustaka
A. Konsep Dasar Sistem Informasi
Menurut Al Fatta (2007:9) Sistem Informasi dapat di definisikan
“sebagai suatu alat untuk menyajikan informasi dengan cara sedemikian rupa
sehingga bermanfaat bagi penerimanya”.
B. Definisi E-Commerce
Menurut Wong (2010:33) pengertian E-Commerce adalah “pembelian,
penjualan dan pemasaran barang serta jasa melalui sistem elektronik. Seperti
televisi, radio dan jaringan komputer atau internet. E-commerce meliputi transfer
dana secara elektronik, pertukaran dan pengumpulan data”.
C. UML (Unifield Modelling Language)
Menurut Sukamto dan Shalahuddin (2015:113), “UML adalah salah satu
standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan
requirement, membuat analisis & desain, serta menggambarkan arsitektur dalam
pemrograman berorientasi objek”.
D. ERD (Entity Relationalship Diagram)
Menurut Sukamto dan Shalahuddin (2015:50), ERD (Entity Relationship
Diagram) adalah “dikembangkan berdasarkan teori himpunan dalam dalam
bidang matematika. ERD digunakan untuk pemodelan basis data relasional”.
E. Definisi Pemesanan
Dalam bukunya Siagian (2005:83) pengertian proses pemesanan adalah
“menunjukan gambaran dan siklus order konsumen yang meliputi persiapan order,
pengiriman order, pencatatan order masuk, pelaksanaan order, dan laporan siklus
order dan aktivitas logostik di perusahaan”.
F. Definisi Website
Menurut Darma, Jarot dan Shenia (2009:417) website adalah “sebutan
bagi sekelompok halaman web (web page), yang umumnya merupakan bagian
dari suatu nama domain (domain name) atau subdomain di World Wide Web
(WWW) di internet”.
G. Pengertian PHP (Hypertext Preprocessor)
Menurut Anhar (2010:3) “PHP singkatan dari PHP: Hypertext
Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open
source. PHP merupakan script yang terintegrasi dengan HTML dan berada pada
server (server side HTML embedded scripting)”.
H. Pengertian MySQL
Menurut Anhar (2010:45) MySQL (My Structure Query Languange)
adalah “salah satu Databases Management System (DBMS) dari sekian banyak
DBMS seperti Oracle, MS SQL, Postagre SQL, dan lainya”.
I. Pengertian Activity Diagram
Menurut Sukamto dan Shalahuddin (2015:161), “Diagram aktivitas atau
activity diagram menggambarkan workflow (alira kerja) atau aktivitas dari sebuah
sistem atau proses bisnis atau menu yang ada pada perangkat lunak”.
J. Pengertian Use Case Diagram
Menurut Sukamto dan Shalahuddin (2015:155) “Use Case atau diagram
Use Case merupakan pemodelan untuk melakukan (behavior) sistem informasi
yang akan dibuat.”.
K. Pengertian Sequence Diagram
Menurut Sukamto dan Shalahuddin (2015:165) yang dimaksud dengan
sequence diagram adalah “Diagram sekuen menggambarkan kelakuan objek pada
Use Case dengan mendeskripsikan waktu hidup objek dan message yang
dikirimkan dan diterima antar objek”.
L. Pengertian Class Diagram
Menurut Sukamto dan Shalahuddin (2015:122) yang dimaksud dengan
class diagram adalah “Diagram kelas atau class diagram menggambarkan struktur
sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun
system”.
M. Pengertian Deployment Diagram
Menurut Sukamto dan Shalahuddin (2015:154) bahwa “Deployment
diagram menunjukan konfigurasi komponen dalam proses eksekusi aplikasi”.
2.2 Penelitian Terkait
Berdasarkan hasil penelitian yang telah dilakukan oleh Andip Dwi
Ariyani dan Sukadi, (2011:44) pada Buana Star Print Pacitan bahwa sistem
konvensional dalam mencatat, menyusun dan menyimpan data-data transaksi
pemesanan, seperti mencatat transaksi pemesanan dan laporan harian maupun
bulanan pada sebuah buku, serta menulis pada selembar surat order dan nota
sebagai bukti transaksi. Sehingga menimbulkan permasalahan yaitu lamanya
proses pencatatan data, sering terjadi kesalahan pencatatan, terdapat selisih
nominal yang mengakibatkan pembuatan laporan menjadi cukup lama dan tidak
terselesaikan tepat waktu, tidak sedikit data yang hilang dikarenakan banyaknya
data dan sulit dalam memantau perkembangan transaksi pemesanan percetakan
Oleh karena itu untuk mengatasi permasalahan tersebut maka dengan
sistem informasi secara komputerisasi menghasilkan sistem informasi manajemen
percetakan digital printing, yang efisien dan tepat guna yang sebelumnya masih
menggunakan sistem konvensional. Sehingga manfaat yang di peroleh dengan
sistem komputerisasi ini di harapkan mampu memberikan kemudahan dalam
melakukan proses data.
Dan berdasarkan penelitian Elidjen dkk, (2011:755) yang telah dilakukan
pada ProPoster Indonesia bahwa terdapat berbagai kendala terkait dengan
ketersediaan informasi layanan dan penjualan produk percetakan yang terbatas
dimana perusahaan percetakan tersebut ingin memberikan kemudahan layanan
dan jasa penjualan produk percetakan secara online kepada para pelanggan serta
berencana melakukan ekspansi layanan bisnisnya ke seluruh wilayah Indonesia
kondisi inilah melatarbelakangi pengembangan sistem pelayanan jasa dan
penjualan produk percetakan berbasis web.
Tujuan utamanya adalah mengatasi kesulitan mendapatkan informasi
terkini terkait pelayanan jasa dan produk percetakan serta memudahkan promosi
layanan ke seluruh wilayah Indonesia. Sistem yang user friendly memudahkan
pelanggan mendapatkan berbagai informasi terkini yang pada akhirnya
memudahkan proses pelayanan jasa dan penjualan produk.
BAB III
ANALISA SISTEM BERJALAN
3.1. Tinjauan Perusahaan
CV. Vida Plus sesuai dengan domisili usaha beralamatkan di Jl. SDN
Krukut 01 Rt.02 Rw.03 Kelurahan Krukut, Kecamatan Limo Kota Depok.
Memiliki workshop di daerah Pondok Labu karena wilayah tersebut adalah salah
satu kawasan bisnis percetakan di Jakarta Selatan.
Teknik percetakan yang digunakan adalah dengan menggunakan teknik
offset dan digital printing. Jasa dan produk yang ditawarkan berupa barang
cetakan secara massal dalam bentuk tulisan dan gambar untuk sarana promosi,
keperluan kantor atau keperluan pribadi. Produk yang dihasilkan dapat berupa
brosur, Roller up Banner, Poste, Company Profile, flayer, kartu nama, produk
katalaog, undangan, kalender, shopping bag, kop surat, amplop dan berbagai
macam produk hasil cetakan.
3.1.1. Sejarah Perusahaan
Berdiri sejak tahun 2002 dahulu berawal dengan nama usaha CV. Vida
dengan kepemilikan Bapak Rifa’i dan dijalankan oleh Bapak H. Rop’i namun
seiring dengan berjalannya waktu Bapak Rifa’i menyerahkan sepenuhnya usaha
tersebut dengan Bapak H. Ropi’i kemudian nama perusahaan berganti nama CV.
Vida Plus.
Dengan pengalaman lebih dari 10 (sepuluh) tahun kini CV. Vida Plus
sampai dengan saat ini sudah memiliki pelanggan tetap yang sudah loyal kepada
CV Vida Plus. Pelanggan tersebut adalah pelanggan yang sudah memiliki
perjanjian kerjasama.
3.1.2. Struktur Organisasi dan Fungsi
CV. Vida Plus didirikan atas hubungan pertemanan dan dibangun
berdasarkan asas kekeluargaan, dengan asas tersebut perusahaan hingga sekarang
dapat bertahan. Struktur organisasi perusahaan masih terbilang sederhana karena
masih terbatasnya Sumber Daya Manusia yang ada namun tetap dapat menunjang
jalannya usaha, karena SDM yang dimiliki mempunyai keahliannya dibidang
masing-masing khususnya dibidang percetakan serta memiliki loyalitas yang
tinggi terhadap perusahaan.
CV Vida Plus adalah perusahaan berbentuk Commanditaire
Vennootschap (CV) atau persekutuan komanditer merupakan persekutuan yang
didirikan oleh dua orang atau lebih yang mana salah satu pihak bertindak sebagai
sekutu komanditer. Berikut struktur organisasi CV Vida Plus:
Gambar III.1
Struktur Organisasi CV Vida Plus
Komanditer
Direktur
General Manager
Manager Produksi
Bagian Desain Bagian
Produksi Pemasaran
dan Distribusi
Manager Keuangan
Akunting dan Pelaporan
Kasir dan Administrasi
Untuk fungsi masing-masing sesuai dengan keahliannya dan bidangnya
terkait dengan proses pemesanan jasa percetakan, berikut fungsi dan tugas pokok
masing-masing bagian:
1. Bagian Desain
Bertanggung jawab untuk mendesain seluruh produk percetakan sesuai
dengan permintaan pelanggan.
2. Bagian Produksi
Bertanggung jawab untuk mencetak dan memproduksi hasil percetakan
yang telah di desain baik dengan cara offset atau dengan digital printing
sesuai dengan media yang diinginkan pelanggan.
3. Pemasaran dan Distribusi
Bertanggung jawab untuk memasarkan jasa dan produk percetakan seluas
mungkin agar kelangsungan usaha berjalan terus serta melakukan distribusi
atas hasil produk percetakan yang telah dihasilkan dengan cepat dan tepat
waktu.
4. Kasir dan Administrasi.
Bertugas menerima uang hasil penjualan jasa dan produk percetakan dari
pelanggan dan memastikan pembayaran telah sesuai dengan harga produk
dan jasa percetakan serta mengelola rekening Bank perusahaan.
3.2. Proses Bisnis
Didalam kegiatan proses bisnis CV. Vida Plus untuk kegiatan
pemesanan barang cetakan ada beberapa proses yang di jalani dengan tahapan
sebagai berikut:
1. Tahap pemesanan dimana pelanggan datang langsung ke workshop atau
melalui telepon melakukan penawaran harga apabila penawaran harga telah
sesuai maka dibuatkan desainnya sesuai dengan desain/kriteria yang
diinginkan pelanggan.
2. Tahap produksi, bagian desain mengkonfirmasi kepada bagian pemasaran
bahwa pesanannya telah sesuai, di teruskan ke bagian produksi untuk
dilakukan produksi percetakan maka selanjutnya diserahkan kebagian
distribusi.
3. Tahap pembayaran, bagian distribusi akan meminta surat jalan dan kwitansi
dan mengirimkan barang cetakan beserta kwitansi/invoice setelah produk
diterima maka pelanggan melakukan pembayaran/pelunasan.
Diagram Activity Pemesanan
Customer Pemasaran
Phas
e
Melakukan Penawaran
Menerima penawaran
Memberikan penawaran
Harga CocokTidak
YaMencatat Nota
pesanan Customer
Memberikan Desain Produk Pesanan
Gambar III.2
Activity Diagram Pemesanan
Diagram Activity Proses Produksi
Pemasaran dan Distribusi Desainer ProduksiP
has
e
Memberikan Desain Produk
Menerima Desain Produk
Membuat Desain Produk
Mengkonfirmasi Hasil Desain
Tidak
YaMenerima desain
Final Produk
Mulai Produksi
Menyerahkan Produk
Menerima Produk
Mengirim ke Pelanggan
Gambar III.3
Activity Diagram Proses Produksi
Diagram Activity Pembayaran
Pemasaran dan Distribusi Kasir dan Administrasi CustomerP
has
e
Menerima Produk
Membuat Kwitansi dan Surat Jalan
Meminta Kwitansi dan Surat Jalan
Menyerahkan Kwitansi dan Surat
Jalan
Menerima Kwitansi dan Surat Jalan
Menyerahkan Kwitansi dan Surat Jalan
Mengirim Produk
Menerima Produk
Melakukan Pembayaran
Menerima Pembayaran
Gambar III.4
Activity Diagram Pembayaran
3.3. Spesifikasi Dokumen Sistem Berjalan
Dokumen masukan yang digunakan selama ini oleh CV Vida Plus dalam
melakukan pemesanan dan pengiriman produk hasil cetakan adalah sebagai
berikut:
a. Nama Dokumen : Nota Pesanan
Fungsi : Formulir Pemesanan
Sumber : Bagian Pemasaran
Tujuan : Pelanggan
Media : Kertas karbon tiga rangkap
Frekuensi : Setiap terjadi pemesanan dan penawaran
Format : Lampiran A-1
b. Nama Dokumen : Kwitansi
Fungsi : Sebagai bukti tanda terima uang
Sumber : Kasir
Tujuan : Pelanggan
Media : Kertas karbon dua rangkap
Frekuensi : Setiap terjadi pemesanan barang cetakan
Format : Lampiran A-2
c. Nama Dokumen : Surat Jalan
Fungsi : Sebagai bukti pengiriman Barang
Sumber : Bagian Pengiriman
Tujuan : Pelanggan
Media : Kertas karbon dua rangkap
Frekuensi : Setiap terjadi penerimaan barang cetakan
Format : Lampiran A-3
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisis Kebutuhan Software
A. Tahapan Analisis
Pada tahap analisis penulis merancang sistem yang akan digunakan
dalam sistem pemesanan jasa cetak menggunakan aplikasi web dengan sistem e-
commerce yaitu sistem pemesanan secara online berbasis web dimana Pelanggan
melakukan pemesanan melalui media browser. Berikut ini spesifikasi kebutuhan
(system requirement) dari sistem e-commerce;
Halaman User:
A1. User dapat melakukan registrasi.
A2. User dapat memilih produk berdasarkan kategori.
A3. User dapat memilih produk yang dipesan.
A4. User melakukan konfirmasi pemesanan.
A5. User dapat memilih riwayat pesanan untuk konfirmasi pembayaran.
A6. User dapat merubah data profil.
Halaman Admin:
B1. Admin dapat mengelola halaman web.
B2. Admin dapat mengelola data produk.
B3. Admin dapat mengelola pesanan.
B4. Admin dapat mengelola settingan
B5. Admin dapat mengelola slide.
B6. Admin dapat mengelola user.
B. Use Case Diagram
1. Use Case Diagram Pemesanan
Admin
Login
Validasi
logout
mengelola produk
Pengunjung/Customer
memeriksa status login
memilih produk
mencari produk
mengelola pesanan
menghapus produk
menambah produk
mencari produk
menambah kategori
menghapus Kategori
Melihat pesanan
detail pesanan
menyetujui pesanan
konfirmasi pembayaran
Daftar Pesanan
Riwayat Pemesanan
<<include>>
isi form pembayaran
kirim
<<include>>
<<include>>
Perbaharui jumlah pesanan
Pesan Produk Lain
checkout<<include>>
proses
kembali
<<include>>
<<extend>>
detail pesanan Pemesanan
<<extend>>
registrasi
mengelola halaman web
buat halaman baru
melihat halaman
menghapus halaman
merubah halaman
pengaturan
profil user pengaturan
umum
edit profilsimpan profil
<<include>><<include>>
edit
<<extend>>
mengelola user
edit
hapus
mengelola slide
ubah hapus
tambah
profil
ubah profil
simpan perubahan profil
Gambar IV.1
Use Case Diagram Pemesanan
Deskripsi Use Case Pemesanan halaman user:
Tabel IV.1
Deskripsi Use Case Diagram Pemesanan Halaman user
Use Case Name Checkout
Requirements A1, A3, A4, A5
Goal User dapat melakukan pemesanan
Pre-conditions User telah memesan produk
Post-conditions Sistem menampilkan rincian
pemesanan produk
Failed end condition
User membatalkan pemesanan.
Kemungkinan user ingin menambah
produk lainnya, atau membatalkan
pesanan.
Primary Actors User
Main Flow / Basic Path
1. User memilih produk.
2. Sistem menampilkan produk.
3. User melakukan pemesanan.
4. User memilih daftar pesanan
5. Sistem mengecek apakah user
sudah terdaftar atau belum. Jika
belum maka system akan
menampilkan halaman registrasi.
Jika sudah sistem akan
menampilkan halaman alamat
pengiriman.
6. User melakukan checkout.
7. User memilih riwayat pemesanan
8. Sistem menampilkan daftar
riwayat produk yang telah dipesan.
9. User memilih konfirmasi pesanan.
10. User mengisi formulir konfirmasi
pembayaran
11. User memilih kirim konfirmasi
pembayaran
a. Use Case Konfirmasi Pesanan
Deskripsi Use Case Konfirmasi Pesanan:
Tabel IV.2
Deskripsi Use Case Diagram Konfirmasi Pesanan
Use Case Name Checkout
Requirements A4
Goal User dapat melakukan konfirmasi
pemesanan
Pre-conditions User telah login
Post-conditions Sistem berhasil mengkonfirmasi
pesanan
Failed end condition User gagal konfirmasi. Tidak ada
pesanan di dalam daftar pesanan
Primary Actors User
b. Use Case Konfirmasi Pembayaran
Deskripsi Use Case Konfirmasi Pembayaran:
Tabel IV.3
Deskripsi Use Case Diagram Konfirmasi Pembayaran
Use Case Name Checkout
Requirements A5
Goal User dapat melakukan konfirmasi
pembayaran
Pre-conditions User telah login
Post-conditions Sistem berhasil mengkonfirmasi
pembayaran
Failed end condition User gagal konfirmasi. Tidak ada
pesanan di dalam riwayat pemesanan
Primary Actors User
Main Flow / Basic Path
1. User memilih riwayat pesanan
2. Sistem menampilkan detail
riwayat pemesanan
3. User dapat melihat detail pesanan
4. User melakukan konfirmasi
pembayaran
5. User mengisi formulir detail
pembayaran
6. User mengirim detail pembayaran
7. Sistem berhasil menyimpan data
pembayaran
2. Use Case Diagram Halaman Admin
Deskripsi Use Case Diagram Halaman Admin:
Tabel IV.4
Deskripsi Use Case Halaman Admin
Use Case Name Checkout
Requirements B1, B2, B3, B4, B5, B6
Goal
Admin dapat menambah data,
merubah dan menghapus produk,
pengguna dan menyetujui pesanan di
menu admin
Pre-conditions Admin berhasil Login
Post-conditions Sistem berhasil menambah data,
merubah dan menghapus
Failed end condition Gagal menambah data, merubah dan
menghapus produk di menu admin
Primary Actors Admin
Main Flow / Basic Path
1. Admin login dengan user admin
2. Sistem menampilkan halaman
admin.
3. Apabila admin berhasil login
maka sistem akan menampilkan
menu halaman admin.
4. Admin dapat menambah,
merubah dan menghapus Produk
dan kategori produk
5. Admin dapat meghapus dan
mengkonfirmasi pesanan.
6. Admin dapat Mengelola detail
pemesanan.
Invariant A:
A1. Admin memilih data produk.
A2. Admin memilih data pesanan
A3. Admin memilih tambah produk
A4. Admin memilih tombol “Edit”.
A5. System menampilkan form data
produk.
A6. Admin mengedit data produk.
A7. Kembali ke nomor 5.
Invariant B B1. Admin memilih produk.
B2. Admin memilih tombol tambah
produk.
B3. System menampilkan Form
produk.
B4. Admin memilih tombol simpan
a. Use Case Mengelola Produk pada Halaman Admin
Deskripsi Use Case Diagram Kelola Produk:
Tabel IV.5
Deskripsi Use Case Kelola Produk
Use Case Name Checkout
Requirements B2
Goal
Admin dapat menambah data,
merubah dan menghapus produk dan
kategori produk di menu admin
Pre-conditions Admin berhasil Login
Post-conditions Sistem berhasil menambah data,
merubah dan menghapus
Failed end condition Gagal menambah data, merubah dan
menghapus produk di menu admin
Primary Actors Admin
Main Flow / Basic Path
1. Admin login dengan user admin
2. Sistem menampilkan halaman
admin.
3. Apabila admin berhasil login
maka sistem akan menampilkan
menu halaman admin.
4. Admin dapat menambah,
merubah dan menghapus Produk
dan kategori produk
5. Admin dapat meghapus dan
mengkonfirmasi pesanan.
6. Admin dapat Mengelola laporan
pesanan.
Invariant A:
A1. Admin memilih tambah produk.
A2. Admin memilih edit produk
A3. Admin memilih tambah kategori
A4. Admin memilih edit kategori
A5. System menampilkan form data
produk.
A6. System menampilkan form data
kategori.
A7. Admin mengedit data produk.
A8. Admin mengedit kategori.
b. Use Case Diagram Mengelola Pesanan pada Halaman Admin
Deskripsi Use Case Diagram Kelola Pesanan:
Tabel IV.6
Deskripsi Use Case Diagram kelola Produk
Use Case Name Checkout
Requirements B3
Goal Admin berhasil menyetujui pesanan
Pre-conditions Admin berhasil Login
Post-conditions Sistem berhasil mengkonfirmasi
pesanan
Failed end condition Gagal menyetujui pesanan.
Primary Actors Admin
Main Flow / Basic Path
1. Admin login dengan user admin
2. Sistem menampilkan daftar
pesanan
3. Admin dapat melihat detail
pesanan
4. Admin dapat menyetujui pesanan
Invariant A:
A1. Admin memilih Pesanan.
A2. Admin melihat daftar pesanan
A3. Admin memilih detail pesanan
A4. System menampilkan detail
pesanan
A5. Admin menyetujui pesanan.
c. Use Case Diagram Mengelola User pada Halaman Admin
Deskripsi Use Case Diagram Kelola User:
Tabel IV.7
Deskripsi Use Case Diagram Kelola User
Use Case Name Checkout
Requirements B6
Goal Admin berhasil menghapus user
Pre-conditions Admin berhasil Login
Post-conditions Sistem berhasil merubah dan
menghapus data user
Failed end condition
Gagal menghapus atau merubah data
user. Terdapat data user yang belum
lengkap
Primary Actors Admin
Main Flow / Basic Path
1. Admin login dengan user admin
2. Sistem menampilkan daftar user
3. Admin dapat melihat detail user
4. Admin dapat menghapus user
5. Admin dapat merubah data user
C. Activity Diagram
1. Activity Diagram Halaman Pemesanan Produk oleh Pelanggan
a. Activity Diagram Pemesanan Produk oleh pelanggan
Start
Memilih Kategori Produk
End
Memilih ProdukTampil Detail
Produk
Pilih produk lain
Masuk Daftar Pesanan
Add item
Tampil Daftar pesanan
Tampil Daftar pesanan
simpan riwayat pesanan
chekout
Pesan produk lain
Gambar IV.2
Activity Diagram Pemesanan Oleh pelanggan
b. Activity Diagram konfirmasi pembayaran oleh pelanggan
Start
Memilih Riwayat Pesanan
Tampil riwayat pesanan
End
Memilih konfirmasi pesanan
Isi formulir konfirmasi
pembayaran
kirim konfirmasi pembayaran
konfirmasi pembayaran
Gambar IV.3
Activity Diagram Konfirmasi Pembayaran Oleh pelanggan
2. Activity Diagram Halaman Admin
a. Activity Diagram Halaman Awal Admin
Start
Login
Halaman Admin
mengelola Halaman web
Mengelola Produk
Mengelola Pemesanan
Mengelola Pengaturan
Mengelola Slide
Mengelola Pengguna
End
logout
Gambar IV.4
Activity Diagram Halaman awal admin
b. Activity Diagram Mengelola Produk
Activity Diagram mengelola Pesanan oleh Admin
Admin Sistem P
has
e
Start
pilih tambah produk
Pilih produk
Pilih tambah kategori
Pilih kategori
Tampil Form
Isi Form
Tampil daftar produk
Tampil Form
Isi Form
Tampil daftar kategori
Add
Edit
HapusEnd
cari
Cari
Gambar IV.5
Activity Diagram Halaman Admin Kelola Produk
c. Activity Diagram Mengelola Pesanan
Activity Diagram mengelola Pesanan oleh Admin
Admin Sistem
Ph
ase
Start
Melihat Daftar Pesanan
AddTampilkan daftar
Pesanan
Memilih Detail Pesanan
Konfirmasi pesanan
End
Cari PesananMenampilkan Hasil
Pencarian
Pilih Pesanan
Cari
Menampilkan Detail Pesanan
Gambar IV.6
Activity Diagram Mengelola pesanan
d. Activity Diagram Mengelola User
Activity Diagram mengelola Pesanan oleh Admin
Admin Sistem P
has
e
Start
Melihat Daftar Pengguna
Tampilkan daftar Pengguna
Memilih tambah Admin
End
Simpan
Tampil form pengguna
Isi form pengguna
Edit Profil Tampil form
Hapus
Gambar IV.7
Activity Diagram Mengelola User
4.2. Desain
Desain sistem yang akan dirancang oleh penulis setelah dilakukan analisa
kebutuhan sistem kemudian menterjemakan ke dalam bentuk rancangan antar
muka (input dan output), rancangan database, rancangan software architecture.
4.2.1. Database
Dalam merancang desain database penulis menggunakan Entity
Relationship Diagram (ERD).
1. Entity Relationship Diagram (ERD)
pelanggan melakukan Pesanan
Id_user
Full_name
Password
Produk
Kategori Punya
Kd_pesanan Tgl_pesan total Metode_bayar
Kd_produk
Nama
harga
Id_kategori
Nama
address
phone
levelstatus
status
deskripsi
Id_kategori
Id_user status
deskripsi
Detail Pesanan
kd_detailpesanan
nama
banyaknya
harga
kd_pesanan
Konfirmasi
Id_konfirmasi
Bank_pengirim
Account_name
Bank_penerima
Tgl_bayar
status
Kd_pesanan
checkout
dipesan
berisi
kd_produk
Gambar IV.8
Entity Relationship Diagram Pemesanan Produk
2. Logical Record Structure
User
Pesanan
Detail pesanan
Produk
kategori
Konfrimasi
id_userPK
full_name
phone
address
kd_pesananPK
id_user
status
Id_user
kd_pesanan
Kd_produk
idkategori
id_detail_pesanan
kd_pesanan
nama
kd_produkPK
nama
harga
id_kategoriPK
nama
status
level
tgl_pesan
metode_bayar
total
banyaknya
harga
kd_produk
deskripsi
status
id_kategori
deskripsi
id_konfirmasiPK
bank_pengirim
account_name
bank_penerima
tgl_bayar
status
kd_pesanan
Kd_pesanan
password
Gambar IV.9
Logical Record Structure Pemesanan Online
3. Spesifikasi File
a. Spesifikasi File Tabel User
Nama Database : vidaprintingdb
Nama File : Tabel User
Akronim : tbuser.myd
Tipe File : File Master
Akses File : Random
Panjang Record : 260 byte
Kunci Field : id_user
Tabel IV.8.
Spesifikasi File Tabel User
No. Elemen Data Nama Field Type Size Keterangan
1 Id User id_user int 11 Primary key
2 Email User email Varchar 50
3 Nama Lengkap full_name Varchar 50
4 No Telepon no_telepon Varchar 20
5 Alamat alamat Varchar 100
6 Password password Varchar 10
7 Kode pos zip int 11
8 Status status tinyint 4
9 Level User level tinyint 4
b. Spesifikasi File Tabel Pesanan
Nama Database : vidaprintingdb
Nama File : Tabel Orders
Akronim : tborders.myd
Tipe File : File Transaksi
Akses File : Random
Panjang Record : 44 byte
Kunci Field : id_pesanan
Tabel IV.9.
Spesifikasi File Tabel Orders
No. Elemen Data Nama Field Type Size Keterangan
1 kode pesanan kd_pesanan int 10 Primary key
2 Id user id_user int 10
3 Status status tinyit 4
4 Tgl Pesan tgl_pesan date
5 Metode bayar metode_bayar Varchar 20
6 Total total double
c. Spesifikasi File Detail Pesanan
Nama Database : vidaprintingdb
Nama File : Tabel Detail Pesanan
Akronim : tborder_details.myd
Tipe File : File transaksi
Akses File : Random
Panjang Record : 50 byte
Kunci Field : id_detail_pesanan
Tabel IV.10.
Spesifikasi File Tabel Detail Pesanan
No. Elemen Data Nama Field Type Size Keterangan
1 Id detail
pesanan id_detail_pesanan int 10 Primary key
2 Id pesanan id_pesanan int 10
3 Nama produk nama varchar 10
4 Banyaknya banyaknya int 10
5 Harga harga double
6 kode produk kd_produk varchar 10
d. Spesifikasi File Produk
Nama Database : vidaprintingdb
Nama File : Tabel Produk
Akronim : vidaprintingdb.myd
Tipe File : File Master
Akses File : Random
Panjang Record : 150 byte
Kunci Field : id_produk
Tabel IV.11.
Spesifikasi File Tabel Produk
No. Elemen Data Nama Field Type Size Keterangan
1 kode produk kd_produk int 10 Primary key
2 Nama produk nama varchar 25
3 Harga harga double
4 Deskripsi deskripsi varchar 100
5 status status tinyint 4
6 Id Kategori id_kategori int 11
e. Spesifikasi File kategori
Nama Database : vidaprintingdb
Nama File : Tabel kategori
Akronim : categories.myd
Tipe File : File Master
Akses File : Random
Panjang Record : 136 byte
Kunci Field : id_kategori
Tabel IV.12.
Spesifikasi File Tabel Kategori
No. Elemen Data Nama Field Type Size Keterangan
1 Id Kategori id_kategori int 11 Primary key
2 Nama Kategori nama varchar 25
3 Deskripsi deskripsi varchar 100
f. Spesifikasi File konfirmasi
Nama Database : vidaprintingdb
Nama File : Tabel confirmation
Akronim : confirmations.myd
Tipe File : File Transaksi
Akses File : Index
Panjang Record : 130 byte
Kunci Field : id_konfirmasi
Tabel IV.13.
Spesifikasi File Tabel confirmation
No. Elemen Data Nama Field Type Size Keterangan
1 Id Konfirmasi id_konfirmasi int 11 Primary key
2 Bank Pengirim bank_name varchar 35
3 Pemilik Rekening account_name varchar 35
4 Bank Penerima bank_penerima varchar 35
5 Tanggal bayar tgl_bayar date
6 Status status tinyint 4
7 kode pesanan kd_pesanan int 10
4.2.2. Software Architecture
A. Class Diagram
confirmations
- id_confirmation: int- sender_bank:var- bank_account_name:var - receiver_bank:var- ammount:double- payment_date:date- status:tinyint- kd_pesanan:double
+ add()+ read()
user
- Id_user: int- Email:var- full_name: var - password:var- phone: var - Alamat: var- status: var - level: var
+ create()+ delete()+ read()+ update()
product
- kd_produk: int- id_Kategori: int- nama: var - harga: double- deskripsi: var- status: tinyint
+ create()+ delete()+ read()+ update()
categories
- id_kategori: int- namai: var- deskripsi: var
+ create(): void+ delete(): void+ read(): void+ update(): void
pesanan
- kd_pesanan: int- id_user:int- status:tinyint - tgl_Pesan: date- metode_bayar:var- total: double- cara bayar: var
+ create()+ delete()+ read()+ update()
detail_pesanan
- id_order_detail: int- kodeProduk: var- id_order: int- nama:var- Jumlah: Var - harga: double
+ hapusItem()+ tambahItem()
meakukan
Melakukan
Berisi
Terdiri dari
Memiliki
Terdiri dari
Gambar IV.10
Class Diagram Pemesanan
B. Sequence Diagram
1. Sequence Diagram Halaman User
a. Sequence Diagram Pilih Produk
produkindex.phpCustomer
sd Intercation
Pilih_kategori()
pilih
setkdproduk(var)
getproduk():produk
detail_produk.php
Gambar IV.11
Sequence Diagram Pilih Produk
b. Sequence Diagram Tambah ke Daftar Pesanan
customer
sd Intercation
detail_produk.php
add_to_cart(kdprdk.jml)
:produk
setkdproduk(var)
:daftar_pesanan
tambahitem()
getproduk():produk
Setproduk(produk)
setjumlah(jml)
Gambar IV.12
Sequence Diagram Tambah ke Daftar Pesanan
c. Sequence Diagram Check ke Riwayat Pesanan
daftar pesanan
sd Intercation
index.php
checkout()
detail_produk.php
produk
SetKodeBarang(var)
customer
getcontent():var
getproduk():produk
loop
[parameters]
Gambar IV.13
Sequence Diagram Check ke Riwayat Pesanan
d. Sequence Diagram Konfirmasi Pembayaran
konfirmasi_pesanan
sd Intercation
index.php
riwayat pemesanan()
riwayat pesanan
:form pembayaranuser
daftar pemesanan
data pemesanan
mengisi detail pembayaran
konfirmasi pengisian tidak lengkap
kirim data pembayaran
kirim
Gambar IV.14
Sequence Diagram Konfirmasi Pembayaran
2. Sequence Diagram Halaman Admin
a. Sequence Diagram Admin Mengelola Data Produk
input_produk
sd Intercation
admin_login
masuk username& Password
admin_home produk
simpan
Admin
inputdtproduk():var
delete
Gambar IV.15
Sequence Diagram Admin Mengelola data produk
b. Sequence Diagram Admin Mengelola Data Pesanan sd Intercation
admin_login
masuk username& Password
admin_home pesanan
tampilan
Admin
delete
Gambar IV.16
Sequence Diagram Admin Mengelola data Pesanan
c. Sequence Diagram Admin Mengelola Data Member
sd Intercation
admin_login
masuk username& Password
admin_home mMember
tampilan
Admin
delete
Gambar IV.17
Sequence Diagram Admin Mengelola data Member
C. Deployment Diagram
deployment Activ ity2
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version
Web Serv er
Halaman Depan
Halaman Admin
Apache Serv er
style.css
jquery.js
Database serv er
MySql Serv er
Client PC
Browser
Gambar IV.18
Deployment Diagram Sistem Pemesanan Jasa Cetak
4.2.3. User Interface
1. Halaman Depan
Gambar IV.19
Tampilan Halaman Depan
2. Halaman Registrasi User
Gambar IV.20
Tampilan Halaman Registrasi
3. Halaman Log in
Gambar IV.21
Tampilan Halaman Login
4. Halaman Admin
Gambar IV.22
Tampilan Halaman Admin
5. Tampilan Halaman konfirmasi pesanan
Gambar IV.23
Tampilan Halaman Admin Konfirmasi Pesanan
6. Tampilan persetujuan pesanan
Gambar IV.24
Tampilan Halaman persetujuan pesanan
4.3. Code Generation
Berikut adalah listing program masing-masing class:
A. Class User
<?php
class User extends CI_Model {
var $table = 'users';
var $level = array(
1 => 'Admin',
0 => 'Customer'
);
var $status = array(
1 => 'Active',
0 => 'Inactive'
);
function __construct() {
parent::__construct();
}
function checkLogin($username, $password) {
$this->db->select('*');
$this->db->where('email', $username);
$this->db->where('password', md5($password));
$this->db->where('status', 1);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function updateLastLogin($id) {
$data = array(
'last_login' => date('Y-m-d H:i:s')
);
$this->db->where('id', $id);
$this->db->update($this->table, $data);
}
function create() {
$data = array(
'full_name' => $this->input->post('full_name'),
'email' => $this->input->post('email'),
'password' => md5($this->input->post('password')),
'phone' => $this->input->post('phone'),
'address' => $this->input->post('address'),
'zip' => $this->input->post('zip'),
'level' => 0,
'status' => 1
);
$this->db->insert($this->table, $data);
}
function update($id) {
if ($this->input->post('password')) {
$data = array(
'full_name' => $this->input->post('full_name'),
'email' => $this->input->post('email'),
'password' => md5($this->input->post('password')),
'phone' => $this->input->post('phone'),
'address' => $this->input->post('address'),
'zip' => $this->input->post('zip')
);
} else {
$data = array(
'full_name' => $this->input->post('full_name'),
'email' => $this->input->post('email'),
'phone' => $this->input->post('phone'),
'address' => $this->input->post('address'),
'zip' => $this->input->post('zip')
);
}
$this->db->where('id', $id);
$this->db->update($this->table, $data);
}
function getUserById($id) {
$this->db->select('*');
$this->db->where('id', $id);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function findByEmail($email) {
$this->db->select('*');
$this->db->where('email', $email);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function createToken($userId, $token) {
$data = array(
'reset_token' => $token
);
$this->db->where('id', $userId);
$this->db->update($this->table, $data);
}
function resetPassword($id, $password) {
$data = array(
'password' => md5($password)
);
$this->db->where('id', $id);
$this->db->update($this->table, $data);
}
function truncateToken($id) {
$data = array(
'reset_token' => null
);
$this->db->where('id', $id);
$this->db->update($this->table, $data);
}
function findByEmailAndResetPasswordToken($email, $token) {
$this->db->select('*');
$this->db->where('email', $email);
$this->db->where('reset_token', $token);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function findAll() {
$this->db->order_by('level', 'desc');
$query = $this->db->get($this->table);
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
}
?>
B. Class Produk
<?php
class Product extends CI_Model {
var $table = 'products';
var $status = array(
0 => 'draft',
1 => 'published'
);
function __construct() {
parent::__construct();
}
function create() {
$data = array(
'code' => $this->input->post('code'),
'name' => $this->input->post('name'),
'permalink' => url_title(strtolower($this->input->post('name'))),
'price' => $this->input->post('price'),
'discount_percent' => $this->input->post('discount_percent'),
'net_price' => $this->input->post('price') - ($this->input-
>post('discount_percent') / 100 * $this->input->post('price')),
'description' => $this->input->post('description'),
'stock' => $this->input->post('stock'),
'status' => $this->input->post('status'),
'category_id' => $this->input->post('category_id')
);
$this->db->insert($this->table, $data);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
function getProducts($perPage = null, $offset = null, $key = null) {
$this->db->select('p.id, p.code,p.name,p.description,p.permalink,
p.price, p.discount_percent,p.net_price, p.stock, p.status, c.name as
categoryName');
$this->db->join('categories c', 'c.id = p.category_id');
$this->db->limit($perPage, $offset);
if ($key != null) {
$this->db->like('p.name', $key);
$this->db->or_like('p.description', $key);
}
$query = $this->db->get('products p');
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getProductsPublished($perPage = 6, $offset = 0, $key = null) {
$this->db->select('p.id, p.code,p.name,p.description,p.permalink,
p.price, p.discount_percent,p.net_price, p.stock, p.status, c.name as
categoryName');
$this->db->join('categories c', 'c.id = p.category_id');
$this->db->where('p.status', 1);
$this->db->limit($perPage, $offset);
if ($key != null) {
$this->db->like('p.name', $key);
$this->db->or_like('p.description', $key);
}
$query = $this->db->get('products p');
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getProductsByCategoryId($categoryId, $perPage = 6, $offset = 0)
{
$this->db->select('p.id,p.code, p.name,p.description,p.permalink,
p.price, p.discount_percent,p.net_price, p.stock, p.status, c.name as
categoryName');
$this->db->join('categories c', 'c.id = p.category_id');
$this->db->where('p.category_id', $categoryId);
$this->db->where('p.status', 1);
$this->db->limit($perPage, $offset);
$query = $this->db->get('products p');
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getNewProducts($limit) {
$this->db->select('p.id,p.code, p.name,p.description,p.permalink,
p.price, p.discount_percent,p.net_price, p.stock, p.status, c.name as
categoryName');
$this->db->join('categories c', 'c.id = p.category_id');
$this->db->where('status', 1);
$this->db->limit($limit);
$query = $this->db->get('products p');
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getDiscountedProducts() {
$this->db->select('p.id, p.code,p.name,p.description,p.permalink,
p.price, p.discount_percent,p.net_price, p.stock, p.status, c.name as
categoryName');
$this->db->join('categories c', 'c.id = p.category_id');
$this->db->where('status', 1);
$this->db->where('discount_percent !=', 0);
$query = $this->db->get('products p');
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getProductsById($id) {
$this->db->select('*');
$this->db->where('id', $id);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function getProductByCode($code) {
$this->db->select('*');
$this->db->where('code', $code);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function getProductByPermalink($permalink) {
$this->db->select('p.id, p.name,p.description,p.permalink,
p.code,p.category_id, p.price, p.discount_percent,p.net_price,
p.discount_percent, p.stock, p.status, c.name as categoryName');
$this->db->join('categories c', 'c.id = p.category_id');
$this->db->where('p.permalink', $permalink);
$query = $this->db->get('products p', 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function getProductsByOptions($options = array()) {
$this->db->where($options);
$query = $this->db->get($this->table);
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function update($id) {
$data = array(
'code' => $this->input->post('code'),
'name' => $this->input->post('name'),
'permalink' => url_title(strtolower($this->input->post('name'))),
'price' => $this->input->post('price'),
'discount_percent' => $this->input->post('discount_percent'),
'net_price' => $this->input->post('price') - ($this->input-
>post('discount_percent') / 100 * $this->input->post('price')),
'description' => $this->input->post('description'),
'stock' => $this->input->post('stock'),
'status' => $this->input->post('status'),
'category_id' => $this->input->post('category_id')
);
$this->db->where('id', $id);
$this->db->update($this->table, $data);
return TRUE;
}
function delete($id) {
$this->db->where('id', $id);
$this->db->delete($this->table);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
}
?>
C. Class Pesanan
<?php
class Order extends CI_Model {
var $table = 'orders';
var $status = array(
0 => 'Pending',
1 => 'Approved',
2 => 'Order Sent',
3 => 'Cancelled',
4 => 'Waiting Approval'
);
var $paymentMethods = array(
1 => 'Bank Transfer'
);
function __construct() {
parent::__construct();
}
function create($data) {
$this->db->insert($this->table, $data);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
function getOrders($options = array(), $limit = 5, $offset = 0, $key = null) {
$this->db->where($options);
if ($key != null) {
$this->db->like('code', $key);
}
$this->db->order_by('id', 'DESC');
$this->db->limit($limit, $offset);
$query = $this->db->get($this->table);
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getAll() {
$query = $this->db->get($this->table);
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getHistory($options = array(), $limit = 5, $offset = 0) {
$this->db->where($options);
$this->db->limit($limit, $offset);
$this->db->order_by('id', 'DESC');
$query = $this->db->get($this->table);
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getByOrderCode($code) {
$this->db->where('code', $code);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function getById($id) {
$this->db->where('id', $id);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function update($data, $id) {
$this->db->where('id', $id);
$this->db->update($this->table, $data);
return TRUE;
}
}
?>
D. Class Kategori
<?php
class Category extends CI_Model {
var $table = 'categories';
function __construct() {
parent::__construct();
}
function create() {
$data = array(
'name' => $this->input->post('name'),
'description' => $this->input->post('description'),
'permalink' => url_title(strtolower($this->input->post('name')))
);
$this->db->insert($this->table, $data);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
function getCategories() {
$this->db->select('*');
$this->db->order_by('name','ASC');
$query = $this->db->get($this->table);
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
function getCategoryById($id) {
$this->db->select('*');
$this->db->where('id', $id);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function getCategoryByPermalink($permalink) {
$this->db->select('*');
$this->db->where('permalink', $permalink);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function update($id) {
$data = array(
'name' => $this->input->post('name'),
'description' => $this->input->post('description'),
'permalink' => url_title(strtolower($this->input->post('name')))
);
$this->db->where('id', $id);
$this->db->update($this->table, $data);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
function delete($id) {
$this->db->where('id', $id);
$this->db->delete($this->table);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
function getDropDown() {
$this->db->select('id,name');
$query = $this->db->get($this->table);
$data = array();
foreach ($query->result_array() as $row) {
$data[$row['id']] = $row['name'];
}
return $data;
}
}
?>
E. Class Detail Pesanan
<?php
class Order_detail extends CI_Model {
var $table = 'order_details';
function __construct() {
parent::__construct();
}
function create($data) {
$this->db->insert($this->table, $data);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
function getByOrderId($orderId) {
$this->db->where('order_id', $orderId);
$this->db->order_by('id', 'DESC');
$query = $this->db->get($this->table);
if ($query->num_rows() > 0) {
return $query->result_array();
}
}
}
?>
F. Class Konfirmasi
<?php
class Confirmation extends CI_Model {
var $status = array(
0 => 'Pending',
1 => 'Approved',
);
var $table = 'confirmations';
function create($data = array()) {
$this->db->insert($this->table, $data);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
function getByOrderId($orderId) {
$this->db->where('order_id', $orderId);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function getById($id) {
$this->db->where('id', $id);
$query = $this->db->get($this->table, 1);
if ($query->num_rows() == 1) {
return $query->row_array();
}
}
function update($data, $id) {
$this->db->where('id', $id);
$this->db->update($this->table, $data);
if ($this->db->affected_rows() == 1) {
return TRUE;
}
return FALSE;
}
}
?>
4.4. Testing
A. Form Login
Tabel IV.15
Hasil Pengujian Black Box Testing Form Login
No. Skenario Test Case Hasil yang
diharapkan
Hasil
Penguji
an
Kesimpulan
1 Mengosongkan
email dan
password lalu klik
tombol login
email dan
password
tidak diisi
sistem akan
menolak akses
login dan
menampilkan
pesan “The email
field is required.
The password
field is required.”
Sesuai
harapan
Valid
2 Hanya mengisi
Mengosongkan
password lalu klik
tombol login
password
tidak diisi
sistem akan
menolak akses
login dan
menampilkan
pesan “The
password field is
required.”
Sesuai
harapan
Valid
3 Hanya mengisi
password
Mengosongkan
email lalu klik
tombol login
tidak diisi
sistem akan
menolak akses
login dan
menampilkan
pesan “The email
field is required.”
Sesuai
harapan
Valid
4 menkombinasikan
dengan mengisi
email benar dan
password salah
lalu klik tombol
login
diisi
dengan
benar
Password
diisi salah
sistem akan
menolak akses
login dan
menampilkan
pesan “Login
gagal!, email and
password salah
atau belum di isi”
Sesuai
harapan
Valid
5 mengisi email
benar dan
password benar
lalu klik tombol
login
diisi
dengan
benar
Password
diisi
benar
sistem akan
menerima akses
login dan
menampilkan
halaman selamat
datang user
Sesuai
harapan
Valid
B. Form Konfirmasi pembayaran
Tabel IV.16
Hasil Pengujian Black Box Testing Konfirmasi pembayaran
No. Skenario Test Case Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Mengosongkan
nama bank,
pemilik rekening
tanggal transfer
nama
bank,
pemilik
rekening
tanggal
tidak diisi
sistem akan
menolak akses
dan
menampilkan
pesan “The
sender bank
field is required.
The account
name field is
required.
The payment
date field is
required.”
Sesuai
harapan
Valid
2 Form nama
pemilik rekening
dikosongkan
pemilik
rekening
tidak diisi
sistem akan
menolak akses
dan
menampilkan
pesan “The
account name
field is
required.”
Sesuai
harapan
Valid
3 Hanya mengisi
password
Mengosongkan
email lalu klik
tombol login
tidak diisi
sistem akan
menerima akses
dan
menampilkan
pesan “Your
confirmation
sent
successfully, we
will process
soon. Thanks.”
Sesuai
harapan
Valid
C. Form Registrasi kustomer
Tabel IV.17
Hasil Pengujian Black Box Testing Registrasi kustomer
No. Skenario Test Case Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Mengosongkan
seluruh field
field
tidak
diisi
sistem akan
menolak akses
dan
menampilkan
pesan “The full
name field is
required.
The email field
is required.
The password
field is required.
The confirm
password field is
required.
The phone field
is required.
The address
field is required.
The zip field is
required..”
Sesuai
harapan
Valid
2 Form seluruhnya
diisi dengan
benar
semua
form diisi
sistem akan
menerima akses
dan
menampilkan
pesan
“Registrasi
Sukse, Silakan
login dengan
akun anda !”
Sesuai
harapan
Valid
D. Form Penambahan Data Produk
Tabel IV.18
Hasil Pengujian Black Box Testing Penambahan data produk
No. Skenario Test Case Hasil yang
diharapkan
Hasil
Penguji
an
Kesimp
ulan
1 Mengosongkan
seluruh field
field tidak
diisi
sistem akan menolak
akses dan
menampilkan pesan
“The code field is
required.
The name field is
required.
The price field is
required.
The stock field is
required.”
Sesuai
harapan
Valid
2 Form seluruhnya diisi
dengan benar
semua
form diisi
sistem akan
menerima akses dan
menampilkan daftar
produk yang telah
terdaftar sebelumnya
Sesuai
harapan
Valid
3 Mengelola produk
dengan merubah data
dengan mengklik edit
pilih edit sistem akan
menampilkan detail
produk
Sesuai
harapan
Valid
4 Mengelola produk
dengan merubah data
dengan mengklik
simpan
pilih
simpan
sistem akan
menampilkan produk
edited dan
menampilkan daftar
produk
Sesuai
harapan
Valid
Setelah dilakukan pengujian dengan metode Black box yang dilakukan dengan
cara memberikan sejumlah input pada program seperti contoh pengujian pada
masing-masing menu dan sub menu. Jika input data tidak lengkap maka sistem
akan menampilkan pesan dan menyampaikan pesan yang sangat membantu admin
jika admin mendapati kesalahan saat input data barang yang tidak lengkap,
selanjutnya yang kemudian akan di proses sesuai dengan kebutuhan
fungsionalnya dan dapat menghasilkan output yang sesuai dengan yang
diinginkan oleh perusahaan.
4.5. Support
4.5.1. Publikasi Web
A. Domain
Publikasi situs web CV Vida Plus di internet dengan alamat URL
www.vidaplus.16mb.com domain tersebut adalah domain gratis hanya untuk
penyusunan skripsi, pada saat diimplementasikan akan menggunakan domain
berbayar, proses registrasi domain dengan mengakses situs web dengan alamat
URL www. idhostinger.com, rincian detail akan diberikan oleh id hostinger atas
request nama domain yang ingin kita ketahui kepemilikannya
B. Hosting
Hosting yang digunakan adalah hosting gratis dari www.idhostinger.com
dengan kapasitas 2000 MB dan Bandwidth 100 GB yang sudah support database
MySQL dan mendapatkan akun email dimana telah memenuhi kebutuhan website
Vida Plus Printing.
4.5.2. Spesifikasi Hardware dan Software
Tabel IV.19
Spesifikasi Hardware dan Software
Kebutuhan Keterangan
Sistem Operasi
Prosessor
Windows 10 atau sebelumnya
Pentium 4
RAM 1 GB
Harddisk
DVD-ROM/RW
160 GB
52x
Monitor
Keyboard
LCD 19”
108 key
Printer Laser jet HP
Mouse
Browser
Optic
Mozilla Firefox, Chrome, IE
Software Dreamweaver, Adobe photoshop, MySql
database
4.6. Spesifikasi Dokumen Usulan
Dokumen masukan yang diusulkan dalam proses pemesanan produk
percetakan yang akan digunakan untuk menerima pesanan dan memprosesnya,
akan tetapi untuk konfirmasi pemesanan akan dikirim melalui email kustomer.
salah satu spesifikasi dokumen adalah sebagai berikut :
a. Nama Dokumen : Nota Pemesanan
Fungsi : Sebagai bukti transaksi pemesanan barang
Sumber : Admin
Tujuan : Customer
Media : kertas
Frekuensi : Setiap terjadi transaksi pemesanan
Format : Lampiran B – 1
BAB V
PENUTUP
5.1. Kesimpulan
Kesimpulan yang diperoleh setelah melakukan pembuatan website
Pemesanan Jasa Cetak Berbasis Web Pada CV. Vida Plus adalah sebagai berikut :
1. Dengan dibuatnya website usaha untuk CV. Vida Plus diharapkan akan
memudahkan dalam melakukan proses pemesanan produk percetakan yang
dilakukan oleh pelanggan.
2. Dengan adanya website CV. Vida Plus akan memudahkan proses pemasaran
produk-produk yang ditawarkan kepada pelanggan lama ataupun pelanggan
baru dengan tidak dibatasi oleh ruang dan waktu.
3. Pembuatan situs web pada CV. Vida Plus menggunakan bahasa pemrograman
PHP dan MySQL lebih menghemat pengeluaran biaya perancangan,
pembuatan dan pengembangan karena berlisensi freeware dan mudah untuk
di kembangkan sesuai dengan kebutuhan usaha.
4. Sesuai dengan golongan usaha termasuk usaha kecil maka penggunaan
bahasa pemrograman PHP dan MySQL didalam membangun situs web
dinamis merupakan pilihan yang tepat.
5. Pemrograman berorientasi objek atau object oriented program (OOP) adalah
salah konsep yang mudah untuk dikembangkan, dengan menggunakan
metode UML sebagai penggambaran secara visual dari perancangan sebuah
aplikasi dirasa lebih efektif dan mudah dipahami.
5.2. Saran-saran
Penulis memiliki beberapa masukan untuk pengembangan situs website
CV. Vida Plus selanjutnya, dengan harapan internet sebagai media informasi bisa
dimanfaatkan semaksimal mungkin oleh sebuah perusahaan didalam
memperkenalkan identitas perusahaan berikut layanan-layanannya.
1. Perlunya keamanan user customer maupun admin terutama password dengan
kombinasi huruf angka dan simbol.
2. Perlunya pencatatan IP address ke setiap user yang melakukan pemesanan.
3. Perlu adanya validasi setiap melakukan pemesanan produk, untuk
menghindari pemesanan produk oleh orang yang tidak bertanggung jawab.
4. Pemilihan server hosting yang tepat diperlukan untuk mendapatkan akses
halaman web yang cepat.
5. Untuk mempermudah pembayaran, sebaiknya konfirmasi pembayaran
ditambahkan fasilitas kartu kredit atau paypal.
DAFTAR PUSTAKA
Ariani, Sukamto, Rosa dan Shalahuddin, M. 2015. Rekayasa Perangkat Lunak
Terstruktur dan berorientasi Objek. Bandung: Informatika.
Al Fatta, Hanif. 2007. Analisis & Perancangan Sistem Informasi . Yogyakarta:
Andi Offset.
Anhar. 2010. PHP & MySql Secara Otodidak. Jakarta: PT TransMedia.
Ariyani, Dwi, Andip dan Sukadi. 2011. Sistem Informasi Manajemen Pemesanan
Percetakan Digital Pada Buana Star Print Pacitan. ISSN: 1979-9330.
Pacitan: APMMI - Asosiasi Profesi Multimedia Indonesia. Di ambil dari:
http://ijns.org/journal/index.php/speed/article/view/1257. (5 November
2015).
Darma, Jarot S., Shenia A .2009. Buku Pintar Menguasai Internet. Jakarta: PT.
TransMedia.
Elidjen, E, G Cahyadi dan M Andika. 2011. Sistem Pelayanan Jasa dan Penjualan
Produk Percetakan Berbasis Web Pada Proposter Indonesia. ISSN: 2087-
1244. Jakarta: Jurnal ComTech. Di ambil dari:
https://scholar.google.ca/scholar?oi=bibs&cluster=6975640953489114524&
btnI=1&hl=en . (18 Desember 2015).
Jony Wong. 2010. Internet Marketing For Beginners . Jakarta: PT. Elex Media
Komputindo.
Puspita, Dwi, Bambang Eka Purnama dan Sukadi. 2014. Sistem Informasi
Pemesanan Dan Pembayaran Pada Percetakan Mahardika. ISSN: 1979-
9330. Surakarta: Fakultas Teknologi Informatika Universitas Surakarta. Di
ambil dari: http://ijns.org/journal/index.php/ijns/article/view/378/371.
(20 November 2015).
Siagian, Yolanda. M. 2010. Aplikasi Supply Chain Management Dalam Dunia
Bisnis. Jakarta: Grasindo.
Eri Mardiani, M.KomLampiran A.1
Lampiran A.2
Lampiran A.3
Lampiran B.1
Top Related