ABSTRAK
Belanja merupakan kebutuhan wajib bagi manusia di zaman ini, namun
transaksi yang terjadi ketika belanja di toko/minimarket masih terbilang kurang
efektif. Konsumen yang akan membeli barang harus membawa barang belanja
mereka ke bagian kasir. Jika ada konsumen yang akan melakukan belanja barang
dengan jumlah sangat besar tentu saja proses belanja yang seperti ini sangat
kurang efiktif.
Dengan semakin berkembangnya teknologi, dalam tugas akhir ini dibuat
sebuah aplikasi berbasis android yang dapat memudahkan konsumen dalam
melakukan belanja. Aplikasi memungkinkan agar konsumen tidak membawa
barang ke bagian kasir, konsumen ke bagian kasir hanya untuk melakukan
transaksi pembayaran dan mengambil barang belanjaan yang sudah dikemas dan
siap untuk dibawa. Aplikasi juga terintegrasi dengan sistem kasir dan database
server untuk membaca dan memasukkan data dengan memanfaatkan teknologi web service. Selain itu aplikasi juga terhubung dengan sistem di bagian pengepakan barang untuk melakukan proses pembungkusan barang yang telah
ABSTRACT
Shopping is a mandatory requirement for people in this age, but
transactions that occur when shopping in the shop still relatively less effective.
Consumers who would buy item must bring them to the cashier. If there are
consumers who will do the shopping with huge quantities of course the shopping
process like this is less tremendously effective.
With the growing technology, in this thesis made an android-based
application that can facilitate consumers to do shopping. The application allows
that consumers do not bring item to the cashier, consumers go to the cashier only
for payment transactions and take the groceries were already packed and ready to
be taken. Application is also integrated with the cashier system and database
server to read and enter data by using web services technology. Further, the
application also connected to the system at the packing to make the process of
SISTEM PENJUALAN PADA PERANGKAT BERGERAK
BERBASIS ANDROID MENGGUNAKAN WEB SERVICE
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun oleh
Febri Nugroho
115314081
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
SALES SYSTEM ON ANDROID BASED MOBILE DEVICES
USING WEB SERVICE
THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Komputer Degree
In Informatics Engineering
By:
Febri Nugroho
115314081
INFORMATION ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
iii
iv
v
HALAMAN PERSEMBAHAN
Karya ini saya persembahkan kepada :
Tuhan Yesus Kristus
Terima kasih atas bimbingan dan berkat yang melimpah untuk menyelesaikan tugas akhir ini.
Bapak dan Ibu Tercinta
Terimakasih atas kasih sayang dan doa serta motivasi yang berguna untuk masa depan yang terbaik.
Keluarga Terkasih
Yang telah memberi nasehat dan saran serta masukan yang sangat bermanfaat.
Dosen Pembimbing
Yang telah membimbing saya dalam mengerjakan tugas akhir ini.
Teman – Teman
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis
tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan
dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 22 Februari 2016
Penulis
vii
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Febri Nugroho
Nomor Mahasiswa : 115314081
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul:
Sistem Penjualan Pada Perangkat Bergerak Berbasis Android Menggunakan Web Service
beserta perangkat yang diperlukan. 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 ijin dari saya maupun
memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai
penulis.
Demikian pernyataan ini yang saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal: 22 Februari 2016
Yang menyatakan,
viii ABSTRAK
Belanja merupakan kebutuhan wajib bagi manusia di zaman ini, namun
transaksi yang terjadi ketika belanja di toko/minimarket masih terbilang kurang
efektif. Konsumen yang akan membeli barang harus membawa barang belanja
mereka ke bagian kasir. Jika ada konsumen yang akan melakukan belanja barang
dengan jumlah sangat besar tentu saja proses belanja yang seperti ini sangat
kurang efiktif.
Dengan semakin berkembangnya teknologi, dalam tugas akhir ini dibuat
sebuah aplikasi berbasis android yang dapat memudahkan konsumen dalam
melakukan belanja. Aplikasi memungkinkan agar konsumen tidak membawa
barang ke bagian kasir, konsumen ke bagian kasir hanya untuk melakukan
transaksi pembayaran dan mengambil barang belanjaan yang sudah dikemas dan
siap untuk dibawa. Aplikasi juga terintegrasi dengan sistem kasir dan database
server untuk membaca dan memasukkan data dengan memanfaatkan teknologi web service. Selain itu aplikasi juga terhubung dengan sistem di bagian pengepakan barang untuk melakukan proses pembungkusan barang yang telah
ix ABSTRACT
Shopping is a mandatory requirement for people in this age, but
transactions that occur when shopping in the shop still relatively less effective.
Consumers who would buy item must bring them to the cashier. If there are
consumers who will do the shopping with huge quantities of course the shopping
process like this is less tremendously effective.
With the growing technology, in this thesis made an android-based
application that can facilitate consumers to do shopping. The application allows
that consumers do not bring item to the cashier, consumers go to the cashier only
for payment transactions and take the groceries were already packed and ready to
be taken. Application is also integrated with the cashier system and database
server to read and enter data by using web services technology. Further, the
application also connected to the system at the packing to make the process of
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kistus atas berkat
dan kasih-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul
“Sistem Penjualan pada Perangkat Bergerak Berbasis Android Menggunakan Web Service”.
Penulisan skripsi ini bertujuan untuk menyelesaikan salah satu mata
kuliah wajib dan memenuhi syarat akademik pada jurusan Teknik Informatika
Universitas Sanata Dharma sekaligus memperoleh gelar sarjana komputer. Penulis
menyadari bahwa penulisan skripsi ini masih jauh dari sempurna, oleh sebab itu
penulis mengharapkan kritik dan saran yang membangun dari semua pihak demi
kesempurnaan skrispi ini.
Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada
semua pihak yang telah memberikan dukungan baik secara langsung maupun
secara tidak langsung kepada penulis dalam penyusunan skripsi ini hingga selesai.
Ucapan terima kasih penulis sampaikan kepada:
1. Tuhan Yesus selaku pembimbing iman dalam hidup yang selalu
memberi berkat dalam hal apapun termasuk penyelesaian skripsi ini.
2. Ibu Ridowati Gunawan, S.Kom., M.T. selaku dosen pembimbing yang
memberikan pengarahan dalam pengerjaan skripsi hingga selesai.
3. Kedua orang tua tercinta, Bapak S. Sukardi dan Ibu Suswati yang
selalu mendoakan, memberi perhatian, dan memberi dukungan moral
xi
4. Segenap keluarga terkasih, yang selalu mendoakan dan memberi
dukungan serta nasehat yang membangun semangat penulis.
5. Mbak Dyah Utami atas masukan dan semangat serta keceriaan selama
mengerjakan skripsi ini.
6. Gilang, Pebo, Anggit, Widi, Pak Pulisi, Wawan, Monica Susi yang
telah berjuang bersama dan membantu penulis untuk tetap tertawa
dalam proses penulisan skripsi ini.
7. Seluruh civitas akademik Teknik Informatika 2011, terutama anggota
C++ yang telah berjuang bersama dan saling membantu serta saling
bertukar inspirasi.
8. Semua pihak yang tidak dapat disebutkan satu persatu yang telah
membantu penulis menyelesaikan skripsi ini.
Penulis menyadari bahwa masih banyak kekurangan yang terdapat dalam
penulisan srkipsi ini, namun penulis tetap berharap karya ini bermanfaat bagi
pengembangan ilmu pengetahuan.
Yogyakarta, 22 Februari 2016
Penulis
xii DAFTAR ISI
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERSEMBAHAN ... iv
PERNYATAAN KEASLIAN KARYA ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH . vii ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xvi
DAFTAR TABEL ... xviii
BAB I ... 1
PENDAHULUAN ... 1
1.1. Latar Belakang Masalah... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan ... 3
1.4. Manfaat Penelitian ... 3
1.5. Batasan Masalah ... 3
1.6. Metedologi Penelitian ... 4
1.7. Sistematika Penulisan ... 6
BAB II ... 8
2.2 Konsep Sistem Informasi Penjualan ... 10
2.2.1 Pengertian penjualan ... 10
2.2.2 Sistem Informasi Penjualan... 10
2.3 Android ... 10
2.3.1 Sejarah Android ... 11
2.3.2 Versi Android ... 11
2.4 Web Service ... 15
xiii
2.8 Notasi Pemodelan Sistem ... 25
2.8.1 Use Case Diagram ... 25
2.8.2 Activity Diagram ... 25
2.8.3 Entity Relationship Diagram (ER Diagram) ... 26
2.8.4 Basisdata (Database) ... 27
BAB III... 29
ANALISIS DAN PERANCANGAN SISTEM ... 29
3.1 Analisis Sistem ... 29
3.1.1 Gambaran Umum Sistem ... 29
3.1.2 Batasan Sistem ... 31
3.1.3 Analisa Kebutuhan Pengguna ... 31
3.1.4 Usecase Diagram ... 32
3.1.5 Skenario Use Case ... 32
3.1.5.1 Skenario Menu Konfigurasi ... 33
3.1.5.2 Skenario Input Penjualan ... 34
3.1.5.3 Skenario Scan Kode Barang ... 35
3.1.5.4 Skenario Lihat Daftar Pesanan ... 36
3.1.5.5 Skenario Ganti Pelanggan ... 37
3.1.5.6 Skenario Simpan Penjualan ... 38
3.1.5.7 Skenario Hapus Penjualan ... 39
3.1.6 Diagram Aktivitas... 40
3.1.6.1 Diagram Aktivitas Menu Konfigurasi ... 40
3.1.6.2 Diagram Aktivitas Input Penjualan ... 41
3.1.6.3 Diagram Aktivitas Scan Barcode Kode Barang ... 42
3.1.6.4 Diagram Aktivitas Lihat Daftar Pesanan ... 42
3.1.6.5 Diagram Aktivitas Ganti Pelanggan... 43
3.1.6.6 Diagram Aktivitas Simpan Penjualan ... 43
3.1.6.7 Diagram Aktivitas Hapus Penjualan ... 44
xiv
3.3 Perancangan Sistem ... 46
3.2.1 Perancangan Basis Data ... 46
3.2.1.1 Pemodelan Data Conceptual ... 46
3.2.1.2 Database Logical Design ... 47
3.2.1.3 Database Physical Design ... 47
3.2.2 Perancangan Web Service ... 49
3.2.3 Perancangan Interface ... 50
3.2.3.1 Rancangan Tampilan Splash Screen ... 50
3.2.3.2 Rancangan Tampilan Menu Konfigurasi ... 51
3.2.3.3 Rancangan Tampilan Menu Utama ... 52
3.2.3.4 Rancangan Tampilan Input Transaksi ... 52
3.2.3.5 Rancangan Tampilan Daftar Pesanan ... 53
3.2.3.6 Rancangan Tampilan Halaman Bantuan ... 54
3.2.3.7 Rancangan Tampilan Scan Barcode... 54
BAB IV ... 55
IMPLEMENTASI ... 55
4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak ... 55
4.2 Web Service ... 56
4.2.1 Service Baca Mac Address ... 56
4.2.2 Service Baca Data Pelanggan ... 57
4.2.3 Service Baca Data Barang ... 58
4.2.4 Service Ambil Nomor Faktur ... 59
4.2.5 Service Simpan Data Penjualan ... 60
4.2.6 Service Hapus Data Penjualan ... 61
4.3 Implementasi Sistem Android ... 62
4.3.1 Splash Screen ... 62
4.3.2 Halaman Konfigurasi ... 64
4.3.3 Menu Utama ... 66
4.3.4 Halaman Input Transaksi ... 68
4.3.5 Scan Barcode ... 71
4.3.6 Halaman Daftar Pesanan ... 72
4.3.7 Simpan Transaksi ... 74
4.3.8 Hapus Daftar Transaksi... 75
4.3.9 Ganti Pelanggan... 77
4.3.10 Bantuan ... 78
xv
4.5 Implementasi Sistem Pengepakan Barang ... 81
BAB V ... 82
ANALISIS HASIL ... 82
5.1 Analisa Hasil Implementasi Sistem ... 82
5.1.1 Splash Screen ... 82
5.1.2 Menu konfigurasi ... 84
5.1.3 Halaman Utama ... 85
5.1.4 Halaman Input Penjualan ... 86
5.1.5 Scan Kode Barang ... 88
5.1.6 Halaman Daftar Pesanan ... 89
5.2 Analisa Hasil Uji Coba Terhadap Pengguna ... 91
5.2.1 Form Kuisioner ... 91
5.2.2 Hasil dan Pembahasan ... 91
BAB VI ... 98
PENUTUP ... 98
6.1 Kesimpulan... 98
6.2 Saran ... 99
DAFTAR PUSTAKA ... 100
xvi
DAFTAR GAMBAR
Gambar 2. 1 Arsitektur Web Service ... 16
Gambar 2. 2 Lapisan Dasar Web Service ... 17
Gambar 3. 1 Gambaran umum sistem... 30
Gambar 3. 2 Use case Diagram... 32
Gambar 3. 3 Diagram aktivitas menu konfigurasi ... 40
Gambar 3. 4 Diagram aktivitas input penjualan ... 41
Gambar 3. 5 Diagram aktivitas scan barcode kode barang ... 42
Gambar 3. 6 Diagram aktivitas lihat daftar pesanan ... 42
Gambar 3. 7 Diagram aktivitas ganti pelanggan ... 43
Gambar 3. 8 Diagram aktivitas simpan penjualan ... 43
Gambar 3. 9 Diagram aktivitas hapus penjualan ... 44
Gambar 3. 10 Topologi sistem ... 45
Gambar 3. 11 ER Diagram ... 46
Gambar 3. 12 Tabel relasi ... 47
Gambar 3. 13 Tabel Pelanggan ... 47
Gambar 3. 14 Tabel Barang ... 48
Gambar 3. 15 Tabel Penjualan ... 48
Gambar 3. 16 Tabel DetailPenjualan ... 48
Gambar 3. 17 Perancangan web service ... 49
Gambar 3. 18 Desain tampilan splash... 51
Gambar 3. 19 Desain tampilan menu konfogurasi ... 51
Gambar 3. 20 Desain tampilan menu utama ... 52
Gambar 3. 21 Desain Tampilan Input Transaksi ... 53
Gambar 3. 22 Desain tampilan daftar pesanan ... 53
Gambar 3. 23 Desain tampilan bantuan ... 54
Gambar 3. 24 Desain tampilan scan barcode... 54
Gambar 4. 1 Tampilan output cheking mac address ... 56
Gambar 4. 2 Kode progam untuk melakukan cek mac address ... 57
Gambar 4. 3 Data Pelanggan ... 57
Gambar 4. 4 Kode program membaca data pelanggan ... 58
Gambar 4. 5 Data barang dengan format JSON ... 58
Gambar 4. 6 Kode program membaca data barang ... 59
Gambar 4. 7 Kode Program Ambil Nomor Faktur ... 59
Gambar 4. 8 Kode program input data temp_penjualan ... 60
xvii
Gambar 4. 10 Kode program menghapus data ... 61
Gambar 4. 11 Splash Screen... 62
Gambar 4. 12 Kode program activity_splasscreen.xml ... 63
Gambar 4. 13 Kode program checking alamat ip ... 63
Gambar 4. 14 Halaman konfigurasi ... 64
Gambar 4. 15 Kode program halaman konfigurasi ... 65
Gambar 4. 16 Tampilan menu utama ... 66
Gambar 4. 17 Kode program tampilan menu utama ... 67
Gambar 4. 18 Halaman input transaksi ... 68
Gambar 4. 19 Kode program tampilan input transaksi ... 70
Gambar 4. 20 Kode program tambah ke keranjang ... 70
Gambar 4. 21 Scan barcode ... 71
Gambar 4. 22 Kode program tombol scan dan textfield kode barang ... 71
Gambar 4. 23 Kode program tombol scan barcode ... 72
Gambar 4. 24 Tampilan daftar pesanan ... 72
Gambar 4. 25 Tampilan daftar pesanan 2 ... 73
Gambar 4. 26 Kode program menampilkan daftar pesanan ... 73
Gambar 4. 27 Tampilan setelah transaksi disimpan ... 74
Gambar 4. 28 Kode program untuk menyimpan data ... 75
Gambar 4. 29 Tampilan daftar transaksi sebelum dihapus ... 76
Gambar 4. 30 Kode program hapus transaksi ... 76
Gambar 4. 32 Tombol menu ganti pelanggan ... 77
Gambar 4. 32 Kode progam aksi menu ganti pelanggan ... 77
Gambar 4. 33 Tampilan halaman bantuan ... 78
Gambar 4. 34 Tampilan simulasi sistem kasir ... 79
Gambar 4. 35 Form untuk memasukkan kode faktur ... 80
Gambar 4. 36 Tampilan setelah kode faktur dimasukkan ... 80
Gambar 4. 37 Sistem pengepakan barang ... 81
Gambar 5. 1 Grafik pertanyaan 1 ... 92
Gambar 5. 2 Grafik pertanyaan 2 ... 93
Gambar 5. 3 Grafik pertanyaan 3 ... 94
Gambar 5. 4 Grafik pertanyaan 4 ... 95
xviii
DAFTAR TABEL
Tabel 2. 1 Metode HTTP dan Penggunaannya dalam REST ... 20
Tabel 2. 2 Simbol-simbol dalam Use Case ... 25
Tabel 2. 3 Simbol-simbol dalam Activity Diagram ... 26
Tabel 2. 4 Simbol Konsep ER ... 27
Tabel 3. 1 Skenario usecase menu konfigurasi ... 33
Tabel 3. 2 Skenario usecase input penjualan ... 34
Tabel 3. 3 Skenario usecase scan kode barang ... 35
Tabel 3. 4 Skenario usecase lihat daftar pesanan ... 36
Tabel 3. 5 Skenario usecase ganti pelanggan ... 37
Tabel 3. 6 Skenario usecase simpan penjualan ... 38
Tabel 3. 7 Skenario Usecase Hapus Penjualan ... 39
Tabel 5. 1 Pengujian Splash Screen ... 83
Tabel 5. 2 Pengujian Menu Konfigurasi ... 84
Tabel 5. 3 Pengujian Halaman Utama ... 85
Tabel 5. 4 Pengujian Halaman Input Penjualan ... 87
Tabel 5. 5 Pengujian Scan Kode Barang ... 89
Tabel 5. 6 Pengujian Halaman Daftar Pesanan ... 90
Tabel 5. 7 Tabel hasil kuisioner pertanyaan 1 ... 91
Tabel 5. 8 Tabel hasil kuisioner pengunjung pertanyaan 2 ... 92
Tabel 5. 9 Tabel hasil kuisioner pengunjung pertanyaan 3 ... 94
Tabel 5. 10 Tabel hasil kuisioner pengunjung pertanyaan 4 ... 95
BAB I PENDAHULUAN 1.1.Latar Belakang Masalah
Kebutuhan manusia akan barang-barang kebutuhan sehari-hari
mendorong perkembangan bisnis yang cukup pesat, salah satunya adalah
minimarket. Minimarket merupakan tempat yang digunakan oleh manusia untuk membeli barang dan kebutuhan sehari-hari. Minimarket menyediakan
barang-barang yang dibutuhkan manusia. Saat ini hampir semua minimarket
telah menggunakan teknologi yang dapat memudahkan konsumen dan
petugas dalam melakukan kegiatan transaksi. Salah satunya adalah sistem
kasir.
Proses penjualan yang terjadi saat ini adalah barang yang akan dibeli
harus dibawa ke meja kasir kemudian konsumen melakukan proses
pembayaran. Namun tidak semua barang dapat dibawa ke kasir, untuk
membeli barang yang tidak dapat dibawa ke kasir, pihak minimarket
menyediakan tanda pemesanan berupa nota. Semakin banyak pengunjung
memesan barang dengan menggunakan nota, maka nota pembelian yang
dihasilakan semakin banyak pula. Penggunaan nota sebagai tanda pemesanan
sangat tidak efisien. Selain biaya pengeluaran pihak minimarket semakin
besar, sisa nota yang sudah tidak terpakai akan menjadi sampah dan
mengotori lingkungan.
Dengan semakin berkembangnya teknologi dan semakin pesatnya
memenangkan persaingan. Sistem kasir yang ada sekarang masih terlalu
merepotkan bagi konsumen.
Dari latar belakang tersebut, maka dibangun sebuah sistem penjualan
pada perangkat bergerak berbasis android menggunakan web service dengan
java sebagai bahasa pemrograman dan MySQL sebagai pengelola database
serta web service sebagai penghubung antara android dan MySQL. Sistem
dapat bekerja dalam jaringan internet, memberikan layanan kepada petugas
untuk mencatat kode barang ke dalam sistem. Kode barang dikirim ke sistem
kasir pusat untuk proses pembayaran. Selain itu, kode barang dikirim ke
bagian pengepakan untuk proses pengepakan barang yang telah dipesan oleh
konsumen. Oleh karena itu, konsumen dapat melakukan proses belanja secara
efektif dan efisien tanpa harus membawa barang belanjaan ke bagian kasir.
1.2.Rumusan Masalah
Dari uraian latar belakang di atas, maka yang menjadi rumusan masalah
dalam tugas akhir ini adalah :
a. Bagaimana merancang dan mengimplementasikan sistem penjualan
pada perangkat bergerak berbasis android menggunakan web service?
b. Apakah sistem mampu membantu konsumen untuk melakukan
1.3.Tujuan
Tujuan yang ingin dicapai dalam penelitian ini adalah:
a. Merancang dan membangun sistem untuk perangkat bergerak berbasis
android yang mampu mengirim data transaksi penjualan ke sistem kasir
dan bagian pengepakan barang secara bersamaan melalui web service
dengan memanfaatkan jaringan internet area WiFi.
b. Merancang dan mengimplementasikan sistem yang dapat berjalan pada
perangkat bergerak berbasis android dan mampu membantu konsumen
dalam melakukan kegiatan belanja secara efektif dan efisien.
1.4.Manfaat Penelitian
Dari penelitian ini diharapkan akan memberikan manfaat yaitu:
a. Memudahkan petugas dalam melayani konsumen.
b. Membantu mengurangi sampah yang dihasilkan dari pembuangan nota
dan mengurangi biaya pengeluaran pihak minimarket.
1.5.Batasan Masalah
Dalam membangun sistem ini, ada beberapa batasan masalah, antara lain:
a. Kode barang dibuat dalam bentuk barcode (kode batang).
b. Pengguna sistem adalah petugas pramuniaga minimarket.
c. Petugas pada bagian kasir akan memasukkan kode faktur untuk proses
pembayaran.
e. Sistem dibangun dengan menggunakan bahasa pemrograman Java dan
database MySQL.
f. Sistem berjalan pada perangkat mobile menggunakan sistem operasi
Android dengan versi minimal Android 4.0 (Ice Cream Sandwich) sampai
dengan versi Android 4.4 (KitKat).
1.6.Metedologi Penelitian
Metode penelitian yang digunakan dalam penyusunan Tugas Akhir ini
adalah sebagai berikut:
a. Studi Literatur
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper,
dan bacaan-bacaan yang berkaitan dengan judul penelitian.
b. Observasi
Observasi dilakukan dengan mengumpulkan data dan informasi yang
berkaitan dengan sistem penjualan dan bahasa pemrograman java dengan
cara studi lapangan ataupun pengamatan langsung pada aplikasi penjualan
yang dibuat untuk perangkat bergerak berbasis android.
c. Wawancara/Interview
Wawancara dilakukan dengan mengumpulkan data dan informasi dari
pihak terkait yaitu owner dari minimarket tentang kebutuhan sistem yang
d. Studi Pustaka
Membaca beberapa buku yang berkaitan dengan sistem yang akan
dirancang bisa menambah pengetahuan.
e. Pembangunan Sistem Informasi
1. Analisis Sistem
Sistem harus mampu mengintegrasikan data antara aplikasi android
yang digunakan oleh pramuniaga dan juga aplikasi desktop yang
digunakan oleh kasir hanya menggunakan jaringan wifi, aplikasi harus
mampu memberikan hasil berupa nomor transaksi yang ditujukan
untuk petugas kasir guna proses pembayaran, dan aplikasi harus
mampu mengirimkan data transaksi ke bagian pengepakan barang
guna proses pengambilan barang.
2. Peranacangan Sistem
Sistem akan dirancang sedemikian rinci manggunakan UML
(Unified Modeling Language) seperti menggunakan Use Case
Diagram, Activity Diagram untuk merancang proses aplikasi, dan Diagram Relasi Entitas untuk merancang basis data dari aplikasi.
3. Implementasi
Sistem ini menggunakan bahasa pemrograman java untuk
pembuatan aplikasi android dan juga pembuatan sistem kasir dan
MySQL sebagai database server untuk menyimpan data serta bahasa
pemrograman PHP untuk membangun web service sebagai
f. Uji Coba
Pada tahap ini, dilakukan uji coba perangkat lunak untuk melihat
sejauh mana sistem dapat berjalan dengan baik. Sistem diuji per modul
dan keseluruhan sistem penjualan pada perangkat bergerak berbasis
android menggunakan web service.
Untuk mengetahui kekurangan sistem, sistem juga diuji coba
kepada user. Tujuan uji coba terhadap user adalah untuk menghasilkan
sistem yang benar-benar sesuai dengan kebutuhan user. Responden untuk
uji coba terhadap user adalah 12 mahasiswa yang diasumsikan sebagai
pramuniaga minimarket.
1.7.Sistematika Penulisan
Sistematika Penulisan dibagi menjadi beberapa bab, yaitu :
a. Bab I : Pendahuluan
Bab ini berisi latar belakang, rumusan masalah, tujuan, manfaat
penelitian, batasan masalah, metodologi penelitian dan sistematika
penulisan.
b. Bab II : Landasan Teori
Bab ini berisi teori yang terkait dengan perancangan dan pembuatan
sistem.
c. Bab III : Analisa dan Perancangan Sistem
Bab ini menjelaskan tentang analisa dan perancangan sistem yang akan
Relationship diagram dan metode penyelesaian yang akan digunakan untuk menyelesaikan masalah dalam sistem.
d. Bab IV : Implementasi
Bab ini berisi implementasi dari hasil perancangan ke dalam bahasa
pemrograman.
e. Bab V : Analisis Hasil
Bab ini berisi analisa dari hasil pembuatan sistem. Bab ini membahas
tentang hasil pengujian-pengujian sistem secara α test untuk mencari kekurangan sistem maupun uji coba terhadap pengguna (β test).
f. Bab VI : Penutup
Bab ini berisi tentang kesimpulan dan saran yang berkaitan dengan sistem
yang telah dibangun. Kesimpulan dan saran dibuat berdasarkan
BAB II
LANDASAN TEORI
Dalam landasan teori ini akan dijelaskan secara singkat tentang hal-hal
yang berkaitan dengan mekanisme web service sebagai jembatan pertukaran data
lintas platform. Dijelaskan pula penggunaan format data JSON sebagai pertukaran
pesan dalam implementasi web service dan pendekatan Representational State
Transfer (REST) untuk menghubungkann aplikasi.
2.1 Sistem Informasi 2.1.1 Sistem
Sistem adalah jaringan kerja dari prosedur-prosedur yang saling
berhubungan, berkumpul bersama-sama untuk melakukan suatu
kegiatan atau menyelesaikan suatu tujuan tertentu (Kristanto, 2003).
Sedangkan menurut Edhy Sutanta (2003), Sistem adalah sekumpulan
hal atau kegiatan atau elemen yang saling bekerja sama atau yang
dihubungkan dengan cara – cara tertentu sehingga membentuk satu kesatuan untuk melaksanakan suatu fungsi guna mencapai suatu
tujuan.
Dari defenisi-definisi diatas, maka dapat diambil kesimpulan
bahwa sistem merupakan sekumpulan dari beberapa elemen atau
subsistem yang saling berinteraksi untuk mencapai suatu tujuan
2.1.2 Informasi
Informasi sangat penting dalam suatu organisasi. Suatu sistem
yang kurang mendapatkan informasi akan luruh dan berakhir.
Informasi merupakan kumpulan data yang diolah menjadi bentuk yang
lebih berguna dan lebih berarti bagi yang menerimanya. (Kristanto,
2003)
2.1.3 Sistem Informasi
Sistem informasi adalah suatu sistem di dalam suatu organisasi
yang mempertemukan kebutuhan pengolahan transaksi harian,
mendukung operasi, bersifat manajerial dan kegiatan strategi dari
suatu organisasasi, dan menyediakan pihak luar tertentu dengan
laporan - laporan yang diperlukan. (Jogiyanto, 2005)
Jadi dapat disimpulkan bahwa sistem informasi adalah suatu alat
yang membantu dalam menyediakan informasi bagi penerimanya dan
untuk membantu dalam pengambilan keputusan bagi manajemen
didalam operasi perusahaan sehari-hari dan informasi yang layak
2.2 Konsep Sistem Informasi Penjualan
Berikut ini merupakan pengertian teori dasar yang berhubungan
dengan kasus yang akan dianalisis, yaitu sebagai berikut:
2.2.1 Pengertian penjualan
Penjualan merupakan aktivitas utama perusahaan. Pendapatan
perusahaan sangat ditentukan oleh besar kecilnya penjualan. kegiatan
penjualan itu sendiri sangat erat hubungannya dengan marketing atau
pemasaran, dimana penjualan merupakan bagian dari pemasaran.
2.2.2 Sistem Informasi Penjualan
Sistem informasi penjualan adalah suatu sistem informasi yang
mengirganisasikan serangkaian prosedur dan metode yang dirancang
untuk menghasilkan, menganalisa,menyebarkan dan memperoleh
informasi guna mendukung pengambilan keputusan mengenai
penjualan.
2.3 Android
Menurut Safaat (2012), Android adalah sistem operasi berbasis Linux
bagi telepon seluler seperti telepon pintar dan komputer tablet. Android juga
menyediakan platform terbuka bagi para pengembang untuk menciptakan
aplikasi mereka sendiri yang akan digunakan untuk berbagai macam piranti
2.3.1 Sejarah Android
Android awalnya di kembangkan oleh android inc, sebuah
perusahaan yang membuat software untuk ponsel yang berada di Palo
Alto, California Amerika Serikat. Di tahun 2005, Google membeli
perusahaan bernama Android. Setelah diambil alih oleh Google, pada
November 2007 Google mengumumkan bahwa mereka sedang
mengembangkan ponsel Google dengan sistem operasi mobile terbaru
yang mereka namai Android. Sistem Operasi Android ini sebenarnya
didasarkan pada kernel Linux dan dirancang digunakan oleh Open
Handset Alliance yang terdiri dari sekelompok puluhan pembuat
hardware, carrier dan perusahaan yang terkait dengan perangkat
mobile lainnya, diantaranya Google, HTC, Intel, Motorola,
Qualcomm, T-Mobile, dan Nvidia. Open Handset Alliance dibentuk
untuk mengembangkan Android yang bersifat open source.
2.3.2 Versi Android
1. Tanpa nama ( Android versi 1.0 1.1 )
Sistem android versi 1.0 ini pertama kali hadir di tahun 2008,
tepatnya pada oktober 2008. Ponsel pertama yang menggunakan
2. Cupcake (Android versi 1.2 – 1.5)
Nama Cupcake diambil dari sebuah makanan ringan berupa kue
kecil yang di kemas dalam sebuah wadah yang biasanya di sajikan
dengan frosting diatasnya. Dengan penamaan cupcake ini maka
penamaan dari versi android dimulai.
3. Donut ( Android versi 1.6 )
berbentuk persegi panjang yang dibuat dengan krim di tengah dan
lapisan cokelat di atasnya. Di rilis pada bulan oktober 2009,
dengan rilisnya android versi ini google menambahkan fitur
Bluetooth 2.1, flash dan kamera dengan digital zoom, multi-touch,
dan live wallpaper.
5. Froyo ( Android 2.2 - 2.2.3 )
Nama Froyo diambil dari Frozen Yoghurt yaitu yoghurt yang telah
mengalami proses pendinginan sehingga terlihat seperti es krim.
kecepatan dan pengadopsian javascript dari browser google
chrome dengan fitur-fiturnya.
6. Gingerbread ( Android 2.3 - 2.4 )
Nama Gingerbread diambil dari kue kering dengan rasa khas jahe
yang biasanya berbentuk boneka mirip boneka. Versi ini dirilis
pada bulan desember 2010. Smartphone pertama yang memakai
versi android ini adalah Nexus S yang dikeluarkan oleh produsen
Samsung. Android 2.3 Gingerbread ini merupakan sistem operasi
android yang paling lama berkuasa, bahkan sampai sekarang
beberapa perusahaan masih mengeluarkan ponsel dengan versi ini.
Adapun perbaikan di versi gingerbread ini adalah tambahan fitur
dukungan untuk SIP internet calling, kemampuan nirkabel NFC,
dukungan untuk dual kamera, dukungan untuk sensor giroskop
dan sensor lainnya, fitur download manager, dan sejumlah tweak
untuk penggunaan di tablet.
7. Honeycomb ( Android 3.0 - 3.2 )
Nama Honeycomb diambil dari nama sereal manis yang terbuat
dari jagung dengan rasa madu yang berbentuk sarang lebah,
makanan ini populer sejak tahun 1965. Untuk versi ini merupakan
versi yang ditujukan untuk gadget tablet. Android Honeycomb
8. Ice Cream Sandwich ( Android 4.0 )
Android Ice Cream Sandwich atau biasa dikenal dengan nama
android 4.0 ICS adalah versi terbaru android yang sangat
mendukung baik untuk smartphone dan tablet. Android ini rilis
pada Oktober 2011. Fitur baru dari android ini adalah perubahan
interface dari android sebelumnya, antara lain pengoptimalan multitasking, variasi layar beranda yang bisa disesuaikan dan interaktivitas mendalam serta cara baru yang ampuh untuk
berkomunikasi dan berbagi konten.
9. Jelly Bean ( Android 4.1 - 4.3 )
Android 4.1 Jelly Bean resmi dikenalkan ke publik sekitar
Oktober 2012. Versi ini adalah yang tercepat dan terhalus dari
semua versi Android. Fitur baru yang terapat di versi ini adalah
meningkatkan kemudahan dan keindahan tampilan dari Ice Cream
Sandwich dan memperkenalkan pencarian google yang baru di android. Android 4.2 Jelly Bean juga menawarkan peningkatkan
kecepatan dan menambah fitur baru seperti photo phere dan desain
baru aplikasi kamera, keyboard gesture typing, dan google now.
10.KitKat ( Android 4.4 )
Awalnya android versi ini diisukan bernama Key Lime Pie.
Namun pada oktober 2013 google merilis kitkat sebagai generasi
android berikutnya. Android versi ini memiliki banyak fitur &
Immersive mode, Akses kontak langsung dari aplikasi telepon, google now launcher, dan pastinya memiliki interface yang baru.
2.4 Web Service
Web service adalah salah satu bentuk sistem perangkat lunak yang
didesain untuk mendukung interaksi mesin-ke-mesin melalui sebuah jaringan.
Web service memiliki interface yang dideskripsikan dalam format yang dapat dibaca oleh mesin. Web service sering digunakan untuk menyalurkan proses
bisnis antar aplikasi dengan berbeda vendor, bahasa pemrograman, platform
dan aplikasi client. Sistem lain yang akan berinteraksi dengan web service
memerlukan REST yang berfungsi untuk menterjemahkan data ke dalam
format JSON.
Hubungan antara client dan server pada web service tidak terjadi
secarta langsung melainkan dijembatani oleh file web service dalam format
PHP. Sehingga akses terhadap database tidak ditangani secara langsung oleh
2.4.1 Arsitektur Web Service
Secara umum arsitektur web service dapat dilihat pada Gambar 2.1
Gambar 2. 1 Arsitektur Web Service
Pada gambar di atas ada tiga komponen yang membuat web service
berjalan, ketiga komponen tersebut adalah:
1. Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat
tersedia.
2. Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layanan/service yang telah di-register.
3. Service Requestor: Berfungsi sebagai peminta service untuk mencari dan menemukan service yang dibutuhkan serta
Komponen-komponen dari web service adalah sebagi berikut:
Gambar 2. 2 Lapisan Dasar Web Service
Gambar 2.2 merupakan blok bangunan web service yang mana
menyediakan fasilitas komunikasi jarak jauh antara dua aplikasi yang
merupakan layer arsitektur web service.
a. Layer 1 : protokol internet standar yang digunakan sebagai
sarana transportasi adalah HTTP dan TCP/IP.
b. Layer 2 : Simple Object Access Protocol (SOAP) berbasiskan XML
dan digunakan untuk pertukaran informasi antar sekelompok
layanan.
c. Layer 3 : Web service Definition Language (WSDL) digunakan
untuk mendiskripsikan attribute layanan.
d. Layer 4 : Universal Description Discovery and Integration, yang
Menurut Marthasari dkk (2010), dalam penelitiannya menjelaskan
komponen web service yaitu:
a. Extensible Markup Language (XML)
XML merupakan dasar yang penting atas terbentuknya Web services. Web services dapat berkomunikasi dengan aplikasi-aplikasi yang memanggilnya dengan menggunakan XML, karena
XML berbentuk teks sehingga mudah untuk ditransportasikan menggunakan protokol HTTP. Selain itu, XML juga bersifat
platform independen sehingga informasi di dalamnya bisa dibaca oleh aplikasi apapun pada platform apapun selama aplikasi tersebut
menerjemahkan tag-tag XML.
b. Simple Object Access Protocol (SOAP)
XML saja tidak cukup agar Web services dapat berkomunikasi dengan aplikasi yang lainya. XML yang digunakan untuk saling
bertukar informasi antara web services dengan aplikasi yang lainya
harus menggunakan sebuah format standard yang dapat dimengerti
oleh keduaya. Format itulah yang dikenal dengan nama SOAP.
SOAP (Simple Object Access Protocol) merupakan suatu format
standard dokumen berbentuk XML yang digunakan untuk
melakukan proses request dan responses antara web services
dengan aplikasi yang memanggilnya. Dokumen SOAP digunakan
dokumen SOAP yang diperoleh dari Web services disebut dengan
SOAP responses.
c. Web service Definition Language (WSDL)
Sebelum mengakses sebuah Web services pastinya perlu
mengetahui method-method apa saja yang disediakan oleh Web
services tersebut, untuk mengetahuinya memerlukan sebuah dokumen yang bernama WSDL. WSDL (Web services Description
Language) adalah sebuah dokumen dalam format XML yang isinya menjelaskan informasi detail sebuah Web services. Di dalam
WSDL dijelaskan method-method apa saja yang tersedia dalam
Web services, parameter apa saja yang diperlukan untuk memanggil sebuah method, dan apa hasil atau tipe data yang
dikembalikan oleh method yang dipanggil tersebut.
2.4.2 Teknologi REST
Ada beberapa pendekatan teknologi web services yang dapat
digunakan, yaitu metode SOAP dan REST. Dalam tugas akhir ini akan
digunakan pendekatan REST.
REST (Representational State Transfer) adalah suatu arsitektur metode komunikasi yang sering diterapkan dalam
pengembangan layanan berbasis web.
Arsitektur REST, yang umumnya dijalankan via HTTP (Hypertext
yang memuat sebuah file XML atau JSON. File inilah yang
menguraikan dan memuat konten yang hendak disajikan. Setelah
melalui sebuah proses definisi tertentu, konsumen akan bisa
mengakses antarmuka aplikasi yang dimaksudkan.
Kekhasan REST terletak pada interaksi antara client dan server yang
difasilitasi oleh sejumlah tipe operasional dan Universal Resource
Identifiers (URIs) yang unik bagi tiap-tiap data. Oleh karena itu pada development web modern aksi CRUD dapat dimappingkan dengan
HTTP method sebagai berikut : CREATE sebagai POST, RETREIVE
sebagai GET, UPDATE sebagai PUT, dan DELETE sebagai DELETE.
Methods HTTP dalam REST Web services dapat dilihat pada Tabel
2.1.
Tabel 2. 1 Metode HTTP dan Penggunaannya dalam REST
Method Deskripsi
GET Mendapatkan (read) sebuah data yang diidentifikasi dengan URI (Uniform Resource Identifier)
POST Mengirimkan data ke server. Digunakan untuk membuat (create) data baru.
PUT Mengirimkan data ke server. Digunakan untuk
memasukkan (insert) atau memperbarui (update) data yang tersimpan.
DELETE Menghapus (delete) data yang diidentifikasi dengan URI.
HEAD
Mendapatkan metadata (response header) dari resource yang diidentifikasi dengan URI.
2.5 JSON
JSON (JavaScript Object Notation) adalah format pertukaran data
yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah
diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat
berdasarkan bagian dari pahasa pemrograman JavaScript, Standar ECMA-262
Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak
bergantung pada bahasa pemrograman apapun karena menggunakan gaya
bahasa yang umum digunakan oleh programmer keluarga C termasuk C,
C++, C#, Java, JavaScript, Perl, Python dan lain lain. Oleh karena sifat-sifat
tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
JSON terbuat dari dua struktur, yaitu:
1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini
dinyatakan sebagai objek (object), rekaman (record), struktur
(struct), kamus (dictionary), tabel hash (hash table), daftar
berkunci (keyed list), atau associative array.
2. Daftar nilai terurutkan (an ordered list of values). Pada
kebanyakan bahasa, hal ini dinyatakan sebagai larik (array),
2.6 PHP
Menurut Agus Saputra (2011), PHP atau yang memiliki kepanjangan
PHP Hypertext Preprocessor merupakan suatu bahasa pemrograman yang
difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan
kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai
pembangun atau pondasi dari kerangka layout web, sedangkan PHP
difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web
akan sangat mudah dikelola.
PHP berjalan pada sisi server sehingga PHP disebut juga sebagai
bahasa Server Side Scripting. Artinya bahwa dalam setiap/untuk menjalankan
PHP, wajib adanya web server.
PHP ini bersifat open source sehingga dapat dipakai secara
cuma-cuma dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi
Windows maupun Linux. PHP juga dibangun sebagai modul pada web server
apache dan sebagai binary yang dapat berjalan sebagai CGI.
2.6.1 Keunggulan PHP
Ada beberapa alasan yang menjadi pertimbangan mengapa
menggunakan PHP:
1. Mudah dipelajari, alasan tersebut menjadi salah satu alasan utama
untuk menggunakan PHP, pemula pun akan mampu untuk menjadi
2. Mampu lintas Platform, artinya PHP dapat / mudah diaplikasikan
ke berbagai platform OS (Operating Sytem) dan hampir semua
browser juga mendukung PHP.
3. Free atau tidak berbayar dan bersifat Open Source. 4. PHP memiliki tingkat akses yang cepat.
5. Didukung oleh beberapa macam web server, PHP mendukung
beberapa web server, seperti Apache, IIS, Lighttpd, Xitami.
6. Mendukung database, PHP mendukung beberapa database, baik
yang gratis maupun yang berbayar, seperti MySQL, PostgreSQL,
mSQL, Informix, SQL server, Oracle.
2.6.2 Skrip Dasar PHP
PHP adalah skrip bersifat server-side yang ditambahkan ke dalam
HTML. PHP sendiri merupakan singkatan dari Personal Home Page
Tools. Script ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis,
namun menjadi bersifat dinamis. Sifat server-side berarti pengerjaan
script dilakukan di server, baru kemudian hasilnya di kirimkan ke browser.
Sintaks dasar PHP meliputi bagaimana cara memulai suatu struktur
pemrograman PHP. Ada empat cara untuk memulai pemrograman
PHP, diantaranya:
2. <? ... ?>
3. <script language=”php”> ... </script>
4. <% ... %>
dari beberapa sintaks dasar tersebut, yang paling banyak digunakan
adalah cara nomor 1 dan nomor 2.
2.7 Slim Framework
Slim adalah kerangka kerja mikro PHP yang membantu menulis
aplikasi web dan API dengan lebih cepat sederhana namun kuat. Pada intinya,
Slim adalah operator yang menerima permintaan HTTP, memanggil callback
yang tepat secara rutin, dan mengembalikan respon HTTP.
Slim adalah alat yang ideal untuk membuat API, repurpose, atau
mempublikasikan data. Slim juga merupakan alat yang hebat untuk
prototyping yang sangat cepat. Slim dapat membangun aplikasi web dengan fitur lengkap dengan antarmuka pengguna. Lebih penting lagi, slim super
cepat dan memiliki sangat sedikit kode.
Cara kerja slim adalah pertama, diperlukan server web seperti Apache
dan harus mengkonfigurasi server web untuk mengirimkan semua permintaan
yang sesuai untuk satu "front-controller" file PHP. Aplikasi slim dapat
dijalankan dalam file PHP. Sebuah aplikasi slim mengandung rute yang
menanggapi permintaan HTTP tertentu. Setiap rute memanggil callback dan
2.8 Notasi Pemodelan Sistem 2.8.1 Use Case Diagram
Use case diagram merupakan diagram yang menggambarkan interaksi antara sistem dengan pengguna. Dengan kata lain, secara
grafis menggambarkan siapa yang akan menggunakan sistem dan
dengan cara apa pengguna berinteraksi dengan sistem (Whitten,
2004). Komponen-komponen yang digunakan dalam use-case
diagram dapat dilihat pada Tabel 2.2:
Tabel 2. 2 Simbol-simbol dalam Use Case
2.8.2 Activity Diagram
Menurut Fowler dan Scott (2000 : 129), Activity Diagram
adalah representasi grafis dari alur kerja tahapan aktivitas. Diagram
ini mendukung pilihan tindakan, iterasi, dan concurrency. Pada
bisnis dan alur kerja professional/secara step-by-step dari komponen
suatu sistem. Activity diagram menunjukkan keseluruhan dari aliran
kontrol. Simbol-simbol yang digunakan dalam perancangan activity
diagram dapat dilihat pada Tabel 2.3.
Tabel 2. 3 Simbol-simbol dalam Activity Diagram
2.8.3 Entity Relationship Diagram (ER Diagram)
ER diagram atau model Entity Relationship berisi kumpulan
himpunan entitas dan himpunan relasi yang dilengkapi atribut-atribut yang merepresentasikan seluruh fakta dari “dunia nyata” yang ditinjau dan dapat digambarkan dengan lebih sistematis dengan menggunakan
Diagram Entity Relationship ( Fathansyah, 1999 ).
Tabel 2. 4 Simbol Konsep ER
2.8.4 Basisdata (Database)
Database merupakan sekumpulan data yang terdiri atas satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap
pengguna diberi wewenang untuk dapat mengakses (mengubah,
menghapus, menganalisis, menambah dan memperbaiki) data dalam
tabel. Proses desain database dibagi menjadi tiga tahap utama, yaitu:
1. Conceptual Design
Hasil dari tahap ini berupa conceptual schema yang
mengacu pada suatu conceptual model ( ER Model ).
2. Logical Design
Pada tahap ini, conceptual schema akan diterjemahkan ke
dalam model data yang sesuai dengan Database Management
3. Physical Design
Pada tahap ini, logical schema dilengkapi dengan
detai-detail implementasi secara fisik (organisasi file dan index).
BAB III
ANALISIS DAN PERANCANGAN SISTEM 3.1Analisis Sistem
3.1.1 Gambaran Umum Sistem
Sistem yang akan dibuat adalah sistem penjualan pada perangkat
bergerak berbasis android menggunakan web service. Pengguna sistem
adalah pramuniaga toko atau minimarket, sistem akan mencatat data
penjualan dan mengirimkan data penjualan ke sistem kasir. sistem kasir
merupakan sistem yang dibangun pada sistem operasi windows. Selain
itu database yang digunakan juga dibangun pada sistem operasi
windows. Untuk melakukan pengiriman dan penerimaan data antara android dan windows diperlukan sebuah penghubung yaitu web service. Web service dapat menjadi jembatan antara android dan windows untuk melakukan pertukaran data.
Sistem dibangun menggunakan bahasa pemrograman java dan
MySQL sebagai pengelola database serta web service sebagai
penghubung antara android dengan MySQL. Selain mengirim data
penjualan ke sistem kasir, sistem juga mengirim data penjualan ke
sistem pengepakan barang. Gambaran umum sistem dapat dilihat pada
Gambar 3. 1 Gambaran umum sistem
Gambaran umum sistem pada Gambar 3.1 dapat dijelaskan sebagai
berikut:
1. Konsumen akan dilayani oleh petugas pada saat melakukan proses belanja.
2. Petugas akan memasukkan kode barang yang akan dibeli oleh konsumen
ke dalam sistem penjualan pada perangkat bergerak berbasis android
menggunakan web service.
3. Sistem akan menyimpan data penjualan ke database MySQL melalui web
service.
4. Setelah data berhasil tersimpan di database, data penjualan akan
ditampilkan pada sistem kasir berdasarkan nomor faktur dan sistem pada
5. Konsumen melakukan proses pembayaran ke bagian kasir dan mengambil
barang belanjaan yang telah dikemas.
3.1.2 Batasan Sistem
Batasan yang terdapat pada sistem ini adalah:
1. Sistem yang dibuat merupakan sistem berbasis android yang
dibangun menggunakan bahasa pemrograman java.
2. Sistem menggunakan library Zxing sebagai scanner barcode kode
barang, sehingga perangkat terintegrasi dengan aplikasi Barcode
Scanner.
3. Sistem berjalan pada jaringan internet dan sistem tidak menangani
apabila koneksi internet terputus.
3.1.3 Analisa Kebutuhan Pengguna
Sistem yang dibuat akan digunakan oleh pramuniaga
toko/minimarket. Pramuniaga dapat memasukkan id pelanggan dan
mengubah alamat IP pada halaman konfigurasi untuk masuk ke dalam
sistem. Pramuniaga juga dapat memasukan kode barang dan mengirim
data penjualan ke sistem kasir dan ke bagian pengepakan barang dari
3.1.4 Usecase Diagram
Gambar 3. 2 Use case Diagram
3.1.5 Skenario Use Case
Pada bagian ini akan dijelaskan bagaimana aktor dan sistem akan
berinteraksi pada setiap use case. Berikut adalah penjelasan tiap use
3.1.5.1 Skenario Menu Konfigurasi
Tabel 3. 1 Skenario usecase menu konfigurasi
Nama Use Case Menu Konfigurasi Aktor Petugas
Deskripsi Use case ini menggambarkan proses untuk membuka menu konfigurasi dan memasukkan id pelanggan serta mengganti alamat ip bila diperlukan
Kondisi Awal Petugas sudah menginstall aplikasi
Pemicu Use case ini digunakan untuk menampilkan menu konfigurasi Langkah Umum Aksi Aktor Respon Sistem
Langkah 1:
Sistem mengambil data yang ada di server
Langkah 4: Petugas menekan tombol back, sistem akan menutup aplikasi
3.1.5.2 Skenario Input Penjualan
Tabel 3. 2 Skenario usecase input penjualan
Nama Use Case Input Penjualan Aktor Petugas
Deskripsi Use case ini menggambarkan proses untuk memasukkan data data barang
Kondisi Awal Petugas menampilkan halaman utama
Pemicu Use case ini digunakan untuk memasukkan data Langkah Umum Aksi Aktor Respon Sistem
Langkah 1:
Sistem menampung data pada daftar penjualan
Langkah Alternatif
Langkah 3: Petugas menekan tombol back untuk membatalkan proses input penjualan
3.1.5.3 Skenario Scan Kode Barang
Tabel 3. 3 Skenario usecase scan kode barang
Nama Use Case Scan Kode Barang Aktor Petugas
Deskripsi Use case ini menggambarkan proses untuk melakukan scan pada barcode yang tersedia pada setiap barang
Kondisi Awal Petugas menampilkan halaman input penjualan
Pemicu Use case ini digunakan untuk melakukan scan pada barcode kode barang
Langkah Umum Aksi Aktor Respon Sistem
barang dan detail barang ke halaman input transaksi Langkah
Alternatif
Langkah 2: Petugas menekan tombol back, sistem akan membatalkan proses scan kode barang
3.1.5.4 Skenario Lihat Daftar Pesanan
Tabel 3. 4 Skenario usecase lihat daftar pesanan
Nama Use Case Lihat Daftar Pesanan Aktor Petugas
Deskripsi Use case ini menggambarkan proses untuk menampilkan daftar pesanan barang
Kondisi Awal Petugas menampilkan halaman utama
Pemicu Use case ini digunakan untuk melihat daftar pesanan barang Langkah Umum Aksi Aktor Respon Sistem
pesanan barang ke listview daftar pesanan
Langkah Alternatif
Langkah 2: Petugas menekan tombol back, sistem akan menampilkan halaman utama
3.1.5.5 Skenario Ganti Pelanggan
Tabel 3. 5 Skenario usecase ganti pelanggan
Nama Use Case Ganti Pelanggan Aktor Petugas
Deskripsi Use case ini menggambarkan proses untuk mengganti pelanggan
Kondisi Awal Petugas menampilkan halaman menu utama
Pemicu Use case ini digunakan untuk mengganti pelanggan Langkah Umum Aksi Aktor Respon Sistem
Langkah 1: Petugas menekan tombol back, sistem akan menutup aplikasi
3.1.5.6 Skenario Simpan Penjualan
Tabel 3. 6 Skenario usecase simpan penjualan
Nama Use Case Simpan Penjualan Aktor Petugas
Deskripsi Use case ini menggambarkan proses untuk menyimpan transaksi penjualan ke database
Kondisi Awal Petugas menampilkan halaman daftar pesanan Pemicu Use case ini digunakan untuk menyimpan penjualan Langkah Umum Aksi Aktor Respon Sistem
Sistem menyimpan data ke dalam tabel temp_penjualan dan tabel temp_detailpenjualan pada database MySQL (server pusat)
Langkah 3:
Sistem merubah tombol hapus transaksi dan simpan (selesai transaksi) menjadi disable Langkah
Alternatif
Langkah 1: Petugas menekan tombol back untuk membatalkan proses penyimpanan data penjualan
3.1.5.7 Skenario Hapus Penjualan
Tabel 3. 7 Skenario Usecase Hapus Penjualan
Nama Use Case Hapus Penjualan Aktor Petugas
Deskripsi Use case ini menggambarkan proses untuk menghapus daftar pesanan
Kondisi Awal Petugas menampilkan halaman daftar pesanan
Pemicu Use case ini digunakan untuk menghapus daftar penjualan Langkah Umum Aksi Aktor Respon Sistem
Sistem menghapus data dari daftar pesanan
Langkah 1: Petugas menekan tombol back untuk membatalkan proses hapus penjualan
3.1.6 Diagram Aktivitas
3.1.6.1 Diagram Aktivitas Menu Konfigurasi
3.1.6.2 Diagram Aktivitas Input Penjualan
3.1.6.3 Diagram Aktivitas Scan Barcode Kode Barang
Gambar 3. 5 Diagram aktivitas scan barcode kode barang
3.1.6.4 Diagram Aktivitas Lihat Daftar Pesanan
3.1.6.5 Diagram Aktivitas Ganti Pelanggan
Gambar 3. 7 Diagram aktivitas ganti pelanggan
3.1.6.6 Diagram Aktivitas Simpan Penjualan
3.1.6.7 Diagram Aktivitas Hapus Penjualan
Gambar 3. 9 Diagram aktivitas hapus penjualan
3.2Topologi Sistem
Topologi sistem adalah komponen apa saja yang digunakan untuk
membangun sebuah sistem. Komponen yang diperlukan untuk membangun
sistem ini adalah web service yang digunakan penghubung antara client
dengan server, database server, koneksi internet, dan client (pengguna).
Sistem yang dibangun adalah sistem pada perangkat android untuk
mengirimkan data penjualan ke sistem kasir dan sistem di bagian pengepakan
barang melalui web service. Data yang dikirim dari perangkat android
disimpan ke server melalui web service kemudian diolah untuk proses
pembayaran pada sistem kasir dan pada proses pengepakan barang. Topologi
3.3Perancangan Sistem
3.2.1 Perancangan Basis Data
3.2.1.1 Pemodelan Data Conceptual
3.2.1.2 Database Logical Design
Gambar 3. 12 Tabel relasi
3.2.1.3 Database Physical Design Tabel Pelanggan
Tabel Barang
Gambar 3. 14 Tabel Barang
Tabel Penjualan
Gambar 3. 15 Tabel Penjualan
Tabel DetailPenjualan
3.2.2 Perancangan Web Service
Web service merupakan jembatan penghubung lintas platform antara
perangkat android dengan database MySQL. Pada tahap ini web service
akan dibangun menggunakan bahasa pemrograman PHP. web service
dibangun untuk memungkinkan perangkat android mampu membaca data,
menyimpan data dan menghapus data dari database. Perancangan web
service dapat dilihat pada Gambar 3.17.
Keterangan dari Gambar 3.17 dapat diuraikan sebagai berikut:
1. Service Baca Mac Address
Membaca (read) data mac address yang dimiliki oleh perangkat android
di database untuk registrasi.
2. Service Baca Data Pelanggan
Membaca (read) data pelanggan yang ada di database.
3. Service Baca Data Barang
Membaca (read) data barang yang ada di database.
4. Service Ambil Nomor Faktur
Mengecek dan membuat nomor faktur baru.
5. Service Simpan Data Penjualan
Menyimpan data penjualan ke database.
6. Service Hapus Data Penjualan
Menghapus data penjualan.
3.2.3 Perancangan Interface
Desain antarmuka (interface) adalah desain masukan (input) yang akan
digunakan untuk memasukkan data ke dalam sistem.
3.2.3.1 Rancangan Tampilan Splash Screen
Tampilan pembuka dari aplikasi ini adalah splash screen yang
berjalan selama beberapa detik. Selama spalsh screen berjalan
pengekcekan mac address. Pengecekan mac address dimaksudkan
untuk mengetahui apakah perangkat sudah diregristrasi atau belum.
3.2.3.2 Rancangan Tampilan Menu Konfigurasi
Rancangan tampilan dari halaman konfigurasi merupakan halaman
untuk memasukkan id pelanggan dan melakukan edit IP address. Splash
Fortuna
Fortuna Store
Masukkan ID Pelanggan
Edit alamat IP
Konfigurasi Lewati
Gambar 3. 18 Desain tampilan splash
3.2.3.3 Rancangan Tampilan Menu Utama
Rancangan tampilan dari halaman utama ini adalah tampilan
dimana user dapat memilih menu input transaksi, menu daftar
pesanan, menu ganti pelanggan dan menu bantuan.
3.2.3.4 Rancangan Tampilan Input Transaksi
Rancangan tampilan dari halaman input transaksi berisi texfield
yang berfungsi untuk memasukkan data transaksi penjualan dan
tombol simpan. Pada tampilan ini juga terdapat tombol scan kode
barang untuk melakukan scan barcode kode barang.
Fortuna
Input Transaksi
Daftar Pesanan
Ganti Pelanggan
Bantuan
3.2.3.5 Rancangan Tampilan Daftar Pesanan
Rancangan tampilan daftar pesanan merupakan tampilan untuk
menampung hasil masukan dari halaman input transaksi dalam
bentuk listview, dimana terdapat beberapa tombol untuk
menyimpan transaksi ke database dan menghapus transaksi.
Gambar 3. 21 Desain Tampilan Input Transaksi
3.2.3.6 Rancangan Tampilan Halaman Bantuan
Halaman bantuan merupakan halaman yang berisi manual
penggunaan aplikasi.
3.2.3.7 Rancangan Tampilan Scan Barcode
Rancangan tampilan scan barcode adalah tampilan untuk
melakukan scan barcode dari kamera pada perangkat android.
Gambar Barcode
Bantuan
Cara Menggunakan Aplikasi
Gambar 3. 23 Desain tampilan bantuan
BAB IV IMPLEMENTASI
4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak
Perangkat keras yang digunakan untuk membangun sistem adalah sebagai
berikut:
a. Laptop
Type : DELL Inspiron N4050
Processor : Intel(R) Pentium(R) CPU B950 @ 2.10GHz
Harddisk : 500 GB
RAM : 2 GB
Tipe Sistem : 32-bit Operating System
b. Handphone
Type : Lenovo A589
Processor : Quad-core 1.3 GHz Cortex-A7
RAM : 1 GB
Kamera : 8 MP
Layar : 5.0 Inch
Sistem Operasi : Android 4.2 Jelly Bean
Perangkat lunak yang digunakan untuk membangun aplikasi adalah sebagai
berikut:
1. OS Windows 7 Ultimate
2. Eclipse JUNO 4.2.1
4. MySQL
5. Genymotion sebagai Emulator Android
4.2 Web Service
Pada saat aplikasi pertama kali dijalankan, sistem akan membaca data
dari server pada database mysql. Sebagai jembatan antara android dan
mysql diperlukan sebuah file web service berupa php untuk membaca data
dari database.
4.2.1 Service Baca Mac Address
Pada saat aplikasi pertama kali dijalankan, sistem akan melakukan
checking mac address untuk memastikan bahwa perangkat android telah diregistrasi. Data yang diterima jika perangkat bergerak sudah
diregistrasi dapat dilihat pada Gambar 4.1.
Kode program untuk melakukan checking mac address adalah
sebagai berikut:
Gambar 4. 2 Kode progam untuk melakukan cek mac address
4.2.2 Service Baca Data Pelanggan
Untuk membaca data pelanggan, diperlukan sebuah parameter
berupa kodePelanggan. Sebagai contoh, web service akan membaca
data dengan kodePelanggan 143, maka alamat yang diakses adalah
http://localhost/fortuna/pelanggan/143. Data yang diterima jika
mengakses alamat tersebut dapat dilihat pada Gambar 4.3.
Kode program untuk membaca data pelanggan dari server adalah
sebagai berikut:
Gambar 4. 4 Kode program membaca data pelanggan
4.2.3 Service Baca Data Barang
Untuk membaca data barang, web service akan mengakses
http://localhost/fortuna/barang. Data yang diterima dapat dicermati
pada Gambar 4.5.
Kode program untuk mengambil data barang dari server adalah
sebagai berikut:
Gambar 4. 6 Kode program membaca data barang
4.2.4 Service Ambil Nomor Faktur
Untuk mendapatkan nomor faktur baru, sistem akan mengecek
nomor faktur yang terakhir pada database. Nomor faktur baru
didapatkan dengan melakukan pengurutan dari nomor faktur
sebelumnya. Kode program untuk mendapatkan nomor faktur dapat
dilihat pada Gambar 4.8.
4.2.5 Service Simpan Data Penjualan
Pada saat melakukan proses penyimpanan data, data akan disimpan
ke dalam 2 tabel yang berbeda secara bersamaan. Tabel yang
bersangkutan adalah tabel temp_penjualan dan tabel
temp_detailpenjualan. Web service akan mengakses alamat
http://localhost/fortuna/penjualan dengan method POST.
Kode program untuk menyimpan data ke tabel temp_penjualan
adalah sebagai berikut:
Gambar 4. 8 Kode program input data temp_penjualan
Kode program untuk menyimpan data ke tabel temp_detailpenjualan