RANCANG BANGUN APLIKASI KASIR BERBASIS
ANDROID STUDI KASUS PADA KEBAB KINGS
INDONESIA
TUGAS AKHIR
Program Studi Sistem Informasi
Oleh:
Bramantyo Adi Nugroho 09.41010.0142
FAKULTAS TEKNOLOGI DAN INFORMATIKA INSTITUT BISNIS DAN INFORMATIKA
DAFTAR ISI
ABSTRAK ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR GAMBAR ... vii
DAFTAR TABEL ... xiii
DAFTAR LAMPIRAN ... xvi
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan ... 3
1.5 Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 6
2.1 System Development Life Cycle ... 6
2.2 Metodologi Pengembangan Sistem ... 7
2.2.1 Desain Terstruktur ... 7
2.2.2 Rapid Application Development ... 9
2.2.3 Agile Development ... 14
2.3 Waralaba / Franchise ... 17
2.3.1 Produk Franchise ... 18
2.3.3 Business Oportunity Ventures ... 18
2.3.4 Business Format Franchising ... 18
2.4 Sistem Pembayaran ... 19
2.5 Android ... 19
2.5.1 SQLite ... 20
2.5.2 Software Development Kit ... 21
2.5.3 Bluetooth Module... 22
2.6 Dashboard ... 22
2.6.1 Tujuan Penggunaan Dashboard ... 23
2.6.2 Jenis dashboard ... 23
2.7 Unified Modelling Language... 26
2.7.1 UseCaseDiagram ... 27
2.7.2 ActivityDiagram ... 28
2.7.3 SequenceDiagram ... 30
2.7.4 Class Diagram ... 31
2.8 Konsep Dasar Sistem Penjualan ... 33
2.9 Point of Sales ... 34
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 37
3.1 Perencanaan ... 38
3.1.1 Identifikasi Permasalahan ... 38
3.1.2 Teknik Pengumpulan Data ... 40
3.2.1 Analisa Kebutuhan Sistem ... 42
3.2.2 Kebutuhan Perangkat Keras ... 59
3.2.3 Kebutuhan Perangkat Lunak ... 61
3.2.4 Pembuatan Program ... 61
3.3 Desain ... 62
3.3.1 Perancangan Desain Sistem ... 62
3.3.2 Perancangan Uji Coba... 108
BAB IV IMPLEMENTASI DAN EVALUASI ... 125
4.1 Implementasi Sistem ... 125
4.1.1 Instalasi Aplikasi pada Smartphone Android ... 126
4.1.2 Instalasi pada aplikasi Web ... 132
4.2 Uji Coba ... 149
4.2.1 Uji Coba Fitur Android ... 150
4.2.2 Uji Coba Fitur Web ... 153
4.3 Evaluasi ... 167
BAB V PENUTUP ... 175
5.1 Kesimpulan ... 175
5.2 Saran 175 DAFTAR PUSTAKA ... 176
BAB I PENDAHULUAN
1.1Latar Belakang Masalah
Perusahaan Kebab Kings merupakan perusahaan waralaba(franchise) dari Surabaya yang bergerak dibidang makanan cepat saji khas Timur Tengah seperti kebab dan burger. Pada tahun 2013 jumlah gerai dari perusahaan ini sudah lebih dari 600 gerai yang tersebar diseluruh Indonesia. Pihak Kebab Kings membutuhkan sebuah sistem yang dapat memantau penjualan seperti barang terlaris, lokasi paling ramai sampai penggunaan stok bahan baku.
Sebagian besar gerai franchise ini hanya menulis nota yang dibantu menggunakan kalkulator untuk menghitung jumlah transaksi. Hal tersebut menunjukkan terbatasnya waktu yang dimiliki karyawan antara melayani pelanggan dengan merekap transaksi. Kondisi tersebut menyebabkan perusahaan tidak mendapatkan kepastian total transaksi yang ada dilapangan serta seberapa banyak bahan baku yang dipakai oleh karyawan dengan omzet yang disetorkan. Kurangnya informasi penggunaan bahan baku dapat mempengaruhi total pendapatan yaitu dimana bahan baku yang dikeluarkan untuk masing-masing karyawan menunjukan kuantitas menu yang akan dijual sehingga dapat diketahui antara bahan baku yang telah digunakan dengan total pendapatan yang seharusnya didapatkan.
yang terhubung dengan printer struk melalui Bluetooth. Beberapa alasan utama menggunakan perangkat android yaitu karena mudah didapatkan dipasaran dengan harga yang relatif terjangkau dan hemat listrik dibandingkan dengan mesin kasir atau sebuah komputer (desktop/laptop), lebih fleksibel untuk dibawa serta efisien tempat. Sedangkan kelebihan dari printer struk yaitu bentuknya yang kecil sehingga mudah untuk dibawa dan tidak memakan banyak tempat serta konsumsi listrik yang relatif kecil.
Dari permasalahan diatas, maka pihak perusahaan Kebab Kings membutuhkan sebuah aplikasi penjualan berbasis androidyang dapat memberikan informasi dalam melakukan perhitungan penggunaan bahan baku dan merekap transaksi penjualan selama sehari serta menghasilkan laporan untuk membantu pemilik dalam merekap transaksi penjualan untuk ditampilkan dalam bentuk laporan untuk pemilik perusahaan.
1.2Perumusan Masalah
Berdasarkan latar belakang masalah yang ada, maka dapat dirumuskan permasalahan yaitu:
a. Bagaimana merancang dan membangun aplikasi penjualan berbasis android yang dapat memberikan informasi dalam melakukan perhitungan penggunaan bahan baku dan total transaksi.
b. Bagaimana merekap transaksi penjualan untuk ditampilkan dalam bentuk laporan untuk pemilik perusahaan.
1.3Batasan Masalah
a. Data yang diambil hanya untuk wilayah Surabaya dan sampel produk diambil pada bulan Mei sampai Juli 2015.
b. Data penjualan dilakukan secara real-time perharinya dan hanya menangani gerai milik perusahaan saja.
c. Bahan baku yang digunakan hanya yang bersifat satu unit (bisa dihitung) pada setiap produk.
d. Aplikasi ini hanya bisa diterapkan pada smartphone android minimal versi 3.0 (Honeycomb).
1.4Tujuan
Tujuan pada penelitian ini adalah sebagai berikut:
a. Merancang dan membangun aplikasi penjualan berbasis android yang dapat memberikan informasi dalam melakukan perhitungan penggunaan bahan baku dan total transaksi.
b. Merekap transaksi penjualan untuk ditampilkan dalam bentuk laporan untuk pemilik perusahaan.
1.5Sistematika Penulisan
Sistematika penulisan laporan aplikasi kasir berbasis android studi kasus pada Kebab Kings Indonesia adalah sebagai berikut:
BAB I : PENDAHULUAN
BAB II : LANDASAN TEORI
Bab ini menjelaskan tentang gambaran umum dari perusahaan Kebab Kings Indonesia yang dijadikan sebagai tempat pelaksanaan penelitian dan landasan teori yang berbentuk uraian kualitatif, model matematis atau persamaan-persamaan yang langsung berkaitan dengan permasalahan yang dikerjakan. Dalam hal ini, teori yang digunakan dalam penyelesaian masalah penelitian ini adalah teori tentang waralaba/franchise, sistem pembayaran, konsep dasar tentang sistem penjualan serta android sebagai perangkat untuk aplikasi yang akan dibuat.
BAB III : METODE PENELITIAN DAN PERANCANGAN SISTEM
Bab ini berisi penjelasan tentang tahap-tahap yang dikerjakan dalam penyelesaian penelitian yang terdiri dari observasi pendahuluan,
interview/wawancara, studi pustaka, identifikasi masalah dan tujuan, sesuai dengan analisa kebutuhan dan rancangan sistem serta struktur basis data dan desain antarmuka.
BAB IV : IMPLEMENTASI DAN EVALUASI
Bab ini menjelaskan tentang implementasi dari sistem yang telah dibuat, uji coba fungsional, uji coba non-fungsional, dan evaluasi sistem.
BAB V : PENUTUP
BAB II LANDASAN TEORI
2.1System Development Life Cycle
System development life cycle (SDLC) adalah proses untuk memahami
bagaimana sebuah sistem informasi dapat mendukung kebutuhan bisnis dengan
merancang suatu sistem, membangun sistem tersebut dan menyampaikan kepada
pengguna (Tegarden, Dennis, Wixon, 2013).
SDLC memiliki empat fase dasar yaitu planning, analysis, design dan
implementation. Setiap fase itu sendiri terdiri dari serangkaian langkah yang
menggunakan cara tertentu dalam menghasilkan goal yang dicapai. Pada poin berikut
akan dijelaskan secara singkat dari keempat fase tersebut.
a. Planning
Fase planning adalah proses dasar dalam memahami mengapa sistem informasi harus
dibangun dan menentukan bagaimana tim proyek akan membangun project tersebut.
b. Analysis
Fase analysis adalah jawaban dari pertanyaan siapa yang akan menggunakan sistem,
apa yang yang akan dilakukan oleh sistem, dan dimana serta kapan sistem tersebut
akan digunakan. Pada fase ini pula tim proyek menginvestigasi sistem yang sudah ada
sebelumnya, mengidentifikasi peluang untuk perbaikan dan mengembangkan konsep
yang baru untuk sistem yang akan dibuat.
c. Design
Fase design yaitu menentukan bagaimana sistem akan beroperasi, dalam hal ini antara
lain perangkat keras, perangkat lunak, infrastruktur jaringan (user interface), forms
d. Implementation
Fase final pada SDLC ini adalah fase implementation, yaitu pada saat sistem telah
selesai dibuat. Implementasi pada fase ini biasanya paling banyak mengambil
perhatian karena dalam keseluruhan sistem, tahap implementasi adalah tahap yang
paling banyak memakan waktu serta biaya karena mencoba keseluruhan sistem.
2.2Metodologi Pengembangan Sistem
Metodologi merupakan pendekatan formal untuk mengimplementasikan SDLC. Terdapat banyak cara untuk mengkategorikan sebuah metodologi tergantung dengan fokus pada proses bisnis atau data yang mendukung bisnis. Namun dalam pengerjaan penelitian ini menggunakan metodologi yang berorientasi pada objek untuk mencoba menyeimbangkan fokus antara proses dan data dengan menggabungkan keduanya menjadi satu model.
2.2.1 Desain Terstruktur
Metode desain terstruktur mengadopsi langkah-langkah pendekatan terhadap SDLC yang bergerak dari satu tahap ke tahap selanjutnya. Berikut pengembangan dari desain terstruktur:
A. Waterfall
Struktur asli dari metode desain terstruktur adalah metode pengembangan
Gambar 2.1 WaterfallDevelopment
Kelebihan dari menggunakan metode waterfall yaitu karena sistem ini mengidentifikasi kebutuhan sistem jauh sebelum melakukan pemrograman dan berguna untuk meminimalisir terjadinya perubahan pada kebutuhan sistem yang akan dibuat. Namun kekurangan dari sistem ini yaitu desain dari sistem yang akan dibuat harus selesai secara keseluruhan sebelum programming aplikasi berjalan dan hal tersebut membutuhkan waktu lama dalam tahap analisis sistem.
B. Parallel
Metode ini digunakan untuk mengatasi masalah penundaan yang lama antara analis dan pengiriman pada sistem. Metode ini melakukan desain umum untuk sistem secara keseluruhan kemudian membagi project menjadi serangkaian
Gambar 2.2 Parallel Development
Kelebihan dari metode ini yaitu dapat mengurangi waktu dalam pembuatan sistem serta lebih sedikit kemungkinan terjadinya perubahan dalam lingkungan bisnis yang dibuat. Namun metode ini juga memiliki kekurangan yaitu terkadang sub project yang dikerjakan tidak sepenuhnya independen tetapi masih terhubung dengan sub project yang lainnya sehingga pada akhir project
membutuhkan integrasi sistem yang besar.
2.2.2 Rapid Application Development
dapat lebih memahami sistem dan dapat menyarankan revisi pada aplikasi yang bermasalah agar sistem dapat menjadi lebih dekat dengan tujuan yang diinginkan. Ada tiga pendekatan dasar dari RAD yaitu:
A. Phased Development
Metode phased development membagi keseluruhan sistem menjadi beberapa versi yang akan dikembangkan secara berurutan. Pada fase analisa mengidentifikasi konsep sistem secara keseluruhan, tim proyek, pengguna dan sistem pendukung lalu mengkategorikan kebutuhan menjadi beberapa versi berbeda. Kebutuhan yang paling penting dan mendasar terikat kedalam versi pertama dari sistem. Berikut metode phaseddevelopment pada Gambar 2.3.
Pada saat implementasi dilakukan pada versi pertama, maka akan dilanjutkan ke versi kedua. Analisis tambahan dilakukan berdasarkan dari identifikasi kebutuhan sebelumnya dan dikombinasikan dengan ide-ide baru serta isu yang muncul dari pengalaman pengguna pada versi pertama. Setelah versi yang dikerjakan selesai maka dilanjutkan ke versi berikutnya hingga selesai.
Kelebihan dari penggunaan metode phase development ini yaitu secara cepat mendapatkan sistem yang dapat digunakan oleh pengguna. Meskipun sistem masih belum bisa melakukan fungsi-fungsi secara keseluruhan, namun metode ini dapat melakukan proses bisnis yang dibutuhkan pengguna lebih cepat sebelum aplikasi selesai sepenuhnya.
B. Prototyping
Metode prototyping melakukan fase analisis, desain dan implementasi secara bersamaan, serta ketiga fase tersebut dilakukan berulang kali sampai sistem selesai dibangun. Pada metode ini, analisis dan desain dasar dari sistem dibangun dan langsung dijalankan pada sistem uji coba yang berisi program apa adanya serta fitur-fitur yang masih belum lengkap. Sistem uji coba yang pertama kali dijalankan umumnya berisi sistem yang telah berjalan sebelumnya kemudian ditunjukkan kepada pengguna atau perusahaan untuk mendapatkan masukan-masukan yang nantinya digunakan untuk menganalisis ulang, mendesain ulang dan mengimplementasi ulang pada sistem uji coba yang kedua. Proses ini berlanjut hingga sistem sudah memenuhi kebutuhan fungsionalitas dari pengguna atau perusahaan. Setelah sistem uji coba sudah sempurna maka akan diimplementasikan kedalam sistem yang sesungguhnya. Berikut metode
Gambar 2.4 Metode Prototyping
Kelebihan dari penggunaan metode ini yaitu dapat membuat sistem yang langsung bisa digunakan oleh pengguna meskipun sistem tersebut masih belum bisa diterapkan pada perusahaan yang bersangkutan. Sistem uji coba tersebut dapat meyakinkan pengguna bahwa tim proyek sudah melakukan pekerjaanya sejak awal (tidak perlu menunggu waktu lama dalam implementasi) dan uji coba tersebut membantu menyelesaikan kebutuhan dari perusahaan secara nyata. Dibandingkan tim proyek harus mempelajari segala aspek spesifikasi kebutuhan perusahaan secara keseluruhan, metode ini lebih baik karena pengguna dapat berinteraksi secara langsung pada sistem uji coba dan mengerti apa yang bisa dilakukan dan mana yang tidak bisa dilakukan.
C. Throwaway Prototyping
Metode throwaway prototyping hampir sama dengan metode prototyping
mengembangkan ide-ide untuk konsep dari sistem yang akan dibangun. Namun setelah membuat sistem uji coba, pengguna yang mencoba kemungkinan besar tidak memahami keseluruhan fitur-fitur yang mereka inginkan. Desain sistem uji coba yang dibuat bukanlah sebuah working system atau sistem yang dapat langsung digunakan oleh pengguna, namun cenderung sebuah produk yang masih membutuhkan perbaikan. Sistem uji coba ini juga hanya mengandung beberapa informasi yang bisa dipahami oleh pengguna. Berikut dibawah ini Gambar dari metode throwawayprototyping.
Gambar 2.5 Metode ThrowawayPrototyping
Sebuah sistem yang dikembangkan menggunakan metode ini kemungkinan bergantung pada desain uji coba yang berbeda beda baik pada fase analisis maupun fase desain. Setiap uji coba yang digunakan berguna untuk meminimalisir resiko yang ada pada sistem dengan cara mengkorfirmasi bahwa masalah-masalah utama telah dapat diatasi sebelum sistem yang sesungguhnya dijalankan. Ketika semua masalah pada sistem dapat diselesaikan maka project
2.2.3 Agile Development
Kategori terakhir dari metodologi pengembangan sistem yaitu agile development. berdasarkan kenyataan, yang ditekankan pada metode ini yaitu kondisi kerja dari pengembang, aplikasi, customer dan mengatasi perubahan kebutuhan dari perusahaan dibandingkan dengan fokus pada proses pengembangan detail sistem, tools, dokumentasi ataupun detail perencanaan. Metode yang terpusat pada programming ini memiliki beberapa aturan dan praktek yang secara keseluruhan sangat mudah untuk dilakukan.
Agile development menganut dua belas prinsip dasar. Berikut ini kedua belas prinsip dasar yaitu:
1. Software yang dikerjakan diimplementasikan langsung melalui proses pengembangan aplikasi yang kontinyu untuk memuaskan customer.
2. Perubahan kebutuhan terjadi pada proses pengembangan.
3. Update aplikasi yang dibuat diperbarui secara berkala setiap harinya.
4. Customer dan pengembang aplikasi dapat bekerja sama untuk menyelesaikan permasalahan bisnis yang dihadapi.
5. Setiap individu dari tim termotivasi untuk menciptakan solusi dengan cara memberikan mereka tools dan lingkungan yang dibutuhkan serta mempercayai mereka untuk menyelesaikan pekerjaannya.
6. Berkomunikasi secara langsung dengan tim adalah metode yang paling efektif dan efisien dalam menentukan kebutuhan dari proyek.
8. Baik customer maupun pengembang aplikasi harus bekerja dengan ritme yang sama dan dilakukan secara berkelanjutan.
9. Kelincahan yang tinggi dan seimbang baik dalam segi keunggulan teknis dan desain.
10.Kesederhanaan adalah kunci utama. Menghindari pekerjaan yang tidak perlu adalah suatu hal yang penting.
11.Tim yang dijalankan secara terorganisir dapat mengembangkan arsitektur, kebutuhan dan desain yang terbaik.
12.Tim pengembang harus meningkatkan proses pembangunan mereka secara teratur.
Metode agile fokus pada pelurusan proses pengembangan sistem dengan menghilangkan pemodelan dan dokumentasi serta waktu yang digunakan untuk melakukan tugas tersebut. Pada metode agile development proses kerja yang dilakukan dibuat sesederhana mungkin dan melewati fase-fase tradisional pada proses pengembangan sistem. Berikut Gambar 2.6 metode agiledevelopment.
Planning
Analysis
Design
Implementation
System
Keunggulan dari metode ini yaitu sangat cocok digunakan untuk pengembangan sistem yang berorietasi pada objek. Metode agile development
terbagi menjadi dua yaitu extremeprogramming (XP) dan scrum. berikut dibawah ini adalah penjelasan dari masing-masing metode.
A. Extreme Programming (XP)
Extreme programming atau XP memiliki empat nilai inti yaitu komunikasi, kesederhanaan, timbal balik dan keberanian. Keempat nilai tersebut memberikan sebuah pondasi pada pengembang XP untuk membuat sebuah sistem. Pertama, pengembang harus memberikan timbal balik berkala yang cepat kepada
end user. Kedua, metode XP membutuhkan pengembang yang mengikuti prinsip dari KISS. Ketiga, pengembang harus membuat perkembangan lebih baik secara berkala kedalam sistem. Keempat, pengembang harus memiliki mental yang berkualitas.
Testing dan praktek coding yang efisien adalah inti dari metode XP.
Coding yang dibuat harus diuji berkala serta terintegrasi dengan lingkungan
testing. Apabila terdapat error, maka programmer harus menyelesaikan program tersebut hingga sempurna.
B. Scrum
leader. Sebagai gantinya, tim dikelola sendiri secara simbiosis dengan anggota yang lain secara bersamaan.
Tipikal jumlah anggota tim ini berkisar tidak lebih dari tujuh orang. Model pengerjaan yang dilakukan yaitu pembagian kerja yang dilakukan selama perhari yang kemudian dilanjutkan pada hari berikutnya. Dengan metode seperti ini sangat tidak memungkinkan untuk diterapkan pada sistem dengan skala besar dikarenakan tidak ada struktur pembagian kerja yang jelas dan benar.
2.3Waralaba / Franchise
Waralaba adalah perjanjian atau lisensi antara dua pihak yang independen secara hukum diantaranya, yaitu (IFA, 2010, p5):
a. Seseorang atau sekelompok orang yang berhak memiliki bisnis tertentu yang menggunakan merek dagang dari pihak lain.
b. Pengguna franchise memiliki hak untuk memasarkan produk atau jasa sesuai metode dan prosedur dari franchisor (pemilik franchise).
c. Pengguna franchise diwajibkan untuk membayar biaya ke franchisor untuk hak-hak tersebut.
d. Franchisor berhak untuk memberikan hak-hak dan dukungan untuk pengguna
franchise.
2.3.1 Produk Franchise
Produsen memberikan hak kepada pemilik toko untuk mendistribusikan barang-barang milik pabrik dan mengijinkan pemilik toko untuk menggunakan nama dan merek dagang pabrik. Pemilik toko harus membayar sejumlah biaya atau membeli persediaan minimum sebagai timbal balik dari hak-hak ini.
2.3.2 Manufacturing Franchise
Jenis franchise ini memberikan hak pada suatu badan usaha untuk membuat suatu produk dan menjualnya pada masyarakat, dengan menggunakan merek dagang dan merek franchisor. Jenis franchise ini seringkali ditemukan dalam industri makanan dan minuman.
2.3.3 Business Oportunity Ventures
Bentuk ini mengharuskan pemilik bisnis untuk membeli dan mendistribusikan produk-produk dari suatu perusahaan tertentu. Perusahaan harus menyediakan pelanggan atau rekening bagi pemilik bisnis, dan sebagai timbal baliknya pemilik bisnis harus membayarkan suatu biaya atau prestasi sebagai kompensasi.
2.3.4 Business Format Franchising
bahwa business format franchising yang banyak mengalami pertumbuhan adalah ritel dan restoran.
2.4Sistem Pembayaran
Sistem pembayaran adalah sistem yang berkaitan dengan kegiatan pemindahan dana dari satu pihak kepada pihak lain yang melibatkan berbagai komponen sistem pembayaran, antara lain alat pembayaran, kliring, dan setelmen. Dalam prakteknya, kegiatan sistem pembayaran melibatkan berbagai lembaga yang berperan sebagai penyelenggara jasa sistem pembayaran maupun penyelenggara pendukung jasa sistem pembayaran seperti bank, lembaga keuangan selain bank, dan bahkan perorangan (Bank Indonesia, 2008, p2).
Dalam perkembangannya, sistem pembayaran yang merupakan salah satu pilar penopang stabilitas sistem keuangan telah berkembang dengan pesat seiring dengan perkembangan teknologi. Di sisi lain, perkembangan teknologi juga telah mendorong berkembangnya alat pembayaran dari yang semula cash based
menjadi noncashbased. Selanjutnya, noncashbasedinstrument ini telah menjadi sedemikian canggih sehingga tidak lagi berbasis kertas (paper based) melainkan telah berevolusi ke bentuk paperless. Sudah barang tentu alat pembayaran yang
paperless membutuhkan infrastruktur teknologi tinggi dan juga suatu legalregime
yang berbeda dari alat pembayaran berbasis kertas (Bank Indonesia, 2008, p3).
2.5Android
Android adalah platform open source yang dirancang untuk perangkat
bagaimana mempercepat inovasi pada ponsel dan menawarkan kepada pengguna sebuah kendaraan untuk mengembangkan pengalaman menggunakan ponsel yang lebih mudah dan murah (Gargenta, 2011).
Pada aplikasi android dibutuhkan beberapa aplikasi pendukung dalam pembuatannya diantaranya yaitu SQLite sebagai media penyimpanan data transaksi pemesanan pelanggan, android SDK (Software Developemnt Kit) untuk pengembangan aplikasi yang akan dibuat dan Bluetooth Module untuk mengkoneksikan antara smartphone android dengan wireless Bluetooth printer. Masing-masing dari aplikasi pendukung diatas akan dijelaskan pada subbab dibawah ini.
2.5.1 SQLite
Database pada android diperlukan untuk menyimpan informasi berguna adari aplikasi yang perlu bertahan bahkan ketika pengguna menutup aplikasi atau pada saat mematikan dan menyalakan kembali smartphone yang digunakan (Gargenta, 2001).
Penggunaan database bisa melalui cloud atau lokal. Pada studi kasus yang diangkat lebih diutamakan penggunaan penyimpanan secara lokal untuk dapat diakses lebih cepat meskipun tanpa koneksi internet pada saat karyawan melakukan transaksi. Untuk penyimpanan melalui cloud diperlukan hanya pada saat user melakukan login dan logout pada aplikasi agar dapat diakses kedalam
web server.
database berbayar pada umumnya. SQLite memiliki reputasi baik yang dikenal karena sangat portabel, mudah digunakan, kompak , efisien, dan dapat diandalkan untuk penggunaan mobiledevice (Owens, 2006).
Berikut ini beberapa alasan mengapa SQLite sangat cocok untuk pengembangan aplikasi kasir berbasis android:
1. Zero configuration database. Sama sekali tidak ada konfigurasi database yang harus dilakukan oleh pengembang aplikasi. Hal ini membuatnya relatif lebih mudah digunakan.
2. Tidak memiliki server. Tidak ada running process yang terjadi pada database
SQLite dikarenakan libraries pada SQLite sudah mendukung fungsionalitas
database.
3. Database dengan tipe file tunggal dikarenakan setiap aplikasi dan data yang tersimpan didalamnya dibagi kedalam “kotak pasir” sehingga keamanan dari
masing-masing aplikasi terjaga dengan baik.
4. Bersifat opensource sehingga tanpa memerlukan biaya untuk pengembangannya.
2.5.2 Software Development Kit
Android Software Development Kit (SDK) adalah tools API (Aplication Programming Interface) yang digunakan untuk mulai mengembangkan aplikasi pada platform android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi,
kesempatan untuk membuat aplikasi yang bukan merupakan aplikasi bawaan
smartphone. Beberapa fitur android yang paling penting dalam pembuatan aplikasi kasir adalah :
1. Sudah berisi SQLite untuk penyimpanan data.
2. Media Support yang mendukung audio, video dan Gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony.
3. Bluetooth, EDGE, 3G dan WIFI untuk koneksi dengan internet dan wireless
Bluetooth printer.
4. Lingkungan development yang lengkap dan kaya, termasuk perangkat emulator,
tools untuk debugging, profil dan kinerja memori, dan plug in untuk IDE Eclipse.
2.5.3 Bluetooth Module
Bluetooth merupakan fitur penting dalam pembuatan aplikasi kasir ini. Teknologi wireless yang dikembangkan untuk menggantikan penggunaan kabel untuk menghubungkan dengan smartphone android. Bluetooth memberikan akses
wireless untuk menghubungkan antara dua perangkat yang terpisah jarak tertentu. Dalam pengerjaan aplikasi ini dibutuhkan Bluetooth adapter pada perangkat android untuk melakukan pekerjaan yang mendasar seperti inisiasi penemuan perangkat, permintaan daftar perangkat terikat (paired) menggunakan alamat MAC address dari smartphone dan menciptakan BluetoothServerSocket untuk mendengarkan permintaan sambungan dari perangkat lain.
2.6Dashboard
sebuah layar, menjadi informasi yang dibutuhkan dan dapat dilihat secara sekilas.
Dashboard itu sebuah tampilan pada satu monitor komputer penuh yang berisi informasi yang bersifat kritis, agar kita dapat mengetahui hal-hal yang perlu diketahui. Biasanya kombinasi teks dan grafik, tetapi lebih ditekankan pada grafik (Few, 2006:34).
2.6.1 Tujuan Penggunaan Dashboard
Tujuan penggunaan dashboard menurut Eckerson (2006:5) yaitu: 1. Mengkomunikasikan Strategi
Mengkomunikasikan strategi dan tujuan yang dibuat oleh eksekutif kepada semua pihak yang berkepentingan sesuai dengan peran dan levelnya dalam organisasi. 2. Memonitor dan Menyesuiakan Pelaksanaan Strategi
Memonitor pelaksanaan dari rencana dan strategi yang telah dibuat. Memungkinkan eksekutif untuk mengidentifikasi permasalahan kritis dan membuat stategi untuk mengatasinya.
3. Menyampaikan Wawasan dan Informasi ke Semua Pihak
Menyajikan informasi menggunakan grafik, simbol, bagan dan warna yang memudahkan pengguna dalam memahami dan mempersepsi informasi secara benar.
2.6.2 Jenis dashboard
A. Strategic Dashboard
1. Mendukung manajemen level strategis.
2. Informasi untuk membuat keputusan bisnis, memprediksi peluang, dan memberikan arahan pencapaian tujuan strategis.
3. Fokus pada pengukuran kinerja high-level dan pencapaian tujuan strategis organisasi.
4. Mengadopsi konsep Balance Score Card.
5. Informasi yang disajikan tidak terlalu detail.
6. Konten informasi tidak terlalu banyak dan disajikan secara ringkas.
7. Informasi disajikan dengan mekanisme yang sederhana, melalui tampilan yang
unidirectional.
8. Tidak di desain untuk berinteraksi dalam melakukan analisis yang lebih detail. 9. Tidak memerlukan data real time.
B. Tactical Dashboard
1. Mendukung manajemen tactical.
2. Memberikan informasi yang diperlukan oleh analisis untuk mengetahui penyebab suatu kejadian.
3. Fokus pada analisis untuk menemukan penyebab dari suatu kondisi atau kejadian tertentu.
4. Dengan fungsi drill down dan navigasi yang baik.
5. Memiliki konten informasi yang lebih banyak (Analisis perbandingan, pola/tren, evaluasi kerja).
7. Didesain untuk berinteraksi dengan data. 8. Tidak memerlukan data real time.
C. Operational Dashboard
1. Mendukung manajemen level operasional.
2. Memberikan informasi tentang aktivitas yang sedang terjadi, beserta perubahannya secara real time untuk memberikan kewaspadaan terhadap hal-hal yang perlu direspon secara cepat.
3. Fokus pada monitoring aktifitas dan kejadian yang berubah secara konstan. 4. Informasi disajikan spesifik, tingkat kedetailan yang cukup dalam.
5. Media penyajian yang sederhana.
6. Alert disajikan dengan cara yang mudah dipahami dan mampu menarik perhatian pengguna.
7. Bersifat dinamis, sehingga memerlukan data real time.
8. Didesain untuk berinteraksi dengan data, untuk mendapatkan informasi yang lebih detail, maupun informasi pada level lebih atas (Higher Level Data).
Tipe dashboard yang akan digunakan pada penelitian ini yaitu tipe operational dashboard. Berikut ini beberapa kelebihan menggunakan dashboard
pada aplikasi kasir berbasis android:
a. Dapat menampilkan ukuran kinerja perusahaan. Pada dashboard laporan yang akan ditampilkan nantinya pemilik dapat melihat kinerja dari tingkat penjualan karyawan, tingkat penjualan produk, gerai terlaris, produk terlaris dan lain sebagainya.
disajikan apabila terjadi penurunan pendapatan pada lokasi gerai tertentu, karyawan tertentu dan lain sebagainya.
c. Memiliki kemampuan untuk menghasilkan laporan terbaru dan menghemat waktu dibandingkan dengan laporan konvensional. Setiap data yang digunakan selama gerai beroperasi (bahan baku, produk, jumlah transaksi, karyawan dan gerai) masuk kedalam web server untuk diolah secara real-time. Real-time karena tidak melalui rekap data secara manual oleh pegawai kantor yang membutuhkan waktu lebih lama.
d. Dapat mengukur tingkat efisiensi data. Karena pelaporan disimpan dalam web server, perusahaan tidak memerlukan penyimpanan data bersifat fisik tetapi dapat langsung melihat periode penjualan yang dibutuhkan kemudian dapat mencetaknya dalam bentuk file .PDF.
2.7Unified Modelling Language
2.7.1 Use Case Diagram
Use-case diagram merupakan model diagram UML yang digunakan untuk menggambarkan requirement fungsional yang diharapkan dari sebuah sistem.
Use-case diagram menekankan pada “siapa” melakukan “apa” dalam lingkungan
sistem perangkat lunak akan dibangun. Use-case diagram sebenarnya terdiri dari dua bagian besar; yang pertama adalah use case diagram (termasuk Gambar use case dependencies) dan use case description.
Use-case diagram adalah gambaran graphical dari beberapa atau semua
actor, use-case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun. Use-case diagram menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar.
Komponen pembentuk Use Case Diagram: A. Actor
Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor
tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor
atau spesifik, dimana untuk membedakannya kita dapat menggunakan
relationship.
Gambar 2.7 Actor pada UseCaseDiagram
B. Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga
customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.
Catatan : Use case diagram adalah penggambaran sistem dari sudut pandang pengguna sistem tersebut (user), sehingga pembuatan use case lebih dititik beratkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian.
Gambar 2.8 UseCase pada Use Case Diagram
2.7.2 Activity Diagram
Memiliki struktur diagram yang mirip flowchart atau data flow diagram pada perancangan terstruktur. Memiliki pula manfaat yaitu apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan. Dan activity dibuat berdasarkan sebuah atau beberapa usecase pada usecasediagram (Felici, 2004).
Terdapat beberapa hal penting yang harus diketahui, yaitu ;
Activity mengambarkan sebuah pekerjaan atau tugas dalam workflow, pada UML activity digambarkan dengan simbol kotak
Start state dengan tegas menunjukan dimulainya suatu workflow pada sebuah activity diagram. Hanya terdapat satu start state dalam sebuah workflow
serta pada UML, start state digambarkan dengan simbol lingkaran yang solid
End state menggambarkan akhir atau terminal dari pada sebuah activity diagram. Bisa terdapat lebih dari satu end state pada sebuah activity diagram. Pada UML, endstate digambarkan dengan simbol sebuah bull'seye
Decision adalah suatu titik atau point pada activity diagram yang mengindikasikan suatu kondisi dimana ada kemungkinan perbedaan transisi. Pada UML, decision digambarkan dengan sebuah simbol diamond
Obyek swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu atau biasa disebut entitas pada workflow.
2.7.3 Sequence Diagram
Sequence diagram adalah interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event
Gambar 2.9 Sequence Diagram
Sequence diagram biasanya digunakan untuk tujuan analisa dan desain, memfokuskan pada identifikasi method didalam sebuah system.
2.7.4 Class Diagram
kumpulan objek-objek dengan dan yang mempunyai struktur umum,
behavior umum, relasi umum, dan semantic/kata yang umum. Class-class
ditentukan/ditemukan dengan cara memeriksa objek-objek dalam sequence diagram dan collaboration diagram. Sebuah class digambarkan seperti sebuah bujur sangkar dengan tiga bagian ruangan. Class sebaiknya diberi nama menggunakan kata benda sesuai dengan domain/bagian/kelompoknya (Whitten L. Jeffery et al, 2004).
Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name
(peranan/tugas nama).
a. Class adalah blok-blok pembangun pada pemrograman berorientasi obyek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan
property/atribut class. Bagian akhir mendefinisikan method dari sebuah class.
Gambar 2.10 Class yang berisi atribut dan method
b. Association : Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.(Contoh: One-to-one, one-to-many,many-to-many).
c. composition: Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition
terhadap class tempat dia bergantung tersebut. Sebuah relationship composition
d. Dependency : Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah
dependency dilambangkan sebagai sebuah panah bertitik-titik.
e. Aggregation : Aggregation mengindikasikan keseluruhan bagian relationship dan
biasanya disebut sebagai relasi.
2.8Konsep Dasar Sistem Penjualan
Menurut Mulyadi (2008:202), Penjualan merupakan kegiatan yang dilakukan oleh penjual dalam menjual barang atau jasa dengan harapan akan memperoleh laba dari adanya transaksi-transaksi tersebut dan penjualan dapat diartikan sebagai pengalihan atau pemindahan hak kepemilikan atas barang atau jasa dari pihak penjual ke pembeli.
Menurut Phillip Kotler (2009:22) dalam bukunya yang berjudul Analisis & Desain, menjelaskan bahwa: “Konsep penjualan adalah meyakini bahwa konsumen dan perusahaan bisnis, tidak akan secara teratur membeli cukup banyak produk-produk yang ditawarkan oleh organisasi tertentu. Oleh karena itu, organisasi yang bersangkutan harus melakukan usaha penjualan dan promosi yang agresif. “
Dasar-dasar pemikiran yang terkandung dalam konsep penjualan yaitu tugas utama dari perusahaan adalah mendapatkan penjualan cukup dari produknya serta para konsumen tidak mungkin membeli barang dengan jumlah yang cukup banyak tanpa mendapat dorongan.
2.9Point of Sales
Point of Sales (POS) adalah waktu dan tempat di mana transaksi ritel selesai dilakukan. Namun biasanya diartikan sebagai sebuah perangkat atau sistem yang digunakan untuk menyimpan record transaksi untuk perusahaan. Sebagai contoh cash register pada swalayan grosir, toko ritel, dan lain sebagainya (Bars, 2005).
Berdasarkan penjelasan diatas maka yang dimaksud dengan Point ofSales
bukan sebuah mesin kasir mekanis sederhana, tetapi sebuah mesin kasir yang terhubung komputer baik dalam media penyimpanan data produk maupun transaksional. Berikut beberapa keuntungan menggunakan Point of Sales
Gambar 2.11 Perbandingan Antara POS dan CashRegister
Komponen utama dalam POS yang umum dikenal yaitu sebuah komputer,
additional device (printer struk, dsb.) dan aplikasi POS yang menyatukan kedua komponen tersebut. Penggunaan POS seperti ini cocok untuk digunakan pada toko seperti swalayan, toko grosir maupun franchise.
Namun perkembangan POS tidak berhenti sampai disini. Dengan penggunaan teknologi mobile dan sensor yang semakin banyak serta dari penyimpanan data back-office ke cloud membuat kebutuhan semakin kompleks antara penjual dan pelanggan (Ellison, 2013).
Mobile POS adalah perkembangan yang paling signifikan. Mobilitas yang tinggi merupakan alasan utama menggunakan mobile POS disamping bentuknya yang kecil. Berikut beberapa kelebihan menggunakan mobile POS:
1. Solusi Penyimpanan Cloud
2. Hemat Ruangan
Tidak memakan tempat karena mobile POS umumnya dibawa bersamaan dengan
salesperson yang bertugas.
3. Tingkat kapabilitas Smartphone yang Tinggi
Penggunaan smartphone dan tablet semakin banyak sehingga mudah didapat dan memiliki visual lebih baik daripada sistem POS biasa.
4. Sensor Pendukung
Sensor pendukung seperti Wifi dan Bluetooth membuat smartphone atau tablet
Jenis metode yang diambil dalam penelitian ini yaitu menggunakan metode Extreme Programming (XP) (Tegarden, Dennis, Wixom. 2013). Pada penelitian ini dilakukan mulai dari tahap perencanaan, analisa, desain dan implementasi secara bersamaan kemudian diimplementasikan kedalam sistem. Apabila terdapat kekurangan maka akan diulang kembali hingga terpenuhi kebutuhan dari perusahaan.
Perencanaan
Identifikasi Permasalahan -> Teknik Pengumpulan Data
Sistem
*
1
Analisa
Analisa Kebutuhan Sistem -> Kebutuhan Perangkat Keras/
Lunak -> Pembuatan Program
2
Desain
Perancangan Desain Sistem (UML) -> Perancangan Uji Coba
(Black Box Testing)
3
Implementasi
Implementasi Sistem -> Uji Coba -> Evaluasi
4
3.1 Perencanaan
3.1.1 Identifikasi Permasalahan
Pada perusahaan Kebab Kings selama ini proses pelaporan baik keuangan dan penggunaan stok bahan bakunya masih belum memiliki kepastian yang bersifat riil. Karyawan gerai pada franchise ini menulis nota hanya apabila pelanggan memintanya serta dibantu menggunakan kalkulator untuk menghitung jumlah transaksi sehingga data yang didapat tidak memiliki kepastian jumlah untuk direkap yang nantinya akan diserahkan kepada perusahaan. Disetiap gerai hanya dijaga oleh satu karyawan saja yang juga bertugas untuk menyetorkan
omzet yang didapat setiap harinya serta tidak adanya perhitungan jumlah stok yang digunakan oleh karyawan untuk membuat setiap produk pada gerainya.
Pelaporan yang selama ini terjadi yaitu dimulai dari karyawan menyetorkan omzet yang didapat dan sisa bahan baku yang tidak terpakai selama sehari untuk disetorkan kekantor sehingga pemilik dapat melihat hasil pendapatan yang didapat. Sedangkan untuk melihat hasil perkembangan dari usahanya yaitu melalui evaluasi yang dilakukan setiap bulan dengan membandingkan jumlah
omzet penjualan dan bahan baku yang digunakan.
Rupiah perhari, namun apabila dihitung dalam satu bulan sudah merugikan perusahaan sejumlah Rp600.000,00 Rupiah. Hal tersebut dapat dilakukan oleh karyawan gerai karena tidak adanya pengawasan di lapangan serta tidak adanya sistem pencatatan yang baik.
Beberapa upaya telah dilakukan oleh perusahaan untuk mengatasi hal tersebut dengan menggunakan sistem “plus-minus”, yaitu dimana perusahaan menghitung banyaknya bahan baku yang digunakan karyawan dengan pendapatan yang didapat selama perbulan. Sebagai contoh, bahan baku A sebanyak 30kg dapat digunakan untuk kebab tipe 1, kebab tipe 2 dan kebab tipe 3 kurang lebih 300 unit dengan nominal Rp3.000.000,00 Rupiah dan bahan baku B sebanyak 20kg dapat digunakan untuk kebab tipe 4 sebanyak kurang lebih 120 unit dengan jumlah nominal Rp1.700.000,00 Rupiah. Total dari perhitungan diatas yaitu sebanyak Rp4.700.000,00 Rupiah. Apabila karyawan X menyetorkan omzet total dalam sebulan sejumlah Rp4.700.000,00 Rupiah namun mengambil bahan baku A sebanyak 32kg dan B sebanyak 20kg, maka manajemen akan menindak karyawan X dengan mengganti kelebihan (plus) bahan baku A sebanyak 2kg dengan memotong gaji karyawan tersebut. Begitu pula apabila terjadi kekurangan (minus) dalam penggunaan bahan bakunya maka karyawan tersebut harus mengganti dengan cara dipotong gajinya oleh manajemen perusahaan.
waktu tertentu untuk membandingkan jumlah bahan baku yang keluar dengan
omzet yang didapat.
3.1.2 Teknik Pengumpulan Data A. Studi Lapangan
Studi lapangan adalah penelitian yang dilakukan dalam kehidupan yang sebenarnya. Studi lapangan ini dilakukan secara langsung terhadap gerai dan karyawan yang bersangkutan serta pihak manajemen dari perusahaan.
Untuk pengumpulan data yang diperlukan dalam melaksanakan penelitian pada perusahaan Kebab Kings Indonesia, ada dua cara yang telah dilakukan, antara lain:
Pengamatan/Observation A.1
Informasi yang didapat melalui metode observasi berasal dari pengamatan dan pencatatan secara langsung terhadap objek yang diteliti dan dalam keadaan sebenarnya tanpa melalui wawancara. Untuk pelaksanaan metode ini orang yang melakukan pengamatan dan pencatatan terhadap gejala atau fenomena yang diteliti haruslah dilakukan secara sistematis. Cara ini dilakukan untuk melihat secara langsung apa yang dilakukan oleh karyawan maupun manajemen dalam pengambilan bahan baku, proses transaksional dengan pelanggan hingga penyetoran omzet kepada perusahaan serta pengolahan data penjualan yang dilakukan dikantor secara riil.
Wawancara/Interview A.2
dan dengan arah serta tujuan yang telah ditetapkan. Anas Sudjiono (1996:82). Beberapa hasil wawancara yang diajukan yaitu sebagai berikut:
a. Berkaitan dengan penggunaan bahan baku. Wawancara dilakukan dengan memberikan beberapa pertanyaan kepada karyawan gerai tentang proses pengambilan bahan baku, bahan baku yang digunakan dalam melayani pesanan pelanggan hingga bahan baku sisa yang akan dikembalikan ke perusahaan.
b. Pertanyaan seputar proses transaksional, pelayanan dan menyimpan hasil transaksi dari pelanggan yang dilakukan oleh karyawan gerai.
c. Pelaporan penjualan yang didapat oleh karyawan untuk disetorkan kepada perusahaan.
d. Bagaimana manajemen mengolah hasil penjualan yang didapat dari karyawan gerai kemudian diberikan kepada pemilik perusahaan.
Laporan apa saja yang didapat oleh pemilik perusahaan dari hasil pengolahan data penjualan dari manajemen.
B. Studi Literatur
Studi literatur merupakan suatu kegiatan untuk mengumpulkan dan mempelajari bahan-bahan literatur yang berhubungan dengan permasalahan yang dibahas pada penelitian ini. Informasi yang didapat bersumber dari buku, jurnal dan eBook di internet. Pada studi literatur ini ada beberapa tahapan yang dilakukan untuk memperoleh informasi yang berkaitan dengan penelitian ini, yaitu:
b. Mempelajari programming language yang berhubungan dengan pengerjaan penelitian ini seperti Android API, PHP dan MySQL.
c. Mencari informasi yang berhubungan dengan sistem pembayaran/transaksional dan desain aplikasi android serta web yang user friendly sehingga dapat menghasilkan desain sistem yang baik.
3.2 Analisa
3.2.1 Analisa Kebutuhan Sistem
Berikut kebutuhan sistem yang didapat dari hasil analisa kebutuhan:
1. Dibutuhkan sistem yang dapat menghitung keluarnya jumlah bahan baku yang digunakan oleh karyawan dan jumlah bahan baku yang kembali ke perusahaan. 2. Dibutuhkan sistem yang dapat memantau penjualan dalam bentuk laporan untuk
digunakan oleh pemilik perusahaan.
Spesifikasi Kebutuhan Sistem A.
Spesifikasi sistem yang dibutuhkan oleh perusahaan yaitu sebagai berikut:
1. Sebuah sistem/aplikasi yang dapat melakukan proses transaksi oleh karyawan gerai kepada pelanggan dengan membuat aplikasi yang berbasis android yang terhubung dengan wireless Bluetooth printer yang berukuran kecil dalam melayani pelanggan.
3. Sebuah sistem yang dapat memantau penjualan dalam bentuk laporan yang dapat dilihat oleh pemilik perusahaan berbasis web karena dapat dilihat dimanapun dan kapanpun serta menggunakan perangkat mobile yang sudah ada saat ini.
Desain Arsitektur B.
Pada desain arsitektur ini, platform perangkat lunak yang digunakan yaitu android dan web. Adapun tools yang digunakan adalah android studio, sublime 2,
web browser dan MySQL. Bahasa pemrograman yang digunakan adalah PHP dan Java. Desain arsitektur dapat dilihat pada Gambar 3.2.
Http request/receive (URL)
Insert/receive data
Insert/receive data
Insert/receive data
Insert/receive data
Insert/receive data Http request (URL)
WEB SERVER
INTERNET
OWNER
GERAI GERAI GERAI GERAI
GERAI
ADMIN
C. Analisa Sistem
Analisa sistem dapat mendukung tujuan utama sesuai pada tahap identifikasi masalah. Pada tahap analisa sistem terdapat beberapa diagram yang menjelaskan alur kerja dari sistem aplikasi kasir berbasis android, antara lain:
Use-CaseDiagram, activityDiagram dan SequenceDiagram.
Use Case Diagram A.1
a. Mengidentifikasi Actor
Actor menggambarkan seseorang atau apa saja yang berhubungan dengan sistem yang sedang dibangun. Ada dua tipe actor yaitu: pengguna sistem dan sistem lain yang berhubungan dengan sistem yang sedang dibangun. Dalam sistem ini actor dapat diidentifikasi seperti pada Gambar 3.3 dibawah ini.
Gambar 3.3 Identifikasi Actor
1. Karyawan
2. Admin
Admin merupakan petugas yang bertanggung jawab dalam maintenance aplikasi kasir tersebut seperti maintenance data karyawan, gerai maupun login karyawan.
3. Owner
Owner merupakan pemilik perusahaan yang berhak untuk melihat laporan dari pejualan gerai yang dimiliki.
b. Use Case
Usecase adalah bagian tingkat tinggi dan fungsional sistem. Dengan kata lain, use case menggambarkan bagaimana seseorang menggunakan sistem (Sholiq, 2006). Berikut ini merupakan use case yang telah didapat berdasarkan kebutuhan sistem yang dapat dilihat pada Gambar 3.4 dan 3.5.
Gambar 3.5 Identifikasi UseCaseWeb
c. Use Case Diagram
Use Cse Diagram menyajikan interaksi antara Use Case dan Actor
(Sholiq, 2006). Use Case dan Actor menggambarkan ruamg lingkup sistem yang sedang dibangun. Use Case meliputi semua yang ada didalam sistem, sedangkan
actor meliputi semua yang ada diluar sistem. Use Case Diagram dapat dilihat pada Gambar 3.6 dan 3.7.
Dari Gambar 3.6 diatas dapat dilihat bahwa karyawan melakukan pemesanan terhadap pelanggan yang berjalan pada aplikasi dengan cara karyawan memilih menu utama apa saja berserta topping yang telah dipesan oleh pelanggan kemudian aplikasi akan menghitung jumlah total yang harus dibayarkan oleh pelanggan kemudian aplikasi akan mencetak nota dan menyimpan data transaksi penjualan serta jumlah penggunaan bahan baku yang berkurang.
Gambar 3.7 Use Case Diagram Aplikasi Web
Activity Diagram A.2
a. Activity Diagram Login Android
Proses dimulai dengan karyawan melakukan login pada aplikasi android kemudian karyawan memasukkan jumlah bahan baku yang dibawa ke gerai. Setelah itu karyawan masuk kedalam menu utama yang secara otomatis memperbarui data menu terbaru dari kantor. Untuk lebih jelasnya dapat dilihat pada Gambar 3.8.
b. Activity Diagram Upload ke Web Server Android
Proses ini dimulai dengan karyawan gerai membuka menu logout pada aplikasi android kemudian karyawan mendapat perintah dari aplikasi untuk memasukkan sisa bahan baku yang tidak digunakan atau rusak yang akan dikembalikan ke kantor setelah itu aplikasi akan mengunggah data penjualan beserta sisa bahan baku kedalam web server. Untuk lebih jelasnya dapat dilihat pada Gambar 3.9.
c. Activity Diagram Login Karyawan
Proses dimulai dengan admin masuk kedalam aplikasi web lalu memilih menu login karyawan. Setelah tampilan login karyawan ditampilkan maka admin dapat mencari data gerai dan karyawan yang ingin diubah. Setelah data dirubah maka secara otomatis data pada web server akan berubah sehingga pada saat karyawan menggunakan aplikasi dapat langsung diakses. Untuk lebih jelasnya dapat dilihat pada Gambar 3.10.
d. Activity Diagram Maintenance Gerai
Proses dimulai dengan admin masuk kedalam aplikasi web lalu memilih menu gerai. Setelah tampilan gerai ditampilkan maka admin dapat mencari data gerai yang ingin diubah. Setelah data dirubah maka secara otomatis data pada web server akan berubah sehingga pada saat karyawan menggunakan aplikasi dapat langsung diakses. Untuk lebih jelasnya dapat dilihat pada Gambar 3.11.
e. Activity Diagram Maintenance Karyawan
Proses dimulai dengan admin masuk kedalam aplikasi web lalu memilih menu karyawan. Setelah tampilan karyawan ditampilkan maka admin dapat mencari data karyawan yang ingin diubah. Setelah data dirubah maka secara otomatis data pada web server akan berubah sehingga pada saat karyawan menggunakan aplikasi dapat langsung diakses. Untuk lebih jelasnya dapat dilihat pada Gambar 3.12.
f. Activity Diagram Maintenance Menu
Proses dimulai dengan admin masuk kedalam aplikasi web lalu memilih menu-menu produk. Setelah tampilan menu produk ditampilkan maka admin dapat mencari data produk yang ingin diubah. Setelah data dirubah maka secara otomatis data pada web server akan berubah sehingga pada saat karyawan menggunakan aplikasi dapat langsung diakses. Untuk lebih jelasnya dapat dilihat pada Gambar 3.13.
g. Activity Diagram Laporan penjualan
Proses dimulai dengan pemilik melakukan login pada aplikasi web setelah itu muncul tampilan laporan apa saja yang diinginkan oleh pemilik perusahaan. Untuk lebih jelasnya dapat dilihat pada Gambar 3.14.
Sequence Diagram A.3
a. Sequence Diagram Pemesanan Android
Proses dimulai dengan karyawan gerai memilih menu produk yang telah dipesan pelanggan pada menu utama kemudian karyawan memilih menu tambahan (topping) bila ada kemudian apabila selesai melakukan pemilihan menu tersebut muncul tampilan keseluruhan produk yang telah dipesan. Setelah itu aplikasi akan menampilkan total biaya yang dipesan oleh pelanggan median menghitung jumlah kembalian sesuai dengan uang yang dibayarkan oleh pelanggan lalu aplikasi akan memberi perintah untuk mencetak struk melalui koneksi Bluetooth. Untuk lebih jelasnya dapat dilihat pada Gambar 3.15.
b. Sequence Diagram Login Karyawan
Proses dimulai dengan admin membuka menu pada aplikasi web setelah itu muncul pilihan master yang ingin dirubah oleh admin. Admin membuka menu
login karyawan kemudian admin dapat mengubah posisi karyawan pada gerai tertentu atau menonaktifkan gerai tertentu sesuai dengan keinginan perusahaan Untuk lebih jelasnya dapat dilihat pada Gambar 3.16.
c. Sequence Diagram Maintenance Gerai
Gambar 3.17 SequenceDiagramMaintenance Gerai
Proses dimulai dengan admin membuka menu pada aplikasi web setelah itu muncul pilihan master yang ingin dirubah oleh admin. Admin membuka menu
maintenance gerai kemudian admin dapat mengubah data pada gerai tertentu seperti alamat dan status dari gerai tersebut. Untuk lebih jelasnya dapat dilihat pada Gambar 3.17.
d. Sequence Diagram Maintenance Karyawan
Proses dimulai dengan admin membuka menu pada aplikasi web setelah itu muncul pilihan master yang ingin dirubah oleh admin. Admin membuka menu
Gambar 3.18 Sequence DiagramMaintenance Karyawan
e. Sequence Diagram Maintenance Menu
Proses dimulai dengan admin membuka menu pada aplikasi web setelah itu muncul pilihan master yang ingin dirubah oleh admin. Admin membuka menu
maintenance menu kemudian admin dapat mengubah nama menu, harga per menu, bahan baku yang digunakan maupun gambar untuk tampilan icon yang digunakan pada aplikasi android. Untuk lebih jelasnya dapat dilihat Gambar 3.19.
f. Sequence Diagram Laporan Penjualan
Proses dimulai dengan pemilik melakukan login kedalam aplikasi web
kemudian pemilik akan disajikan dengan tampilan menu-menu laporan apa saja yang ingin dilihat. Untuk lebih jelasnya dapat dilihat pada Gambar 3.20.
Gambar 3.20 SequenceDiagram Laporan Penjualan
3.2.2 Kebutuhan Perangkat Keras
Smartphone Android A.
Perangkat keras yang dibutuhkan untuk menjalankan aplikasi mobile
android adalah sebagai berikut:
Tabel 3.1 Kebutuhan Perangkat Keras Smartphone Android
Perangkat Keras Spesifikasi
Prosesor Dual-Core 1.0 Ghz (Min) Memori Internal 4 GB
Memori RAM 1 GB (Min)
Koneksi Internet EDGE/3G/HSDPA+/higher Ukuran Layar 5-7 Inch
Spesifikasi diatas dipakai dalam implementasi dan evaluasi sistem ini. Aplikasi dapat diinstall dengan syarat memiliki prosesor minimal Dual Core 1.0 Ghz dikarenakan aplikasi kasir tidak boleh memiliki waktu untuk
buffering/lagging pada saat dijalankan serta dibantu oleh kapasitas RAM minimal 1GB. Memori internal sebesar 4GB sudah cukup untuk menyimpan data sementara, ukuran layar minimal 5 inch dikarenakan ukuran yang pas untuk melakukan perintah pada dengan nyaman dan mengurangi error input sedangkan untuk simcard dan koneksi paling tidak sudah mendukung jaringan 3G agar perpindahan data dari web server maupun dari aplikasi android menuju web server dapat berjalan dengan cepat serta dibantu oleh provider yang memiliki jaringan yang cukup baik di daerahnya serta wireless Bluetooth printer yang menggunakan kertas struk thermal.
Web Admin dan Owner B.
Perangkat keras yang dibutuhkan untuk menjalankan aplikasi web pada admin dan pemilik perusahaan adalah sebagai berikut:
Tabel 3.2 Kebutuhan perangkat keras aplikasi web
Aplikasi pada web yang akan digunakan oleh admin maupun pemilik perusahaan dijalankan pada browser PC/Laptop yang terhubung menggunakan koneksi internet yang stabil karena terkoneksi dengan web server. Spesifikasi
Perangkat Keras Spesifikasi
Prosesor Single-Core 1.0 Ghz
Memori RAM 2GB
Koneksi Internet EDGE/3G/HSDPA+/higher
Storage 40GB
diatas sudah cukup asalkan tidak membuka aplikasi lain yang bersifat banyak memakan memori RAM, koneksi maupun media penyimpanan pada PC/Laptop.
3.2.3 Kebutuhan Perangkat Lunak
Smartphone Android A.
Aplikasi pada android tidak memerlukan perangkat lunak tambahan, cukup mengandalkan sistem yang sudah ada pada smartphone android yaitu OS minimal HoneyComb 3.0.
Web Admin dan Owner B.
Perangkat lunak yang dibutuhkan untuk menjalankan aplikasi web pada admin dan pemilik adalah sebagai berikut:
Tabel 3.3 Spesifikasi kebutuhan perangkat lunak pada aplikasi web
Dalam penggunaan aplikasi web hanya dibutuhkan browser yang ada pada PC/laptop tanpa memerlukan perangkat lunak tambahan lainnya.
3.2.4 Pembuatan Program
Pembuatan program pada apllikasi kasir ini menggunakan pemrograman Java untuk aplikasi android dan bahasa pemrograman PHP untuk admin dan laporan pemilik perusahaan. Bahasa pemrograman yang dipilih Java karena aplikasi android tidak bisa menggunakan bahasa selain Java serta banyak terdapat
Perangkat Lunak Spesifikasi
OS Windows XP/7/8
source code untuk mengembangkan aplikasi android tersebut sedangkan admin dan laporan pemilik perusahaan menggunakan bahasa pemrograman PHP Karena untuk menghubungkan antara perangkat android memerlukan web service yang terhubung langsung dengan web server dan dapat digunakan langsung pada aplikasi web tanpa perlu merubah data yang dikirim serta bersifat dinamis desain tampilannya dapat berubah sesuai perangkat yang digunakan untuk membuka aplikasi tersebut, mudah dipelajari, mudah digunakan, diimplementasikan serta keamanannya yang cukup baik.
Ekstensi file yang dihasilkan bahasa pemrograman Java adalah .java sehingga untuk menjalankan aplikasi ini file harus di compile terlebih dahulu menggunakan android SDK. Dari proses compile dengan menggunakan Android SDK dihasilkan file berekstensi .apk. file inilah yang berjalan pada aplikasi android.
3.3 Desain
3.3.1 Perancangan Desain Sistem
Model desain merupakan bentuk abstraksi dari penerapan suatu sistem perangkat lunak (Suhedar, 2002). Model desain digunakan untuk menyusun desain sistem agar kita bisa mengetahui bahwa desain sistem tersebut dibuat sebaik mungkin.
Class Diagram A.
dan relasi antar mereka. Keseluruhan class diagram pada aplikasi kasir berbasis android akan dijelaskan secara mendetail pada Gambar 3.21.
1. Class Diagram Global Data
Class diagram ini digunakan untuk menampung data sementara pengambilan bahan baku seperti tortilla, roti burger maupun roti hotdog. Pada halaman ini juga menyimpan data order dari pelanggan, nama gerai, ID Gerai yang sedang melakukan transaksi serta ID Karyawan yang berada pada class menu digunakan untuk mengetahui user siapa yang sedang bertugas kedalam SQLite pada database lokal. Keseluruhan proses transaksi yang ditampung diambil dari server holeas.hol.es lebih jelasnya dapat dilihat Gambar 3.22.
Gambar 3.22 Class diagram Global Data
2. Class Diagram Menu
ClassMenu merupakan kelas yang digunakan untuk mendeklarasika data produk yang digunakan pada proses penjualan. Attribute yang ada pada kelas
+ DataOrder: ArrayList<OrderDetail> = new ArrayList<O... + DataProduct: ArrayList<Product> = new ArrayList<P... + ID_Gerai: String = ""
+ ID_Karyawan: String = "" + ID_LoginKaryawan: String = "" + Nama_Gerai: String = "" + Nama_Karyawan: String = ""
+ productAkanDipilih: ClassMenu = new ClassMenu() + SERVER_ADDRESS: String = "http://holeas.... + tempT ambahKeju: boolean = false
+ tempT ambahT elur: boolean = false + totalHarga: double
+ ClearSession(ctx :Context) : void
+ convertStringT oBitmap(data :String) : Bitmap + formatAngka(angka :double) : String
+ getProductById(idProduct :String) : Product + hitungT otal() : void
+ isNumeric(str :String) : boolean + LoadSession(ctx :Context) : void + SaveSession(ctx :Context) : void + setupProduct() : void
ClassMenu adalah ID menu, nama menu, harga per menu, keterangan menu, Gambar dan ID bahan baku. Penjelasan dapat dilihat pada Gambar 3.23
Gambar 3.23 Class diagram Menu
3. Class Diagram Main
MainActivity digunakan untuk menampilkan daftar menu dan total harga penjualan per transaksi. Pada onActivityResult digunakan untuk melakukan aksi berdasarkan requestCode. RequestCode bernilai satu digunakan untuk mengakses
method tambahOrder pada class GlobalData, dan jika RequestCode bernilai dua maka akan terjadi proses memperbarui total harga yang ditampilkan pada
textViewTotal. Penjelasan dapat dilihat pada Gambar 3.24.
Gambar 3.24 Class diagram Main
class bram_baru
ClassMenu
+ Gambar: Stri ng + Harga_PerMenu: i nt + ID_BahanBaku: Stri ng + ID_Menu: Stri ng
+ Keterangan_Menu: Stri ng + Nama_Menu: Stri ng
+ Cl assMenu()
class bram_baru
ActionBarActivity
MainActiv ity
+ dataMenu: ArrayList<ClassMenu> + dbMenu: MenuDB
~ gridViewProduct: GridView + productDipilih: int = -1 ~ textViewT otal: T extView
+ Logout() : void
# onActivityResult(requestCode :int, resultCode :int, data :Intent) : void # onCreate(savedInstanceState :Bundle) : void