1. Pendahuluan Pencatatan data barang yang masih manual dengan menggunakan buku sebagai media penyimpanan stok barang dan pengarsipan nota pembelian yang juga dilakukan secara manual seringkali memaksa pemilik dan karyawan toko untuk mengeluarkan waktu dan tenaga ekstra demi mendapatkan data barang dan data nota pembelian karena kebutuhan akan data barang dan data nota pembelian seringkali datang tanpa diduga, hal ini juga berimbas kepada menurunnya pelayanan ke konsumen. Tidak jarang nota pembelian terselip, sehingga menyulitkan pemilik toko saat akan melunasi tagihan nota tersebut. Melihat jenis barang yang ada di toko lebih dari 200 jenis barang, memberikan kesulitan tersendiri saat pemilik toko akan memesan barang untuk menambah jumlah stok yang dimiliki, sehingga karyawan akan bolak-balik ke gudang hanya untuk mengetahui sisa stok barang yang dimiliki. Proses bisnis yang terjadi dalam toko dimulai dari seorang sales yang datang untuk menawarkan barang, disini pemilik toko membutuhkan data barang yang habis stok ataupun barang yang stoknya sudah hampir habis, kemudian pemilik akan memesan barang tersebut ke sales. Selain barang yang telah dibeli oleh pemilik sebelumnya, seringkali ada jenis barang baru yang ditawarkan oleh sales untuk dijual kembali oleh pemilik toko. Selain proses pembelian barang dari sales, pemilik juga harus meminta karyawan untuk mencari barang yang rusak, cacat produksi, ataupun tidak berfungsi sebagaimana mestinya untuk kemudian dikembalikan (diretur) ke sales agar mendapatkan ganti barang baru. Setelah pembelian barang dilakukan, satu bulan setelah pembelian barang dari sales, pemilik diminta untuk membayar barang yang telah dibeli. Dalam tahap ini biasanya pemilik akan mencari terlebih dahulu nota pembelian yang ditagih oleh distributor, untuk kemudian dibayar sesuai dengan besar tagihan yang ada. Berdasarkan proses bisnis yang ada, maka aplikasi yang dibangun harus dapat mendukung tugas-tugas rutin yang terjadi yaitu pencatatan data pembelian dan data barang. Teknologi informasi yang ada saat ini dapat dimanfaatkan oleh para pelaku bisnis untuk mendukung proses bisnis yang terjadi. Bagi para pelaku bisnis, perangkat komputer dan perangkat mobile merupakan suatu alat yang mampu memudahkan setiap pekerjaan yang dilakukan, dalam mengelola data kapan dan dimana saja. Sebagai sistem operasi mobile yang banyak digunakan oleh telepon pintar saat ini, Android juga dapat dimanfaatkan untuk menjawab kebutuhan akan data yang praktis dan cepat untuk diakses. Sebagai bahan acuan, diambil contoh pemanfaatan teknologi informasi pada toko Laksana Elektronik. Berdasarkan kebutuhan akan data barang dan data nota pembelian, penelitian ini mengambil topik Perancangan Aplikasi Pengelolaan Data Barang dan Data Nota Pembelian menggunakan Mobile Android dan Desktop (Studi Kasus: Laksana Elektronik). Aplikasi desktop dipilih karena pemanfaatan aplikasi manajemen data barang ini sebagian besar dilakukan pada saat toko beroperasi, sehingga kontrol terhadap transaksi yang terjadi akan lebih mudah, baik itu transaksi pembelian penjualan maupun manajemen data barangnya. Diharapkan dengan dirancangnya aplikasi ini dapat memudahkan pengelolaan data barang dan 1 data nota pembelian secara cepat, praktis, dan mudah. Aplikasi yang dibangun dalam penelitian ini memanfaatkan teknologi komputer desktop yang dikolaborasikan dengan teknologi mobile yang mendukung fitur dari aplikasi yang akan dibangun. Rumusan masalah pada penelitian ini adalah bagaimana merancang aplikasi yang dapat dimanfaatkan untuk mengelola data barang dan data nota pembelian menggunakan desktop dan mobile Android. Tujuan yang ingin dicapai dalam penelitian ini adalah membangun sebuah aplikasi yang mampu memudahkan pemilik toko dalam mengelola data barang dan data nota pembelian sehinga meminimalkan terjadinya kehilangan nota pembelian dan memudahkan pencarian barang yang habis stok. Nota tagihan dan data barang yang habis stok dapat diakses melalui aplikasi mobile, sehingga lebih mudah dan praktis karena semua data disimpan dan diakses secara terpusat dengan bantuan sistem komputer, sekaligus dapat diakses kapan saja dan dimana saja selama memiliki akses internet. 2. Kajian pustaka Penelitian mengenai perancangan aplikasi kelola data barang pada toko telah ada sebelumnya, penelitian yang dilakukan oleh Reza Purnama dan Wiwin Agustrio pada tahun 2014 yang berjudul “Sistem Aplikasi Penjualan Barang dan Rekapitulasi Stok Barang di Jumpfact Cellular” mengemukakan bahwa pengelolaan data menggunakan metode lama dan belum menggunakan sistem berbasis data komputer dapat menghambat pemberian informasi dan pelayanan yang diberikan ke pelanggan, juga diperlukan adanya perapian dokumen yang ada dalam toko [1]. Sistem yang dibangun oleh Reza Purnama menggunakan tools Visual Basic 6.0 dan Microsoft SQLServer 2000. Penelitian yang memanfaatkan teknologi mobile khususnya Android dalam bidang bisnis juga telah ada sebelumnya, penelitian yang dilakukan oleh Muhammad Iqbal pada tahun 2012 yang berjudul “Aplikasi Ponsel Berbasis Android untuk Penjualan pada Kios Eceran Q-Mono Flower” mengemukakan bahwa pemanfaatan teknologi informasi tidak tertutup hanya pada skala besar saja seperti supermarket, namun pemanfaatan teknologi informasi tersebut juga dapat diterapkan pada pedagang retail atau kios eceran [2]. Sistem yang dibangun dalam penelitian Muhammad Iqbal berbasis mobile Android yang menangani proses transaksi jual-beli bunga, sehingga dapat mempermudah penanganan transaksi penjualan dan menghitung total penjualan perbulan. Android sendiri merupakan sistem operasi yang banyak digunakan pada ponsel pintar saat ini, berbasis kernel linux yang dikembangkan oleh Android Inc yang kemudian diakuisisi oleh Google. Android merupakan platform mobile generasi pertama yang lengkap, terbuka, dan bebas, dan merupakan platform mobile yang memberi kebebasan pengembang aplikasi dalam melakukan pengembangan sesuai dengan apa yang diharapkannya [3]. PhoneGap merupakan salah satu framework opensource yang memungkinkan aplikasi berbasis web menjadi aplikasi native yang diinstal dalam perangkat mobile Android [3]. Meskipun dibangun dengan menggunakan 2 komposisi aplikasi web, seperti HTML, CSS, javascript, namun tidak menutup kemungkinan untuk mengakses fitur yang dimiliki oleh perangkat seperti kamera, speaker, dan lain-lain. Keuntungan aplikasi yang dibangun menggunakan PhoneGap adalah dapat diimplementasikan ke berbagai sistem operasi mobile seperti Blackberry, iOS, Android, dan lainnya. Web service adalah antarmuka yang menggambarkan sekumpulan operasi yang dapat diakses melalui jaringan, misalnya internet dalam bentuk pesan XML (eXtensible Markup Language) [4]. Web service menyediakan standar komunikasi antar aplikasi yang berbeda, dan dapat berjalan pada platform maupun framework yang berbeda juga. Web service dapat ditemukan, diakses, dan diuraikan berdasarkan pada XML dan protokol standar web pada intranet, extranet, dan internet. 3. Metode penelitian Sistem yang dibuat, dirancang dengan menggunakan metode prototyping, yang pembangunannya dapat dilakukan dengan cepat dan mudah, serta melibatkan peran serta pengguna dalam perancangan aplikasi. Tahapan yang dilakukan dalam metode prototyping antara lain [5]: a. Analisis kebutuhan Analisis kebutuhan dan pengumpulan data dilakukan dengan melakukan wawancara pada pemilik toko mengenai kebutuhan aplikasi dan alur bisnis yang terjadi didalam toko. Dari wawancara yang dilakukan, didapatkan bahwa pemilik toko membutuhkan suatu cara dalam mengelola data barang dan nota pembelian. Data barang dan nota pembelian yang ada harus dapat diakses dimana saja dan kapan saja untuk memudahkan pemilik toko dalam pencarian data barang dan data nota pembelian. Data-data yang didapatkan pada tahap ini adalah data barang, data distributor, dan data nota pembelian penjualan. b. Perancangan sistem Setelah kebutuhan didapatkan, dilanjutkan dengan membangun sistem menggunakan UML (Unified Modelling Language), memanfaatkan tools Microsoft Visio. Diagram yang dibuat antara lain use case diagram, activity diagram, sequence diagram, class diagram, dan deployment diagram. Perancangan antarmuka aplikasi juga dilakukan menggunakan tools Microsoft Visio, rancangan antarmuka aplikasi yang dibuat meliputi aplikasi desktop yang menangani proses pembelian, penjualan, pengelolaan data barang, data distributor, data user, dan laporan penjualan dan laporan stok barang. Aplikasi pada mobile Android menangani lihat daftar barang habis stok, dan lihat data nota pembelian. Aplikasi desktop dan aplikasi Android mengakses data melalui web service. c. Evaluasi prototype Setelah aplikasi dibuat, dalam tahap ini dilakukan pengujian aplikasi. Pengujian ini sekaligus evaluasi terhadap kesalahan yang terjadi saat aplikasi dijalankan maupun kekurangan aplikasi sesuai analisa kebutuhan pada tahap awal. Apabila terdapat kesalahan maupun belum tercapainya kebutuhan, akan 3 dilanjutkan kembali ke tahap awal analisa kebutuhan. Ada beberapa prototype aplikasi desktop yang dibuat, antara lain: Prototype 1 Prototype aplikasi desktop yang pertama memiliki fitur untuk melakukan transaksi penjualan, transaksi pembelian, kelola data barang, dan data pengguna aplikasi. Setelah proses demo aplikasi kepada pemilik toko, terdapat beberapa perbaikan yang perlu ditambahkan ke aplikasi desktop ini, antara lain perbaikan pada tampilan aplikasi, dan tambahan fitur untuk mengelola data distributor. Antarmuka prototype aplikasi desktop pertama dapat dilihat pada Gambar 1. Gambar 1 Tampilan Prototype Pertama Aplikasi Desktop Prototype 2 Tampilan aplikasi desktop pada prototype kedua ini telah diubah sesuai dengan permintaan pemilik toko, serta penambahan menu berupa kelola data distributor. Setelah demo aplikasi ke pemilik toko, pemilik toko menemukan kesulitan saat akan melakukan pencarian nota pembelian, karena pada prototype aplikasi desktop yang kedua ini belum ada fitur untuk melakukan pencarian nota, baik itu nota pembelian maupun nota penjualan. Pemilik toko juga menginginkan agar data stok barang yang ada dapat dicetak. Tampilan prototype aplikasi dekstop yang kedua ini dapat dilihat pada Gambar 2. Gambar 2 Tampilan Prototype Kedua Aplikasi Desktop Prototype 3 Penambahan fitur aplikasi, yaitu pencarian nota pembelian penjualan, serta fitur untuk mencetak data stok barang telah ditambahkan pada prototype aplikasi 4 yang ketiga ini. Setelah prototype ini didemokan kepada pemilik toko, aplikasi ini sudah dapat memenuhi kebutuhan pemilik toko akan data barang dan data nota pembelian. Tampilan prototype aplikasi desktop ketiga ini dapat dilihat pada Gambar 3. Gambar 3 Tampilan Prototype Ketiga Aplikasi Desktop Aplikasi mobile Android yang dibangun, hanya memiliki satu prototype saja. Aplikasi mobile yang dibangun memiliki fitur untuk melakukan pencarian data barang berdasarkan kategori, dan pencarian nota pembelian belum lunas berdasarkan distributor. Aplikasi mobile yang dibangun memiliki menu login saat pertama kali dijalankan untuk membatasi hak akses pengguna ke aplikasi. Tampilan aplikasi mobile dapat dilihat pada Gambar 4. Gambar 4 Tampilan Prototype Aplikasi Mobile Dalam tahap perancangan sistem, dilakukan desain sistem dan perangkat lunak untuk menggambarkan proses kerja aplikasi. Aplikasi desktop digunakan oleh pemilik toko dan karyawan toko, pemilik toko memiliki akses ke semua fitur aplikasi, sedangkan karyawan terbatas hanya pada beberapa menu saja. Aplikasi desktop menangani data pembelian barang, data penjualan barang, data distributor, data barang, dan data user, aplikasi ini juga dapat melihat data nota jatuh tempo, barang habis stok, dan pencarian data nota pembelian dan penjualan. Aplikasi mobile digunakan oleh pemilik toko, aplikasi ini memiliki fitur untuk mencari nota pembelian yang belum dibayar dan pencarian stok barang. Aplikasi mobile ini dibuat memanfaatkan framework PhoneGap dan diimplementasikan pada Android, Android dipilih karena pemilik toko menggunakan smartphone Android sebagai salah satu alat komunikasi, sehingga dapat dimanfaatkan sebagai alat komunikasi sekaligus sebagai penunjang aplikasi desktop untuk memudahkan pencarian data. 5 Pemodelan aplikasi pada penelitian ini menggunakan UML yang merupakan bahasa standar untuk memodelkan sebuah perangkat lunak yang akan dibuat. Hasil perancangan aplikasi menggunakan UML dijelaskan sebagai berikut: Use case diagram menggambarkan interaksi antara pengguna dan sistem, dan juga menggambarkan berbagai macam tipe pengguna dan cara mereka berinteraksi dengan sistem. Dalam penjelasan use case ini, diasumsikan user telah memiliki akun yang terdaftar dalam sistem untuk dapat mengakses semua fitur yang disediakan oleh aplikasi. Use case diagram yang digunakan dalam penelitian ini dapat dilihat pada Gambar 4 dan Gambar 5. Lihat data nota jatuh tempo Lihat data barang habis stok Pemilik Gambar 5 Use Case Aplikasi Mobile Gambar 4 menjelaskan mengenai use case diagram aplikasi mobile Android, hanya terdapat satu pengguna dalam sistem, yaitu pemilik toko. Pemilik toko dapat mengakses beberapa menu antara lain: lihat data barang habis stok, dan lihat data nota pembelian jatuh tempo yang belum lunas. Pemilik toko dapat mengakses menu dalam aplikasi mobile setelah pemilik melakukan login ke dalam sistem. «extends» Laporan penjualan «extends» Lihat laporan Laporan stok barang «extends» «extends» Hapus user Kelola data user Tambah user «extends» Ubah user Kelola data barang «extends» Hapus barang «extends» «extends» Tambah barang Ubah barang Kelola data nota penjualan «extends» Pemilik «extends» Karyawan «extends» Hapus nota penjualan Tambah nota penjualan Ubah nota penjualan «extends» Hapus nota pembelian Kelola data nota pembelian «extends» «extends» Kelola data distributor «extends» Hapus distributor Ubah nota pembelian Tambah nota pembelian «extends» «extends» Tambah distributor Ubah distributor Gambar 6 Use Case Aplikasi Desktop 6 Gambar 5 menjelaskan mengenai use case diagram aplikasi desktop, terdapat dua pengguna dalam sistem, yaitu pemilik toko dan karyawan toko, yang mana tiap pengguna memiliki hak akses yang berbeda ke dalam sistem. Pengguna sebagai pemilik memiliki akses penuh atas sistem, antara lain: kelola data pengguna, kelola data barang, kelola data penjualan, kelola data pembelian, kelola data distributor, dan lihat laporan penjualan dan stok barang. Sedangkan pengguna sebagai karyawan toko memiliki hak akses antara lain: ubah data pengguna, kelola data barang, kelola data penjualan, kelola data distributor, dan lihat laporan stok barang. Activity diagram menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Activity diagram hanya menyebutkan aturan-aturan dasar yang harus diikuti, karena proses yang sering muncul secara paralel [6]. Dalam UML, dapat digunakan untuk menggambarkan alur aplikasi yang berjalan. Activity diagram yang digunakan dalam penelitian ini dapat dilihat pada Gambar 6 dan Gambar 7. Pengguna Aplikasi mobile Web service Mulai Buka aplikasi & login Login user Ambil data user Invalid user User valid Pilih menu daftar barang Tampilkan menu Ambil daftar kategori barang Pilih kategori barang Ambil daftar kategori barang Tampilkan daftar kategori barang Ambil data barang sesuai kategori Ambil data barang Tampilkan pesan tidak ada data Tidak ada data Ada data Tampilkan data barang Selesai Gambar 7 Activity Diagram Pencarian Data Barang Activity diagram pencarian data barang yang digunakan pada aplikasi mobile dapat dilihat pada Gambar 6. Sebelum pengguna dapat melakukan pencarian data barang, pengguna akan diminta untuk melakukan login ke dalam sistem, fungsi login disini juga sebagai gerbang utama yang membatasi level pengguna karena pengguna sebagai karyawan tidak memiliki hak akses ke aplikasi ini. Setelah pengguna melakukan login, barulah pengguna dapat melakukan pencarian barang dengan memilih menu pencarian barang, aplikasi 7 akan menampilkan daftar kategori barang sebelum pengguna dapat melihat data barang. Setelah pengguna memilih jenis kategori barang, barulah aplikasi mobile mengambil data barang sesuai dengan kategori yang dipilih, hal ini bertujuan agar tidak terlalu banyak data barang yang ditampilkan pada satu waktu. Pengguna Aplikasi desktop Web service Mulai Buka aplikasi & login Login user Ambil data user Invalid user user valid Pilih menu transaksi pembelian Tampilkan menu utama Tampilkan form transaksi pembelian Masukkan data transaksi pembelian Cek redundansi data Ambil data transaksi pembelian Tampilkan pesan adanya redundansi Ada redundansi data Tidak ada redundansi data Proses simpan data transaksi pembelian Simpan data transaksi pembelian Tampilkan pesan temberitahuan simpan Selesai Gambar 8 Activity Diagram Tambah Data Transaksi Pembelian Gambar 7 merupakan activity diagram dalam proses penambahan data pembelian yang digunakan aplikasi desktop. Aktivitas dimulai saat pengguna melakukan login ke dalam sistem, disini sistem akan memeriksa apakah login yang dimasukkan oleh pengguna adalah valid. Setelah proses login berhasil, pengguna akan mengakses menu transaksi pembelian dari menu utama yang ada, sehingga pengguna dapat memasukkan data transaksi pembelian yang baru. Sebelum data transaksi pembelian yang baru disimpan, sistem akan terlebih dahulu melakukan pengecekan redundansi data transaksi pembelian untuk menghindari adanya data yang sama dalam database, apabila tidak ada data yang sama, maka sistem akan langsung menyimpan data transaksi pembelian yang baru melalui layanan web service, baru kemudian sistem akan memberikan pesan pemberitahuan simpan. Sequence diagram menggambarkan tentang proses interaksi yang terjadi dalam suatu sistem yang disusun dalam satu serial waktu. Sequence diagram secara khusus menjabarkan behavior sebuah skenario tunggal dan menunjukkan sejumlah obyek contoh dan pesan yang melewati obyek-obyek yang terdapat dalam use case [6]. Sequence yang terjadi dalam penelitian ini dapat dilihat pada Gambar 8 dan Gambar 9. 8 Aplikasi mobile Controller Model Tabel Top Package::Pengguna Login Mengarahkan Ambil data user Ambil data user Return data user Return data user Return data user Tampilkan menu utama Pilih menu pencarian barang Mengarahkan Ambil daftar kategori barang Ambil daftar kategori barang Return daftar kategori barang Return daftar kategori barang Return daftar kategori barang Tampilkan daftar kategori barang Pilih kategori barang Mengarahkan Ambil daftar barang Ambil daftar barang Return daftar barang Return daftar barang Return daftar barang Tampilkan daftar barang Gambar 9 Sequence Diagram Pencarian Data Barang Sequence yang terjadi saat aplikasi mobile digunakan untuk melakukan pencarian data barang dapat dilihat pada gambar 8. Sequence dimulai saat pengguna melakukan login ke dalam sistem, aplikasi mobile akan meneruskan username dan password yang dimasukkan pengguna ke controller dalam web service, controller akan meminta data pengguna dari model, selanjutnya controller akan mengembalikan data pengguna ke aplikasi mobile. Saat pengguna memilih menu pencarian data barang, aplikasi mobile akan meminta daftar kategori barang ke controller, controller akan meminta model untuk mengambil daftar kategori barang untuk dikembalikan ke aplikasi mobile. Dari daftar kategori yang ditampilkan oleh aplikasi mobile, pengguna dapat memilih data barang berdasarkan kategori yang ada. Daftar barang yang ditampilkan juga merupakan hasil permintaan ke controller, controller sendiri meminta model untuk melakukan query ambil daftar barang dari database. 9 Aplikasi desktop Object Relational Mapping Controller Model Tabel Top Package::Pengguna Login Kirim usename & password Mengarahkan Ambil data user Ambil data user Return data user Return data user Return data user Return data user Tampilkan menu utama Pilih menu tambah transaksi pembelian Tampilkan form transaksi pembelian Masukkan data transaksi pembelian Cek redundansi data Mengarahkan Ambil data transaksi pembelian Ambil data transaksi pembelian Return data transaksi pembelian Return data transaksi pembelian Return data transaksi pembelian Return data transaksi pembelian Simpan data transaksi pembelian Mengarahkan Simpan data transaksi pembelian Simpan data transaksi pembelian Tampilkan pesan pemberitahuan simpan Gambar 10 Sequence Diagram Tambah Transaksi Pembelian Gambar 9 menjelaskan mengenai sequence diagram proses penambahan data transaksi pembelian pada aplikasi desktop, yang dimulai dengan proses login pengguna ke dalam sistem. Aplikasi desktop akan menghubungi controller di server dengan menyertakan username dan password yang dimasukkan pengguna, controller akan meneruskan data tersebut ke model untuk selanjutnya dicek dalam tabel di database, data pengguna yang didapatkan akan dikembalikan ke controller dan diteruskan ke aplikasi desktop. Aplikasi desktop akan menampilkan menu utama ke pengguna, pengguna dapat melakukan penambahan data transaksi pembelian dengan memilih menu transaksi pembelian, kemudian memasukkan data baru transaksi pembelian. Sebelum data baru transaksi pembelian disimpan, sistem akan memeriksa apakah ada redundansi data transaksi pembelian, apabila tidak ada redundansi data, maka data baru transaksi pembelian akan disimpan. Class diagram menggambarkan struktur sistem dengan menampilkan class, atribut, operasi, dan relasi antar obyek. Class diagram yang digunakan dalam penelitian ini dapat dilihat pada Gambar 10 dan Gambar 11. 10 <<entity>> Penjualan <<entity>> Detail Penjualan <<entity>> Barang <<entity>> Pembelian <<entity>> Detail Pembelian -idJual : String -tglJual : Date -idJual : String -idDetail : String -idBarang : String -hargaSatuan : Decimal -jumlah : Integer -idBarang : String -nama : String -merek : String -tipe : String -spek : String -stok : Integer -idKategori : Integer -idBeli : String -distributor : String -tglBeli : Date -tglJatuhTempo : Date -ku : Boolean -tglKU : Date -idBeli : String -idDetail : String -idBarang : String -hargaBeliSatuan : Decimal -jumlah : Integer -hargaJualSatuan : Decimal Controller +return_json() +route_request() <<control>> Lihat Data Barang <<control>> Lihat Data Nota Pembelian +read() +read() Gambar 11 Class Diagram Aplikasi Mobile Terdapat dua buah kontrol yang ada dalam aplikasi mobile, lihat data barang, dan lihat data nota pembelian. Kontrol yang ada digunakan untuk berinteraksi dengan entity melalui controller yang menangani proses permintaan dan pengiriman data. Class diagram yang digunakan dalam aplikasi mobile dapat dilihat pada Gambar 10. <<entity>> Distributor <<entity>> Penjualan <<entity>> Detail Penjualan <<entity>> Laporan Penjualan <<entity>> Laporan Stok Barang -idDistributor : String -nama : String -alamat : String -kodePos : String -idKota : Integer -telepon : String -fax : String -email : String -noRek : String -bank : String -idJual : String -tglJual : Date -idJual : String -idDetail : String -idBarang : String -hargaSatuan : Decimal -jumlah : Integer -nomorNota : String -tanggalJual : String -idBarang : String -harga : String -jumlah : Integer -total : Decimal -idBarang : String -nama : String -merek : String -tipe : String -jumlahStok : Integer -hargaJual : Decimal <<entity>> Barang <<entity>> Retur <<entity>> Detail Retur -idRetur : String -idDistributor : String -tglRetur : Date -idRetur : String -idDetail : String -idKategori : Integer -idBarang : String -jumlahRetur : Integer -ketRetur : String -kembali : Boolean -jumlahKembali : Integer -ketKembali : String -idBarang : String -nama : String -merek : String -tipe : String -spek : String -stok : Integer -idKategori : Integer <<entity>> Pembelian <<entity>> Detail Pembelian -idBeli : String -distributor : String -tglBeli : Date -tglJatuhTempo : Date -ku : Boolean -tglKU : Date -idBeli : String -idDetail : String -idBarang : String -hargaBeliSatuan : Decimal -jumlah : Integer -hargaJualSatuan : Decimal Controller +return_json() +route_request() Object Relational Mapping +create() +update() +read() +delete() <<control>> Kelola Distributor <<control>> Kelola Data Barang <<control>> Laporan +insert() +update() +delete() +insert() +update() +delete() +Read() <<control>> Kelola Data User +insert() +update() +delete() <<control>> Kelola Nota Pembelian <<control>> Kelola Nota Penjualan +insert() +update() +delete() +insert() +update() +delete() Gambar 12 Class Diagram Aplikasi Desktop 11 Gambar 11 merupakan class diagram yang digunakan dalam aplikasi desktop. Terdapat enam kontrol, yaitu kelola distributor, kelola data barang, kelola data user, kelola penjualan, kelola pembelian, dan laporan. Dari keenam kontrol yang ada, berinteraksi dengan entity melalui controller, controller inilah yang meneruskan request aplikasi desktop. Hasil dari request yang berupa json string, akan diubah menjadi bentuk obyek sehingga akan memudahkan dalam penggunaan datanya. Deployment diagram merupakan diagram yang menggambarkan detail bagaimana aplikasi disebar (deploy) dalam infrastruktur sistem, dimana aplikasi akan ditempatkan. Gambar 13 menjelaskan mengenai deployment diagram yang digunakan dalam penelitian ini. Aplikasi desktop digunakan sebagai client yang menangani proses pencatatan nota pembelian, data barang, dan proses penjualan barang, aplikasi desktop dibangun dengan menggunakan bahasa pemrograman Visual Basic .NET. Aplikasi mobile juga digunakan sebagai client yang menangani kebutuhan data stok barang dan data nota pembelian, aplikasi mobile dibangun dengan memanfaatkan framework PhoneGap yang memungkinkan aplikasi dijalankan lintas sistem operasi mobile. Data yang disajikan pada aplikasi desktop dan aplikasi mobile didapatkan melalui web service, web service menyediakan layanan data barang, data nota pembelian dan penjualan, data distributor, dan data pengguna aplikasi. . Database server Web service Web server Client desktop Client android Gambar 13 Deployment Diagram 4. Hasil dan pembahasan Penelitian ini menghasilkan aplikasi desktop dan aplikasi mobile yang digunakan untuk mengelola data barang dan data nota, dimana baik aplikasi desktop maupun aplikasi mobile mengakses web service untuk mendapatkan dan mengirimkan data. Kode program 1 merupakan kode program dalam controller barang yang menyediakan layanan data barang berdasarkan kategori tertentu. Fungsi pada controller ini diakses oleh aplikasi desktop, permintaan data barang dengan menyertakan kategori barang, selanjutnya controller akan meneruskan request ke 12 model, yang akan mengakses database. Data barang yang didapatkan kemudian dikembalikan oleh controller ke client. Kode program dalam controller barang dapat dilihat pada Kode program 1. Kode Program 1 Controller Data Barang function get_by_kategori($idKategori){ $barang = $this->mBarang->get_by_kategori($idKategori); $data = json_encode($barang); header('HTTP/1.1: 200'); header('Status: 200'); header('Content-Lengh: '.strlen($data)); exit($data); } Kode program 2 merupakan kode program unruk mengakses data barang berdasarkan kategori barang, digunakan pada aplikasi desktop. Data barang didapat dengan cara request ke web service dengan menyertakan kategori barangnya. Data barang didapat dari web service dalam bentuk json string, kemudian diubah kedalam bentuk obyek agar lebih mudah dalam penggunaan hasilnya. Kode Program 2 Ambil Data Barang Private Sub _getBarangByKategori(ByVal idKategori As Integer) Dim request As HttpWebRequest Dim response As HttpWebResponse = Nothing Dim reader As StreamReader Dim result As String request = DirectCast(WebRequest.Create(Utility.URL & "barang/get_by_kategori/" & idKategori), HttpWebRequest) response = DirectCast(request.GetResponse(), HttpWebResponse) reader = New StreamReader(response.GetResponseStream()) result = reader.ReadToEnd Dim jsonDecode() As BarangInfo = JsonConvert.DeserializeObject(Of BarangInfo())(result) For i As Integer = 0 To jsonDecode.GetLength(0) - 1 Me.Add(BarangInfo.LoadObject(jsonDecode(i).Idbarang, jsonDecode(i).Nama, jsonDecode(i).Merek, jsonDecode(i).Tipe, jsonDecode(i).Spesifikasi, jsonDecode(i).Stok, jsonDecode(i).Kategori, jsonDecode(i).Harga)) Next End Sub Data barang yang didapatkan setelah melakukan request ke web service kemudian akan ditampilkan melalui listview. Detail data barang dapat dilihat dengan klik ganda atau klik kanan pada daftar barang, maka detail data barang akan ditampilkan pada jendela baru, disini pengguna dapat melakukan perubahan 13 pada data barang. Form daftar barang dan form tambah data barang dapat dilihat pada Gambar 13. Gambar 14 Form Daftar Barang dan Tambah Barang Kode program 3 merupakan kode program yang ada dalam controller pembelian barang yang diakses aplikasi desktop untuk melakukan simpan data pembelian, dan simpan item barang dibeli. Kode Program 3 Kode Program Controller Pembelian function save(){ $pesan = $this->input->post('pesan'); $data = json_decode($pesan); $this->mPembelian->save($data); } function save_detail(){ $pesan = $this->input->post('pesan'); $data = json_decode($pesan); $this->mPembelian->save_detail($data); } Kode program 4 merupakan kode program untuk menyimpan data nota pembelian, digunakan pada aplikasi desktop. Sebelum sistem menyimpan data transaksi pembelian yang dimasukkan pengguna, sistem akan melakukan pengecekan terlebih dahulu, apakah terdapat redundansi data nota pembelian, bila terdapat redundansi data, maka aplikasi akan menampilkan pesan kesalahan pada pengguna aplikasi dan meminta pengguna untuk memeriksa kembali inputan data nota pembelian. Kode Program 4 Kode Program Simpan Data Pembelian Dim nota As PembelianEdit = PembelianEdit.NewObject With nota .IdBeli = TxtNomorNota.Text 14 .TglBeli = DTPTglBeli.Value .IdDistributor = CMBDistributor.SelectedValue .TglJatuhTempo = DTPJatuhTempo.Value If CBLunas.Checked Then .KU = 1 Else .KU = 0 End If .TglKU = Date.Now .SavePembelian() End With Dim count As Integer = 1 For Each item As ListViewItem In ListViewDetail.Items Dim obj As DetailBeliEdit = DetailBeliEdit.NewObject obj = CType(item.Tag, DetailBeliEdit) With obj .IdDistributor = CMBDistributor.SelectedValue .IdBeli = TxtNomorNota.Text .IdDetail = TxtNomorNota.Text & count count += 1 .SaveDetail() End With Next Tampilan form nota pembelian dapat dilihat pada Gambar 15, melalui form ini pengguna dapat menambahkan data transaksi pembelian maupun melakukan perubahan terhadap data transaksi pembelian yang sudah ada. Tampilan form transaksi pembelian barang ini terbagi menjadi dua bagian, yaitu bagian data pembelian yang memuat informasi mengenai nota pembelian seperti tanggal transaksi, distributor, tanggal jatuh tempo, status pelunasan, dan tanggal pelunasan. Pada bagian item barang yang dibeli pengguna dapat menambahkan item barang dibeli seperti kategori barang, nama barang, harga beli, jumlah beli, dan harga jual barang. Gambar 15 Form Transaksi Pembelian Sedangkan untuk aplikasi mobile Android, saat aplikasi pertama kali dijalankan, pengguna akan diminta untuk memasukkan username dan password, username dan password yang digunakan adalah sama dengan yang digunakan pada aplikasi desktop. Penggunaan login sistem disini adalah sebagai gerbang 15 utama untuk membatasi hak akses pengguna, karena hanya pemilik toko yang mempunyai akses ke aplikasi ini. Setelah pengguna melakukan login, akan ditampilkan menu pencarian barang dan pencarian nota pembelian. Kode program 5 adalah kode program dalam controller barang yang diakses oleh aplikasi mobile untuk menampilkan data stok barang. Dalam menampilkan data stok barang, controller akan meminta kategori dari data barang yang akan ditampilkan, hal ini bertujuan agar tidak terlalu banyak data barang yang nantinya akan ditampilkan ke pengguna aplikasi. Kode Program 5 Kode Program Controller Barang function get_barang($idKategori){ $this->load->model(array('mBarang')); $barang = $this->mBarang->get_by_kategori($idKategori); $data = json_encode($barang); echo $data; } Gambar 16 menjelaskan mengenai tampilan aplikasi mobile saat digunakan untuk melihat data stok barang, data yang ditampilkan antara lain nama barang dan jumlah stok barang. Gambar 16 Tampilan Daftar Barang pada Aplikasi Mobile Kode program 6 merupakan kode program pada aplikasi mobile Android yang digunakan untuk menampilkan data barang. Data barang merupakan hasil dari permintaan aplikasi mobile ke web service Kode Program 6 Menampilkan Data Barang pada Aplikasi Mobile $.ajax({ 16 url: 'http://192.168.1.102/toko/index.php/api/mobile/get_barang/' + kategori, type: 'GET', dataType: 'json', success: function(data) { if(data.length == 0){ html = '<h4>Tidak ada data.</h4>'; $(html).appendTo('#orders'); } for(i = 0; i < data.length; i++) { html = '<a class="order-single" href="#">' + '<h4>' + data[i].nama + '</h4>' + '<h6>Stok: ' + data[i].stok + '</h6>' '</a><hr>'; $(html).appendTo('#orders'); } } }); Sistem yang dibangun selanjutnya diuji dengan menggunakan metode Blackbox testing, Alpha testing, dan Beta testing. Metode Blackbox testing juga disebut sebagai pengujian perilaku, adalah pengujian yang berfokus pada persyaratan fungsional perangkat lunak, apakah fungsi-fungsi yang ada dalam aplikasi telah berjalan sebagaimana mestinya. Metode Alpha testing merupakan pengujian manfaat aplikasi yang dilakukan dengan arahan dari pembuat aplikasi, sedangkan Beta testing merupakan pengujian yang dilakukan tanpa arahan pembuat aplikasi dan dilakukan sesuai dengan apa yang terjadi di lapangan. Tabel 1 Hasil Pengujian Blackbox pada Aplikasi Desktop Poin pengujian Proses login Proses tambah data barang Proses tambah transaksi pembelian Kondisi Username: benar Password: benar Username: benar Password: salah Username: salah Password: benar Semua field diisi dengan benar Tidak semua field diisi Semua field diisi dengan benar Tidak semua field diisi Hasil yang Hasil uji Status diharapkan Login berhasil Login berhasil Sesuai Login gagal Login gagal sesuai Login gagal Login gagal Sesuai Berhasil disimpan Gagal disimpan Berhasil disimpan Gagal disimpan Berhasil disimpan Gagal disimpan Berhasil disimpan Gagal disimpan Sesuai Sesuai Sesuai Sesuai Hasil pengujian Blackbox pada aplikasi desktop yang ditampilkan pada Tabel 1, dapat diambil kesimpulan bahwa fungsi-fungsi yang ada pada aplikasi desktop dalam proses penambahan data barang dan penambahan data transaksi 17 pembelian berjalan dengan baik. Kemudian pengujian aplikasi desktop dilanjutkan dengan menggunakan metode Alpha testing yang dilakukan dengan mendemokan sistem yang telah dibuat ke pengguna aplikasi. Pengguna aplikasi yang melakukan pengujian adalah satu orang pemilik toko dan satu orang karyawan toko. Dari hasil pengujian Alpha, didapatkan bahwa aplikasi desktop yang dibangun dapat membantu mempermudah pencarian data nota pembelian dan pencarian data barang. Hasil pengujian Blackbox aplikasi mobile yang ditampilkan pada Tabel 2 menunjukkan bahwa fungsi pencarian data barang dan data nota dapat berjalan dengan baik. Pengujian selanjutnya adalah pengujian Alpha, pengujian dilakukan dengan mendemokan aplikasi mobile pada pemilik toko. Dari hasil uji Alpha, didapatkan bahwa aplikasi mobile yang dibangun mampu menyajikan data stok barang dan data nota pembelian belum lunas secara mudah dan cepat. Tabel 2 Hasil Pengujian Blackbox pada Aplikasi Mobile Poin pengujian Proses login Pencarian data barang Pencarian nota pembelian Kondisi Username: benar Password: benar Username: benar Password: salah Username: salah Password: benar User sebagai pemilik User sebagai karyawan Ada daftar barang Tidak ada daftar barang Hasil yang Hasil uji diharapkan Login berhasil Login berhasil Status Login gagal Login gagal Sesuai Login gagal Login gagal Sesuai Login berhasil Login berhasil Sesuai Login gagal Login gagal Sesuai Data barang ditampilkan Menampilkan pesan tidak ada data Ada nota belum Data nota lunas ditampilkan Tidak ada nota Menampilkan belum lunas pesan tidak ada data Sesuai Data barang Sesuai ditampilkan Menampilkan Sesuai pesan tidak ada data Data nota Sesuai ditampilkan Menampilkan Sesuai pesan tidak ada data Pengujian Beta dilakukan dengan membagikan kuesioner kepada pemilik dan karyawan toko dengan jumlah total empat orang dan total pertanyaan sebanyak 11 pertanyaan dan menggunakan skala satu sampai lima. Kuesioner yang dibagikan memuat pertanyaan mengenai fitur aplikasi mobile dan fitur aplikasi desktop. Kuesioner dengan pertanyaan mengenai fitur pencarian data barang pada aplikasi desktop dapat dilihat pada Tabel 3. Tabel 3 Hasil Pengujian Beta dari Kuesioner Pencarian Data Barang Aplikasi Desktop 18 Keterangan Sangat baik Baik Biasa Buruk Sangat buruk Jumlah Responden 1 3 0 0 0 4 Prosentase (%) 25 75 0 0 0 100 Berdasarkan pada Tabel 3, dapat disimpulkan bahwa sebanyak empat orang yang menggunakan aplikasi manajemen data toko ini, sebanyak satu responden atau 25% mengatakan bahwa aplikasi desktop yang dibangun dalam penelitian ini sangat baik dalam pencarian data barang, sedangkan tiga responden lainnya atau sebanyak 75% mengatakan aplikasi yang dibangun dapat membantu proses pencarian data barang dengan baik. Kuesioner pengujian aplikasi mobile juga disertakan dengan memuat lima pertanyaan yang ditujukan kepada pemilik toko. Berdasarkan hasil kuesioner yang dibagikan mengenai aplikasi mobile, dapat disimpulkan bahwa aplikasi mobile sangat membantu dalam pencarian data stok barang. Kuesioner dengan pertanyaan mengenai fitur pencarian data stok barang dapat dilihat pada Tabel 4. Tabel 4 Hasil Pengujian Beta dari Kuesioner Pencarian Data Stok Barang Aplikasi Mobile Keterangan Sangat baik Baik Biasa Buruk Sangat buruk Jumlah 5. Responden 1 0 0 0 0 1 Prosentase (%) 100 0 0 0 0 100 Simpulan Web service dapat dimanfaatkan sebagai penyedia layanan data, baik itu data barang, data nota, data distributor, maupun data pengguna aplikasi, web service dapat diakses baik oleh aplikasi desktop maupun aplikasi mobile Android, sehingga data yang ditampilkan pada aplikasi desktop maupun aplikasi Android berasal dari sumber yang sama yaitu web service. Aplikasi desktop yang dibangun menggunakan bahasa pemrograman Visual Basic .NET mengakses data yang disediakan oleh web service. Aplikasi mobile Android yang dibangun dengan memanfaatkan framework PhoneGap juga mengakses data yang disediakan oleh web service. Dari aplikasi yang dihasilkan dalam penelitian ini, pemilik toko dapat mengelola data barang dan data nota pembelian dengan lebih mudah karena penyimpanan data yang terpusat dan dapat diakses kapan saja dan dimana saja. 19 6. Pustaka [1] Purnama, Reza. 2014. Sistem Aplikasi Penjualan Barang dan Rekapitulasi Stok Barang di Jumpfact Cellular. http://repository.amikom.ac.id/index.php/detail/5134/SISTEM%20APLIKAS I%20PENJUALAN%20BARANG%20DAN%20REKAPITULASI%20STOCK %20BARANG%20DI%20JUMPFACT%20CELLULAR. Diakses tanggal 20 April 2014. Iqbal, Muhammad. 2013. Android Based Mobile Application For Sales at Q-mono Flower Retail Kiosks. http://titk.poltektedc.ac.id/media.php?page=detailpublikasi&key=18. Diakses tanggal 20 Februari 2014. Nazruddin, Safaat H. 2012. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika. Kreger, H. 2001. Web-Services Conceptual Architecture (WSCA 1.0). USA: IBM Software Group. Pressman, Roger S. 2010. Software Engineering: A Practitioner’s Approach, Seventh Edition. Terjemahan oleh Adi Nugroho, George John Leopold Nikijuluw, Theresia Herlina Rochadiani, Ike Kurniawati Wijaya. 2012. Yogyakarta: Penerbit ANDI. Fowler, Martin. 2005. UML Distilled Edisi 3. Yogyakarta: Andi. [2] [3] [4] [5] [6] 20