Anda di halaman 1dari 36

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


Idang
S 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 :

.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
.................................................................................................................
ii

Diserahkan kembali paling lambat : ___ _______ 2011


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

DAFTAR ISI

HALAMAN PENGESAHAN ASISTEN............................................................i


PERSEMBAHAN............................................................................................... ii
MOTTO............................................................................................................. iii
KATA PENGANTAR....................................................................................... iv
TAKARIR........................................................................................................... v
DAFTAR ISI...................................................................................................... vi
DAFTAR TABEL............................................................................................. vii
vi

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
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
2

masalah-masalah 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
3

membuat sebuah program sederhana yang bernama aplikasi perhitungan tarif


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
4

Pada bab ini menjelaskan tentang studi kasus dan apa yang ingin dibuat dalam
mengatasi permasalahan yang dihadapi oleh usaha salon saat ini.

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.
BAB II

METODOLOGI

2.1 Analisis Program


Berikut ini rancangan class diagram program dari aplikasi perhitungan tarif
salon yang akan kami buat dengan menggunakan bahasa Java.
5

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

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

BAB III HASIL DAN PEMBAHASAN

3.1 Penjelasan Program Beserta Capture Hasil Program

Gambar 3. 1 Tampilan Menu Utama pada Aplikasi Perhitungan Tarif Salon


8

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


9

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.

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

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
‘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.
11

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

Gambar 3. 8 Tampilan Transaksi Member

Setelah menghitung transaksi member, maka program secara otomatis akan


kembali kemenu utama.
12

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.

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
13

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

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.

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();
}
}
15

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() {

return alamat;
}
public voId setNoTelpon(String noTelponMember) {
noTelpon = noTelponMember;
} public String
getNoTelpon() { return
noTelpon;
}
}

Tabel 3. 3 Source Code dari Class StrucLayanan


16

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();

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
17

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
{
18

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("");
19

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));
20

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
23

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("")) {
24

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("");
}
}

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

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.

Anda mungkin juga menyukai