TA : Rancang Bangun Aplikasi Kasir Berbasis Android Studi Kasus Pada Kebab Kings Indonesia.

(1)

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

STIKOM SURABAYA 2016


(2)

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


(3)

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 Use Case Diagram ... 27

2.7.2 Activity Diagram ... 28

2.7.3 Sequence Diagram ... 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


(4)

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


(5)

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.

Solusi bagi kebutuhan gerai-gerai tersebut adalah sebuah aplikasi yang mampu mengetahui jumlah bahan baku yang keluar serta menghitung jumlah pendapatan gerai. Sistem dibangun menggunakan perangkat berbasis android


(6)

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 android yang 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


(7)

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 ini berisi tentang latar belakang diambilnya topik penelitian, rumusan masalah dari topik penelitian, batasan masalah atau ruang lingkup pekerjaan dan tujuan dari penelitian ini.


(8)

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 ini berisi kesimpulan dan saran. Saran yang dimaksud adalah saran terhadap kekurangan dari aplikasi yang ada kepada pihak lain


(9)

yang ingin meneruskan topik penelitian ini. Tujuannya adalah agar pihak lain tersebut dapat menyempurnakan aplikasi sehingga bisa menjadi lebih baik dan berguna.


(10)

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


(11)

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 waterfall. Dengan metode pengembangan waterfall, analis dan pengguna memproses melewati tahap demi tahap. Untuk lebih jelasnya dapat dilihat pada Gambar 2.1.


(12)

Gambar 2.1 Waterfall Development

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 sub project kecil yang dapat dirancang dan dilaksanakan secara parallel. Ketika semua sub project telah selesai maka diintegrasikan menjadi sehingga menjadi kesatuan sistem project yang utuh. Untuk lebih jelasnya dapat dilihat Gambar 2.2.


(13)

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

Metode Rapid Application Development (RAD) ini berupaya mengatasi kedua kelemahan metodologi desain terstruktur dengan menyesuaikan fase pada SDLC untuk menyelesaikan bagian dari sistem yang dikembangkan dengan cepat dan kembali ke tangan pengguna. Dengan menggunakan metode ini pengguna


(14)

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 phased development pada Gambar 2.3.


(15)

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 prototyping pada Gambar 2.4.


(16)

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 yaitu keduanya melakukan pengembangan melalui sistem uji coba. Pada metode ini diharuskan melewati tahap analisis untuk medapatkan informasi dan


(17)

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 throwaway prototyping.

Gambar 2.5 Metode Throwaway Prototyping

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 menuju fase desain dan implementasi. Inilah yang membedakan metode ini dari metode prototyping.


(18)

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.

7. Tolak ukur dari kinerja ditentukan dari sejauh mana perkembangan software yang dibuat.


(19)

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 agile development.

Planning Analysis Design Implementation

System


(20)

Keunggulan dari metode ini yaitu sangat cocok digunakan untuk pengembangan sistem yang berorietasi pada objek. Metode agile development terbagi menjadi dua yaitu extreme programming (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

Dari keseluruhan metode pengembangan sistem yang ada, scrum adalah metode yang paling kacau dan untuk mengontrol beberapa kekacauan bawaan itu, metode ini berfokus pada beberapa praktek terapan. Tidak seperti pendekatan lain, pada tim ini tidak memiliki seorang pemimpin yang ditunjuk sebagai project


(21)

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.

Pada umumnya jenis waralaba (franchise) dapat dibedakan menjadi dua yaitu franchise lokal dan franchise asing. Sementara itu menurut International Franchise Association (IFA) yaitu organisasi franchise internasional yang beranggotakan Negara-negara di dunia yang berkedudukan di Washington DC, ada empat jenis franchise yang mendasar yang biasa digunakan di Amerika Serikat, yaitu:


(22)

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

Ini merupakan bentuk franchising yang paling populer di dalam prakteknya dimana perusahaan menyediakan suatu metode yang telah terbukti kesuksesannya untuk dioperasikan oleh pemilik bisnis dengan menggunakan nama dan merek dagang perusahaan. Dalam hal ini perusahaan menyediakan sejumlah bantuan tertentu kepada pemilik bisnis dengan membayar sejumlah biaya atau royalty. Hasil penelitian Hoffman and Preble (2004) menunjukkan


(23)

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 non cash based. Selanjutnya, non cash based instrument 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 legal regime yang berbeda dari alat pembayaran berbasis kertas (Bank Indonesia, 2008, p3).

2.5Android

Android adalah platform open source yang dirancang untuk perangkat mobile phone. Android dikembangkan oleh Google dan dimiliki oleh perusahaan bernama Open Handset Alliance. Tujuan dari diciptakannya android ini yaitu


(24)

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.

SQLite merupakan database yang bersifat open source. Awalnya dirilis pada tahun 2000 yang dirancang untuk menyediakan cara yang mudah dan nyaman untuk mengelola data pada aplikasi tanpa biaya berlebih seperti pada


(25)

database berbayar pada umumnya. SQLite memiliki reputasi baik yang dikenal karena sangat portabel, mudah digunakan, kompak , efisien, dan dapat diandalkan untuk penggunaan mobile device (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 open source 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, middleware dan aplikasi kunci yang di release oleh Google. Saat ini disediakan android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi netral, android memberi


(26)

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

Dashboard adalah sebuah tampilan visual dari informasi terpenting yang dibutuhkan untuk mencapai satu atau lebih tujuan, digabungkan dan diatur pada


(27)

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

Dashboard bisa dikelompokkan sesuai dengan level manajemen yang didukungnya menurut Eckerson dan Few (Hariyanti 2008:10) yaitu:


(28)

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).

6. Menggunakan media penyajian yang “cerdas” yang memungkinkan pengguna melakukan analisis terhadap data yang kompleks.


(29)

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.

b. Memiliki kemampuan untuk mengidentifikasi dan memperbaiki tren negatif. Hal ini dapat dilakukan karena pemilik perusahaan dapat melihat informasi yang


(30)

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

Menurut Nugroho (2005:16), pemodelan visual adalah proses penggambaran informasi-informasi secara grafis dengan notasi-notasi baku yang telah disepakati sebelumnya. Notasi-notasi baku sangat penting demi suatu alasan komunikasi. Dengan notasi-notasi pemodelan yang bersifat baku komunikasi yang baik akan terjalin dengan mudah antar anggota tim pengembang sistem/perangkat lunak dan antara anggota tim pengembang dengan para pengguna. UML dapat digambarkan sebagai bahasa pemodelan visual umum untuk memvisualiasasikan, menentukan dan membangun perangkat lunak dalam sebuah dokumen.


(31)

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 digambarkan dengan stick man. Actor dapat digambarkan secara secara umum


(32)

atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.

Gambar 2.7 Actor pada Use Case Diagram

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 Use Case pada Use Case Diagram

2.7.2 Activity Diagram

Activity diagram memiliki pengertian yaitu lebih fokus kepada menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses. Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis.


(33)

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 use case pada use case diagram (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, end state digambarkan dengan simbol sebuah bull's eye

State transition menunjukan kegiatan apa berikutnya setelah suatu kegiatan sebelumnya. Pada UML, state transition digambarkan oleh sebuah solid line dengan panah


(34)

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 work flow.

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 untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Gambar 2.9 merupakan contoh dari sequence diagram.


(35)

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).


(36)

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 digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.


(37)

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.

Penjualan merupakan suatu seni untuk melaksanakan suatu pekerjaan melalui orang lain. Beberapa ahli menyatakan sebagai ilmu dan sebagai seni, adapula yang memasukkannya kedalam masalah etika dalam penjualan. Pada pokok istilah penjualan dapat diartikan sebagai berikut:


(38)

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 of Sales 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 dibandingkan dengan tradisional cash register:


(39)

Gambar 2.11 Perbandingan Antara POS dan Cash Register

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

Keuntungan yang didapat yaitu membutuhkan lebih sedikit sumber daya TI dan mengurangi biaya dan kompleksitas yang terkait dengan POS.


(40)

2. Hemat Ruangan

Tidak memakan tempat karena mobile POS umumnya dibawa bersamaan dengan sales person 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 memiliki kompabilitas dengan perangkat tambahan seperti mobile printer serta sensor ini menyediakan data stream baru yang dapat dimanfaatkan dengan cara yang unik, mulai dari indicator kedekatan secara real-time untuk menuju niat konsumen.


(41)

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


(42)

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.

Namun pelaporan seperti yang dilakukan selama ini memiliki celah untuk dilakukan kecurangan oleh pihak karyawan. Kecurangan tersebut diantaranya yaitu tidak menyetorkan omzet ke perusahaan yang sesuai dengan yang didapat, sebagai contoh apabila karyawan A mendapatkan omzet Rp1.000.000,00 Rupiah dalam sehari, tetapi dia hanya menyetorkan Rp980.000,00 Rupiah saja dikarenakan tidak adanya prosedur yang mengharuskan karyawan untuk melakukan pencatatan transaksi. Meskipun hanya mengambil Rp20.000,00


(43)

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.

Namun peraturan yang dilakukan oleh manajemen dalam menghadapi situasi tersebut masih memiliki beberapa kekurangan. Salah satunya yaitu kurang efektif karena mengharuskan karyawan menggunakan perkiraan jumlah bahan yang digunakan agar tidak terlalu banyak atau terlalu sedikit dalam produk yang akan dibuat serta kurang efisien karena manajemen harus menunggu dalam jangka


(44)

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

Wawancara/interview dilakukan untuk menghimpun bahan keterangan yang dilakukan dengan tanya jawab secara lisan secara sepihak berhadapan muka,


(45)

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:

a. Mempelajari desain sistem berorientasi objek dan UML secara umum yang bertujuan untuk mendapatkan dasar teori yang akan digunakan sebagai landasan berpikir pada penelitian ini secara keseluruhan.


(46)

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.

2. Sebuah sistem yang dapat menghitung keluarnya jumlah bahan baku yang digunakan oleh karyawan dan jumlah bahan baku yang kembali ke perusahaan dengan cara memasukkan jumlah ambil bahan baku setiap karyawan yang bertugas kedalam aplikasi android yang nantinya dapat dilihat didalam laporan untuk pemilik perusahaan.


(47)

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


(48)

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-Case Diagram, activity Diagram dan Sequence Diagram.

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

Karyawan merupakan orang yang menggunakan dalam aplikasi kasir android. Karyawan bisa melakukan input bahan baku yang diambil, melakukan pemesanan terhadap pelanggan hingga mencetak struk saja. Proses lainnya dikerjakan oleh sistem sendiri.


(49)

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

Use case 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.


(50)

Gambar 3.5 Identifikasi Use Case Web

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.


(51)

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

Pada Gambar 3.7 diatas dapat dilihat bahwa admin dapat melakukan perubahan data yang ada pada aplikasi android melalui aplikasi web diantaranya yaitu merubah login karyawan, melakukan maintenance data gerai, karyawan maupun data menu kemudian mengunggah kedalam database.


(52)

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.


(53)

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.


(54)

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.


(55)

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.


(56)

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.


(57)

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.


(58)

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.


(59)

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.


(60)

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.


(61)

c. Sequence Diagram Maintenance Gerai

Gambar 3.17 Sequence Diagram Maintenance 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 maintenance karyawan kemudian admin dapat mengubah nama karyawan, alamat, nomor telepon dan lain-lain. Untuk lebih jelasnya dapat dilihat pada Gambar 3.18.


(62)

Gambar 3.18 Sequence Diagram Maintenance 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.


(63)

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 Sequence Diagram 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

Wireless Printer Thermal Paper, Bluetooth Connection Sim Card GSM/CDMA (Memiliki Koneksi yang Baik)


(64)

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


(65)

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


(66)

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.

Class diagram digunakan untuk menunjukkan interaksi antar kelas dalam sistem (Sholiq, 2006). Class diagram memberikan gambaran sistem secara statis


(67)

dan relasi antar mereka. Keseluruhan class diagram pada aplikasi kasir berbasis android akan dijelaskan secara mendetail pada Gambar 3.21.


(68)

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 class bram_baru

GlobalData + ambilRotiBurger: int = 0

+ ambilRotiHotDog: int = 0 + ambilT ortilla: int = 0

+ 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


(69)

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

+ onCreateOptionsMenu(menu :Menu) : boolean + onOptionsItemSelected(item :MenuItem) : boolean


(70)

4. Class Diagram Login

LoginActivity adalah kelas yang digunakan untuk mendapatkan akses ke MainActivity dengan mengisi editTextPassword dan editTextUsername. Pada method onCreate terdapat proses untuk mendapatkan nama karyawan dan nama gerai ketika proses login berhasil. Penjelasan dapat dilihat pada Gambar 3.25

Gambar 3.25 Class diagram Login

5. Class Diagram Pengembalian Bahan

Kelas pengembalian bahan berfungsi untuk melakukan aktivitas kedalam server. Isi dari kelas ini yaitu berupa EditText bahan baku yang berisi jumlah pakai bahan baku berupa integer berbanding dengan jumlah ambil bahan baku yang berupa TextView, data order yang ada pada local database yang nantinya dikirim kedalam web server melalui OrderJSON. Penjelasan lebih lanjut dapat dilihat pada Gambar 3.26.

class bram_baru

ActionBarActivity

LoginActiv ity - buttonLogin: Button

+ dbDetailPenjualan: DetailPenjualanDB + dbMenu: MenuDB

- editTextPassword: EditText - editTextUsername: EditText

# onActivityResult(requestCode :int, resultCode :int, data :Intent) : void # onCreate(savedInstanceState :Bundle) : void

+ onCreateOptionsMenu(menu :Menu) : boolean + onOptionsItemSelected(item :MenuItem) : boolean


(1)

172

Testing pada halaman pembayaran ini dilakukan setelah user selesai melakukan pemesanan produk lalu akan menuju halaman ini. Gambar pada kiri atas menunjukkan apabila user menginputkan jumlah uang yang dibayarkan oleh pelanggan dibawah atau kurang dari total harga yang dipesan maka akan muncul warning “pembayaran tidak mencukupi” dan aplikasi tidak melakukan aksi apapun. Setelah user menginputkan jumlah nominal uang yang dibayarkan sama dengan atau lebih besar daripada jumlah total harga yang dipesan maka pada halaman pembayaran akan muncul jumlah kembalian yang dapat dilihat pada gambar sebelah kanan atas kemudian aplikasi mencetak struk sesuai dengan pesanan, uang yang dibayarkan dan uang kembalian (bila ada) kepada pelanggan. Gambar pada sebelah kanan bawah menunjukkan bahwa aplikasi berjalan tanpa menggunakan koneksi internet (terlepas dari waktu saat melakukan login dan logout). Setelah user selesai melakukan transaksi maka testing selanjutnya menuju halaman pengembalian bahan. Lebih jelasnya dapat dilihat pada Gambar 4.38.


(2)

173

Testing pada halaman pembayaran ini dimulai dengan mencoba mengkosongi atau mengisi sebagian pada jumlah bahan baku yang tersisa pada Gambar kanan dan kiri atas maka respon yang terjadi yaitu muncul warning bahwa pengembalian bahan tidak boleh kosong. Kemudian testing dilanjutkan dengan mengisi jumlah pengembalian bahan baku dengan angka yang tidak sesuai dengan jumlah seharusnya maka respon yang didapat yaitu muncul warning bahwa pengembalian bahan harus sama dengan angka yang seharusnya. Angka seharusnya yang dimaksud yaitu angka sisa penggunaan bahan baku yang tersisa dari hasil transaksi selama gerai beroperasi dalam sehari.

2. Percobaan Error Guessing Aplikasi Web

Testing yang dilakukan pada aplikasi web hanya sebatas menghitung load time dari setiap halaman yang ada. Berikut ini hasil perhitungan waktu dari keseluruhan halaman web pada tabel 4.36.

Tabel 4.33 Hasil Uji Coba pada Halaman Web

Halaman

Time

(Detik)

Keterangan

Login Admin 3.05 Load halaman sukses dengan waktu normal Master Gerai 4.06 Load halaman sukses dengan waktu normal Tambah Gerai 3.9 Input data sukses dengan waktu normal Ubah Gerai 4.16 Ubah data sukses dengan waktu normal Hapus Gerai 3.53 Hapus sukses dengan waktu normal

Master Menu 4.15 Load halaman sukses dengan waktu normal Tambah Menu 3.91 Input data sukses dengan waktu normal Ubah Menu 3.36 Ubah data sukses dengan waktu normal Hapus Menu 3.81 Hapus sukses dengan waktu normal

Master Karyawan 4.77 Load halaman sukses dengan waktu normal Tambah Karyawan 3.16 Input data sukses dengan waktu normal Ubah Karyawan 4.15 Ubah data sukses dengan waktu normal Hapus Karyawan 3.02 Hapus sukses dengan waktu normal


(3)

174

Halaman

Time

(Detik)

Keterangan

Tambah Login Karyawan 4.94 Input data sukses dengan waktu normal Ubah Login Karyawan 4.47 Ubah data sukses dengan waktu normal Hapus Login Karyawan 4.8 Hapus sukses dengan waktu normal Ubah Password Admin/Owner 2.65 Ubah data sukses dengan waktu normal

Pengambilan Stok 2.73 Menampilkan data sukses dengan waktu normal Penggunaan Stok 2.67 Menampilkan data sukses dengan waktu normal Pengembalian Stok 2.76 Menampilkan data sukses dengan waktu normal Pengembalian Stok Rusak 2.68 Menampilkan data sukses dengan waktu normal Pendapatan Karyawan 2.74 Menampilkan data sukses dengan waktu normal Produk Paling Laku 3.24 Menampilkan data sukses dengan waktu normal Penjualan Gerai 2.72 Menampilkan data sukses dengan waktu normal


(4)

175 BAB V PENUTUP

5.1Kesimpulan

Secara garis besar hasil rancang bangun aplikasi kasir berbasis android studi kasus pada Kebab Kings Indonesia sudah memenuhi tujuan yang diharapkan dan memiliki beberapa kesimpulan sebagai berikut:

a. Sistem pada smartphone android dapat terkoneksi dengan wireless Bluetooth printer serta mencetak struk hasil transaksi dengan baik.

b. Sistem pada smartphone android dapat terkoneksi dengan web server dalam menampilkan serta menyimpan data.

c. Sistem pada aplikasi web admin dapat melakukan perintah insert, update dan delete pada master-master yang disajikan.

d. Sistem pada aplikasi web owner dapat menyimpan laporan dalam format PDF.

5.2 Saran

Adapun saran yang dapat diberikan kepada peneliti apabila ingin mengembangkan perangkat yang telah dibuat ini agar menjadi lebih baik yaitu: a. Aplikasi dapat dikembangkan untuk pengguna iOS

b. Topping yang ada tidak bisa ditambah atau dikurangi agar kedepannya diberi pilihan untuk menambah menu topping atau menguranginya.

c. Bahan baku yang dipakai pada penelitian ini hanya tortilla, roti burger dan hotdog, kedepannya agar dapat mencakup penggunaan bahan baku yang lebih banyak.


(5)

DAFTAR PUSTAKA

Bell, Donald. (2003). “UML Basics: An Introduction to the Unified Modelling Language”. Rational Software 2003

Briggs, Jonathan. "Management Reports & Dashboard Best Practice". Target Dashboard. Retrieved 18 February 2013

Cardoso, Jorge, 2007. “Semantic Web Services: Theory, Tools and Applications”. Pennsylvania. IGI global Hershey.

Connolly, Thomas & Carolyn Begg, 2002. “Database System”. New York,

Harlow.

Dastbaz, Muhammad, 2003. “Designing Interactive Multimedia Systems”. New York. McGraw-Hill.

Direktorat Akunting dan Sistem Pembayaran, 2008. “Sistem Pembayaran dan

Pengedaran Uang”. Bank Indonesia 2008.

Eckerson, W. 2006. Performance Dashboards: Measuring, Monitoring, and Managing Your Business. Canada: John Wiley & Sons, Inc.

Ellison, Scott. 2013. “The Future of POS: Point of Sales Evolution and Its Impacts”. PayPal Journal.

Felici, Massimo. 2004. “Activity Diagrams”. School of Informatics 2004-2009

Few, S. 2006. Information Dashboard Design. Italy: O’Reilly Media.

Fitzgerald, Michael, 2007. “XML Hacks: 100 Industrial-Strength Tips and Tools”. Massachusetts. O’Reilly Media.

Gargenta, Marko, 2011. “Learning Android”. Massachusetts. O’Reilly Media. Gosling, James, 2000. “Java(TM) Programming Language, The (3rd Edition)

(The Java Series)”. New Jersey. Prentice Hall.

International Franchise Association, 2010. “An Introduction to Franchising”. IFA Educational Foundation Journal.

Jacobson, Ivar, 1992. “Object Oriented Software Engineering: A Use Case Driven

Approach”.Massachusetts. Addison-Wesley Publ. Co.

Jeffry, L.Whitten,et al, 2004. “Metode Desain dan Analisis Sistem. Edisi I”. Yogyakarta. Andi.


(6)

Kotler, Philip, 2009. “Principles of Marketing (13th Edition)”. New Jersey. Prentice Hall.

Meier, Reto, 2010. “Professional Android 2 Application Development”. United Kingdom. Wrox Press.

Murphy, Mark, 2010. “Beginning Android 2”. New York. Apress. Mulyadi. 2008. “Sistem Akuntansi”. Jakarta: Salemba Empat.

Owens, Michael. (2006). “The Definitive Guide to SQLite”. Springer-Verlag New York, Inc.

O’Brien, James. A., 2005. ”Pengantar Sistem Informasi Perseptif Bisnis dan

Manajerial”. Jakarta. Salemba.

Presman, R.S., 2010. “Software Engineering : a practitioner's approach”. New York. McGraw-Hill.

Shelly G. B., Woods D. M., Dorin W. J., 2008. “HTML: Comprehensive Concepts

and Thechniques, fift edition”. Indiana. Chengage Learning.

Shneiderman, B. and Plaisant, C., 2005. “Designing the User Interface: Strategies for Effective Human-Computer Interaction: Fourth Edition”. Massachusetts. Addison-Wesley Publ. Co.

Sholiq. (2010). “Analisis dan Perancangan Berorientasi Obyek”. Bandung: Muara Indah.

Stripes, Bars. 2005. “Point of Sales – A Beginners Guide”. Bars & Stripes

Tegarden, David., Dennis, Alan., Haley Wixom, Barbara. 2013. “System Analysis and Design with UML 4thEdition”. Singapore: John Wiley & Sons.