LAPORAN AKHIR
PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
LABORATORIUM KOMPUTASI DAN SISTEM CERDAS
APLIKASI PERHITUNGAN TARIF SALON
Asisten Pembimbing : M. Rifqi Wibiyanto
Disusun Oleh:
Nama/NIM : Rully Adam Dalyono / 10523137
Nama/NIM : Ramadani / 10523144
Nama/NIM : Muhammad Alyas Asnur / 10523148
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM INDONESIA
2011
i
HALAMAN PENGESAHAN ASISTEN
APLIKASI PERHITUNGAN TARIF SALON
Telah Dipertahankan di Depan SIdang Penguji
Diajukan Sebagai Salah Satu Syarat
Untuk Menempuh Ujian Responsi Praktikum
Jogjakarta, __ Desember 2011
Asisten yang mengesahkan
Status Laporan : Diterima / Ditolak dengan Revisi
Tanggal koreksi : ________________
Alasan ditolak :
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
Diserahkan kembali paling lambat : ___ _______ 2011
ii
PERSEMBAHAN
Laporan Programming Project ini kami buat dan kami persembahkan
untuk pihak-pihak yang telah membantu dalam pembuatan programming project
ini, yaitu M. Rifqi Wibiyanto selaku asisten pembimbing kami selama kami
menjalani praktikum dan teman-teman mahasiswa yang juga turut membantu
dalam pembuatan programming project ini.
iii
MOTTO
1. Semua mimpi kita akan menjadi kenyataan, jika kita memiliki keberanian
untuk mengejarnya.
2. Bermimpilah seperti jika anda akan hIdup selamanya, jalani hIdup seperti jika
anda akan mati hari ini.
3. Belajar ketika orang lain tIdur, bekerja ketika orang lain bermalasan, dan
bermimpi ketika orang lain berharap.
4. Bermimpilan seperti jika anda akan hIdup selamanya, jalani hIdup seperti jika
anda akan meninggal hari ini.
5. Untuk mencapai kesuksesan, kita jangan hanya bertindak, tapi juga perlu
bermimpi, jangan hanya berencana, tapi juga perlu untuk percaya.
iv
KATA PENGANTAR
Rasa syukur yang dalam kami ucapkan kepada Allah SWT, karena atas
limpahan rahmat dan karunia-Nyalah kami dapat menyelesaikan laporan
programming project Pemrograman Berorientasi Objek ini yang berjudul
“Aplikasi Perhitungan Tarif Salon”. Laporan ini kami buat dalam rangka
memenuhi salah satu mata kuliah Praktikum Pemrograman Berorientasi Objek di
Fakultas Teknologi Industri Universitas Islam Indonesia.
Dalam proses penyusunan Laporan Pemrograman Berorientasi Objek ini
kami telah berusaha dengan sebaik-baiknya, akan tetapi kami merasa masih
banyak kekurangannya. Selama penyusunan kami mendapatkan bimbingan,
arahan, koreksi dan saran, untuk itu rasa terima kasih yang sedalam-dalamnya
kami sampaikan kepada :
1. M. Rifqi Wibiyanto selaku asisten pembimbing kami.
2. Rekan-rekan mahasiwa yang telah banyak memberikan masukan untuk
pembuatan program maupun laporan ini.
Demikian laporan ini kami buat semoga bermanfaat.
Yogyakarta, 15 Desember 2011
Penyusun
v
TAKARIR
programming Project proyek pemrograman
source code kode sumber
softcopy dokumen digital
member pelanggan yang terdaftar
non member pelanggan tIdak tetap
flowchart alur program
new Data membuat data baru
list data daftar data
unified Modelling Language kelas diagram
submenu anak dari menu utama
id identitas
capture potongan gambar
null kosong/tidak berisi
user pengguna
array penyimpanan
class kelas
vi
DAFTAR ISI
HALAMAN PENGESAHAN ASISTEN .............................................................. i PERSEMBAHAN ............................................................................................... ii MOTTO ............................................................................................................. iii KATA PENGANTAR ........................................................................................ iv
TAKARIR ........................................................................................................... v
DAFTAR ISI ...................................................................................................... vi DAFTAR TABEL ............................................................................................. vii DAFTAR GAMBAR ........................................................................................ viii BAB I PENDAHULUAN .................................................................................... 1
1.1 Latar Belakang ............................................................................................... 1
1.2 Rumusan Masalah .......................................................................................... 2
1.3 Batasan Masalah ............................................................................................ 2
1.4 Tujuan Penelitian ........................................................................................... 2
1.5 Manfaat Penelitian ......................................................................................... 3
1.6 Sistematika Penulisan .................................................................................... 3
BAB II METODOLOGI ...................................................................................... 5
2.1 Analisis Program ........................................................................................... 5
2.2 Unified Modelling Language (UML) .............................................................. 7
BAB III HASIL DAN PEMBAHASAN .............................................................. 8
3.1 Penjelasan Program Beserta Capture Hasil Program ...................................... 8
3.2 Kekurangan dan Kelebihan Program ............................................................ 15
3.3 Source Code................................................................................................. 16
BAB IV SIMPULAN DAN SARAN ................................................................. 24
4.1 Kesimpulan .................................................................................................. 24
4.2 Saran............................................................................................................ 24
DAFTAR PUSTAKA ......................................................................................... ix
LAMPIRAN ........................................................................................................ x
vii
DAFTAR TABEL
Tabel 3. 1 Source Code dari Class Main............................................................. 16
Tabel 3. 2 Source Code dari Class StrucMember................................................ 16
Tabel 3. 3 Source Code dari Class StrucLayanan ............................................... 17
Tabel 3. 4 Source Code dari Class Menu ............................................................ 17
Tabel 3. 5 Source Code dari Class Salon ............................................................ 18
viii
DAFTAR GAMBAR
Gambar 2. 1 Flowchart Aplikasi Perhitungan Tarif Salon ................................... 5
Gambar 2. 2 Unified Modelling Language (UML) Program................................ 7
Gambar 3. 1 Tampilan Menu Utama pada Aplikasi Perhitungan Tarif Salon ...... 8
Gambar 3. 2 Submenu Member .......................................................................... 8
Gambar 3. 3 Mendaftarkan Member baru ........................................................... 9
Gambar 3. 4 Tampilan Semua Data Yang Telah Disimpan ............................... 10
Gambar 3. 5 Memasukkan ID Member Untuk Transaksi .................................. 10
Gambar 3. 6 Menampilkan Data Dari Id Member yang salah ............................ 11
Gambar 3. 7 Daftar Layanan Pada Salon .......................................................... 11
Gambar 3. 8 Tampilan Transaksi Member ........................................................ 12
Gambar 3. 9 Tampilan Layanan Non Member .................................................. 12
Gambar 3. 10 Transaksi Non Member .............................................................. 13
Gambar 3. 11 Transaksi Layanan Non Member ................................................ 14
Gambar 3. 12 Keluar dari program ................................................................... 15
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada zaman sekarang, perkembangan teknologi informasi memegang peranan
penting dalam dunia usaha. TIdak sedikit dari usaha-usaha dalam skala besar,
sedang, maupun kecil yang saat ini sudah memanfaatkan teknologi informasi
untuk menunjang usahanya. Salah satu teknologi informasi yang saat ini sangat
dibutuhkan dan sering digunakan adalah teknologi informasi berupa aplikasi.
Salah satu usaha yang saat ini masih minim menggunakan teknologi informasi
adalah usaha Salon. Dimana saat ini banyak Salon yang masih menggunakan cara
manual untuk menunjang usahanya itu, contohnya untuk melakukan perhitungan
tarif salon, pegawai salon masih menggunakan hitungan manual maupun dengan
menggunakan alat elektronik seperti kalkulator, cara tersebut kurang efektif dan
efisien, karena masih harus memasukkan nominal dari biaya salon, terlebih lagi
jika salah memasukkan nominalnya maka akan terjadi kesalahan dalam
perhitungan. Mungkin hal itu bukan masalah besar, namun jika hal tersebut tIdak
sengaja dilakukan berulang-ulang, maka akan menjadi masalah besar dan dapat
mengurangi kepercayaan pelanggan terhadap Salon tersebut.
Selain itu, suatu salon juga tIdak sedikit memliki pelanggan tetapnya
(member), sehingga harus melakukan penyimpanan data Identitas member
tersebut, sehingga mempermudah suatu salon untuk mengetahui antara member
dan non member. Mungkin saat ini usaha Salon tersebut masih menyimpan data
tersebut dengan menulis dibuku atau media penyimpanan lainnya yang masih
belum terkomputerisasi, sehingga cara tersebut masih manual dalam penyimpanan
data Identitas member tersebut. Di samping itu, perhitungan tarif antara member
dan non member pastinya berbeda, sehingga untuk mengatasi masalah-masalah
2
seperti diatas, maka dibutuhkan sebuah aplikasi untuk menunjang usaha salon
tersebut.
1.2 Rumusan Masalah
Dalam usaha Salon sekarang ini, masih banyak yang menggunakan cara
manual dalam menunjang usahanya, dalam artian mereka masih menggunakan
cara-cara yang tIdak terkomputerisasi, seperti menyimpan Identitas data member,
melakukan perhitungan tarif, baik itu untuk member maupun non member. Dari
penyataan diatas dapat disimpulkan permasalahannya yaitu “Bagaimana membuat
sebuah aplikasi berbasiskan komputerisasi pada usaha salon?”.
1.3 Batasan Masalah
Dalam membangun sebuah aplikasi perhitungan tarif salon ini, terdapat
batasan-batasan masalah dalam aplikasi ini, yaitu program ini mampu menghitung
tarif member dan non member, menyimpan data Identitas member yang telah
mendaftar pada salon tersebut, dapat menyimpan data member hingga 100 data,
serta dapat mencari dan menampilkan data member yang telah disimpan
sebelumnya. Bagi member, akan mendapatkan potongan harga dari harga total
layanan yang di gunakan sebesar 10%. Sedangkan bagi non member akan di
kenakan tarif normal, jika harga total melebihi Rp 150.000,00 maka akan
mendapatkan potongan harga sebesar Rp 10.000,00. Pada salon tersebut
menyediakan berbagai macam layanan antara lain potong rambut, creambath, hair
extention, rebonding, hair spa, hair colour, bleaching, catok, pedicure dan
manicure.
1.4 Tujuan Penelitian
Setelah mengetahui masalah-masalah yang terdapat pada usaha salon seperti
yang dijelaskan diatas, maka dalam penelitian ini kami bertujuan untuk
memecahkan masalah yang dihadapi oleh usaha Salon tersebut, yaitu kami ingin
membuat sebuah program sederhana yang bernama aplikasi perhitungan tarif
3
salon dimana aplikasi tersebut dapat membantu pengusaha salon untuk
memudahkan pekerjaan mereka dalam penyimpanan data maupun melakukan
perhitungan tarif salon. Sehingga dapat meminimalisir terjadi kesalahan pada saat
perhitungan tarif layanan pada salon tersebut. Di samping itu juga kami ingin
mendapatkan pengalaman bagaimana membuat program yang baik bagi dunia
usaha tersebut.
1.5 Manfaat Penelitian
Dalam sebuah penilitian pasti akan memunculkan berbagai macam manfaat.
Dimana manfaat tersebut dapat di pergunakan oleh masyarakat luas. Seperti
halnya pada aplikasi penghitungan tarif salon ini, akan memberikan manfaat bagi
banyak kalangan. Adapun pihak yang bersangkutan ialah :
1. Peneliti : mendapatkan wawasan dan pengalaman bagaimana cara membuat
program yang baik bagi usaha salon.
2. Pengusaha salon : memudahkan pekerjaan mereka dan meminilisir terjadi
kesalahan sehingga mendapatkan hasil yang maksimal.
3. Dunia akademik : sebagai referensi program dan contoh awal program
sehingga pada masa depannya akan ada inovasi-inovasi yang dapat
menyempurnakan program ini.
1.6 Sistematika Penulisan
Dalam penyusunan laporan ini terdapat beberapa bab yang membahas
programming project tentang aplikasi perhitungan tarif salon. Adapun penjelasan
secara ringkas dari beberapa bab tersebut adalah sebagai berikut.
BAB 1 PENDAHULUAN
Pada bab ini menjelaskan tentang studi kasus dan apa yang ingin dibuat dalam
mengatasi permasalahan yang dihadapi oleh usaha salon saat ini.
4
BAB II METODOLOGI
Bab ini menjelaskan rancangan seperti flowchart dan Unified Modelling
Language (UML) yang akan diimplementasikan dalam bahasa pemrograman
java.
BAB III HASIL DAN PEMBAHASAN
Bagian ini menjelaskan program yang telah dibuat berdasarkan flowchart dan
Unified Modelling Language (UML) beserta source code dari program aplikasi
perhitungan tarif salon, selain itu juga menjelaskan kelebihan dan kekurangan dari
program ini.
BAB IV SIMPULAN DAN SARAN
Bab ini menjelaskan tentang kesimpulan dari program yang dibuat dan saran
untuk Laboratorium Komputasi dan Sistem Cerdas (KSC), dan para asisten yang
bertugas di laboratorium tersebut.
5
BAB II
METODOLOGI
2.1 Analisis Program
Berikut ini rancangan / flowchart program dari aplikasi perhitungan tarif salon
yang akan kami buat dengan menggunakan bahasa Java.
Start
Pilihan Menu
Member
Non Member
Exit
End
Pilihan Sub Menu
New Data
Transaksi Member
Input data member Proses Output data
baru
Output data member True/False Output
pilihanInput
layanan
Proses Output harga
Selesai (T/F) ?
Output total harga
Output pilihan
Input layanan Proses Output
hargaSelesai (T/F) ?
Output total harga
List data member
Output list data
member
Kembali
Gambar 2. 1 Flowchart Aplikasi Perhitungan Tarif Salon
Penjelasan Flowchart :
Pada saat aplikasi tersebut dijalankan, maka akan menampilkan 3 menu utama,
yaitu Menu Member, Non Member, dan Keluar. Ketika setelah memilih menu
member, akan terdapat submenu, dalam submenu tersebut terdapat beberapa
pilihan, yaitu New Data, List Data Member, Transaksi Member, dan Kembali.
6
Pada pilihan pertama di submenu, yaitu New Data, disini pelanggan non
member dapat mendaftarkan dirinya sebagai member. Pegawai akan memasukkan
data Identitas dari pelanggan tersebut, lalu program akan memproses dan
menyimpan data Identitas pelanggan tersebut. Pada proses pemasukkan data, Id
dan Nama harus diisi pada program tersebut, jika tIdak maka program tIdak akan
menyimpan data Identitas dari pelanggan tersebut. Disini, Id pelanggan dapat
berupa KTM atau KTP. Setelah proses pemasukkan dan penyimpanan data
selesai, maka pelanggan tersebut resmi menjadi member dari salon tersebut.
Pada pilihan kedua pada submenu, yaitu list data member digunakan untuk
menampilkan semua data member yang telah dibuat dan disimpan sebelumnya. Di
pilihan ketiga yaitu Transaksi Member, digunakan untuk melakukan perhitungan
tarif khusus member dengan memasukkan Id member setelah itu akan di
tampilkan data dari Id member yang dimasukkan, setelah itu akan muncul
konfirmasi apakah data tersebut benar atau tIdak. Jika tIdak benar maka akan
dilakukan pemasukan Id member kembali dan jika benar maka program akan
menampilkan berbagai layanan yang ada pada salon tersebut. Setelah itu kasir
akan menanyakan layanan apa saja yang digunakan oleh member lalu
mamasukkannya pada program tersebut. Lalu program akan memproses semua
layanan yang telah digunakan dan menampilkan total harga yang telah dipotong
sebesar 10%.
Pada pilihan keempat yaitu kembali digunakan untuk kembali ke menu utama.
Pada menu non member digunakan untuk melakukan perhitungan tarif non
member. Langkah tersebut sama dengan langkah pada perhitungan tarif member.
Namun tIdak memasukkan Id member dan hanya mendapatkan potongan harga
sebesar Rp 15.000,00 jika total tarif layanan yang digunakan lebih dari Rp
150.000,00. Pada menu terakhir yaitu digunakan untuk keluar dari program.
7
2.2 Unified Modelling Language (UML)
Gambar 2. 2 Unified Modelling Language (UML) Program
8
BAB III
HASIL DAN PEMBAHASAN
3.1 Penjelasan Program Beserta Capture Hasil Program
Gambar 3. 1 Tampilan Menu Utama pada Aplikasi Perhitungan Tarif Salon
Ketika membuka program aplikasi ini, Menu Utama akan selalu muncul terlebih
dahulu. Pada Menu Utama terdapat 3 pilihan menu, yaitu Member, Non member,
dan Keluar.
Gambar 3. 2 Submenu Member
Jika pada Menu Utama memasukkan pilihan 1, maka akan menuju ke Submenu
Member, disana terdapat 4 pilihan yaitu pilihan pertama digunakan untuk
membuat data member baru, pilihan kedua digunakan untuk menampilkan semua
9
data member yang telah disimpan sebelumnya, pilihan ketiga digunakan untuk
menghitung tarif member, dan pilihan keempat digunakan untuk kembali ke Menu
Utama.
Gambar 3. 3 Mendaftarkan Member baru
Ketika pada Submenu memasukkan pilihan 1, maka akan
membuat/mendaftarkan member baru yang sebelumnya masih non member. Lalu
isikan data yang diperlukan. Di sini yang wajib diisi adalah Id Member dan Nama,
jika tIdak maka data yang dimasukkan tIdak akan tersimpan. Lalu setelah semua
data yang diperlukan telah dimasukkan, maka program otomatis akan kembali ke
Submenu Member.
10
Gambar 3. 4 Tampilan Semua Data Yang Telah Disimpan
Pada Submenu Member, masukkan pilihan 2, maka program akan menampilkan
semua data member yang telah disimpan sebelumnya.
Gambar 3. 5 Memasukkan ID Member Untuk Transaksi
Masuk ke pilihan Transaksi Member, maka program akan meminta untuk
memasukkan Id Member. Setelah dimasukkan Id Member yang benar, maka
program akan menampilkan sebagian data member dari Id Member yang telah
dimasukkan. Lalu akan muncul konfirmasi, jika data benar maka tekanlah huruf
11
‘y’, jika salah tekanlah huruf ‘t’. Jika benar, maka program akan melanjutkan ke
tahap berikutnya ialah perhitungan tarif salon, namun jika salah maka program
akan meminta ulang untuk memasukkan Id Member.
Gambar 3. 6 Menampilkan Data Dari Id Member yang salah
Jika salah memasukkan Id Member, maka data yang ditampilkan berisi null. Dan
disarankan untuk memasukkan Id Member lagi.
Gambar 3. 7 Daftar Layanan Pada Salon
Setelah berhasil memasukkan Id Member, maka akan muncul daftar layanan salon
yang tersedia. Disini user/kasir hanya memasukkan Id layanan sebanyak layanan
yang digunakan oleh member. Setelah selesai memasukkan Id layanan, maka
program akan menghitung dan menampilkan total biaya yang telah dipotong
sebesar 10%.
12
Gambar 3. 8 Tampilan Transaksi Member
Setelah menghitung transaksi member, maka program secara otomatis akan kembali kemenu utama.
Gambar 3. 9 Tampilan Layanan Non Member
Pada menu utama, jika memasukkan pilihan 2, maka akan menuju ke layanan non
member dan akan menampilkan daftar layanan salon.
13
Gambar 3. 10 Transaksi Non Member
Jika ingin menghitung tarif untuk non member, hanya memasukkan Id layanan
sebanyak layanan yang digunakan oleh non member, disini non member tIdak
mendapatkan potongan harga, namun jika total biaya melebihi Rp.150.000,00
maka non member akan mendapatkan potongan harga sebesar Rp.10.000,00
14
Gambar 3. 11 Transaksi Layanan Non Member
Non member mendapatkan potongan harga sebesar Rp.10.000,00 jika total biaya
layanan melebihi Rp.150.000,00. Setelah selesai menghitung transaksi layanan
non member, maka program akan kembali kemenu utama.
15
Gambar 3. 12 Keluar dari program
Pada menu utama, masukkan pilihan 3 maka akan keluar dari program aplikasi
perhitungan tarif salon.
3.2 Kekurangan dan Kelebihan Program
Pada aplikasi perhitungan tarif salon ini, terdapat kelebihan dan kekurangan
yang ada pada program ini. Adapun kelebihan pada program ini adalah :
1. Program dapat membuat dan menyimpan data member yang baru dibuat.
2. Program mampu melakukan perhitungan tarif salon yang berbeda antara
member dan non member.
3. Program dapat mencari data member.
Kekurangan dari program ini adalah sebagai berikut :
1. Data yang disimpan dimasukkan di array dan bersifat sementara.
2. Untuk data perhitungan tarif tIdak akan disimpan, yang disimpan hanya data
pelanggan tetap/member.
16
3.3 Source Code
Tabel 3. 1 Source Code dari Class Main
public class Main { public static voId main(String[] args) throws IOException { Menu data = new Menu(); data.tambahLayanan("1", "Potong Rambut", 10000); data.tambahLayanan("2", "Creambath", 20000); data.tambahLayanan("3", "Hair Extention", 5000); data.tambahLayanan("4", "Rebonding", 100000); data.tambahLayanan("5", "Hair Spa", 30000); data.tambahLayanan("6", "Hair Colour", 50000); data.tambahLayanan("7", "Bleaching", 40000); data.tambahLayanan("8", "Catok", 10000); data.tambahLayanan("9", "Pedicure", 20000); data.tambahLayanan("10", "Manicure", 20000); data.menuUtama(); } }
Tabel 3. 2 Source Code dari Class StrucMember
package perhitungantarifsalon; public class StrucMember { public String kode; private String nama; private String jenisKelamin; private String alamat; private String noTelpon; public voId setNama(String namaMember) { nama = namaMember; } public String getNama() { return nama; } public voId setJenisKelamin(String jenisK) { jenisKelamin = jenisK; } public String getJenisKelamin() { return jenisKelamin; } public voId setAlamat(String alamatMember) { alamat = alamatMember; } public String getAlamat() {
17
return alamat; } public voId setNoTelpon(String noTelponMember) { noTelpon = noTelponMember; } public String getNoTelpon() { return noTelpon; } }
Tabel 3. 3 Source Code dari Class StrucLayanan
package perhitungantarifsalon;
public class StrucLayanan { public String IdLayanan; private String namaLayanan; private double harga; public voId setNamaLayanan(String serviceName) { namaLayanan = serviceName; } public String getNamaLayanan() { return namaLayanan; } public voId setHarga(double price) { harga = price; } public double getPrice() { return harga; } }
Tabel 3. 4 Source Code dari Class Menu
package perhitungantarifsalon; import java.io.*; public class Menu extends Salon { @OverrIde public voId menuUtama() throws IOException { super.menuUtama();
18
pilih = member.readLine(); if (pilih.equals("1")) { subMenuMember(); } else if (pilih.equals("2")) { hitung(); totalAkhirCustomer(totalHargaNonMember); menuUtama(); } else if (pilih.equals("3")) { System.exit(0); } System.out.println(""); } @OverrIde public voId subMenuMember() throws IOException { super.subMenuMember(); System.out.println(""); System.out.println("1. Buat data member baru"); System.out.println("2. Tampilkan semua data member"); System.out.println("3. Transaksi Member"); System.out.println("4. Kembali"); System.out.print("masukkan pilihan : "); pilihSubMenu = member.readLine(); if (pilihSubMenu.equals("1")) { inputDataMember(namaMember, kodeMember, jenisKelaminMember, alamatMember, noTelponMember); } else if (pilihSubMenu.equals("2")) { tampilkanDataMember(); } else if (pilihSubMenu.equals("3")) { do { carIdataMember(); System.out.print("Apakah data benar ? [y/t] "); konfirmMember = member.readLine(); } while (konfirmMember.equals("t")); hitung(); totalAkhirCustomer(totalHargaMember, diskonHargaMember); menuUtama(); } else if (pilihSubMenu.equals("4")) { menuUtama(); } } }
Tabel 3. 5 Source Code dari Class Salon
package perhitungantarifsalon; import java.io.*; public class Salon {
19
StrucMember[] daftar = new StrucMember[100]; int banyakData = 1; InputStreamReader data = new InputStreamReader(System.in); BufferedReader member = new BufferedReader(data); String lagi, kodeLayanan, tempBayar; double totalAkhir, total, totalHargaMember, totalHargaNonMember, dibayar, kembali, diskonHargaMember, totalBiayaNonMember; String pilih, kodeMember, pilihSubMenu, konfirmMember, namaMember, jenisKelaminMember, alamatMember, noTelponMember; public voId tambahDataMember(String IdMember, String name, String sex, String address, String phone) { daftar[banyakData] = new StrucMember(); daftar[banyakData].kode = IdMember; daftar[banyakData].setNama(name); daftar[banyakData].setJenisKelamin(sex); daftar[banyakData].setAlamat(address); daftar[banyakData].setNoTelpon(phone); banyakData++; } public voId inputDataMember(String IdMember, String namaMember, String jenisK, String alamat, String noTelpon) throws IOException { try { System.out.println(""); System.out.print("Id Member : "); IdMember = member.readLine(); System.out.print("Nama : "); namaMember = member.readLine(); System.out.print("Jenis Kelamin : "); jenisK = member.readLine(); System.out.print("Alamat : "); alamat = member.readLine(); System.out.print("No. Telpon : "); noTelpon = member.readLine(); if (IdMember.equals("") || namaMember.equals("")) { throw new NullPointerException(); } tambahDataMember(IdMember, namaMember, jenisK, alamat, noTelpon); subMenuMember(); } catch (NullPointerException npe) { System.out.println(""); System.out.println("ID ATAU NAMA TIDAK BOLEH KOSONG"); } subMenuMember(); } public voId tampilkanDataMember() throws IOException { System.out.println("");
20
daftar[banyakData] = new StrucMember(); if (banyakData == 1) { System.out.println("Data masih kosong"); } else { for (int isi = 1; isi < banyakData; isi++) { System.out.println("Data ke " + isi); System.out.println("Id member : " + daftar[isi].kode); System.out.println("Nama : " + daftar[isi].getNama()); System.out.println("Jenis Kelamin : " + daftar[isi].getJenisKelamin()); System.out.println("Alamat : " + daftar[isi].getAlamat()); System.out.println("No. Telepon : " + daftar[isi].getNoTelpon()); System.out.println(""); } } subMenuMember(); } public String getNamaMember(String IdMember) { for (int isi = 1; isi < banyakData; isi++) { if (IdMember.equals(daftar[isi].kode)) { return daftar[isi].getNama(); } } return null; } public String getAlamatMember(String IdMember) { for (int isi = 1; isi < banyakData; isi++) { if (IdMember.equals(daftar[isi].kode)) { return daftar[isi].getAlamat(); } } return null; }
public voId carIdataMember() throws IOException { try { String kodeMemberCari; System.out.print("Masukkan Id Member :"); kodeMemberCari = member.readLine(); if (kodeMemberCari.equals("")) { throw new NullPointerException(); } System.out.println("Data dari kode member " + kodeMemberCari); System.out.println("Nama : " + getNamaMember(kodeMemberCari)); System.out.println("Alamat : " + getAlamatMember(kodeMemberCari));
21
} catch (NullPointerException ex) { System.out.println("Id Member harus di isi !"); } } public voId menuUtama() throws IOException { System.out.println("MENU APLIKASI SALON"); System.out.println("1. Member"); System.out.println("2. Non member"); System.out.println("3. Keluar"); System.out.print("Masukkan pilihan : "); } public voId subMenuMember() throws IOException { } StrucLayanan[] info = new StrucLayanan[25]; int banyakLayanan = 1; public voId tambahLayanan(String code, String nameOfServeice, double priceOfService) { info[banyakLayanan] = new StrucLayanan(); info[banyakLayanan].IdLayanan = code; info[banyakLayanan].setNamaLayanan(nameOfServeice); info[banyakLayanan].setHarga(priceOfService); banyakLayanan++; } public voId dispaly() { for (int i = 1; i < banyakLayanan; i++) { System.out.println("Id layanan : " + info[i].IdLayanan); System.out.println("Layanan : " + info[i].getNamaLayanan()); System.out.println("Harga : " + info[i].getPrice()); System.out.println(""); } }
public voId hitung() throws IOException { System.out.println(""); dispaly(); total = 0; do { System.out.print("masukkan pilihan : "); kodeLayanan = member.readLine(); for (int isiLay = 1; isiLay < banyakLayanan; isiLay++) { if (kodeLayanan.equals(info[isiLay].IdLayanan)) { System.out.println("nama : " + info[isiLay].getNamaLayanan()); System.out.println("harga : " + info[isiLay].getPrice());
22
total = total + info[isiLay].getPrice(); isiLay = isiLay + 1; } } System.out.print("apakah lagi ? [y/t] "); lagi = member.readLine(); } while (lagi.equals("y")); } public voId totalAkhirCustomer(double totalHarga, double hargaDiskon) throws IOException { try { hargaDiskon = 0.1 * total; totalHarga = total - hargaDiskon; System.out.println("Total Biaya : " + totalHarga); System.out.print("Dibayar : "); tempBayar = member.readLine(); if (tempBayar.equals("")) { throw new NullPointerException(); } dibayar = Double.parseDouble(tempBayar); kembali = dibayar - totalHarga; if (kembali < 0) { throw new ArithmeticException(); } System.out.println("Kembali : " + kembali); } catch (NumberFormatException xy) { System.out.println("ERROR: NOMINAL YANG DIMASUKKAN SALAH !"); } catch (NullPointerException ab) { System.out.println("ERROR: NOMINAL HARUS DISI !"); } catch (ArithmeticException cd) {
System.out.println("ERROR: NOMINAL KEMBALIAN TIDAK BOLEH NEGATIF !"); } System.out.println(""); } public voId totalAkhirCustomer(double totalHarga) throws IOException { try { System.out.println("Total Biaya : " + total); if (total > 150000) { totalBiayaNonMember = total - 10000; System.out.println("Dapat potongan harga sebesar 10000"); System.out.println("Total Biaya : " + totalBiayaNonMember); System.out.print("Dibayar : "); tempBayar = member.readLine(); if (tempBayar.equals("")) {
23
throw new NullPointerException(); } dibayar = Double.parseDouble(tempBayar); totalHarga = dibayar - totalBiayaNonMember; if (totalHarga < 0) { throw new ArithmeticException(); } System.out.println("Kembali : " + totalHarga); } else { System.out.print("Dibayar : "); tempBayar = member.readLine(); if (tempBayar.equals("")) { throw new NullPointerException(); } dibayar = Double.parseDouble(tempBayar); totalHarga = dibayar - total; if (totalHarga < 0) { throw new ArithmeticException(); } System.out.println("Kembali : " + totalHarga); } } catch (NullPointerException cd) { System.out.println("NOMINAL HARUS DISI !"); } catch (NumberFormatException ef) { System.out.println("NOMINAL YANG DIMASUKKAN SALAH !"); } catch (ArithmeticException gh) { System.out.println("ERROR: NOMINAL KEMBALIAN TIDAK BOLEH NEGATIF !"); } System.out.println(""); } }
24
BAB IV
SIMPULAN DAN SARAN
4.1 Kesimpulan
Pada program yang kami buat ini mempermudah penyedia layanan salon
sehingga akan meminimalisir kesalahan. Program ini dapat menghitung tarif
layanan yang digunakan. Selain itu, program ini dapat membedakan antara
member dan non member. Program ini dapat pula mencari dan menampilkan data
yang di simpan sebelumnya. Namun program ini hanya dapat menyimpan data
untuk sementara. Dan data transaksi tIdak disimpan pada program ini.
4.2 Saran
Kami berharap Laboratorium Sistem Komputasi dan Sistem Cerdas (KSC)
Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Islam
Indonesia kedepannya bisa lebih baik lagi, dari segi fasilitas maupun kenyamanan
dIdalam laboratorium dan kepada asisten pembimbing supaya lebih interaktif
dalam penyampaian materi agar praktikannya lebih menguasai materi yang
disampaikan.
ix
DAFTAR PUSTAKA
Wijayanto, Feri. KSC, Laboratorium. Modul Praktikum Pemrograman Berorientasi Objek. Laboratorium Komputasi dan Sistem Cerdas. 2011. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Islam Indonesia Yogyakarta.
belajarprogram, 2009. List Asosiasi (On-line) Available at http://java.lyracc.com/belajar/java-untuk-pemula/list-asosiasi
x
LAMPIRAN
1 : Lembar asistensi 1, 2, dan 3
2 : CD berisi source code program dan softcopy laporan dalam format pdf.
Top Related