Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
TUGAS AKHIR
PERANCANGAN SISTEM PENJUALAN PADA
SMARTPHONE BERBASIS ANDROID
Oleh:
FERDIAN KRISNA YULIANTO
NIM. 162355201015
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS DARUL ‘ULUM
JOMBANG
2020
ii
ABSTRAK
Belanja barang pertanian merupakan kebutuhan bagi para petani sekarang, namun transaksi yang terjadi ketika belanja di omah tani masih terbilang kurang
efektif. Jika ada konsumen yang akan melakukan belanja barang dengan jumlah sangat besar tentu saja proses belanja yang seperti ini sangat kurang efektif,
karena penggunaan nota yang berlebihan. Dengan semakin berkembangnya teknologi, dalam tugas akhir ini dibuat sebuah
aplikasi berbasis android yang dapat memudahkan pemilik toko dalam
melakukan tranaksi. Aplikasi memungkinkan agar pemilik toko tidak
menuliskan barang penjualan dengan cara manual, hanya dengan konsumen
datang ke kasir melakukan pembayaran yang lebih cepat. Aplikasi ini juga
terintregrasi dengan sistem penjualan dan database server untuk membaca dan
memasukkan data dengan memanfaatkan teknologi web service.
Kata Kunci: Transaksi, Kasir, Pendataan, Android
Shopping for agricultural goods is a necessity for farmers today, but transactions
that occur when shopping at the farm are still ineffective. If there are consumers
who are going to shop for goods in very large quantities, of course, this kind of
shopping process is very ineffective, due to excessive use of notes. With the development of technology, in this final project an Android-based
application is made that can make it easier for shop owners to make transactions. The application allows store owners not to write down sales items manually, only
with consumers coming to the cashier to make faster payments. This application is also integrated with the sales system and database server to read and enter data
by utilizing web service technology.
Keywords: Transaction, Cashier, Data Collection, Android
iii
DAFTAR ISI
HALAMAN JUDUL
HALAMAN PERSETUJUAN .............................................................................. 1
HALAMAN PENGESAHAN .............................................................................. i1
ABSTRAK ..................................................................................................................................iii
KATA PENGANTAR ............................................................................................................ iv
DAFTAR ISI .............................................................................................................................. v
DAFTAR GAMBAR .......................................................................................... viii
DAFTAR TABEL ................................................................................................. ix
BAB I PENDAHULUAN ....................................................................................................... 1
1.1 Latar Belakang ....................................................................................................... 1
1.2 Perumusan Masalah .............................................................................................. 2
1.3 Tujuan Penelitian................................................................................................... 2
1.4 Baatasan Masalah .................................................................................................. 2
1.5 Manfaat Penelitan ................................................................................................. 2
1.6 Metode Penelitan ................................................................................................... 2
1.7 Sistematika Penulisan .......................................................................................... 3
BAB II TINJAUAN PUSTAKA ......................................................................................... 5
2.1 Penelitian Terdahulu ............................................................................................ 5
2.2 Konsep Sistem Informasi Penjualan ................................................................ 6
2.2.1 Pengertian Penjualan ................................................................................ 6
2.2.2 Sistem Informasi Penjualan 6
2.3 Dasar Teori .............................................................................................................. 6
2.3.1 Aplikasi ........................................................................................................ 6
2.3.2 Android ........................................................................................................ 7
2.3.3 MySQL ......................................................................................................... 8
v
2.3.4 Web Service ............................................................................ 10
2.3.5 Arsitektur Web Service ................................................................. 10
2.3.6 Teknologi REST ..................................................................... 13
2.2.7 JSON ...................................................................................... 14
2.3.8 Android Studio ........................................................................ 14
2.3.9 Android SDK .......................................................................... 15
2.3.10 Bahasa Pemrograman Kotlin ..................................................... 15
2.3.11 Keistimewaan Kotlin ............................................................. 16
2.3.12 Fitur Unggulan dari Kotlin ......................................................... 16
2.3.13 Struktur Program ................................................................... 17
BAB III METODE PENELITIAN .................................................................. 18
3.1 Subjek Penelitian .............................................................................. 18
3.2 Metode Penelitian ............................................................................. 18
3.3 Tahapan Penelitian............................................................................ 18
3.4 Gambaran Umum Sistem .................................................................. 19
3.5 Use Case Diagram ............................................................................ 20
3.6 Activity Diagram .............................................................................. 21
3.6.1 Activity Diagram Login ................................................................ 21
3.6.2 Activity Diagram Register ............................................................ 22
3.6.3 Activity Diagram Data Barang ..................................................... 22
3.6.4 Activity Diagram Data Transaksi ................................................. 23
3.7 Sequence Diagram ............................................................................ 24
3.7.1 Sequence Diagram Login .............................................................. 24
3.7.2 Sequence Diagram Register .......................................................... 25
3.7.3 Sequence Diagram Input Data ...................................................... 25
3.7.4 Sequence Diagram Transaksi ....................................................... 26
vi
3.7.5 Sequence Diagram Riwayat .......................................................... 27
3.8 Software dan Hardware..................................................................... 27
3.9 Fitur Sistem ...................................................................................... 27
BAB IV ANALISA DAN PEMBAHASAN ..................................................... 29
4.1 Pengujian Sistem .............................................................................. 29
4.1.1 Uji Coba dan Hasil Pengujian ...................................................... 29
4.1.2 Uji Registrasi .......................................................................... 30
4.1.3 Uji Login ................................................................................ 31
4.1.4 Uji Kelola Data Barang ................................................................. 31
4.1.5 Uji Penjualan .......................................................................... 32
4.1.6 Uji Riwayat Penjualan .................................................................. 32
4.1.7 Uji Pendapatan Riwayat Penjualan .............................................. 33
4.2 Manual Program ............................................................................... 33
BAB V KESIMPULAN DAN SARAN ............................................................ 40
5.1 Kesimpulan ...................................................................................... 40
5.2 Saran ................................................................................................ 40
DAFTAR PUSTAKA....................................................................................... 41
vii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kebutuhan para petani akan barang-barang kebutuhan di pertanian
mendorong perkembangan bisnis yang cukup pesat, salah satunya adalah
omah tani. Omah tani merupakan tempat yang digunakan oleh para petani
untuk membeli barang dan kebutuhan pertanian. Saat ini ini hampir semua
Omah tani masih belum menggunakan teknologi yang dapat memudahkan
konsumen dan pemilik toko dalam melakukan kegiatan transaksi.
Proses penjualan yang terjadi sekarang yaitu barang yang akan dibeli
oleh para pembeli harus dibawa ke meja kasir dan kemudian melakukan
pembayaran. Namun sstem pembayaran yang menggunakan nota masih
kurang efektif dan tidak efisien. Semakin banyak konsumen , makan nota
pembelian juga akan semakin banyak. Selain biaya pengeluaran pihak Omah
tani semakin besar, sisa nota yang sudah tidak terpakai akan menjadi
sampah dan mengotori lingkungan.
Dengan semakin berkembangnya teknologi dan semakin pesatnya
persaingan bisnis, menggunakan sistem penotaan sudah terlalau lama, dan
sangat kurangan untuk memenangkan persaingan bisnis.
Dari latar belakang tersebut, maka dibangun sebuah sistem penjualan
pada smartphone berbasis android menggunakan web service dengan kotlin
sebagai bahasa pemrograman dan MySQL sebagai pengelola database serta
web service sebagai penghubung android dengan MySQL. Sistem dapat
bekerja dalam jaringan internet, memberikan layanan kepada pemilik toko
untuk mencatat kode barang ke dalam sistem dan data penjualan tersimpan
ke dalam aplikasi. Oleh karena itu, pemilik toko dapat melakukan proses
transaksi secara efektif dan efisien tanpa harus menulis transaksi ke dalam
nota.
1
2
1.2 Perumusan Masalah
Berdasarkan uraian dari latar belakang masalah di atas maka dapat
dirumuskan bahwa masalah dalam Tugas Akhir ini adalah bagaimana
membuat aplikasi sistem penjualan pada smartphone berbasis Android
dengan bahasa pemrograman Kotline (Android Studio) dan menggunakan
database MySQL?
1.3 Tujuan Penelitian
Tujuan penelitian ini adalah untuk membuat aplikasi sistem penjualan
pada smartphone berbasis android
1.4 Batasan Masalah
Batasan masalah dari pengerjaan skripsi yang dirancang ini
adalah sebagai berikut:
1) Pengguna sistem adalah pemilik toko
2) Sistem dibangun menggunakan bahasa pemrograman Kotlin dan
database MySQL.
3) Sistem berjalan pada perangkat mobile menggunakan sistem operasi
Android dengan versi minimal Android 5.0 (Lolipop) ke atas.
1.5 Manfaat Penelitian
1) Manfaat dari penelitian ini adalah sebagai media pendataan yang efektif
dan efisien untuk Omah Tani tersebut.
2) Mempermudah untuk pengecekan keluar masuk barang.
3) Memudahkan dalam pengelolaan stok dan transkasi
1.6 Metode Penelitian
Metode penelitian yang telah digunakan pada penyusunan Tugas
Akhir ini adalah sebagai berikut:
1) Studi Literatur
Pengumpulan beberapa data dengan cara mengumpulkan literature,
jurnal, paper, dan buku yang berkaitan dengan judul penelitian.
3
2) Observasi
Observasi dilakukan dengan mengumpulkan data dan informasi yang
berkaitan dengan sistem penjualan dan bahasa pemrograman kotlin
dengan cara studi lapangan ataupun pengamatan langsung pada aplikasi
penjualan yang dibuat untuk smartphone berbasis android.
3) Wawancara/Interview
Wawancara dilakukan dengan mengumpulkan data dan informasi dari pihak
terkait yaitu pemilik toko tentang kebutuhan sistem yang diinginkan.
4) Studi Pustaka
Membaca beberapa buku yang ada kaitannya dengan sistem yang akan
dirancang atau dibuat bisa menambah pengetahuan
1.7 Sistematika Penulisan
Sistematika Penulisan dibagi menjadi beberapa bab, yaitu:
a) BAB 1 : Pendahuluan
Bab ini berisi tentang latar belakang, perumusan masalah, batasan
masalah, metedologi penelitian, sistematika penulisan, tujuan serta
manfaat penelitian.
b) BAB II : Tinjauan Pustaka
Bab ini berisi tentang dasar teori yang terkait dengan perancangan dan
pembuatan sistem serta jurnal penelitian terdahulu.
c) BAB III : Metode Penelitian
Bab ini menjelaskan tentang metode penelitian yang digunakan dan
analisan perancangan sistem yang akan dibangun, meliputi use case
diagram, diagram aktivitas, sequence diagram, dan metode penyelesaian
yang digunakan untuk menyelesaikan masalah dalam sistem
d) BAB IV : Analisa dan Pembahasan
Bab ini berisi analisa dari hasil pembuatan sistem. Bab ini membahas
tentang hasil pengujian-pengujian sistem secara a test untuk mencari
kekurangan sistem maupun uji coba terhadap pengguna (b test).
e) BAB V : Kesimpulan dan saran
4
Bab ini berisi tentang kesimpulan dan saran yang memiliki kaitan
dengan sistem yang telah dirancang atau dibuat. Kesimpulan dan saran
dibuat berdasarkan pembahasan analisa sistem pada bab IV.
BAB II
TINJAUAN PUSTAKA
2.1 Penelitian Terdahulu
Berdasarkan penelitian Febri Nugroho (2016) yang berjudul Sistem
Penjualan pada Perangkat Bergerak Berbasis Android Menggunakan Web
Service, sistem ini mampu mengirimkan data transaksi penjualan ke sistem
kasir dan bagian pengepakan secara bersamaan melalui web service dengan
memanfaatkan jaringan internet. Pada penelitian tersebut, peneliti menggunkan
library Zxing yang berfungsi sebagai scanner barcode barang sehingga dapat
terintegrasi langsung dengan aplikasi barcode dan juga penelitian ini sangat
membutuhkan koneksi internet. Sistem ini dibuat menggunakan pemrograman
java dan dapat berjalan pada sistem operasi android serta dapat terintegrasi
dengan database MySQL melalui web service
Berdasarkan penelitian Andi Nurul Muchlisa (2016) yang berjudul
Rancang Bangun Aplikasi E-Commerce Berbasis Wes Service. Sistem ini
digunakan untuk penjulan barang memalui mobile tanpa harus ke toko
secara langsung. Dengan adanya teknologi ini peneliti memberikan
kemudahan pada admin dan user dalam melakukan pengelolaan penjulan
hanya melalui online dan penguki melakukan test whitebox, blackbox, dan
kusioner yang diisi oleh kusioner untuk dinyatakan berhasil.
Berdasarkan penelitian. Darul Faturohman, Puspa Eosina, dan Freza
Riana (2018) yang berjudul Perancangan Aplikasi Kasir Berbasis Android
(Studi Kasus Toko Usaha Tani Leuwiliang. Dari sistem ini peneliti mencoba
membuat aplikasi kasir berbasis android yang nantinya dapat memudahkan
pemilik toko atau kasir untuk melakukan penjualan terhadap konsumen melalui
sebuah aplikasi mobile berbasis android. Pada penelitian tersebut peneliti
melakukan pengumpulan data guna memberikan sistem yang dibutuhkan oleh
toko tersebut, dan juga penyimpanan data dilakukan dengan cara menyimpak
ke database sehingga tidak khawatir akan hilangnya data.
2.2 Konsep Sistem Informasi Penjualan
5
6
Berikut ini merupakan pengertian teori dasar yang berhubungan
dengan kasus yang akan dianalisis, yaitu sebagai berikut:
2.2.1 Pengertian Penjualan
Penjualan merupakan aktivitas utama perusahaan. Pendapatan perusahaan
sangat ditentukan oleh besar kecilnya penjualan. Kegiatan penjualan itu
sendiri sangat erat hubunganya dengan marketing atau pemasaran, dimana
penjualan merupakan bagian dari perusahaan.[10]
2.2.2 Sistem Informasi Penjualan
Sistem Informasi Penjualan merupakan suatu system informasi yang
mengorganisasikan serangkaian procedure dan metode yang dirancang
untuk menghasilkan, menganalisa, menyebarkan dan memperoleh infromasi
guna mendukung pengambilan keputusan mengenai penjualan.[10]
2.3 Dasar Teori
Pada bab ini akan dibahas beberapa konsep dasar yang akan
digunakan sebagai penjelasan beberapa definisi yang berkaitan dengan
penelitian ini. Dengan begitu akan mempermudah dalam hal pembahasan
pada bab berikutnya.
2.3.1 Aplikasi
Aplikasi adalah suatu perangkat lunak siap pakai yang dapat
digunakan untuk menjalankan suatu perintah dari pengguna aplikasi tersebut
yang bertujuan mendapatkan hasil yang lebih akurat sesuai dengan tujuan
pembuatan aplikasi tersebut, aplikasi mempunyai arti yaitu pemecahan
masalah yang menggunakan salah satu tehnik pemrosesan data aplikasi
yang biasanya berpacu pada sebuah komputansi yang diinginkan atau
diharapkan maupun pemrosesan data yang diharapkan. [17]
2.3.2 Android
7
Gambar 2.1 Logo Android
Android adalah sistem operasi untuk perangkat mobile berbasis Linux
yang awalnya dikembangkan oleh Android Inc. Android terdiri dari sistem
operasi, middleware dan aplikasi. Android adalah istilah dalam bahasa
Inggris yang berarti robot yang menyerupai manusia yang dapat dilihat pada
Gambar 2.1. Pada tahun 2005, Google secara resmi telah membeli
Android, sehingga pengembangan Android sepenuhnya berada di tangan
Google. Dalam proses pengembangan sistem operasi Android, dibentuklah
organisasi Open Handset Alliance. Google merilis software open source
untuk Android, sehingga dapat berkontribusi untuk mengenbangkan
Android. Berikut beberapa kelebihan Android:
1) Sagat mudah mengoprasikan Smartphone Android.
2) Banyak fitur.
3) Dari segi tampilan, Android tidak kalah bagusnya dengan OS lainnya.
4) Operating System dibuat open source untuk pengembangan.
5) Aplikasi yang gratis hingga berbayar, dan bisa di-download di Google
Play.
Android telah mengalami pembaruan, hal ini dikarenakan untuk
pengembangan fitur Android sesuai dengan perkembangan zaman. Berikut
versi Android dari awal rilis sampai saat ini yang dapat dilihat pada Tabel
2.1. [1]
Tabel 2.1 Versi Android
No Versi Tanggal Rilis
1 1.0 (Apple Pie/Alpha) September 2008
2 1.1 (Banana Bread) Februari 2009
3 1.5 (Cupcake) April 2009
8
4 1.6 (Donut) September 2009
5 2.0 – 2.1 (Éclair) Desember 2009
6 2.2 (Froyo : Frozen Yoghurt) Mei 2010
7 2.3 (Gingerbread) Desember 2010
8 3.0 – 3.2 (Honeycomb) Februari 2011
9 4.0 (Ice Cream Sandwich) Oktober 2011
10 4.1 – 4.3 (Jelly Bean) Juli 2012
11 4.4 (Kitkat) Oktober 2013
12 5.0 (Lolipop) Juni 2014
13 6.0 (Marshmallow) Agustus 2015
14 7.0 (Nougat) Agustus 2016
15 8.0 (Oreo) Agustus 2017
16 9.0 (Pie) Maret 2018
17 10 (Q) September 2019
2.3.3 MySQL
Gambar 2.2 Logo MySQL
MySQL merupakan database engine atau server database yang
mendukung bahasa database pencarian SQL. MySQL adalah sebuah
perangkat lunak sistem manajemen basis data SQL atau DBMS yang
multithread dan multiuser. MySQL AB membuat MySQL tersedia sebagai
perangkat lunak gratis dibawah lisensi GNU General Public License (GPL).
Mereka juga menjual di bawah lisensi komersial untuk kasus-kasus di mana
penggunanya tidak cocok dengan penggunaan GPL. MySQL merupakan
9
turunan salah satu konsep utama dalam database sejak lama, yaitu SQL
(Structure Query Language). SQL adalah sebuah konsep pengoprasian
database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang
memungkinkan pengoprasian data dikerjakan dengan mudah dan cepat
secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui
dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah
SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai
database server, MySQL dapatdikatakanlebih unggul dibandingkan detabase
server lainnya dalam hal query data. Hal ini terbukti untuk query yang
dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih
cepat dari PostgresSQL dan lima kali lebih cepat dibandingkan Interbase.
Logo MySQL saat ini dapat dilihat pada Gambar 2.2. Berikut beberapa
kelebihan MySQL:
1) MySQL dapat digunakan diberbagai sistem operasi seperti Windows,
Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak
lagi.
2) MySQL merupakan open source.
3) MySQL dapat digunkan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik.
4) MySQL memiliki kecepatan yang menakjubkan dalam menangani query
sederhana, dengan kata lain dapat memproses lebih banyak SQL per
satuan waktu.
5) MySQL memiliki tipe kolom yang sangat kompleks, seperti signed /
unsigned integer, float, double, char, text, data, timestamp, dan lain-lain.
6) MySQL memiliki operator dan fungsi secara penuh yang mendukung
penrintah Select dan Where dalam peritah (query)
7) MySQL mampu menangani basis data dalam skala besar, dengan jumlah
rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 miliyar baris.
8) MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan
bahasa pemrograman dengan menggunakan fungsi API (Application
Programming Interface). [1]
10
2.3.4 Web Service
Web Service adalah perangkat lunak sistem yang didesain untuk
mendukung interaksi antar-mesin melalui jaringan komputer. Web service
memiliki antarmuka yang dideskripsikan ke format yang dapat diproses oleh
mesin, seperti Web Service Description Language (WSDL). Berikut
beberapa kelebihan Web Sevice:
1) Web service dapat digunakan untuk mentransformasikan satu atau
beberapa bisnis logic atau class dan objek yang terpisah dalam satu ruang
lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani
dengan baik.
2) Web service memiliki kemudahan dalam proses deployment-nya, karena
tidak memerlukan regristrasi khusus ke dalam suatu sistem operasi. Web
service cukup di-upload ke web server dan siap diakses oleh pihak-pihak
yang diberikan otorisasi.
3) Web service berjalan di port 80 yang merupakan protokol standar HTTP,
dengan demikian web service tidak memerlukan konfigurasi khusus
disisi farewall. [1]
2.3.5 Arsitektur Web Service
Secara umum arsitektur web service dapat dilihat pada Gambar 2.3.
Gambar 2.3. Arsitektur Web Service
Pada gambar di atas ada tiga komponen yang membuat web service
berjalan, ketiga komponen tersebut adalah:
11
1) Service Provider: Berfungsi untuk menyediakan layanan/service dan
mengolah sebuah registry agar layanan-layanan tersebut dapat bersedia
2) Service Registry: Berfungsi sebagai lokasi central yang
mendeskripsikan semua layanan/service yang telah di-register.
3) Service Requestor: Berfungsi sebagai peminta service untuk mencari dan
menemukan service yang dibutuhkan serta menggunakan service
tersebut.
Komponen-komponen dari web service adalah sebagai berikut:
Tabel 2.2 Lapisan Dasar Web Service
Sevice Publication and Discovery
(UDDI)
Service Description
(WSDL)
XML Based Messaging
(SOAP)
Common Internet Protocols
(HTTP, TCP/IP)
Tabel 2.1 merupakan blok bangunan web service yang mana menyediakan
fasilitas komunikasi jarak jauh Antara dua aplikasi yang merupakan layer
arsitektur web service.
a) Layer 1 : protocol internet standar yang digunakan sebagai sarana
transportasi adalah HTTP dan TCP/IP
b) Layer 2 : Simple Object Access Protocol (SOAP) berbasiskan XML dan
digunakan untuk pertukaran infotrmasi antar sekelompok layanan
c) Layer 3 : Web Service Definition Language (WSDL) digunakan untuk
mendeskripsikan attribute layanan.
d) Layer 4 : Universal Description Discovery and Integration, yang mana
merupakan direktori pusat untuk deskripsi service
Menurut Febri Nugroho (2010), dalam penelitiannya menjelaskan
komponen web service yaitu:
12
a) Extensible Markup Language (XML)
XML merupakan dasar yang penting atas terbentuknya Web services.
Web services dapat berkomunikasi dengan aplikasi-aplikasi yang
memanggilnya dengan menggunkan XML, karena XML berbentuk teks
sehingga mudah untuk ditransportasikan menggunakan protocol HTTP.
Selain itu, XML juga bersifat platform independen sehingga informasi
didalamnya bisa di baca oleh aplikasi tersebut menerjemahkan tag-tag
XML.
b) Simple Object Access Protocol (SOAP)
XML saja tidak cukup agar web services dapat berkomunikasi dengan
aplikasi yang lainnya. XML yang digunakan untuk saling bertukar
informasi antara web services dengan aplikasi lainnya harus
menggunakan format standart yang dapat dimengerti oleh keduanya.
Format itulah yang dikenal dengan nama SOAP. SOAP(Simple Object
Access Protocol) merupakan suatu format standart dokumen berbentuk
XML yang digunakan untuk melakukan proses request dan responses
antara web services dengan aplikasi yang memanggilnya. Dokumen
SOAP digunakan untuk melakukan request disebut dengan SOAP
request sedangkan dokumen SOAP yang diperoleh dari Web services
disebut SOAP responses.
c) Web Service Definition Language (WSDL)
Sebelum mengakses sebuah web service pastinya perlu mengetahui
method-method apa saja yang disediakan oleh web services tersebut,
untuk mengetahuinya memerlukan sebuah dokumen yang bernama
WSDL. WSDL (Web Service Definition Language) adalah sebuah
dokumen dalam format XML yang isinya menjelaskan informasi detail
sebuah Web services. Di dalam WSDL dijelaskan method-method apa
saja yang tersedia dalam Web services, parameter apa saja yang
diperlukan untuk memanggil sebuah method, dan apa hasil atau tipe data
yang dikembalikan oleh method yang dipanggil tersebut.[10]
2.3.6 Teknologi REST
13
Ada beberapa pendekatan teknologi web services yang dapat
digunakan, yaitu metode SOAP dan REST.
REST (Representational State Tranfer) adalah suatu arsitektur metode
komunikasi yang sering diterapkan dalam pengembangan layanan berbasis
web.
Arsitektur REST, yang umumnya dijalankan via HTTP (Hypertext
Tranfer Protocol), melibatkan proses pembacaan laman web tertentu yang
memuat sebuah file XML atau JSON. File inilah yang menguraikan dan
memuat konten yang hendak disajikan. Setelah melalui sebuah proses
definisi tertentu, konsumen akan bisa mengakses antarmuka aplikasi yang
dimaksudkan.
Kekhasan REST terletak pada interkasi antara client dan server yang
difasilitasi oleh sejumlah tipe operasional dan Universal Resource
Identifiers (URLs) yang unilk bagi tiap-tiap data. Oleh karena itu pada
development web modern aksi CRUD dapat dimappingkan dengan HTTP
method sebagai berikut : CREATE sebagai POST, RETRRIVE sebagai
GET, UPDATE sebagai PUT, dan DELETE sebagai DELETE. Methods
HTTP dalam REST Web service dapat dilihat pada Tabel 2.2. [10]
Tabel 2.3 Metode HTTP dan Penggunaannya dalam REST
Method Deskripsi
GET Mendapatkan (read) sebuah data diidentifikasi dengan
URL (Uniform Resource Identifier)
POST Mengirimkan data ke server. Digunakan untuk membuat
(create) data baru.
DELETE Menghapus (delete) data yang diidentifikasi dengan
URL
PUT Mengirimkan data ke server. Digunakan untuk
memasukkan (insert) atau memperbarui (update) data
yang tersimpan.
HEAD Mendapatkan metadata (response header) dari resource
yang diidentifikasi dengan URL
14
2.3.7 JSON
JSON (Java Script Object Notation) adalah format pertukaran data
yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah
diterjemahkan dan dibuat (generate) oleh computer. Format ini dibuat
berdasarkan bagian dari bahasa pemrograman JavaScript, Standart ECMA-
262 Edisi ke-3 – Desember 1999. JSON merupakan format teks yang tidak
bergantung pada bahasa pemrograman apapun karena menggunakan gaya
bahasa yang umum digunakan oleh programmer keluarga C termasuk C,
C++, C#, Java, JavaScript, Perl, Python dan lain lain. Oleh karena sifat-sifat
tersebut, menjadikan JSON ideal sebagi bahasa pertukaran data.
JSON terbuat dari dua struktur, yaitu:
1) Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini
dinyatakan sebagai objek (object), rekaman (record), struktur
(struct), kamus (dictionary), table hash (hash table), daftar
berkunci (keyed list), atau associative array.
2) Daftar nilai terurutkan (an ordered list of values). Pada
kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vector
(vector), daftar (list), atau urutan (sequence).[10]
2.3.8 Android Studio
Gambar 2.4 Logo Android Studio
Android Studio adalah sebuah Integrated Development Environment
(IDE) utama Google untuk mengembangkan pada platform Android. Karena
Android Studio merupakan IDE dari Google, maka software ini dapat secara
langsung terintegrasi dengan Google Maps menggunakan API Key yang
dibuat di laman yang disediakan dari Google Maps API untuk
mengintegrasikan peta dengan software sehingga peta akan secara otomatis
15
ditampilkan di aplikasi yang dibuat. Selain terintegrasi dengan Google Maps,
Android Studio juga dapat terintegrasi dengan database SQLite Manager,
plugin untuk pengolahan dan penyimpanan informasi yang saling berkaitan
untuk kemudian dibuat algoritma dari tiap data yang akan ditampilkan. [5]
2.3.9 Android SDK
Android Software Development Kit (SDK) merupakan kit yang bisa
digunakan oleh para developer untuk mengembangkan aplikasi berbasis
Android. Di dalamnya, terdapat beberapa tools seperti debugger, software
libraries, emulator, dokumentasi, sample code dan tutorial.
Java SE Development kit adalah salah satu contoh Android SDK dan
menjadi bahasa pemrograman yang paling sering digunkan untuk
mengembangkan aplikasi Android. Di samping itu ada beberapa bahasa
lainnya seperti C++, Go, dan Kotlin – Bahasa yang ditetapkan Google pada
tahun 2017 lalu. [16]
2.3.10 Bahasa Pemrograman Kotlin
Kotline merupakan bahasa pemrograman baru yang telah dibuat oleh
JetBarins, yang membawa pemrograman pragmatis untuk JVM.
Pengincludan bahasa kotline dapat dilihat pada Gambar 2.5. [14]
Gambar 2.5 Tampilan Include Kotlin
2.3.11 Keistimewaan Kotlin
Saat melakukan pencarian bahasa pemrograman baru tentunya hal
yang pertama kali dipandang adalah fitur-fitur keren yang ditawarkan tapi
itu hanya memiliki impact yang tidak begitu besar.
16
Pandangan pertama yang kita lihat pada pemrograman Kotlin adalah
hasil kompilasinya dalam bentuk bytecode JVM atau Javascript. Selain itu
Kotlin ini dibuat oleh praktisi industri, dan bukan dari pihak-pihak
akademis, sehingga lebih memahami kebutuhan yang diperlukan. Misalnya
permasalahan umum seperti Null Pointer Exception yang sudah
ditambahkan pada bahasa pemrograman ini. Dan pertimbangan terakhir
yaitu, Kotlin tidak memerlukan cost untuk diambil, dengan dukungan
mumpuni dari JetBrains, semua kode Java dapat langsung di alih bentuk ke
dalam kode Kotlin hanya dengan satu klik saja.
Belajar bahasa Kotlin memerlukan pembelajaran kurva yang lama
tidak, hanya beberapa jam saja untuk memahami aksen bahasa yg
digunakan, karena memang adanya Kotlin sangat sederhana, bisa dikatakan
Kotlin merupakan Swift dari Android. [14]
2.3.12 Fitur Unggulan dari Kotlin
Bahasa pemrograman kotlin ini mengedepankan produktifitas, oleh
karena itu Kotlin hadir dengan fitur-fitur yang memudahkan dalam
pembuatan kode program. Berikut ini fitur-fitur manis tersebut:
4) Aman dari Null, seperti yang sudah disebutkan diatas, tidak perlu lagi
menghawatirkan kemungkinan timbulnya Null Pointer Exception.
Compiler secara sistematis akan menandai pointer yang berpotensi null.
5) Pemrograman Fungsional, mendukung lambda dan kemampuan
mapping, folding, pada Collection Java.
6) Anotasi Data yang otomatis dibuat untuk memperpendek boilerplate,
seperto equals, hashCode, toString.
7) Syntax Ramping, yang memberikan penulisan syntax yang cukup cepat.
Membuat fungsi one-liner, membuat Java Beans hanya dengan satu baris,
method setter dan getter otomatis.
8) Interpolasi String yag memungkinkan untuk memasukkan variabel ke
dalam String tanpa penyambungan. [14]
2.3.13 Struktur Program
17
Struktur program dari Kotlin ini lebih sederhana dan mudah dipahami
daripada Java.
Package hello
fun main(args: Array<String>) {
println(“Hello World!”)
}
Struktur kode program yang ada pada gambar diatas ini adalah struktur yang
paling sederhana.
• package hello artinya kita membuat sebuah paket bernama hello.
Paket dalam program Kotlin ini bersifat opsional atau bisa ditulis
pada program ataupun tidak
• fun main(){…} adalah fungsi utama dari program.
• args: Array<String> adalah fungsi utama program.
• println() fungsi untuk menampilkan teks pada layar.
• Titik koma (;) pada program Kotlin bersifat opsional
BAB III
METODE PENELITIAN
3.1 Subjek Penelitian
Omah Tani didirikan pada tanggal 20 Januari 2017 yang terletak di
Desa Jombok RT 01 RW 01 Kecamatan Kesamen Kabupaten Jombang, No
telp. 085608001792 dengan pemilik toko Nova Ade, didirikannya omah tani
di Desa Jombok untuk melayani kebutuhan pertanian di desa Jombok dan
sekitarnya.
3.2 Metode Penelitian
Metode penelitian yang digunakan untuk membangun aplikasi
penjulan di omah tani, Tahapan penelitian yang digunakan sebagai berikut :
1) Melakukan pengumpulan data
Tahap ini peneliti melakukan pengumpulan data untuk
mempermudah dalam menganalisis pembuatan aplikasi dengan
melakukan sebuah wawancara untuk mendapatkan sebuah data
harga barang dan data-data penjualan di omah tani
2) Tahap Analisi
Tahapan analisi ini peneliti melakukan analisi terhadap kebutuhan
sistem dan kebutuhan fungsional yang akan dituangkan pada
kedalam bentuk use case diagram
3) Tahap Desain
Tahapan ini dilakukan proses perancangan atau desain. Tahapan
ini dilakukan penggambaran alur sistem ke dalam bentuk activity
diagram dan perancangan database.
3.3 Tahapan Penelitian
Tahapan perancangan ini dilakukan agar penelitian terlihat lebih rinci,
Rancangan penelitian yang akan dilakukan dalam pembuatan sistem
ditampilkan pada Gambar 3.1
18
19
Gambar 3.1 Flowchart Tahapan Penelitian
3.4 Gambaran Umum Sistem
Sistem yang akan dibuat adalah sistem pendataan obat dan monitoring
pada perangkat android dengan menggunakan web service. Pengguna dari
sistem ini adalah pemilik toko sekaligus karyawan yang bekerja di bagian
gudang. Sistem pendataan ini yang sebelumnya masih menggunakan
komputer dengan program exel akan dirubah.
Sistem ini dibangun dengan menggunakan bahasa Kotlin dan MySQL
sebagai pengelola database serta web service sebagai jemabatan
penghubung dari android dan MySQL. Dan juga mengirim kembali data
output ke sistem. Gambaran umum sistem dapat dilihat pada Gambar 3.2.
20
Gambar 3.2 Gambaran Umum Sistem
Penjelasan dari gambaran umum sistem pada Gambar 3.2 diatas sebagai
berikut:
1) Pembeli Melalui admin ataupun langsung ke kasir
2) Admin adalah pengelola dari sebuah sistem yang ada atau yang
telah dibuat.
3) Admin akan melakukan input data barang dan transaksi ke sistem pada
perangkat yang berbasis android dengan menggunakan web service
4) Sistem akan menyimpan data inputan ke database MySQL melalui
web service dan pengelolaan transaksi.
5) Kasir akan melakukan penerimaan transaksi dan
dilanjutkan pengemasan barang.
6) Pada data barang akan tersimpan di Database, data akan muncul
kembali sebagai outputan data yang telah dimasukkan ke sistem.
7) Data barang yang keluar juga akan ada pemberitahuan ke sistem.
3.5 Use Case Diagram
Use case diagram digunakan untuk menggambarkan proses yang
dapat dilakukan oleh user. Pembuatan use case ini mengacu pada analisis
kebutuhan fungsuional. Use case diagram ditunjukkan pada Gambar 3.3.
21
Gambar 3.3. Use Case Diagram
3.6 Activity Diagram
Activity Diagram digunakan untuk menggambarkan proses aktivasi
yang telah dibuat pada use case diagram. Pada beberapa aktivasi yang ada
akan ditunjukan beberapa activity diagram inti pada aplikasi ini.
3.6.1 Activity Diagram Login
Aktifitas ini sangat diperlukan untuk masuk dalam aplikasi ini, atau
untuk pengelolaan sistem yang ada pada aplikasi. Activity diagram Login
ditunjukkan pada Gambar 3.4. Activity Diagram Login.
Gambar 3.4. Activity Diagram Login
22
3.6.2 Activity Diagram Register
Aktifitas ini berkaitan dengan login aplikasi, dimana harus memiliki
data-data untuk mealakukan login. Activity diagram Register ditunjukkan
pada Gambar 3.5. Activity Diagram Register.
Gambar 3.5. Activity Diagram Register
3.6.3 Activity Diagram Data Barang
Aktifitas ini berkaitan dengan proses pengelolaan dimana user
menginputkan barang yang akan dijual, atau dimasukkan kedalam data
barang. Activity diagram data barang ditunjukkan pada Gambar 3.6.
Activity Diagram Data Barang.
23
Gambar 3.6. Activity Diagram Data Barang
3.6.4 Activity Diagram Data Transaksi
Aktivitas ini berkasitan dengan proses transaksi dimana user
menginputkan data barang dan banyaknya barang yang akan dibeli oleh
pelanggan dan akan terhubung otomatis oleh sistem, dan langsung
tersimpan ke database. Activity Diagram transaksi ditunjukkan pada
Gambar 3.7. Activity Diagram Transaksi.
Gambar 3.7. Activity Diagram Transaksi
24
3.7 Sequence Diagram
Sequence Diagram adalah suatu diagram yang menjelaskan interaksi
objek dan menunjukkan (memberi tanda atau petunjuk) komunikasi diantara
objek-objek tersebut.
Sequence diagram digunakan untuk menjelaskan perilaku pada sebuah
skenario dan menggambarkan bagaimana entitas dan sistem berinteraksi,
termasuk pesan yang dipakai saat interaksi. Semua pesan digambbarkan
dalam urutan pada eksekusi.
3.7.1 Sequence Diagram Login
Pada proses ini pertama kali yang harus dilakukan admin untuk dapat
masuk kedalam system adalah dengan melakukan login terlebih dahulu,
admin harus mengisi username dan password agar dapat masuk ke sistem,
yang kemudian sistem akan mengecek dan akan menampilkan apakah
username atau password yang di isi benar atau salah. Sequence Diagram
Login ditunjukkan pada Gambar 3.8. Sequence Diagram Login
Gambar 3.8. Sequence Diagram Login
25
3.7.2 Sequence Diagram Register
Pada proses ini sebelum admin melakukan login harus memiliki
username dan password terlebih dahulu dengan cara melakukan registrasi ke
form registrasi dan data akan disimpan ke dalam system untuk dapat
malakukan login admin. Sequence Diagram Register ditunjukkan pada
Gambar 3.9. Sequence Diagram Register
Gambar 3.9. Sequence Diagram
Register 3.7.3 Sequence Diagram Input Data
Proses ini adalah proses lanjutan dari login, setelah admin dapat
masuk ke system admin dapat melakukan proses input data, admin pertama
kali memilih penginputan data barang pertanian yang selanjutnya masuk ke
tampilan atau form data barang atau nama barang pertanian apa saja yang
akan di input yang kemudian system akan mengecek dan menyimpan nya
serta menampilkan apakah data barang pertanian sudah lengkap atau belum.
Sequence Diagram Input Data ditunjukkan pada Gambar 3.10. Sequence
Diagram Input Data.
26
Gambar 3.10. Sequence Diagram Input Data Barang
3.7.4 Sequence Diagram Transaksi
Pada dasarnya, diagram sequensial merupakan perincian proses dari
usecase diagram, untuk melakukan proses yang ada pada system ini, maka
diperlukan sebuah kontrol. Kontrol menjadi jembatan antara form dengan
entity(tabel) yang digunakan. Dapat dilihat bahwa, setelah form input data
transaksi penjualan tampil, maka petugas (user) menginputkan id barang
maka kontrol akan mengambil data dari entity barang dan ditampilkan pada
form transaksi penjualan. Kemudian admin menginputkan jumlah barang
yang akan dibeli serta harga barang pertanian yang dibeli maka kontrol akan
mengecek atau menghitung jumlah pembayaran yang harus dibayar oleh
costumer. Setelah itu baru akan diadakan pentotalan harga pembelian dan
akan ditampilkan ke form data pembayaran. Sequence Diagram Transaksi
ditunjukkan pada Gambar 3.11. Sequence Diagram Transaksi.
Gambar 3.11. Sequence Diagram Transaksi
27
3.7.5 Sequence Diagram Riwayat
Proses ini adalah proses akhir yang dilakukan oleh admin, setelah
admin melakukan proses input data dan transaksi maka admin akan
menampilkan riwayat transaksi data penjualan, pertama kali admin akan
memilih menu utama kemudian akan tampil form riwayat, lalu pilih riwyat,
form riwayat akan di tampilkan kepada admin. Sequence Diagram Riwayat
ditunjukkan pada Gambar 3.11. Sequence Diagram Riwayat.
Gambar 3.11. Sequence Diagram Riwayat
3.8 Software dan Hardware
Adapun Software dan Hardware yang digunakan pada penelitian ini
Tabel 3.1 Software
No Software
1. Sistem Operasi Windows 10 64Bit
2. Program Aplikasi Android Studio
3. XAMPP
Tabel 3.2 Hardware
No Hardware
1. AMD Ryzen 5
2. RAM 8 GB
3. Hardisk 500 GB
3.9 Fitur Sistem
Fitur – fitur yang terdapat di dalam aplikasi pada proposal ini sebagai
berikut:
28
1) Register, fitur ini berguna bagi pemilik atau pekerja yang pemegang
bagian pendataan di gudang.
2) Aplikasi ini dapat melalukan pengolahan data / Create Read Update
Delete (CRUD).
3) Manajemen Stok, fitur ini membantu memantau, mengecek, dan
menginput stok barang yang ada di toko obat tani.
4) Laporan Penjualan yang berguna untuk mengetahui
bagaimana perkembangan bisnis secara realtime dan mudah.