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 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 ………………
Halaman i ii iii iv v vi
KATA PENGANTAR ……………………………………………….. ABSTRAKSI ……………………………………………………….... DAFTAR ISI ……………………………………………………….... DAFTAR SIMBOL .............................................................................. DAFTAR GAMBAR ........................................................................... DAFTAR TABEL ................................................................................ DAFTAR LAMPIRAN ........................................................................
vii viii x xii xvi xvii xviii
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 ..................................................................
1 2 3 3 4 4 4 4 4 5 5 5 5 6 6 6
BAB II LANDASAN TEORI 2.1. Tinjauan Pustaka ………………………………………… 2.2. Penelitian Terkait ………………………………………...
7 9
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 …………………...
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 ……………………
18 32 32 40 46 50 63 67 67 67 68
BAB V PENUTUP 5.1. Kesimpulan ……………………………………………... 5.2. Saran-saran ………………………………………………
69 70
DAFTAR PUSTAKA DAFTAR RIWAYAT HIDUP SURAT KETERANGAN RISET LEMBAR KONSULTASI BIMBINGAN LAMPIRAN Lampiran A. Dokumen Sistem Berjalan Lampiran B. Dokumen Sistem Usulan
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.
<<extend>>
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).
<
>
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
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
Nama swimlane
SWIMLANE Memisahkan organisasi bisnis yang bertanggung jawab terhadapa aktivitas yang terjadi
Sequence Diagram AKTOR Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat itu sendiri, atau Nama aktor
GARIS HIDUP/LIFELINE Menyatakan kehidupan suatu objek
WAKTU AKTIF Menyatakan objek dalam keadaan aktif dan berinteraksi.
<>
1:nama_metode()
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 Nama_kelas +attribut +operasi()
KEBERGANTUNGAN/DEPENDENCY Kebergantungan antar kelas
AGREGASI/AGGREGATION Menyatakan objek dalam keadaan aktif dan berinteraksi.
Deployment Diagram
PACKAGE Merupakan sebuah bungkusan dari satu atau lebih node
NODE Biasanya mengacu pada perangkat keras (hardware), perangkat lunak yang tidak dibuat sendiri (software).
Nama_node
KEBERGANTUNGAN/DEPENDENCY Kebergantungan antar node. LINK Relasi antar node
b. Symbol ERD ENTITAS/ENTITY Entitas merupakan data inti yang akan disimpan
Nama_entitas
ATRIBUT Field atau kolom data yang butuh disimpan dalam suatu entitas
Attributs
ATRIBUT KUNCI PRIMER Field atau kolom data yang butuh disimpan daam suatu entitasdan digunakan sebagai kunci akses record yang dinginkan
Nama_kunci primer
RELASI Relasi yang menghubungkan antar entitas.
N
ASOSIASI/ ASSOCIATION Penghubung antara relasi dan entitas di mana di kedua ujungnya memiliki multiplicity kemungkinan jumlah pemakaian.
DAFTAR GAMBAR Halaman Gambar III.1. Struktur Organisasi CV. Vida Plus …………….... Gambar III.2. Activity Diagram Pemesanan …………….....…… Gambar III.3. Activity Diagram Proses Produksi ………………. Gambar III.4. Activity Diagram Pembayaran …………..………. Gambar IV.1. Use case Diagram Pemesanan ..………..………. Gambar IV.2. Activity Diagram Pemesanan Oleh pelanggan …. 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 1. 2. 3. 4. 5. 6. 7.
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. 2. 3. 4.
Lampiran A.1. Gambar Dokumen Nota Pesanan Lampiran A.2. Gambar Dokumen Kwitansi Lampiran A.3. Gambar Dokumen Surat Jalan 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:
Komanditer
Direktur
General Manager
Manager Produksi
Bagian Desain
Bagian Produksi
Manager Keuangan
Pemasaran dan Distribusi
Akunting dan Pelaporan
Gambar III.1 Struktur Organisasi CV Vida Plus
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
Melakukan Penawaran
Menerima penawaran
Harga Cocok
Memberikan penawaran
Tidak
Ya
Mencatat Nota pesanan Customer
Phase
Memberikan Desain Produk Pesanan
Gambar III.2 Activity Diagram Pemesanan
Diagram Activity Proses Produksi Pemasaran dan Distribusi
Memberikan Desain Produk
Desainer
Produksi
Menerima Desain Produk
Membuat Desain Produk
Mengkonfirmasi Hasil Desain Tidak
Ya
Menerima desain Final Produk
Menerima Produk Mulai Produksi Mengirim ke Pelanggan
Phase
Menyerahkan Produk
Gambar III.3 Activity Diagram Proses Produksi
Diagram Activity Pembayaran Pemasaran dan Distribusi
Kasir dan Administrasi
Customer
Menerima Produk
Meminta Kwitansi dan Surat Jalan
Membuat Kwitansi dan Surat Jalan
Menerima Kwitansi dan Surat Jalan
Menyerahkan Kwitansi dan Surat Jalan
Menerima Pembayaran
Menyerahkan Kwitansi dan Surat Jalan
Menerima Produk
Mengirim Produk
Phase
Melakukan 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.
b.
c.
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
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
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 ecommerce 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 edit profil
simpan profil <>
<>
edit <<extend>>
Perbaharui jumlah pesanan
pengaturan umum
profil user
Pesan Produk Lain
proses pengaturan
melihat halaman
<>
menghapus halaman buat halaman baru merubah halaman detail Melihat pesanan pesanan
mengelola halaman web
Daftar Pesanan
<>
checkout <<extend>>
kembali
ubah profil
simpan perubahan profil
menyetujui pesanan
profil
mengelola pesanan
kirim <>
hapus
ubah
konfirmasi pembayaran
tambah
Admin
mengelola slide
<>
isi form pembayaran
edit
mengelola user
hapus
Riwayat Pemesanan
<<extend>>
detail pesanan Pemesanan
Login
logout memeriksa status login
Validasi menambah kategori
mengelola produk
menghapus Kategori
registrasi
menambah produk
Pengunjung/Customer
mencari produk
memilih produk menghapus produk mencari produk
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
Failed end condition
Primary Actors
Sistem menampilkan rincian pemesanan produk User membatalkan pemesanan. Kemungkinan user ingin menambah produk lainnya, atau membatalkan pesanan. User 1. 2. 3. 4. 5.
Main Flow / Basic Path
User memilih produk. Sistem menampilkan produk. User melakukan pemesanan. User memilih daftar pesanan 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 Requirements
Checkout A4 User dapat melakukan konfirmasi pemesanan User telah login Sistem berhasil mengkonfirmasi pesanan User gagal konfirmasi. Tidak ada pesanan di dalam daftar pesanan User
Goal Pre-conditions Post-conditions Failed end condition Primary Actors
b. Use Case Konfirmasi Pembayaran Deskripsi Use Case Konfirmasi Pembayaran: Tabel IV.3 Deskripsi Use Case Diagram Konfirmasi Pembayaran Use Case Name Requirements Goal Pre-conditions Post-conditions Failed end condition Primary Actors
Main Flow / Basic Path
Checkout A5 User dapat melakukan konfirmasi pembayaran User telah login Sistem berhasil mengkonfirmasi pembayaran User gagal konfirmasi. Tidak ada pesanan di dalam riwayat pemesanan User 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 Requirements Goal Pre-conditions Post-conditions Failed end condition Primary Actors
Main Flow / Basic Path
Invariant A:
Invariant B
Checkout B1, B2, B3, B4, B5, B6 Admin dapat menambah data, merubah dan menghapus produk, pengguna dan menyetujui pesanan di menu admin Admin berhasil Login Sistem berhasil menambah data, merubah dan menghapus Gagal menambah data, merubah dan menghapus produk di menu admin Admin 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. 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. 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 Failed end condition Primary Actors
Main Flow / Basic Path
Invariant A:
Sistem berhasil menambah data, merubah dan menghapus Gagal menambah data, merubah dan menghapus produk di menu admin Admin 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. 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 Failed end condition Primary Actors
Main Flow / Basic Path
Invariant A:
Sistem berhasil mengkonfirmasi pesanan Gagal menyetujui pesanan. Admin 1. Admin login dengan user admin 2. Sistem menampilkan daftar pesanan 3. Admin dapat melihat detail pesanan 4. Admin dapat menyetujui pesanan 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 Failed end condition Primary Actors
Main Flow / Basic Path
Sistem berhasil merubah dan menghapus data user Gagal menghapus atau merubah data user. Terdapat data user yang belum lengkap Admin 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
Memilih Produk
Tampil Detail Produk
Pilih produk lain
Add item
Masuk Daftar Pesanan
Tampil Daftar pesanan Pesan produk lain
chekout
simpan riwayat pesanan
End
Gambar IV.2 Activity Diagram Pemesanan Oleh pelanggan
b.
Activity Diagram konfirmasi pembayaran oleh pelanggan
Start Memilih Riwayat Pesanan
Tampil riwayat pesanan
Memilih konfirmasi pesanan
Isi formulir konfirmasi pembayaran
kirim konfirmasi pembayaran
konfirmasi pembayaran
End
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
logout
End
Gambar IV.4 Activity Diagram Halaman awal admin
Mengelola Slide
Mengelola Pengguna
Activity Diagram Mengelola Produk Activity Diagram mengelola Pesanan oleh Admin Admin
Sistem
Start
pilih tambah produk
Tampil Form
Pilih produk
Tampil daftar produk
Pilih tambah kategori
Tampil Form
Pilih kategori
Tampil daftar kategori
Isi Form
cari
Add
Isi Form
Cari
Edit
End
Hapus
Phase
b.
Gambar IV.5 Activity Diagram Halaman Admin Kelola Produk
Activity Diagram Mengelola Pesanan
Activity Diagram mengelola Pesanan oleh Admin Admin
Sistem
Start
Melihat Daftar Pesanan
Add
Cari
Tampilkan daftar Pesanan
Memilih Detail Pesanan
Menampilkan Hasil Pencarian
Cari Pesanan
Pilih Pesanan
Menampilkan Detail Pesanan
Konfirmasi pesanan
End
Phase
c.
Gambar IV.6 Activity Diagram Mengelola pesanan
Activity Diagram Mengelola User Activity Diagram mengelola Pesanan oleh Admin Admin
Sistem
Start
Melihat Daftar Pengguna
Tampilkan daftar Pengguna
Memilih tambah Admin
Tampil form pengguna
Isi form pengguna
Edit Profil
Tampil form
Simpan
End
Hapus
Phase
d.
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) status
Kd_pesanan
Id_user
Tgl_pesan
total
Metode_bayar
status
level
kd_pesanan
phone
address Password
kd_produk
harga pelanggan
melakukan
Pesanan
dipesan
Detail Pesanan
email
banyaknya
nama Id_konfirmasi
Kd_produk Full_name Id_kategori
Id_user
berisi
Nama
Bank_pengirim
checkout
Account_name Bank_penerima
harga Produk deskripsi
Konfirmasi Tgl_bayar
Id_kategori status
status
Nama Kategori
Punya
deskripsi
Kd_pesanan
Gambar IV.8 Entity Relationship Diagram Pemesanan Produk
2. Logical Record Structure
kd_detailpesan an
User PK
Id_user
id_user
Pesanan kd_pesanan
PK
email
full_name
id_user
password
status
phone
tgl_pesan kd_pesanan
address
metode_bayar
status
total
Detail pesanan level
id_detail_pesan an
Produk
kd_pesanan
PK
kd_produk
Konfrimasi nama PK
nama
id_konfirmasi banyaknya
harga
Kd_produk
bank_pengirim
harga
account_name
Kd_pesanan
deskripsi
kd_produk
status
bank_penerima id_kategori
tgl_bayar status idkategori
kd_pesanan
kategori PK
id_kategori
nama deskripsi
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
1
Id User
id_user
int
11
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
Keterangan Primary key
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
1
kode pesanan
kd_pesanan
int
10
2
Id user
id_user
int
10
3
Status
status
tinyit
4
4
Tgl Pesan
tgl_pesan
date
5
Metode bayar
metode_bayar Varchar
6
Total
total
c. Spesifikasi File Detail Pesanan Nama Database
: vidaprintingdb
double
20
Keterangan Primary key
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
1
Id detail pesanan
id_detail_pesanan int
10
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
d. Spesifikasi File Produk Nama Database
: vidaprintingdb
10
Keterangan Primary key
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
1
kode produk
kd_produk
int
10
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
Keterangan Primary key
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
1
Id Kategori
id_kategori
int
11
2
Nama Kategori
nama
varchar
25
3
Deskripsi
deskripsi
varchar
100
f. Spesifikasi File konfirmasi Nama Database
: vidaprintingdb
Keterangan Primary key
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
Type
Size
Keterangan Primary key
1
Id Konfirmasi
id_konfirmasi
int
11
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.
Nama Field
Class Diagram
user
meakukan
product
- Id_user: int - Email:var - full_name: var - password:var - phone: var - Alamat: var - status: var - level: var + create() + delete() + read() + update()
- kd_produk: int - id_Kategori: int - nama: var - harga: double - deskripsi: var - status: tinyint + create() + delete() + read() + update()
Memiliki
categories - id_kategori: int - namai: var - deskripsi: var + create(): void + delete(): void + read(): void + update(): void
Melakukan
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()
Terdiri dari 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
Berisi
Terdiri dari
Gambar IV.10 Class Diagram Pemesanan
B.
Sequence Diagram
1.
Sequence Diagram Halaman User
- id_order_detail: int - kodeProduk: var - id_order: int - nama:var - Jumlah: Var - harga: double + hapusItem() + tambahItem()
a.
Sequence Diagram Pilih Produk
sd Intercation
Customer
index.php
produk
detail_produk.php
Pilih_kategori()
pilih
setkdproduk(var)
getproduk():produk
Gambar IV.11 Sequence Diagram Pilih Produk b.
Sequence Diagram Tambah ke Daftar Pesanan
sd Intercation
customer
detail_produk.php
:produk
:daftar_pesanan
add_to_cart(kdprdk.jml)
setkdproduk(var)
getproduk():produk tambahitem()
Setproduk(produk)
setjumlah(jml)
c.
Gambar IV.12 Sequence Diagram Tambah ke Daftar Pesanan Sequence Diagram Check ke Riwayat Pesanan
sd Intercation
customer
daftar pesanan
index.php
produk
detail_produk.php checkout()
loop
[parameters] getcontent():var SetKodeBarang(var)
getproduk():produk
Gambar IV.13 Sequence Diagram Check ke Riwayat Pesanan d.
Sequence Diagram Konfirmasi Pembayaran
sd Intercation
user
index.php
konfirmasi_pesanan
:form pembayaran
riwayat pesanan riwayat pemesanan() data pemesanan
daftar 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
sd Intercation
Admin
admin_login
admin_home
produk
input_produk
masuk username & Password
inputdtproduk():var simpan
delete
Gambar IV.15 Sequence Diagram Admin Mengelola data produk b.
Sequence Diagram Admin Mengelola Data Pesanan
sd Intercation
Admin
admin_login
admin_home
pesanan
masuk username & Password
tampilan
delete
c.
Gambar IV.16 Sequence Diagram Admin Mengelola data Pesanan Sequence Diagram Admin Mengelola Data Member
sd Intercation
Admin
admin_login
admin_home
m Member
masuk username & Password
tampilan
delete
Gambar IV.17 Sequence Diagram Admin Mengelola data Member
C.
Deployment Diagram
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 deployment Activ ity2
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version Web Serv er
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version Halaman Depan
style.css
serv er EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0Database Unregistered Trial Version
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0MySql Unregistered Trial Version Serv er j query.j s Halaman Admin
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 Apache Serv er
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 Client PC
EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version Brow ser
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
Gambar IV.18 EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version Deployment Diagram Sistem Pemesanan Jasa Cetak 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 4.2.3.Trial UserVersion InterfaceEA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Version EA 10.0 Unregistered Trial Version EA 10.0 Unregistered Trial Version 1. Trial Halaman Depan 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
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 '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 '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
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
$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
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
'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. 1
2
3
4
5
Skenario
Test Case
Hasil yang diharapkan
Mengosongkan email dan sistem akan email dan password menolak akses password lalu klik tidak diisi login dan tombol login menampilkan pesan “The email field is required. The password field is required.” Hanya mengisi password sistem akan email tidak diisi menolak akses Mengosongkan login dan password lalu klik menampilkan tombol login pesan “The password field is required.” Hanya mengisi email sistem akan password tidak diisi menolak akses Mengosongkan login dan email lalu klik menampilkan tombol login pesan “The email field is required.” menkombinasikan email sistem akan dengan mengisi diisi menolak akses email benar dan dengan login dan password salah benar menampilkan lalu klik tombol Password pesan “Login login diisi salah gagal!, email and password salah atau belum di isi” mengisi email email sistem akan benar dan diisi menerima akses password benar dengan login dan lalu klik tombol benar menampilkan login Password halaman selamat diisi datang user benar
Hasil Penguji an Sesuai harapan
Kesimpulan Valid
Sesuai harapan
Valid
Sesuai harapan
Valid
Sesuai harapan
Valid
Sesuai harapan
Valid
B. Form Konfirmasi pembayaran Tabel IV.16 Hasil Pengujian Black Box Testing Konfirmasi pembayaran No.
Skenario
Test Case
1
Mengosongkan nama bank, pemilik rekening tanggal transfer
nama bank, pemilik rekening tanggal tidak diisi
2
Form nama pemilik rekening dikosongkan
3
Hanya mengisi password Mengosongkan email lalu klik tombol login
Hasil yang diharapkan
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.” pemilik sistem akan rekening menolak akses tidak diisi dan menampilkan pesan “The account name field is required.” email sistem akan tidak diisi menerima akses dan menampilkan pesan “Your confirmation sent successfully, we will process soon. Thanks.”
Hasil Kesimpulan Pengujian Sesuai harapan
Valid
Sesuai harapan
Valid
Sesuai harapan
Valid
C. Form Registrasi kustomer Tabel IV.17 Hasil Pengujian Black Box Testing Registrasi kustomer No.
Skenario
1
Mengosongkan seluruh field
2
Form seluruhnya diisi dengan benar
Test Case field tidak diisi
Hasil yang diharapkan
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..” semua sistem akan form diisi menerima akses dan menampilkan pesan “Registrasi Sukse, Silakan login dengan akun anda !”
Hasil Kesimpulan Pengujian Sesuai harapan
Valid
Sesuai harapan
Valid
D. Form Penambahan Data Produk Tabel IV.18 Hasil Pengujian Black Box Testing Penambahan data produk No.
Skenario
Test Case
1
Mengosongkan seluruh field
field tidak diisi
2
Form seluruhnya diisi dengan benar
semua form diisi
3
Mengelola produk dengan merubah data dengan mengklik edit Mengelola produk dengan merubah data dengan mengklik simpan
pilih edit
4
pilih simpan
Hasil yang diharapkan 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.” sistem akan menerima akses dan menampilkan daftar produk yang telah terdaftar sebelumnya sistem akan menampilkan detail produk sistem akan menampilkan produk edited dan menampilkan daftar produk
Hasil Penguji an Sesuai harapan
Kesimp ulan Valid
Sesuai harapan
Valid
Sesuai harapan
Valid
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 Sistem Operasi Prosessor RAM Harddisk DVD-ROM/RW Monitor Keyboard Printer
Keterangan Windows 10 atau sebelumnya Pentium 4 1 GB 160 GB 52x LCD 19” 108 key Laser jet HP
Mouse Browser Software
Optic Mozilla Firefox, Chrome, IE 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: 20871244. 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: 19799330. 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