bab iii pembahasan · 23 bab iii pembahasan 3.1. tijauan perusahaan pelayanan jasa rias kecantikan...

50
23 BAB III PEMBAHASAN 3.1. Tijauan Perusahaan Pelayanan Jasa Rias Kecantikan pada WindiWi MakeUp ini sebagai kebutuhan penting guna memberikan kepuasan terhadap pelanggan atau masyarakat yang ingin menggunakan Jasa Rias Kecantikan WindiWi MakeUp. Bidang usaha yang digeluti perusahaan ini adalah berupa pelayanan Jasa Tata Rias Pengantin, MakeUp Wisuda yang juga dilengkapi dengan dekorasi , tenda, panggung, undangan, sewa kebaya. 3.1.1. Sejarah Perusahaan WindiWi MakeUp ini bendiri pada Tahun 2015, Ibu Windi selaku pemilik usaha awalnya hanya ikut bersama kakanya sebagai asisten MakeUp Rias Kecantikan, seiring berjalan nya waktu Ibu Windi Membuka Usaha Jasa Rias Kecantikan dengan beberapa karyawan nya dengana mengandalkan kejujuran, percaya diri dan berdo’a menjalankan usahanya. Dalam perkembangan nya usaha Jasa Rias Kecantikan ini terus berusaha untuk meningkatkan kepuasan kepada para pelanggan dengan memberikan kenyamanan dan fasilitas-fasilitas yang ada sebagai Jasa ungulan terbaik dalam usahanya dan terus memperkenalkan dan mempromosikan pelayanan Jasa Rias Kecantikan yang tersedia. a. Visi dan Misi WindiWi MakeUp mempunyai Visi dan Misi yang menjadi landasan semangat pengembangan usaha Pelayanan Jasa Rias Kecantikan pada WindiWi MakeUp.

Upload: others

Post on 05-Nov-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

23

BAB III

PEMBAHASAN

3.1. Tijauan Perusahaan

Pelayanan Jasa Rias Kecantikan pada WindiWi MakeUp ini sebagai

kebutuhan penting guna memberikan kepuasan terhadap pelanggan atau masyarakat

yang ingin menggunakan Jasa Rias Kecantikan WindiWi MakeUp. Bidang usaha

yang digeluti perusahaan ini adalah berupa pelayanan Jasa Tata Rias Pengantin,

MakeUp Wisuda yang juga dilengkapi dengan dekorasi , tenda, panggung, undangan,

sewa kebaya.

3.1.1. Sejarah Perusahaan

WindiWi MakeUp ini bendiri pada Tahun 2015, Ibu Windi selaku pemilik

usaha awalnya hanya ikut bersama kakanya sebagai asisten MakeUp Rias

Kecantikan, seiring berjalan nya waktu Ibu Windi Membuka Usaha Jasa Rias

Kecantikan dengan beberapa karyawan nya dengana mengandalkan kejujuran,

percaya diri dan berdo’a menjalankan usahanya.

Dalam perkembangan nya usaha Jasa Rias Kecantikan ini terus berusaha

untuk meningkatkan kepuasan kepada para pelanggan dengan memberikan

kenyamanan dan fasilitas-fasilitas yang ada sebagai Jasa ungulan terbaik dalam

usahanya dan terus memperkenalkan dan mempromosikan pelayanan Jasa Rias

Kecantikan yang tersedia.

a. Visi dan Misi

WindiWi MakeUp mempunyai Visi dan Misi yang menjadi landasan

semangat pengembangan usaha Pelayanan Jasa Rias Kecantikan pada WindiWi

MakeUp.

24

Adapun Visi dan Misi adalah sebagai berikut:

1). Visi

WindiWi MakeUp mempunyai Visi untuk meningkatkan atau mengangkat para

pekerja dalam bidang seni atau Jasa penyelenggara pernikahan yang selama ini

kinerjanya tidak diketahui banyak orang,

2). Misi

WindiWi MakeUp mempunyai Misi untuk memprluas usaha pelayanan Jasa

Rias Kecantikan smapai pada tingkat nasional.

b. Struktur Organisasi

Struktur organisasi adalah penggambaran secara grafik yang menggambarkan

struktur kerja dari suatu struktur organisasi. Berikut adalah struktur organisasi pada

Jasa

Rias Kecantikan WindiWi MakeUp:

w

Sumber: WindiWi MakeUp Karawang

Gambar III.1.

Struktur Organisasi

PEMILIK

NKHL

BENDAHARA

BAGIAN

TATA RIAS

BAGIAN

DEKORASI

DAN TENDA

BAGIAN

FOTO DAN

VIDEO

SHOOTING

BAGIAN

GEDUNG

25

3. deskripsi Tugas

Berdasarkan struktur organisasi Rias Kecantikan pada WindiWi MakeUp diatas,

maka akan dijelaskan satu persatu dari bagian dan fungsinya:

a. Pemilik

Sebagai pemimpin dalam mengelola perusahaan secar keseluruhan dan

menentukan kebijakan-kebijakan di perusahaannya.

b. Bendahara

Membuat laporan pertanggung jawaban keuangan kepengurusan.

c. Bagian Tata Rias

Bertugas mengurusi MakeUp pasangan pengantin, keluarga ataupun kerabat

pengantin.

d. Bagian Dekorasi dan Tenda Pengantin

Bertugas mengurusi Dekorasi Pelaminan saat pesta pernikahan.

e. Bagian foto Pre-Wedding dan video Shooting.

Bertugas mengurusi foto-foto sebelum pernikahan dan selama acara itu

berlangsung bagi pasangan pengantin dan mengabadikan momen pernikahan

dalam video.

f. Bagian Gudang

Bertugas mengurusi lokasi dan gedung pernikahan.

3.2. Tinjauan Kasus

Dalam maraknya dunia bisnis Jasa yang sedang memuncak belakangan ini,

baik dari segi pelayanan, fasilitas dan dari segi perkembangan model Tata Rias

Kecantikan dan dekorasi, MakeUp.

26

Tinjauan terhadap perusahaan untuk mengetahui dan mendukung agar sistem

berjalan baik sesuai prosedur. Sedangkan secara khusus adalah untuk menjalankan

tugas opersional agar lebih efektif dan efisisen sesuai dengan yang diinginkan oleh

perusahaan.

3.2.1. Prosedur Bisnis Sistem Berjalan

Bagi Customer baru yang akan melakukan Tata Rias Kecantikan maka

Customer akan diberikan formulir kontrak pemesanan oleh bagian bendahara atau

diberikan informasi terlebih dahulu mengenai Fasilitas-Fasilitas yang disediakan oleh

Rias Kecantikan WindiWi MakeUp. Setelah Customer mengisi data dan memilih

jenis Rias Kecantikan yang ingin diambil, kemudian memberikan formulir

pemesanan yang berisi data Customer kepada bendahara, kemudian bendahara

mengecek dokumen formulir kontrak pemesanan yang sudah diisi oleh Customer.

Setelah bagian bendahara mengecek melakukan kontrak pemesanan Customer harus

menandatangani dokumen formulir kontrak pemesanan kemudian melakukan

pembayaran terlebih dahulu, pembayaran dilakukan secara tunai. Lalu setelah

customer melakukan transaksi pembayaran, Customer akan menerima copy kwitansi

bukti penerimaan pembayaran rangkap 1. Kemudian bagian bendahara menerima

bukti penerimaan pembayaran rangkap 2 untuk membuat Laporan pendapatan Jasa

Rias Kecantikan berdasarkan bukti kontrak pemesanan dan bukti penerimaan

pembayaran. Setelah bendahara selesai membuat dokumen laporan pendapatan Jasa

Rias Kecatikan, maka untuk dokumen laporan aslinya, seperti laporan pendapatan

Jasa Rias Kecantikan akan diberikan kepada pemilik dan bukti pembayaran akan

diarsipkan oleh pemilik.

27

3.2.2. Activity Diagram

Gambar III.2

Activity Diagram Prosedur pemesanan

act PEMESANAN

pemilikbendaharacustomer

mengisi formulir kontrak pemesanan

MULAI

menerima dan mengecek formulir

pemesanan yang berisi data

customer

memberikan formulir kontrak

pemesan yang sudah dicek untuk

dimintai tanda tangan

menerima dan menandatangani

formulir kontrak pemesanan

melakukan transaksi

pembayaran secara tunai

menerima bukti transaksi

pembayaran

membuat laporan bukti laporan

pembayaran

menerima bukti laporan

pembayaran rangkap 1

membuat laporan pemesanan,

lapran bukti transaksi

pembayaran dan laporan

pendapatan jasa rias kecantikan

menerima bukti formulir

pemesanan dan laporan

pendapatan jasa

mengarsipkan laporan

pemesanan, laporan transaksi

dan laporan pendapatan jasa

rias kecantikan

ActivityFinal

28

3.2.3. Dokumen Masukan

1. Nama Dokumen : Formulir Pemesanan Customer

Fungsi : Sebagai bukti biodata pemesanan

Sumber : Customer

Tujuan : Bendahara

Media : Kertas

Jumlah : 1

Frekuensi : Setiap terjadi transaksi

Format : Lampiran A.1

2. Nama Dokumen : bukti pembayaran rangkap 2

Fungsi : Sebagai bukti transaksi pembayaran

Sumber : Customer

Tujuan : Bendahara

Media : Kertas

Jumlah : 1

Frekuensi : Setiap terjadi transaksi

Format : Lampiran A.1

3.2.4. Dokumen Keluaran

1. Nama Dokumen : Bukti Pembayaran rangkap 1

Fungsi : Sebagai buki pembayaran Customer

Sumber : Bendahara

Tujuan : Customer

Media : Kertas

Jumlah : 1

Frekuensi : Setiap terjadi transaksi

29

Format : Lampiran A.1

2. Nama Dokumen : Laporan pedapatan jasa

Fungsi : Sebagai buki pedapatan jasa

Sumber : Bendahara

Tujuan : Pemilik

Media : Kertas

Jumlah : 1

Frekuensi : Setiap terjadi transaksi

Format : Lampiran A.1

3.2.5. Permasalahan Pokok

Setelah penulis melakukan riset, penulis menemukan ada beberapa

permasalahan yang timbul dalam sistem informasi pendapatan jasa rias kecantikan

pada WindiWi MakeUp yang telah berjalan, yaitu:

1.Dalam pendapatan customer masih menggunakan media kertas, hal itu beresiko

pada saat penyimpanan file dapat terjadi keruskan formulir, dan memebutuhkan

ruang yang cukup besar untuk penyimpanannya. Ketika ssat dilakukan pencarian

data, maka akan membutuhkan waktu yang cukup lama.

2. Pengelolaan data juga masih dilakukan secara manual sehingga membuat data

tidak saling terintegrasi. Hal ini menjadi kendala pada saat pengiriman atau

penukaran informasi data kepada pihak-pihak yang membutuhkan. Kendala yang

dimaksud antara lain data yang dibutuhkan harus dicetak unuk pemindahan atau

penukaran datanya.

3. Pengelolaan data masih memiliki kekurangan antara lain dari segi keamanan data.

Sekalipun mempunyai sistem penggunaan sendiri tetapi untuk pengamanan masih

dapat rusak, sehingga data yang terdapat di dalamnya masih bisa di manipulasi.

30

Dalam pengelolaan data juga tidak terdapat hak akses yang membatasi pengguna

dalam pengelolaan setiap data.

3.2.6. Pemecahan Masalah

Untuk mengatasi masalah yang dihadapi dalam sistem informasi akuntnas

pendapatan jasa riaskecantikan pada WindiWi MakeUp, maka penulis

mengumpulkan alternative pemecahan masalah yaitu:

1. Dibutuhkan sebuah database khusus untuk pendapatan customer, serta

penyimpanan data secara keseluruhan, sehingga data dapat diubah menjadi

softcopy dan tidak perlu menggunkan media kertas kembali. Gunanya untuk

menghindari terjadinya kerusakan dan hilangnya data serta dalam pencarian dat

juga dapat dilakukan secara efektif dan efisien.

2. Dibutuhkan aplikasi khusus dengan didukung oleh jaringan internal yang

membuat semua sistem saling terintregasi. Sehingga penukaran informasi tidak

menjadi suatu kendala. Hal ini membuat waktu yang digunakan lebih efektif dan

efisien.

3. pengajuan aplikasi yang telah dilengkapi dengan fungsi hak akses untuk pengguna

akan menjadi solusi yang terbaik bagi perusahaan. Hal ini membuat pengubahan

terhadap informasi data tidak dilakukan oleh sembarang orang selain dari

pengguna yang diijinkan. Sehingga membuat pengelolaan dapat dipertanggung

jawabkan.

3.3 Analisa Kebutuhan Software

3.3.1. Tahap Analisa

Analisa kebutuhan software untuk program pendapatan jasa rias kecantikan

“WindiWiMakeup” diusulkan dengan beberapa prosedur diantaranya :

31

A. Halaman Admin:

A.1. Admin berhak Login

A.2. Admin berhak data customer

A.3. Admin Berhak mengelola daftar jenis rias kecantikan

A.4. Admin berhak mengelola Transaksi

B. Pemilik:

B.1. Pemilik berhak Login

B.2. Pemilik berhak menginput Jurnal

B.3. Pemilik behak mengelola data Laporan pendapatan jasa

B.4. Pemilik Berhak mengelola data user

3.3.2. Analisa Kebutuhan Fungsional

Kebutuhan fungsional adalah jenis kebutuhan yang berisikan proses-proses

apa saja yang diberikan oleh sistem informasi. Sistem ini dapat digunakan oleh User

yaitu bagian admin dan pemilik, dimana admin dan pemilik memiliki hak untuk

mengakses dan mengelola sistem tersebut.

Berikut kebutuhan fungsional software yang akan dijalankan didalam sistem ini :

1. Pengguna harus melakukan login terlebih dahulu.

2. Sistem Pengolahan data pemesanan customer.

3. Sistem Mengelola data Transaksi pendapatan jasa.

4. Menghasilkan laporan hasil jurnal.

5. Mencetak dokumen yang dibutuhkan.

32

3.3.3. Use Case Diagram

A.1. Use Case Diagram Login

Gambar III.3.

Use Case Diagram Login

Tabel III.1.

Deskripsi Usecase Diagram Admin Berhak Mengakses Data master

Use Case Name Mengakses data Master

Requirements A.1

Goal Admin dapat mengelola data customer

Pre-Condition admin telah melakukan login sebagai

33

mengakses data customer

Post Condition Berhasil mengakses data customer kedalam

sistem

Failed end Conditions Admin penginputan data customer baru

untuk melakukan pemesanan

Primary Actors Admin

Main Flow / Basic Path 1. Admin Mengakses Form data master

customer

2. Admin Menginput data Customer

3. Admin memilih tombol “simpan”

4. Sistem menyimpan data customer dan

menampilkan keterangan berhasil

menyimpan data

Alternate flow / Invariant 1 1. Admin mengakses data customer

2. Admin memilih tombol “tambah’”

3. Admin memilih tombol “Simpan”

4. Sistem akan menampilkan data customer

Invariant 2

34

3.3.4. Activity Diagram

A.1. Activity Diagram Login Admin

Gambar III.4

Activity Diagram Login Admin

35

A.2. Activity Diagram data customer

Gambar III.5

Activity Diagram Data Customer

36

A.3. Activity Diagram daftar jenis rias kecantikan

Gambar III.6

Activity Diagram Data Rias

37

A.4. Activity Diagram Transaksi

Gambar III.7

Activity Diagram Transaksi

38

B.1. Activity Diagram Login Pemilik

Gambar III.8

Activity Diagram Login Pemilik

39

B.2. Activity Diagram data Jurnal

Gambar III.9

Activity Diagram Jurnal

40

B.3. Activity Diagram data laporan

Gambar III.10

Activity Diagram Laporan Pendapatan

41

B.4. Activity Diagram data user

Gambar III.11

Activity Diagram Data User

42

3.4. Desain

3.4.1. Entity Relationship Diagram (ERD

Gamabar III.13.

ERD Pendapatan jasa Rias Kecantikan

pelanggan

Alamat

Customer

tgl

kdpelanggan

melakukan Data rias

Nama busana

Kode rias

Harga Tatarias

Tenda

Jenis Rias

Transaksi

Melakukan

No trans

Nama

Jenis Rias

tanggal

Alamat

Kontak

Harga

kode

Mempunyai

Jurnal

Kredit

Tanggal

Debit

No Trans

Kode akun

Nama Transaksi No jurnal

Id

Kontak

43

3.4.2. Logical Record Structure (LRS)

Gamabar III.13.

LRS Pendapatan jasa Rias Kecantikan

pelanggan

kode pelanggan *

nama pelanggan

kontak

alamat

tanggal

Data Rias

Kode rias *

Jenis

Tatas rias

Busana

tenda

Dekor

harga

Transaksi

No Transaksi *

Kode pelanggan

Nama Pelanggan

Kontak

Alamat

Tgl nikah

Kode rias

Jenis rias

Harga

Tata rias

busana

tenda dekor

Jurnal

Kd_akun *

No jurnal

No Transaksi

Tanggal

Nama_akun

Debit

Kredit

44

3.4.3. Spesifikasi File

Spesifikasi File terdiri dari file-file yang digunakan untuk menyimpan data

maupun proses pengolahan data. Spesifikasi file pada sistem usulan aplikas program

Netbens IDE 8.1 dan mempunyai database dengan nama ta_rias serta terdiri dari

tabel-tabel berikut:

1.Spesifikasi File Data customer

Nama Database : ta_rias

Nama File : pelanggan

Akses File : Random

Panjang record : 43

Kunci Field : kdpelanggan

Tabel III.2.

Spesifikasi File Data customer

No Elemen Data Nama Field Type Panjang Keterangan

1 Kode pelanggan Kd_pelanggan Char 10 Primary key

2 Nama

pelanggan

Nm_pelanggan Char 30

3 Kontak

pelanggan

Kontak Char 13

4 Alamat Alamat Text

5 Tgl Tgl date1

2.Spesifikasi File Daftar rias

Nama Database : ta_rias

Nama File : Daftar rias

Akses File : Random

Panjang record : 30

Kunci Field : kdrias

45

Tabel III.3.

Spesifikasi File Daftar Rias

No Elemen Data Nama Field Type Panjang Keterangan

1 Kode rias Kd_rias char 15 Primary key

2 Jenis Rias jenis_rias char 15

3 Tata rias Tatarias text

4 Busana rias Busana text

5 Dekor rias Tendadandekor text

6 Harga rias Harga double

3.Spesifikasi File jurnal

Nama Database : ta_rias

Nama File : jurnal

Akses File : Random

Panjang record : 61

Kunci Field : id

Tabel III.4.

Spesifikasi File jurnal

No Elemen Data Nama Field Type Panjang Keterangan

1 Id Id int 11 Primary key

2 No Transaksi No_trans char 15

3 Tanggal Tanggal Date

4 Nama Transaksi Nm_trans char 35

5 debit Debit Double

6 Kredit Kredit Double

7 Saldo Saldo double

46

3.4.4. Deployment Diagram

Gambar III.14

Deployment Diagram

3.4.5. Squence Diagram

Gambar III.15

Squence Diagram

47

3.4.6. User Interface

User Interface adalah mekanisme komunikasi antara pengguna (user) dengan

sistem yang dapat menerima informasi dari pengguna dan memberikan informasi

kepada pengguna untuk memebantu mengarahakan alur penelusuran masalah sampai

ditemukan suatu solusi. Adapun implementasi pada Pendapatan jasa WindiWi

MakeUp berdasarkan hasil rancangan User Interface adalah sebagai berikut:

1. Desain Halaman Login

Gambar III.16

Desain Login

48

2. Desain Data Customer

Gambar III.17

Desain Data Customer

3. Desain Daftar jenis Rias

Gambar III.18

Desain Daftar Jenis Rias

49

4. Desain Laporan Pendapatan

Gambar III.19

Desain Laporan Pendapatan

5. Desain Jurnal

Gambar III.20

Desain Jurnal

50

6. Desain Data user

Gambar III.21

Desain Data User

3.4.7. Spesifikasi Hadware Software

1. Bahasa Pemrograman

Program : netbeans 8.1

Support : java, PHP,

Minimum resolusi monitor : 1024 x 768 pixel

2. Database

Program : xampp 3.2.2

Bahasa pemrograman : PHP

Server : apache

Database : MySQL

Ukuran : windows 7 x32 - 121MB

3. Minimum Hardware

Processor : 800MHz Intel

Memory : 512MB

Disk Space : 750MB free

4. Minimum Software

Sistem Operasi : windows 7 profesional

51

3.5. Implementasi

3.5.1. Code Generation

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package TaRias;

import java.awt.Toolkit;

import java.sql.PreparedStatement;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.GraphicsEnvironment;

import java.awt.Point;

import java.awt.event.KeyEvent;

import java.security.MessageDigest;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import java.security.NoSuchAlgorithmException;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.Arrays;

52

public class Login extends javax.swing.JFrame {

db kon = new db();

public Dashboard menu = null;

Connection conn=null;

ResultSet rs=null;

PreparedStatement pst=null;

TaRias.PetugasSession PetugasSession = new TaRias.PetugasSession();

/**

* Creates new form Home

*/

public Login() {

initComponents();

kon.setKoneksi();

Toolkit toolkit = getToolkit();

Dimension size = toolkit.getScreenSize();

setLocation(size.width/2 - getWidth()/2,

size.height/2 - getHeight()/2);

txtsalah.setVisible(false);

txthak.setVisible(false);

}

private void GetDatahak(){

try{

Statement stat = (Statement) kon.setKoneksi( ).createStatement( );

String sql = "select * from admin where username='"+user.getText()+"'";

ResultSet res = stat.executeQuery(sql);

53

while(res.next())

{

txthak.setText(res.getString("hak"));

}

}catch(SQLException err){

JOptionPane.showMessageDialog(null, err.getMessage() );

}

}

private void initUI(){

getContentPane().setBackground(new Color(245, 245, 245));

Dimension windowSize = getSize();

GraphicsEnvironment ge =

GraphicsEnvironment.getLocalGraphicsEnvironment();

Point centerPoint = ge.getCenterPoint();

int dx = centerPoint.x - windowSize.width / 2;

int dy = centerPoint.y - windowSize.height / 2;

setLocation(dx, dy);

}

static String sha1(String input) throws NoSuchAlgorithmException {

MessageDigest mDigest = MessageDigest.getInstance("SHA1");

byte[] result = mDigest.digest(input.getBytes());

StringBuilder sb = new StringBuilder();

for (int i = 0; i < result.length; i++) {

sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1));

54

}

return sb.toString();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">

private void initComponents() {

kGradientPanel1 = new keeptoo.KGradientPanel();

jPanel1 = new javax.swing.JPanel();

user = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

kGradientPanel2 = new keeptoo.KGradientPanel();

btn_login = new javax.swing.JLabel();

pass = new javax.swing.JPasswordField();

txtsalah = new javax.swing.JLabel();

txthak = new javax.swing.JTextField();

jLabel7 = new javax.swing.JLabel();

55

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setUndecorated(true);

getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

kGradientPanel1.setEndColor(new java.awt.Color(0, 102, 204));

kGradientPanel1.setGradientFocus(600);

kGradientPanel1.setStartColor(new java.awt.Color(53, 57, 66));

jPanel1.setBackground(new java.awt.Color(255, 255, 255));

jPanel1.setForeground(new java.awt.Color(102, 102, 102));

jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

user.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N

user.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new

java.awt.Color(12, 91, 160)));

user.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

userKeyTyped(evt);

}

});

jPanel1.add(user, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 200,

278, 35));

jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N

jLabel3.setForeground(new java.awt.Color(102, 102, 102));

56

jLabel3.setText("<html> WINDIWI MAKE UP <br> Silahkan Login

</html>");

jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(65, 81,

-1, 60));

jLabel5.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N

jLabel5.setText("Username");

jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(60,

170, -1, -1));

jLabel6.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N

jLabel6.setText("Password");

jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(60,

250, -1, -1));

kGradientPanel2.setEndColor(new java.awt.Color(12, 91, 160));

kGradientPanel2.setGradientFocus(200);

kGradientPanel2.setStartColor(new java.awt.Color(153, 0, 153));

kGradientPanel2.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

kGradientPanel2MouseClicked(evt);

}

public void mousePressed(java.awt.event.MouseEvent evt) {

kGradientPanel2MousePressed(evt);

}

57

});

btn_login.setFont(new java.awt.Font("Segoe UI", 1, 14)); // NOI18N

btn_login.setForeground(new java.awt.Color(255, 255, 255));

btn_login.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

btn_login.setText("Login");

btn_login.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

btn_loginMouseClicked(evt);

}

public void mousePressed(java.awt.event.MouseEvent evt) {

btn_loginMousePressed(evt);

}

});

kGradientPanel2.add(btn_login);

btn_login.setBounds(0, 0, 280, 40);

jPanel1.add(kGradientPanel2, new

org.netbeans.lib.awtextra.AbsoluteConstraints(60, 370, 278, 44));

pass.setText("jPasswordField1");

pass.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new

java.awt.Color(12, 91, 160)));

pass.addFocusListener(new java.awt.event.FocusAdapter() {

public void focusGained(java.awt.event.FocusEvent evt) {

58

passFocusGained(evt);

}

});

pass.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyTyped(java.awt.event.KeyEvent evt) {

passKeyTyped(evt);

}

});

jPanel1.add(pass, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 280,

278, 35));

txtsalah.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N

txtsalah.setForeground(new java.awt.Color(255, 51, 0));

txtsalah.setText("Salah");

jPanel1.add(txtsalah, new org.netbeans.lib.awtextra.AbsoluteConstraints(60,

330, 278, 21));

txthak.setEditable(false);

txthak.setBackground(new java.awt.Color(255, 255, 255));

txthak.setBorder(null);

txthak.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

txthakActionPerformed(evt);

}

});

59

jPanel1.add(txthak, new org.netbeans.lib.awtextra.AbsoluteConstraints(220,

300, 70, -1));

kGradientPanel1.add(jPanel1);

jPanel1.setBounds(260, 40, 400, 510);

jLabel7.setBackground(new java.awt.Color(255, 255, 255));

jLabel7.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N

jLabel7.setForeground(new java.awt.Color(255, 255, 255));

jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

jLabel7.setText("X");

jLabel7.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

jLabel7.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

jLabel7MouseClicked(evt);

}

public void mouseEntered(java.awt.event.MouseEvent evt) {

jLabel7MouseEntered(evt);

}

public void mouseExited(java.awt.event.MouseEvent evt) {

jLabel7MouseExited(evt);

}

public void mousePressed(java.awt.event.MouseEvent evt) {

jLabel7MousePressed(evt);

}

60

});

kGradientPanel1.add(jLabel7);

jLabel7.setBounds(884, 0, 20, 32);

getContentPane().add(kGradientPanel1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 910, 590));

setSize(new java.awt.Dimension(909, 589));

setLocationRelativeTo(null);

}// </editor-fold>

private void kGradientPanel2MousePressed(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

}

private void passFocusGained(java.awt.event.FocusEvent evt) {

pass.setText(""); // TODO add your handling code here:

}

private void btn_loginMousePressed(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

}

private void btn_loginMouseClicked(java.awt.event.MouseEvent evt) {

GetDatahak();

61

String row_txtusername = user.getText();

String row_txtpassword = null;

try {

row_txtpassword = sha1(Arrays.toString(pass.getPassword()));

} catch (NoSuchAlgorithmException ex) {

Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);

}

try {

Connection con = kon.setKoneksi();

Statement st=con.createStatement();

java.sql.ResultSet rsLogin = st.executeQuery("SELECT * FROM admin

WHERE username = '" + row_txtusername + "' AND password = '" +

row_txtpassword + "'");

rsLogin.next();

rsLogin.last();

if (rsLogin.getRow()==1){

String kode = txthak.getText();

if ("Pemilik".equals(kode)){

PetugasSession.setU_id(rsLogin.getInt("id"));

PetugasSession.setU_username(rsLogin.getString("username"));

PetugasSession.setU_nama(rsLogin.getString("nama"));

PetugasSession.setU_password(row_txtpassword);

PetugasSession.setU_hak(rsLogin.getString("hak"));

new Dashboard().setVisible(true);

62

this.dispose();

}

else if ("Admin".equals(kode)){

PetugasSession.setU_id(rsLogin.getInt("id"));

PetugasSession.setU_username(rsLogin.getString("username"));

PetugasSession.setU_nama(rsLogin.getString("nama"));

PetugasSession.setU_password(row_txtpassword);

PetugasSession.setU_hak(rsLogin.getString("hak"));

new DashboardUser().setVisible(true);

this.dispose();

}

} else {

JOptionPane.showMessageDialog(null, "Username atau password tidak

terdaftar !", " Akses ditolak", JOptionPane.ERROR_MESSAGE);

user.setText("");

pass.setText("");

txthak.setText("");

user.requestFocus();

}

con.close();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

}

}

63

private void txthakActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void userKeyTyped(java.awt.event.KeyEvent evt) {

char c = evt.getKeyChar();

if(c == KeyEvent.VK_ENTER){

pass.requestFocus();

evt.consume();

}

}

private void passKeyTyped(java.awt.event.KeyEvent evt) {

}

private void kGradientPanel2MouseClicked(java.awt.event.MouseEvent evt) {

GetDatahak();

String row_txtusername = user.getText();

String row_txtpassword = null;

try {

row_txtpassword = sha1(Arrays.toString(pass.getPassword()));

} catch (NoSuchAlgorithmException ex) {

Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);

}

try {

Connection con = kon.setKoneksi();

64

Statement st=con.createStatement();

java.sql.ResultSet rsLogin = st.executeQuery("SELECT * FROM admin

WHERE username = '" + row_txtusername + "' AND password = '" +

row_txtpassword + "'");

rsLogin.next();

rsLogin.last();

if (rsLogin.getRow()==1){

String kode = txthak.getText();

if ("Pemilik".equals(kode)){

PetugasSession.setU_id(rsLogin.getInt("id"));

PetugasSession.setU_username(rsLogin.getString("username"));

PetugasSession.setU_nama(rsLogin.getString("nama"));

PetugasSession.setU_password(row_txtpassword);

PetugasSession.setU_hak(rsLogin.getString("hak"));

new Dashboard().setVisible(true);

this.dispose();

}

else if ("Admin".equals(kode)){

PetugasSession.setU_id(rsLogin.getInt("id"));

PetugasSession.setU_username(rsLogin.getString("username"));

PetugasSession.setU_nama(rsLogin.getString("nama"));

PetugasSession.setU_password(row_txtpassword);

PetugasSession.setU_hak(rsLogin.getString("hak"));

new Dashboard().setVisible(true);

this.dispose();

65

}

} else {

JOptionPane.showMessageDialog(null, "Username atau password tidak

terdaftar !", " Akses ditolak", JOptionPane.ERROR_MESSAGE);

user.setText("");

pass.setText("");

txthak.setText("");

user.requestFocus();

}

con.close();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, "Error " + e);

}

}

private void jLabel7MouseClicked(java.awt.event.MouseEvent evt) {

System.exit(0); // TODO add your handling code here:

}

private void jLabel7MouseEntered(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

}

private void jLabel7MouseExited(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

66

}

private void jLabel7MousePressed(java.awt.event.MouseEvent evt) {

// kon.keluar();

// JFrame frame =(JFrame)SwingUtilities.getWindowAncestor(this);

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code

(optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default

look and feel.

* For details see

http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :

javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Windows".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

67

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Lev

el.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Lev

el.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Lev

el.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Lev

el.SEVERE, null, ex);

}

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

68

new Login().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JLabel btn_login;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JPanel jPanel1;

private keeptoo.KGradientPanel kGradientPanel1;

private keeptoo.KGradientPanel kGradientPanel2;

private javax.swing.JPasswordField pass;

private javax.swing.JTextField txthak;

private javax.swing.JLabel txtsalah;

private javax.swing.JTextField user;

// End of variables declaration

}

69

3.5.2. Blackbox Testing

Blackbox Testing adalah metode pengujian perangkat lunak yang memeriksa

fungsionalitas aplikasi tanpa melihat struktur atau cara kerjanya.

A.1. Hasil Blackbox Testing Form Login

Tabel III.5

Hasil Blackbox Testing Form Login

No Skenario

Pengujian

Text case Hasil yang

Diharapkan

Hasil

Pengujian

Kesimpulan

1. Masukkan

Username,

mengosongkan

password. Klik

tombol Login

Username,

Password

[Kosong]

Sistem akan

menolak

akses

Sesuai

harapan

Valid

2. Data

Username

kosong,

Masukkan

password. Klik

tombol Login

Username

[kosong],

Password

Sistem akan

menolak

akses

Sesuai

harapan

Valid

3. Data username

kosong,

password

kosong. Klik

tombol Login

Username

[Kosong],

Password

[Kosong]

Sistem akan

menolak

akses

Sesuai

harapan

Valid

4. Masukkan

data username,

masukkan

password. Klik

tombol Login

Username,

Password

Sistem

menerima

akses dan

masuk

kedalam

menu utama

Sesuai

Harapan

Valid

A.2. Blackbox Testing Data Customer

Tabel III.6

Hasil Blackbox Testing Data customer

No Skenario Text case Hasil yang Hasil Kesimpulan

70

Pengujian Diharapkan Pengujian

1. Klik

tambah,

kemudian

data

Pemesanan

kosong. Klik

tombol

simpan

Nama

pelanggan

[Kosong],

kontak

[Kosong],

Alamat

[Kosong],

Sistem akan

menolak

akses dan

menampilkan

pesan “Data

isian ada

yang kosong”

Sesuai

harapan

Valid

2. Klik

tambah,

kemudian

data

pemesanan

kosong. Klik

tombol

simpan

Nama

pelanggan ,

kontak

[Kosong],

Alamat

[Kosong],

Sistem akan

menolak

akses dan

menampilkan

pesan “Login

Gagal, Coba

Lagi!!”

Sesuai

harapan

Valid

3. Klik

tambah,

kemudian

data

pemesanan

kosong. Klik

tombol

simpan

Nama

pelanggan

vionita,

kontak

087281822,

Alamat

cikampek,

Sistem

menerima

akses dan

menampilkan

“Data

berhasil

disimpan”

Sesuai

harapan

Valid

A.3. Blackbox Testing Transaksi Pembayaran

Tabel III.7

Hasil Blackbox Testing Form Transaksi Pembayaran

71

No Skenario

Pengujian

Text case Hasil yang

Diharapkan

Hasil

Pengujian

Kesimpulan

1. Klik tambah,

kemudian

data

transaksi

pembayaran

kosong. Klik

tombol

simpan

No

Transaksi,

Kode

pelanggan,

Nama

pelanggan,

Kontak,

Alamat,

Jenis rias,

Harga,

Tgl

pernikahan

[Kosong].

Sistem akan

menolak

akses dan

menampilkan

pesan “Data

isian ada

yang kosong”

Sesuai

harapan

Valid

2. Klik tambah,

kemudian

data

transaksi

pembayaran

kosong. Klik

tombol

simpan

No

Transaksi,

Kode

pelangan,

Nama

pelanggan,

Kontak,

Alamat,

Jenis rias,

Harga,

Tgl

pernikahan

[Kosong].

Sistem akan

menolak

akses dan

menampilkan

pesan “Login

Gagal, Coba

Lagi!!”

Sesuai

harapan

Valid

3. Klik tambah,

kemudian

data

transaksi

pembayaran

kosong. Klik

tombol

simpan

No

Transaksi,

T040719001

Kode

pelangan,

P040719001

Nama

pelanggan,

vionita

Kontak,

087281822

Alamat,

cikampek

Jenis rias,

paket

ekonomis

Harga,

18.000.000

Tgl

pernikahan

05/07/2019

Sistem

menerima

akses dan

menampilkan

“Data

berhasil

disimpan”

Sesuai

harapan

Valid

72

3.5.3. Spesifikasi Hadware dan Software

Spesifikasi Hadrware Komputer yang cepat diiringi juga dengan

perkembangan software operasi yang menuntut spesifikasi hardware minimal agar

komputer dapat bekerja secara optimal. Jika spesifikasi hardware kurang memenuhi

syarat maka akan berdampak pada tidak ptimalnya kerja sistem opersasi.

Tabel III.8

Spesifikasi Hadware dan Software

Kebutuhan Keterangan

Sistem Windows 10 64-bit

Processor Intel Celeron @1.60. GHz

RAM 2GB

Harddisk 2GB

Monitor 1024x768 pixels

Keyboard 102 Key

Printer Injek Printer

Mouse Opthomechanical Mouse

Software Kebutah menjalankan Aplikasi Secara Local :

Bahasa script Programing: JAVA Netbens 8.1

Web Server: Xampp

DBMS : MySql