Perancangan Aplikasi Penjualan Hasil Perkebunan Secara online Dengan Menggunakan PHP Dan MySQL
PERANCANGAN APLIKASI PENJUALAN HASIL PERKEBUNAN
SECARA ONLINE DENGAN MENGGUNAKAN PHP dan MySQL
SKRIPSI
KIKI RAHMAYANI HARAHAP
021401017
PROGRAM STUDI S-1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
(2)
PERANCANGAN APLIKASI PENJUALAN HASIL PERKEBUNAN
SECARA ONLINE DENGAN MENGGUNAKAN PHP dan MySQL
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
KIKI RAHMAYANI HARAHAP 021401017
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2008
(3)
PERSETUJUAN
Judul : PERANCANGAN APLIKASI PERKEBUNAN SECARA ONLINE DENGAN MENGGUNAKAN PHP dan MySQL
Kategori : SKRIPSI
Nama : KIKI RAHMAYANI HARAHAP
Nomor Induk Mahasiswa : 021401017
Program Studi : S-1 ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM
(FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Juni 2008
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Dahlan Sitompul, M.Eng Drs. James Piter Marbun, M.Kom
NIP 132 316 481 NIP 131 639 804
Diketahui/Disetujui oleh
Departemen Ilmu Komputer FMIPA USU Ketua,
Prof. Dr. M. Zarlis NIP 131 570 434
(4)
PERNYATAAN
PERANCANGAN APLIKASI PENJUALAN HASIL PERKEBUNAN SECARA ONLINE DENGAN MENGGUNAKAN PHP dan MySQL
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing masing disebutkan sumbernya.
Medan, Juni 2008
KIKI RAHMAYANI HARAHAP 021401017
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan ke hadirat Allah SWT, atas berkat, rahmat dan karunia yang diberikan-Nya kepada penulis, sehingga penulis dapat menyelesaikan tugas akhir ini.
Ucapan terima kasih penulis sampaikan kepada Bapak Drs. James Piter Marbun, M.Kom dan Bapak Drs. Dahlan Sitompul, M.Eng selaku pembimbing yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan tugas ini. Panduan ringkas dan padat dan profesional telah diberikan kepada penulis agar dapat menyelesaikan tugas ini. Ucapan terima kasih juga penulis tujukan kepada Bapak Prof. Dr Muhammad Zarlis dan Bapak Nasir Saleh, M.Eng.Sc selaku penguji yang telah memberikan kritik dan saran sehingga penulis dapat menyelesaikan tugas ini dengan lebih baik lagi.Ucapan terima kasih juga ditujukan kepada Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si, M.I.T selaku Ketua dan Sekeretaris Departemen Ilmu Komputer (S1). Kepada Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer FMIPA USU, pegawai di FMIPA USU khususnya di Ilmu Komputer dan rekan-rekan kuliah. Juga kepada rekan-rekan kerja. Akhirnya tidak terlupakan kepada Bapak, Mama, kakak-kakak dan adik serta semua ahli keluarga dan pihak-pihak yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Allah SWT akan membalasnya.
(6)
ABSTRAK
Belanja adalah salah satu aktivitas yang paling digemari orang banyak. Hal ini ikut ambil bagian sebagai salah satu pendorong munculnya cara berbelanja baru yaitu secara online. Seiring dengan meningkatnya para peminat belanja online, maka sistem penjualan online juga ikut meningkat. Akhir-akhir ini banyak bermunculan penjualan online yang menjual berbagai barang mulai dari buku, pakaian mainan dan sebagainya. Berdasarkan hal tersebut dirancanglah sebuah aplikasi penjualan yang berorientasi pada hasil perkebunan. Dengan tujuan untuk membantu para produsen perkebunan. Dimana untuk membangun sistem ini digunakan perangkat lunak PHP dan untuk membangun sistem basis datanya digunakan MySQL. Sistem ini terdiri dari dua modul yaitu modul administrator yang objektif dari modul ini adalah mengatur dan mengolah perolehan data, yang kedua adalah modul antarmuka pembeli.
(7)
SELLING APPLICATION DESIGN OF PLANTATION PRODUCT IN ONLINE WAY BY USING PHP and MySQL
ABSTRACT
Shopping is one activity that most people like. This is one that cause the appearing of a new way of shopping online. Since there is an increasing number of customer using online shopping system therefore selling online system also increase. Many selling online are showing up recently to sell various stuff such as book, clothes, toys etc. Based on that a sale application design which oriented into plantation product. The aim is to assist all plantation producer. Where to built this system we use PHP software and to built data base system is using MySQL. This system consist of two module that is administrator module, the objective point of this module is to set and to process acquisition of data, the second is interface module.
(8)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Gambar x
Daftar Tabel xi
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Identifikasi Masalah 2
1.3 Maksud dan Tujuan 2
1.4 Batasan Masalah 2
1.5 Metodologi Penelitian 3
1.6 Sistematika Penulisan 3
BAB 2 LANDASAN TEORI
2.1 Pengenalan Web 5
2.1.1 SejarahWeb 5
2.1.2 Definisi Web 5
2.1.3 Aplikasi Web 5
2.2 Definisi Sistem 6
2.3 Sistem Basis Data 7
2.3.1 Karakterisrik Basis Data 8
2.3.2 Struktur Basis Data 8
2.3.3 Metode Perancangan Basis Data 9
2.3.4 Konsep Dasar DFD 11
2.3.5 Bagan Alir 14
2.3.5.1 Bagan Alir Sistem (Flowchart) 15
2.3.5.2 Bagan Alir Dokumen 15
2.3.5.3 Bagan Alir Skematik 17
2.3.5.4 Bagan Alir Program 17
2.3.5.5 Bagan Alir Proses 17
2.4 Pengenalan Pemrograman PHP 18
2.5 Fungsi-Fungsi dalam Pemrogramanan PHP 19 2.6 Variabel dalam Pemrogramanan PHP 21
(9)
2.7 Tipe Data dalam Pemrogramanan PHP 21
2.8 Operator dalam Pemrogramanan PHP 21
2.9 Pengenalan Data Base MySQL 24
2.10 Tipe data Filed Data Base MySQL 24
BAB 3 PERANCANGAN SISTEM
3.1 Metode Perancangan 26
3.2 Hasil Perancangan 26
3.2.1 Bagan Berjenjang 26
3.2.2 Diagaram Konteks (Context Diagram) 26 3.2.3 Perancangan Susunan Diagram Tampil 28
3.2.3.1 Perancangan Diagram Tampil Administator 28 3.2.3.2 Perancangan Diagram Tampil Pembeli 29
3.2.4 Diagram Arus Data Level 30
3.2.4.1 Diagram Arus Data Level 1 30 3.2.4.2 Diagram Arus Data Level 2 31 3.2.4.3 Diagaram Arus Data Level 3 31
3.2.5 Perancangan Basis Data 32
3.2.6 Hubungan Antartabel 32
3.2.6.1 Tabel User 33
3.2.6.2 Tabel Shop_Config 34
3.2.6.3 Tabel Product 35
3.2.6.4 Tabel Order Item 35
3.2.6.5 Tabel Order 36
3.2.6.6 Tabel Currency 37
3.2.6.7 Tabel Category 38
3.2.6.8 Tabel Cart 39
3.2.7 Perancangan Modul-Modul PHP 39 3.2.7.1 Perancangan File-File PHP
Pada Antarmuka Administrator 39 3.2.7.2 Perancangan File-File PHP
Pada Antarmuka Pembeli 41
3.3 Algoritma 42
3.3.1 Algoritma Home Administrator 42 3.3.2 Algoritma Login Administrator 42 3.3.3 Algoritma Data Kategori 43 3.3.4 Algoritma Data Produk 43 3.3.5 Algoritma Data Order 44 3.3.6 Algoritma Data Pembelian 46
BAB 4 IMPLEMENTASI PERANGKAT LUNAK
4.1 Batasan Implementasi 48
4.2 Implementasi Program 48
4.2.1 Aplikasi Administrator 49
4.2.1.1 Halaman Home 49
(10)
4.2.1.3 Halaman Tambah Kategori 50 4.2.1.4 Halaman Produk pada Administrator 51 4.2.1.5 Halaman Tambah Produk 52
4.2.1.6 Halaman Order 53
4.2.1.7 Halaman User pada Administrator 55 4.2.2 Aplikasi Antarmuka Pembeli 57
4.2.2.1 Halaman Utama 57
4.2.2.2 Halaman Produk-Produk pada Kategori 58
4.2.2.3 Halaman Pembelian 59 4.2.2.4 Halaman Penutup 65
4.2.3 Prosedur Program 66
4.2.3.1 Prosedur Program untuk
menampilkan Kategori 66
4.2.3.1 Prosedur untuk Tambah Kategori 68 BAB 5 PENUTUP
5.1 Kesimpulan 70
5.2 Saran 70
DAFTAR PUSTAKA 71
LAMPIRAN A Listing Program 73 LAMPIRAN B Flowchart Modul Administrator 98
(11)
DAFTAR GAMBAR
Halaman
Gambar 2.1 Struktur basis data 10
Gambar 2.2 Simbol Data Store 13
Gambar 2.3 Simbol Alur Data 14
Gambar 2.4 Simbol-Simbol di Bagan Alir Proses 18 Gambar 3.1 Bagan Berjenjang Aplikasi Online 27 Gambar 3.2 Diagram Konteks Aplikasi Penjualan Secara Online 27 Gambar 3.3 Diagram Tampil untuk Antarmuka Administrator 28 Gambar 3.4 Diagram Tampil pada Antarmuka Pembeli 29
Gambar 3.5 Diagram Arus Data Level 1 30
Gambar 3.6 Diagram Arus Data Level 2 31
Gambar 3.7 Diagram Arus Data Level 3 32
Gambar 3.8 Hubungan Antartabel 33
Gambar 3.9 Hubungan File-File PHP pada Administrator 40 Gambar 3.10 Hubungan File-File PHP pada Antarmuka Pembeli 41 Gambar 4.1 Halaman Utama pada Administrator 49 Gambar 4.2 Halaman Kategori Penjualan pada Administrator 50 Gambar 4.3 Halaman Penambahan Kategori pada Administrator 51 Gambar 4.4 Halaman Produk dari Kategori pada Administrator 52
Gambar 4.5 Halaman Tambah Produk 53
Gambar 4.6 Halaman Penyimpanan Data Order pada Administrator 54 Gambar 4.7 Halaman Penjabaran Order pada Administrator 55 Gambar 4.8 Halaman Penyimpanan Data User pada Administrator 56 Gambar 4.9 Halaman Tambah User pada Administrator 57 Gambar 4.10 Halaman Utama Antarmuka Pembeli 58 Gambar 4.11 Halaman Menampilkan Produk dari Salah Satu Kategori 59 Gambar 4.12 Halaman Pembelian pada Antarmuka Pembeli 60 Gambar 4.13 Halaman Pembelian dan Pemesanan 61
Gambar 4.14 Halaman Konfirmasi Pembelian 62
Gambar 4.15 Halaman Formulir Data Pembeli 63
Gambar 4.16 Lanjutan Halaman Formulir Pembeli 64 Gambar 4.17 Halaman Konfirmasi Pesanan dan Data Pembeli 65 Gambar 4.18 Halaman Penutup pada Antarmuka Pembeli 66
(12)
DAFTAR TABEL
Halaman
Tabel 2.1 Fungsi dalam PHP 18
Tabel 2.2 Operator Aritmatika 22
Tabel 2.3 Operator Increment/Decrement 22
Tabel 2.4 Operator Perbandingan 23
Tabel 2.5 Tipe Data String 25
Tabel 2.6 Tipe Data Tanggal 25
Tabel 3.1 Struktur Tabel User Administrator 34
Tabel 3.2 Struktur Tabel Shop_config 34
Tabel 3.3 Struktur Tabel Product 35
Tabel 3.4 Struktur Tabel Order_item 36
Tabel 3.5 Struktur Tabel Order 37
Tabel 3.6 Struktur Tabel Currency 38
Tabel 3.7 Struktur Tabel Category 38
(13)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Gambar x
Daftar Tabel xi
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Identifikasi Masalah 2
1.3 Maksud dan Tujuan 2
1.4 Batasan Masalah 2
1.5 Metodologi Penelitian 3
1.6 Sistematika Penulisan 3
BAB 2 LANDASAN TEORI
2.1 Pengenalan Web 5
2.1.1 SejarahWeb 5
2.1.2 Definisi Web 5
2.1.3 Aplikasi Web 5
2.2 Definisi Sistem 6
2.3 Sistem Basis Data 7
2.3.1 Karakterisrik Basis Data 8
2.3.2 Struktur Basis Data 8
2.3.3 Metode Perancangan Basis Data 9
2.3.4 Konsep Dasar DFD 11
2.3.5 Bagan Alir 14
2.3.5.1 Bagan Alir Sistem (Flowchart) 15
2.3.5.2 Bagan Alir Dokumen 15
2.3.5.3 Bagan Alir Skematik 17
2.3.5.4 Bagan Alir Program 17
2.3.5.5 Bagan Alir Proses 17
2.4 Pengenalan Pemrograman PHP 18
2.5 Fungsi-Fungsi dalam Pemrogramanan PHP 19 2.6 Variabel dalam Pemrogramanan PHP 21 2.7 Tipe Data dalam Pemrogramanan PHP 21
2.8 Operator dalam Pemrogramanan PHP 21
2.9 Pengenalan Data Base MySQL 24
(14)
BAB 3 PERANCANGAN SISTEM
3.1 Metode Perancangan 26
3.2 Hasil Perancangan 26
3.2.1 Bagan Berjenjang 26
3.2.2 Diagaram Konteks (Context Diagram) 26 3.2.3 Perancangan Susunan Diagram Tampil 28
3.2.3.1 Perancangan Diagram Tampil Administator 28 3.2.3.2 Perancangan Diagram Tampil Pembeli 29
3.2.4 Diagram Arus Data Level 30
3.2.4.1 Diagram Arus Data Level 1 30 3.2.4.2 Diagram Arus Data Level 2 31 3.2.4.3 Diagaram Arus Data Level 3 31
3.2.5 Perancangan Basis Data 32
3.2.6 Hubungan Antartabel 32
3.2.6.1 Tabel User 33
3.2.6.2 Tabel Shop_Config 34
3.2.6.3 Tabel Product 35
3.2.6.4 Tabel Order Item 35
3.2.6.5 Tabel Order 36
3.2.6.6 Tabel Currency 37
3.2.6.7 Tabel Category 38
3.2.6.8 Tabel Cart 39
3.2.7 Perancangan Modul-Modul PHP 39 3.2.7.1 Perancangan File-File PHP
Pada Antarmuka Administrator 39 3.2.7.2 Perancangan File-File PHP
Pada Antarmuka Pembeli 41
3.3 Algoritma 42
3.3.1 Algoritma Home Administrator 42 3.3.2 Algoritma Login Administrator 42 3.3.3 Algoritma Data Kategori 43 3.3.4 Algoritma Data Produk 43 3.3.5 Algoritma Data Order 44 3.3.6 Algoritma Data Pembelian 46
BAB 4 IMPLEMENTASI PERANGKAT LUNAK
4.1 Batasan Implementasi 48
4.2 Implementasi Program 48
4.2.1 Aplikasi Administrator 49
4.2.1.1 Halaman Home 49
4.2.1.2 Halaman Kategori 50
4.2.1.3 Halaman Tambah Kategori 50 4.2.1.4 Halaman Produk pada Administrator 51
4.2.1.5 Halaman Tambah Produk 52
4.2.1.6 Halaman Order 53
4.2.1.7 Halaman User pada Administrator 55
(15)
4.2.2 Aplikasi Antarmuka Pembeli 57
4.2.2.1 Halaman Utama 57
4.2.2.2 Halaman Produk-Produk pada Kategori 58
4.2.2.3 Halaman Pembelian 59 4.2.2.4 Halaman Penutup 65
4.2.3 Prosedur Program 66
4.2.3.1 Prosedur Program untuk
menampilkan Kategori 66
4.2.3.1 Prosedur untuk Tambah Kategori 68
BAB 5 PENUTUP
5.1 Kesimpulan 70
5.2 Saran 70
DAFTAR PUSTAKA 71
(16)
DAFTAR TABEL
Halaman
Tabel 2.1 Fungsi dalam PHP 18
Tabel 2.2 Operator Aritmatika 22
Tabel 2.3 Operator Increment/Decrement 22
Tabel 2.4 Operator Perbandingan 23
Tabel 2.5 Tipe Data String 25
Tabel 2.6 Tipe Data Tanggal 25
Tabel 3.1 Struktur Tabel User Administrator 34
Tabel 3.2 Struktur Tabel Shop_config 34
Tabel 3.3 Struktur Tabel Product 35
Tabel 3.4 Struktur Tabel Order_item 36
Tabel 3.5 Struktur Tabel Order 37
Tabel 3.6 Struktur Tabel Currency 38
Tabel 3.7 Struktur Tabel Category 38
(17)
DAFTAR GAMBAR
Halaman
Gambar 2.1 Struktur basis data 10
Gambar 2.2 Simbol Data Store 13
Gambar 2.3 Simbol Alur Data 14
Gambar 2.4 Simbol-Simbol di Bagan Alir Proses 18 Gambar 3.1 Bagan Berjenjang Aplikasi Online 27 Gambar 3.2 Diagram Konteks Aplikasi Penjualan Secara Online 27 Gambar 3.3 Diagram Tampil untuk Antarmuka Administrator 28 Gambar 3.4 Diagram Tampil pada Antarmuka Pembeli 29
Gambar 3.5 Diagram Arus Data Level 1 30
Gambar 3.6 Diagram Arus Data Level 2 31
Gambar 3.7 Diagram Arus Data Level 3 32
Gambar 3.8 Hubungan Antartabel 33
Gambar 3.9 Hubungan File-File PHP pada Administrator 40 Gambar 3.10 Hubungan File-File PHP pada Antarmuka Pembeli 41 Gambar 4.1 Halaman Utama pada Administrator 49 Gambar 4.2 Halaman Kategori Penjualan pada Administrator 50 Gambar 4.3 Halaman Penambahan Kategori pada Administrator 51 Gambar 4.4 Halaman Produk dari Kategori pada Administrator 52
Gambar 4.5 Halaman Tambah Produk 53
Gambar 4.6 Halaman Penyimpanan Data Order pada Administrator 54 Gambar 4.7 Halaman Penjabaran Order pada Administrator 55 Gambar 4.8 Halaman Penyimpanan Data User pada Administrator 56 Gambar 4.9 Halaman Tambah User pada Administrator 57 Gambar 4.10 Halaman Utama Antarmuka Pembeli 58 Gambar 4.11 Halaman Menampilkan Produk dari Salah Satu Kategori 59 Gambar 4.12 Halaman Pembelian pada Antarmuka Pembeli 60 Gambar 4.13 Halaman Pembelian dan Pemesanan 61
Gambar 4.14 Halaman Konfirmasi Pembelian 62
Gambar 4.15 Halaman Formulir Data Pembeli 63
Gambar 4.16 Lanjutan Halaman Formulir Pembeli 64 Gambar 4.17 Halaman Konfirmasi Pesanan dan Data Pembeli 65 Gambar 4.18 Halaman Penutup pada Antarmuka Pembeli 66
(18)
ABSTRAK
Belanja adalah salah satu aktivitas yang paling digemari orang banyak. Hal ini ikut ambil bagian sebagai salah satu pendorong munculnya cara berbelanja baru yaitu secara online. Seiring dengan meningkatnya para peminat belanja online, maka sistem penjualan online juga ikut meningkat. Akhir-akhir ini banyak bermunculan penjualan online yang menjual berbagai barang mulai dari buku, pakaian mainan dan sebagainya. Berdasarkan hal tersebut dirancanglah sebuah aplikasi penjualan yang berorientasi pada hasil perkebunan. Dengan tujuan untuk membantu para produsen perkebunan. Dimana untuk membangun sistem ini digunakan perangkat lunak PHP dan untuk membangun sistem basis datanya digunakan MySQL. Sistem ini terdiri dari dua modul yaitu modul administrator yang objektif dari modul ini adalah mengatur dan mengolah perolehan data, yang kedua adalah modul antarmuka pembeli.
(19)
SELLING APPLICATION DESIGN OF PLANTATION PRODUCT IN ONLINE WAY BY USING PHP and MySQL
ABSTRACT
Shopping is one activity that most people like. This is one that cause the appearing of a new way of shopping online. Since there is an increasing number of customer using online shopping system therefore selling online system also increase. Many selling online are showing up recently to sell various stuff such as book, clothes, toys etc. Based on that a sale application design which oriented into plantation product. The aim is to assist all plantation producer. Where to built this system we use PHP software and to built data base system is using MySQL. This system consist of two module that is administrator module, the objective point of this module is to set and to process acquisition of data, the second is interface module.
(20)
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Dalam setiap perusahaan baik skala besar maupun kecil, selalu berupaya agar pemasaran produk yang dihasilkan perusahaannya dikenal oleh pasar. Berbagai cara dilakukan marketing agar produk yang akan dipasarkan diminati oleh orang banyak, mulai dari door to door, selebaran, mass media hingga melalui internet yang sangat diminati orang sibuk.
Promosi lewat internet juga bervariasi, ada yang hanya dengan kata-kata slogan yang menumpang ke halaman promosi orang lain, ada berbentuk iklan yang khusus masuk ke dunia periklanan, ada yang membangun sendiri halaman promosi, bahkan ada yang membangun halaman promosi sekaligus menjual barang melalui internet.
Promosi barang hingga menjual barang lewat internet sering disebut dengan istilah “belanja online” yaitu belanja lewat internet, dan membeli barang dengan mengklik ikon beli dan spesifikasi barang-barang yang sudah tertera. Belanja lewat internet adalah belanja secara nyata, meskipun tidak ada pertemuan langsung antara produsen
(supplier), penjual dan pembeli.
Halaman jelajah yang digunakan untuk belanja lewat internet tersebut sering disebut “aplikasi online” atau lebih dikenal dengan istilah “shopping chart” yaitu mediator yang digunakan dalam transaksi jual beli di dunia maya, melihat barang yang akan kita beli tanpa menyentuhnya. Bertitik tolak dari hal tersebut diatas, disusunlah tugas akhir yang membahas tentang perancangan sistem informasi atau aplikasi online penjualan berbasis web yang berjudul Perancangan Aplikasi Penjualan Hasil Perkebunan Secara Online dengan Menggunakan PHP dan MySQL.
Aplikasi online pada tugas akhir ini berkisar pada pemasaran hasil tanaman palawija saja, yang dibangun untuk mendukung dan membantu orang-orang yang bergerak dibidang pertanian yang menghasilkan tanaman-tanaman palawija, dengan harapan dapat memperluas pemasaran dan penjualan hasil tanaman palawija tersebut.
(21)
1.2 Identifikasi Masalah
Adapun permasalahan yang akan dibahas pada penulisan tugas akhir ini adalah : 1. Pengembangan perangkat lunak Aplikasi Jual beli secara online.
Pada permasalahan ini akan dilakukan pembuatan perangkat lunak Aplikasi Penjualan hasil tanaman palawija secara online dengan menggunakan bahasa pemrograman PHP dan Database MySQL.
2. Aplikasi penjualan hasil tanaman palawija secara online memverifikasi data yang masuk sehingga orang yang berbelanja akan merasa nyaman.
1.3 Maksud dan Tujuan Penulisan
Adapun maksud dari penulisan tugas akhir ini adalah membangun Aplikasi Penjualan hasil tanaman palawija secara online dengan menggunakan Bahasa Pemrograman PHP dengan Database MySQL.
Adapun tujuan dari penulisan tugas akhir ini adalah:
1. Dengan aplikasi ini, orang dapat berbelanja lewat internet, dan membayar barang yang dibeli dengan menggunakan nomor rekening bank konsumen, tanpa harus ada perjumpaan antara pembeli dan penjual.
2. Mempermudah serta memperluas usaha para produsen tanaman palawija dalam memasarkan hasil pertaniannya.
1.4 Batasan Masalah
Untuk lebih memperjelas permasalahan yang akan dibahas, maka permasalahan pada penulisan tugas akhir ini dibatasi dalam ruang lingkup yaitu:
1. Membuat Aplikasi Berbasis Internet yaitu Aplikasi penjualan hasil tanaman palawija lewat internet yang dapat diakses oleh khalayak umum.
2. Membangun Aplikasi penjualan tanaman palawija secara online menggunakan bahasa pemrograman PHP dengan Database MySQL.
(22)
3. Membangun aplikasi penjualan secara online mengutamakan kenyamanan pengunjung dengan hak akses yang tidak terbatas.
4. Aplikasi penjualan online yang dibangun dihubungkan dengan database yang dapat digunakan sebagai pengambilan keputusan tentang keadaan stok tanaman palawija yang tersedia.
5. Hasil pertanian dalam Aplikasi hanya mencakup hasil tomat, cabai dan wortel tetapi tanpa tertutup kemungkinan untuk menambah hasil pertanian lainnya.
1.5 Metode Penelitian
Penelitian ini dilakukan dengan beberapa tahapan, yaitu: 1. Observasi
Observasi dilakukan baik secara teoritis ataupun secara praktik melakukan riset dan penelitian kepada para produsen pertanian.
2. Perancangan Database
Pada tahap ini dibangun database menggunakan MySQL sebagai tempat penyimpanan data yang dibutuhkan oleh aplikasi online.
3. Perancangan Aplikasi
Pada tahap ini dibuat aplikasi yang menggunakan PHP dan proses menghubungkannya dengan database MySQL yang telah dibangun lebih dulu.
4. Implementasi
Pada tahap ini adalah proses diimplementasikannya program yang telah jadi atau dapat juga disebut proses pengujicobaan program.
1.6 Sistematika Penulisan
Agar penulisan menjadi lebih terstruktur, maka penulisan ini dibagi menjadi lima bab sebagai berikut:
(23)
Bab I : PENDAHULUAN
Dalam bab ini dijelaskan mengenai latar belakang pemilihan judul, identifikasi masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.
Bab II : LANDASAN TEORI
Dalam bab ini dibahas teori–teori yang merupakan dasar pemecahan masalah dari ruang lingkup penelitian yang dibahas seperti pengertian pemrograman aplikasi berbasis internet dan hubungannya dengan database.
Bab III: PERANCANGAN SISTEM
Bab ini berisi tentang rancangan sistem yang diusulkan. Pada bab ini juga dibahas tentang DFD, spesifikasi data, dan algoritma program.
Bab IV: IMPLEMENTASI PERANGKAT LUNAK
Dalam bab ini akan dibahas mengenai implementasi perangkat lunak yang digunakan untuk menangani perbelanjaan lewat internet.
Bab V: KESIMPULAN DAN SARAN
Dalam bab terakhir ini akan dibahas kesimpulan yang dapat diambil secara keseluruhan dari uraian bab-bab sebelumnya, dan saran–saran dari hasil yang diperoleh yang diharapkan dapat berguna dalam pengembangan aplikasi selanjutnya.
(24)
BAB 2
LANDASAN TEORI
2.1 Pengenalan Web 2.1.1 Sejarah Web
Sejarah Web dimulai pada bulan Maret 1989 ketika Tim Berner – Lee yang bekerja di laboratorium Fisika Pertikel Eropa atau yang dikenal dengan nama CERN (Consei European pour la Recherce Nuclaire) yang berada di Genewa, Swiss, mengajukan protocol yaitu suatu tata cara untuk berkomunikasi sistem distribusi informasi internet yang digunakan untuk berbagi informasi di antara para fisikawan (Abdul Kadir, 2003).
2.1.2 Definisi Web
World Wide Web (www) atau biasa disebut dengan web, merupakan salah satu sumber daya internet yang berkembang pesat. Informasi web didistribusikan melalui pendekatan hypertext, yang memungkinkan suatu teks pendek menjadi acuan untuk membuka dokumen yang lain. Dengan pendekatan hypertext ini seseorang dapat memperoleh informasi dengan meloncat dari suatu dokumen ke dokumen yang lain. Dokumen-dokumen yang diaksespun dapat tersebar di pelbagai mesin dan bahkan di berbagai negara. Bagai jaring laba–laba, jejaring web telah membentang ke seluruh penjuru dunia (Abdul Kadir, 2003).
Web menyediakan jaringan di mana-mana dan murah, mempunyai pengguna berdasarkan software web browser yang distandarisasi yang berjalan pada berbagai komputer biasa. Untuk pengembang, software web server gratis secara gratis tersedia, dapat merespon permintaan untuk dokumen dan program. Beberapa bahasa scripting telah diadaptasikan atau dirancang untuk menghasilkan program untuk digunakan dengan web server (Janner Simarmata, 2004).
(25)
2.1.3 Aplikasi Web
Suatu aplikasi web dirancang untuk membantu pengguna (user ) menyelesaikan atau mengerjakan tugas dan merupakan sebuah aplikasi sederhana yang menampilkan informasi di dalam jendela browser (Jhonsen, 2001).
Halaman web yang dikenal ada dua, yaitu statis dan dinamis. Statis maksudnya adalah bahwa pengguna tidak dapat berinteraksi dengan halaman web. Pengguna hanya dapat melihat informasi yang ada pada halaman web. Sedangkan pada halaman web dinamis, pengguna diizinkan untuk berinteraksi dengan halaman web. Pengguna yang berbeda mungkin akan melihat halaman web yang berbeda juga. Sebagai contoh, satu pengguna melihat suatu katalog buku yang ada pada toko buku dan mungkin memilih untuk menampilkan informasi tentang buku komputer, sedangkan pengguna lain mungkin memilih untuk menampilkan informasi tentang buku terbaru, misalnya buku akuntansi. Untuk menciptakan halaman web dinamis, harus digunakan bahasa yang mendukung hal tersebut (Arif Ramadhan, 2005).
2.2 Definisi Sistem
Sistem sebagai jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau menyelesaikan sasaran tertentu (Jogyanto, 1984).
Sistem adalah himpunan suatu benda nyata atau abstrak dari bagian-bagian atau komponen-komponen yang saling berkaitan, berhubungan, berketergantungan, dan saling mendukung yang secara keseluruhan bersatu dalam satu kesatuan untuk mencapai tujuan tertentu secara efisien dan efektif (Janner Simarmata, 2004).
Sistem merupakan data yang telah disusun sedemikian rupa sehingga bermakna dan bermanfaat karena dapat dikomunikasikan kepada seseorang yang akan menggunakannya untuk mengambil keputusan yang baik (Valade, 2002). Syarat-syarat sistem informasi yang baik adalah sebagai berikut:
(26)
1. Relevansi
Dalam konteks organisasi, informasi yang diperlukan adalah yang benar-benar relevan dengan permasalahan, misi, dan tujuan perusahaan.
2. Ketepatan Waktu
Informasi harus tersedia tepat pada waktunya. Syarat ini terutama sangat penting pada saat organisasi membutuhkan informasi, ketika manajer hendak membuat keputusan-keputusan yang krusial.
3. Akurat
Syarat ini mengharuskan bahwa informasi bersih dari kesalahan dan kekeliruan. Ini juga berarti bahwa informasi harus jelas dan secara akurat mencerminkan makna yang terkandung dari data pendukungnya.
Informasi adalah data yang sudah diproses dalam bentuk yang berguna bagi pemakai, dan mempunyai nilai pikir yang nyata bagi pembuatan keputusan pada saat sedang berjalan atau untuk prospek masa depan.
2.3 Sistem Basis Data
Basis data adalah kumpulan file yang mempunyai kaitan antara satu file dengan file yang lainnya sehingga membentuk suatu bangunan data untuk menginformasikan satu perusahaan atau instansi dalam batasan tertentu.
Basis data tidak memasukkan kumpulan data informal, biasa atau manual. Penyimpanan dan pemrosesan data menggunakan formalisasi kemampuan sistem komputer, mengakibatkan suatu keberadaan sebagai suatu entitas terpisah di dalam suatu organisasi dan di dalam suatu sistem berbasis komputer. Basis data berkaitan dengan beberapa satuan organisasi yang jelas.
Kadang-kadang hal ini berguna untuk membedakan basis data dari berkas atau file, selanjutnya merupakan suatu konsep yang digunakan apabila record-record pada
(27)
sederetan media seperti kartu berlobang atau perekam magnetic. Alat-alat penyimpanan langsung memberikan kemungkinan baru untuk secara eksplisit menghubungkan record-record data di dalam dan di antara berkas-berkas.
Istilah berkas masih berguna untuk mengartikan record dimana semuanya berasal dari jenis dan deskripsi format yang sama. Ada dua pembagian sistem basis data yaitu:
1. Sistem Basis Data Multiuser
Sistem basis data multiuser adalah sistem basis data berupa client server dimana banyak pengguna yang dapat mengakses basis data dalam waktu yang bersamaan. Sebagai contoh yaitu suatu web server, dimana server itulah yang berbicara dengan server basis datanya. Client menjalankan perangkat lunak browser (satu-satunya perangkat lunak pada client yang berhubungan dengan user). Sistem basis data multiuser ini sangat cocok digunakan untuk sistem yang dibangun dalam skala yang sangat besar.
2. Sistem Basis Data Single User
Sistem basis data single user adalah sistem basis data yang terdapat pada PC
standalone dengan kata lain, pengguna tidak dapat melakukan akses basis data
pada waktu yang bersamaan. Sistem basis data single user merupakan kebalikan dari sistem basis data multiuser. Sistem basis data single user kurang efektif karena sistem tidak dapat dipergunakan oleh banyak pemakai, sehingga sistem ini biasanya berjalan pada sistem-sistem yang relatif kecil.
2.3.1 Karakteristik Basis Data
Adapun yang menjadi karakteristik basis data adalah sebagai berikut:
1. Suatu kumpulan data yang saling berhubungan yang disimpan secara bersama-sama tanpa mengganggu satu bersama-sama lainnya atau membentuk data cadangan. 2. Penambahan data baru, modifikasi data dan pengambilan kembali data dapat
dilakukan dengan mudah dan terkontrol.
3. Dapat digunakan oleh satu program aplikasi atau lebih secara optimal
4. Penyimpanan yang sedemikian rupa sehingga berguna untuk efisiensi kapasitas penyimpanannya.
(28)
2.3.2 Struktur Basis Data
Suatu basis data dihimpun dari suatu skema atau pola logika dari unsur-unsur yang dapat digolongkan sebagai struktur basis data, struktur basis data dapat dilihat pada Gambar 2.1.
Gambar 2.1 Struktur Basis Data
1. Basis data adalah kumpulan dari file yang mempunyai kaitan antara satu file dengan file yang lainnya.
2. File adalah kumpulan dari record sejenis yang mempunyai panjang dengan elemen yang sama, atribut sama, namun berbeda-beda nilainya.
3. Record adalah kumpulan dari elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap.
4. Field adalah elemen terkecil dalam basis data.
BASIS DATA
FILE FILE FILE
RECORD RECORD RECORD
(29)
2.3.3 Metode Perancangan Basis Data
Jenis-jenis metode perancangan basis data adalah sebagai berikut:
1. Perancangan konseptual
Perancangan model konseptual merupakan tugas basis data administrator yaitu orang yang mempunyai kekuasaan sebagai pusat pengontrol terhadap seluruh sistem. Sedangkan data maupun program yang mengakses data disebut sebagai basis data.
Model konseptual merupakan kombinasi beberapa cara untuk memproses data untuk beberapa aplikasi. Konsep konseptual tidak tergantung pada aplikasi individual pada DBMS yang digunakan pada perangkat keras serta model fisik.
Pada perancangan model konseptual penekanan tinjauan dilakukan pada struktur data. Relasi antarfile tidaklah perlu dipikirkan tentang terapan yang akan dilakukan pada basis data. Pendekatan yang dilakukan pada perancangan model konseptual adalah menggunakan model data relasional. Terdapat dua buah teknik untuk melakukan perancangan model konseptual yaitu:
a. Teknik Normalisasi
b. Teknik Entity Relationship
Teknik normalisasi merupakan proses pengelompokan data elemen menjadi tabel-tabel yang menunjukan entitas dan relasinya. Pada proses normalisasi selalu diuji kondisi, apabila ada kehilangan pada saat menambah, menghapus, membaca, mengubah pada suatu basis data. Bila ada kesalahan pada saat pengujian tersebut, maka relasi dipecahkan menjadi beberapa tabel lagi atau dengan kata lain perancangan belum menghasilkan basis data yang optimal.
(30)
Perancangan basis data teknik Entity Relationship yaitu pada model data relasional hubungan antara file direlasikan dengan hubungan antara kunci relasi yang merupakan kunci utama dari masing-masing file. Perancangan basis data yang tepat akan menyebabkan data yang dirancang menjadi optimal.
2. Perancangan Logikal
Model data logikal adalah suatu teknik untuk menjelaskan dengan baik struktur informasi basis data dan aturan-aturan sebagai masukan pada proses perancangan basis data.
Langkah-langkah dalam model data logikal ditunjukan dalam satu set kriteria untuk mendapatkan model data logikal optimal, yaitu:
1. Kebenaran struktur 2. Kemudahan
3. Tidak redudansi, tidak mempunyai informasi yang berlebihan 4. Dapat dipakai bersama
5. Mudah dikembangkan 6. Perancangan fisik
Langkah terakhir dalam perancangan basis data ialah perancangan basis data fisik. Dalam tahap ini ditentukan struktur penyimpanan internal dan organisasi file dari basis data.
Bersamaan dengan kegiatan ini, program aplikasi dirancang dan diimplementasikan sebagai transaksi basis data yang sesuai dengan spesifikasi transaksi level data, sehingga basis data yang diinginkan secara fisik menjadi optimal dari segi ruang dan waktu.
(31)
Data flow diagram adalah alat pembuatan model yang memungkinkan perancang sistem untuk menggambarkan sistem sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alir data, baik secara manual maupun komputerisasi. DFD ini sering disebut juga dengan nama Bubble Chart, model proses, diagram alur kerja, atau model fungsi. DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari data yang digunakan untuk menjelaskan aliran informasi dan transformasi data yang bergerak dari pemasukan data hingga keluaran. Untuk memudahkan pembacaan DFD, maka penggambaran DFD disusun berdasarkan tingkatan atau level dari atas ke bawah, yaitu:
a. Diagram Konteks (Level 0)
Diagram konteks merupakan diagram paling atas yang terdiri dari suatu proses dan menggambarkan ruang lingkup proses. Hal yang digambarkan dalam diagram konteks adalah hubungan terminator dengan sistem dan juga gambaran sistem dalam suatu proses. Sedangkan hal yang tidak digambarkan dalam diagram konteks adalah hubungan antara terminator dengan data store.
b. Diagram Zero (Level 1)
Diagram zero merupakan diagram yang berada di antara diagram konteks dan diagram detail serta menggambarkan proses utama dari DFD. Hal yang digambarkan dalam diagram zero adalah proses utama dari sistem serta hubungan entitas, proses, alur data, dan data store.
c. Diagram Detail (Primitif)
Diagram detail merupakan penguraian dalam proses yang ada dalam diagram zero. Diagram yang paling rendah dan tidak dapat diuraikan lagi. Data Flow Diagram (DFD) memiliki empat komponen, yaitu:
(32)
Terminator mewakili entitas yang berkomunikasi dengan sistem yang sedang dikembangkan. Terminator merupakan kesatuan di lingkungan sistem yang dapat berupa orang, organisasi, atau sistem lainnya yang berada di lingkungan luar sistem yang akan memberikan input maupun output dari sistem. Biasanya terminator ini dikenal dengan nama entitas (entity), sumber dan tujuan (source and sink). Terminator dapat juga berupa departemen, divisi atau sistem diluar sistem yang berkomunikasi dengan sistem yang dikembangkan. Ada tiga hal penting yang harus diingat tentang terminator: 1. Terminator merupakan bagian atau lingkungan luar sistem. Alur data yang
menghubungkan terminator dengan berbagai proses sistem menunjukkan ubungan sistem dengan dunia luar.
2. Profesional sistem tidak dapat mengubah isi atau cara kerja, organisasi atau prosedur yang berkaitan dengan terminator.
3. Hubungan yang ada antarterminator yang satu dengan yang lain tidak dapat digambarkan pada DFD.
2. Proses
Proses sering dikenal dengan nama bubble, fungsi, atau informasi. Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input ke output, atau dapat dikatakan bahwa komponen proses menggambarkan transformasi satu input atau lebih menjadi output. Proses dilambangkan dengan lingkaran atau empat persegi panjang tegak dengan sudut tumpul. Proses diberi nama untuk menerangkan proses atau kegiatan apa yang sedang atau akan dilaksanakan.
3. Data Store (Penyimpanan Data)
Data store digunakan sebagai sarana untuk pengumpulan data. Data store disimbolkan dengan dua garis horizontal yang paralel yang tertutup pada salah satu ujungnya atau dua garis horizontal. Suatu nama perlu diberikan pada data store menunjukkan nama dari filenya.
(33)
Mobil Mobil
Gambar 2.2 Simbol Data Store
Data store ini biasanya berkaitan dengan penyimpanan seperti: file atau database yang berkaitan dengan penyimpanan secara komputerisasi, contohnya: file pita magnetik, file disket, dan file hard disk. Data store juga berkaitan dengan penyimpanan data.
4. Alur Data (Data Flow)
Suatu data flow atau alur data dapat dipresentasikan dengan anak panah yang menunjukkan arah menuju ke dan keluar dari suatu proses. Alur data ini digunakan untuk menerangkan perpindahan data atau satu paket data atau informasi dari suatu bagian sistem ke bagian lainnya. Alur data dapat disimbolkan dengan panah. Selain menunjukkan arah, alur data pada model yang dibuat oleh perancang sistem dapat merepresentasikan bit, karakter, pesan, formulir, bilangan real, dan macam-macam informasi–informasi yang berkaitan dengan komputer.
DATA INFORMASI
Gambar 2.3 Simbol Alur Data
2.3.5 Bagan Alir (Flowchart)
Bagan alir adalah bagan (chart) yang menunjukkkan alir (flow) di dalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. Pada waktu menggambar suatu bagan alir, analis sistem atau pemrogram dapat mengikuti pedoman-pedoman sebagai berikut:
1. Bagan alir sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman.
(34)
3. Harus ditunjukkan dari mana kegiatan akan dimulai dan dimana akan berakhirnya.
4. Masing-masing kegiatan di dalam bagan alir sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan, misalnya: “persiapkan” dokumen, “Hitung” gaji.
5. Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
6. Kegiatan yang terpotong dan akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung.
7. Gunakanlah simbol-simbol bagan alir yang standar.
Ada lima macam bagan alir, yaitu : 1. Bagan alir sistem (system flowchart). 2. Bagan alir dokumen (document flowchart). 3. Bagan alir skematik (schematic flowchart). 4. Bagan alir program (program flowchart). 5. Bagan alir proses (process flowchart).
2.3.5.1 Bagan Alir Sistem (Sytem Flowchart)
Bagan alir sistem (system flowchart) merupakan bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini mejelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem. Bagan alir sistem digambar dengan menggunakan simbol-simbol berikut ini:
Simbol dokumen
Menunjukkan dokumen input dan output baik untuk proses manual, mekanik, atau komputer.
Simbol kegiatan manual
(35)
Simbol simpanan offline
File non-komputer yang diarsip urut angka(numerical).
File non-komputer yang diarsip urut huruf (alphabetical).
File non-komputer yang diarsip urut tanggal (choronologal).
Simbol kartu plong
Menunjukkan input atau output yang menggunakan Kartu plong (punched card).
Simbol proses
Menunjukkan kegiatan proses dari operasi program komputer.
Simbol operasi luar
Menunjukkan operasi yang dilakukan di luar proses operasi komputer.
Simbol pengurutan offline
Menunjukkan proses pengurutan data di luar proses komputer.
N
A
(36)
Simbol pita magnetik
Menunjukkan input atau output menggunakan pita magnetik.
Simbol hard disk
Menunjukkan input atau output menggunakan hard disk.
Simbol diskette
Menunjukkan input atau output menggunakan diskette.
Simbol display
Menunjukkan output yang ditampilkan di monitor.
2.3.5.2 Bagan Alir Dokumen
Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (from
flowchart) atau paperwork flowchart, merupakan bagan alir yang menunjukkan arus
dari laporan dan formulir termasuk tembusan-tembusannya. Bagan alir dokumen ini memakai simbol-simbol yang sama dengan yang digunakan di dalam bagan alir sistem.
2.3.5.3 Bagan Alir Skematik
Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini untuk memudahkan komunikasi kepada orang yang
(37)
kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.
2.3.5.4 Bagan Alir Program
Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari verivikasi bagan alir sistem. Bagan alir program dibuat dengan menggunakan simbol-simbol berikut: Simbol Input/Output digunakan untuk mewakili data input/output.
2.3.5.5 Bagan Alir Proses
Bagan alir proses (process flowchart) merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur. Bagan alir proses menggunakan lima simbol tersendiri yang dapat dilihat pada Gambar 2.4.
Menunjukkan suatu operasi (operation)
Menunjukkan suatu pemindahan (movement)
Menunjukkan suatu simpanan (storage)
Menunjukkan suatu inspeksi (inspection)
Menunjukkan suatu penundaan (delay)
(38)
Bagan alir proses selain dapat menunjukkan kegiatan dan simpanan yang digunakan dalam suatu prosedur, dapat juga menunjukkan jarak kegiatan yang satu dengan yang lainnya serta waktu yang diperlukan untuk suatu kegiatan.
2.4 Pengenalan Pemrograman PHP
PHP dibuat oleh Rasmus Lerdorf, seorang programmer Unix dan Perl pada bulan Agustus-September 1994. PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web. PHP disisipkan di antara bahasa HTML dan karena bahasa
server-side, maka bahasa PHP akan dieksekusi di server, sehingga yang dikirimkan ke
browser adalah “hasil jadi” dalam bentuk HTML, dan kode PHP tidak akan terlihat.
PHP termasuk dalam Open Source Product. Jadi dapat diubah source code dan didistribusikannya secara bebas. PHP juga diedarkan secara gratis. PHP juga dapat berjalan di berbagai web server seperti IIS dan Apache. Di awal Januari 2001, PHP telah dipakai lebih dari 5 juta domain di seluruh dunia, dan akan terus bertambah karena kemudahan aplikasi PHP ini dibandingkan dengan bahasa server side yang lain. Angka sesungguhnya dapat dilihat di http:
Pengembangan PHP terus dilakukan dan kini PHP telah sampai pada versi-nya adalah PHP 4.0 yang diterbitkan pada awal Mei 2000. Adapun kelebihan-kelebihan PHP yaitu:
a. PHP mudah dibuat dan kecepatan akses tinggi.
b. PHP dapat berjalan dalam web server yang berbeda dan dalam sistem operasi yang berbeda pula. PHP dapat berjalan pada sistem operasi Unix, Windows98, Windows NT dan Macintosh.
c. PHP diterbitkan secara gratis.
d. PHP juga dapat berjalan pada web server Microsoft Personal Web Server, Apache, IIS, Xitami, dan sebagainya.
e. PHP adalah termasuk bahasa yang embedded (dapat ditempel atau diletakkan dalam tag HTML).
f. PHP termasuk server-side programming. Sistem database yang didukung oleh PHP adalah:
(39)
1. Oracle 2. Sybase 3. mSQL 4. MySQL 5. Solid
6. Generic ODBC 7. Postgres SQL
PHP juga mendukung komunikasi dengan layanan lain melalui protokol IMAP, SNMP, NNTP, POP3 dan HTTP. Teks editor yang dapat digunakan untuk membuat program PHP adalah Notepad, PHPed, Vi, emac, UltraEdit, dan yang terakhir yang diluncurkan adalah Macromedia Dreamweaver. Sekarang ini banyak programmer web menggunakan teks editor Macromedia Dreamweaver karena kemudahan yang ditawarkan dalam mendesain sebuah web site. Sementara browser yang digunakan oleh PHP untuk melihat hasilnya antara lain dapat menggunakan IE 4.0 atau lebih, Netscape Navigator dan lainnya.
2.5 Fungsi-Fungsi dalam Pemrogramanan PHP
Untuk mengetahui tipe data suatu variabel dapat diperiksa dengan menggunakan fungsi-fungsi yang telah disediakan oleh PHP. Beberapa fungsi-fungsi tersebut dapat dilihat pada Tabel 2.1.
(40)
Tabel 2.1 Fungsi dalam PHP
Fungsi Keterangan
gettype Untuk memperoleh tipe data yang terdapat pada sebuah variabel. Format penulisannya: Getttype(variabel)
Hasilnya berupa tipe data dalam PHP
Is_array Untuk mengetahui apakah variabel tersebut berupa array atau tidak. Format penulisannya: Is_array(variabel)
Hasil:
True: variabel argument adalah array False: variabel argument bukan array
Is_boll Untuk mengetahui apakah variabel tersebut berupa boolean atau tidak. Format penulisannya: Is_boll (variabel)
Hasil:
True: variabel argument adalah boolean False: variabel argument bukan boolean
Is_double Untuk mengetahui apakah variabel tersebut berupa double atau tidak. Format penulisannya: Is_double (variabel)
Hasil:
True: variabel argument adalah double False: variabel argument bukan double Is_float Hampir sama dengan is_double
Is_int Untuk mengetahui apakah variabel tersebut berupa integer atau tidak. Format penulisannya: Is_int (variabel)
Hasil:
True: variabel argument adalah integer False: variabel argument bukan integer
Is_string Untuk mengetahui apakah variabel tersebut berupa string atau tidak. Format penulisannya: Is_string(variabel)
Hasil:
True: variabel argument adalah string False: variabel argument bukan string
(41)
2.6 Variabel dalam Pemrograman PHP
Variabel digunakan untuk menyimpan data sementara, dan nilainya dapat berubah-ubah setiap kali program dijalankan. Dalam PHP, setiap variabel selalu dimulai dengan tanda ‘$’ dan diikuti dengan nama variabelnya, tidak memandang data tersebut apakah integer, real, maupun string, PHP akan secara otomatis mengkonversi data menurut tipenya. Nama variabel dapat berupa kombinasi antara huruf alfabet dan angka dengan panjang maksimal 32 karakter. Secara singkat dapat dikatakan bahwa variabel dalam PHP memiliki aturan:
a. Diawali dengan tanda dolar ($)
b. Penamaan variabel bersifat case sensitive (membedakan huruf besar dan kecil) c. Nama variabel hanya dapat diawali dengan huruf atau garis bawah, diikuti
dengan beberapa huruf atau angka maupun garis bawah.
Variabel dalam PHP tidak harus dideklarasikan terlebih dahulu sebelum digunakan, tidak seperti dalam bahasa pemrograman tertentu yang harus mendeklarasikan variabel terlebih dahulu.
2.7 Tipe Data dalam Pemrogramanan PHP
PHP mempunyai lima macam tipe data yaitu: 1. Integer
2. Float/Double atau billangan pecahan 3. String
4. Array 5. Objek
(42)
Operator merupakan suatu simbol yang dipakai untuk memanipulasi data, seperti perkalian, penjumlahan, pengurangan, pembagian. Adapun operator-operator dalam PHP adalah sebagai berikut:
1. Operator Aritmetika
Operator aritmetika adalah operator yang digunakan untuk melakukan fungsi matematika. Operator aritmetika dalam PHP dapat dilihat pada Tabel 2.2.
Tabel 2.2 Operator Aritmetika
Operator Operasi Penggunaan * Perkalian $a*$b
/ Pembagian $a/$b
% Modulus $a%$b
+ Penjumlahan $a+$b - Pengurangan $a-$b
2. Operator Increment/Decrement
Pre/Post increment dan decrement masing-masing adalah penambahan dan pengurangan satu. Apabila operator diletakan sebelum variabel, misal ++$i atau --$i akan ditambahkan atau dikurangkan 1 sebelum keseluruhan operasi dalam ekspresi dikerjakan dan sebaliknya apabila operator diletakan setelah variabel, misal $i++ atau $i--, maka nilai $i akan ditambah atau dikurangi 1 setelah operasi dalam ekspresi dikerjakan. Operator increment/decrement dapat dilihat pada Tabel 2.3.
Tabel 2.3 Operator Increment/Decrement
(43)
++ Pre/Post Increment ++$a atau $a-- -- Pre/Post decrement --$b atau $b--
3. Operator String
Hanya ada satu operator string, yaitu operator concatenation (·).
4. Operator Bitwise
Operator bitwise dapat digunakan untuk membuat bit tertentu dari suatu integer menjadi 0 atau 1.
5. Operator Perbandingan
Operator perbandingan dapat dilihat pada Tabel 2.4.
Tabel 2.4 Operator Perbandingan
Operator Nama Contoh Hasil
> Lebih dari $a>$b True jika $a lebih besar dari $b <= Kurang dari atau
sama dengan
$a <= $b True jika $a lebih kecil dari $b atau $a sama dengan $b
< Kurang dari $a<$b True jika $a lebih kecil dari $b >= Lebih dari atau
sama dengan
$a >= $b True jika $a lebih besar dari $b atau $a sama dengan $b
= Sama dengan $a == $b True jika $a sama dengan $b != Tidak sama
dengan
$a != $b True jika $a tidak sama dengan $b
6. Operator Ternary
Operator ternary menggunakan tanda “?”. Operator ini akan melakukan evaluasi ekspresi kemudian berdasarkan hasil evaluasi ini bila bernilai benar (tidak sama dengan 0 atau sama dengan null), maka statement benar dikerjakan, dan jika salah statement salah yang dikerjakan. Operator ternary merupakan model
(44)
penyederhanaan dari bentuk if .. else yang setiap blok dari if dan else hanya satu perintah. Sehingga model ini cocok untuk melakukan proses pengisian suatu hasil pengujian.
2.9 Pengenalan Data Base MySQL
MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQl AB, yang pada waktu itu bernama TcX DataKonsult AB, sejak sekitar 1994 – 1995, meski cikal bakal kodenya telah disebutkan sejak 1979. Tujuan mula-mula TcX membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi Web untuk klien–TcX, yaitu perusahaan pengembang software dan konsultan basis data. MySQL versi 1.0 dirilis Mei 1996 secara terbatas, baru di bulan Oktober versi 3.1.1.0 dilepas ke publik.
MySQL termasuk jenis RDBMS (Relational Database Management System), sehingga istilah seperti tabel, baris, dan kolom tetap digunakan dalam MySQL. Pada MySQL sebuah database mengandung satu atau beberapa tabel yang terdiri dari sejumlah baris dan kolom. Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi yang terdiri atas baris-baris data (row atau record) yang berada dalam satu atau lebih kolom
(column). Baris pada tabel sering disebut sebagai instance dari data sedangkan kolom
sering disebut sebagai attributes atau field.
2.10 Tipe Data Field Basis Data MySQL
MySQL mengenal beberapa tipe data field, yaitu:
1. Tipe Data Numerik
Tipe data numerik dibedakan dalam dua macam kelompok, tipe data integer dan tipe data floating point. Tipe data integer untuk data bilangan bulat, tipe data floating point untuk bilangan desimal.
(45)
2. Tipe data String
Tipe data string dapat dilihat pada Tabel 2.5.
Tabel 2.5 Tipe Data String
Tipe data Kisaran Nilai
CHAR 1-255 character
VARCHAR 1-255 character
TYNYBLOB,TYNYTEXT 1-255 character BLOB, TEXT 1-65535 character MEDIUMBLOB,
MEDIUMTEXT
1-16777215 character
LONGBLOB, LONGTEXT
1-4294967295 character
ENUM Maksimum 65535 character
SET Maksimum 64 elemen
3. Tipe Data Char() dan Varchar()
Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya pada jumlah memori yang dibutuhkan untuk penyimpanan. Memori yang dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa jumlah character yang ditetapkan pada field tersebut dideklarasikan. Sebaliknya, pada tipe data varchar() besarnya memori penyimpanan bergantung pada beberapa character yang dipakai ditambah 1 byte yang berisi data jumlah character yang dipakai. 4. Tipe Data Tanggal
(46)
Untuk data tanggal dan waktu (jam) tersedia tipe-tipe data field yang dapat dilihat pada Tabel 2.6.
Tabel 2.6 Tipe Data Tanggal Tipe data Kisaran Nilai DATETIME
DATE
TIMESTAMP TIME
YEARS
1000-01-01 00:00 to 9999-12-31 23:59:59 1000-01-01’ to ‘9999-12-31’
1970-01-01 00:00:00’-2037 -838:59:59’ to’838:59:59:59’ 1901 - 2155
(47)
BAB 3
PERANCANGAN SISTEM
3.1 Metode Perancangan
Metode perancangan dari Aplikasi Penjualan Secara Online ini menggunakan metode pendekatan atas bawah (top down approach). Dimana perancangan dimulai dari bentuk yang paling global kemudian diturunkan menjadi bentuk yang lebih detail. Aplikasi ini terdiri dari tiga bagian utama yaitu Administrator, Antarmuka Pembeli, dan Sistem Manajemen Basis Data.
3.2 Hasil Perancangan
3.2.1 Bagan Berjenjang
Bagan berjenjang dapat dijadikan pedoman alur dan susunan untuk perancangan aplikasi selanjutnya karena bagan berjenjang ini berisi semua alur proses dalam merancang sistem aplikasi ini. Bagan berjenjang aplikasi ini dapat dilihat pada Gambar 3.1.
3.2.2 Diagram Konteks
Diagram konteks dari sistem ini memiliki tiga external entity yaitu produsen (supplier), administrator yang juga dapat dianggap manajemen atau distributor dan pembeli yang juga dapat disebut konsumen (customer). Tetapi yang berhubungan langsung dengan sistem hanya dua entitas saja yaitu administrator dan pembeli. Administrator dapat juga dianggap sebagai manajemen penjualan, karena seorang administrator yang hanya dapat mengetahui persediaan stok penjualan serta mengatur hubungan dengan produsen penyedia stok penjualan. Untuk lebih jelas Diagram Konteks sistem ini dapat dilihat pada Gambar 3.2.
(48)
Gambar 3.1 Bagan Berjenjang Aplikasi Online
verifikasi Setting data penjualan Proses pembelian dan
dan stock pengisian data oleh pembeli 0
Aplikasi Penjualan Tanaman Palawija Secara Online Dengan Menggunakan PHP
dan MySQL
2
Tampilan Aplikasi Penjualan
1.1 Autho risasi 1.1.2 Log- out 1.1.1 update kategori 1.1.1.2 update produk 1.1.1.3 update order 1.1.1.4 update shop config 1.1.1.5 update user 2.1 Tampilan Kategori dan Produk 1 Login Administrator 2.2 Proses Pemesa nan (cart) 2.3 Proses pengisi an data 2.4 Sukses (log out)
Aplikasi Penjualan Hasil Perkebunan Secara Online Dengan
PHP Dan MySQL
Pembeli
(customer)
Administrator Produsen
(49)
Gambar 3.2 Diagram Konteks Aplikasi Penjualan Secara Online
3.2.3 Perancangan Susunan Diagram Tampil
Diagram tampil mendeskripsikan kemampuan visualisasi dari tampilan yang akan dirancang.
3.2.3.1 Perancangan Susunan Diagram Tampil Administrator
Diagram tampil atau susunan perancangan tampilan dari Antarmuka Administrator terdiri dari halaman kategori, halaman produk jenis dari kategori itu, halaman simpan pesanan dari pembeli, halaman config yang berfungsi untuk mengubah tampilan data – data administrator pada antarmuka pembeli, dan halaman user yang berfungsi untuk mengubah maupun menghapus dan menambah user administrator. Diagram Tampil ini dapat dilihat pada Gambar 3.3.
Gambar 3.3 Diagram Tampil Untuk Antarmuka Administrator Halaman Administrator Halaman Kategori edit kategori tambah kategori ubah katogori Halaman Produk jenis edit produk tambah produk ubah produk Halaman order simpan daftar pesanan hapus daftar pesanan Halaman Config Shop Mengubah tampilan di antarmuka pembeli Halaman user tambah user edit user (khusus untuk user di administrat or
(50)
3.2.3.2 Perancangan Susunan Diagram Tampil Antarmuka Pembeli
Diagram tampil antarmuka pembeli ini terdiri dari halaman yang menampilkan semua kategori, halaman yang menampilkan satu dari tiga macam kategori, dimana pada sistem ini kategori yang dibahas hanya tiga kategori saja yaitu kategori wortel, tomat, dan cabai. Selanjutnya, akan ditampilkan halaman jenis–jenis produk dari masing– masing ketiga kategori tersebut, dan berlanjut di pemesanan oleh pembeli, setelah pembeli melakukan pembelian pembeli akan mengisi data, dan berlanjut terbukanya halaman dimana pembeli dapat melihat total daftar pembelian beserta harganya. Untuk lebih jelasnya dapat dilihat pada Gambar 3.4.
Gambar 3.4 Diagram Tampil Pada Antarmuka Pembeli Halaman Antarmuka Pembeli
Halaman menampilkan semua kategori
Kategori Wortel Kategori Cabai Kategori Tomat Jenis Produk Jenis Produk1 Jenis Produk Jenis Produk1 Jenis Produk Jenis Produk1 Halaman Pesan
Halaman Pengisian Data Pembeli
Daftar dan Harga Pembelian
(51)
3.2.4 Diagram Arus Data
3.2.4.1 Diagram Arus Data Level 1
Diagram arus data level 1 pada sistem ini dimulai pada Aplikasi Antarmuka Administrator, dan terdiri dari dua proses yaitu, proses login dan proses menghasilkan data yang akan ditampilkan pada antarmuka pembeli. Tampilan pada antarmuka pembeli inilah yang merupakan diagram arus data level 2 pada sistem ini. Diagram arus data level 1 sistem ini diperlihatkan pada Gambar 3.5.
Nama user & password
status
Nama user & Password
Status
Data administrator
Gambar 3.5 Diagram Arus Data Level 1 Admin User admin 1 status login Db1 Admin Db1 user 2 Administrator Interface Db2 Data Kategori Db2 Data Produk Db2 Data Currency Db2 Data Config
(52)
3.2.4.2 Diagram Arus Data Level 2
Diagram arus data level 2 prosesnya terjadi pada antarmuka pembeli. Data penjualan yang telah dihasilkan pada managemen administrator ditampilkan pada antarmuka pembeli. Dari proses pada antarmuka pembeli dihasilkan data – data yang dialirkan kembali ke manejemen administrator. Aliran data inilah yang merupakan arus data level 3. Diagram arus data level 2 sistem ini dapat dilihat pada Gambar 3.6.
Kategori produk
Kategori panjualan mata uang yang dipakai
Dalam proses pembayaran
Data item – item perincian
Yang dipesan pesanan
Data si pemesan
Dan yang membayar
Gambar 3.6 Diagram Arus Data Level 2
3.2.4.3 Diagram Arus Data Level 3
Pada diagram arus data level 3, proses aliran data berlangsung dari sistem antarmuka pembeli (customer) menuju pada sistem administrator. Adapun data yang dialirkan adalah data order (pemesan dan pembayar), data pesanan, dan penjabaran data – data
Db2 Data Kategori
Db2 Data Produk
Db2 Data Currency
1
Antarmuka Pembeli
Db3
Data Order Db3
Data Order Item
Db3
(53)
pemesan dan pesanan. Penjabaran disini mencakup waktu pesanan dan total harga pesanan. Diagram arus data level 3 dapat dilihat pada Gambar 3.7.
Aliran aliran data pesanan
data
pemesan
update update
data data
kategori produk
Gambar 3.7 Diagram Arus Data Level 3
3.2.5 Perancangan Basis Data
Perancangan basis data dari sistem ini terdiri dari delapan tabel. Di antara delapan tabel tersebut terdapat dua tabel yang berdiri sendiri-sendiri atau tidak memiliki relasi dengan tabel lain. Kedua tabel tersebut adalah tabel user administrator dan tabel configurasi shop.
3.2.6 Hubungan Antartabel
Adapun hubungan antartabel dari sistem ini dapat dilihat pada Gambar 3.8.
Db3 Data Order
Db3 Data Order Item
Db3
Data Waktu Pesanan
2 Administrator Interface DB Data Kategori DB Data Produk DB Data Order DB Data Order Item
(54)
n 1 1 n n n
n n
1 1 1
1
Gambar 3.8 Hubungan Antartabel
Gambar di atas menunjukkan hubungan antara entitas yang berbeda di mana pertama- tama diasumsikan hanya ada satu administrator sistem di dalam Aplikasi Online ini. Sebagai tambahan, 1 order dapat memesan n order item, dan 1 pemesanan (cart) mempunyai n order item. Berikutnya, 1 jenis (product) dapat mempunyai n order item, 1 kategori mempunyai n jenis (product), dan yang kelima 1 jenis mata uang (currency) mempunyai n order.
Tbl_user User_id User_name User_password User_reg_date User_last_login Tbl_shop_co nfig Sc_name Sc_address Sc_phone Sc_email Sc_shiping cost Sc_currency Sc_order email Tbl_kateg ori Cat_id Cat_parent _id …. …. …. Tbl_product Cat_id Pd_name Pd_id Pd_description ……. ……. ……. Tbl_order _item Od_id Pd_id Od_qty Tbl_order Od_memo Od_shipping_first_name Od_shipping_last_name …. …. Tbl_curr ency Cy_id Cy_code ….. Tbl_cart Ct_id Pd_id ….. …..
(55)
3.2.6.1 Tabel User
Tabel user dibuat untuk menyimpan dan menampung data administrator, user disini maksudnya adalah termasuk administrator. Yang berhak melakukan penambahan dan pengubahan pada Aplikasi Online ini. Untuk lebih jelas field–field yang dibuat dalam tabel user dapat dilihat pada Tabel 3.1.
Tabel 3.1 Struktur Tabel User Administrator
Field name Type Field size Keterangan
User_id Integer 10 Nomor Id user (primary key index) User_name Varchar 20 Nama user
User_password Text Password user
User_regdate Date Tanggal registrasi User_last_login Date Tanggal login terakhir
3.2.6.2 Tabel Shop_config
Tabel shop_config sebagai tempat penyimpanan administrator, secara spesifik data administrator disini adalah orang yang membuat sistem usaha penjualan secara online ini. Data yang tersimpan di tabel inilah yang ditampilkan pada antarmuka pembeli seperti nomor telepon yang dapat dihubungi, alamat email, dan hal lainnya yang menyangkut tentang siapa orang dibalik sistem perusahaan online ini. Berikut adalah field–field yang dibuat dalam tabel Shop_config, yang dapat dilihat pada Tabel 3.2.
Tabel 3.2 Struktur Tabel Shop_config
Field Name Type Field Size Keterangan
Sc_name Varchar 50 Nama si pembuat program
(administrator) Sc_address Varchar 100 Alamat administrator
(56)
Sc_phone Varchar 30 Nomor telepon
Sc_email Varchar 30 Alamat email
Sc_shipping_cost Decimal Ketetapan harga penjualan
Sc_order_email Enum Alamat email pembeli atau pemesan Sc_currency Integer 10 Mata uang yang digunakan.
3.2.6.3 Tabel Product
Tabel product dibuat untuk menampung jenis-jenis dari penjualan. Sistem penjualan online ini menjual tiga jenis tanaman palawija, yaitu wortel, tomat dan cabai. Tabel product menyimpan jenis–jenis ataupun macam dari masing–masing kategori yang diatur mengikuti kondisi pasar. Tabel ini pada dasarnya didesain kosong, apabila ada tambahan ataupun perubahan produk, maka tabel ini menyimpan datanya. Field–field yang dibuat dalam table product dapat dilihat pada Tabel 3.3.
Tabel 3.3 Struktur Tabel Product
Field name Type Field size Keterangan
Pd_id Integer 10 Parent id mengacu pada kategori dari produk
Cat_id Integer 10 Mengacu pada kategori secara lebih spesifik Pd_name Varchar 100 Nama dari produk
Pd_description Text Pendiskripsian dari produk yang bertujuan menarik minat pembeli.
Pd_price Decimal Tetapan harga perproduk
Pd_qty Smallint 5 Pendiskripsian stok yang tersedia dari produk ini.
Pd_image Varchar 200 Gambar dari produk Pd_thumbnail Varchar 200 Gambar dari produk
(57)
Pd_last_update Date Tanggal terakhir produk diupdate
3.2.6.4 Tabel Order_item
Tabel ini dibuat dan digunakan untuk tempat penyimpanan data penjualan. Administrator menyimpan macam–macam produk yang berhasil terjual pada tabel ini. Sama halnya dengan tabel poduct, tabel ini pada pendesain awal juga kosong (empty). Karena tabel ini disediakan untuk menampung data dari antarmuka pembeli langsung, dan administrator dapat mengubah isi tabel ini pada aplikasi administrator. Untuk lebih jelas field–field yang dibuat dalam tabel ini dapat dilihat pada Tabel 3.4.
Tabel 3.4 Struktur Tabel Order_item
Field name Type Field size Keterangan
Od_id Integer 10 Kategori yang dipesan Pd_id Integer 10 Nama produk yang dipesan Od_qty Integer 10 Banyaknya jumlah pesanan
3.2.6.5 Tabel Order
Tabel ini digunakan untuk menampung dan menyimpan data pembeli dan yang melakukan pembayaran. Data pembelian dan pembayaran dibedakan dalam sistem ini, tetapi data tersimpan dalam satu tabel. Pada antarmuka pembeli, apabila si pembeli melakukan pemesanan, maka si pembeli harus mengisi formulir data pada sistem antarmuka. Data yang diisi oleh si pembeli inilah yang tersimpan ke dalam tabel order. Begitu juga dengan yang melakukan pembayaran,data akan tersimpan kedalam tabel ini. Apabila yang melakukan pembelian dan yang melakukan pembayaran adalah orang yang berbeda, maka datanya secara terperinci akan disimpan ke dalam tabel order. Adapun field–field dari tabel order dapat dilihat pada Tabel 3.5.
(58)
Tabel 3.5 Struktur Tabel Order
Field name Type Field Size Keterangan
Od_id Integer 10 Nomor pesanan
Od_date Date Tanggal dilakukannya pesanan
Od_last update Date Tanggal terakhir dilakukannya perubahan
Od_status Status pesanan
Od_memo Varchar 255 Konfirmasi pesanan
Od_shipping_first_name Varchar 50 Nama awal si pemesan
Od_shipping_last_name Varchar 50 Nama akhir dari si pemesan
Od_shipping_address1 Varchar 100 Alamat si pemesan
Od_shipping_address2 Varchar 100 Alamat alternatif si pemesan
Od_shipping _phone Varchar 32 Nomor telepon si pemesan
Od_shipping_city Varchar 100 Kota tempat tinggal si pemesan
Od_shipping_state Varchar 32 Propinsi tempat tinggal si pemesan
Od_shipping_postal_code Varchar 10 Kode pos
Od_shipping_cost Total harga yang harus dibayar
Od_payment_first_name Varchar 50 Nama awal si pembayar
Od_payment_last_name Varchar 50 Nama akhir si pembayar
Od_payment_address1 Varchar 100 Alamat yang si pembayar
(59)
3.2.6.6 Tabel Currency
Tabel ini digunakan untuk menyimpan mata uang yang dipergunakan dalam proses jual secara online ini. Dari awal dibuatnya sistem ini, tabel Currency sudah ditetapkan berisi tiga jenis mata uang. Intinya, tabel ini tidak bersifat kosong, tetapi dari awal tabel ini sudah berisi yang bentuknya tetap. Tabel ini tidak dapat diubah setiap saat seperti halnya tabel produk yang dapat diubah setiap saat, dari desain awal basis data tabel ini sudah terisi. Untuk lebih jelas field–field dari tabel ini dapat dilihat pada Tabel 3.6.
Tabel 3.6 Struktur Tabel Currency
Field name Type Field size Keterangan
Cy_id Integer 10 Penomoran jenis mata uang
Cy_code Char 3 Kode mata uang (‘EUR’,’GBP’,’JPY’,’USD’) Cy_simbol Varchar 8 Simbol mata uang
3.2.6.7 Tabel Category
Sama halnya dengan tabel Currency, tabel Category juga sudah berisi ketetapan dari awal. Tabel ini tidak kosong, sesuai dengan permasalahan yang dibahas, yaitu Penjualan Tanaman Palawija yang mencakup tiga jenis palawija: wortel, tomat dan cabai, sehingga dalam tabel Category sudah berisi simpanan tiga jenis tanaman ini. Field–field dari tabel category dapat dilihat pada Tabel 3.7.
Tabel 3.7 Struktur Tabel Category
Field name Type Field size Keterangan
Cat_id Integer 10 Induk utama macam – macam kategori
Cat_parent_id Integer 11 Subinduk dari kategori sesuai dengan id yang dipilih
(60)
Cat_name Varchar 50 Nama kategori
Cat_description Varchar 200 Pendeskripsian kategori
Cat_image Varchar 50 Gambar dari kategori
3.2.6.8 Tabel Cart
Tabel Cart adalah tabel yang berfungsi sebagai tempat penyimpanan data pesanan atau pembelian. Hampir sama fungsinya dengan tabel Order_item, hanya saja kalau tabel Order_item berkaitan dengan tabel Order, tabel Cart tidak berhubungan langsung dengan tabel Order. Penjabarannya, tabel order berisi data pembeli dan tabel order_item berisi data produk–produk yang dipesan oleh si pemesan yang datanya ada di tabel Order. Sedangkan tabel Cart berisi kalkulasi dan akumulasi pesanan–pesanan yang telah dilakukan pada antarmuka pembeli. Field–field yang dibuat dalam tabel Cart dapat dilihat pada Tabel 3.8.
Tabel 3.8 Struktur Tabel Cart
Fiel name Type Field size Keterangan
Ct_id Integer 10 Nomor induk pesanan Pd_id Integer 10 Nomor induk sub pesanan
Ct_qty Mediumint 8 Total banyaknya dan harga pesanan
Ct_session_id Char 32 Nomor induk waktu pemesanan
Ct_date Date Tanggal dilakukannya pemesanan
3.2.7 Perancangan Modul-Modul PHP
3.2.7.1 Perancangan File-File PHP pada Antarmuka Administrator
Untuk memberikan kemampuan editing, maka harus ditentukan penciptaan, pengeditan data, penghapusan data pada sistem. Pada main.php akan ditampilkan lima bagian yang dijadikan menu utama. Menu–menu tersebut adalah kategori, product, order, user, dan
(61)
shopconfig. Pada masing–masing menu tersusun file–file php yang mempunyai kegunaan dan fungsi dalam mendukung kemampuan sistem aplikasi administrator ini. Untuk lebih jelas dapat dilihat pada Gambar 3.9.
Selain dari file-file php yang diperlihatkan pada gambar di bawah, aplikasi administrator juga memiliki file php pendukung yang terdapat dalam sublibrary. Adapun file php yang termasuk kedalam sublibrary itu antara lain function.php. File ini merupakan tonggak penting dalam menjalankan sistem aplikasi administrator karena pada file function.php adalah suatu metode untuk mengelompokkan program yang ada menu utama, artinya semua fungsi–fungsi pada file–file php yang ada pada menu utama hanya dijalankan pada satu file php saja yaitu function.php.
Index.php Login.php
Main.php
Kategori Add.php List.php Modify.php Processcategory.p h
Product Add.php Gagal.php
(62)
Gambar 3.9 Hubungan File-File PHP pada Administrator
3.2.7.2 Perancangan File–File PHP pada Antarmuka Pembeli
Pada antarmuka pembeli file–file php yang menjadi menu utama tidak sebanyak seperti pada antarmuka administrator. Pada antarmuka pembeli tidak terbagi ke beberapa bagian menu. Karena pada antarmuka pembeli file–file php hanya melanjutkan file–file php yang ada pada administrator. Segala penambahan, pengurangan dan penghapusan dilakukan pada administrator. Adapun file–file php yang terdapat pada antarmuka pembeli akan diperlihatkan pada Gambar 3.10.
Index.php
Cart.php Proses pemesanan
Checkout.php Proses pengisian data pembeli
(63)
Gambar 3.10 Hubungan File–File PHP pada Antarmuka Pembeli
Sama hal seperti antarmuka administrator, pada antarmuka pembeli juga terdapat file pendukung utama jalannya program, yaitu file yang terdapat dalam sublibrary. Perbedaanya adalah file fungsi program pada antarmuka pembeli tidak dijadikan satu seperti file fungsi pada administrator yang dijadikan satu pada file function.php. File– file fungsi pada antarmuka pembeli terpisah menjadi tiga file fungsi. Ketiga file fungsi tersebut adalah checkout-functions.php, cart-functions.php, dan success-functions.php.
3.3 Algoritma
Algoritma merupakan langkah-langkah maupun urutan bertahap dan spesifik dari suatu masalah. Algoritma digunakan untuk menganalisis serta menjelaskan urutan dan hubungan antara kegiatan-kegiatan yang akan ditempuh. Selain itu algoritma juga berfungsi untuk menyelesaikan suatu permasalahan sehingga tercapai suatu tujuan. Berikut ini merupakan beberapa algoritma yang menjadi inti dari perancangan sistem ini, yaitu Algoritma Home Administrator,Login Administrator, Data Kategori, Data
Produk, Data User Administrator, Data Pembeli (Order), Data Pembelian (Order_item,
Cart).
(64)
Berikut merupakan langkah-langkah bertahap dan spesifik dari halaman home pada modul Administrator.
Open index.php Input main
If home = true then Open index.php
End if End
3.3.2 Algoritma Login Administrator
Berikut adalah algoritma login pada modul Administrator. Jika Administrator memberikan password yang sesuai, maka selanjutnya halaman Administrator akan terbuka
Input admin
If login admin = true then Input user, password
Open table tbl_users where user = user input and password = password input
If found then
Open admin/main.php Else
Open admin/index.php End if
End if
3.3.3 Algoritma Data Kategori
Dibawah ini merupakan langkah-langkah bertahap dari halaman kategori, dimana pada halaman ini mencakup tambah kategori, ubah kategori dan hapus kategori.
(65)
Input category
Local variable Tambah, Ubah, Hapus
Open admin/category/index.php?view=add
If Update = true then
Input category_id,category_parent_id
category_name,category_description,category_image
Open tbl_category
Insert into tbl_category (category_id,
category_parent_id,category_name,
category_description, category_image)
End If
If Ubah = true then
Update tbl_category set category_id = category_id
input, category_parent_id = category_parent_id input,
category_name = category_name input,
category_description = category_description input,
category_image = category_image input
End if
If Hapus = true then
Delete from tbl_category where category_id =
category_id input
End if
3.3.4 Algoritma Data Produk
Sama halnya dengan data kategori, pada algoritma data produk dibawah ini mencakup tambah produk, ubah produk dan hapus produk.
Input product
Local variable Tambah, Ubah, Hapus
Open admin/product/index.php?view=add
If Update = true then
Input product_id, category_id, product_name,
(66)
product_image, pd_thumbnail, product_date,
product_last_update
Open tbl_product
Insert into tbl_product (pd_id, cat_id, pd_name,
pd_description, pd_price, pd_qty, pd_image,
pd_thumbnail, pd_date, pd_last_update)
End If
If Ubah = true then
Update tbl_product set product_id = product_id input,
category_id = category_id input, product_name =
product_name input, product_description =
product_description input, product_price =
product_price input , product_qty = product_qty
input, product_image = product_image input,
product_thumbnail = product_thumbnail input,
product_date = product_date input,
product_last_update = product_last_update input
End if
If Hapus = true then
Delete from tbl_product where product_id =
product_id input
End if
3.3.4 Algoritma Data Order
Halaman data order merangkum seluruh data-data pembeli, sama hal dengan algoritma data kategori dan data produk, algoritma data order juga mencakup tambah data order, ubah data order dan hapus data order. Algoritma data order diperlihatkan dibawah ini.
Input order
Local variable Tambah, Ubah, Hapus
Open admin/order/index.php?view=detail
If Update = true then
Input order_id, order_date, order_last_update,
order_status,order_memo,order_shipping_first_name,
(67)
order_shipping_address2, order_shipping_phone, order_shipping_city, order_shipping_state, order_shipping_postal_code, order_shipping_cost order_payment_first_name, order_payment_last_name, order_payment_address1, order_payment_address2, order_payment_phone, order_payment_city, order_payment_state, order_payment_postal_code Open tbl_order
Insert into tbl_order (od_id, od_date,
od_last_update, od_status, od_memo,
od_shipping_first_name, od_shipping_last_name, od_shipping_address1, od_shipping_address2, od_shipping_phone, od_shipping_city, od_shipping_state, od_shipping_postal_code, od_shipping_cost, od_payment_first_name, od_payment_last_name, od_payment_address1, od_payment_address2, od_payment_phone, od_payment_city, od_payment_state, od_payment_postal_code ) End If
If Ubah = true then
Update tbl_order set order_id = order_id input,
order_date = order_date input, order_last_update =
order_last_update input, order_status =
order_status input, order_memo = order_memo input,
order_shipping_first_name =
order_shipping_first_name input,
order_shipping_last_name =
order_shipping_last_name input,
order_shipping_address1 = order_shipping_address1
input, order_shipping_address2 =
order_shipping_address2 input,
order_shipping_phone = order_shipping_phone input,
order_shipping_city = order_shipping_city input,
order_shipping_state = order_shipping_state input,
order_shipping_postal_code =
(68)
order_shipping_cost = order_shipping_cost input,
order_payment_first_name =
order_payment_first_name input,
order_payment_last_name = order_payment_last_name
input, order_payment_address1 =
order_payment_address1 input,
order_payment_address2 = order_payment_address2
input, order_payment_phone = order_payment_phone
input, order_payment_city = order_payment_city
input, order_payment_state = order_payment_state
input, order_payment_postal_code =
order_payment_postal_code input
End if
If Hapus = true then
Delete from tbl_order where order_id = order_id
input
End if
3.3.5 Algoritma Data Pembelian (Order_item / Cart)
Sama halnya dengan algoritma data order, algoritma data pembelian juga mencakup tambah data pembelian, ubah data pembelian, hapus data pembelian. Halaman data pembelian merangkum seluruh data produk-produk yang telah terjual.
Input data pembelian
Local variable Tambah, Ubah, Hapus
Open administrator/simple_shopping_cart/order/index.php
If Tambah = true then
Input cart_id, product_id, cart_quantity,
cart_session_id, cart_date_time
Open table tbl_cart
Insert into tbl_cart (ct_id, pd_id, ct_qty,
(69)
Insert into tbl_product (pd_id, cat_id, pd_name,
pd_description, pd_price, pd_qty, pd_image,
pd_thumbnail, pd_date, pd_last_update)
End if
If Ubah = true then
Update tbl_cart set cart_id = cart_id input,
product_id = product_id input, cart_quantity =
cart_quantity input, cart_session_id = cart_session_id
input, cart_date = cart_date input
Update tbl_product set product_id = product_id input,
category_id = category_id input, product_name =
product_name input, product_description =
product_description input, product_price = product_price
input, product_qty = product_qty input, product_image =
product_image input, product_thumbnail =
product_thumbnail input, product_date = product_date
input, product_last_update = product_last_update input
End if
If Hapus = true then
Delete from tbl_cart where id = id input
Delete from tbl_cart where id = product_id input
End if
(70)
BAB 4
IMPLEMENTASI PROGRAM
4.1 Batasan Implementasi
Sistem Penjualan Secara Online ini, merupakan aplikasi berbasis web dimana aplikasi ini dapat digunakan pada jaringan internet. Pada tugas akhir ini, implementasi Sistem Penjualan Secara Online tidak sampai pada tahap pengaplikasiannya secara nyata ke jaringan internet. Lingkungan pengembangan dari sistem ini adalah mengenai proses penjualan dan pembelian tanaman palawija wortel, tomat, dan cabai secara online.
Perangkat lunak yang digunakan untuk mendesain sistem ini adalah Macromedia Dreamwaver. Perangkat lunak ini dipilih karena memiliki fasilitas yang mudah dan ringan untuk mendesai web. Sedangkan untuk penulisan kode PHP-nya, digunakan pernagkat lunak Edit Plus 2.1. Digunakan perangkat lunak ini dalam penulisan kode PHP karena Edit Plus 2.1 ini dapat membedakan antara penulisan kode program PHP dan HTML. Perbedaan itu diperlihatkan melalui warna pada listing
(71)
program yang ditulis. Macromedia Dreamweaver juga dapat digunakan untuk menuliskan kode PHP-nya. tetapi menggunakan Edit Plus dalam penulisan kode jauh lebih membantu pembangunan sistem lebih cepat.
4.2 Implementasi Program
Implementasi sistem ini terbagi menjadi dua yaitu implementasi pada Aplikasi Administrator dan Aplikasi Antarmuka Pembeli (User interface). Pada Aplikasi Administrator akan dibagi lagi menjadi beberapa bagian, begitu juga dengan Aplikasi User Interface.
4.2.1 Aplikasi Administrator
Aplikasi administrator terbagi menjadi beberapa bagian tampilan, yaitu akan di paparkan dibawah ini.
(72)
Gambar 4.1 Halaman Utama pada Administrator
Inilah halaman utama pada aplikasi administrator, halaman ini terbuka setelah Administrator membuka halaman login dan berhasil masuk ke sistem.
4.2.1.2 Halaman Kategori
Setelah masuk ke halaman utama pada administrator, pemakai diasumsikan disini sebagai administrator akan masuk ke halaman ketegori. Di halaman kategori ini hanya ditampilkan tiga kategori saja, sesuai dengan batasan yang telah disampaikan penulis sebelumnya. Tetapi pada halaman ini disediakan fasilitas untuk penambahan kategori, yang akan dibahas berikutnya.
(73)
Gambar 4.2 Halaman Kategori Penjualan pada Administrator
4.2.1.3 Halaman Tambah Kategori
Pada halaman ini tertampil fasilitas untuk penambahan kategori. Setelah administrator melakukan penambahan kategori pada halaman ini, otomatis jenis kategori pada user interface akan bertambah juga. Untuk lebih jelas dapat dilihat pada Gambar 4.3.
(1)
(2)
(3)
(4)
B
Product ? Halaman
Produk Tambah ?
Proses Tambah Hapus ? Ubah ? Proses Hapus Proses Ubah Halaman Produk Keluar ?
Order ? Halaman
Order Ubah ?
Proses Ubah Status
Lihat Halaman Order Item ?
Keluar ?
Halaman
Order Item Keluar ? Halaman Order Keluar ? B D D Y T Y T Y T Y T T Y Y T Y T T Y T Y T Y Y T
(5)
(6)
B
Data shop_config ?
Halaman
Shop_config
Ubah ?
Proses Ubah
Halaman Shop_config
Keluar ?
Data User ?
Halaman
User
Tambah ?
Proses
Tambah
Hapus ?
Proses Hapus
Ubah ?
Proses Ubah
Halaman User