sistem informasi pencatatan transaksi pada pusat …
TRANSCRIPT
SISTEM INFORMASI PENCATATAN TRANSAKSI
PADA PUSAT PERBELANJAAN
Tugas akhir
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Disusun oleh :
Nama : Yustina Heni Puspitasari
NIM : 015314065
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA
YOGYAKARTA 2008
INFORMATION SYSTEM OF CUSTOMERS TRANSACTION REPORT
SYSTEM IN SUPERMARKET
Final Project
Presented as Partial Fulfillment of the Requirements
to Obtain the Sarjana Teknik Degree
in Informatics Engineering
By : Name : Yustina Heni Puspitasari
NIM : 015314065
INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
YOGYAKARTA 2008
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah
Yogyakarta, Juni 2008
Penulis
Yustina Heni Puspitasari
PERSEMBAHAN
My GodFather Bapa, Putra dan Roh Kudus.
Bapak dan Ibuk tercinta…
Akhirnya anakmu lulus jadi sarjana...!!”. Terima kasih atas cinta kasih, perlindungan serta dukungan
moral dan material buat Henny sampai saat ini.
Kedua kakakku tercinta, mas Wawan dan Mbak Ida “Lega juga bisa lulus…!”
Terima kasih atas perhatian dan dorongan semangat yang selalu kalian teriak - teriakan kepadaku baik itu moril atau materiil, tanpa kalian aku ngga akan bisa.
Terima kasih atas segalanya.
Keponakan - keponakanku, Dewiex, Dian dan Kayla… Yang selalu memberi keceriaan ketika Mbak Henny merasa jenuh...
Dunia ini semakin ceria dengan adanya kalian di keluarga besar kita....
Bluefamers Cyber Lady dah jadi sarjana bro en sista :hehe: :party:
.
Pondokers MAPASADHA Kalian selalu ada kapanpun aku mau..Ketika aku pergi dan kembali lagi..
kalian masih tetap ada dan ada…Aku bangga menjadi bagian dari kalian..Love you all..
Teman-teman MAPALISTA Woyo...Makasih dah menerima aku.
Aku merasa nyaman berada di tengah-tengah kalian.
Teman-teman TI angkatan 2001 Aku merasa beruntung dan tersanjung, karena mempunyai teman-teman seperti kalian.
Kalian semua adalah ‘The Best’.
Lovely Netindo crew Di sana aku mempunyai pengalaman baru bersama kalian..
thanks for all the experience guys.
Serta semua pihak yang telah membantuku Tanpa kalian semua tugas akhir ini tidak mungkin terselesaikan
terima kasih ya !
vi
MOTTO
Don’t worry about a thing…
Cause every litlle things is gonna be allright - Bob Marley –
Anything is possible if you want really to
Hadapilah yang ada di depanmu dengan senyum..
Lakukanlah yang terbaik untuk mendapatkan yang terbaik ...
Apa yang terjadi sekarang adalah apa yang
kau pikirkan di masa lalu
Selalu berpikir positif dalam hal apapun, karenaTuhan selalu mengetahui apa yang ada dalam pikiranmu
vii
ABSTRAKSI
Dalam tugas akhir ini akan dibuat suatu perangkat lunak sistem informasi
yang ditujukan untuk sistem informasi pencatatan transaksi pelanggan pada pusat
perbelanjaan. Sistem Informasi Pencatatan Transaksi Pelanggan pada Pusat
Perbelanjaan adalah sebuah sistem yang dibangun untuk dapat mengelola data
pelanggan, toko serta transaksi yang ada pada pusat perbelanjaan.
Sistem ini mencatat data transaksi pelanggan untuk mempermudah
pengelola pusat perbelanjaan mengetahui secara detail data pelanggannya dan di
toko mana saja mereka berbelanja di pusat perbelanjaan itu.
Sistem Informasi Pencatatan Transaksi Pelanggan Pada Pusat Perbelanjaan
ini dibuat dengan menggunakan Bahasa pemrograman JSP untuk membuat
antarmuka dan MYSQL untuk mengelola basisdatanya.
viii
ABSTRACT
The thesis explains the operation of a software made for Information
system of customers transaction report in superrmarket. This is built to process
customers, stores, and transactional data in the hypermarket.
This information system records the customers transaction data to facilitate
the departement store manager to knowing the detailed customer’s data and which
stores purchase in the hypermarket.
This software is made by using JSP programming language fo interface
and MYSQL for database processing.
ix
KATA PENGANTAR
Puji syukur ke hadirat Bapa di surga, Putra dan Roh Kudus, atas limpahan
Kasih, bimbingan dan lindungan-Nya.
Skripsi ini ditulis untuk memenuhi salah satu syarat memperoleh gelar
sarjana teknik, Fakultas Sains dan Teknologi, Jurusan Teknik Informatika,
Universitas Sanata Dharma.
Dalam penulisan tugas akhir ini, penulis menyadari banyak pihak yang
telah memberikan sumbangan baik pikiran, waktu, tenaga, bimbingan dan
dorongan pada penulis sehingga akhirnya tugas akhir ini dapat selesai. Oleh
karena itu, dengan segala kerendahan hati penulis menyampaikan ucapan terima
kasih kepada :
1. Ir. Gregorius Heliarko SJ, SS, BST, MA, M.Sc., selaku Dekan Fakultas
Sains dan Teknologi Universitas Sanata Dharma.
2. Ibu Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Ketua Jurusan
Teknik Informatika Universitas Sanata Dharma.
3. Ibu Ridowati Gunawan, S.Kom., M.T. dan Bapak Daniel Alvin
Simanjuntak, SE, Akt, S.Kom. selaku dosen pembimbing untuk
kesabaran, bantuan dan arahannya.
4. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. dan Bapak Alb. Agung
Hadhiatma, S.T., M.T. selaku dosen penguji yang banyak memberikan
kritik dan saran demi sempurnanya tugas akhir penulis.
x
xi
5. Kedua orang tuaku yang dengan kasih dan sayangnya selalu memberikan
dukungan baik moral,material maupun spiritual untuk menjalani
kehidupan ini.
6. Kedua kakakku, Mas Wawan dan Mbak Ida yang selalu memberi
dorongan serta semangat baik moril dan materiil kepada penulis baik pada
saat pengerjaan tugas akhir ini ataupun pada masa-masa kuliah.
7. Keponakan-keponakanku yang lucu, Dewi, Dian dan Kayla yang selalu
membuatku selalu ceria dan termotivasi menyelesaikan tugas akhir ini.
8. Seluruh Dosen Teknik Informatika yang telah membimbing penulis
selama belajar di Universitas Sanata Dharma.
9. Aditya, Wawan dan Jacob yang telah membantu pemecahan berbagai
masalah saat penulis mengerjakan program.
10. Teman dan sahabat Teknik Informatika 2001 yang telah memberi warna
baru dalam hidupku
11. Keluarga besar MAPASADHA (Mahasiswa Pecinta Alam Universitas
Sanata Dharma) yang memberikan pengalaman baru dan memberi
dorongan agar cepat lulus.
12. Keluarga Besar MAPALISTA (Mahasiswa Pecinta Alam Instititut Sains
dan Teknologi Akprind) yang selalu memberikan keceriaan dan dukungan
untuk menyelesaikan tugas akhir ini.
13. Semua sahabat di Forum Bluefame yang memberikan banyak wacana yang
mendukung penyelesaian tugas akhir ini terutama member Yogyakarta;
Godfather, Lelaki Sejati, Jeep 4x4., Dastroom, Symix, Hidrosepalus.
xii
14. Semua crew Netindo Management yang memberikan pengalaman –
pengalaman baru.
15. Sahabat – sahabatku, Deta, Tokek, Ana, Indah, Tria, Ida, Tiwik, Acong,
Garifield, Dhanzel, Penchot, yang selalu mengingatkan agar lebih
semangat mengerjakan tugas akhir ini.
16. Mas Ponco yang selalu dengan sabar memberi dukungan dan nasehat-
nasehat yang memotivasi untuk lebih sabar dalam menghadapi masalah-
masalah yang ada selama mengerjakan tugas akhir ini.
17. Semua pihak yang tidak dapat disebutkan satu persatu, terima kasih
membantu dalam menyelesaikan tugas akhir ini
Penulis menyadari masih banyak kekurangan dalam penulisan skripsi ini. Oleh
karena itu, dengan kerendahan hati penulis mengharapkan kritik dan saran guna
penyempurnaan tugas akhir ini. Akhirnya, penulis berharap semoga tugas akhir ini
berguna bagi semua pihak.
Penulis
DAFTAR ISI
HALAMAN JUDUL ………………………………….…….....…………………….... i
HALAMAN PERSETUJUAN ………………………………………………………… iii
HALAMAN PENGESAHAN ………………………………….……………….……... iv
PERNYATAAN KEASLIAN KARYA v
HALAMAN PERSEMBAHAN ………………………………..……………….……... vi
HALAMAN MOTTO …………………. ……………………………………….……... vii
ABSTRAKSI ……………………………….…………………..……………….……... viii
ABSTRACT …………………………………………………….………………….…... ix
KATA PENGANTAR…………………………………………………………………… x
DAFTAR ISI…………………………………………………………………………… xiii
DAFTAR GAMBAR …………………………………………………………………… xix
DAFTAR TABEL……………………………………………………………………… xxi
BAB I PENDAHULUAN ……………………………………………………….……... 1
1.1 Latar Belakang Masalah ..…………………………….……………….……... 1
1.2 Rumusan Masalah …………………………………….……………….……... 2
1.3 Batasan Masalah ….………………………………….………………….…... 2
1.4 Tujuan dan Manfaat Penelitian .……..……………….………………….…... 3
1.5 Metodologi Penelitian ………………………………..………………….…... 3
1.6 Sistematika Penulisan …………………………………………………….…... 3
BAB II LANDASAN TEORI ………………………….……………………………. 6
xiii
2.1 SISTEM…………….……………………………………………………….... 6
2.1.1 Konsep Dasar Sistem............................................……………….……... 6
2.1.2 Karakteristik Sistem …………………….…………………….………... 7
2.1.3 Klasifikasi Sistem…………………………………………….………... 8
2.2 INFORMASI ……………….……………………………………….………... 10
2.2.1 Konsep Dasar Informasi……………………………………………..... 10
2.2.2 Siklus Informasi ……….……………………….. ………………...… 10
2.2.3 Kualitas Informasi ……………………………………………………… 10
2.2.4 Nilai Informasi ………………………………….…………………….. 11
2.3 SISTEM INFORMASI………………………………………………………. 11
2.3.1 Konsep Dasar Sistem Informasi………………………………………. 11
2.3.2 Komponen Sistem Informasi …………………………………….……... 12
2.4 Pengembangan Sistem …….………………………….………………….…... 13
2.5 Pemodelan Desain Basis Data…………………………………………….…... 15
2.5.1 Metodologi Desain Basis Data……………….....……………….……... 15
2.5.2 Entity Relationship Diagram …………………………………….……... 17
2.5.3 Diagram Arus Data ………….. ………………………………….……... 18
2.6 Pemrograman JSP……………………………. ……….……………….……... 20
2.6.1 Cara Kerja JSP………………………………. ………………….……... 20
2.6.2 Syntax JSP dan Semantics………………………………………..…... 21
2.6.3 Variabel-variabel yang dikenal………………... ….………….……... 25
2.6.4 Page Directive................................... ………......……………………. 26
xiv
2.7 MySQL......... ………………………………………………………….……... 27
2.7.1 Mengenal Lingkungan Basis Data....................... ................................. 27
2.7.2 Bahasa Dalam Basis Data.................................... ................................. 28
2.7.3 Koneksi pertama kali ke server MySQL..............…………………….. 30
2.7.4 Koneksi Menggunakan user Selain root...............……………………... 32
2.7.5 Keluar dari Server……………………………….……………………... 33
BAB III ANALISA DAN PERANCANGAN SISTEM..............……………………... 34
3.1 Gambaran Umum Sistem...............................................……………………... 34
3.2 Analisa Sistem...............................................................……………………... 34
3.2.1 Pemodelan Use Case............................................……………………... 34
3.2.2 E-R Diagram.........................................................……………………... 36
3.2.3 Contex Diagram………………………………………………………. 39
3.2.4 Diagram Arus Data……………………………………………………... 39
3.2.4.1 Diagram Berjenjang......................... ........……………………... 40
3.2.4.2 Diagram Arus Data Level 0……..............……………………. 42
3.2.4.3 Diagram Arus Data Level 1
Proses Verifikasi User.............................. …………………… 43
3.2.4.4 Diagram Arus Data Level 1
Proses Pengelolaan Data.......................... ................................. 44
3.2.4.5 Diagram Arus Data Level 2
Proses Pengelolaan Data Pelanggan..........
…………………....… 45
3.2.4.6 Diagram Arus Data Level 2
Proses Pengelolaan Data Toko.…..............……………………. 46
xv
3.2.4.7 Diagram Arus Data Level 2
Proses Pengelolaan Data Transaksi............……………………. 47
3.3 Perancangan Sistem…………………………………………………………. 48
3.3.1 Perancangan Basis Data………………………………………………. 48
3.3.2 Perancangan User Interface…………………….……………………. 54
3.3.3 Perangkat Keras dan
Perangkat Lunak Yang digunakan......................................................... 61
BAB IV IMPLEMENTASI SISTEM...........................................……………………. 62
4.1 Karakteristik Sistem………………………………….……………………. 62
4.2 Kebutuhan Sistem.........................................................……………………. 62
4.2.1 Kebutuhan Perangkat Lunak...............................……………………... 63
4.2.2 Kebutuhan Perangkat Keras................................……………………... 63
4.3 Implementasi Antarmuka dan Program.........................……………………... 64
4.3.1 Koneksi Database.................................................................................. 64
4.3.2 Implementasi Antarmuka
dan Program halaman utama............................... ................................. 65
4.3.3 Implementasi Antarmuka
dan Program Login Admin.................................................................... 68
4.3.4 Implementasi Antarmuka
dan Program Login Sukses.................................................................... 69
4.3.5 Implementasi Antarmuka
dan Program Login Gagal...................................................................... 71
4.3.6 Implementasi Antarmuka
xvi
dan Program Halaman Utama Admin................................................... 72
4.3.7 Data Pelanggan.................................................... ................................. 73
4.3.7.1 Implementasi Antarmuka
dan Program Data Pelanggan.......................................................... 73
4.3.7.2 Implementasi Antarmuka
dan Program Lihat Data Pelanggan.............. ................................. 76
4.3.7.3 Implementasi Antarmuka
dan Program Edit Data Pelanggan................... ................................ 78
4.3.7.4 Implementasi Antarmuka
dan Program Tambah Data Pelanggan.......................................... 80
4.3.7.5 Implementasi Program
Hapus Data Pelanggan..................................................................... 82
4.3.8 Data Toko.............................................................................................. 83
4.3.8.1 Implementasi Antarmuka
dan Program Data Toko.................................................................. 83
4.3.8.2 Implementasi Antarmuka
dan Program Lihat Data Toko.......................................................... 86
4.3.8.3 Implementasi Antarmuka
dan Program Edit Data Toko..........................
.
................................. 87
4.3.8.4 Implementasi Antarmuka
dan Program Tambah Data Toko....................
..
................................. 88
4.3.8.5 Implementasi Program Hapus Data Toko....................................... 89
4.3.9 Data Transaksi....................................................................................... 89
xvii
4.3.9.1 Implementasi Antarmuka
dan Program Data Transaksi..........................
.
................................. 90
4.3.9.2 Implementasi Antarmuka dan Program
Tambah Data Transaksi................................................................... 93
4.3.9.3 Implementasi Antarmuka dan Program
Lihat Data Transaksi......................................
.
................................. 94
4.3.9.4 Implementasi Antarmuka dan Program
Laporan Transaksi..........................................
.
................................. 96
BAB V ANALISA HASIL.......................................................... ................................. 99
5.1 Hasil Pengujian sistem.................................................. ................................ 99
5.2 Kelebihan sistem............................................................................................. 100
5.3 Kekurangan sistem......................................................................................... 100
BAB V PENUTUP ..................................................................... ................................. 101
5.1 Kesimpulan..................................................................................................... 101
5.2 Saran............................................................................................................... 101
DAFTAR PUSTAKA.................................................................. ................................. 103
LAMPIRAN
xviii
DAFTAR GAMBAR
Gambar 2.1 Bagan Fase Perancangan Basis Data...................................... ................. 16
Gambar 2.2 Simbol Entity............................................................................................. 17
Gambar 2.3 Simbol Relasi............................................................................................. 18
Gambar 2.4 Simbol Atribut.......................................................................................... 18
Gambar 2.5 Contoh Diagram...................................................................... .................. 18
Gambar 2.6 Simbol Entity Luar.................................................................. .................. 18
Gambar 2.7 Simbol Aliran Data.................................................................................... 19
Gambar 2.8 Simbol Proses.......................................................................... .................. 19
Gambar 2.9 Simbol Berkas............................................................................................ 19
Gambar 2.10 Struktur Direktori JSP.............................................................................. 21
Gambar 2.11 Alur JSP................................................................................................... 21
Gambar 3.1 Diagram Use Case ……………………..……………………………….... 35
Gambar 3.2 E-R Diagram…….………………………………………….. ………….... 37
Gambar 3.3 Contex Diagram ……………………….…………………….………….... 39
Gambar 3.4 Diagram Berjenjang ………………………………………………….…… 41
Gambar 3.5 Diagram Arus Data Level 0.................................... ................ ………..…... 42
Gambar 3.6 Diagram Arus Data Level 1 Proses 1……………………….………..…... 43
Gambar 3.7 Diagram Arus Data Level 1 Proses 3 ………….………..……………..…... 44
Gambar 3.8 Diagram Arus Data Level 2 Proses 3.1……….………..…… ………..…... 45
xix
Gambar 3.9 Diagram Arus Data Level 2 Proses 3.2 .................................. ………..…... 46
Gambar 3.10 Diagram Arus Data Level 2 Proses 3.3.................................………..…... 47
Gambar 3.11 Relasi antar Tabel................................. ................................ ………..…... 53
Gambar 3.12 Form Menu Utama. ...............................................................………..…... 54
Gambar 3.13 Form Login Sukses................................................................………..…... 54
Gambar 3.14 Form Login Eror ...................................................................………..…... 55
Gambar 3.15 Form Tampilan Menu Utama Admin................................... ………..…... 55
Gambar 3.16 Form Data Pelanggan............................................................…………… 56
Gambar 3.17 Form Tambah Pelanggan.......................................................………..…... 56
Gambar 3.18 Form Edit Pelanggan.............................................................………..…... 57
Gambar 3.19 Form Data Toko.................................................................... ………..…... 58
Gambar 3.20 Form Tambah Toko ............................................................. ………..…... 58
Gambar 3.21 Form Edit Toko..................................................................... ………..…... 59
Gambar 3.22 Form Data Transaksi .............................................................………..…... 59
Gambar 3.23 Form Lihat Transaksi.............................................................………..…... 60
Gambar 3.24 Form Tambah Transaksi .......................................................………..…... 60
Gambar 4.1 Tampilan Halaman Utama.......................................................………..…... 65
Gambar 4.2 Halaman Login Admin........................................ ................... ………..…... 68
Gambar 4.3 Halaman Login Sukses............................................................………..…... 70
Gambar 4.4 Halaman Login Gagal………………………..………………………..…... 71
Gambar 4.5 Halaman Utama Admin............................................................………..…... 72
Gambar 4.6 Halaman Data Pelanggan untuk admin...................................................... 74
Gambar 4.7 Halaman Lihat Data pelanggan…………………................... ………..…... 77
xx
Gambar 4.8 Halaman Edit Data pelanggan.................................................………..…... 79
Gambar 4.9 Halaman Tambah Data pelanggan …………………..………………..…... 81
Gambar 4.10 Halaman Data Toko………………………….......................………..…... 83
Gambar 4.11 Halaman Lihat Data Toko …………………………………………..…... 86
Gambar 4.12 Halaman Edit Data Toko.......................................................………..…... 87
Gambar 4.13 Halaman Tambah Data Toko....... ……………..………….. ………..…... 88
Gambar 4.14 Halaman Data Transaksi..........…………………………..………………. 90
Gambar 4.15 Halaman Tambah Data Transaksi …………………….…………………. 93
Gambar 4.16 Halaman Data Lihat Transaksi ……………………………………………. 94
Gambar 4.17 Halaman Laporan Transaksi Pelanggan.................................................. 96
Gambar 5.1 Laporan Transaksi Pelanggan.................................................................... 99
DAFTAR TABEL
Tabel 2.1 Daftar atribut...............................................................................…………… 27
Tabel 3.1 Rancangan tabel Pelanggan (TPelanggan) ………………....... ………….... 49
Tabel 3.2 Rancangan tabel Toko (TToko) .................…………………… ………….... 52
Tabel 3.3 Rancangan tabel Transaksi (TTransaksi).................................... ………….... 52
Tabel 3.4 Rancangan tabel Admin(TAdmin) ....................…….................………….... 53
xxi
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Dunia usaha merupakan sektor perekonomian yang berkembang cukup
maju. Persaingan di dunia usaha yang semakin maju ini lebih pada bagaimana
perusahaan atau penyedia jasa menyadari betul posisinya, siapa target pasar
yang menjadi sasarannya, dan seberapa tinggi kualitas produk atau jasanya.
Dalam kenyataannya, akan selalu ada produk atau jasa yang akan
menyaingi produk atau jasa yang ditawarkan, kecuali untuk produk atau jasa
yang benar-benar unik, langka dan tak banyak orang yang menyediakannya.
Dalam pusat perbelanjaan terdapat berbagai macam toko yang ada di
dalamnya yang menjadikan pengelola pusat perbelanjaan tidak mengetahui
secara detail tentang data pelanggan dan di toko mana saja pelanggannya
berbelanja di pusat perbelanjaan tersebut.
Pusat perbelanjaan sebagai salah satu penyedia jasa membutuhkan suatu
cara yang tepat untuk mengetahui data pelanggan secara lebih baik, dan toko
mana saja yang paling sering melakukan transaksi.
1
2
1.2 Rumusan Masalah
Dari latar belakang masalah tersebut, ditemukan rumusan masalah sebagai
berikut :
“ Bagaimana membuat sistem informasi pencatatan transaksi pelanggan
pada pusat perbelanjaan ? “
1.3 Batasan Masalah
Batasan-batasan masalah dalam penulisan tugas akhir ini adalah :
1. Sistem informasi hanya digunakan pada satu pusat perbelanjaan.
2. Pencatatan transaksi tidak mencatat nama barang yang dibeli pelanggan
3. Topologi jaringan dan komunikasi jaringan tidak diterapkan pada sistem
informasi ini.
1.4 Tujuan dan Manfaat Penelitian
a. Tujuan
Penelitian ini bertujuan untuk membuat sistem informasi pencatatan
transaksi pelanggan pada pusat perbelanjaan
b. Manfaat
Manfaat dari sistem informasi ini adalah bisa memberikan manfaat bagi
pengelola pusat perbelanjaan berupa : kemudahan dalam mengetahui secara
detail data-data pelanggannya dan di toko mana saja pelanggan berbelanja,
sehingga dapat diketahui juga toko mana saja yang sering melakukan transaksi
dan siapa pelanggan yang sering melakukan transaksi.
3
1.5 Metodologi Penelitian
Dalam penulisan tugas akhir ini, analisis kebutuhan yang diperlukan dilakukan
melalui studi literatur, dengan langkah-langkah sebagai berikut :
a. Mempelajari dan memahami konsep sistem yang akan dibangun.
b. Mempelajari buku-buku, laporan-laporan, karya ilmiah maupun
makalah dari internet yang mendukung pembuatan sistem.
c. Mempelajari dan memilih bahasa pemrograman yang sesuai untuk
membangun sistem.
Sedangkan metodologi dalam tugas akhir ini menggunakan proses analisis
dan desain sistem yang terstruktur. Langkah langkah yang dilakukan adalah
sebagai berikut :
1. Analisis Sistem
Melakukan analisis kebutuhan (Requirement Analysis) yang terdiri dari Use Case
Diagram, Entity Relationship Diagram (E-R Diagram), Contex Diagram dan
Diagram Arus Data (Data Flow Diagram)
2. Desain sistem
Melakukan perancangan basisdata , perancangan masukan, perancangan keluaran,
dan perancangan antarmuka pengguna.
1.6 Sistematika Penulisan
a. BAB I PENDAHULUAN
Bab ini membahas mengenai latar belakang masalah, rumusan
masalah, batasan masalah yang ditentukan untuk lebih
4
memfokuskan bidang yang dibahas, tujuan dan manfaat
penelitian, metodologi penelitian, dan sistematika penulisan.
b. BAB II LANDASAN TEORI
Bab ini berisi mengenai acuan bahan-bahan yang mendukung
pokok pembahasan tugas akhir, yaitu pembahasan mengenai
Sistem, Informasi, Sistem Informasi, Pemrograman JSP dan
MySQL.
c. BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan menguraikan tahapan-tahapan analisis dan
perancangan yang dilakukan dalam suatu proses pembangunan
sistem informasi. Tahapan-tahapan tersebut adalah siapa saja
yang terlibat dalam sistem, gambaran sistem, requirement
analysis, logical design dan perancangan user interface.
d. BAB IV IMPLEMENTASI SISTEM
Dalam bab ini akan diuraikan tentang tahapan-tahapan
implementasi dari hasil perancangan ke dalam format
pemrograman dengan menggunakan perangkat lunak tertentu
serta membahas kemampuan dan cakupan kerja sistem hasil
implementasi.
5
e. BAB V ANALISIS HASIL
Bab ini memberikan penjelasan mengenai analisis terhadap hasil
implementasi sistem informasi pencatatan transaksi pelanggan
pada pusat perbelanjaan.
f. BAB VI PENUTUP
Dalam bab ini akan diuraikan kesimpulan serta saran dari
impementasi yang telah dilakukan dalam penulisan tugas akhir
ini.
BAB II
LANDASAN TEORI
Secara garis besar yang akan diuraikan dalam landasan teori adalah konsep
mengenai Sistem Informasi dan Pemrograman Java serta MySQL
2.1 SISTEM
2.1.1 Konsep Dasar Sistem
Terdapat dua kelompok pendekatan di dalam mendefinisikan
sistem. Pendekatan sistem yang lebih menekankan pada prosedur
mendefinisikan sistem sebagai berikut :
Suatu sistem adalah suatu jaringan kerja dari prosedur-prosedur
yang saling berhubungan, berkumpul bersama-sama untuk
melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran
yang tertentu( Jogiyanto,1990).
Sedangkan pendekatan sistem yang lebih menekankan pada elemen atau
komponennya mendefinisikan sistem sebagai berikut :
Sistem adalah kumpulan dari elemen-elemen yang berinteraksi
untuk mencapai suatu tujuan tertentu( Jogiyanto, 1990).
6
7
2.1.2 Karakteristik Sistem
Suatu sistem mempunyai karakteristik atau sifat-sifat yang tertentu, yaitu :
a. Elemen-elemen (elements)
Suatu sistem terdiri dari sejumlah komponen yang saling
berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan,
yang dapat berupa suatu subsistem atau bagian-bagian dari sistem. Setiap
subsistem mempunyai sifat-sifat dari sistem untuk menjalankan suatu
fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan.
b. Batasan Sistem (boundary)
Merupakan daerah yang membatasi antara suatu sistem dengan
sistem yang lainnya.
c. Lingkungan System (environment)
Merupakan apapun di luar batas dari sistem yang mempengaruhi
operasi sistem. Bersifat menguntungkan dan dapat juga merugikan sistem
yang dikerjakan.
d. Penghubung (interface)
Merupakan media penghubung antara satu subsistem dengan yang
lainnya, yang memungkinkan sumber-sumber daya mengalir dari
subsistem satu ke subsistem yang lainnya yang dapat berintegrasi
membentuk satu kesatuan.
8
e. Masukan Sistem (input)
Adalah energi yang dimasukkan ke dalam sistem. Dapat beruapa
masukan perawatan (maintenance input), yaitu energi yang dimasukkan
supaya sistem dapat beroperasi, dan masukan sinyal (signal input), yaitu
energi yang diproses untuk didapatkan keluaran.
f. Keluaran Sistem (output)
Adalah hasil dari energi yang diolah dan diklasifikasikan menjadi
keluaran yang berguna. Keluaran dapat merupakan masukan untuk
subsistem yang lain.
g. Pengolah Sistem
Merupakan bagian dalam sistem yang akan merubah masukan
menjadi keluaran.
h. Sasaran Sistem
Sasaran dari sistem sangat menentukan sekali masukan yang
dibutuhkan sistem dan keluaran yang akan dihasilkan oleh sistem. Sistem
dikatakan berhasil bila mengenai sasaran.
2.1.3 Klasifikasi Sistem
Sistem dapat diklasifikasikan dari beberapa sudut pandang, diantaranya
sebagai berikut :
a. Sebagai sistem abstrak (abstract system) dan sistem fisik (physical system)
Sistem abstrak adalah sistem yang hanya berupa pemikiran yang tidak
tampak secara fisik,contohnya sistem teologi(ketuhanan), sedangkan
9
sistem fisik adalah sistem yang ada secara fisik, contohnya sistem
komputer.
b. Sebagai sistem alamiah (natural system) dan sistem buatan manusia
(human made system)
Sistem alamiah merupakan sistem yang terjadi melalui proses
alam, tidak dibuat manusia, contohnya sistem perputaran bumi,gravitasi
dan sebagainya, sedangkan sistem buatan manusia adalah sistem yang
dirancang oleh manusia, contohya sistem informasi manajemen, sistem
informasi akuntansi, dan sebagainya.
c. Sebagai sistem tertentu (deterministic system) dan sistem tak tentu
(probabilistic system)
Sistem tertentu beroperasi dengan cara yang dapat diramalkan atau
diprediksi, contohnya sistem program komputer caranya dapat diprediksi
berdasarkan program-program yang dijalankan, sedangkan sistem tak tentu
adalah sistem yang kondisi masa depannya tidak dapat diramalkan atau
diprediksi karena mengandung unsur probabilitas, contohnya sistem
persediaan barang..
d. Sebagai sistem tertutup (closed system) dan sistem terbuka (open system)
Sistem tertutup merupakan sistem yang tidak berhubungan dan
terpengaruh oleh lingkungan luarnya, dan sistem terbuka adalah sistem
yang berhubungan dan terpengaruh oleh lingkungan luarnya, contohnya
sistem penjualan.
10
2.2 INFORMASI
2.2.1 Konsep Dasar informasi
Informasi adalah data yang diolah menjadi bentuk yang lebih berarti bagi
penerimanya dan bermanfaat dalam mengambil keputusan saat ini atau
mendatang. (Supriyanto, 2005)
Data merupakan sumber dari informasi, merupakan kenyataan yang
menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Data juga
merupakan bentuk yang masih mentah, sehingga perlu diolah lebih lanjut.
2.2.2 Siklus Informasi
Data yang diolah melalui suatu model menjadi informasi, penerima
kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan
tindakan, yang berarti menghasilkan suatu tindakan yang lain yang akan
membuat sejumlah data kembali. Data tersebut akan ditangkap sebagai input,
diproses kembali lewat suatu model dan seterusnya membentuk suatu siklus.
2.2.3 Kualitas Informasi
a. Akurat (accurate)
Informasi harus bebas dari kesalahan-kesalahan dan tidak bisa atau
menyesatkan, jelas mencerminkan maksudnya. Karena informasi
dari sumber informasi sampai ke penerima kadang mengalami
gangguan yang dapat merubah atau merusak informasi yang ingin
disampaikan.
11
b. Tepat pada waktunya (timelines)
Informasi yang datang pada penerima tidak boleh terlambat, karena
merupakan landasan dalam pengambilan suatu keputusan. Informasi
yang usang karena terlambat, tidak akan mempunyai nilai lagi.
c. Relevan (relevance)
Informasi mempunyai manfaat bagi pemakainya. Relevan di sini
mempunyai perbedaan dari satu orang dengan orang yang lain,
tergantung dengan kondisi yang harus dijalankan.
2.2.4 Nilai Informasi
Informasi dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatkannya.
2.3 SISTEM INFORMASI
2.3.1 Konsep dasar Sistem Informasi
Sistem informasi didefinisikan oleh Robert A. Leitch dan K.
Roscoe Davis sebagai berikut :
Sistem informasi adalah suatu sistem di dalam suatu organisasi
yang mempertemukan kebutuhan pengolahan transaksi harian,
mendukung operasi, bersifat manajerial dan kegiatan strategi dari
suatu organisasi yang menyediakan pihak luar tertentu dengan
laporan-laporan yang diperlukan. ( Jogiyanto,1990)
12
2.3.2 Komponen Sistem Informasi
Dalam Sistem Informasi terdapat 6 blok atau komponen yang masing-
masing saling berinteraksi satu dengan yang lainnya membentuk satu
kesatuan untuk mencapai sasarannya. Keenam blok tersebut adalah
sebagai berikut :
a. Blok Masukan
Input ini termasuk metode-metode dan media untuk menangkap
data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar.
b. Blok Model
Blok ini terdiri dari kombinasi prosedur, logika dan model
matematik yang akan memanipulasi data input dan data yang tersimpan di
basis data dengan cara yang sudah tertentu untuk menghasilkan keluaran
yang diinginkan.
c. Blok Keluaran
Merupakan informasi yang berkualitas dan dokumentasi yang
berguna untuk semua tingkatan manajemen serta semua pemakai sistem.
d. Blok Teknologi
Teknologi digunakan untuk menerima input, menjalankan model,
menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran
dan membantu pengendalian dari sistem secara keseluruhan, yang terdiri
dari 3 bagian utama, yaitu teknisi, perangkat lunak, dan perangkat keras.
13
e. Blok Basis Data
Merupakan kumpulan dari data yang saling berhubungan satu
dengan yang lainnya, untuk keperluan penyediaan informasi lebih lanjut.
Basis data diakses dan dimanipulasi dengan menggunakan perangkat lunak
paket yang disebut dengan DBMS (Database Management System).
f. Blok Kendali
Blok kendali perlu dirancang dan diterapkan untuk mencegah atau
mengatasi kesalahan-kesalahan yang dapat merusak sistem informasi.
2.4 Pengembangan Sistem
Pengembangan Sistem Informasi berbasiskan komputer melewati
beberapa tahapan mulai dari sistem itu direncanakan, diterapkan sampai
sistem itu dipelihara. Tahapan pengembangan sistem ini biasanya disebut juga
Siklus Hidup Pengembangan Sistem Informasi (Sistem Development Life
Cycle / SDLC ). Secara konseptual Siklus Pengembangan Sistem Informasi
menurut Kendall (1992), adalah sebagai berikut :
a. Mengidentikasi masalah, kesempatan dan tujuan.
Fase ini, sistem dianalisis untuk dapat mengetahui masalah dan
kemungkinan solusinya untuk sistem informasi dan proses organisasi.
b. Menentukan kebutuhan sistem
Hasil akhir dari fase pertama adalah masalah yang terdapat pada sistem.
Selanjutnya adalah menentukan apa yang dibutuhkan sistem untuk
14
mengatasi masalah yang dihadapi. Untuk itu seorang Sistem Analis, perlu
mengetahui secara detail tentang :
1. Siapa (who) yang terlibat atau berinteraksi langsung dengan sistem.
2. Apa (what ) kegiatan bisnis yang dijalankan.
3. Di mana (where) sistem diterapkan.
4. Kapan (when) sistem dijalankan
5. Bagaimana (how) prosedur dijalankan.
c. Menganalisa kebutuhan sistem
Pada tahap ini, Sistem Analsis menyiapkan proposal, dan membuat
rekomendasi untuk merevisi sistem berdasarkan kesimpulan yang
diperoleh.
d. Mendesain sistem yang direkomendasikan
Sampai tahap ini, masalah dan solusinya telah didefinisikan. Oleh karena
itu sistem baru harus digambarkan secara logika. Selain itu yang perlu
dirancang adalah output, input, struktur file, program, prosedur, perangkat
keras dan perangkat lunak yang mendukung sistem informasi.
e. Pengembangan dan Dokumentasi Perangkat Lunak
Pada tahap ini, perangkat lunak yang mendukung sistem informasi
dibangun dengan mengikuti rancangan yang telah dibuat sebelumnya.
Selama tahap ini, Sistem Analasis harus selalu berkomunikasi dengan
pemakai, agar dapat menyiapkan dokumentasi yang baik. Dokumentasi
perlu karena menjelaskan bagaimana menjalankan perangkat lunak dan
apa yang dilakukan bila terjadi masalah.
15
f. Pengujian dan Perawatan Sistem
Sebelum sistem digunakan, haruslah lewat tahap percobaan terlebih
dahulu yang melibatkan pemakai dan Sistem Analis untuk percobaan
secara keseluruhan, dan beberapa percobaan diselesaikan oleh
programmer menyangkut percobaan perangkat lunak secara moduler.
g. Penerapan dan Evaluasi Sistem
Pada tahap akhir ini, sistem mulai diterapkan, kegiatan yang juga penting
dikerjakan adalah pelatihan pemakai. Selama sistem baru dioperasikan
sistem tersebut harus tetap dimonitor dan dinilai. Bila sistem ada
ketidakberesan, maka proses mulai lagi dari langkah awal.Siklus tersebut
berlangsung secara berulang-ulang. Siklus tersebut merupakan model
klasik dari pengembangan sistem informasi.
2.5 Pemodelan Desain Basisdata
2.5.1 Metodologi Desain Basisdata
Penyusunan Basisdata selalu didahului dengan pekerjaan pemodelan
data. Pendekatan data dapat dilakukan dengan identifikasi atribut dan realita
yang akan disusun dalam Basisdata, kemudian diajukan dengan menyusun
kombinasi dari atribut-atribut yang telah dipilih ke dalam bentuk tabel-tabel.
16
Saat ini tahapan perancangan database terdiri dari tiga fase.
Application Requirementt
Logical Schema
Logical Design
Physical Design
Physical Schema
Conseptual schema
Conceptual Design
Database Structur and related Documentation
a. Conseptua
Co
informal a
lengkap. A
Diagram
Konseptua
b. Logical D
Ta
pada tahap
manajeme
Gambar 2.1 Bagan fase Perancangan Basis Data
l Diagram
nseptual Diagram adalah untuk merepresentasikan kebutuhan
plikasi ke dalam suatu bentuk formal dengan deskripsi yang
lat Bantu desain yang lazim dipakai adalah Entity Relationship
(E-R Diagram). Produk dari tahap ini adalah Model Data
l (Conseptual Data Model).
esign
hap ini menerjemahkan skema konseptual yang didefinisikan
pertama kedalam suatu model data yang diadopsi dari sistem
n basis tertentu. Produk dari fase ini yaitu Model Data Logika.
17
teknik yang sering dipakai pada tahap ini adalah normalisasi database.
Produk dari tahap ini adalah suatu skema logika yang berkaitan erat
dengan Model Data Logika (Logical Data Model).
c. Physical Design
Pada tahap akhir ini skema logika telah selesai begitu pula dengan
detail pengimplementasiannya (organisasi file dan index) pada sebuah
sistem manajemen basis data tertentu. Produk dari tahap ini adalah sebuah
model fisik (physical schema) yang berhubungan dengan Model Data
Fisik (Physical Data Model). Model ini bergantung pada Sistem
Manajemen Basis Data yang dipakai.
2.5.2 Entity Relationship Diagram (E-R Diagram)
Cara pemodelan data ini merupakan salah satu implementasi
pendekatan dari atas ke bawah yang paling umum digunakan. Dalam
pemodelan ini tahapan yang dilakukan adalah sebagai berikut :
a) Memilih entity-entity yang akan disusun oleh basis data dan menentukan
hubungan yang telah dipilih.
b) Melengkapi atribut-atribut yang sesuai pada entity dan hubungan sehingga
diperoleh bentuk tabel normal penuh (tabel-tabel ternormalisasi).
Simbol-simbol yang dipakai :
1. Segi empat menggambarkan entity atau kesatuan luar.
Gambar 2.2 Simbol entity
18
2. Diamond menggambarkan hubungan/relasi antara 1 entitas dengan entitas
yang lain.
Gambar 2.3 Simbol relasi
3. Elips atau ligkaran menggambarkan atribut.
Gambar 2.4 Simbol atribut
Contoh diagram adalah seperti gambar berikut :
No_KTP
Person Memiliki
Ttipe
Mobil No. mobil
Nama
Gambar 2.5 Contoh diagram
2.5.3 DAD (Diagram Arus Data)
DAD adalah suatu model logika data atau proses yang dibuat untuk
menggambarkan darimana asal data dan kemana tujuan data yang keluar dari
sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan
interaksi antara data yang tersimpan dan proses yang dikenakan pada data
tersebut.(Kristanto, 2004)
2.5.3.1 Simbol DAD
1. Entity Luar
Digambarkan dengan simbol persegi biasa.
Gambar 2.6 Simbol Entity Luar
19
2. Aliran Data
Menggambarkan aliran data dari satu proses ke proses lainnya. Adapaun simbol
aliran data adalah sebagai berikut :
Gambar 2.7 Simbol aliran data
3. Proses
Proses atau fungsi yang mentransformasikan data secara umum dengan segi empat
tumpul, seperti pada gambar berikut ini :
Gambar 2.8 Simbol Proses
Bagian atas biasanya berisi nomor untuk identitas proses, bagian badan berisi
penjelasan fungsi dari proses, diawali dengan kata kerja dan diikuti objek.
4. Berkas atau tempat penyimpanan
Merupakan komponen yang berfungsi untuk menyimpan data atau file. Simbol
berkas ini dapat digambarkan dengan segi empat terbuka dan
penggambarannya adalah sebagai berikut :
Gambar 2.9 Simbol Berkas
Pengenal
Kata Kerja + diskripsi dari
fungsi
20
2.6 Pemograman JSP
Java Server Pages (JSP) merupakan sebuah tenologi servlet-based
yang digunakan pada web tier untuk menghadirkan dynamic dan static
content. JSP merupakan text-based dan kebanyakan berisi template text
HTML yang digabungkan dengan spesifik tags dynamic content.
2.6.1 Cara Kerja JSP
2.6.1.1 Menggunakan IDE Entreprise
JSP dapat dijalankan dari berbagai macam projek aplikasi web
pada IDE. Dengan asumsi bahwa projek telah siap. Kemudian dijalankan
dengan menekan SHIFT + F6. Alternatif lain, project web dapat dijalankan
sebagai file WAR dan diupload kedalam server. Kemudian JSP dapat
diakses dengan mengetikan URL berikut ni:
http://[host]:[port]/[WEB_PROJECT_NAME]/[JSP_NAME]
2.6.1.2 Menggunakan Build Tools
JSP juga dapat dijalankan dengan menyimpannya sebagai file
WAR dengan menggunakan build tool(Seperti salah satu outlined pada
bab Servlet Dasar), dan kemudian menjalankan file WAR kedalam web
server.Struktur direktorinya terlihat pada gambar 2.10 :
21
2.6.1.3 A
F
y
f
2.6.2 S
M
servlet,
pada sp
JSP.
Gambar 2.10 Struktur Direktori JSP
lur JSP
JSP mempunyai fase alur yaitu ; inisialisasi, servis, dan destruksi.
ase-fase ini sama dengan method servlet yang diambil dari container
ang berbeda : jspInit() untuk inisialisasi fase, _jspService() untuk servis
ase, dan jspDestroy() untuk mendestruksi fase.
yntax JS
eskipun
memperb
esifikasi
Gambar 2.11 Alur JSP
P dan Semantics
JSP berbasis Java, dan dikendalikan sebagai kode Java oleh
olehkan pengembang untuk menggunakan syntax yang berbeda
Java 2.0 dan sebagai gantinya menggunakan aturan spesifikasi
22
2.6.2.1 Element-element dan Data Template
Semua komponen Java Server Pages dapat dibagi menjadi dua
kategori umum: elements dan templates data. Element merupakan
dynamically yang menghasilkan informasi. Data template merupakan
informasi static yang memperhatikan presentasi.
2.6.2.2 Dua Tipe Syntax
Dua tipe dari authoring JSP didukung oleh Container JSP : JSP
Style dan XML Style. Memilih salah satu format syntax hanya bergantung
dari preference dan standarisasi. Normal syntax didesain lebih mudah
untuk pada pembuat(author). XML-compatible syntax telah disediakan
ketika menggunakan JSP authoring tools. Bagaimanapun juga, yang lebih
sering disediakan adalah normal syntax karena dia lebih mudah untuk
dibaca dan dimengerti.
2.6.2.3 Scripting Elements
JSPs memungkinkan untuk dilihat sebagai HTML atau XML
dokumen dengan berdasar pada Script JSP. Scripting JSP element
memperbolehkan memasukkan kode Java kedalam Servlet yang akan di-
generate dari halaman JSP. Cara termudah untuk membuat dynamic JSP
adalah dengan menaruh scripting element kedalam data template.
23
Terdapat 3 scripting element pada JSP yaitu sebagai berikut:
1. Scriptlet ( <% ... %> )
Scriptlets menyediakan cara untuk memasukkan bits dari kode Java
diantara chunks dari data template dan memiliki form berikut ini : <%
Java code; %> Menggambarkan kode Java diantara <% dan %> sama
seperti menulis kode Java secara normal kecuali disana tidak dibutuhkan
untuk deklarasi class. Scriptlets bagus digunakan pada kode java seperti
pernyataan kondisional loops, dan lain-lain. Disana tidak ada batasan
secara spesifik sebagai kompleksitas dari kode java yang harus disimpan
diantara scriptlets.. Jika ingin menggunakan karakter "%>" didalam
scriptlet, tulislah "%\>" sebagai gantinya. Hal ini akan mencegah
compiler dari penginterpretasian karakter sebagai penutup tag scriptlet.
2. Expressi ( <%= %>)
Expressi menyediakan cara untuk memasukkan nilai Java secara
langsung kedalam output. Hal ini memilki form seperti berikut ini: <%=
Java Expression %> Sebenarnya hal ini dapat menggunakan
out.println(). Catatan bahwa tanda ( ; ) tidak ditampilkan pada akhir
kode didalam tag. Expressi java yang lain disimpan diantara <%= dan %>
yang dievaluasi pada saat run-time, yang dikonversi kedalam string, dan
dimasukkan kedalam page. Expressi selalu mengirim string text ke client,
tetapi object yang dihasilkan sebagai hasil dari expressi yang tidak
memerlukan nilai instan object sebagai string. Semua yang bukan object
24
string secara instan dikonversi melalui method toString(). Jika hasilnya
primitive, kemudian string primitive akan ditampilkan. Untuk tujuan dari
expressi adalah:
- request, HttpServletRequest
- response, HttpServletResponse
- session, HttpSession associated dengan request (jika ada)
- out, PrintWriter (versi buffered dari tipe JspWriter) digunakan
untuk mengirim output ke client.
3. Deklarasi ( <%! %> )
Deklarasi memperbolehkan untuk menggambarkan method atau
variable. Dia memilki form seperti dibawah ini:
<%! Java Code %>
Deklarasi digunakan untuk meletakkan kode hanya seperti scriptlet tetapi
deklarasi dapat dimasukkan kedalam main bosy dari class servlet, diluar
dari proses request method _jspService(). Untuk alasan ini kode
diletakkan pada deklarasi dapat digunakan untuk mendeklarasikan method
baru dan variabel class global. Dalam hal yang lain, kode pada deklarasi
tidak selalu aman, kecuali diprogram terlebih dahulu oleh author JSP,
perlu diperhatikan adalah pada saat menulis deklarasi JSP. Berikut ini
merupakan hal yang perlu diingat dalam menggunakan tag deklarasi:
- Sebelum deklarasi harus menuliskan <%!
- Pada akhir deklarasi, developer harus menuliskan %>
- Kode pada tag harus diakhiri dengan tanda baca ( ; )
25
- Deklarasi tidak men-generate output tetapi digunakan dengan
expressi JSP atau scriptlet.
2.6.3 Variable-variable yang telah dikenal
Berikut ini merupakan daftar object-object yang tersembunyi (implicit
objects):
- Request: javax.servlet.http.HttpServletRequest dihubungkan
dengan request dari client.
- response:javax.servlet.http.HttpServletResponse
dihubungkan dengan response ke client.
- pageContext: Object PageContext dihubungkan dengan halaman
sebelumnya.
- out: Referensi object javax.servlet.jsp.JspWriter dapat
digunakan untuk menulis action dan data template dalam page JSP,
sama dengan hal tersebut dari object PrintWriter kita gunakan pada
saat mendiskusikan servlet. Variable tersembunyi (implicit variable)
out secara otomatis diinisialisasi dengan menggunakan method pada
object PageContext.
- session: Kejadian dari object javax.servlet.http.HttpSession
untuk memanggil method HttpServletRequest.getSession()
- application: Object ServletContext is an instance of the
javax.servlet.ServletContext. Kejadian ini sama dengan
26
memanggil method getServletConfig().getContext(). Implicit
object ini disharing oleh semua servlets dan JSP pages pada server.
- config: Config dari implicit object merupakan kejadian dari object
javax.servlet.ServletConfig untuk page ini. Sama halnya
dengan sebagai Servlets, JSP memiliki akses untuk menginisialisasi
parameter yang terdapat pada Web Application Deployment
Descriptor.
2.6.4 Page directive
Page directive menggambarkan proses informasi untuk sebuah page. Hal
tersebut memperbolehkan untuk meng-import class, customize superclass servlet.
Directive memiliki pilihan atribut yang menyediakan JSP Engine dengan proses
informasi yang spesial. Daftar atribut yang bersifat case-sensitive dapat dilihat
pada tabel 2.1:
Directive Pengertian Contoh Penggunaan extends
Superclass digunakan oleh JSP Engine untuk men-translasi Servlet. Menjadi translator untuk keyword extends pada bahasa pemrograman Java.
<%@ page extends = “com.taglib…” %>
Language
Mengindikasikan scripting language yang digunakan pada scriptlets, expressi dan deklarasi yang ditemukan pada page JSP yang digunakan. Untuk atribut ini hanya menggambarkan nilai java.
<%@ page language = “java” %>
import Mengimport class pada package java kedalam halaman
<%@ page import = “java.util.*” %>
27
Session
Menandai apakah page menggunakan sessions.Untuk session data pada semua page JSP memiliki default session data available. Merubah session ke false memiliki hasil yang benefit.
Defaultnya adalah true.
Info Para pengembang menggunakan info atribut untuk menambah informasi /dokumen untuk suatu page. Biasanya digunakan untuk menambah author, versi, copyright dan info tanggal.
<%@ page info = “jeni.org test page, alpha version “ %>
errorPage
Menampilkan halaman yang berisi tentang kesalahan yang terjadi. URL harus menuju ke halaman error.
<%@ page errorPage = “/errors.jsp” %>
Tabel 2.1 Daftar atribut
2.7 MySQL
MySQL adalah multi user database yang menggunakan bahasa SQL
(Structured Query Language). Sistem manajemen basis data MySQL
menggunakan kumpulan perintah sederhana nuntuk memasukkan,
memanggil, menghapus dan memperbaharui data.
2.7.1 Mengenal Lingkungan Basis Data
Istilah-istilah yang dipakai dalam pengolahan basis data :
1. Basis Data (Database)
Merupakan sebuah file yang mengkoordinasi tabel-tabel data yang
saling berhubungan dan memiliki suatu kepentingan yang sama.
28
2. Tabel (Table)
Merupakan kumpulan data dalam record-record yang disatukan untuk
kepentingan tertentu.
3. Record
Merupakan kumpulan field-field yang disatukan dalam satu baris.
4. Field
Merupakan jenis atau tipe dari satu item data beserta batasan nilainya
2.7.2 Bahasa Dalam Basis Data
MySQL memproses bahasa yang sering digunakan untuk mengakses basis data,
yaitu:
1. DDL(Data Definition Language)
Bahasa ini digunakan untuk membuat tabel baru, membuat indeks,
mengubah tabel. Perintah-perintah yang digunakan dalam Mysql
untuk mengerjakan itu semua, yaitu :
a. Membuat tabel
Create table (
Namafield1 typedata yang digunakan(ukuran yang
disediakan),
Namafield2 typedata(ukuran yang disediakan),...);
Jika field tersebut merupakan primary key, maka dibelakang tipe
data ditambahkan “primary key”. Selain itu jika field tersebut
berupa angka dan tidak boleh kosong untuk pengisian pertama,
29
maka dibelakang primary key ditambahkan “not null
auto_increment”.
b. Merubah tabel
Untuk merubah suatu tabel, dalam hal ini field-fieldnya maupun
tipe datanya, maka digunakan perintah :
Alter table namatabel perintah namafield tipedata;
Perintah di sini adalah perintah yang akan dikerjakan misalnya :
− add : untuk menambah field
− modify : untuk memodifikasi range suatu field
− drop : untuk mendelete suatu field
Tetapi jika web server yang digunakan adalah apache, maka
MySQL sudah disediakan beserta perintah-perintah untuk
membuat dan memodifikasi suatu tabel.
2. DML(Data Manipulation Language)
Merupakan bahasa yang bertujuan memudahkan pemakai untuk
mengakses data sebagaimana direpresentasikan oleh model data,
misalnya untuk menyisipkan, menambah, menghapus, dan mengubah
data dalam suatu database. Dalam MySQL perintah-perintah yang
digunakan, yaitu :
a. Menambah
INSERT INTO namatabel (namafield1,namafield2,...)
VALUES (‘nilai field1’, ’nilai field2’,...);
b. Menghapus
DELETE FROM namatabel WHERE kriteria;
30
c. Mengubah
UPDATE namatabel SET namafield=nilaibaru,....;
3. DCL(Data Control Language)
Merupakan bahasa yang akan membantu mengkontrol keamanan
setaiap basis data atau sebagian isi dari basis data dengan membuat
hak-hak akses tertentu bagi user. Perintah-perintah yang digunakan
yaitu :
a. Grant
Digunakan untuk memberikan hak-hak tertentu kepada seorang
user. Grant diberikan oleh user yang mempunyai hak untuk
memberikan grant atau administrator (root).
b. Revoke
Merupakan kebalikan dari grant. Revoke digunakan untuk
mencabut hak-hak dari seorang user terhadap basis data tertentu
atau sebagian isi dari basis data.
2.7.3 Koneksi pertama Kali ke Server MySQL
Untuk bisa masuk ke server MySQL dieperlukan autorisasi berupa username dan
password. Jika server MySQL baru pertama digunakan setelah instalasi, maka
hanya user dengan nama “root” yang bisa masuk ke dalam server. Karena
memang user tersebutlah yang pertama kali terdaftar dalam server MySQL
(default). User “root” berfungsi sebagai administrator server MySQL yang bisa
31
mengatur siapa saja yang berhak masuk dan hak yang yang dimiliki oleh masing-
masing user, selain pengaturan hak akses terhadap basis data.
Perintah untuk masuk ke server MySQL dengan user “root” adalah sebagai
berikut :
L
k
m
d
d
y
J
s
p
B
# mysql –h localhost –u root
ocalhost menyatakan bahwa komputer yang sedang dijadikan sasaran untuk
oneksi ke server MySQL adalah komputer server itu sendiri (lokal). Jika ingin
elakukan koneksi di luar komputer server, maka isian paramater localhost harus
iganti dengan alamat IP dari komputer server. Perintah di atas hanya bisa
ilakukan jika user belum di-password. Jika telah di-password, maka perintah
ang harus dilakukan adalah :
# mysql –h localhost –u root –pika atribut –p tidak ditulis sedangkan user sudah diberi password untuk ke
erver, maka koneksi akan ditolak. Sebaliknya jika atribut –p ditambahkan pada
erintah di atas, maka akan ditanyakan password utnk koneksi ke server.
erikut ini adalah hasil eksekusi perintah koneksi untuk user berpassword :
# mysql –h localhost –u root –p
Enter password : ******
Welcaome to MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is to 1 server version :5.0.0 –alpha
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
32
Penulisan password dapat saja ditulis langsung di belakang parameter –p tanpa
spasi, namun tidak disarankan mengingat orang lain dapat langsung melihat
password yang diketikkan.
# mysql –u root –ppwd001
Welcaome to MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is to 1 server version :5.0.0 –alpha
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>_
2.7.4 Koneksi Menggunakan User Selain Root
Selain root sebagai administrator server, user dapat masuk ke
server dengan nama lain. Tergantung dari isi tabel user, di dalam basis
data mysql. Dalam tabel user, telah diatur semua nama beserta hak akses
ke server. Sehingga keberadaan tabel user sangat penting kegunaannya.
Untuk membuat user baru ataupun merubah hak akses server, orang
tersebut harus mempunyai hak untuk mengakses tabel user, di dalam basis
data mysql. Jika user selain root sodah dibuat, maka perintah untuk masuk
ke dalam server bagi user yang baru, tidak jauh berbeda. Hanya saja
atribut –u yang semula diisi nama “root”, diganti dengan nama user yang
telah dibuat.
Struktur Penulisan : mysql – alamat_host –u user –p
# mysql –h localhost –u henny -p
33
2.7.5 Keluar dari Server
Untuk keluar dari server, user cukup menuliskan perintah quit. Maka user
akan dibawa kembali ke prompt masing-masing sistem operasi.
mysql>quit
Bye
#_
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1 Gambaran Umum Sistem
Setiap pelanggan diberi kesempatan mendaftarkan dirinya sebagai anggota.
Admin akan memberikan formulir yang harus diisi oleh pelanggan. Setelah
pelanggan mengisi data-data dalam formulir tersebut, kemudian pelanggan
menyerahkan kembali kepada admin. Data-data dalam formulir tersebut oleh admin
selanjutnya dimasukkan ke dalam komputer. Pada sistem ini terdiri dari 2 monitor, 1
monitor dari sisi admin yang digunakan untuk pengelolaan data pelanggan.
Komputer dari sisi pelanggan hanya bisa digunakan untuk melihat data transaksi saja.
Setiap pelangan yang sudah mendaftarkan diri akan memperoleh nomer pelanggan.
Nomer pelanggan tersebut akan digunakan oleh pelanggan ketika pelanggan
berbelanja di toko-toko yang ada dalam pusat perbelanjaan tersebut untuk pencatatan
transaksi, dengan cara ; pelanggan menyerahkan nota pembelian dari toko dimana
pelanggan berbelanja kepada admin, kemudian admin memasukkan data transaksi
sesuai dengan nota yang diberikan.
34
35
3.2 Analisa Sistem
3.2.1 Pemodelan Use Case (Use case modelling)
Pemodelan ini digambarkan dalam bentuk diagram use case yang
merupakan suatu analisis untuk menggambarkan fungsi-fungsi apa saja yang
disediakan oleh sistem.
Use case pengguna untuk sistem ini, yaitu :
Gambar 3.1 Diagram Use Case Pengguna Sistem Informasi
Pencatatan Transaksi Pelanggan Pada Pusat Perbelanjaan
36
Dari gambar 3.1 terlihat bahwa pengguna memiliki otoritasnya
masing-masing sehingga dapat dibentuk suatu prosedur sistem atau skenario
normal, yaitu:
Untuk pelanggan :
a) Pelanggan, melakukan verifikasi user dengan memasukkan nomer
pelanggan yang dimilikinya.
b) Pelanggan, mengakses data pelanggan yang hanya berupa data transaksi
pelanggan.
Untuk Administrator :
a) Admin memasukan identitas dan password yang benar untuk dapat
mengakses data yang ada.
b) Admin melakukan proses pengelolaan data yaitu data pelanggan, data
toko dan data transaksi yang meliputi tambah, edit, dan hapus. Data yang
diupdate nantinya akan disimpan dalam database.
3.2.2 E-R Diagram
Diagram E-R dibuat dengan tujuan untuk menggambarkan hubungan
antar entitas yang digunakan oleh sistem secara keseluruhan. Dalam SI
pencatatan transaksi pada pusat perbelanjaan ini, data-data entitas yang
tersimpan dalam tabel hanya digunakan untuk pemberian informasi pada
pelanggan, sedangkan dari sisi admin diperlukan untuk pengelolaan data.
37
Diagram E-R untuk SI pencatatan transaksi pada pusat perbelanjaan
dapat dilihat pada gambar 3.2 :
Gambar 3.2 Diagram E-R
38
Dari gambar 3.2 terlihat seluruh entitas yang terlibat di dalam sistem.
Entitas-entitas tersebut adalah sebagai berikut :
• pelanggan, memiliki atribut ID_pelanggan, nama_lkp, nama_kartu,
tgl_lahir, jenis_kelamin, status_nikah, no_KTP, alamat, no_tlp, email,
pend_terakhir, ibu_ kandung , nama_sdr, alamat_sdr, hub_keluarga,
notlp_sdr, status_pkrjn, nama_prshn, alamat_prshn, tlp_kantor, fax_kantor,
departemen, lama _kerja, total_kerja, pendpt_kotor, jenis_kerja,
jenis_usaha, jabatan, jml_karyawan, status_kerja. Semua atribut digunakan
untuk menyimpan data pelanggan dalam database.
• transaksi, memiliki atribut berupa ID_pelanggan, ID_toko, tgl_transaksi,
total_belanja, dan point. Semua atribut digunakan untuk menyimpan data
transaksi dalam database.
• toko, memiliki atribut berupa ID_toko dan nama_toko yang digunakan
untuk menyimpan data toko ke dalam database.
• admin memiliki atribut berupa nama_admin dan password_admin yang
digunakan untuk menyimpan data admin ke dalam database.
39
3.2.3 Contex Diagram
Contex Diagram menggambarkan suatu proses yang mewakili
proses dari seluruh sistem dan menggambarkan hubungan input dan
output antara sistem dan kesatuan luar.
Selanjutnya, dari contex diagram tersebut, dapat diperjelas
mengenai proses yang dilakukan dalam diagram berjenjang.
Gambar 3.3 Contex Diagram
Dari gambar 3.3 terlihat bahwa sistem memiliki dua kesatuan
luar yang berhubungan dengan sistem, yaitu pelanggan dan admin.
3.2.4 Diagram Arus Data
Diagram arus data lebih tepat digunakan untuk menggambarkan sistem
yang akan dibuat, diagram ini tidak menekankan pada bagaimana sistem
40
diterapkan, tetapi penekanannya hanya pada logika dari kebutuhan-kebutuhan
sistem, yaitu proses yang secara logika dibutuhkan oleh sistem.
3.2.4.1 Diagram Berjenjang SI Pencatatan Transaksi Pelanggan Pada
Pusat Perbelanjaan.
Pada level ini, akan dijelaskan keseluruhan proses yang terjadi di
dalam sistem. Diagram berjenjang pada SI pencatatan transaksi pelanggan
pada pusat perbelanjaan terlihat pada gambar 3.4 :
41 Gambar 3.4 Diagram Berjenjang
42
3.2.4.2 Diagram Arus Data Level 0 (top level)
Pada level ini, akan dijelaskan keseluruhan proses yang terjadi
di dalam sistem, dimana sebelumnya telah diketahui alur data dari
sistem yang dapat terlihat pada contex diagram.
Gambar 3.5 DAD Level 0
43
3.2.4.3 Diagram Arus Data Level 1 Proses Verifikasi user
Dari diagram arus data level 0 dapat diturunkan lebih rinci lagi
ke dalam level 1. DAD level 1 akan menjelaskan proses-proses yang
terjadi pada sistem. DAD level 1 proses 1 terdiri dari 2 proses, yaitu
proses login admin dan login pelanggan
Gambar 3.6 DAD Level 1 Proses 1 Proses Login
44
3.2.4.4 Diagram Arus Data Level 1 Proses Pengelolaan Data
DAD level 1 proses 3 terdiri atas 3 proses, yaitu proses
pengelolaan data pelanggan, proses pengelolaan data toko, dan proses
pengelolaan data transaksi.
Gambar 3.7 DAD Level 1 proses 3 Proses Pengelolaan Data
45
DAD Level 1 pada gambar 3.7 menggambarkan keseluruhan
data yang bisa diakses khusus oleh admin untuk selanjutnya admin
dapat melakukan perubahan pada data di dalam database sesuai
kebutuhan.
3.2.4.5 Diagram Arus Data Level 2 Proses Pengelolaan Data Pelanggan
DAD level 2 proses 3.1 terdiri atas tiga proses, yang khusus
dilakukan oleh admin yaitu proses tambah data pelanggan, proses edit
data pelanggan dan proses hapus data pelanggan.
Gambar 3.8 DAD Level 2 proses 3.1 Proses Pengelolaan Data Pelanggan
46
3.2.4.6 Diagram Arus Data Level 2 Pengelolaan Data Toko
DAD level 2 proses 3.2 terdiri atas tiga proses, yang khusus
dilakukan oleh admin yaitu proses tambah data toko, proses edit data
toko, dan proses hapus data toko.
Gambar 3.9 DAD Level 2 proses 3.2 Proses Pengelolaan Data Toko
47
3.2.4.7 Diagram Arus Data Level 2 Proses Pengelolaan Data Transaksi
DAD level 2 proses 3.3 terdiri atas tiga proses, yang khusus
dilakukan oleh admin yaitu proses tambah data transaksi, proses edit
data transaksi, dan proses hapus data transaksi.
Gambar 3.10 DAD Level 2 proses 3.3 Proses Pengelolaan Data Transaksi.
48
3.3 Perancangan Sistem
Perancangan sistem merupakan langkah multi proses yang memusatkan
kerja pada struktur data, arsitektur perangkat lunak (PL), prosedur rinci serta
karakteristik antarmuka. Proses ini akan mengubah kebutuhan-kebutuhan
sistem menjadi sebuah representasi PL yang dapat dimengerti sebelum proses
penulisan program dimana hasil rancangan harus didokumentasikan dan
menjadi bagian konfigurasi PL.
3.3.1 Perancangan Basis Data
Pada perancangan basis data ini, penulis merancang suatu basis data
yang berasal dari pemodelan sistem dalam bentuk diagram E-R. Database
yang dibangun terdiri dari beberapa tabel yang akan menyimpan data-data
dari sebuah entitas, sedangkan record dalam tabel akan menyimpan nilai
atribut-atribut dari suatu entitas. Dengan demikian, tabel akan memiliki fields
yang identik dengan atribut-atribut dari sebuah entitas.
Database SI pencatatan transaksi pelanggan pada pusat perbelanjaan ini
terdiri dari 4 (empat) tabel, yaitu tabel pelanggan, tabel toko, tabel transaksi,
dan tabel admin. Rancangan fields untuk masing-masing tabel dituangkan ke
dalam tabel 3.1 sampai dengan tabel 3.4 :
49
Tabel 3.1 Rancangan Tabel Pelanggan (TPelanggan).
Nama Fields Tipe Data Panjang Keterangan
ID_pelanggan * int 10 Nomer kartu anggota
nama_lkp Char 30 Nama pelanggan
nama_kartu Char 20 Nama yang tertera di kartu
tgl_lahir Char 10 Tanggal Lahir pelanggan
jenis_kelamin Char 10 Jenis Kelamin pelanggan
status_nikah Char 15 Status nikah pelanggan
no_KTP Char 20 Nomer KTP Pelanggan
alamat Char 50 Alamat rumah pelanggan
no_tlp Char 15 Nomer telepon atau handphone
pelanggan
email Char 30 Alamat email pelanggan
pend_terakhir Char 15 Pendidikan terakhir pelanggan
ibu_ kandung Char 30 Nama gadis ibu kandung
pelanggan
nama_sdr Char 30 Nama saudara pelanggan yang
dapat dihubungi dalam keadaan
50
darurat
alamat_sdr Char 50 Alamat rumah saudara
pelanggan
hub_keluarga Char 20 Hubungan pelanggan dengan
saudara
notlp_sdr Char 15 Nomer telepon atau handphone
saudara pelanggan
status_pkrjn Char 15 Status apakah pelanggan bekerja
atau tidak bekerja
nama_prshn Char 30 Nama perusahaan tempat
pelanggan bekerja
alamat_prshn Char 50 Alamat perusahaan tempat
pelanggan bekerja
tlp_kantor Char 15 Nomer Telepon kantor tempat
pelanggan bekerja
fax_kantor Char 15 Nomer Fax kantor tempat
pelanggan bekerja
departemen Char 15
Departemen/bagian yang dijabat
pelanggan di kantor tempat
pelanggan bekerja
51
lama _kerja Char 15
Lama pelanggan bekerja di
kantor tempat pelanggan bekerja
sekarang
total_kerja Char 15
Total lama pelanggan bekerja,
termasuk di perusahaan
sebelumnya
pendpt_kotor Char 20 Pendapatan kotor pelanggan per
bulan
jenis_kerja Char 20 Jenis pekerjaan pelanggan
jenis_usaha Char 20
Jenis usaha yang dijalankan
pelanggan
jabatan Char 20 Jabatan pelanggan dalam
pekerjaannya
jml_karyawan Char 10 Jumlah karyawan di kantor
tempat pelanggan bekerja
status_kerja Char 20 Status pelanggan di kantor
tempat pelanggan bekerja
52
Tabel 3.2 Rancangan tabel Toko(TToko)
Nama Fields Tipe Data Panjang Keterangan
ID_toko * Char 10 Kode Toko dalam pusat
perbelanjaan
nama_toko Char 30 Nama Toko dalam pusat
perbelanjaan
Tabel 3.3 Rancangan tabel Transaksi (TTransaksi)
Nama Fields Tipe Data Panjang Keterangan
ID_pelanggan** Char 10 Nomer kartu anggota yang
melakukan transaksi
ID_toko ** Char 10
Kode Toko dalam pusat
perbelanjaan dimana
pelanggan bertransaksi
tgl_transaksi Char 10 Tanggal pelanggan melakukan
transaksi
total_belanja Char 20 Total belanja pelanggan ketika
melakukan transaksi
point Char 10
Point yang diperoleh oleh
pelanggan sesuai dengan toko
dimana pelanggan berbelanja
53
Tabel 3.4 Rancangan tabel Admin (TAdmin)
Nama Fields Tipe Data Panjang Keterangan
nama_admin Char 30 Nama yang dipakai oleh
admin di dalam sistem
password_admin Char 10 Password yang digunakan
oleh admin di dalam sistem
Keterangan tabel :
* = primary key (atribut kunci)
** = foreign key
Relasi antar tabelnya terlihat pada gambar 3.11 :
Gambar 3.11 Relasi Antar Tabel
54
3.3.2 Perancangan User Interface
3.3.2.1 Form Menu Utama
Gambar 3.12 Form Menu Utama
3.3.2.2 Form Login Sukses
Gambar 3.13 Form Login Sukses
55
3.3.2.3 Form Login Eror
Gambar 3.14 Form Login Eror
3.3.2.4 Form Tampilan Menu Utama Admin
Gambar 3.15 Form Tampilan Menu Utama Admin
56
3.3.2.5 Form Data Pelanggan
Form 3.16 Form Data Pelanggan
3.3.2.6 Form Tambah Pelanggan
Gambar 3.17 Form Tambah Pelanggan
57
3.3.2.7 Form Edit Pelanggan
Gambar 3.18 Form Edit Pelanggan
58
3.3.2.8 Form Data Toko
Gambar 3.19 Form Data Toko
3.3.2.9 Form Tambah Toko
Gambar 3.20 Form Tambah Toko
59
3.3.2.10 Form Edit Toko
Gambar 3.21 Form Edit Toko
3.3.2.11 Form Data Transaksi
Gambar 3.22 Form Data Transaksi
60
3.3.2.12 Form Lihat Transaksi
Gambar 3.23 Form Lihat Transaksi
3.3.2.13 Form Tambah Transaksi
Gambar 3.24 Form Tambah Transaksi
61
3.3.3 Perangkat Keras dan Perangkat Lunak Yang Digunakan
Perangkat keras dan perangkat lunak yang digunakan dalam sistem informasi
ini spesifikasinya sebagai berikut :
Perangkat keras meliputi :
- Prosessor Intel Pentium IV
- Harddisk 40 Gigabyte
- RAM 256 MB
Perangkat lunak meliputi :
- Java JSP
- Database MySQL Server 5.0
- Microsoft Windows XP
BAB IV
IMPLEMENTASI SISTEM
4.1 Karaketristik Sistem
Sistem ini dibuat untuk mengetahui secara detail data pelanggan yang
ada dalam pusat perbelanjaan dan di toko mana saja pelanggan berbelanja
pada pusat perbelanjaan tersebut, dengan cara mendaftarkan pelanggan
sebagai member. Setelah pelanggan mengisi form yang diberikan, admin akan
memasukkan data pelanggan ke dalam komputer admin. Dalam hal ini, hanya
terdiri dari 1 komputer admin, yang nantinya akan digunakan oleh admin
untuk melakukan tugas-tugasnya, dan 2 monitor yaitu dari sisi admin dan sisi
pelanggan. Disini pelanggan hanya bisa mengakses data pelanggan yaitu
tampilan data transaksi dengan monitor dari sisi pelanggan.
4.2 Kebutuhan Sistem
Tahap ini adalah tahap pendefinisian kebutuhan akan perangkat lunak,
perangkat keras, maupun sumberdaya manusia (pengguna), sehingga sistem
dapat diakses dengan baik.
4.2.1 Kebutuhan Perangkat Lunak
Agar sistem dapat diimplementasikan dengan maksimal, perlu
didesain dengan perangkat lunak yang sesuai. Dalam SI pencatatan
62
63
transaksi telanggan pada pusat perbelanjaan ini, ada 2 (dua) level
pengguna yang memerlukan perangkat lunak yang sesuai, yaitu :
a. Level administrator
Perangkat lunak yang dibutuhkan oleh administrator adalah
sistem operasi Windows XP, webserver Apache Tomcat , bahasa
pemrograman JSP, pengelolaan database MySQL, pengolahan
gambar Adobe Photoshop, editor Macromedia Dreamweaver, dan
browser Internet Explorer 5.
b. Level user.
Perangkat lunak minimal yang dibutuhkan oleh user adalah sistem
operasi Windows XP dan browser Internet Explorer 5.
4.2.2 Kebutuhan Perangkat Keras
Kebutuhan perangkat keras minimal yang sesuai untuk SI
pencatatan transaksi telanggan pada pusat perbelanjaan sesuai dengan
masing-masing level pengguna adalah :
a. Level administrator
• Komputer Pentium IV
• Memori 256MB
• Harddisk 40 GB
• Monitor SVGA dengan resolusi 800X600
64
• Piranti masukan yaitu keyboard dan mouse
b. Level user
• Monitor SVGA dengan resolusi 800X600
4.3 Implementasi Antarmuka dan Program
Bab ini membahas logika penulisan program disertai dengan skrip untuk
setiap modul. Pembahasan meliputi skrip-skrip utama dan interface aplikasi
yang dibuat.
4.3.1 Koneksi Database
Setelah melakukan proses pembuatan tabel-tabel pada database
beserta field-fieldnya, langkah selanjutnya adalah membuat skrip koneksi agar
database yang telah dibuat dapat diakses .
<%@ page import="java.sql.*" %> <% Class.forName("com.mysql.jdbc.Driver"); Connection koneksi_crm = null; koneksi_crm = DriverManager.getConnection("jdbc:mysql://localhost:3306/crm", "root" , "hennyadi"); Statement stmnt = null; stmnt = koneksi_crm.createStatement(); ResultSet hasilQuery = null; %>
65
4.3.2 Implementasi Antarmuka dan Program Halaman Utama SI
Pencatatan Transaksi Pelanggan Pada Pusat Perbelanjaan.
Implementasi antarmuka halaman utama dapat dilihat pada gambar 4.1 berikut :
Gambar 4.1 Tampilan Halaman Utama
Untuk menampilkan halaman utama SI pencatatan transaksi pada
pusat perbelanjaan ini dapat dilakukan dengan perintah sebagai berikut :
var timerID = null var timerRunning = false function MakeArray(size) { this.length = size; for(var i = 1; i <= size; i++) { this[i] = ""; } return this; } function stopclock (){ if(timerRunning) clearTimeout(timerID); timerRunning = false }
66
function showtime () { var now = new Date(); var hours = now.getHours(); var minutes = now.getMinutes(); var seconds = now.getSeconds(); var timeValue = ""; timeValue += ((hours <= 12) ? hours : hours - 12); timeValue += ((minutes < 10) ? ":0" : ":") + minutes; timeValue += ((seconds < 10) ? ":0" : ":") + seconds; timeValue += (hours < 12) ? " AM" : " PM"; document.jsfrm.face.value = timeValue; timerID = setTimeout("showtime()",1000); timerRunning = true } function startclock () { stopclock(); showtime() } salam ="";id = ""; if (id !=""){ java.util.Calendar currTime = new java.util.GregorianCalendar(); if (currTime.get(currTime.HOUR_OF_DAY) <= 9 ){ out.println(salam = "Selamat Pagi, "+id);} else if (currTime.get(currTime.HOUR_OF_DAY) <= 15 ){ out.println(salam = "Selamat Siang, "+id);} else if (currTime.get(currTime.HOUR_OF_DAY) <= 18 ){ out.println(salam = "Selamat Sore, "+id);} else { out.println(salam = "Selamat Malam, "+id);}} else{ java.util.Calendar currTime = new java.util.GregorianCalendar(); if (currTime.get(currTime.HOUR_OF_DAY) <= 9 ){ out.println(salam = "Selamat Pagi, User");} else if (currTime.get(currTime.HOUR_OF_DAY) <= 15 ){ out.println(salam = "Selamat Siang, User");} else if (currTime.get(currTime.HOUR_OF_DAY) <= 18 { out.println(salam = "Selamat Sore, User");} else { out.println(salam = "Selamat Malam, User");}} %> <td>anda pengunjung ke : <br> <%@ include file="counter/cacah.jsp" %>
67
var tahun = new Date() var tanggal = tahun.getDate() var tahu =tahun.getYear() var hari2 = new Array(7); hari2[0] ="Minggu"; hari2[1] ="Senin"; hari2[2] ="Selasa"; hari2[3] ="Rabu"; hari2[4] ="Kamis"; hari2[5] ="Jum'at"; hari2[6] ="Sabtu"; var months=new Array(13); months[1]="Januari"; months[2]="Februari"; months[3]="Maret"; months[4]="April"; months[5]="Mei"; months[6]="Juni"; months[7]="Juli"; months[8]="Agustus"; months[9]="September"; months[10]="Oktober"; months[11]="November"; months[12]="Desember"; var bulan=months[tahun.getMonth() + 1];
var harian=hari2[tahun.getDay()]; document.write(harian+", "+tanggal+" "+bulan+" "+tahu); --> </SCRIPT> <br> Pukul : <input type="text" name="face" size="11"> </div> form name="form2" method="post" action="cek_login2.jsp"> <br> <div align="right">Nama: <input name="user_id" type="text" id="user_id" size="20"> <br> Password : <input name="password" type="password" id="password" size="20"> <br> <select name="pilihan" id="pilihan"> <option value=1 selected>Admin</option> <option value=2>Pelanggan</option>
68
4.3.3 Implementasi Antarmuka dan Program Login Admin
Antarmuka login admin menampilkan halaman untuk memasukkan data
verifikasi berupa nama admin dan password admin kemudian tekan tombol
login.
Implementasi antarmuka login user dapat dilihat pada gambar 4.2
berikut :
Gambar 4.2 Halaman login Admin
69
Berikut adalah skrip cek login admin :
String idProperty = request.getParameter("user_id"); String passwordProperty = request.getParameter("password"); boolean validasiLogin = false; String strPilihan = request.getParameter("pilihan"); if(strPilihan == null) strPilihan = "0"; int pilihan = Integer.valueOf(strPilihan).intValue(); switch (pilihan) { // login sebagai admin validasiLogin = loginAs.validasiLoginAdmin(idProperty,passwordProperty); if (validasiLogin == false) { %> <jsp:forward page="login_gagal.jsp" /> <% } else { %> <jsp:forward page="admin_login_true.jsp" /> <% } break; }
4.3.4 Implementasi Antarmuka dan Program Login Sukses
Antarmuka login sukses ditampilkan setelah admin berhasil melakukan
verifikasi. Jika admin memasukkan nama dan password yang salah, maka akan
tertampil antarmuka login gagal. Dalam login sukses ini untuk melakukan
proses selanjutnya admin harus menekan tombol klik disini untuk transaksi
admin, jika ingin kembali ke antarmuka halaman utama, admin harus menekan
70
Klik disini untuk kembali, maka akan kembali ke halaman utama.Implementasi
antarmuka login sukses dapat dilihat pada gambar 4.3 berikut :
Gambar 4.3 Halaman login sukses
Listing program yang dijalankan untuk login sukses sebagai berikut :
String idProperty = request.getParameter("user_id"); String passwordProperty = request.getParameter("password"); boolean validasiLogin = false; String strPilihan = request.getParameter("pilihan"); if(strPilihan == null) strPilihan = "0"; int pilihan = Integer.valueOf(strPilihan).intValue(); switch (pilihan) { case 1 : validasiLogin = {%> <jsp:forward page="admin_login_true.jsp" /> <%} break;}
71
4.3.5 Implementasi Antarmuka dan Program Login Gagal
Jika admin memasukkan nama atau password yang salah, maka akan
tertampil antarmuka login gagal. Untuk kembali ke halaman utama, admin
harus meng klik kembali ke menu utama. Antarmuka login gagal dapat dilihat
pada gambar 4.4 berikut ini :
se
Gambar 4.4 Halaman Login Gagal.
Listing program yang dijalankan jika login gagal adalah
bagai berikut :
String idProperty = request.getParameter("user_id"); String passwordProperty = request.getParameter("password"); boolean validasiLogin = false; String strPilihan = request.getParameter("pilihan");if(strPilihan == null) strPilihan = "0"; int pilihan = Integer.valueOf(strPilihan).intValue(); switch (pilihan) { case 1 : validasiLogin = loginAs.validasiLoginAdmin(idProperty,passwordProperty); if (validasiLogin == false){ %><jsp:forward page="login_gagal.jsp" />
72
4.3.6 Implementasi Antarmuka dan Program Halaman Utama Admin
Antarmuka ini menampilkan konfigurasi admin. Untuk melakukan
proses selanjutnya, admin harus menekan tombol link admin. Jika admin
menekan tombol logout, maka akan kembali ke halaman utama. Implementasi
antarmuka halaman utama admin dapat dilihat pada gambar 4.5 berikut :
Gambar 4.5 Halaman Utama Admin.
Listing program yang dijalankan untuk halaman utama admin
adalah sebagai berikut :
<tr> <td width="71">Utama</td> <td width="71"><a href="admin_pelanggan.jsp">Admin</a></td> </td> <td width="58"><a href="logout.jsp">Logout</a></td></tr> </table></td><td width="186"> </td> <td width="48"><a href="index.jsp">Home</a></td></tr> </table> </td> </tr><tr> <td><div align="center" class="style2">Selamat datang, <font color="#FF0000"><%=session.getAttribute("nama")%></font> di halaman konfigurasi administrator. silahkan mengklik <em>link </em>yang ada di atasuntuk melakukan pengaturan dalam sistem.</div></td> </tr>
73
4.3.7 Data Pelanggan
Administrator mempunyai wewenang untuk melakukan pengelolaan
data pelanggan pada database. Update data meliputi menambah data,
mengedit data, dan menghapus data. Selain proses update di atas,
administrator juga bisa menampilkan data pelanggan dari database.
4.3.7.1 Implementasi Antarmuka dan Program Data Pelanggan
Antarmuka data pelanggan untuk admin ini menampilkan data
pelanggan yang berupa kode dan nama pelanggan. Kode merupakan
ID_pelanggan dan Nama adalah nama_lkp pelanggan. Dalam halaman ini
admin bisa melakukan tugasnya yaitu menambah, mengedit dan menghapus
data pelanggan dengan menekan tombol edit maka akan menuju ke halaman
edit data pelanggan untuk admin,disini admin bisa mengedit data pelanggan
yang dipilih.Jika admin menekan tombol hapus maka data pelanggan yang
dipilh akan langsung terhapus dari daftar pelanggan. Untuk menambah data
pelanggan, admin harus menekan tombol tambah pelanggan. Implementasi
antarmuka Data pelanggan untuk admin dapat dilihat pada gambar 4.6:
74
Gambar 4.6 Halaman Data Pelanggan Untuk Admin.
Untuk menampilkan data pelanggan listing program yang dijalankan
adalah sebagai berikut :
int pages; Statement stmntCount = koneksi_crm.createStatement(); String sqlCount = null; sqlCount = "Select count(*) as jumlah from tpelanggan"; ResultSet rsCount = stmntCount.executeQuery(sqlCount); rsCount.next(); pages = rsCount.getInt("jumlah"); out.println("Jumlah Pelanggan : " + pages + "<br>"); out.println("<br>"); out.println("Halaman :"); int cPage; int iHalaman; iHalaman = 10 ; cPage = (pages / iHalaman) + 1; if ((cPage * iHalaman) + 1 >= pages) { cPage++; } {sqlPel = sqlPel + " between " + currentRs + " and " + ((currentRs +iHalaman)-1) +" " ;} sqlPel = sqlPel + " order by x.ID_pelanggan asc "; ResultSet hasilQueryPel = null; hasilQueryPel = stmntPel.executeQuery(sqlPel);%> while (hasilQueryPel.next()){ String ID_pelanggan = hasilQueryPel.getString("ID_pelanggan"); String nama_lkp = hasilQueryPel.getString("nama_lkp"); String nama_kartu = hasilQueryPel.getString("nama_kartu"); Date tgl_lahir= hasilQueryPel.getDate("tgl_lahir");
75
String fax_kantor = hasilQueryPel.getString("fax_kantor"); String departemen = hasilQueryPel.getString("departemen"); String lama_kerja = hasilQueryPel.getString("lama_kerja"); String total_kerja = hasilQueryPel.getString("total_kerja"); String pendpt_kotor = hasilQueryPel.getString("pendpt_kotor"); String jenis_kerja= hasilQueryPel.getString("jenis_kerja"); String jenis_usaha = hasilQueryPel.getString("jenis_usaha"); String jabatan = hasilQueryPel.getString("jabatan"); String jml_karyawan = hasilQueryPel.getString("jml_karyawan"); String status_kerja = hasilQueryPel.getString("status_kerja"); %> <tr bgcolor=#FFCC99> <td class="TABLE_ORDER"><%=ID_pelanggan%></td> <td class="TABLE_ORDER"><%=nama_lkp%></td> <td width="46" class="TABLE_KONFIRMASI"><% out.println("<a href=\"admin_pelanggan_lihat.jsp?ID_pelanggan="+ID_pelanggan+"\">");%>Lihat</td> <td width="46" class="TABLE_KONFIRMASI"><% out.println("<a href=\"admin_pelanggan_edit.jsp?ID_pelanggan="+ID_pelanggan+"\">");%>Edit</td> <td width="41" class="TABLE_KONFIRMASI"><% out.println("<a href=\"admin_pelanggan_hapus_proses.jsp?ID_pelanggan="+ID_pelanggan+"\">");%>Hapus</td></tr> String jenis_kelamin = hasilQueryPel.getString("jenis_kelamin"); String status_nikah = hasilQueryPel.getString("status_nikah"); String no_KTP = hasilQueryPel.getString("no_KTP"); String alamat = hasilQueryPel.getString("alamat"); String no_tlp = hasilQueryPel.getString("no_tlp"); String email = hasilQueryPel.getString("email"); String pend_terakhir = hasilQueryPel.getString("pend_terakhir"); String ibu_kandung = hasilQueryPel.getString("ibu_kandung"); String nama_sdr = hasilQueryPel.getString("nama_sdr"); String alamat_sdr = hasilQueryPel.getString("alamat_sdr"); String hub_keluarga = hasilQueryPel.getString("hub_keluarga"); String notlp_sdr = hasilQueryPel.getString("notlp_sdr"); String status_pkrjn= hasilQueryPel.getString("status_pkrjn"); String nama_prshn = hasilQueryPel.getString("nama_prshn"); String alamat_prshn = hasilQueryPel.getString("alamat_prshn"); String tlp_kantor = hasilQueryPel.getString("tlp_kantor"); int p; for(p = 1; p < cPage ; p++) { out.println("<a href=admin_pelanggan.jsp?mv=" + p + ">"+ p +"</a> | "); } out.println("<hr>");
76
// paging int cpage; int currentRs; String pt; pt = request.getParameter("mv"); if (pt == null) { currentRs = 0; } else { cpage = Integer.parseInt((String)pt); currentRs = iHalaman * (cpage - 1); out.println("Halaman : "+cpage + "<br>"); out.println("<br>"); } // nih untuk data pelanggan Statement stmntPel = koneksi_crm.createStatement(); String sqlPel = "select x.ID_pelanggan, x.nama_lkp, x.nama_kartu, x.tgl_lahir, x.jenis_kelamin, x.status_nikah,"; sqlPel = sqlPel+"x.no_KTP, x.alamat, x.no_tlp, x.email,"; sqlPel = sqlPel+"x.pend_terakhir,x.ibu_kandung, x.nama_sdr, x.alamat_sdr, x.hub_keluarga, x.notlp_sdr,"; sqlPel = sqlPel+"x.status_pkrjn, x.nama_prshn, x.alamat_prshn, x.tlp_kantor, x.fax_kantor, x.departemen,"; sqlPel = sqlPel+"x.lama_kerja, x.total_kerja, x.pendpt_kotor, x.jenis_kerja, x.jenis_usaha, x.jabatan,x.jml_karyawan, x.status_kerja"; sqlPel = sqlPel+" from tpelanggan x where (select count(*)from tpelanggan where ID_pelanggan < x.ID_pelanggan)"; if (currentRs == 0 ) { sqlPel = sqlPel + " < "+iHalaman ; } else
77
4.3.7.2 Implementasi Antarmuka dan Program Lihat Data Pelanggan
Jika admin menekan tombol lihat pada halaman data pelanggan, maka
akan tertampil halaman detil data pelanggan di bawah ini. Untuk kembali,
admin harus menekan kembali, dan akan kembali ke halaman data pelanggan.
halaman lihat data pelanggan untuk admin dapat dilihat pada gambar 4.7 :
Untuk menam
adalah sebaga
<% StrinStrinResuwhile{ // amStrinStrinStrinDateStrinStrinStrinStrin
Gambar 4.7 Halaman Lihat Data Pelanggan
pilkan Halaman Lihat Data pelanggan listing Program yang dijalankan
i berikut :
g id_pel = request.getParameter("ID_pelanggan"); g sqlEdit ="select * from tpelanggan where ID_pelanggan='"+id_pel+"'"; ltSet rsEdit = stmnt.executeQuery(sqlEdit); (rsEdit.next())
bil data dari database g ID_pelanggan = rsEdit.getString("ID_pelanggan"); g nama_lkp = rsEdit.getString("nama_lkp"); g nama_kartu = rsEdit.getString("nama_kartu"); tgl_lahir = rsEdit.getDate("tgl_lahir"); g jenis_kelamin = rsEdit.getString("jenis_kelamin"); g status_nikah = rsEdit.getString("status_nikah"); g no_KTP = rsEdit.getString("no_KTP"); g alamat= rsEdit.getString("alamat");
78
4.3.7.3 I
m
m
a
h
H
String no_tlp = rsEdit.getString("no_tlp"); String email = rsEdit.getString("email"); String pend_terakhir = rsEdit.getString("pend_terakhir"); String ibu_kandung = rsEdit.getString("ibu_kandung"); String nama_sdr = rsEdit.getString("nama_sdr"); String alamat_sdr = rsEdit.getString("alamat_sdr"); String hub_keluarga = rsEdit.getString("hub_keluarga") String notlp_sdr = rsEdit.getString("notlp_sdr"); String status_pkrjn = rsEdit.getString("status_pkrjn"); String nama_prshn = rsEdit.getString("nama_prshn"); String alamat_prshn = rsEdit.getString("alamat_prshn"); String tlp_kantor = rsEdit.getString("tlp_kantor"); String fax_kantor= rsEdit.getString("fax_kantor"); String departemen = rsEdit.getString("departemen"); String lama_kerja = rsEdit.getString("lama_kerja"); String total_kerja = rsEdit.getString("total_kerja"); String pendpt_kotor = rsEdit.getString("pendpt_kotor"); String jenis_kerja = rsEdit.getString("jenis_kerja"); String jenis_usaha = rsEdit.getString("jenis_usaha"); String jabatan = rsEdit.getString("jabatan"); String jml_karyawan = rsEdit.getString("jml_karyawan"); String status_kerja = rsEdit.getString("status_kerja"); %>
mplementasi Antarmuka dan Program Edit Data Pelanggan
Jika Admin menekan tombol edit pada Halaman Data pelanggan,
aka akan tertampil halaman Edit Data Pelanggan di bawah ini. Setelah
engedit data pelanggan, untuk menyimpannya admin harus menekan lanjut,
gar data yang diedit bisa masuk ke dalam database. Untuk kembali, admin
arus menekan kembali, dan akan kembali ke halaman Data pelanggan.
alaman Edit Data Pelanggan untuk admin dapat dilihat pada gambar 4.8
79
L
<% String iString sResultS ambil d
Gambar 4.8 Halaman Edit Data Pelanggan
isting Program untuk Edit Data Pelanggan sebagai berikut :
d_pel = request.getParameter("ID_pelanggan"); qlEdit ="select * from tpelanggan where ID_pelanggan='"+id_pel+"'"; et rsEdit = stmnt.executeQuery(sqlEdit); while (rsEdit.next() //
ata dari database String ID_pelanggan = rsEdit.getString("ID_pelanggan"); String nama_lkp = rsEdit.getString("nama_lkp"); String nama_kartu = rsEdit.getString("nama_kartu"); Date tgl_lahir = rsEdit.getDate("tgl_lahir"); String jenis_kelamin = rsEdit.getString("jenis_kelamin"); String status_nikah = rsEdit.getString("status_nikah"); String no_KTP = rsEdit.getString("no_KTP"); String alamat= rsEdit.getString("alamat"); String no_tlp = rsEdit.getString("no_tlp"); String email = rsEdit.getString("email"); String pend_terakhir = rsEdit.getString("pend_terakhir"); String ibu_kandung = rsEdit.getString("ibu_kandung"); String nama_sdr = rsEdit.getString("nama_sdr"); String alamat_sdr = rsEdit.getString("alamat_sdr");
80
String hub_keluarga = rsEdit.getString("hub_keluarga"); String notlp_sdr = rsEdit.getString("notlp_sdr"); String status_pkrjn = rsEdit.getString("status_pkrjn"); String nama_prshn = rsEdit.getString("nama_prshn"); String alamat_prshn = rsEdit.getString("alamat_prshn"); String tlp_kantor = rsEdit.getString("tlp_kantor"); String fax_kantor= rsEdit.getString("fax_kantor"); String departemen = rsEdit.getString("departemen"); String lama_kerja = rsEdit.getString("lama_kerja"); String total_kerja = rsEdit.getString("total_kerja"); String pendpt_kotor = rsEdit.getString("pendpt_kotor"); String jenis_kerja = rsEdit.getString("jenis_kerja"); String jenis_usaha = rsEdit.getString("jenis_usaha"); String jabatan = rsEdit.getString("jabatan"); String jml_karyawan = rsEdit.getString("jml_karyawan"); String status_kerja = rsEdit.getString("status_kerja"); %> </td> </tr>
4.3.7.4 Implementasi Antarmuka dan Program Tambah Data Pelanggan
Jika Admin menekan tombol tambah pelanggan pada halaman data
pelanggan, maka akan tertampil halaman tambah data pelanggan di bawah ini.
Agar data masuk ke dalam database, maka admin harus menekan tambah, jika
admin ingin membatalkan penambahan data pelanggan, maka admin harus
menekan kembali, dan akan kembali ke halaman data pelanggan. Halaman
tambah data pelanggan untuk admin dapat dilihat pada gambar 4.9
81
<% StateStrinResuwhile// amint ID// id bID_p%> int IDStrinStrinStrinStrinStrinStrinStrinStrinStrinStrinStrinStrinStrinStrin
Gambar 4.9 Halaman Tambah Data Pelanggan
Listing program untuk tambah data pelanggan sebagai berikut :
ment stmnt = koneksi_pelanggan.createStatement(); g sqlCount = "select count(*) from tpelanggan"; ltSet rsCount = stmnt.executeQuery(sqlCount); (rsCount.next()){ bil data count pada tabel pelanggan _pelanggan = rsCount.getInt(1); aru = id lama + 1
elanggan = ID_pelanggan+1;
_pelanggan = Integer.parseInt(request.getParameter("ID_pelanggan")); g nama_lkp = request.getParameter("nama_lkp"); g nama_kartu = request.getParameter("nama_kartu"); g tgl_lahir = request.getParameter("tgl_lahir"); g jenis_kelamin = request.getParameter("jenis_kelamin"); g status_nikah = request.getParameter("status_nikah"); g no_KTP = request.getParameter("no_KTP"); g alamat = request.getParameter("alamat"); g no_tlp = request.getParameter("no_tlp"); g email = request.getParameter("email"); g pend_terakhir = request.getParameter("pend_terakhir"); g ibu_kandung = request.getParameter("ibu_kandung"); g nama_sdr = request.getParameter("nama_sdr"); g alamat_sdr = request.getParameter("alamat_sdr"); g hub_keluarga = request.getParameter("hub_keluarga");
82
String notlp_sdr = request.getParameter("notlp_sdr"); String status_pkrjn = request.getParameter("status_pkrjn"); String nama_prshn = request.getParameter("nama_prshn"); String alamat_prshn = request.getParameter("alamat_prshn"); String tlp_kantor = request.getParameter("tlp_kantor"); String fax_kantor = request.getParameter("fax_kantor"); String departemen = request.getParameter("departemen"); String lama_kerja = request.getParameter("lama_kerja"); String total_kerja = request.getParameter("total_kerja"); String pendpt_kotor = request.getParameter("pendpt_kotor"); String jenis_kerja = request.getParameter("jenis_kerja"); String jenis_usaha = request.getParameter("jenis_usaha"); String jabatan = request.getParameter("jabatan"); String jml_karyawan = request.getParameter("jml_karyawan"); String status_kerja = request.getParameter("status_kerja"); tpelanggan.insertPelanggan(nama_lkp,nama_kartu,tgl_lahir, jenis_kelamin,status_nikah,no_KTP,alamat,no_tlp,email,pend_terakhir, ibu_kandung,nama_sdr,alamat_sdr,hub_keluarga,notlp_sdr,status_pkrjn,nama_prshn,alamat_prshn, tlp_kantor,fax_kantor,departemen,lama_kerja,total_kerja,pendpt_kotor, jenis_kerja,jenis_usaha,jabatan,jml_karyawan,status_kerja); response.sendRedirect("admin_pelanggan.jsp"); %>
4.3.7.5 Implementasi Program Hapus data Pelanggan
Jika admin menekan tombol hapus pada data pelanggan, maka data
pelanggan akan langsung terhapus dari tabel pelanggan. Listing program
untuk hapus data pelanggan adalah sebagai berikut :
%> <%@ page import ="java.sql.*" %> <%@ include file="koneksi/koneksi_crm.jsp" %> <% String ID_pelanggan = request.getParameter("ID_pelanggan"); String sqlHapus = "delete from tpelanggan where ID_pelanggan='"+ID_pelanggan+"'"; int hsilHapus = stmnt.executeUpdate(sqlHapus); stmnt.close(); response.sendRedirect("admin_pelanggan.jsp");%>
83
4.3.8 Data Toko
Administrator mempunyai wewenang untuk melakukan pengelolaan
data pada database. Update data meliputi menambah data, mengedit data, dan
menghapus data. Selain proses update di atas, administrator juga bisa
menampilkan data toko dari database.
Berikut adalah implementasi dan skrip untuk masing - masing proses:
4.3.8.1 Implementasi Antarmuka dan Program Data Toko
Dalam Antarmuka Data Toko untuk admin ini, admin bisa melakukan
tugasnya yaitu menambah, mengedit dan menghapus toko yang diinginkan
dengan memilih toko yang diinginkan. Jika admin memilih edit maka akan
tertampil halaman Edit Data Toko yang dipilih, jika memilih hapus, maka
data toko yang dipilih akan langsung terhapus, sedangkan tombol Tambah
Toko digunakan oleh admin untuk menambah data toko. Implementasi
antarmuka Data Toko dapat dilihat pada gambar 4.10 :
84
beriku
int pagStatemString ssqlCouResultSrsCounpages out.prinout.prinout.prinint cPaint iHaliHalamcPage if ((cPa{cPageint p; for(p =out.prinout.prin// paginint cpaint currString ppt = reqif (pt ==currentelse{ cpage currentout.prinout.prin
Gambar 4.10 Halaman Data Toko
Listing program untuk menampilkan halaman data toko adalah sebagai
t :
es; ent stmntCount = koneksi_crm.createStatement(); qlCount = null;
nt = "Select count(*) as jumlah from ttoko"; et rsCount = stmntCount.executeQuery(sqlCount);
t.next(); = rsCount.getInt("jumlah"); tln("Jumlah Toko : " + pages + "<br>"); tln("<br>"); tln("Halaman :");
ge; aman; an = 10 ; = (pages / iHalaman) + 1; ge * iHalaman) + 1 >= pages) ++;}
1; p < cPage ; p++){ tln("<a href=admin_toko.jsp?mv=" + p + ">"+ p +"</a> | ");} tln("<hr>"); g
ge; entRs; t; uest.getParameter("mv"); null){ Rs = 0;}
= Integer.parseInt((String)pt); Rs = iHalaman * (cpage - 1); tln("Halaman : "+cpage + "<br>"); tln("<br>");}
85
// nih untuk data tokonya Statement stmntTok = koneksi_crm.createStatement(); String sqlTok = "select x.ID_toko, x.nama_toko"; sqlTok = sqlTok+" from ttoko x where (select count(*)from ttoko where ID_toko < x.ID_toko)"; if (currentRs == 0 ){ sqlTok = sqlTok + " < "+iHalaman ;} else{ sqlTok = sqlTok + " between " + currentRs + " and " + ((currentRs + iHalaman)-1) +" " ;} sqlTok = sqlTok + " order by x.ID_toko asc "; ResultSet hasilQueryTok = null; hasilQueryTok = stmntTok.executeQuery(sqlTok);%> </td></tr></table> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"><tr> <td><div align="center"> <table width="524" border="0" align="center" class="tableForm"> <tr bgcolor="#996600"> <th width="80" background="images/top.jpg" class="TABLE_JUDUL">Kode</th> <th width="180" background="images/top.jpg" class="TABLE_JUDUL">Nama</th> </tr><% while (hasilQueryTok.next()){ String ID_toko = hasilQueryTok.getString("ID_toko"); String nama_toko = hasilQueryTok.getString("nama_toko");%> <tr bgcolor=#FFCC99> <td class="TABLE_ORDER"><div align="left"><%=ID_toko%></div></td> <td class="TABLE_ORDER"><%=nama_toko%></td> <td width="46" class="TABLE_KONFIRMASI"><% out.println("<a href=\"admin_toko_lihat.jsp?ID_toko="+ID_toko+"\">");%>Lihat</td> <td width="46" class="TABLE_KONFIRMASI"><% out.println("<a href=\"admin_toko_edit.jsp?ID_toko="+ID_toko+"\">");%>Edit</td> <td width="41" class="TABLE_KONFIRMASI"><% out.println("<a href=\"admin_toko_hapus_proses.jsp?ID_toko="+ID_toko+"\">");%>Hapus</td></tr><% } %></table></div></td></tr> </table> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td width="642"> <br><form name="form2" method="post" action="admin_toko_tambah.jsp"> <table width="650" border="0" align="center" cellpadding="0" cellspacing="0"><tr> <td width="233"> </td> <td width="418"> <b><font face=verdana size=2> </font><font face=verdana size=1> </font><font face=verdana size=2> <input name="Tambah Toko" type="submit" id="Tambah Toko" value="Tambah Toko"> </font></b> </td> </tr> </table> </form> </td>
86
4.3.8.2 Implementasi Antarmuka dan Program Lihat Data Toko.
Dengan memilih lihat pada data toko, maka akan tertampil halaman
detil data toko sesuai toko yang dipilih. Jika ingin kembali ke halaman data
toko,admin harus meng klik tombol kembali maka akan langsung tertampil
halaman data toko. Implementasi antarmuka lihat toko dapat dilihat pada
gambar 4.11 :
L
berikut
<% String IString sResultSwhile (r{ // ambiString IString n %>
Gambar 4.11 Halaman Lihat Data Toko
isting untuk menjalankan halaman lihat data toko adalah sebagai
:
D_tk = request.getParameter("ID_toko"); qlEdit ="select * from ttoko where ID_toko='"+ID_tk+"'"; et rsEdit = stmnt.executeQuery(sqlEdit);
sEdit.next())
l data dari database D_toko = rsEdit.getString("ID_toko"); ama_toko = rsEdit.getString("nama_toko");
87
4.3.8.3 Implementasi Antarmuka dan Program Edit Data Toko.
Jika admin menekan tombol edit pada halaman data toko, maka akan
tertampil Halaman edit toko di bawah ini. Agar data masuk ke dalam
database, maka admin harus menekan lanjut, jika admin ingin membatalkan
penambahan data toko, maka admin harus menekan kembali, dan akan
kembali ke halaman data toko. Implementasi antarmuka edit toko dapat dilihat
pada gambar 4.12 berikut :
sebaga
<% StrinStrinResu StrinStrin%>
Gambar 4.12 Halaman Edit Data Toko
Listing program untuk menampilkan halaman edit data toko adalah
i berikut :
g ID_tk = request.getParameter("ID_toko"); g sqlEdit ="select * from ttoko where ID_toko='"+ID_tk+"'"; ltSet rsEdit = stmnt.executeQuery(sqlEdit);
while (rsEdit.next()) { // ambil data dari database
g ID_toko = rsEdit.getString("ID_toko"); g nama_toko = rsEdit.getString("nama_toko");
88
4.3.8.4 Implementasi Antarmuka dan Program Tambah Data Toko
Jika admin menekan tombol tambah toko pada halaman data toko,
maka akan tertampil halaman tambah data toko di bawah ini. Agar data masuk
ke dalam database, maka admin harus menekan tambah, jika admin ingin
membatalkan penambahan data toko, maka admin harus menekan kembali,
dan akan kembali ke halaman data toko. Halaman tambah data toko untuk
admin dapat dilihat pada gambar 4.13 :
Gambar 4.13 Halaman Tambah Data Toko
Listing program untuk menjalankan halaman tambah data toko adalah
sebagai berikut :
<% String ID_toko = request.getParameter("ID_toko"); String nama_toko = request.getParameter("nama_toko"); ttoko.insertToko(ID_toko,nama_toko); response.sendRedirect("admin_toko.jsp"); %>
89
4.3.8.5 Implementasi Program Hapus Data Toko
Jika admin menekan tombol hapus pada tabel data pelanggan yang ada
di halaman data toko, maka data toko yang dipilih akan langsung terhapus
dari tabel toko.
Listing program untuk menjalankan hapus data toko adalah sebagai
berikut :
%> <%@ page import ="java.sql.*" %> <%@ include file="koneksi/koneksi_crm.jsp" %> <% String ID_toko = request.getParameter("ID_toko"); String sqlHapus = "delete from ttoko where ID_toko='"+ID_toko+"'"; int hsilHapus = stmnt.executeUpdate(sqlHapus); stmnt.close(); response.sendRedirect("admin_toko.jsp"); %>
4.3.9 Data Transaksi
Administrator mempunyai wewenang untuk melakukan pengelolaan
data pada database. Dalam proses ini administrator bisa melakukan tugasnya
yaitu menambah dan melihat data transaksi.
Berikut adalah implementasi dan skrip untuk masing masing proses:
90
4.3.9.1 Implementasi Antarmuka dan Program Data Transaksi
Pada halaman ini, admin bisa melakukan tugasnya yaitu menambah
dan melihat data transaksi pelanggan. Implementasi antarmuka data transaksi
dapat dilihat pada gambar 4.14 :
Gambar 4.14 Halaman Data Transaksi
Listing Program untuk menampilkan halaman Data Transaksi adalah
sebagai berikut :
int pages; Statement stmntCount = koneksi_crm.createStatement(); String sqlCount = null; sqlCount = "Select count(*) as jumlah from tpelanggan"; ResultSet rsCount = stmntCount.executeQuery(sqlCount); rsCount.next(); pages = rsCount.getInt("jumlah"); out.println("Jumlah Pelanggan : " + pages + "<br>"); out.println("<br>"); out.println("Halaman :"); int cPage; int iHalaman; iHalaman = 10 ; cPage = (pages / iHalaman) + 1; if ((cPage * iHalaman) + 1 >= pages){ cPage++;}
91
int p; for(p = 1; p < cPage ; p++){ out.println("<a href=admin_pelanggan.jsp?mv=" + p + ">"+ p +"</a> | ");} out.println("<hr>"); // paging int cpage; int currentRs; String pt; pt = request.getParameter("mv"); if (pt == null){ currentRs = 0;} else{ cpage = Integer.parseInt((String)pt); currentRs = iHalaman * (cpage - 1); out.println("Halaman : "+cpage + "<br>"); out.println("<br>");} // nih untuk data pelanggan Statement stmntPel = koneksi_crm.createStatement(); String sqlPel = "select x.ID_pelanggan, x.nama_lkp, x.nama_kartu, x.tgl_lahir, x.jenis_kelamin, x.status_nikah,"; sqlPel = sqlPel+"x.no_KTP, x.alamat, x.no_tlp, x.email,"; sqlPel = sqlPel+"x.pend_terakhir,x.ibu_kandung, x.nama_sdr, x.alamat_sdr, x.hub_keluarga, x.notlp_sdr,"; sqlPel = sqlPel+"x.status_pkrjn, x.nama_prshn, x.alamat_prshn, x.tlp_kantor, x.fax_kantor, x.departemen,"; sqlPel = sqlPel+"x.lama_kerja, x.total_kerja, x.pendpt_kotor, x.jenis_kerja, x.jenis_usaha, x.jabatan,x.jml_karyawan, x.status_kerja"; sqlPel = sqlPel+" from tpelanggan x where (select count(*)from tpelanggan where ID_pelanggan < x.ID_pelanggan)"; if (currentRs == 0 ){ sqlPel = sqlPel + " < "+iHalaman ;} else{ sqlPel = sqlPel + " between " + currentRs + " and " + ((currentRs + iHalaman)-1) +" " ;} sqlPel = sqlPel + " order by x.ID_pelanggan asc "; ResultSet hasilQueryPel = null; hasilQueryPel = stmntPel.executeQuery(sqlPel);%> </td></tr></table> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"><tr> <td><div align="center"> <table width="524" border="0" align="center" class="tableForm"> <tr bgcolor="#996600"> <th width="110" background="images/top.jpg" class="TABLE_JUDUL">Kode</th> <th width="150" background="images/top.jpg" class="TABLE_JUDUL">Nama</th></tr><%
92
while (hasilQueryPel.next()){ String ID_pelanggan = hasilQueryPel.getString("ID_pelanggan"); String nama_lkp = hasilQueryPel.getString("nama_lkp"); String nama_kartu = hasilQueryPel.getString("nama_kartu"); String tgl_lahir= hasilQueryPel.getString("tgl_lahir"); String jenis_kelamin = hasilQueryPel.getString("jenis_kelamin"); String status_nikah = hasilQueryPel.getString("status_nikah"); String no_KTP = hasilQueryPel.getString("no_KTP"); String alamat = hasilQueryPel.getString("alamat"); String no_tlp = hasilQueryPel.getString("no_tlp"); String email = hasilQueryPel.getString("email"); String pend_terakhir = hasilQueryPel.getString("pend_terakhir"); String ibu_kandung = hasilQueryPel.getString("ibu_kandung"); String nama_sdr = hasilQueryPel.getString("nama_sdr"); String alamat_sdr = hasilQueryPel.getString("alamat_sdr"); String hub_keluarga = hasilQueryPel.getString("hub_keluarga"); String notlp_sdr = hasilQueryPel.getString("notlp_sdr"); String status_pkrjn= hasilQueryPel.getString("status_pkrjn"); String nama_prshn = hasilQueryPel.getString("nama_prshn"); String alamat_prshn = hasilQueryPel.getString("alamat_prshn"); String tlp_kantor = hasilQueryPel.getString("tlp_kantor"); String fax_kantor = hasilQueryPel.getString("fax_kantor"); String departemen = hasilQueryPel.getString("departemen"); String lama_kerja = hasilQueryPel.getString("lama_kerja"); String total_kerja = hasilQueryPel.getString("total_kerja"); String pendpt_kotor = hasilQueryPel.getString("pendpt_kotor"); String jenis_kerja= hasilQueryPel.getString("jenis_kerja"); String jenis_usaha = hasilQueryPel.getString("jenis_usaha"); String jabatan = hasilQueryPel.getString("jabatan"); String jml_karyawan = hasilQueryPel.getString("jml_karyawan"); String status_kerja = hasilQueryPel.getString("status_kerja");%> <tr bgcolor=#FFCC99> <td class="TABLE_ORDER"><%=ID_pelanggan%></td> <td class="TABLE_ORDER"><%=nama_lkp%></td> <td width="46" class="TABLE_KONFIRMASI"><% out.println("<a href=\"admin_transaksi_lihat.jsp?ID_pelanggan="+ID_pelanggan+"\">");%>Lihat</td> <td width="46" class="TABLE_KONFIRMASI"><% out.println("<a href=\"admin_transaksi_tambah.jsp?ID_pelanggan="+ID_pelanggan+"\">");%>Tambah</td></tr><% } %></table></div></td></tr></table> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"> <tr><td width="642"> <br><form name="form2" method="post" action="admin_transaksi_laporan.jsp"> <input name="Laporan Transaksi" type="submit" id="Laporan Transaksi" value="Laporan Transaksi"> </font></b> </td></tr></table></form> </td>
93
4.3.9.2 Implementasi Antarmuka dan Program Tambah Data Transaksi
Dengan memilih tambah pada salah satu nama pelanggan, maka akan
tertampil halaman tambah data transaksi sesuai dengan pelanggan yang
dipilih. Jika ingin kembali ke halaman data transaksi, admin harus menekan
tombol kembali, maka akan langsung tertampil halaman data transaksi.
Implementasi antarmuka tambah data transaksi dapat dilihat pada gambar
4.15 :
sebaga
Strinint toStrinStrindoubint poStateStrinID_to'"+tglstmttrespo
Gambar 4.15 Halaman Tambah Data Transaksi
Listing Program yang dijalankan untuk tambah data transakasi adalah
i berikut :
g idpelanggan = request.getParameter("idpelanggan"); talbelanja = Integer.parseInt(request.getParameter("totalbelanja")); g tgltrans = request.getParameter("tgltrans"); g toko = request.getParameter("toko"); le point = Math.floor(totalbelanja / 25000); in = (int)point; ment stmtt = koneksi_crm.createStatement(); g sql1 = "insert into ttransaksi set ID_pelanggan = '"+idpelanggan+"', ko = '"+toko+"',tgl_transaksi = trans+"',total_belanja='"+totalbelanja+"',point='"+poin+"'"; .executeUpdate(sql1); nse.sendRedirect("admin_transaksi.jsp");
94
4.3.9.3 Implementasi Antarmuka dan Program Lihat Data Transaksi
Dengan memilih lihat pada data transaksi, maka akan tertampil
halaman detil data transaksi sesuai pelanggan yang dipilih. Jika ingin kembali
ke halaman data transaksi, admin harus menekan tombol kembali maka akan
langsung tertampil halaman data transaksi. Implementasi antarmuka lihat
transaksi dapat dilihat pada gambar 4.16 :
Gambar 4.16 Halaman Lihat Data Transaksi
95
Listing program yang dijalankan untuk menapilkan lihat data transaksi
adalah sebagai berikut :
<% // nih untuk data transaksi int idpelanggan = Integer.parseInt(request.getParameter("ID_pelanggan")); Statement stmnt1 = koneksi_crm.createStatement(); String sql ="select * from tpelanggan where ID_pelanggan='"+idpelanggan+"'"; ResultSet rs = stmnt1.executeQuery(sql); while (rs.next()){
String ID_pelanggan = rs.getString("ID_pelanggan"); String nama_lkp = rs.getString("nama_lkp"); String alamat= rs.getString("alamat");
String no_tlp = rs.getString("no_tlp"); String email = rs.getString("email");
out.println("ID Pelanggan : "+ID_pelanggan+"<br>"); out.println("Nama : "+nama_lkp+"<br>"); out.println("Alamat : "+alamat+"<br>"); out.println("Telpon : "+no_tlp+"<br>"); out.println("Email : "+email+"<br><br><br><br><br>");} int ALL_total_belanja = 0; int ALL_point = 0; Statement stmntTok = koneksi_crm.createStatement(); String sqlTok = "select DATE_FORMAT(tgl_transaksi,'%d-%m-%Y') astgl, total_belanja, point, nama_toko from ttransaksi,ttoko where ttransaksi.ID_toko= ttoko.ID_toko and ID_pelanggan = '"+idpelanggan+"'"; ResultSet hasilQueryTok = null; hasilQueryTok = stmntTok.executeQuery(sqlTok); %> <% while (hasilQueryTok.next()){ String tgl_transaksi = hasilQueryTok.getString("tgl"); String nama_toko = hasilQueryTok.getString("nama_toko"); int total_belanja =Integer.parseInt(hasilQueryTok.getString("total_belanja")); int point = Integer.parseInt(hasilQueryTok.getString("point")); ALL_total_belanja = ALL_total_belanja + total_belanja; ALL_point = ALL_point + point; %>
96
4.3.9.4 Implementasi Antarmuka dan Program Laporan Transaksi
Dengan menekan tombol laporan transaksi pada data transaksi, maka
akan tertampil halaman laporan transaksi pelanggan. Pada halaman ini
terdapat dua tabel yaitu : tabel data toko berdasarkan urutan transaksi
terbanyak dan tabel daftar nama pelanggan berdasarkan urutan terbanyak
melakukan transaksi. Jika ingin kembali ke halaman data transaksi, admin
harus menekan data transaksi maka akan langsung tertampil halaman data
transaksi. Implementasi antarmuka laporan transaksi pelanggan dapat dilihat
pada gambar 4.17 :
Gambar 4.17 Halaman Laporan Transaksi Pelanggan
97
Listing program yang dijalankan untuk menampilkan laporan transaksi
pelanggan adalah sebagi berikut :
<% Statement stmntTok = koneksi_crm.createStatement(); String sqlTok = " select ttoko.nama_toko,count(ttransaksi.ID_toko)as jumlah from ttoko,ttransaksi where ttransaksi.ID_toko=ttoko.ID_toko group by ttransaksi.ID_toko order by jumlah desc "; ResultSet hasilQueryTok = null; hasilQueryTok = stmntTok.executeQuery(sqlTok); %></td></tr></table> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"><tr> <td><div align="center"> <strong>Daftar Toko Berdasar Transaksi Terbanyak</strong> <table width="300" border="0" align="center" class="tableForm"> <tr bgcolor="#996600"> <th width="30" background="images/top.jpg" class="TABLE_JUDUL">Nama Toko</th> <th width="80" background="images/top.jpg" class="TABLE_JUDUL">Jumlah</th></tr><% while (hasilQueryTok.next()){ String nama_toko = hasilQueryTok.getString("nama_toko"); String jumlah_trs = hasilQueryTok.getString("jumlah");%> <tr bgcolor=#FFCC99> <td class="TABLE_ORDER"><div align="left"><%= nama_toko%></div></td> <td class="TABLE_ORDER"><%= jumlah_trs %></td> </tr><% } %></table></div></td></tr><p> </p> <% //mulai %><% Statement stmntPel = koneksi_crm.createStatement(); String sqlPel = " select tpelanggan.nama_lkp,count(ttransaksi.ID_pelanggan)as jumlah from tpelanggan,ttransaksi where ttransaksi.ID_pelanggan=tpelanggan.ID_pelanggan group by ttransaksi.ID_pelanggan order by jumlah desc "; ResultSet hasilQueryPel = null; hasilQueryPel = stmntPel.executeQuery(sqlPel); %></td></tr></table> <table width="700" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><div align="center"> <strong>Daftar Pelanggan Berdasar Transaksi Terbanyak</strong> <table width="300" border="0" align="center" class="tableForm"> <tr bgcolor="#996600"> <th width="30" background="images/top.jpg" class="TABLE_JUDUL">Nama Pelanggan</th>
98
<th width="80" background="images/top.jpg" class="TABLE_JUDUL">Jumlah Transaksi</th> </tr> <% while (hasilQueryPel.next()) { String nama_lkp = hasilQueryPel.getString("nama_lkp"); String jumlah_trans = hasilQueryPel.getString("jumlah"); %> <tr bgcolor=#FFCC99> <td class="TABLE_ORDER"><div align="left"><%= nama_lkp%></div></td> <td class="TABLE_ORDER"><%= jumlah_trans %></td> </tr> <% } %>
BAB V
ANALISA HASIL
5.1 Hasil Pengujian Sistem
Sistem informasi pencatatan transaksi pelanggan pada pusat perbelanjaan
ini sudah bisa menampilkan halaman Laporan Transaksi Pelanggan yaitu berupa
tabel data toko berdasarkan urutan transaksi terbanyak dan tabel daftar nama
pelanggan berdasarkan urutan terbanyak melakukan transaksi berdasarkan dari
transaksi yang dilakukan oleh pelanggan dan toko, sehingga tujuan dari
pembuatan sistem ini sudah tercapai. Tampilan yang dimaksud adalah sebagai
berikut :
Gambar 5.1 Laporan Transaksi Pelanggan
99
100
5.2 Kelebihan Sistem
Kelebihan sistem informasi pencatatan transaksi pelanggan pada pusat
perbelanjaan ini antara lain :
1. Sistem informasi pencatatan transaksi pelanggan pada pusat perbelanjaan ini
berupa web, dengan menu-menu yang sederhana sehingga memudahkan
pemakai dalam menggunakannya .
2. Sistem informasi pencatatan transaksi pelanggan pada pusat perbelanjaan ini
memberikan kemudahan kepada pengelola pusat perbelanjaan yaitu admin
untuk mengelola data pelanggan, toko dan transaksi pada pusat perbelanjaan.
5.3 Kekurangan Sistem
Sistem informasi pencatatan transaksi pelanggan pada pusat perbelanjaan
ini memiliki kekurangan sebagai berikut :
1. Pelanggan hanya bisa melihat data transaksinya saja, dan nomer
pelanggan harus dimasukkan oleh admin, tidak bisa memasukkan
sendiri.
2. Tidak ada fasilitas pencarian (searching) untuk mencari data
pelanggan, toko, atau transaksi.
3. Sistem hanya bersifat single user.
BAB VI
PENUTUP
Dari sistem informasi pencatatan transaksi pelanggan pada pusat perbelanjaan
ini, dapat diambil kesimpulan dan saran.
5.1. Kesimpulan
Kesimpulan dari sistem yang telah dibuat adalah sebagai berikut:
1. Sistem informasi pencatatan transaksi pelanggan pada pusat
perbelanjaan memberi kemudahan administrator dalam mengelola dan
melakukan update data pelanggan.
2. Pengembangan sistem informasi pencatatan transaksi pelanggan pada
pusat perbelanjaan ini diharapkan dapat membantu pengelola pusat
perbelanjaan untuk mengetahui detail pelanggannya.
3. Pengelola pusat perbelanjaan dapat mengetahui pelanggan dan toko
mana saja yang sering melakukan transaksi, sehingga diharapkan bisa
melakukan pengembangan sistem berdasarkan hal tersebut.
5.2 Saran
Selanjutnya, agar sistem informasi ini menjadi lebih berkembang,
penulis mempunyai saran :
1. Dibuat kartu anggota untuk pelanggan agar memudahkan dalam
pengelolaan data pelanggan.
101
102
2. Dibuat menu pencarian/search. agar lebih mudah untuk mencari data
pelanggan, toko dan transaksi yang ada pada pusat perbelanjaan.
3. Sistem dibuat tidak hanya single user, sehingga pelanggan juga bisa
mengakses dengan mudah data transaksinya.
Penulis mengharapkan agar sistem informasi pencatatan transaksi
pelanggan pada pusat perbelanjaan ini nantinya dapat disempurnakan dengan
menambahkan fasilitas-fasilitas pendukung lainnya sesuai kebutuhan.
103
DAFTAR PUSTAKA
Budiharto, Widodo, 2005, Panduan lengkap Pemrograman J2EE, Andi Offset,
Yogyakarta
Budiharto, Widodo, 2004, Pemrograman Web Menggunakan J2EE, Penerbit PT
Elex Media Komputindo Kelompok Gramedia, Jakarta
A.S, Rosa, Shalahuddin, M, 2006, J2EE Dalam Aplikasi Enterprise, Penerbit
Informatika, Bandung
Jogiyanto, H. M., 1999, Analisis dan Disain Sistem Informasi : Pendekatan
Terstruktur Teori dan Praktek Aplikasi Bisnis, Andi Offset, Yogyakarta
Kristanto, Andri, 2004, Rekayasa Perangkat Lunak (Konsep Dasar), Penerbit
Gaya media, Yogyakarta
Sanjaya, Ridwan, 2005, Pengolahan Database MySQL 5 dengan Java 2 : disertai
Teknik Percetakan Laporan, Penerbit Andi, Yogyakarta
Supriyanto, Aji, 2005, Pengantar Teknologi Informasi, Penerbit Salemba Infotek,
Jakarta
Haryanto, Steven, 2005, Kumpulan Resep Query Menggunakan MySQL, Penerbit
Dian Rakyat , Jakarta
Nugroho, Bunafit, 2004, Database Relasional dengan MySQL, Penerbit Andi,
Yogyakarta