• Tidak ada hasil yang ditemukan

BAB IV HASIL PENELITIAN DAN PEMBAHASAN

4.2 Pembahasan

4.2.1 Implementasi Sistem Untuk Karyawan

1. Login

Berdasarkan rancangan pada Gambar 3.8 menghasilkan sebuah tampilan yang ada pada gambar di bawah ini. Halaman login merupakan sebuah tampilan utama dalam sebuah sistem, kita harus login terlebih dahulu jika ingin masuk ke halaman selanjutnya.

Gambar 4.1 Login Source Code :

if($login=="LOGIN" && $user!="" && $pass!=""){

$us=mysql_query("select * from user where username='$user' AND password='$pass'");

$si=mysql_query("select * from pel_siswa where nosis='$user' AND password='$pass'"); $qr=mysql_fetch_array($us); $qi=mysql_fetch_array($si); if($qr){ $_SESSION['nama']=$qr['nama']; $_SESSION['id_user']=$qr['id_user'];

51

Script diatas menjelaskan tentang alur proses login, pada proses login ini menggunakan 3 hak akses login. Jika kita login menggunakan username dan password yang memiliki hak akses karyawan maka otomatis system akan mengeksekusi dan mengarahkan ke halaman untuk karyawan, sedangkan jika kita login dengan username dan password yang memiliki hak akses pemilik maka otomatis system akan mengeksekusi dan mengarahkan ke halaman untuk pemilik, dan untuk username dan password yang hak akses pelanggan maka otomatis system akan mengeksekusi dan mengarahkan ke halaman untuk pelanggan. Jika kita memasukkan username dan password salah maka akan muncul sebuah peringatan salah dan jika kita tidak mengisi username dan password maka akan muncul sebuah peringatan kosong.

if($qr['level']=="karyawan"){ header("location:karyawan/index.php"); }else{ header("location:pemilik/index.php"); } }elseif($qi){ $_SESSION['nama']=$qi['nama']; $_SESSION['nosis']=$qi['nosis']; header("location:pelanggan/index.php"); }else{ echo "<script>alert('SALAH'); document.location.href='index.php';</script>"; } }

else if($btnn =="logout"){ session_destroy();

header( "location: index.php" ); exit;

}else{

echo "<script>alert('KOSONG');

52

2. Home

Berdasarkan rancangan pada Gambar 3.9 menghasilkan sebuah rancangan seperti pada gambar dibawah ini, dimana pada halaman home ini berisi data jumlah pelanggan, total pendapatan berdasarkan bulan saat ini, dan laporan data keuangan per kelas berdasakan bulan pada saat ini.

Gambar 4.2 Halaman utama Source Code :

Pada script $pelanggan berfungsi untuk menjumlahkan data pelanggan, pada script $total berfungsi untuk menghitung pendapatan pada bulan sekarang, dan pada script $a menghitung total pendapatan per kelas berdasarkan bulan sekarang.

$pelanggan = mysql_fetch_array(mysql_query("SELECT count('nosis') as jml from pel_siswa"));

$total = mysql_fetch_array(mysql_query("SELECT sum(total) as jml from transaksi where month(tanggal)='".date('m')."'"));

$a=mysql_fetch_array(mysql_query("SELECT transaksi.nosis,

pel_siswa.nosis,sum(transaksi.total) as jml FROM transaksi,pel_siswa WHERE transaksi.nosis=pel_siswa.nosis AND month(transaksi.tanggal)='".date('m')."' AND pel_siswa.kelas='A'"));

53

3. Pelanggan

Berdasarkan rancangan pada gambar 3.10 menghasilkan sebuah interface seperti pada gambar dibawah ini. Pada interface pelanggan ini terdapat form untuk pencarian data pelanggan berdasarkan nosis, tambah data pelanggan, edit data pelanggan, hapus data pelanggan , dan yang terakhir adalah halaman data pelanggan.

Gambar 4.3 Halaman data pelanggan Source Code :

Script ini berfungsi untuk menampilkan sebuah data pelanggan, dimana jika kita melakukan pencarian data pelanggan maka query kondisi pertama akan mengeksekusi dari hasil inputan yang akan dicari dan jika tidak ada sebuah pencarian maka menjalankan kondisi yang kedua.

Source Code :

if(isset($_REQUEST['keyword']) && $_REQUEST['keyword']<>""){ $keyword=$_REQUEST['keyword'];

$reload = "pelanggan.php?pagination=true&keyword=$keyword"; $result = mysql_query("SELECT * FROM pel_siswa WHERE nosis LIKE '%$keyword%' ORDER BY nosis") or die("GAGAL");

}else{

$reload = "pelanggan.php?pagination=true";

$result = mysql_query("SELECT * FROM pel_siswa ORDER BY nosis") or

die("GAGAL"); }

while(($count<$rpp) && ($i<$tcount)) { mysql_data_seek($result,$i); $data = mysql_fetch_array($result); <tr>

<td style="text-align: center;"><?php echo ucwords($data ['nosis']) ; ?></td>

<td><?php echo ucwords($data ['nama']) ; ?></td> </tr>

54

Pada script ini berfungsi untuk menampilkan data secara berulang-ulang dengan menggunakan perintah mysql_fetch_array dan mengambil sebuah data dari query yang sudah dilakukan sebelumnya.

Source Code :

Pada script ini menjelaskan beberapa proses untuk input data, edit data, dan hapus data pelanggan. Jika kita mendapat action get input maka proses ini menjalankan query untuk menginputkan data yang sudah dilakukan oleh pengguna, jika kita mendapat action get edit maka proses ini menjalankan query untuk edit data yang sudah dilakukan oleh pengguna, dan jika kita mendapatkan action get hapus

<?php

include "../koneksi.php"; if(isset($_GET['input'])){

$input=mysql_query("INSERT INTO pel_siswa (nosis, nama, kelas, no_telp, password) VALUES

('$nosis','$nama','$kelas','$telp','$ubah')"); if ($input){ ……… }else{ ………. } }elseif(isset($_GET['edit'])){

$input=mysql_query("UPDATE pel_siswa SET nama='$nama', kelas='$kelas', no_telp='$telp' WHERE nosis='$nosis'");

if ($input){ ……….. }else{ ………. } }elseif(isset($_GET['hapus'])){

$query=mysql_query("DELETE FROM pel_siswa WHERE nosis='$nosis'"); if ($query){ ……….. }else{ ……….. } } ?> $i++; $count++; }

55

maka proses ini akan menjalankan query untuk menghapus data pelanggan.

4. Input Data Pelanggan

Pada rancangan gambar 3.11 menghasilkan sebuah interface seperti pada gambar dibawah ini. Pada interface ini terdaput form yang berisikan input data nosis, nama, kelas, no handphone, dan password. Serta terdapat button simpan dan batal.

Gambar 4.4 Input data pelanggan

5. Edit Data Pelanggan

Pada rancangan gambar 3.12 menghasilkan sebuah interface seperti pada gambar dibawah ini. Pada interface ini terdaput form yang berisikan edit data pelanggan.

56

6. Harga Laundry

Pada rancangan gambar 3.13 menghasilkan sebuah interface seperti pada gambar dibawah ini.

Gambar 4.6 Halaman harga laundry Source Code :

Pada script ini berfungsi untuk menampilkan data harga laundry yang menggunakan proses perulangan dengan script mysql_fetch_array, dimana dalam proses ini mengambil sebuah query dari variable $result.

$result = mysql_query("SELECT * FROM laundry ORDER BY nm_laundry") or die("GAGAL");

while(($count<$rpp) && ($i<$tcount)) { mysql_data_seek($result,$i);

$data = mysql_fetch_array($result); ……….

57

7. Input Harga Laundry

Dari rancangan Gambar 3.14 menghasilkan sebuah interface yang seperti pada gambar dibawah ini. Pada interface ini terdapat form input data nama dan harga, serta terdapat button simpan dan batal.

Gambar 4.7 Halaman input data harga laundry Source Code :

Pada script ini terdapat 3 kondisi yaitu input, edit, dan delete. Jika kita mendapatkan sebuah action input maka proses yang dieksekusi adalah kondisi input, jika kita mendapatkan sebuah action edit maka

if(isset($_GET['input'])){

$input=mysql_query("INSERT INTO laundry (nm_laundry,harga) VALUES ('$nama','$harga')"); if ($input){ ……….. }else{ ………. } }elseif(isset($_GET['edit'])){

$input=mysql_query("UPDATE laundry SET nm_laundry= '$nama' , harga='$harga' WHERE id_laundry='$id'");

if ($input){ ……… }else{ ……… } }elseif(isset($_GET['hapus'])){

$query=mysql_query("DELETE FROM laundry WHERE id_laundry='$id'"); if ($query){ ……… }else{ ………. } }

58

proses yang dieksekusi adalah kondisi edit, dan jika kita mendapatkan sebuah action delete maka proses yang dieksekusi adalah kondisi delete.

8. Edit Harga Laundry

Dari rancangan 3.15 menhasilkan interface seperti pada gambar dibawah ini. Pada interface ini terdapat form untuk edit nama laundry dan harga laundry serta terdapat juga button simpan dan batal.

Gambar 4.8 Halaman edit data harga laundry

9. Transaksi

Berdasarkan rancangan gambar 3.16 menghasilkan interface seperti pada gambar dibawah ini. Pada interface ini memiliki fitur pencarian, tambah data, dan halaman data transaksi laundry.

59 Source Code :

Script ini berfungsi untuk menampilkan data dengan perulangan menggunakan mysql_fetch_array. Script dtransaksi.php?nosis=

<?php echo $data[‘nosis’] ?>&tgl=<?php echo $data[‘tanggal’]; ?>

berfungsi untuk membuat aksi get untuk detail transaksi yang mengambil data berdasarkan nosis dan tanggal yang dipilih.

10.Detail Transaksi

Berdasarkan rancangan pada gambar 3.17 menghasilakn interface seperti pada gambar dibawah ini. Pada halaman ini menampilkan data detail transaksi berdasarkan nama dan tanggal transaksi.

Gambar 4.10 Halaman detail transaksi Source Code :

$result berfungsi untuk melakukan query dari table transaksi dan pel_siswa berdasarkan dari variable get yang didapat dari proses

$result = mysql_query("SELECT t.id_transaksi,t.nosis,p.nama,p.kelas, t.tanggal, SUM(t.total) as jml from transaksi as t inner join pel_siswa as p on t.nosis=p.nosis group by t.nosis,t.tanggal") or die("GAGAL");

while(($count<$rpp) && ($i<$tcount)) { mysql_data_seek($result,$i); $data = mysql_fetch_array($result);

<td style="text-align: center;"><a href="dtransaksi.php?nosis =<?php echo $data['nosis'] ?>&tgl=<?php echo $data['tanggal']; ?>"><i class="glyphicon glyphicon-edit"></i></a></td>}

$result = mysql_query("SELECT

no_nota,tanggal,id_user,nama,transaksi.nosis, kelas, SUM(total) as jml FROM transaksi,pel_siswa WHERE transaksi.nosis = pel_siswa.nosis AND transaksi.nosis=$nosis AND transaksi.tanggal='$tgl' ") or die("GAGAL"); $lihat=mysql_fetch_array($result);

60

sebelumnya. $lihat berfungsi untuk mengeksekusi query dari variable $result.

Source Code :

$result2 berfungsi untuk melakukan query ke table transaksi, d_transaksi, user, dan laundry berdasarkan kondisi nosis dan tanggal yang telah dipilih sebelumnya. Script while berfungsi untuk menampilakn data secara perulangan dengan mengkombinasikan script mysql_fetch_array yang memanggil variable query sebelumnya yaitu $result2.

11.Input Data Transaksi

Pada halaman ini kita bisa melakukan banyak transaksi dalam satu waktu.

Gambar 4.11 Halaman input transaksi $result2 = mysql_query("SELECT

laundry.nm_laundry,pel_siswa.nosis,laundry.

id_laundry,laundry.nm_laundry,transaksi.id_user,user.nama,laundry.harga,t ransaksi.tanggal,d_transaksi.qty FROM

transaksi,d_transaksi,pel_siswa,laundry,user WHERE

transaksi.id_transaksi=d_transaksi.id_transaksi AND transaksi.nosis = pel_siswa.nosis AND transaksi.id_user=user.id_user AND

d_transaksi.id_laundry = laundry.id_laundry AND transaksi.nosis='$nosis' AND transaksi.tanggal='$tgl'");

while($lihat1=mysql_fetch_array($result2)) { ………

61 Source Code :

Variable $q berfungsi untuk memanggil data yang tersimpan dari table temp, karena pada saat kita melakukan banyak penambahan transaksi jika belum disimpan maka otomatis datanya masuk ke tabel temp. $subtot berfungsi untuk menjumlahkan hasil dari harga transaksi x qty. $total berfungsi untuk menjumlahkan dari hasil $total + hasil penjumlahan dari $subtot. Script <?php echo

$data[‘nm_laundry’]; ?> berfungsi untuk menampilkan nama

laundry berdasarkan transaksi yang ditambahkan. Script p_transaksi.php?id=<?php echo $data [‘id_laundry’]; ?> &del=’del’

berfungsi untuk menghubungkan ke proses delete dengan menggunakan id_laundry yang dipilih.

Source Code :

$q="select * from temp, laundry where id_session='$sid' AND temp.id_laundry = laundry.id_laundry";

$qs=mysql_query($q);

while($data=mysql_fetch_array($qs)){

$subtot= $data['harga'] * $data['qty']; $total = $total + $subtot;

<tr>

<td><?php echo $data['nm_laundry']; ?></td>

<td style="text-align: center;"><a href="p_transaksi.php?id=<?php echo $data['id_laundry']; ?>&del='del'"><i class="glyphicon glyphicon- remove"></i></a></td>

</tr>

if(isset($_GET['temp'])){ $sid = session_id();

$sql = mysql_query("SELECT id_laundry FROM temp WHERE id_laundry='$_GET[id]' AND id_session='$sid'");

$ketemu=mysql_num_rows($sql); if ($ketemu==0){

mysql_query("INSERT INTO temp (id_laundry, qty, id_session)

VALUES ('$_GET[id]', 1, '$sid')"); } else {

mysql_query("UPDATE temp SET qty = qty + 1 WHERE id_session = '$sid' AND id_laundry='$_GET[id]'"); }

header('Location:itransaksi.php'); }elseif(isset($_GET['del'])){

62

$sql berfungsi untuk mengecek isi pada tabel temp berdasarkan id dan id_session yang didapat dari proses sebelumnya, jika pada tabel temp tidak ada data yang ingin dimasukkan maka akan menjalankan proses input data dan jika data sudah tersedia maka akan menjalankan

proses update data. Isset($_GET[‘del’]) berfungsi untuk menjalankan

proses delete, jika kondisi qty = 1 maka akan menjalankan proses

delete berdasarkan $_GET[‘id’], dan jika qty >= 1 maka akan

menjalankan proses update qty – 1 berdasarkan $_GET[‘id’]. Isset($_POST [‘simpan’]) && isset ($_POST[‘bayar’]) berfungsi

untuk mengupdate pembayaran di tabel pembayaran. $sid = session_id();

$sq="select qty from temp where id_laundry ='$_GET[id]'"; $ql=mysql_fetch_array(mysql_query($sq));

if($ql[qty] == 1){

mysql_query("delete from temp where id_session='$sid' AND

id_laundry='$_GET[id]'"); }else{

mysql_query("UPDATE temp SET qty = qty – 1 WHERE id_session ='$sid' AND id_laundry='$_GET[id]'"); }

header('Location:itransaksi.php'); }

if(isset($_POST['simpan']) && isset($_POST['bayar'])){ $nosis=$_GET['nosis'];

$query=mysql_fetch_array(mysql_query("SELECT * FROM pembayaran,pel_siswa WHERE pembayaran.nosis = pel_siswa.nosis AND pembayaran.nosis='$nosis'")); $bayar=$_POST['bayar'] + $query['bayar'];

if($_POST['bayar']!=""){

mysql_query("UPDATE pembayaran set bayar='$bayar' where

nosis='$nosis'");

header('location:pembayaran.php'); }else{

63 Source Code :

Script if($sqli!=0 && $nosis!="")

dan function isi_keranjang()

berfungsi untuk membuat fungsi keranjang, jika iji keranjang tidak

kosong maka akan di return ke keranjang.

if($lihat==0){mysql_query("INSERT INTO pembayaran (nosis,total) VALUES ('$nosis','$total')"); }else{ mysql_query("UPDATE

$sqli = mysql_fetch_array(mysql_query("SELECT * FROM temp WHERE id_session='$sid'"));

if($sqli!=0 && $nosis!=""){

// fungsi untuk mendapatkan isi keranjang belanja function isi_keranjang(){

$isikeranjang = array(); $sid = session_id();

$sql = mysql_query("SELECT * FROM temp WHERE id_session='$sid'"); while ($r=mysql_fetch_array($sql)) {

$isikeranjang[] = $r; $sid = session_id();

$sql = mysql_query("SELECT * FROM temp WHERE id_session='$sid'"); while ($r=mysql_fetch_array($sql)) {

$isikeranjang[] = $r; }return $isikeranjang; }

$lihat=mysql_fetch_array(mysql_query("select * from pembayaran where nosis='$nosis'"));

$tot=$lihat['total']+$total; if($lihat==0){

mysql_query("INSERT INTO pembayaran(nosis,total) VALUES ('$nosis','$total')");

}else{

mysql_query("UPDATE pembayaran SET total='$tot' where nosis='$nosis'"); }

mysql_query("INSERT INTO transaksi(no_nota,nosis,tanggal,total,id_user) VALUES ('$nota','$nosis','$tgl_skrg','$total','$idu')");

for ($i = 0; $i < $jml; $i++){

mysql_query("INSERT INTO d_transaksi(id_transaksi, id_laundry, qty) VALUES('$id_orders',{$isikeranjang[$i]['id_laundry']}, {$isikeranjang[$i]['qty']})");

}

for ($i = 0; $i < $jml; $i++) {

mysql_query("DELETE FROM temp WHERE id_laundry = { $isikeranjang[$i]['id_laundry']}");

}

echo "<script> alert ('Data Berhasil Disimpan');

document.location.href='itransaksi.php'</script>";

}else{

echo "<script> alert ('Silahkan Isi Data Dengan Lengkap');

document.location.href='itransaksi.php'</script>";

64

pembayaran SET total='$tot' where nosis='$nosis'");} jika pada tabel pembayaran tidak ada pembayaran maka dilakukan insert data berdasarkan nosis dan jika sudah ada maka akan dilakukan update data berdasarkan nosis.

mysql_query("INSERT INTO transaksi (no_nota, nosis, tanggal, total, id_user) VALUES ('$nota','$nosis','$tgl_skrg','$total','$idu')"); berfungsi untuk menyimpan data ke tabel transaksi.

for ($i = 0; $i < $jml; $i++){ mysql_query("INSERT INTO d_transaksi (id_transaksi, id_laundry, qty) VALUES ('$id_orders', { $isikeranjang[$i] ['id_laundry'] } , { $isikeranjang[$i] ['qty'] } )") ; } berfungsi untuk menyimpan data ke tabel d_transaksi.

for ($i = 0; $i < $jml; $i++) { mysql_query ("DELETE FROM temp WHERE id_laundry = { $isikeranjang[$i] ['id_laundry'] }"); } berfungsi untuk menghapus data di tabel temp apabila proses simpan data sudah dilakukan.

12.Pembayaran

Pada rancangan gambar 3.18 menghasilkan interface seperti pada gambar dibawah ini. Pada halaman pembayaran terdapat form pencarian data pembayaran berdasarkan nosis dan ada button untuk edit pembayaran.

65 Source Code :

Script ini berfungsi untuk menampilkan data pembayaran dengan menggunakan perulangan data. Untuk tabel tagihan menggunakan script pengurangan dari total – bayar. Untuk status lunas dan tidak lunas menggunakan script jika total – bayar = 0 maka akan muncul status lunas dan sebaliknya.

13.Edit Data Pembayaran

Pada rancangan gambar 3.19 menghasilkan interface seperti pada gambar dibawah ini. Pada halaman ini terdapat form untuk edit data pembayaran dan terdapat button simpan dan batal.

Gambar 4.13 Halaman edit data pembayaran $result = mysql_query("SELECT b.nosis,p.nama,p.kelas,b.total,b.bayar from

pembayaran as b inner join pel_siswa as p on p.nosis=b.nosis") or die("GAGAL");

while(($count<$rpp) && ($i<$tcount)) { mysql_data_seek($result,$i); $data = mysql_fetch_array($result); <tr> <td><?php echo rupiah($data['total']-$data['bayar']); ?></td> <td style="text-align: center;"> <?php if($data['total']-$data['bayar']==0){ echo "LUNAS"; }else{ echo"BELUM LUNAS"; }?> </td>

<td style="text-align: center;"><a href="epembayaran.php?nosis= <?php echo $data['nosis']; ?>"><i class="fa fa-fw fa- money"></i></a></td></tr>

66 Source Code :

Script ini berfungsi untuk menampilkan value pada form edit data pembayaran yang didapat dari action get nosis dari proses sebelumnya.

14.Keuangan

Pada rancangan gambar 3.20 menghasilkan interface laporan keuangan berdasarkan kelas dan keseluruhan seperti pada gambar dibawah ini.

Gambar 4.14 Halaman laporan keuangan Source Code :

Script ini berfungsi untuk menampilkan data keuangan berdasarkan kelas pada bulan dan tahun sekarang.

Source Code :

Script ini berfungsi untuk menampilkan data keuangan keseluruhan $query=mysql_fetch_array(mysql_query("SELECT * FROM

pembayaran,pel_siswa WHERE pembayaran.nosis=pel_siswa.nosis AND pembayaran.nosis='$nosis'"));

$kelas=mysql_query("SELECT transaksi.tanggal,transaksi.nosis,

transaksi.id_transaksi,pel_siswa.nosis,pel_siswa.kelas,SUM(transaksi.total) as jml from transaksi,pel_siswa WHERE transaksi.nosis=pel_siswa.nosis AND YEAR (transaksi.tanggal)='".date('Y')."' AND

month(transaksi.tanggal)='".date('m')."' GROUP BY pel_siswa.kelas");

$t1=mysql_query("SELECT monthname(tanggal) as tgl, SUM(total) as jml from transaksi WHERE YEAR(tanggal)='".date('Y')."' GROUP BY

67

Dokumen terkait