ABSTRAK
PT. Armada International Motor (AIM) merupakan salah satu anak
perusahaan dari New Armada Group (PT. Mekar Armada Jaya) Magelang yang
bekerja di bidang karoseri untuk merk mobil Isuzu dan Daihatsu. Dalam
penyimpanan data, PT. AIM masih melakukannya secara manual. Cara seperti ini
dianggap kurang efisien karena prosesnya lama dan tidak menutup kemungkinan
adanya kesalahan karena faktor human error.
Berdasarkan latar belakang tersebut, perlu dibuat sebuah Aplikasi Penjualan
Mobil Berbasis Web yang dapat membantu serta mempercepat pekerjaan para
staff perusahaan. Aplikasi tersebut diimplementasikan dengan menggunakan
bahasa pemrograman PHP dan basis data MySQL.
Hasil akhirnya adalah Aplikasi Penjualan Mobil Berbasis Web yang telah
dibuat memiliki kemampuan mengolah data secara cepat dan akurat. Lewat
sebuah pengujian sederhana terbukti bahwa aplikasi tersebut secara umum mampu
ABSTRACT
PT. Armada International Motor (AIM) is a subsidiary of New Armada
Group (PT. Mekar Armada Jaya) Magelang, which is working on making the
body’s car for the brand Isuzu and Daihatsu. PT. AIM is still doing data storage
manually which is considered less efficient because the process is long and
doesn’t count the possibility of mistakes caused by human error.
Considering about the background, it is necessary to built a Web Based-Car
Sales Application to assist and speed up the staff’s work. This application is
implemented using PHP programming language and MySQL database.
The final result is this Web-Based Car Sales Applications has the ability to
process the data quickly and accurately. Based on a simple test, this application
i
APLIKASI PENJUALAN MOBIL BERBASIS WEB Studi Kasus : PT. Armada International Motor (AIM) Magelang
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh :
Dwi Intan Setiadewi NIM : 105314012
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
ii
CAR SALES APPLICATIONS WEB-BASED
Case Study : PT. Armada International Motor (AIM) Magelang
A THESIS
Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana Komputer Degree
in Informatics Engineering Study Program
By :
Dwi Intan Setiadewi 105314012
INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
iii
HALAMAN PERSETUJUAN
SKRIPSI
APLIKASI PENJUALAN MOBIL BERBASIS WEB
Studi Kasus : PT. Armada International Motor (AIM) Magelang
Dipersiapkan dan ditulis oleh :
Dwi Intan Setiadewi
NIM : 105314012
Telah disetujui oleh :
Dosen Pembimbing
iv
HALAMAN PENGESAHAN SKRIPSI
APLIKASI PENJUALAN MOBIL BERBASIS WEB
Studi Kasus : PT. Armada International Motor (AIM) Magelang
Dipersiapkan dan Ditulis Oleh :
Dwi Intan Setiadewi 105314012
Telah dipertahankan di depan panitia penguji
pada tanggal 13 Januari 2017
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua Drs. Haris Sriwindono, M.Kom. ...
Sekretaris Iwan Binanto, M.Cs. ...
Anggota Agnes Maria Polina, S.Kom., M.Sc. ...
Yogyakarta, 24 Februari 2017 Fakultas Sains dan Teknologi
Universitas Sanata Dharma Dekan,
v
HALAMAN PERSEMBAHAN
Kerjakan bagian kita dengan setia dan lihatlah,
Tuhan akan mengerjakan bagian-Nya dengan sempurna
Karya ini kupersembahkan kepada :
Papa & Almh. Mama tercinta yang selalu mendoakan dan mendukung aku;
Yiyin, kakakku tersayang dengan segala kecerewetannya;
segenap keluarga besar Tjioe & Liem;
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa di dalam 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, 22 Februari 2017
Penulis
vii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN PUBLIKASI
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Dwi Intan Setiadewi
Nomor Mahasiswa : 105314012
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
APLIKASI PENJUALAN MOBIL BERBASIS WEB Studi Kasus : PT. Armada International Motor (AIM) Magelang
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal : 22 Februari 2017
Yang menyatakan,
viii
ABSTRAK
PT. Armada International Motor (AIM) merupakan salah satu anak
perusahaan dari New Armada Group (PT. Mekar Armada Jaya) Magelang yang
bekerja di bidang karoseri untuk merk mobil Isuzu dan Daihatsu. Dalam
penyimpanan data, PT. AIM masih melakukannya secara manual. Cara seperti ini
dianggap kurang efisien karena prosesnya lama dan tidak menutup kemungkinan
adanya kesalahan karena faktor human error.
Berdasarkan latar belakang tersebut, perlu dibuat sebuah Aplikasi Penjualan
Mobil Berbasis Web yang dapat membantu serta mempercepat pekerjaan para
staff perusahaan. Aplikasi tersebut diimplementasikan dengan menggunakan
bahasa pemrograman PHP dan basis data MySQL.
Hasil akhirnya adalah Aplikasi Penjualan Mobil Berbasis Web yang telah
dibuat memiliki kemampuan mengolah data secara cepat dan akurat. Lewat
sebuah pengujian sederhana terbukti bahwa aplikasi tersebut secara umum mampu
ix
ABSTRACT
PT. Armada International Motor (AIM) is a subsidiary of New Armada
Group (PT. Mekar Armada Jaya) Magelang, which is working on making the body’s car for the brand Isuzu and Daihatsu. PT. AIM is still doing data storage manually which is considered less efficient because the process is long and doesn’t count the possibility of mistakes caused by human error.
Considering about the background, it is necessary to built a Web Based-Car Sales Application to assist and speed up the staff’s work. This application is implemented using PHP programming language and MySQL database.
The final result is this Web-Based Car Sales Applications has the ability to
x
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas limpahan kasih dan
rahmat-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “APLIKASI
PENJUALAN MOBIL BERBASIS WEB”. Skripsi ini disusun dalam rangka
memenuhi salah satu syarat untuk memperoleh gelar Sarjana Komputer (S. Kom)
di Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
Selama proses penyusunan skripsi ini, penulis mendapatkan bantuan dari
berbagai pihak. Oleh karena itu, penulis mengucapkan terima kasih kepada :
1. Sudi Mungkasi, S.Si., M.Math., Sc., Ph.D., selaku Dekan Fakultas Sains
dan Teknologi Universitas Sanata Dharma.
2. Dr. Anastasia Rita Widiarti, selaku Ketua Program Studi Teknik
Informatika Universitas Sanata Dharma.
3. Agnes Maria Polina, S. Kom., M. Sc., selaku dosen pembimbing atas
kesediaannya dalam memberikan arahan, dukungan, dan saran dalam
penyusunan skripsi ini.
4. Drs. Haris Sriwindono, M.Kom., selaku dosen penguji atas masukan kritik
dan saran kepada penulis.
5. Iwan Binanto, M.Cs., selaku dosen penguji atas masukan kritik dan saran
kepada penulis.
6. Orang tuaku, Tjioe Chon Wee dan Almh. Liem Djoen Hwa yang selalu
menyertai dan membimbing dalam setiap waktu.
7. Kakak serta kakak ipar tersayang, Yiyin dan Ko Budi yang selalu
memberikan dukungan semangat, doa, dan perhatiannya kepada penulis.
8. Mas Soesilo, Mas Yanuar, Mas Danang, dan segenap laboran Teknik
Informatika Fakultas Sains dan Teknologi yang telah membantu selama
proses pengerjaan skripsi di laboratorium.
9. Gilang, Anggit, Pebo, Monic, atas bantuan dan dukungan selama proses
xi
10. Seto, atas bantuan dan dukungan dalam pengkoreksian penomoran
dokumen skripsi ini.
11. Boas, Sita, Maleh, Ius, Agus, atas doa, dukungan semangat, perjuangan
dan kerjasama, serta persahabatan selama ini.
12. Ardi, atas perjuangan dan kerjasamanya dalam berbagai kesempatan.
13. Albert, atas doa dan semangat yang diberikan serta kesediaanya menemani
dan menjadi tempat bercerita.
14. Teman-teman @_HMPS Teknik Informatika 2010, atas kebersamaannya
selama kuliah dan praktikum.
15. Semua pihak yang tidak dapat penulis sebutkan satu per satu, yang telah
membantu dalam proses penyusunan skripsi ini.
Akhir kata, penulis menyadari bahwa masih banyak kekurangan dalam
penyusunan skripsi ini mengingat keterbatasan dan kemampuan penulis. Oleh
karena itu, penulis mengharapkan kritik dan saran yang membangun dari semua
pihak. Semoga skripsi ini dapat memberikan manfaat bagi pembaca dan
mendukung perkembangan ilmu pengetahuan.
Penulis,
xii
DAFTAR ISI
APLIKASI PENJUALAN MOBIL BERBASIS WEB... i
CAR SALES APPLICATIONS WEB-BASED ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN SKRIPSI ... iv
HALAMAN PERSEMBAHAN ... v
PERNYATAAN KEASLIAN KARYA ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN PUBLIKASI ... vii
ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xvi
DAFTAR TABEL ... xix
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan Penelitian ... 2
1.4. Batasan Masalah ... 2
1.5. Metodologi Penelitian ... 2
1.6. Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 5
xiii
2.1. Aplikasi ... 5
2.1.1. Pengertian Aplikasi ... 5
2.2. Penjualan ... 5
2.2.1. Pengertian Penjualan ... 5
2.2.2. Jenis Penjualan ... 6
2.2.3. Faktor yang Mempengaruhi Penjualan ... 7
2.3. Web Server ... 8
2.4. Browser ... 8
2.5. HTTP (Hyper Text Transfer Protocol) ... 9
2.6. XAMPP ... 9
2.7. HTML (Hypertext Markup Language) ... 9
2.8. PHP (Hypertext Preprocessors) ... 9
2.9. MySQL ... 10
2.9.1. Pengertian MySQL ... 10
2.9.2. Kelebihan MySQL ... 10
2.9.3. Perintah-perintah MySQL ... 11
2.9.4. Komponen-komponen dalam MySQL ... 11
2.10. Basis Data ... 12
2.10.1. Tahap-tahap Perancangan Database ... 12
2.10.2. Pemodelan Data ... 14
2.11. Model Waterfall ... 16
BAB III ANALISA DAN PERANCANGAN SISTEM ... 20
3.1. Analisa Sistem ... 20
3.1.1. Gambaran Umum Sistem Lama ... 20
xiv
3.2. Analisa Kebutuhan Pengguna... 21
3.2.1. Definisi Aktor ... 21
3.2.2. Use Case Diagram ... 23
3.2.3. Pemrosesan Data ... 23
3.2.4. Pemodelan Proses ... 24
3.3. Perancangan Sistem ... 27
3.3.1. Perancangan Basis Data ... 27
3.3.2. Perancangan Interface ... 31
BAB IV IMPLEMENTASI SISTEM ... 36
4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak ... 36
4.2. Implementasi Basis Data ... 36
4.3. Implementasi Sistem ... 38
4.3.1. Halaman Login ... 38
4.3.2. Halaman Login Admin ... 38
4.3.3. Halaman Petugas ... 38
4.3.4. Halaman Tambah Data Petugas ... 39
4.3.5. Halaman Ubah Data Petugas ... 39
4.3.6. Halaman Sales ... 40
4.3.7. Halaman Tambah Data Sales ... 40
4.3.8. Halaman Ubah Data Sales ... 41
4.3.9. Halaman Kelola Data Tipe Mobil ... 42
4.3.10. Halaman Tambah Data Tipe Mobil ... 42
4.3.11. Halaman Ubah Data Tipe Mobil ... 43
4.3.12. Halaman Kelola Data Varian Mobil ... 43
xv
4.3.14. Halaman Ubah Data Varian Mobil ... 45
4.3.15. Halaman Login Petugas Penjualan ... 45
4.3.16. Halaman Kelola Data Customer... 46
4.3.17. Halaman Tambah Data Customer ... 46
4.3.18. Halaman Ubah Data Customer... 47
4.3.19. Halaman Tambah Penjualan Mobil ... 48
4.3.20. Halaman Data Penjualan Mobil ... 49
4.3.21. Halaman Cetak Laporan Berdasarkan Kepemilikan Mobil ... 50
4.3.22. Halaman Cetak Laporan Berdasarkan Penjualan Per Sales ... 53
4.3.23. Halaman Cetak Laporan Berdasarkan Penjualan Per Varian Mobil 56 BAB V ANALISA HASIL ... 60
5.1. Analisa Hasil Perangkat Lunak (Pengujian Alpha) ... 60
5.2. Kelebihan dan Kekurangan Sistem ... 60
5.2.1. Kelebihan ... 60
5.2.2. Kekurangan ... 60
BAB VI PENUTUP ... 61
6.1 Kesimpulan ... 61
6.2 Saran ... 61
xvi
DAFTAR GAMBAR
Gambar 2. 1 Tahap Perancangan Database ... 13
Gambar 2. 2 Contoh Entity Mahasiswa... 14
Gambar 2. 3 Contoh Atribute Mahasiswa ... 14
Gambar 2. 4 Contoh Relationship (hubungan) ... 15
Gambar 2. 5 Simbol-simbol DFD ... 16
Gambar 2. 6 Model Waterfall ... 17
Gambar 3. 1 Use Case Diagram ... 23
Gambar 3. 2 Diagram Konteks... 24
Gambar 3. 3 Diagram Berjenjang ... 24
Gambar 3. 4 Overview DFD Level 0 ... 25
Gambar 3. 5 DFD Level 1 Proses Pendataan ... 25
Gambar 3. 6 DFD Level 1 Proses Penjualan Mobil ... 26
Gambar 3. 7 DFD Level 1 Proses Kelola Laporan ... 26
Gambar 3. 8 ER Diagram ... 27
Gambar 3. 9 Database Logical Design ... 28
Gambar 3. 10 Interface Halaman Login ... 31
Gambar 3. 11 Interface Halaman Kelola Data Petugas ... 31
Gambar 3. 12 Interface Halaman Input Data Petugas... 31
Gambar 3. 13 Interface Halaman Ubah Data Petugas ... 32
Gambar 3. 14 Interface Halaman Kelola Data Sales ... 32
Gambar 3. 15 Interface Halaman Input Data Sales... 32
xvii
Gambar 3. 16 Interface Halaman Ubah Data Sales ... 33
Gambar 3. 17 Interface Halaman Kelola Data Tipe Mobil ... 33
Gambar 3. 18 Interface Halaman Input Data Tipe Mobil ... 33
Gambar 3. 19 Interface Halaman Ubah Data Tipe Mobil ... 34
Gambar 3. 20 Interface Halaman Kelola Data Varian Mobil ... 34
Gambar 3. 21 Interface Halaman Input Data Varian Mobil ... 34
Gambar 3. 22 Interface Halaman Ubah Data Varian Mobil ... 35
Gambar 4. 1 Halaman Login ... 38
Gambar 4. 2 Halaman Login Admin ... 38
Gambar 4. 3 Halaman Petugas ... 38
Gambar 4. 4 Halaman Tambah Data Petugas ... 39
Gambar 4. 5 Halaman Ubah Data Petugas ... 39
Gambar 4. 6 Halaman Sales ... 40
Gambar 4. 7 Halaman Tambah Data Sales ... 40
Gambar 4. 8 Halaman Ubah Data Sales ... 41
Gambar 4. 9 Halaman Kelola Data Tipe Mobil ... 42
Gambar 4. 10 Halaman Tambah Data Tipe Mobil ... 42
Gambar 4. 11 Halaman Ubah Data Tipe Mobil ... 43
Gambar 4. 12 Halaman Kelola Data Varian Mobil... 43
Gambar 4. 13 Halaman Tambah Data Varian Mobil ... 44
Gambar 4. 14 Halaman Ubah Data Varian Mobil... 45
Gambar 4. 15 Halaman Login Petugas Penjualan ... 45
Gambar 4. 16 Halaman Kelola Data Customer ... 46
xviii
Gambar 4. 18 Halaman Ubah Data Customer ... 47
Gambar 4. 19 Halaman Tambah Penjualan Mobil ... 48
Gambar 4. 20 Halaman Data Penjualan Mobil ... 49
Gambar 4. 21 Halaman Cetak Laporan Berdasarkan Kepemilikan Mobil ... 50
Gambar 4. 22 Halaman Cetak Laporan Berdasarkan Penjualan Per Sales ... 53
xix
DAFTAR TABEL
Tabel 3. 1 Tabel petugas ... 29
Tabel 3. 2 Tabel sales ... 29
Tabel 3. 3 Tabel tipe_mobil ... 29
Tabel 3. 4 Tabel varian_mobil ... 29
Tabel 3. 5 Tabel customer ... 30
Tabel 3. 6 Tabel mobil ... 30
1
BAB I PENDAHULUAN
1.1. Latar Belakang
Dewasa ini banyak ditemukan perusahaan-perusahaan besar sudah
menggunakan berbagai aplikasi-aplikasi yang canggih untuk menunjang
hasil kinerja perusahaan agar lebih maksimal dan mengurangi human
error. New Armada (PT. Mekar Armada Jaya) Magelang merupakan salah
satu perusahaan karoseri terbesar di Asia. Perusahaan ini memiliki lebih
dari 30 grup seperti PT. Armada International Motor (AIM), Armada
Swalayan, Armada Finance, dan lain sebagainya. New Armada terus meningkatkan kinerja perusahaan dengan filosofi “5K” (Konsumen, Karakter, Kerja Tim, Kemitraan, dan Kembangkan Diri) untuk mencapai
tujuan perusahaan yaitu “TO BE NUMBER ONE”.
PT. AIM merupakan salah satu anak perusahaan dari New Armada
Group yang bekerja di bidang karoseri untuk merk mobil Isuzu dan
Daihatsu. Selama ini untuk menunjang agar perusahaannya tetap bertahan
di dunia bisnis, perusahaan ini sudah menggunakan banyak
aplikasi-aplikasi canggih untuk mempercepat proses pekerjaan agar lebih maksimal
dan mengurangi human error yang sering terjadi. Akan tetapi pada PT.
AIM ini, untuk penyimpanan data customer seperti kepemilikan mobil,
data servis, dan data spare part masih dilakukan secara manual dengan
menggunakan kertas.
Selama ini PT. AIM hanya menggunakan software Microsoft Excel
untuk penyimpanan data berbasis komputer. Hal ini mengakibatkan sering
terjadi kesalahan dalam memasukkan data dan keterlambatan dalam
pembuatan laporan customer. Berangkat dari masalah tersebut, maka
perusahaan ini membutuhkan aplikasi yang bisa membantu mempercepat
hasil kinerjanya dan mengurangi human error. PT. AIM ini membutuhkan
pembuatan laporan yang bisa dicetak. Dari latar belakang tersebut, penulis
tertarik untuk membangun Aplikasi Penjualan Mobil Berbasis Web dengan
menggunakan bahasa pemrograman PHP dan DBMS MySQL.
1.2. Rumusan Masalah
Berdasarkan kasus yang ada maka permasalahan dapat dirumuskan
menjadi “Bagaimana membangun aplikasi penjualan mobil yang sesuai untuk PT. Armada International Motor (AIM) Isuzu Magelang?”
1.3. Tujuan Penelitian
Tugas akhir ini mempunyai tujuan yaitu merancang dan
membangun sebuah aplikasi penjualan mobil yang dapat membantu staff
perusahaan dalam mempercepat proses agar lebih efisien dan mengurangi
human error yang sering terjadi.
1.4. Batasan Masalah
Untuk tidak memperluas area pembahasan, perlu adanya
batasan-batasan untuk menyederhanakan permasalahan, yaitu :
1. Data yang digunakan dalam pembangunan aplikasi ini berasal dari PT.
AIM (Armada International Motor) Isuzu Magelang, meliputi data
mobil, penjualan, sales, customer, dan petugas.
2. Aplikasi dibangun menggunakan bahasa pemrograman PHP dan
database MySQL.
3. Studi kasus di PT. AIM (Armada International Motor) Isuzu Magelang.
1.5. Metodologi Penelitian
Metodologi yang digunakan penulis dalam melaksanakan penelitian
ini adalah studi kasus dengan tahapan-tahapan yang dijabarkan sebagai
3
1. Survei awal
Dilakukan survei awal dengan mengunjungi perusahaan PT. AIM Isuzu
Magelang untuk mengetahui gambaran secara umum tentang pengelolaan
data dan masalah-masalah yang dihadapai saat ini.
2. Studi pustaka
Studi pustaka dilakukan dengan mempelajari teori mengenai bahasa
pemrograman PHP, database MySQL, serta mencari informasi-informasi
lain yang mendukung dalam pembuatan aplikasi ini.
3. Pembangunan aplikasi
Pembangunan aplikasi penjualan mobil ini menggunakan metode
rekayasa perangkat lunak secara terstruktur, yaitu metode Waterfall
(Sommerville, 2001) dengan tahap-tahap sebagai berikut :
a. Requirements analysis and definition
Pada tahap ini dilakukan pengumpulan data-data yang berkaitan
dengan pembuatan sistem ini yaitu : data-data tipe mobil, varian
mobil, sales, petugas, customer, dan penjualan mobil.
b. System and software design
Setelah kebutuhan dapat dianalisa dan didefinisikan kemudian
dilakukan desain sistem meliputi desain proses, desain antarmuka
(interface) dan perancangan sistem.
c. Implementation and unit testing
Dalam tahap ini seluruh desain yang telah dibuat kemudian di
implementasikan dengan bahasa pemrograman PHP dan MySQL
sebagai pengelola database. Program yang dibangun langsung diuji
pada setiap unit modul program maupun secara keseluruhan apakah
hasil sudah sesuai dengan yang diinginkan.
1.6. Sistematika Penulisan
Sistematika penulisan yang digunakan dalam penulisan tugas akhir
a. BAB I : PENDAHULUAN
Pada bab ini berisikan tentang latar belakang, rumusan masalah,
tujuan penelitian, batasan masalah, metodologi penelitian, dan
sistematika penulisan.
b. BAB II : LANDASAN TEORI
Bab ini berisikan penjelasan tentang prinsip dan konsep dasar yang
diperlukan untuk merancang dan membangun Aplikasi Penjualan
Mobil, meliputi : aplikasi, penjualan, web server, browser, Hyper
Text Transfer Protocol (HTTP), XAMPP, Hypertext Markup Language (HTML), Hypertext Preprocessors (PHP), MySQL, Basis
Data (database), Model Waterfall.
c. BAB III : ANALISA DAN PERANCANGAN SISTEM
Bab ini membahas mengenai analisis dan perancangan sistem yang
dibangun, meliputi : gambaran umum sistem, analisa kebutuhan,
pemodelan proses, pemodelan data, perancangan database, dan
perancangan antarmuka.
d. BAB IV : IMPLEMENTASI SISTEM
Bab ini berisikan implementasi dari hasil perancangan ke dalam
bahasa pemrograman PHP dan DBMS MySQL.
e. BAB V : ANALISA HASIL
Bab ini berisi analisa dari hasil pembuatan sistem. Pada bab ini
dibahas tentang hasil pengujian-pengujian sistem secara α tes untuk melihat kelebihan dan kekurangan sistem.
f. BAB VI : PENUTUP
Bab ini berisi tentang kesimpulan yang diperoleh mengenai sistem
yang telah dibangun dan saran untuk pengembangan sistem yang
5
BAB II
LANDASAN TEORI
2.1. Aplikasi
2.1.1. Pengertian Aplikasi
Aplikasi berasal dari kata application yang artinya penerapan,
lamaran, penggunaan. Secara istilah aplikasi adalah program siap pakai
yang dibuat untuk melaksanakan suatu fungsi bagi pengguna atau
aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju.
Aplikasi bisa dikatakan suatu perangkat lunak yang siap pakai
dengan menjalankan instruksi-instruksi dari pengguna (user), aplikasi
banyak diciptakan untuk membantu berbagai keperluan, seperti contoh :
membuat laporan, percetakan dan lain-lain.
Pengertian aplikasi adalah program siap pakai yang dapat
digunakan untuk menjalankan perintah-perintah dari pengguna aplikasi
tersebut dengan tujuan mendapatkan hasil yang lebih akurat sesuai
dengan tujuan pembuatan aplikasi tersebut. Aplikasi mempunyai arti
yaitu pemecahan masalah yang menggunakan salah satu teknik
pemrosesan data aplikasi yang biasanya berpacu pada sebuah
komputasi yang diinginkan atau diharapkan maupun pemrosesan data
yang diharapkan.
2.2. Penjualan
2.2.1. Pengertian Penjualan
Penjualan adalah kegiatan yang terpadu untuk mengembangkan
rencana-rencana strategis yang diarahkan kepada usaha pemuasan
kebutuhan serta keinginan pembeli / konsumen, guna untuk
mendapatkan penjualan yang menghasilkan laba atau keuntungan. Atau
dilakukan oleh 2 (dua) belah pihak/lebih dengan menggunakan alat
pembayaran yang sah. Penjualan juga merupakan salah satu sumber
pendapatan seseorang atau suatu perusahaan yang melakukan transaksi
jual & beli, dalam suatu perusahaan apabila semakin besar penjualan
maka akan semakin besar pula pendapatan yang diperoleh seseorang
atau perusahaan tersebut.
Tujuan penjualan adalah tujuan utama dari penjualan yaitu
mendatangkan keuntungan atau laba dari produk-produk atau jasa yang
dihasilkan produsennya dengan pengelolaan yang baik dan juga
mengharapkan keuntungan yang sebesar-besarnya. Akan tetapi hal ini
perlu peningkatan kinerja dari pihak distributor dalam menjamin
mutudan kualitas barang ataupun jasa yang akan di jual. Mencapai
suatu tujuan yaitu dalam perusahaan setiap penjualan harus mempunyai
tujuan penjualan yang dicapai.
Syarat penjualan adalah harus ada penjual dan juga ada
pembelinya, harus ada barang, jasa dan sebagainya yang akan dijual
lalu harus ada juga alat tukar yang sah.
2.2.2. Jenis Penjualan
Ada beberapa jenis penjualan menurut Basu Swasta (1998 : 11) yaitu :
Trade Selling
Dapat terjadi bilamana produsen dan pedagang besar
mempersilahkan pengecer untuk berusaha memperbaiki distributor
produk-produk mereka. Hal ini melibatkan para penyalur dengan
kegiatan promosi, peragaan, persediaan dan pengadaan produk
baru, jadi titik beratnya pada “ penjualan melalui †penyalur daripada “ penjual ke †pembeli terakhir.
Missionary Selling
Dalam missionary selling penjualan berusaha ditingkatkan dengan
7
perusahaan. Dalam hal ini perusahaan yang bersangkutan memiliki
penyalur sendiri dalam pendistribusian produknya.
Technical Selling
Berusaha meningkatkan penjualan dengan pemberian saran dan
nasehat pada pembeli akhir dari barang dan jasanya dengan
menunjukkan bagaimana produk dan jasa yang ditawarkan dapat
mengatasi masalah tersebut.
New Business Selling
Berusaha membuka transaksi baru dengan merubah calon pembeli
menjadi pembeli. Jenis penjualan ini sering dipakai oleh
perusahaan asuransi.
Responsive Selling
Dua jenis penjualan utama disini adalah “route, driving†dan
“retaillingâ€. Jenis penjualan seperti ini tidak akan menciptakan penjualan yang terlalu besar meskipun layanan yang baik dan
hubungan pelanggan yang menyenangkan dapat menjurus pada
pembeli ulang.
2.2.3. Faktor yang Mempengaruhi Penjualan
Dalam prakteknya perencanaan penjualan itu dipengaruhi oleh
beberapa faktor. Menurut Basu Swastha (1998 : 129) faktor-faktor tersebut
yaitu :
1. Kondisi dan kemampuan penjual
Transaksi jual beli merupakan pemindahan hak milik secara komersial
atas barang dan jasa, pada prinsipnya melibatkan dua pihak yaitu
penjual sebagai pihak pertama dan pembeli sebagai pihak kedua.
2. Kondisi pasar
Pasar sebagai kelompok pembeli atau pihak yang menjadi sasaran
3. Modal
Akan lebih sulit bagi penjual untuk menjual barangnya apabila barang
yang dijual itu belum dikenal oleh pembeli atau apabila lokasi pembeli
jauh dari tempat penjual dalam keadaan seperti ini, penjual harus
memperkenalkan dahulu / membawa barangnya ketempat pembeli.
4. Kondisi organisasi perusahaan
Pada perusahaan besar biasanya masalah penjualan ditangani oleh
bagian penjualan yang dipegang oleh orang-orang tertentu / ahli di
bidang penjualan. Lain halnya dengan perusahaan kecil
masalah-masalah penjualan ditangani oleh orang-orang yang juga melakukan
fungsi lain.
5. Faktor lain
Faktor-faktor yang sering mempengaruhi penjualan yaitu perikalanan,
peragaan, kampanye, dan pemberian hadiah. Namun untuk
melaksanakannya diperlukan dana yang tidak sedikit.
2.3. Web Server
Web server adalah sebuah komputer yang menjadi pusat kegiatan
yang melayanani satu atau lebih permintaan jaringan, web server
merupakan tempat file – file yang hypertext, grafis dan semua content dari
suatu situs, setiap permintaan URL akan diproses di web server, web
server akan mencari data dari url yang diminta lalu kembali
mengirimkannya kepada komputer client (Nugroho, 2008).
2.4. Browser
Browser adalah sebuah perangkat lunak yang digunakan untuk
menerjemahkan bahasa hypertext untuk ditampilkan pada layar komputer
client (Nugroho, 2008). Browser dapat mengakses, menerjemahkan lalu
9
2.5. HTTP (Hyper Text Transfer Protocol)
Hyper Text Transfer Protocol (HTTP) adalah suatu protokol yang
perlu diikuti oleh web browser dalam meminta atau mengambil suatu
dokumen yang disediakan web server. Protokol ini merupakan protokol
standar yang digunakan untuk mengakses web pages.
2.6. XAMPP
XAMPP merupakan paket PHP yang berbasis open source yang
dikembangkan oleh sebuah komunitas Open Source. Nama XAMPP
merupakan singkatan dari X (empat sistem operasi apapun), Apache,
MySQL, PHP dan Perl. Sedangkan fungsi dari XAMPP itu sendiri adalah
sebagai server yang berdiri sendiri (localhost), yang terdiri atas program
Apache HTTP Server, MySQL database, dan penerjemah bahasa yang
ditulis dengan bahasa pemrograman PHP dan Perl.
2.7. HTML (Hypertext Markup Language)
Hypertext Markup Language (HTML) adalah bahasa pemrograman
yang digunakan di web, dalam format dokumen dan menghubungkan
dynamic hypertext ke dokumen lain yang tersimpan di komputer lain
(Turban, 2005). Saat ini telah banyak paket aplikasi yang dapat digunakan
untuk membuat halaman web secara WTSIWYG (What You See Is What
You Get) seperti Frontpage, Dreamweaver, Netscape Composer, dan masih
banyak lagi.
2.8. PHP (Hypertext Preprocessors)
Jika diartikan PHP memiliki beberapa pandangan dalam
mengartikannya, akan tetapi kurang lebih PHP dapat kita ambil arti
sebagai PHP: Hypertext Preprocessor. Ini merupakan bahasa yang hanya
dapat berjalan pada server dan hasilnya dapat di tampilkan pada client
PHP adalah bahasa pemograman yang berbentuk skrip yang
diletakan di dalam web server. Skrip tersebut sebenarnya dimaksudkan
untuk digunakan sebagai keperluan membuat website pribadi. Akan tetapi
kemudian dikembangkan lagi sehingga menjadi bahasa yang disebut “Personal Home Page”. Pada prinsipnya, PHP mempunyai fungsi yang sama dengan skrip seperti ASP (Actives Server Page), Cold Fusion,
ataupun Perl.
2.9. MySQL
2.9.1. Pengertian MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis
data SQL atau DBMS (Database Management System) yang multithread,
multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB
membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi
GNU General Public License (GPL), tetapi mereka juga menjual dibawah
lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok
dengan penggunaan GPL.
MySQL sebenarnya merupakan turunan salah satu konsep utama
dalam database sejak lama, yaitu SQL (Structured Query Language). SQL
adalah sebuah konsep pengoperasian database, terutama untuk pemilihan
atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data
dikerjakan dengan mudah secara otomastis.
2.9.2. Kelebihan MySQL
Menurut Sukarno (2006) yang menyebabkan MySQL sangat
populer di masyarakat adalah :
MySQL tersedia di berbagai platform, baik untuk Linux maupun
11
Fitur-fitur yang dimiliki MySQL sangat banyak dibutuhkan dalam aplikasi web.
MySQL memiliki overhead koneksi yang rendah. Karakteristik inilah yang menjadikan MySQL cocok bekerja dengan aplikasi CGI, dimana
setiap request script akan melakukan koneksi, mengirimkan satu atau
lebih perintah SQL, lalu memutuskan koneksi lagi.
2.9.3. Perintah-perintah MySQL
Secara garis besar perintah dalam SQL dibagi menjadi dua bentuk
perintah, yaitu :
1. DDL (Data Definition Language)
Adalah bentuk bahasa yang digunakan untuk pendefinisian data.
Contohnya : CREATE, DROP, ALTER.
2. DML (Data Manipulation Language)
Adalah suatu bahasa yang digunakan untuk memanipulasi data.
Contohnya : SELECT, INSERT, UPDATE, DELETE.
2.9.4. Komponen-komponen dalam MySQL
Terdapat beberapa komponen penting dalam MySQL, yaitu :
Database, obyek-obyek yang digunakan untuk mewakili,
menyimpan dan mengakses data.
Tabel, menyimpan record-record data dan hubungannya dengan
tabel lain.
Indexs, file-file tambahan yang meningkatkan kecepatan akses dari
record-record tabel.
View, menyediakan cara melihat data yang berbeda di dalam satu
atau lebih tabel.
Stored Procedure, program-program Transact-SQL yang disimpan
di dalam server yang menjalankan tugas-tugas yang telah
Trigger, sebuah jenis prosedur tersimpan khusus yang secara
otomatis dijalankan apabila operasi tertentu dilakukan dalam tabel.
2.10. Basis Data
Basis data (database) adalah kumpulan data yang saling berelasi.
Data sendiri merupakan fakta mengenai obyek, orang dan lain-lain. Data
dinyatakan dengan nilai angka, deretan karakter atau simbol (Kusrini,
2007).
2.10.1.Tahap-tahap Perancangan Database
Permasalahan dalam perancangan database adalah bagaimana
merancang struktur logikal dan fisikal dari satu atau lebih database untuk
memenuhi kebutuhan informasi yang diperlukan oleh pengguna sesuai
dengan aplikasi-aplikasi yang ditentukan (Waliyanto, 2000).
Dengan permasalahan tersebut dapat ditentukan beberapa tujuan
utama perancangan database, yaitu :
1. Memenuhi kebutuhan informasi sesuai dengan yang diperlukan oleh
pengguna untuk aplikasi tertentu.
2. Memperoleh pemahaman terhadap struktur informasi yang tersedia
dalam database.
3. Memberikan keterangan tentang persyaratan pemrosesan dan
kemampuan sistem, seperti lama tidaknya mengakses data, kapasitas
memori yang tersedia dan sebagainya.
Menurut Connolly (2002) tahapan-tahapan proses perancangan
13
Gambar 2. 1 Tahap Perancangan Database
1. Desain Konseptual Database
Perancangan konseptual database merupakan proses membangun
model dari data yang digunakan pada perusahaan, terbebas dari semua
pertimbangan fisikal, seperti tujuan DBMS, program aplikasi, bahasa
pemrograman yang digunakan, platform perangkat keras, masalah
tampilan.
2. Desain Logikal Database
Tujuan dari tahapan ini yaitu menerjemahkan model data menjadi
sebuah model data logikal dan kemudian memvalidasi model tersebut
untuk memeriksa apakah strukturnya sudah tepat dan mampu
3. Desain Fisikal Database
Perancangan database fisikal merupakan proses untuk menghasilkan
suatu deskripsi mengenai implementasi dari database pada secondary
storage. Deskripsi ini menjelaskan tentang hubungan dasar, file,
organisasi, dan indeks yang digunakan untuk mengakses data secara
efisien, serta batasan-batasan integritas yang berhubungan dan
pengukuran keamanan atau security.
2.10.2.Pemodelan Data
Model Entity Relationship adalah representasi logika dari data
pada suatu organisasi atau area bisnis tertentu dengan menggunakan Entity
dan Relationship.
1. Entity
Entity (entitas) merupakan penyajian obyek, kejadian atau
konsep dunia nyata yang keberasaanya secara eksplisit didefinisikan
dan disimpan dalam database, contohnya Mahasiswa, Matakuliah,
Dosen, Nilai dan lain sebagainya.
Mahasiswa
Gambar 2. 2 Contoh Entity Mahasiswa
2. Atribute
Atribute (atribut) adalah keterangan-keterangan yang menjelaskan karakteristik dari suatu entitas seperti NIM, Nama,
Fakultas, dan Jurusan untuk entitas Mahasiswa.
Nama Jurusan NIM
Mahasiswa
15
3. Key
Key (kunci) adalah sejumlah atribut yang mengidentifikasi record dalam sebuah relasi secara unik.
a. Super key
Adalah suatu atribut atau sekumpulan atribut yang secara unik
mengidentifikasi sebuah record di dalam relasi.
b. Candidate key
Adalah atribut-atribut yang menjadi determinan yang dapat
dijadikan identitas record pada sebuah relasi bisa terdapat satu
atau lebih candidate key.
c. Primary key
Adalah candidate key yang dipilih untuk mengidentifikasikan
record secara unik dalam relasi.
d. Foreign key
Atribut atau sekumpulan atribut dalam sebuah relasi yang cocok
dengan candidate key dari beberapa relasi (dimungkinkan relasi
yang sama). Foreign key biasanya digunakan sebagai
penghubung antara record-record dan kedua relasi tersebut.
4. Relationship
Relationship merupakan hubungan atau interaksi antar satu
entitas dengan yang lainnya, misalnya entitas Dosen dengan
Matakuliah yang diajarkan.
Dosen Mengajar Matakuliah
Gambar 2. 4 Contoh Relationship (hubungan)
5. Cardinality
Cardinality merupakan minimum dan maksimum kejadian dari
yang lain. Karena seluruh relasi adalah bidirectional maka cardinality
harus didefinisikan pada kedua direction untuk setiap relasi.
6. Data Flow Diagram (DFD)
Data Flow Diagram merupakan suatu diagram yang
menggunakan notasi-notasi untuk menggambarkan aliran data pada
sebuah sistem dan juga merepresentasikan masukan dan keluaran data
dari suatu proses. Menurut (Whiten, 2004) DFD merupakan sebuah
model proses yang digunakan untuk menggambarkan aliran data yang
melalui sebuah sistem dan sekaligus menggambarkan proses yang
dibentuk oleh sistem tersebut. Simbol-simbol DFD yang digunakan
untuk menggambarkan proses aliran data :
Gambar 2. 5 Simbol-simbol DFD
2.11. Model Waterfall
Model waterfall ini sebenarnya merupakan model yang sebelumnya
yaitu model linier sequential. Model ini muncul pertama kali pada tahun
17
merupakan model yang banyak dipakai dalam software engineering.
Model ini melakukan pendekatan secara sistematis dan urut mulai dari
Requirement Analysis and Definition, System and Software Design, Implementation and Unit Testing, Integration and System Testing, dan Operation and Maintenance.
Model ini disebut waterfall karena tahap demi tahap yang dilalui
menunggu selesai tahap sebelumnya dan berjalan secara berurutan.
Gambar 2. 6 Model Waterfall
Penjelasan gambar :
a. Requirement Analysis and Definition
Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan
didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan
dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa
menghasilkan desain yang lengkap.
b. System and Software Design
Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara
c. Implementation and Unit Testing
Desain program diterjemahkan ke dalam kode-kode dengan
menggunakan bahasa pemrograman yang sudah ditentukan. Program
yang dibangun langsung diuji secara unit atau modul.
d. Integration and System Testing
Penyatuan unit-unit program kemudian diuji secara keseluruhan
(system testing).
e. Operation and Maintenance
Mengoperasikan program dilingkungannya dan melakukan
pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi
dengan situasi sebenarnya.
Kelebihan model Waterfall :
1. Pengaplikasian menggunakan model ini mudah.
2. Ketika semua kebutuhan sistem dapat didefinisikan secara utuh,
eksplisit, dan benar di awal proses software engineering, maka
software engineering dapat berjalan dengan baik dan tanpa masalah.
Meskipun seringkali kebutuhan sistem tidak dapat didefiniskan
seeksplisit yang diinginkan, tetapi paling tidak problem pada
kebutuhan sistem di awal proses software engineering lebih ekonomis.
3. Usaha, dan waktu yang terbuah lebih sedikit jika dibandingkan
problem yang muncul pada tahap-tahap selanjutnya.
Kekurangan model Waterfall :
1. Ketika problem muncul, maka proses berhenti, karena tidak dapat
menuju ke tahap selajutnya.
2. Karena pendekatanya secara sequential, maka setiap tahap harus
menunggu hasil dari tahap sebelumnya. Hal ini tentu membuang
19
3. Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya
masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak
20
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem
3.1.1. Gambaran Umum Sistem Lama
Dalam sistem pengelolaan data baik data customer maupun
penjualan di PT. Armada International Motor (AIM) Isuzu Magelang
sekarang ini masih dilakukan secara manual. Semua data disimpan
dalam bentuk berkas kertas dan Microsoft Excel.
Proses penjualan unit mobil yang dilakukan sebagai berikut :
1. Mengisikan data diri di formulir penjualan.
2. Sales akan melakukan pendataan dan pengecekan terhadap semua
berkas penjualan unit mobil.
3. Setelah pengecekan data, berkas akan dijadikan satu dengan
formulir penjualan dan dimasukkan dalam map.
4. Setelah proses penjualan berlangsung, sales akan memasukkan data
ke dalam file Ms. Excel untuk penyimpanan data secara
komputerisasi.
Dengan demikian, pendataan menjadi lama dan tidak jarang
terjadi kesalahan dalam pendataan karena data yang harus dikelola
sangatlah banyak.
3.1.2. Gambaran Umum Sistem Baru
Sistem baru yang ditawarkan menggunakan sistem yang berbasis
web yang dapat diakses oleh admin dan petugas penjualan. Dengan
adanya sistem ini diharapkan dapat membantu kinerja pihak-pihak
terkait dalam hal yang berkaitan dengan pengolahan data customer dan
data penjualan secara efektif (tepat guna) dan efisien (cepat).
Pada sistem baru ini, petugas juga dilengkapi dengan fitur cetak
21
3.2. Analisa Kebutuhan Pengguna 3.2.1. Definisi Aktor
Pengguna yang terlibat dalam sistem ini, yaitu :
1. Admin
Dalam sistem ini admin memiliki hak akses antara lain :
a. Mengelola Data Petugas
Hak akses yang dimiliki oleh admin pada data petugas adalah
admin berhak melakukan penambahan data petugas yang baru,
melakukan perubahan data petugas setelah disimpan, melihat
seluruh daftar petugas yang ada, menghapus data petugas, dan
melakukan pencarian terhadap data petugas.
b. Mengelola Data Sales
Hak akses yang dimiliki oleh admin pada data sales adalah
admin berhak melakukan penambahan data sales yang baru,
melakukan perubahan data sales setelah disimpan, melihat
seluruh daftar sales yang ada, menghapus data sales, dan
melakukan pencarian terhadap data sales.
c. Mengelola Data Tipe Mobil
Hak akses yang dimiliki oleh admin pada data tipe mobil adalah
admin berhak melakukan penambahan data tipe mobil yang
baru, melakukan perubahan data tipe mobil setelah disimpan,
melihat seluruh daftar tipe mobil yang ada, menghapus data tipe
mobil, dan melakukan pencarian terhadap data tipe mobil.
d. Mengelola Data Varian Mobil
Hak akses yang dimiliki oleh admin pada data varian mobil
adalah admin berhak melakukan penambahan data varian mobil
yang baru, melakukan perubahan data varian mobil setelah
disimpan, melihat seluruh daftar varian mobil yang ada,
menghapus data varian mobil, dan melakukan pencarian
2. Petugas Penjualan
Dalam sistem ini petugas penjualan memiliki hak akses yaitu :
a. Mengelola Data Customer
Pada data customer, hak akses yang dimiliki oleh petugas
penjualan adalah berhak melakukan penambahan data customer
yang baru, melakukan perubahan data customer setelah
disimpan, melihat seluruh daftar customer yang ada, menghapus
data customer, dan melakukan pencarian terhadap data
customer.
b. Mengelola Data Penjualan Mobil
Pada data penjualan mobil, hak akses yang dimiliki oleh petugas
penjualan adalah berhak melakukan penambahan data penjualan
yang baru, melakukan perubahan data penjualan setelah
disimpan, melihat seluruh daftar penjualan yang ada, menghapus
data penjualan, dan melakukan pencarian terhadap data
penjualan.
c. Mencetak Laporan
Petugas penjualan memiliki akses untuk mencetak laporan
penjualan mobil berdasarkan pemilik, penjualan per periode,
23
3.2.2. Use Case Diagram
Lihat data tipe mobil
Gambar 3. 1 Use Case Diagram
3.2.3. Pemrosesan Data
Diagram Arus Data digunakan untuk memodelkan proses yang
menggambarkan aliran arus data proses, input, output dari sistem yang
3.2.4. Pemodelan Proses 3.2.4.1. Diagram Konteks
Gambar 3. 2 Diagram Konteks
3.2.4.2. Diagram Berjenjang
25
3.2.4.3. Data Flow Diagram
varian_mobil data petugas, data sales,
data tipe mobil,
Gambar 3. 4 Overview DFD Level 0
3.2.4.4. DFD Level 1 Proses Pendataan
1.1
3.2.4.5. DFD Level 1 Proses Penjualan Mobil
Gambar 3. 6 DFD Level 1 Proses Penjualan Mobil
3.2.4.6. DFD Level 1 Proses Kelola Laporan
3.1
Data sales, customer, varian mobil
Review laporan
27
3.3. Perancangan Sistem
3.3.1. Perancangan Basis Data
3.3.1.1. Perancangan Basis Data Konseptual
28
29
3.3.1.3. Design Basis Data Fisikal
Tabel 3. 1 Tabel petugas
Nama Field Tipe Keterangan
id_petugas varchar(10) Primary key untuk tabel petugas
nama_petugas varchar(50) Field untuk nama petugas
devisi varchar(20) Field untuk devisi
alamat varchar(200) Field untuk alamat
no_telp varchar(15) Field untuk nomor telepon
password varchar(10) Field untuk password
Tabel 3. 2 Tabel sales
Nama Field Tipe Keterangan
id_sales varchar(10) Primary key untuk tabel sales
nama_sales varchar(50) Field untuk nama sales
alamat varchar(200) Field untuk alamat
no_telp varchar(15) Field untuk nomor telepon
Tabel 3. 3 Tabel tipe_mobil
Nama Field Tipe Keterangan
id_tipe varchar(10) Primary key untuk tabel tipe_mobil
nama_tipe varchar(50) Field untuk nama tipe mobil
Tabel 3. 4 Tabel varian_mobil
Nama Field Tipe Keterangan
id_varian varchar(10) Primary key untuk tabel varian_mobil
nama_varian varchar(100) Field untuk nama varian
Tabel 3. 5 Tabel customer
Nama Field Tipe Keterangan
id_customer varchar(10) Primary key untuk tabel customer
nama_customer varchar(50) Field untuk nama customer
tempat_lahir varchar(50) Field untuk tempat lahir
tgl_lahir date Field untuk tanggal lahir
jenis_kelamin varchar(10) Field untuk jenis kelamin
agama varchar(10) Field untuk agama
alamat varchar(200) Field untuk alamat
no_telp varchar(15) Field untuk nomor telepon
email varchar(50) Field untuk email
Tabel 3. 6 Tabel mobil
Nama Field Tipe Keterangan
id_mobil varchar(10) Primary key untuk tabel jual
no_plat varchar(15) Field untuk nomor plat mobil
thn_pembuatan varchar(5) Field untuk tahun pembuatan
isi_silinder varchar(10) Field untuk isi silinder
no_rangka varchar(25) Field untuk nomor rangka
no_mesin varchar(25) Field untuk nomor mesin
warna varchar(50) Field untuk warna
bahan_bakar varchar(50) Field untuk bahan bakar
warna_tnkb varchar(10) Field untuk warna TNKB
thn_registrasi varchar(5) Field untuk tahun registrasi
no_bpkb varchar(15) Field untuk nomor BPKB
tgl_jual date Field untuk tanggal jual mobil
id_varian varchar(10) Field untuk id varian
id_customer varchar(10) Field untuk id customer
31
3.3.2. Perancangan Interface 3.3.2.1. Halaman Login
Gambar 3. 10 Interface Halaman Login
3.3.2.2. Halaman Kelola Data Petugas
Pencarian :
No. ID
cari Tambah Petugas
Nama Devisi Alamat No. Telp Aksi
Gambar 3. 11 Interface Halaman Kelola Data Petugas
3.3.2.3. Halaman Input Data Petugas
ID Petugas :
Nama Petugas :
: : : : Devisi
Alamat No. Telp Pass
Simpan
3.3.2.4. Halaman Ubah Data Petugas
Gambar 3. 13 Interface Halaman Ubah Data Petugas
3.3.2.5. Halaman Kelola Data Sales
Pencarian :
No. ID
cari Tambah Sales
Nama Alamat No. Telp Aksi
Gambar 3. 14 Interface Halaman Kelola Data Sales
3.3.2.6. Halaman Input Data Sales
ID Sales
:
33
3.3.2.7. Halaman Ubah Data Sales
xxx
ID Sales :
Nama Sales : xxx
xxx
xxx
: : No. Telp
Simpan Alamat
Gambar 3. 16 Interface Halaman Ubah Data Sales
3.3.2.8. Halaman Kelola Data Tipe Mobil
Pencarian :
No. ID Tipe
cari Tambah Tipe
Nama Tipe Aksi
Gambar 3. 17 Interface Halaman Kelola Data Tipe Mobil
3.3.2.9. Halaman Input Data Tipe Mobil
ID Tipe
:
Nama Tipe
:
Simpan
3.3.2.10.Halaman Ubah Data Tipe Mobil
xxx
ID Tipe
:
Nama Tipe
:
xxxSimpan
Gambar 3. 19 Interface Halaman Ubah Data Tipe Mobil
3.3.2.11.Halaman Kelola Data Varian Mobil
Pencarian :
No. ID Mobil
cari Tambah Varian
Nama Mobil ID Tipe Aksi
Gambar 3. 20 Interface Halaman Kelola Data Varian Mobil
3.3.2.12.Halaman Input Data Varian Mobil
ID Mobil
:
Nama Tipe
:
▼
Simpan
Nama Mobil
:
35
3.3.2.13.Halaman Ubah Data Varian Mobil
xxx
ID Mobil
:
Nama Tipe
:
xxx
▼
Simpan
Nama Mobil
:
xxx
36
BAB IV
IMPLEMENTASI SISTEM
4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak
Perangkat keras yang digunakan untuk membangun sistem adalah sebagai
berikut :
Processor : Pentium(R) Dual-Core
Harddisk : 250 GB
Memory : 2 GB
Perangkat lunak yang digunakan untuk membangun sistem adalah sebagai
berikut :
Sistem Operasi : Windows 7 32bit
Bahasa Pemrograman : PHP
DBMS : MySQL
4.2. Implementasi Basis Data
Pada tahap ini dilakukan pembangunan basis data menggunakan
MySQL untuk menunjang sistem yang dibangun. Basis data yang
dibangun terdiri dari tabel-tabel yang telah dirancang pada bab
sebelumnya.
Berikut query yang digunakan untuk membuat database dengan nama “aim” beserta tabel-tabel di dalamnya :
CREATE TABLE `customer` (
`id_customer` varchar(10) NOT NULL, `nama_customer` varchar(50) NOT NULL, `tempat_lahir` varchar(50) NOT NULL, `tgl_lahir` date NOT NULL,
`jenis_kelamin` varchar(10) NOT NULL, `agama` varchar(10) NOT NULL, `alamat` varchar(200) NOT NULL, `no_telp` varchar(15) NOT NULL, `email` varchar(50) DEFAULT NULL, PRIMARY KEY (`id_customer`)
37
CREATE TABLE `mobil` (
`id_mobil` varchar(10) NOT NULL, `no_plat` varchar(15) DEFAULT NULL, `thn_pembuatan` varchar(5) DEFAULT NULL, `isi_silinder` varchar(10) DEFAULT NULL, `no_rangka` varchar(25) DEFAULT NULL, `no_mesin` varchar(25) DEFAULT NULL, `warna` varchar(50) DEFAULT NULL, `bahan_bakar` varchar(50) DEFAULT NULL, `warna_tnkb` varchar(10) DEFAULT NULL, `thn_registrasi` varchar(5) DEFAULT NULL, `no_bpkb` varchar(15) DEFAULT NULL, `tgl_jual` date DEFAULT NULL,
`id_varian` varchar(10) DEFAULT NULL, `id_customer` varchar(10) DEFAULT NULL, `id_sales` varchar(10) DEFAULT NULL, PRIMARY KEY (`id_mobil`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `petugas` (
`id_petugas` varchar(10) NOT NULL, `nama_petugas` varchar(50) NOT NULL, `devisi` varchar(20) NOT NULL, `alamat` varchar(200) NOT NULL, `no_telp` varchar(15) NOT NULL, `password` varchar(10) NOT NULL, PRIMARY KEY (`id_petugas`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `sales` (
`id_sales` varchar(10) NOT NULL, `nama_sales` varchar(50) NOT NULL, `alamat` varchar(200) NOT NULL, `no_telp` varchar(15) NOT NULL, PRIMARY KEY (`id_sales`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `tipe_mobil` ( `id_tipe` varchar(10) NOT NULL, `nama_tipe` varchar(50) NOT NULL, PRIMARY KEY (`id_tipe`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `varian_mobil` ( `id_varian` varchar(10) NOT NULL, `nama_varian` varchar(100) NOT NULL, `id_tipe` varchar(10) NOT NULL, PRIMARY KEY (`id_varian`)
4.3. Implementasi Sistem 4.3.1. Halaman Login
Gambar 4. 1 Halaman Login
4.3.2. Halaman Login Admin
Gambar 4. 2 Halaman Login Admin
4.3.3. Halaman Petugas
39
4.3.4. Halaman Tambah Data Petugas
Gambar 4. 4 Halaman Tambah Data Petugas
Berikut script dan perintah query yang digunakan untuk melakukan
penyimpanan data petugas baru :
<?php
session_start();
include('../koneksi/koneksi.php'); if (empty($cek['id_petugas'])) {
mysql_query("insert into petugas (id_petugas, nama_petugas, devisi, alamat, no_telp, password) values ('$_POST[idpetugas]', '$_POST[namapetugas]', '$_POST[devisi]', '$_POST[alamat]', '$_POST[notelp]', '$_POST[password]')");
echo "<script>window.alert('Data $_POST[namapetugas] berhasil disimpan.'); window.location=('petugas.php')</script>";
4.3.5. Halaman Ubah Data Petugas
Berikut script dan perintah query yang digunakan untuk mengubah data
petugas :
<?php
session_start();
include('../koneksi/koneksi.php');
mysql_query("update petugas set nama_petugas='$_POST[namapetugas]', devisi='$_POST[devisi]', alamat='$_POST[alamat]', no_telp='$_POST[notelp]' where id_petugas='$_POST[idpetugas]'");
echo "<script>window.alert('Nama petugas $_POST[namapetugas] berhasil diubah.'); window.location=('petugas.php')</script>";
4.3.6. Halaman Sales
Gambar 4. 6 Halaman Sales
4.3.7. Halaman Tambah Data Sales
41
Berikut script dan perintah query yang digunakan untuk menambah data
sales :
<?php
session_start();
include('../koneksi/koneksi.php'); if (empty($cek['id_sales'])) {
mysql_query("insert into sales (id_sales, nama_sales, alamat, no_telp) values ('$_POST[idsales]','$_POST[namasales]','$_POST[alamat]', '$_POST[notelp]')");
echo "<script>window.alert('Data $_POST[namasales] berhasil disimpan.'); window.location=('sales.php')</script>";
4.3.8. Halaman Ubah Data Sales
Gambar 4. 8 Halaman Ubah Data Sales
Berikut script dan perintah query yang digunakan untuk mengubah data
sales :
<?php
session_start();
include('../koneksi/koneksi.php');
mysql_query("update sales set nama_sales='$_POST[namasales]', alamat='$_POST[alamat]', no_telp='$_POST[notelp]'
where id_sales='$_POST[idsales]'");
4.3.9. Halaman Kelola Data Tipe Mobil
Gambar 4. 9 Halaman Kelola Data Tipe Mobil
4.3.10.Halaman Tambah Data Tipe Mobil
Gambar 4. 10 Halaman Tambah Data Tipe Mobil
Berikut script dan perintah query yang digunakan untuk menambah data
tipe mobil :
<?php
session_start();
include('../koneksi/koneksi.php'); if (empty($cek['id_tipe'])) {
mysql_query("insert into tipe_mobil (id_tipe, nama_tipe) values ('$_POST[idtipe]','$_POST[namatipe]')");
43
4.3.11.Halaman Ubah Data Tipe Mobil
Gambar 4. 11 Halaman Ubah Data Tipe Mobil
Berikut script dan perintah query yang digunakan untuk mengubah data
tipe mobil :
<?php
session_start();
include('../koneksi/koneksi.php');
mysql_query("update tipe_mobil set nama_tipe='$_POST[namatipe]' where id_tipe='$_POST[idtipe]'");
echo "<script>window.alert('namatipe $_POST[namatipe] berhasil diubah.'); window.location=('tipeMobil.php')</script>";
4.3.12.Halaman Kelola Data Varian Mobil
4.3.13.Halaman Tambah Data Varian Mobil
Gambar 4. 13 Halaman Tambah Data Varian Mobil
Berikut script dan perintah query yang digunakan untuk menambah data
varian mobil :
<?php
include "db/koneksi.php";
$data=mysql_query("select * from tipe_mobil"); $data1=mysql_query("select * from varian_mobil"); $kode=$_GET['kode'];
$dt=mysql_query("select * from tipe_mobil where nama_tipe='$kode'"); $d=mysql_fetch_array($dt);
$op=isset($_GET['op'])?$_GET['op']:null;
if($op=='ambildata'){
$id = mysql_fetch_array($data1); $idmbl = substr($d['id_tipe'],0,4);
$carikode = mysql_query("select count(*) as jml from varian_mobil where id_mobil like '%".$idmbl."%'") or die (mysql_error());
$datakode = mysql_fetch_array($carikode); $no = $datakode['jml'] + 1;
$hasilkode = str_pad($no, 3, "0", STR_PAD_LEFT); echo $d['id_tipe'].$hasilkode;
}elseif($op=='simpan'){ $nama=$_GET['nama']; $nama_tipe=$_GET['nama_tipe'];
$variant=$_GET['variant']; $kd=$_GET['kode'];
45
4.3.14.Halaman Ubah Data Varian Mobil
Gambar 4. 14 Halaman Ubah Data Varian Mobil
Berikut script dan perintah query yang digunakan untuk ubah data
varian mobil :
<?php
session_start();
include('../koneksi/koneksi.php');
mysql_query("update varian_mobil set id_mobil='$_POST[id_mobil]', nama_mobil='$_POST[nama_mobil]', id_tipe='$_POST[id_tipe]' where id_mobil='$_POST[id_mobil]'");
echo "<script>window.alert('nama mobil $_POST[nama_mobil] berhasil diubah.'); window.location=('varianmobil.php')</script>";
4.3.15.Halaman Login Petugas Penjualan
4.3.16.Halaman Kelola Data Customer
Gambar 4. 16 Halaman Kelola Data Customer
4.3.17.Halaman Tambah Data Customer
Gambar 4. 17 Halaman Tambah Data Customer
Berikut script dan perintah query yang digunakan untuk menambah data
47
<?php
session_start();
include('../koneksi/koneksi.php');
if (empty($cek['id_customer'])) {
mysql_query("insert into customer (id_customer, nama_customer, tempat_lahir, tanggal_lahir, jenis_kelamin, agama, alamat, no_telp, email) values ('$_POST[idcustomer]','$_POST[namacustomer]', '$_POST[tempatlahir]', '$_POST[tanggallahir]', '$_POST[jeniskelamin]', '$_POST[agama]', '$_POST[alamat]', '$_POST[notelp]', '$_POST[email]')");
echo "<script>window.alert('Data $_POST[namacustomer] berhasil disimpan.');
window.location=('customer.php')</script>"; }
else {
echo "<script>window.alert('Penyimpanan gagal. Data customer dengan ID customer $_POST[idcustomer]$tm sudah ada.');
window.location=('customerInput.php')</script>";
4.3.18.Halaman Ubah Data Customer
Gambar 4. 18 Halaman Ubah Data Customer
Berikut script dan perintah query yang digunakan untuk mengubah data
customer :
<?php
session_start();
include('../koneksi/koneksi.php');
mysql_query("update customer set nama_customer='$_POST[namacustomer]', tempat_lahir='$_POST[tempatlahir]', tanggal_lahir='$_POST[tanggallahir]', alamat='$_POST[alamat]', no_telp='$_POST[notelp]', email='$_POST[email]' where id_customer='$_POST[idcustomer]'");
4.3.19.Halaman Tambah Penjualan Mobil
Gambar 4. 19 Halaman Tambah Penjualan Mobil
Berikut script dan perintah query yang digunakan untuk menambah penjualan mobil :
<?php
include "db/koneksi.php";
$data=mysql_query("select * from tipe_mobil"); $data1=mysql_query("select * from varian_mobil"); $kode=$_GET['kode'];
$dt=mysql_query("select * from tipe_mobil where nama_tipe='$kode'"); $d=mysql_fetch_array($dt);
$op=isset($_GET['op'])?$_GET['op']:null;
if($op=='ambildata'){
//$id = mysql_fetch_array($data1); //$idmbl = substr($d['id_tipe'],0,4);
//$carikode = mysql_query("select count(*) as jml from varian_mobil where id_mobil like '%".$idmbl."%'") or die (mysql_error());
//$datakode = mysql_fetch_array($carikode); //$no = $datakode['jml'] + 1;
//$hasilkode = str_pad($no, 3, "0", STR_PAD_LEFT); //echo $d['id_tipe'].$hasilkode;
$ambilvarian = mysql_query("select * from varian_mobil where id_tipe = '".$kode."'")or die(mysql_error());
$cekdata = mysql_query("select * from varian_mobil where id_tipe = '".$kode."'")or die(mysql_error());
49
echo "<option> varian mobil </option>"; }
}elseif($op=='simpan'){
$nama=$_GET['nama']; $nama_tipe=$_GET['nama_tipe'];
$variant=$_GET['variant'];
$dt1=mysql_query("select * from tipe_mobil where nama_tipe='$nama_tipe'"); $d1=mysql_fetch_array($dt1);
$o=mysql_query("select id_tipe from tipe_mobil where nama_tipe='$nama_tipe'"); $tambah=mysql_query("insert into varian_mobil values ('$nama','$variant','".$d1['id_tipe']."')") or die(mysql_error());
echo '$o';
/*$tambah=mysql_query("insert into varian_mobil values ('$nama','$variant','$nama_tipe')") or die(mysql_error());*/
4.3.20.Halaman Data Penjualan Mobil
4.3.21.Halaman Cetak Laporan Berdasarkan Kepemilikan Mobil
Gambar 4. 21 Halaman Cetak Laporan Berdasarkan Kepemilikan Mobil
Berikut script dan perintah query yang digunakan untuk cetak laporan
berdasarkan kepemilikan mobil :
<?php
session_start();
if (empty($_SESSION['id_petugas']) || ($_SESSION['devisi'] != "Penjualan" )) {
echo "<script>window.alert('Anda belum login. Silahkan melakukan login terlebih dahulu.');
window.location=('../index.php')</script>"; }
include('../koneksi/koneksi.php'); $customer = $_POST['idcustomer'];