laporan akhir praktikum pemrograman berorientasi objek - aplikasi perhitungan tarif salon

35
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

Upload: dani-ramadani

Post on 28-Jul-2015

1.110 views

Category:

Documents


0 download

DESCRIPTION

Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

TRANSCRIPT

Page 1: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 2: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 3: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 4: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 5: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 6: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 7: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 8: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 9: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 10: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 11: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 12: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 13: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 14: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 15: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 16: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

7

2.2 Unified Modelling Language (UML)

Gambar 2. 2 Unified Modelling Language (UML) Program

Page 17: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 18: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 19: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 20: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 21: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 22: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif 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

Page 23: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 24: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 25: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 26: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 27: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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 {

Page 28: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif 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("");

Page 29: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 30: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 31: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 32: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 33: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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.

Page 34: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

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

Page 35: Laporan Akhir Praktikum Pemrograman Berorientasi Objek - Aplikasi Perhitungan Tarif Salon

x

LAMPIRAN

1 : Lembar asistensi 1, 2, dan 3

2 : CD berisi source code program dan softcopy laporan dalam format pdf.