7
1. Pendahuluan
Perkembangan dunia hiburan di Indonesia dapat dikatakan pesat. Hal ini
terbukti dengan hadirnya berbagai macam tempat hiburan baik di kota besar maupun
di kota yang sedang berkembang. Salah satu tempat hiburan yang cukup populer
adalah cafe dan tempat karaoke. Hampir di setiap kota menyediakan tempat hiburan
ini, salah satunya adalah di kota Wonosobo di mana terdapat Apple Cafe.
Apple Cafe merupakan salah satu tempat hiburan yang menyediakan cafe
sekaligus tempat karaoke bagi para pengunjung. Cafe ini belum lama dibuka, namun
memiliki kualitas yang baik, hal ini terbukti dengan ramainya tempat ini dikunjungi
para pengunjung. Hampir setiap hari tempat hiburan ini tidak pernah sepi dari para
pengunjung, di mana dalam satu hari bisa terjadi hampir 100 transaksi.
Namun, karena tempat hiburan ini belum lama dibuka, tentunya pemanfaatan
teknologi informasi belum terlihat. Hal ini dapat dilihat dari proses pencatatan
transaksi yang dilakukan oleh kasir. Kasir masih melakukan pencatatan transaksi
menggunakan kertas dan melakukan rekap penjualan juga dilakukan dengan kertas
dengan bantuan kalkulator. Hal ini sering menimbulkan kesalahan terutama
kesalahan perhitungan. Rekap transaksi setiap hari dilakukan secara manual,
sehingga memakan waktu dan hasilnya bisa saja tidak valid.
Berdasarkan permasalahan tersebut, dibutuhkan pemanfaatan Teknologi
Informasi di Apple Cafe dalam bentuk Sistem Informasi Penjualan untuk melakukan
manajemen data di cafe tersebut. Pada penelitian ini dibuat Sistem Informasi
Penjualan menggunakan teknologi Hibernate.
Teknologi Hibernate dipilih karena menawarkan cara pemrosesan data dalam
basis data dengan baik dibandingkan dengan penggunaan query SQL. Hibernate juga
menyediakan Model View Controller di mana aplikasi ini dapat dibagi menjadi 3
(tiga) bagian dalam pengembangannya, yaitu bagian Model untuk penanganan tabel
dalam basis data, bagian View untuk penanganan bagian tampilan aplikasi dan bagian
Controller untuk penanganan akes data dalam basis data. MVC digunakan untuk
mempermudah dalam membuat aplikasi ini dan pengembangannya di masa yang
akan datang. Karena setiap bagian programming ditempatkan berbeda, maka setiap
kemungkinan kesalahan yang terjadi dapat ditelusuri dan diselesaikan dengan
mudah.
2. Tinjauan Pustaka
Pada penelitian yang berjudul Perancangan Database Sistem Pembelian dan
Penjualan pada Konveksi Ira Ratna di Tingkir Salatiga, dibuat basis data dan aplikasi
untuk mendukung transaksi pembelian dan penjualan di Konveksi Ira Ratna. Aplikasi
ini dibangun berbasis dekstop dan digunakan query SQL untuk melakukan
manipulasi data dalam basis data. hasil dari penelitian ini adalah sebuah aplikasi
yang terdiri dari form karyawan, form pelanggan, form pemasok, form persediaan,
form pembelian, form penjualan, form piutang, form perhitungan, form filter beli,
form filter jual dan form filter piutang. Selanjutnya untuk report yang dibutuhkan
terdiri dari, daftar karyawan, daftar pelanggan, daftar pemasok, laporan pembelian,
laporan penjualan, laporan piutang, laporan rekap persediaan dan laporan rekap kas
[1].
8
Pada penelitian dengan judul Implementasi Konsep Object Relational Mapping
dan Model View Controller pada Manajemen Pembelian, Penjualan dan Inventory (
Studi Kasus : TOP Distributor Salatiga ) dilakukan pembuatan Sistem Informasi
Manajemen Penjualan dengan memanfaatkan Teknologi Object Relational Mapping
dan MVC [2]. Pada penelitian ini dikembangkan Sistem Informasi Manajemen di
Apple Cafe menggunakan teknologi Hibernate dan MVC.
Sistem informasi adalah sekumpulan komponen pembentuk sistem yang
mempunyai keterkaitan antara satu komponen dengan komponen lainnya yang
bertujuan menghasilkan suatu informasi dalam suatu bidang tertentu yang berfungsi
untuk membantu perencanaan, pengendalian, dan pengambilan keputusan dengan
menyediakan rangkuman rutin dan laporan tertentu. Sistem informasi mencakup
prinsip-prinsip sebagai berikut : mengumpulkan informasi-informasi yang bernilai
pada suatu periode tertentu untuk digunakan semaksimal mungkin (berkali-kali),
penyimpanan dan pendistribusian data yang dilakukan secara elektronika dan
otomatis serta dapat memberikan nilai tambah untuk peningkatan mutu pengambilan
keputusan [3].
Sistem Informasi Penjualan adalah suatu sistem informasi yang
mengorganisasikan serangkaian prosedur dan metode yang dirancang untuk
menghasilkan, menganalisa, menyebarkan dan memperoleh informasi guna
mendukung pengambilan keputusan mengenai penjualan. Sistem Informasi
Manajemen Penjualan menyediakan laporan ringkas mengenai kegiatan penjualan,
memberikan penjelasan secara keseluruhan daripada analisis yang terperinci,
sehingga Sistem Informasi Penjualan bertujuan untuk memberikan informasi yang
menguntungkan bagi pemakai dengan menyediakan akses yang mudah untuk
memperoleh data penjualan yang sangat dibutuhkan untuk merencanakan program
penjualan untuk saat ini dan untuk strategi pemasaran di kemudian hari [4].
Hibernate merupakan sebuah tool yang dikembangkan oleh Gavin King sejak
tahun 2001. Sekarang framework Hibernate sudah menjadi bagian dari JBoss
Project. Hibernate merupakan sebuah teknologi yang menjadi solusi untuk mengatasi
masalah pengaturan data persistent dalam Java. Hibernate menjadi pengatur interaksi
antara aplikasi dengan database, sehingga programmer dapat berkonsentrasi dalam
mengembangkan logika bisnis aplikasi. Penggunaan hibernate untuk perancangan
perangkat lunak sebagai perangkat ORM yang sudah memiliki fitur-fitur terdepan
untuk pengaplikasiannya, yaitu Hibernate support berbagai macam database yang
sering dipakai dan popular di kalangan pengembang dan perancang perangkat lunak,
dengan proses mapping objek Java menjadi struktur tabel database, maka secara
otomatis akan mengkonversi tipe data dari Java menjadi tipe data database
server/engine yang digunakan. Untuk berkomunikasi dengan database server/engine
tersebut maka Hibernate menyediakan fasilitas connection pooling serta penggunaan
transaction management saat session berlangsung [5].
Pola desain yang dikembangkan untuk mengatasi dan memecahkan masalah
yang dihadapi dalam perkembangan perangkat lunak salah satu di antaranya adalah
MVC (Model View Controller). Pola ini digambarkan dalam arsitektur yang
sederhana yang disertai ilustrasi langkah-langkah saat dimana client atau pengguna
mengakses aplikasi [6].
9
3. Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi
dalam lima tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan data, (2)
Perancangan sistem, (3) Perancangan aplikasi/program, (4) Implementasi dan
pengujian sistem, serta analisis hasil pengujian, (5) Penulisan laporan hasil
penelitian.
Gambar 1 Metode Penelitian [7]
Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap
pertama: analisis kebutuhan dan pengumpulan data, pada tahap ini dilakukan
wawancara dengan pemilik dan kasir Apple Cafe.
Tahap kedua: perancangan sistem yang meliputi perancangan proses
menggunakan diagram Unified Modelling Language (UML) misalnya perancangan
use case diagram, activity diagram, dan sequence diagram. Perancangan user
interface yang dibuat untuk memberikan gambaran dari tampilan aplikasi yang
digunakan oleh user aplikasi; Tahap ketiga, perancangan aplikasi/program yaitu
merancang aplikasi/program sesuai kebutuhan sistem berdasarkan perancangan
sistem yang telah dilakukan. Misalnya bagaimana aplikasi/program berjalan saat
penyimpanan data, pengiriman dan pengambilan data transaksi penjualan; Tahap
keempat: implementasi dan pengujian sistem, serta analisis hasil pengujian, yaitu
mengimplementasikan aplikasi yang sudah dibuat kemudian dilakukan pengujian,
selanjutnya melakukan analisis untuk melihat apakah aplikasi yang telah dibuat
sudah sesuai dengan yang diharapkan atau tidak ada error, jika belum sesuai maka
akan dilakukan perbaikan; dan tahap kelima, penulisan laporan hasil penelitian, yaitu
mendokumentasikan proses penelitian yang sudah dilakukan dari tahap awal hingga
akhir ke dalam tulisan, yang nantinya akan menjadi laporan hasil penelitian.
Metode Pengembangan Sistem yang digunakan pada penelitian ini adalah
metode Prototype. Metode Prototype digunakan untuk membantu pengembangan
perangkat lunak dalam membentuk model dari perangkat lunak yang harus dibuat.
Metode ini dilakukan secara bertahap, yaitu dengan mengembangkan suatu prototype
yang sederhana terlebih dahulu baru kemudian dikembangkan dari waktu ke waktu
sampai perangkat lunak selesai dikembangkan. Prototype merupakan bentuk dasar
Perancangan Sistem meliputi Perancangan Proses (UML),
Perancangan Arsitektur, Perancangan Database, Perancangan
Antarmuka
Analisis Kebutuhan dan Pengumpulan Data
Perancangan Aplikasi/Program
Implementasi dan Pengujian Sistem,
serta Analisis Hasil Pengujian
Penulisan Laporan Hasil Penelitian
10
atau model awal dari suatu sistem atau subsistem [8]. Secara garis besar ada tiga
tahap dalam metode prototyping ini, seperti terlihat pada Gambar 2.
Gambar 2 Metode Prototyping [8]
Tahap awal dari metode ini adalah analisis permasalahan dan kebutuhan, yaitu
mengumpulkan kebutuhan dari sistem yang akan dibuat, dengan perencanaan yang
cepat akan dibentuk konstruksi dari prototype-nya. Prototype ini akan dievaluasi lagi
dan hasilnya digunakan untuk mengelola kembali kebutuhan dari perangkat lunak
yang dikembangkan. Pada tahap ini yang dilakukan adalah merancang kebutuhan
yang nantinya akan berguna untuk membangun aplikasi.
Berdasarkan analisis kebutuhan yang dilakukan melalui wawancara awal
kepada pada pemilik cafe dan kasir, dirancanglah kebutuhan user sebagai berikut: 1)
Pemilik Cafe dapat melakukan menajemen data bahan baku cafe, 2) Pemilik cafe
dapat melakukan manajemen data menu makanan dan minuman, 3) Pemilik cafe
dapat melakukan manajemen data lagu, 4) Pemilik cafe dapat melihat pandapatan
cafe, dan 5) Kasir dapat mencatat transaksi pembelian. Berdasarkan analisis
kebutuhan ini, kemudian dilakukan perancangan aplikasi.
Hardware dan software yang akan digunakan dalam membangun sistem ini
memiliki spesifikasi: 1) CPU Intel Core i3-2350M, 2.3Ghz, memory RAM 2 GB; 2)
Software Netbeans 7.1 digunakan sebagai editor pemrograman aplikasi; dan 3) Basis
data MySQL 5 digunakan untuk menyimpan data.
Perancangan proses pada penelitian ini dilakukan menggunakan UML (Unified
Modeling Language) dengan beberapa proses, dijelaskan sebagai berikut. Use case
diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang
menjelaskan keseluruhan kerja sistem secara garis besar dengan merepresentasikan
interaksi antara aktor dengan sistem yang dibuat, serta memberikan gambaran fungsi-
fungsi yang diberikan sistem kepada user.
11
Tambah Menu Ganti Menu
Hapus Menu
Lihat Menu
Manajemen Menu
Manager Karaoke
Manajemen Data Lagu
Manager Cafe
Manajemen Bahan Baku
Lihat Bahan BakuTambah Bahan Baku
Hapus Bahan BakuGanti Bahan Baku
Manajemen Data User
KasirProses Transaksi
Lihat User
Tambah UserHapus User Ganti User
Lihat Lagu
Tambah LaguHapus Lagu
Ganti Lagu
Pemilik Cafe
lihat laporan pendapatan
Gambar 3 Use Case Diagram Sistem Informasi Karaoke
Gambar 3 menggambarkan use case diagram pada sistem yang dibangun, di
mana terdapat 4 (empat) aktor yang terlibat, yaitu pemilik cafe, manager cafe,
manager karaoke dan kasir. Setiap aktor memiliki use case-nya masing-masing
sesuai dengan peranannya dalam proses bisnis yang ada di Apple Cafe. Aktor
pemilik café mempunyai hak yang paling tinggi sehingga dapat menjalankan seluruh
fitur pada aplikasi kecuali fitur transaksi karena hanya dapat dilakukan oleh kasir.
mulai
selesai
login
login gagal
manajemen
usermanajemen
bahan baku
manajemen
data lagu
manajemen
menu
log out
melihat
pendapatan
login berhasil
Sistem Informasi Cafe dan KaraokePemilik Cafe
Gambar 4 Activity Diagram Pemilik Cafe
Gambar 4 menggambarkan activity diagram pemilik cafe, di mana
menunjukkan aktivitas apa saja yang dapat dilakukan oleh pemilik cafe. Aktivitas
dimulai dengan melakukan login ke aplikasi, jika login berhasil maka pemilik toko
12
dapat melakukan berbagai aktivitas yang disediakan oleh aplikasi melalui fitur-
fiturnya. Aktivitas yang dapat dilakukan adalah melakukan manajemen user,
manajemen bahan baku, manajemen data lagu, manajemen menu makanan dan
melihat laporan pendapatan cafe. Aktivitas ini berakhir setelah pemilik toko
melakukan log out dari aplikasi.
mulai
selesai
login
memproses
transaksi
log out
login gagal
login berhasil
Sistem Informasi Cafe dan KaraokeKasir
Gambar 5 Activity Diagram Kasir
Gambar 5 menggambarkan activity diagram kasir, di mana menunjukkan
aktivitas apa saja yang dapat dilakukan oleh kasir. Aktivitas ini dimulai dengan
melakukan login ke dalam aplikasi. Jika login berhasil, maka kasir dapat melakukan
aktivitasnya, yaitu memproses transaksi pembayaran dari para pengunjung cafe.
Aktivitas berakhir setelah kasir melakukan log out dari aplikasi.
: Pemilik CafeForm
Pendapatan
Pendapatan
Controller
tbtransaksi
1: input tanggal
2: kirim tanggal
3: meminta data transaksi
4: mengembalikan data transaksi
5: menampilkan data transaksi
Gambar 6 Sequence Diagram Lihat Pendapatan Cafe
Gambar 6 menggambarkan sequence diagram pemilik toko dalam melihat
pendapatan cafe. Untuk melihat pendapatan café, pemilik toko harus memasukkan
tanggal awal dan tanggal akhir periode yang akan dilihat pendapatannya. Setelah itu
aplikasi akan memproses dengan mengambil data tersebut dari tabel pendapatan.
13
: Manager CafeForm Menu Menu Controller tbmenu
1: input menu(kode_menu,
jenis, nama, satuan, harga,
keterangan)2: kirim
data(kode_menu,
jenis, nama,
satuan, har...3: simpan data (kode_menu,
jenis, nama, satuan, harga,
keterangan)
4: kirim konfirmasi
5: menampilkan konfirmasi
Gambar 7 Sequence Diagram Tambah Menu
Gambar 7 adalah sequence diagram manager cafe dalam melakukan tambah
daftar menu pada aplikasi. Data menu yang akan ditambahkan dimasukkan melalui
form tambah dan akan disimpan ke dalam tabel menu dalam basis data.
: Kasir Form Transaksi Transaksi
Controller
tbtransaksi
1: input transaksi(kode, tanggal,
kode_menu, jumlah, total)
2: kirim data(kode, tanggal,
kode_menu, jumlah, total)3: simpan data(kode, tanggal,
kode_menu, jumlah, total)
4: kirim konfirmasi
5: menampilkan konfirmasi
Gambar 8 Sequence Diagram Transaksi Pembayaran
Gambar 8 merupakan sequence diagram dalam melakukan transaksi
pembayaran. Kasir memasukkan data transaksi pembayaran melalui form transaksi
dan data ini akan disimpan ke dalam tabel transaksi dalam basis data.
14
Gambar 9 Class Diagram Aplikasi
Class diagram pada Gambar 12 menggambarkan class-class yang digunakan
dalam aplikasi, di mana terbagi menjadi 3 (tiga) bagian utama yaitu model, controller
(DAO) dan form (user interface).
4. Hasil dan Pembahasan
Pada bagian ini akan dibahas tentang hasil aplikasi berdasarkan perancangan
pada bab sebelumnya beserta dengan pembahasannya. Pada bagian ini juga
dijelaskan tentang hasil pengujian sistem yang telah dilakukan. Tampilan awal
aplikasi saat dijalankan adalah tampilan halaman untuk login. Ada 4 (empat) hak
akses pada aplikasi ini, yaitu sebagai pemilik cafe, manager cafe, manager karaoke
dan kasir. Halaman login terlihat pada Gambar 10.
Gambar 10 Halaman Login
15
Untuk masuk ke dalam aplikasi, user harus melakukan login dengan
memasukkan username dan password sesuai dengan hak aksesnya. Kode program
untuk memeriksa login dapat dilihat pada Kode Program 1. Kode Program 1 Perintah Pengecekkan Login
Baris 1 pada Kode Program 1 berfungsi untuk memanggil controller
cekLogin(), pada fungsi ini akan diperiksa apakah username dan password yang
dimasukkan user valid atau tidak. Jika valid, maka user akan dapat masuk ke dalam
aplikasi sesuai dengan hak aksesnya.
Menu manajemen menu makanan dan minuman dapat diakses oleh user
manager cafe dan pemilik cafe. Menu ini berfungsi untuk melakukan pengelolaan
terhadap menu makanan dan minuman yang disediakan oleh Apple Cafe. Daftar
menu ini akan digunakan oleh user kasir dalam melakukan proses pembayaran oleh
pengunjung cafe. Tampilan utama menu ini dapat dilihat pada Gambar 11.
Gambar 11 Menu Manajemen Menu Makanan dan Minuman
Menu manajemen menu makanan dan minuman pada Gambar 11 dapat
digunakan untuk melihat, menambah, mengubah dan menghapus daftar menu
makanan dan minuman yang disajikan oleh Apple Cafe. Gambar 15 merupakan form
untuk menambah menu.
1. boolean ada = cekLogin(txUsername.getText(),
txPassword.getText());
2. if (ada) {
3. mf.loogedIn(current_user);
4. this.dispose();
5. } else {
6. JOptionPane.showMessageDialog(this, "Login Gagal!!",
"Konfirmasi", JOptionPane.ERROR_MESSAGE);
txUsername.setText("");
txPassword.setText("");
}
16
Gambar 12 Form untuk Tambah Menu
Untuk melakukan tambah menu dan menyimpannya ke dalam basis data,
digunakan perintah Kode Program 2. Kode Program 2 Perintah Menampilkan Daftar Menu
Kode Program 2 merupakan perintah pada bagian DAO aplikasi yang
digunakan untuk melakukan perintah insert data ke dalam basis data. Perintah insert
data tersebut dilakukan dengan memanfaatkan perintah insert pada Hibernate yaitu
seperti terlihat pada baris 4. Dengan cara ini, programmer tidak perlu menuliskan
query SQL untuk melakukan insert data ke dalam basis data.
Menu manajemen transaksi pembayaran digunakan oleh user kasir cafe untuk
memproses pembayaran oleh pengunjung cafe. Tampilan utama menu ini
diperlihatkan oleh Gambar 13.
Gambar 13 Menu Transaksi
1. public String insertMenu(Menu menu) {
2. boolean isSuccess = false;
3. session.getTransaction().begin();
4. session.save(menu);
5. session.getTransaction().commit();
6. return sendNotif(isSuccess);
7. }
17
Menu transaksi pembayaran pada Gambar 13 digunakan untuk memproses
pembayaran oleh pengunjung cafe. Untuk memproses pembayaran, kasir
memasukkan menu yang dibeli oleh pengunjung melalui combo box yang
menyajikan daftar menu yang disajikan. Setelah itu kasir akan memasukkan nominal
uang yang dibayarkan oleh pengunjung dan terakhir kasir menekan tombol Bayar,
data pembayaran akan disimpan dalam tabel transaksi dalam basis data. Kode
Program 3 digunakan untuk menyimpan data pembayaran ini. Kode Program 3 Perintah Menyimpan Data Pembayaran
Kode Program 3 dipanggil saat kasir menekan tombol bayar untuk memproses
transaksi pembayaran oleh pembeli. Selanjutnya sistem akan menampilkan Gambar 14.
1. double byr = Double.parseDouble(txtCash.getText());
2. double kembali = byr - total;
3. txtKembalian.setText(df.format(kembali) + "");
4. t.setKode_transaksi(txtNoNota.getText());
5. t.setTanggal(jDateChooserTransk.getDate());
6. t.setTotal(total);
7. t.setKasir(kasirnya);
8. for (DetailTransaksi dt : list_detail_transaksi) {
9. dt.setKode_transaksi(t);
10. }
11. t.setDetail_transaksi(list_detail_transaksi);
12. String status = new
TransaksiDAO().insertTransaksi(t);
13. if (status.equalsIgnoreCase("BERHASIL")) {
JOptionPane.showMessageDialog(this, "Transaksi
Berhasil Disimpan\n"
+ ":: Total Harga: Rp. " + df.format(total)
+ "\n:: Total Bayar: Rp. " + df.format(byr)
+ "\n:: Kembali: Rp. " +
df.format(kembali), "Konfirmasi", JOptionPane.INFORMATION_MESSAGE);
14. setNota();
15. hapusTabel();
16. list_detail_transaksi.clear();
17. list_detail_transaksi = new
ArrayList<DetailTransaksi>();
18. txtCash.setEditable(false);
19. txtCash.setText("");
20. txtTotal.setText("");
21. txtKembalian.setText("");
22. }
18
Gambar 17 Rincian Transaksi
Sistem akan menampilkan rincian transaksi yang meliputi informasi total
harga, total bayar dan uang kembali. Setelah itu, data akan disimpan dalam basis data
sebagai data transaksi pembelian dari pengunjung.
User pemilik cafe dapat menggunakan menu ini untuk menampilkan
pendapatan cafe. Tampilan utama menu ini terlihat pada Gambar 18.
Gambar 14 Laporan Pendapatan Cafe
User pemilik cafe memasukkan tanggal awal dan tanggal akhir untuk
menampilkan pendapatan pada tanggal tersebut. Hasilnya akan ditampilkan pada
19
tabel pada Gambar 14. Kode Program 4 digunakan untuk menampilkan data
pendapatan antara tanggal awal dan tanggal akhir.
User dapat melakukan cetak laporan pendapatan dengan menekan tombol cetak
dan akan muncuk laporan pendapatan pada Gambar 15 yang kemudian dapat
disimpan dalam format .PDF.
Gambar 15 Laporan Pendapatan Cafe
Penerapan Hibernate sebagai salah satu framework dengan pendekatan Object
Relational Mapping ini berfungsi untuk memudahkan programmer dalam
memetakan tabel-tabel yang digunakan dalam aplikasi pada database relasional.
Penelitian yang dibangun menggunakan konsep Hibernate bukan proses pengolah
basis data yang konvensional yang menggunakan JDBC API, dimana seluruh query
akan dibentuk dan dikirimkan dari script. Terdapat beberapa perbandingan yang
dilakukan antara penggunaan ORM Hibernate dengan JDBC API sehingga nantinya
akan didapatkan sebuah kesimpulan mengenai performa dari Hibernate sendiri.
Tahap pengkodean yang dilakukan dengan ORM Hibernate membuktikan
bahwa penerapannya mereduksi banyak baris program dibandingkan dengan
penggunaan script pada JDBC. Salah satu alasannya adalah dikarenakan pada
Hibernate menggunakan parameter dalam bentuk object yang merujuk ke setiap
fungsi model yang terdapat pada aplikasi. Sehingga penggunaan satu untuk semua
dapat diimplementasi pada ORM Hibernate, dibanding JDBC harus memecah isi
model untuk dimasukan menjadi parameter pada prepare statement. Sebagai salah
satu contoh perbandingan antara Hibernate dan JDBC dalam hal penambahan data
pada script Kode Program 4 dan Kode Program 5. Kode Program 4 Perintah Simpan Data dengan Hibernate
1 public String insertMenu(Menu menu) {
2 boolean isSuccess = false;
3 session.getTransaction().begin();
4 session.save(menu);
5 session.getTransaction().commit();
6 return sendNotif(isSuccess);
7 }
20
Kode Program 5 Perintah Simpan Data dengan JDBC
Tahap perancangan tabel pada database sudah secara langsung dipetakan pada
langkah pengkodean setiap kelas model atau entitas menggunakan fungsi annotations
sedangkan JDBC membuat desain tabel data serta pemetaannya melalui database
application. Dengan keunggulan yang dimiliki Hibernate, proses development
aplikasi akan lebih singkat dan mudah dibandingkan dengan menggunakan konsep
JDBC.
Gambar 16 Implementasi MVC
Gambar 16 merupakan implementasi MVC pada aplikasi yang dibuat. Aplikasi
dibuat dengan menerapkan arsitektur Model View Controller. Pada Gambar 20
terlihat implementasi MVC pada aplikasi. Aplikasi dibagi menjadi beberapa bagian,
yaitu bagian Model, View dan Controller. Berikut ini akan diberikan contoh
implementasi MVC dalam aplikasi, yaitu pada proses tambah menu baru. Pertama
kali, akan dilakukan pemanggilan bagian view untuk mengisi menu yang akan
ditambahkan. View tambah menu ditunjukkan pada Gambar 17.
1. public String insertMenu(Menu m) {
2. String status = "Gagal";
3. try {
4. PreparedStatement stm =
connection.prepareStatement("INSERT INTO tb_menu
VALUE(?,?,?,?,?)");
5. stm.setString(1, m.getKode_menu());
6. stm.setString(2, m.getJenis_menu());
7. stm.setString(3, m.getNama_menu());
8. stm.setInt(4, m.getHarga_menu());
9. stm.setString(5, m.getKeterangan());
10. stm.executeUpdate();
11. status = "Menu Baru Berhasil Disimpan";
12. } catch (Exception ex) {
13.
Logger.getLogger(MenuDAO.class.getName()).log(Level.SEVERE,
null, ex);
14. }
15. return status;
16. }
21
Gambar 17 View Tambah Menu
Pengguna akan mengetikkan menu yang akan ditambah pada Gambar 17 dan
menekan tombol Simpan. Pada tombol simpan terdapat perintah untuk melakukan
simpan data ke dalam tabel menu dalam basis data. Perintah ini ditunjukkan oleh
Kode Program 6. Kode Program 6 Perintah Pada Tombol Simpan
Pada baris 1 pada Kode Program 6, dilakukan pembuatan obyek baru dari kelas
model Menu yang di dalam kelas model Menu terdapat atribut-atribut yang mewakili
nama field dalam tabel menu pada basis data. pada baris 7 dilakukan memanggilan
method insertMenu yang terdapat pada bagian kelas controller MenuDAO.java.
Method insertMenu terlihat pada Kode Program 7. Kode Program 7 Perintah Method insertMenu
Kode Program 7 merupakan perintah pada method insertMenu pada bagian
controller MenuDAO.java. pada method ini dilakukan proses insert data menu ke
dalam tabel menu dalam basis data. proses insert dilakukan pada baris 4, yaitu
dengan memanggil method save.
Pengujian sistem dilakukan dengan 2 (dua) cara, yaitu pengujian blackbox
untuk menguji fungsionalitas aplikasi dan pengujian manfaat untuk mengetahui
manfaat aplikasi kepada para pengguna aplikasi. Hasil pengujian blackbox
ditunjukkan pada Tabel 1.
1. Menu br = new Menu();
2. br.setKode_menu(txtKodeMenu.getText());
3. br.setJenis_menu(cmbJenisMenu.getSelectedItem().toString());
4. br.setNama_menu(txtNamaMenu.getText());
5. br.setKeterangan(jTextAreaKeterangan.getText());
6. br.setHarga_menu(Double.parseDouble(txtHargaMenu.getText()));
7. String status = mDAO.insertMenu(br);
1. public String insertMenu(Menu menu) {
2. boolean isSuccess = false;
3. session.getTransaction().begin();
4. session.save(menu);
5. session.getTransaction().commit();
6. return sendNotif(isSuccess);
7. }
22
Tabel 1 Hasil Pengujian Blackbox Testing
No. Poin Pengujian Data Input / Kondisi Hasil Uji Status
1 Proses Login
Username: benar
Password: benar
Berhasil login valid
Username: benar
Password: salah
Login gagal valid
Username: salah
Password: salah
Login gagal valid
2 Proses Tambah
Transaksi
Semua field diisi
dengan lengkap
Berhasil
disimpan
dalam basis
data
valid
Ada beberapa field
yang tidak diisi dengan
lengkap
Gagal
Disimpan
dalam basis
data
valid
3 Proses Tambah
Menu
Semua field diisi
dengan lengkap
Berhasil
disimpan
dalam basis
data
valid
Ada beberapa field
yang tidak diisi dengan
lengkap
Gagal
Disimpan
dalam tabel
dalam basis
data
valid
4
Proses Lihat
Laporan
Pendapatan
Tidak Memasukkan
tanggal awal dan akhir
Laporan
pendapatan
tidak bisa
muncul
valid
Memasukkan tanggal
awal dan akhir
Laporan
pendapatan
muncul
valid
5 Tambah Data
Bahan Baku
Semua field diisi
dengan lengkap
Berhasil
disimpan
dalam basis
data
valid
Ada beberapa field Gagal valid
23
yang tidak diisi dengan
lengkap
Disimpan
dalam basis
data
6 Tambah Data
User
Semua field diisi
dengan lengkap
Berhasil
disimpan
dalam basis
data
valid
Ada beberapa field
yang tidak diisi dengan
lengkap
Gagal
Disimpan
dalam basis
data
valid
Berdasarkan hasil pengujian blackbox pada Tabel 1, maka dapat disimpulkan
bahwa aplikasi sudah berjalan sesuai dengan yang dirancang dan bisa dilanjutkan ke
pengujian manfaat. Pengujian manfaat dilakukan dengan mendemokan aplikasi
kepada pengguna aplikasi, yaitu kepada pemilik cafe dan kasir. Berdasarkan demo
aplikasi dan tanya jawab didapatkan bahwa aplikasi ini sesuai yang diharapkan oleh
pemilik cafe dan kasir. Aplikasi membantu pemilik cafe dalam melakukan
manajemen data cafe, selain itu kasir merasa terbantu dalam hal pencatatan transaksi
pembayaran dari pengunjung.
5. Simpulan
Berdasarkan penelitian yang telah dilakukan, dapat disimpulkan bahwa Sistem
Informasi Penjualan pada Apple Cafe dapat membantu kasir dalam melakukan
pencatatan transaksi yang terjadi. Transaksi disimpan dalam basis data sehingga
dapat dilakukan rekap transaksi dengan baik. Pemilik cafe juga dapat melihat dan
mencetak hasil pendapatan cafe melalui aplikasi ini.
Penerapan arsitektur MVC memudahkan programmer dalam maintenance
aplikasi secara keseluruhan karena adanya pemisahan object-object ke dalam
package model, view dan controller pada aplikasi. Serta konsentrasi penanganan
grafis terfokus tanpa melihat lebih detail bagian yang lainnya dan pengembangan
logika bisnis aplikasi dapat terfokus di bagian controller aplikasi. Sedangkan peran
Framework Hibernate mempermudah programmer dalam pembuatan tabel yang
digunakan secara otomatis karena pembuatan tabel, kolom dan relasi antar tabel
sudah dibuat langsung dari penggunaan model atau entitas pada aplikasi. Saran
pengembangan yang dapat dilakukan adalah dengan mengembangkan aplikasi
hingga dapat terkoneksi dengan sistem karaoke yang sudah ada sebelumnya dan
terdapat fitur pembuatan laporan keuangan dengan lengkap.
24
6. Pustaka
[1] Sari, Retno Purnomo, 2012, Perancangan Database Sistem Pembelian dan
Penjualan pada Konveksi Ira Ratna di Tingkir Salatiga, Salatiga: Program
Studi Akuntansi FEB Universitas Kristen Satya Wacana.
[2] Djunanto, Randy, 2011, Implementasi Konsep Object Relational Mapping dan
Model View Controller pada Manajemen Pembelian, Penjualan dan Inventory (
Studi Kasus : TOP Distributor Salatiga ), Salatiga: FTI UKSW.
[3] Jogiyanto, Ph.D, 2003, Sistem Teknologi Informasi. Yogyakarta.
[4] Mulyadi, 2001, Sistem Akuntansi, Edisi Ketiga, Yogyakarta : Salemba Empat.
[5] Minter, Dave., & Linwood, Jeff., 2006, Beginning Hibernate:From Novice to
Professional, USA : Apress Inc.
[6] Elliott, James; O'Brien, Tim (April 22, 2008), Harnessing Hibernate (First ed.),
O'Reilly Media, pp. 380, ISBN 0596517726.
[7] Hasibuan, Zainal, A., 2007, “Metodologi Penelitian Pada Bidang Ilmu
Komputer Dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi”, Jakarta :
Ilmu Komputer Universitas Indonesia.
[8] Pressman, Roger, 2002, Rekayasa Perangkat Lunak: Pendekatan Praktisi
(Buku Satu), Yogyakarta: Penerbit ANDI dan McGraw-Hill Book Co.
Top Related