bab iii pembahasan - repository.bsi.ac.id file27 bab iii pembahasan 3.1. tinjauan perusahaan penulis...
TRANSCRIPT
27
BAB III
PEMBAHASAN
3.1. Tinjauan Perusahaan
Penulis melakukan peninjauan pada House Of Dura di Pontianak sebagai
dasar dalam melakukan analisa untuk mengumpulkan data-data yang berkaitan
dengan perusahaan. Dalam tinjauan perusahaan ini berisikan sejarah perusahaan,
struktur organisasi dan fungsi dari masing-masing bagian yang ada dalam
perusahaan tersebut.
3.1.1. Sejarah Perusahaan
Perjalanan DuraSkin diawali tahun 1994, ketika Ibu Mimi Liliana dan
Mr.Dennis Owen, memulai bisnis mereka di Amerika Serikat. Mereka mempunyai
impian sangat kuat untuk menciptakan suatu produk yang dapat mengatasi
permasalahan kulit wajah. Sehingga terbentuklah Duraskin Laboratories di San
Diego, USA yang didukung dengan tekhnologi mutakhir. Melalui Skin Health
Group Singapore, DuraSkin dipasarkan di beberapa Negara Asia lainnya seperti
Malaysia, Singapora, Thailand, Kamboja, Filipina, Dubai, Hongkong, China dan
Taiwan.
Duraskin di Indonesia dipasarkan mulai tanggal 3 Mei 1999, dan sekarang
ini berkantor di Jakarta. Duraskin juga telah menjalin kemitraan bisnisnya lewat
House of Dura yang telah tersebar hampir di seluruh Wilayah Indonesia seperti
Jakarta, Surabaya, Malang, Bali, Palembang, Jambi, Makassar, Manado, Pontianak,
dan lain-lain.
28
House Of Dura (Pontianak) adalah Pusat Perawatan Kulit dan Kecantikan,
yang berlokasi di jalan.Nusa Indah Baru Blok C No.1-2. House of Dura (Pontianak)
Resmi dibuka pada tanggal 22 November 2012. Sebagai cabang ke-10 dari
keseluruhan cabang yang telah tersebar di seluruh Indonesia.
House of Dura (Pontianak) merupakan tempat dengan konsep solusi
menyeluruh dalam perawatan kulit wajah dan perawatan tubuh. Di House of Dura,
menyesuaikan perawatan dengan masalah kulit, agar kulit bukan hanya terlihat
sehat namun benar-benar sehat sempurna. Didukung dengan Produk-produk impor
yang efektif dan berkualitas dari DuraSkin (USA), yang menjadi aesthetics
technology terkini dan komitmen untuk kualitas.
House of Dura (Pontianak) menyediakan free professional consultation &
skin analysis dengan Dokter berpengalaman yang siap menjawab semua pertanyaan
dan memberikan atas solusi permasalahan seputar kulit wajah dan perawatan tubuh.
3.1.2. Stuktur Organisasi dan Fungsi
Setiap badan usaha memiliki struktur organisasi dengan tujuan dan
kebutuhan badan usaha. Dari struktur organisasi akan terlihat tugas dan fungsi dari
masing–masing bagian dalam suatu badan usaha. Suatu struktur organisasi sangat
menentukan bagaimana efisiensinya instansi beroperasi untuk mencapai tujuan dan
sasaran. Berikut ini merupakan struktur organisasi pada House Of Dura di
Pontianak.
29
Sumber: House Of Dura di Pontianak (2018)
Gambar III.1. Struktur Organisasi House Of Dura Di Pontianak
Dari bagian tersebut, terlihat suatu pembagian kerja yang sangat jelas dalam
perusahaan. Untuk kegiatan manajemen dan operasional perusahaan sehari-hari
menjadi tanggung jawab dari manager.
1. Branch Manager
Untuk memastikan bahwa pembayaran gaji kepada karyawan dengan benar,
Branch Manager memberikan liburan atau cuti tepat waktu kepada karyawan.
Memastikan ketersediaan serta optimalisasi seluruh fungsi sumber daya
(anggaran, sarana pendukung, alat produksi, SDM) di area kerja.
2. Admin
Membuat dan menghitung rekap absen secara menyeluruh.
3. Karyawan
Yang bertugas melakukan perawatan pada pasien.
Branch Manager
Admin
Karyawan
30
3.2. Analisis Kebutuhan
Analisa kebutuhan merupakan tahapan interaksi intensif yang menguraikan
analisis sistem dengan penggunanya, dimana dalam tahapan ini menjelaskan
tentang fungsi-fungsi yang didapat oleh pengguna dan spesifikasi kebutuhan untuk
sistem.
A. Kebutuhan Pengguna
Kebutuhan pengguna sistem berisi fungsi apa saja yang disediakan oleh
sistem. Kebutuhan pengguna juga berisi informasi-informasi apa saja yang harus
ada dan dihasilkan oleh sistem. Berikut ini adalah kebutuhan pengguna yang
disajikan yang terbagi berdasarkan level akses yang terdiri dari:
A1 Skenario Kebutuhan Bagian Admin
a) Mengelola pembelian
b) Mengelola penjualan
c) Mengelola treatment
d) Mengelola biaya
e) Mengelola buku besar
f) Mengelola master produk
g) Mengelola master treatment
h) Mengelola master perawat
i) Mengelola master consultant
A2 Skenario Kebutuhan Bagian Manajer
a) Mengelola master admin
b) Mengakses laporan stok
c) Mengakses laporan laba rugi
31
d) Mengakses laporan neraca saldo
B. Kebutuhan Sistem
1) Pengguna harus melakukan login terlebih dahulu untuk dapat mengakses
aplikasi ini dengan memasukkan username, password dan level agar
privasi masing-masing pengguna tetap terjaga keamanannya.
2) Pengguna harus melakukan logout setelah selesai menggunakan aplikasi.
3) Sistem dapat menampilkan rincian treatment dan membuat laporan neraca
saldo serta laporan laba rugi.
4) Laporan dapat diakses rentang waktu pencarian atau secara keseluruhan.
3.2.1. Use Case Diagram
Kebutuhan pengguna yang telah diuraikan akan dimodelkan menjadi use
case diagram. Adapun hasil pemodelan kebutuhan pengguna menjadi use case
diagram untuk aplikasi laporan keuangan pada CV. House of Dura dapat dilihat
pada gambar berikut ini.
32
Sumber: Hasil Penelitian (2018)
Gambar III.2. Rancangan Use Case Diagram
Tabel III.1.
Deskripsi Use Case Aplikasi Laporan Keuangan
Use Case Narative Aplikasi Laporan Keuangan
Tujuan Admin dan Manajer dapat mengolah data
yang ada di dalam aplikasi laporan keuangan
Deskripsi Sistem ini memungkinkan Admin dapat
mengolah data pembelian, penjualan,
treatment, biaya, buku besar, master produk,
master treatment, master perawat dan master
consultant. Manajer dapat mengolah data
master admin, laporan stok, laporan laba rugi
dan laporan neraca saldo
Skenario Utama
Aktor Admin dan Manajer
33
Kondisi Awal Receptionist membuka halaman login,
kemudian mengisi username dan password
Aksi Aktor Reaksi Sistem
1. Admin memilih menu
pembelian
2. Admin memilih menu
penjualan
3. Admin memilih menu
treatment
4. Admin memilih menu biaya
5. Admin memilih menu buku
besar
6. Admin memilih menu master
produk
7. Admin memilih menu master
treatment
8. Admin memilih menu master
perawat
9. Admin memilih menu master
consultant
10. Manajer memilih menu
master admin
11. Manajer memilih menu
laporan stok
12. Manajer memilih menu
laporan laba rugi
13. Manajer memilih menu
laporan neraca saldo
Sistem akan menampilkan informasi
pembelian
Sistem akan menampilkan informasi
penjualan
Sistem akan menampilkan informasi
treatment
Sistem akan menampilkan informasi biaya
Sistem akan menampilkan informasi buku
besar
Sistem akan menampilkan informasi master
produk
Sistem akan menampilkan informasi master
treatment
Sistem akan menampilkan informasi master
perawat
Sistem akan menampilkan informasi master
consultant
Sistem akan menampilkan informasi master
admin
Sistem akan menampilkan informasi laporan
stok
Sistem akan menampilkan informasi laporan
laba rugi
Sistem akan menampilkan informasi laporan
neraca saldo
Kondisi Akhir Jika sesuai perintah maka sistem akan
menampilkan apa yang dinginkan
Sumber: Hasil Penelitian (2018)
3.2.2. Activity Diagram
Setiap use case pada use case diagram akan dijelaskan kegiatannya menjadi
activity diagram. Berikut ini adalah hasil pemodelan menjadi activity diagram
untuk aplikasi laporan keuangan pada CV. House of Dura.
34
1. Activity Diagram Login
Sumber: Hasil Penelitian (2018)
Gambar III.3. Activity Diagram Login
35
2. Activity Diagram Pembelian
Sumber: Hasil Penelitian (2018)
Gambar III.4. Activity Diagram Pembelian
36
3. Activity Diagram Penjualan
Sumber: Hasil Penelitian (2018)
Gambar III.5. Activity Diagram Penjualan
37
4. Activity Diagram Treatment
Sumber: Hasil Penelitian (2018)
Gambar III.6. Activity Diagram Treatment
38
5. Activity Diagram Biaya
Sumber: Hasil Penelitian (2018)
Gambar III.7. Activity Diagram Biaya
39
6. Activity Diagram Buku Besar
Sumber: Hasil Penelitian (2018)
Gambar III.8. Activity Diagram Buku Besar
40
7. Activity Diagram Master Produk
Sumber: Hasil Penelitian (2018)
Gambar III.9. Activity Diagram Master Produk
41
8. Activity Diagram Master Treatment
Sumber: Hasil Penelitian (2018)
Gambar III.10. Activity Diagram Master Treatment
42
9. Activity Diagram Master Perawat
Sumber: Hasil Penelitian (2018)
Gambar III.11. Activity Diagram Master Perawat
43
10. Activity Diagram Master Consultant
Sumber: Hasil Penelitian (2018)
Gambar III.12. Activity Diagram Master Consultant
44
11. Activity Diagram Master Admin
Sumber: Hasil Penelitian (2018)
Gambar III.13. Activity Diagram Master Admin
45
12. Activity Diagram Laporan Stok
Sumber: Hasil Penelitian (2018)
Gambar III.14. Activity Diagram Laporan Stok
46
13. Activity Diagram Laporan Laba Rugi
Sumber: Hasil Penelitian (2018)
Gambar III.15. Activity Diagram Laporan Laba Rugi
47
14. Activity Diagram Laporan Neraca Saldo
Sumber: Hasil Penelitian (2018)
Gambar III.16. Activity Diagram Laporan Neraca Saldo
48
3.2.3. Sequence Diagram
Setiap use case pada use case diagram akan dijelaskan urutan atau
tahapannya menjadi sequence diagram. Berikut ini adalah hasil pemodelan menjadi
sequence diagram untuk aplikasi laporan keuangan pada CV. House of Dura.
1. Sequence Diagram Login
Sumber: Hasil Penelitian (2018)
Gambar III.17. Sequence Diagram Login
2. Sequence Diagram Pembelian
Sumber: Hasil Penelitian (2018)
Gambar III.18. Sequence Diagram Pembelian
3. Sequence Diagram Penjualan
49
Sumber: Hasil Penelitian (2018)
Gambar III.19. Sequence Diagram Penjualan
4. Sequence Diagram Treatment
Sumber: Hasil Penelitian (2018)
Gambar III.20. Sequence Diagram Treatment
5. Sequence Diagram Biaya
50
Sumber: Hasil Penelitian (2018)
Gambar III.21. Sequence Diagram Biaya
6. Sequence Diagram Buku Besar
Sumber: Hasil Penelitian (2018)
Gambar III.22. Sequence Diagram Buku Besar
7. Sequence Diagram Master Produk
51
Sumber: Hasil Penelitian (2018)
Gambar III.23. Sequence Diagram Master Produk
8. Sequence Diagram Master Treatment
Sumber: Hasil Penelitian (2018)
Gambar III.24. Sequence Diagram Master Treatment
9. Sequence Diagram Master Perawat
52
Sumber: Hasil Penelitian (2018)
Gambar III.25. Sequence Diagram Master Perawat
10. Sequence Diagram Master Consultant
Sumber: Hasil Penelitian (2018)
Gambar III.26. Sequence Diagram Master Consultant
11. Sequence Diagram Master Admin
53
Sumber: Hasil Penelitian (2018)
Gambar III.27. Sequence Diagram Master Admin
12. Sequence Diagram Laporan Stok
Sumber: Hasil Penelitian (2018)
Gambar III.28. Sequence Diagram Laporan Stok
13. Sequence Diagram Laporan Laba Rugi
54
Sumber: Hasil Penelitian (2018)
Gambar III.29. Sequence Diagram Laporan Laba Rugi
14. Sequence Diagram Laporan Neraca Saldo
Sumber: Hasil Penelitian (2018)
Gambar III.30. Sequence Diagram Laporan Neraca Saldo
3.3. Rancangan Dokumen
Rancangan dokumen merupakan penjelasan dokumen-dokumen yang
mengalir atau dikeluarkan oleh aplikasi laporan keuangan pada CV. House of Dura.
Rancangan dokumen sistem usulan ini terdiri dari spesifikasi bentuk dokumen
masukan dan spesifikasi bentuk dokumen keluaran.
3.3.1. Rancangan Dokumen Masukan
55
1. Nama Dokumen : Data Pembelian
Fungsi : Sebagai rincian data pembelian produk
Sumber : Admin
Tujuan : Basis Data
Frekuensi : Setiap pembelian
Jumlah : 1 lembar per 1 kegiatan pembelian
Bentuk : A-1
2. Nama Dokumen : Data Penjualan
Fungsi : Sebagai rincian data penjualan produk
Sumber : Admin
Tujuan : Basis Data
Frekuensi : Setiap penjualan
Jumlah : 1 lembar per 1 kegiatan penjualan
Bentuk : A-2
3. Nama Dokumen : Data Treatment
Fungsi : Sebagai rincian data pelayanan kesehatan
Sumber : Admin
Tujuan : Basis Data
Frekuensi : Setiap pelayanan konsumen
Jumlah : 1 lembar per 1 pelayanan
Bentuk : A-3
3.3.2. Rancangan Dokumen Keluaran
56
1. Nama Dokumen : Nota Penjualan
Fungsi : Sebagai rincian pelunasan transaksi penjualan
Sumber : Admin
Tujuan : Konsumen
Frekuensi : Setiap pelunasan transaksi penjualan
Jumlah : 1 lembar per 1 transaksi penjualan
Bentuk : B-1
2. Nama Dokumen : Nota Treatment
Fungsi : Sebagai rincian pelunasan transaksi pelayanan
kesehatan
Sumber : Admin
Tujuan : Konsumen
Frekuensi : Setiap pelunasan transaksi pelayanan kesehatan
Jumlah : 1 lembar per 1 transaksi pelayanan
Bentuk : B-2
3. Nama Dokumen : Buku Besar
Fungsi : Sebagai rincian transaksi per akun
Sumber : Admin
Tujuan : Manajer
Frekuensi : Setiap akhir bulan
Jumlah : 1 lembar per 1 akun buku besar
Bentuk : B-3
4. Nama Dokumen : Laporan Stok
57
Fungsi : Sebagai rincian persediaan produk
Sumber : Basis Data
Tujuan : Manajer
Frekuensi : Setiap akhir bulan
Jumlah : Sesuai kebutuhan
Bentuk : B-4
5. Nama Dokumen : Laporan Laba Rugi
Fungsi : Sebagai rincian laba rugi perusahaan
Sumber : Basis Data
Tujuan : Manajer
Frekuensi : Setiap akhir bulan
Jumlah : Sesuai kebutuhan
Bentuk : B-5
6. Nama Dokumen : Laporan Neraca Saldo
Fungsi : Sebagai rincian neraca saldo perusahaan
Sumber : Basis Data
Tujuan : Manajer
Frekuensi : Setiap akhir bulan
Jumlah : Sesuai kebutuhan
Bentuk : B-6
3.4. Desain
58
Desain merupakan tahapan penting dalam pembuatan aplikasi laporan
keuangan pada CV. House of Dura. Desain ini terdiri dari entity relationship
diagram (ERD), logical record structure (LRS), spesifikasi file dan user interface.
3.4.1. Entity Relationship Diagram (ERD)
Hasil rancangan entity relationship diagram (ERD) untuk basis data dari
aplikasi laporan keuangan pada CV. House of Dura dapat dilihat pada halaman
berikut ini.
Sumber: Hasil Penelitian (2018)
Gambar III.31. Rancangan Entity Relationship Diagram (ERD)
3.4.2. Logical Record Structure (LRS)
59
Logical record structure (LRS) merupakan bentuk lain dari perancangan
basis data dan merupakan hasil kardinalitas dari entity relationship diagram (ERD).
Berikut ini adalah hasil rancangan logical record structure (LRS) untuk basis data
dari aplikasi laporan keuangan pada CV. House of Dura.
Sumber: Hasil Penelitian (2018)
Gambar III.32. Rancangan Logical Record Structure (LRS)
3.4.3. Spesifikasi File
60
Setiap entitas yang berada pada rancangan basis data yang telah
digambarkan ke dalam bentuk ERD dan LRS akan diuraikan lebih rinci dengan
spesifikasi file. Berikut ini adalah spesifikasi file setiap entitas yang berada pada
rancangan basis data.
1. Spesifikasi file user
Nama File : user
Akronim : user.sql
Fungsi : untuk menyimpan data pengguna
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 101
Kunci Field : id_user
Software : MySQL
Tabel III.2.
Spesifikasi File User
No Nama Field Tipe Panjang Ket
1 id_user Int 10 Primary Key
2 nama_user Varchar 30
3 username Varchar 30
4 password Varchar 30
5 level Int 1
Sumber: Hasil Penelitian (2018)
2. Spesifikasi file akun
Nama File : akun
Akronim : akun.sql
Fungsi : untuk menyimpan data akun (ayat jurnal)
61
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 33
Kunci Field : kode_akun
Software : MySQL
Tabel III.3.
Spesifikasi File Akun
No Nama Field Tipe Panjang Ket
1 kode_akun Int 3 Primary Key
2 nama_akun Varchar 30
Sumber: Hasil Penelitian (2018)
3. Spesifikasi akun detil
Nama File : akun detil
Akronim : akun_detil.sql
Fungsi : untuk menyimpan data detail dari akun (ayat jurnal)
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 29
Kunci Field : -
Software : MySQL
Tabel III.4.
62
Spesifikasi File Akun Detil
No Nama Field Tipe Panjang Ket
1 kode_akun int 3 Primary Key
2 Bulan char 2
3 Tahun char 4
4 Debet int 10
5 Kredit int 10
Sumber: Hasil Penelitian (2018)
4. Spesifikasi file penjualan
Nama File : penjualan
Akronim : penjualan.sql
Fungsi : untuk menyimpan data penjualan
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 39
Kunci Field : nota_penjualan
Software : MySQL
Tabel III.5.
Spesifikasi File Penjualan
No Nama Field Tipe Panjang Ket
1 nota_penjualan char 13 Primary Key
2 tgl_penjualan date 10
3 kode_akun_plus int 3
4 kode_akun_minus int 3
5 id_user int 10 Foreign Key
Sumber: Hasil Penelitian (2018)
5. Spesifikasi file penjualan detil
Nama File : penjualan detil
Akronim : penjualan_detil.sql
63
Fungsi : untuk menyimpan data detail penjualan
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 53
Kunci Field : id_penjualan_detil
Software : MySQL
Tabel III.6.
Spesifikasi File Penjualan Detil
No Nama Field Tipe Panjang Ket
1 id_penjualan_detil int 10 Primary Key
2 nota_penjualan char 13 Foreign Key
3 id_produk int 10 Foreign Key
4 Jumlah int 10
5 total_harga int 10
Sumber: Hasil Penelitian (2018)
6. Spesifikasi file produk
Nama File : produk
Akronim : produk.sql
Fungsi : untuk menyimpan data produk
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 70
Kunci Field : id_produk
Software : MySQL
64
Tabel III.7.
Spesifikasi File Produk
No Nama Field Tipe Panjang Ket
1 id_produk int 10 Primary Key
2 nama_produk varchar 30
3 satuan_produk varchar 20
4 harga_produk int 10
5 jumlah_produk int 10
Sumber: Hasil Penelitian (2018)
7. Spesifikasi file pembelian
Nama File : pembelian
Akronim : pembelian.sql
Fungsi : untuk menyimpan data pembelian
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 39
Kunci Field : nota_pembelian
Software : MySQL
Tabel III.8.
Spesifikasi File Pembelian
No Nama Field Tipe Panjang Ket
1 nota_pembelian char 13 Primary Key
2 tgl_pembelian date 10
3 kode_akun_plus int 3
4 kode_akun_minus int 3
5 id_user int 10
Sumber: Hasil Penelitian (2018)
8. Spesifikasi file pembelian detil
Nama File : pembelian detil
Akronim : pembelian_detil.sql
65
Fungsi : untuk menyimpan data detail pembelian
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 53
Kunci Field : id_pembelian_detil
Software : MySQL
Tabel III.9.
Spesifikasi File Pembelian Detil
No Nama Field Tipe Panjang Ket
1 id_pembelian_detil int 10 Primary Key
2 nota_pembelian char 13 Foreign Key
3 id_produk int 10 Foreign Key
4 Jumlah int 10
5 total_harga int 10
Sumber: Hasil Penelitian (2018)
9. Spesifikasi file pelayanan
Nama File : pelayanan
Akronim : pelayanan.sql
Fungsi : untuk menyimpan data pelayanan (treatment)
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 281
Kunci Field : id_pelayanan
Software : MySQL
66
Tabel III.10.
Spesifikasi File Pelayanan
No Nama Field Tipe Panjang Ket
1 id_pelayanan Int 10 Primary Key
2 id_pasien Char 4 Foreign Key
3 tgl_pelayanan Date 10
4 diagnose_pelayanan Text 50
5 id_paket Int 10 Foreign Key
6 rencana_pelayanan varchar 50
7 program_pelayanan varchar 50
8 id_consultant Int 10 Foreign Key
9 id_perawat Int 10 Foreign Key
10 Catatan Text 50
11 harga_pelayanan Int 10
12 Statusbayar Int 1
13 id_user Int 10 Foreign Key
14 kode_akun_plus Int 3
15 kode_akun_minus Int 3
Sumber: Hasil Penelitian (2018)
10. Spesifikasi pasien
Nama File : pasien
Akronim : pasien.sql
Fungsi : untuk menyimpan data pasien
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 189
Kunci Field : id_pasien
Software : MySQL
Tabel III.11.
Spesifikasi File Pasien
No Nama Field Tipe Panjang Ket
1 id_pasien Char 4 Primary Key
2 nama_pasien varchar 30
67
3 jeniskelamin_pasien varchar 10
4 tgllahir_pasien Date 10
5 status_pasien varchar 20
6 telp_pasien varchar 15
7 alamat_pasien Text 50
8 keterangan_pasien Text 50
Sumber: Hasil Penelitian (2018)
11. Spesifikasi file paket
Nama File : paket
Akronim : paket.sql
Fungsi : untuk menyimpan data paket pelayanan
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 90
Kunci Field : id_paket
Software : MySQL
Tabel III.12.
Spesifikasi File Paket
No Nama Field Tipe Panjang Ket
1 id_paket Int 10 Primary Key
2 nama_paket varchar 30
3 harga_paket Int 10
4 keterangan_paket Text 50
Sumber: Hasil Penelitian (2018)
12. Spesifikasi file consultant
Nama File : consultant
Akronim : consultant.sql
Fungsi : untuk menyimpan data consultant
68
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 116
Kunci Field : id_consultant
Software : MySQL
Tabel III.13.
Spesifikasi File Akun
No Nama Field Tipe Panjang Ket
1 id_consultant Int 10 Primary Key
2 nama_consultant varchar 30
3 telp_consultant varchar 15
4 alamat_consultant Text 50
5 status_consultant varchar 11 Default (Aktif)
Sumber: Hasil Penelitian (2018)
13. Spesifikasi file perawat
Nama File : perawat
Akronim : perawat.sql
Fungsi : untuk menyimpan data perawat
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 116
Kunci Field : id_perawat
Software : MySQL
69
Tabel III.14.
Spesifikasi File Perawat
No Nama Field Tipe Panjang Ket
1 id_perawat Int 10 Primary Key
2 nama_perawat varchar 30
3 telp_perawat varchar 15
4 alamat_perawat text 50
5 status_perawat varchar 11 Default (Aktif)
Sumber: Hasil Penelitian (2018)
14. Spesifikasi file biaya
Nama File : biaya
Akronim : biaya.sql
Fungsi : untuk menyimpan data biaya
Tipe File : FileMaster
Organisasi File : Indexed Sequential
Akses File : Random
Media : Harddisk
Panjang record : 126
Kunci Field : id_biaya
Software : MySQL
Tabel III.15.
Spesifikasi File Biaya
No Nama Field Tipe Panjang Ket
1 id_biaya int 10 Primary Key
2 tgl_biaya date 10
3 nama_biaya varchar 30
4 harga_biaya int 10
5 keterangan_biaya text 50
6 akun_plus int 3
7 akun_minus int 3
8 id_user int 10 Foreign Key
Sumber: Hasil Penelitian (2018)
70
3.4.4. User Interface
User interface merupakan kegiatan dalam merealisasikan rancangan
perangkat lunak. Hasil dari perancangan user interface untuk aplikasi laporan
keuangan pada CV. House of Dura ini akan dibagi menjadi dua (2) tahapan yaitu
implementasi untuk Admin dan Manajer.
A. Implementasi Untuk Admin
1. Tampilan Login
Sumber: Hasil Penelitian (2018)
Gambar III.33. Tampilan Login Admin
71
2. Tampilan Beranda
Sumber: Hasil Penelitian (2018)
Gambar III.34. Tampilan Beranda Admin
3. Tampilan Transaksi
Transaksi ini merupakan sub menu yang menyediakan pengolahan data
pembelian, data penjualan dan data treatment.
a. Tampilan Pembelian
Sumber: Hasil Penelitian (2018)
Gambar III.35. Tampilan Menu Pembelian
72
Sumber: Hasil Penelitian (2018)
Gambar III.36. Tampilan Menu Tambah Pembelian
b. Tampilan Penjualan
Sumber: Hasil Penelitian (2018)
Gambar III.37. Tampilan Menu Penjualan
73
Sumber: Hasil Penelitian (2018)
Gambar III.38. Tampilan Menu Tambah Penjualan
c. Tampilan Treatment
Sumber: Hasil Penelitian (2018)
Gambar III.39. Tampilan Menu Treatment
74
Sumber: Hasil Penelitian (2018)
Gambar III.40. Tampilan Menu Tambah Pasien
Sumber: Hasil Penelitian (2018)
Gambar III.41. Tampilan Menu Tambah Treatment
75
4. Tampilan Biaya
Sumber: Hasil Penelitian (2018)
Gambar III.42. Tampilan Menu Biaya
Sumber: Hasil Penelitian (2018)
Gambar III.43. Tampilan Menu Tambah Biaya
76
5. Buku Besar
Sumber: Hasil Penelitian (2018)
Gambar III.44. Tampilan Buku Besar
6. Data Master
Data master menyediakan pengolahan menu seperti data kode akun, data
produk, data treatment, data perawat dan data consultant.
a. Tampilan Master Akun
Sumber: Hasil Penelitian (2018)
Gambar III.45. Tampilan Menu Akun (Ayat Jurnal)
77
Sumber: Hasil Penelitian (2018)
Gambar III.46. Tampilan Menu Tambah Akun (Ayat Jurnal)
b. Master Produk
Sumber: Hasil Penelitian (2018)
Gambar III.47. Tampilan Menu Produk
Sumber: Hasil Penelitian (2018)
Gambar III.48. Tampilan Menu Tambah Produk
78
c. Tampilan Master Treatment
Sumber: Hasil Penelitian (2018)
Gambar III.49. Tampilan Menu Treatment
Sumber: Hasil Penelitian (2018)
Gambar III.50. Tampilan Menu Tambah Treatment
d. Tampilan Master Perawat
Sumber: Hasil Penelitian (2018)
Gambar III.51. Tampilan Menu Perawat
79
Sumber: Hasil Penelitian (2018)
Gambar III.52. Tampilan Menu Tambah Perawat
e. Tampilan Master Consultant
Sumber: Hasil Penelitian (2018)
Gambar III.53. Tampilan Menu Consultant
Sumber: Hasil Penelitian (2018)
Gambar III.54. Tampilan Menu Tambah Consultant
80
f. Tampilan Master Pasien
Sumber: Hasil Penelitian (2018)
Gambar III.55. Tampilan Menu Pasien
Sumber: Hasil Penelitian (2018)
Gambar III.56. Tampilan Menu Tambah Pasien
81
B. Implementasi Untuk Manager
1. Tampilan Login
Sumber: Hasil Penelitian (2018)
Gambar III.57. Tampilan Login Manager
2. Tampilan Beranda
Sumber: Hasil Penelitian (2018)
Gambar III.58. Tampilan Beranda Manager
82
3. Data Master
Data master untuk Manajer menyediakan pengolahan menu hanya data admin.
a. Tampilan Master Admin
Sumber: Hasil Penelitian (2018)
Gambar III.59. Tampilan Menu Admin
Sumber: Hasil Penelitian (2018)
Gambar III.60. Tampilan Menu Tambah Admin
4. Data Laporan
Data laporan ini menyediakan pengolahan menu seperti laporan stok, laporan
neraca saldo dan laporan laba rugi.
83
a. Laporan Stok
Sumber: Hasil Penelitian (2018)
Gambar III.61. Tampilan Menu Laporan Stok
b. Laporan Neraca Saldo
Sumber: Hasil Penelitian (2018)
Gambar III.62. Tampilan Menu Laporan Neraca Saldo
84
c. Laporan Laba Rugi
Sumber: Hasil Penelitian (2018)
Gambar III.63. Tampilan Menu Laporan Laba Rugi
3.5. Struktur Navigasi
Rancangan Struktur navigasi menggambarkan alur dari aplikasi laporan
keuangan pada CV. House of Dura. Struktur navigasi ini terdiri dari dua (2) bentuk
yaitu struktur navigasi untuk Admin dan struktur navigasi untuk Manajer.
1. Struktur navigasi untuk Admin
Sumber: Hasil Penelitian (2018)
Gambar III.64. Struktur Navigasi Untuk Admin
85
2. Struktur navigasi untuk Manager
Sumber: Hasil Penelitian (2018)
Gambar III.65 Struktur Navigasi Untuk Manager
3.6. Implementasi
Implementasi merupakan perealisasian dari perancangan aplikasi laporan
keuangan pada CV. House of Dura. Implementasi ini menjelaskan tentang code
generation untuk transaksi bisnis program, pengujian menggunakan black box
testing, spesifikasi hardware dan software.
3.6.1. Code Generation
Halaman transaksi bisnis seperti pembelian, penjualan dan pelayanan akan
dijelaskan dengan cara code listing atau code generation. Berikut ini adalah hasil
code generation untuk halaman pembelian, penjualan dan pelayanan.
A. Code Generation Pembelian
<?php
ob_start();
session_start();
if($_SESSION['status_login'] == 0){
header("Location: logout.php");
}
86
include 'libraries/koneksi.php';
include 'header.php';
include 'menu.php';
$strPembelian = mysql_query("SELECT MAX(substr(nota_pembelian, 10, 4)) as
kode FROM pembelian ");
$strPembelian = mysql_fetch_array($strPembelian);
if (empty($strPembelian['kode'])) {
$kode_otomatis = "B-".date('ymd').'-0001';
}else{
$kode = intval($strPembelian['kode']);
$kode = $kode + 1;
if ($kode < 10) {
$kode_otomatis = "B-".date('ymd').'-000'.$kode;
}elseif ($kode < 100) {
$kode_otomatis = "B-".date('ymd').'-00'.$kode;
}elseif ($kode < 1000) {
$kode_otomatis = "B-".date('ymd').'-0'.$kode;
}elseif ($kode < 10000) {
$kode_otomatis = "B-".date('ymd').'-'.$kode;
}
}
?>
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
PEMBELIAN
</h1>
<ol class="breadcrumb">
<li><a href="beranda.php"><i class="fa fa-dashboard"></i>
Beranda</a></li>
<?php
if (!empty($_GET['aksi'])) {
if ($_GET['aksi']=='daftar_pembelian'){
echo "<li><a href='pembelian.php'>Pembelian</a></li>";
echo "<li class='active'>Daftar Pembelian</li>";
}
}else{
echo "<li><a href='pembelian.php'>Pembelian</a></li>";
echo "<li class='active'>Form Pembelian</li>";
}
?>
</ol>
</section>
87
<!-- Main content -->
<section class="content container-fluid">
<?php
if (!empty($_GET['aksi'])) {
if ($_GET['aksi'] == 'daftar_pembelian') { ?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-6 col-lg-6" style="padding-right:; ">
<a href="pembelian.php" class="btn btn-warning btn-block">
Form Pembelian
</a>
</div>
<div class="col-md-6 col-lg-6" style="padding-left:; ">
<a href="pembelian.php?aksi=daftar_pembelian" class="btn btn-default
btn-block">
Daftar Pembelian
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Daftar Pembelian</h3>
</div>
<div class="box-body">
<h5 style="color:red; font-weight: bold;">Pencarian Tanggal</h5>
<div class="row" style="width: 100%;">
<div class="col-md-9">
<form action="pembelian.php?aksi=daftar_pembelian"
method="POST" role="form" class="navbar-form">
<div class="input-group">
<div class="input-group-addon"><span class="glyphicon
glyphicon-calendar"></span></div>
<input type="text" id="tgl_awal" name="tgl_awal" class="form-
control" placeholder="Tgl Awal">
</div>
<div class="input-group">
<div class="input-group-addon"><span class="glyphicon
glyphicon-calendar"></span></div>
88
<input type="text" id="tgl_akhir" name="tgl_akhir" class="form-
control" placeholder="Tgl Akhir">
</div>
<button type="submit" class="btn btn-primary">
<span class="glyphicon glyphicon-search"></span>
</button>
<a href="pembelian.php?aksi=daftar_pembelian" class="btn btn-
success">
<span class="glyphicon glyphicon-refresh"></span>
</a>
</form>
<script type="text/javascript">
$('#tgl_awal').datepicker({
autoclose: true
});
$('#tgl_akhir').datepicker({
autoclose: true
});
</script>
</div>
<div class="col-md-3">
</div>
<div class="clearfix"></div>
</div>
<?php
if (!empty($_POST['tgl_awal']) AND !empty($_POST['tgl_akhir'])) {
function tanggal_indo($tanggal)
{
$bulan = array (1 => 'Januari',
'Februari',
'Maret',
'April',
'Mei',
'Juni',
'Juli',
'Agustus',
'September',
'Oktober',
'November',
'Desember'
);
89
$split = explode('-', $tanggal);
return $split[2] . ' ' . $bulan[ (int)$split[1] ] . ' ' . $split[0];
}
$tgl_awal = $_POST['tgl_awal'];
$tgl_akhir = $_POST['tgl_akhir'];
?>
<hr>
<i style="font-weight:bold;" class="">Periode : <?php echo
tanggal_indo(date('Y-m-d', strtotime($tgl_awal))); ?> - <?php echo
tanggal_indo(date('Y-m-d', strtotime($tgl_akhir))); ?></i>
<?php
}
?>
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr>
<th style="width: 5%;">No.</th>
<th>Tgl Pembelian</th>
<th>Nota Pembelian</th>
<th>Jumlah Items</th>
<th>Penanggung Jawab</th>
<th style="width: 10%; text-align: center;">Detil</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
if (!empty($_POST['tgl_awal']) AND !empty($_POST['tgl_akhir'])) {
$tgl_awal = date('Y-m-d', strtotime($_POST['tgl_awal']));
$tgl_akhir = date('Y-m-d', strtotime($_POST['tgl_akhir']));
$no =1;
$StrSqlPembelian = mysql_query("SELECT * FROM pembelian
JOIN user ON pembelian.id_user=user.id_user WHERE tgl_pembelian
BETWEEN '$tgl_awal' AND '$tgl_akhir' ORDER BY nota_pembelian ASC");
}else{
$no =1;
$StrSqlPembelian = mysql_query("SELECT * FROM pembelian
JOIN user ON pembelian.id_user=user.id_user ORDER BY nota_pembelian
ASC");
}
if (mysql_num_rows($StrSqlPembelian) > 0) {
while ($row = mysql_fetch_array($StrSqlPembelian)) { ?>
<tr>
<td><?php echo $no++; ?></td>
90
<td><?php echo date('d-m-Y', strtotime($row['tgl_pembelian']));
?></td>
<td><?php echo $row['nota_pembelian']; ?></td>
<td><?php
$item = 0;
$nota_pembelian = $row['nota_pembelian'];
$ambil_detil = mysql_query("SELECT * FROM pembelian_detil
WHERE nota_pembelian='$nota_pembelian' ");
while (mysql_fetch_array($ambil_detil) > 0) {
$item += 1;
}
echo $item." Item";
?></td>
<td><?php echo $row['nama_user']; ?></td>
<td style="text-align: center;">
<a href="pembelian.php?aksi=detil_pembelian&id=<?php echo
$row['nota_pembelian']; ?>">
<i class="glyphicon glyphicon-list-alt"></i>
</a>
</td>
</tr>
<?php
}
}else{ ?>
<tr>
<td colspan="100" style="text-align: center; font-weight:
bold;">Data Tidak Ada . . . </td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<?php
}elseif ($_GET['aksi'] == 'detil_pembelian') { ?>
<?php
if (!empty($_GET['id'])) {
$id = $_GET['id'];
91
$ambil_pembelian = mysql_query("SELECT * FROM pembelian WHERE
nota_pembelian='$id' ");
if ($ambil_pembelian > 0) {
$d = mysql_fetch_array($ambil_pembelian);
}
}else{
header("Location: pembelian.php");
}
?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-6 col-lg-6" style="padding-right:; ">
<a href="pembelian.php" class="btn btn-warning btn-block">
Form Pembelian
</a>
</div>
<div class="col-md-6 col-lg-6" style="padding-left:; ">
<a href="pembelian.php?aksi=daftar_pembelian" class="btn btn-default
btn-block">
Daftar Pembelian
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Detil Daftar Pembelian</h3>
</div>
<div class="box-body">
<table class="table">
<tbody>
<tr>
<td style="width: 30%;">Nota Pembelian</td>
<td>: <?php echo $d['nota_pembelian']; ?></td>
</tr>
<tr>
<td style="width: 30%;">Tgl Pembelian</td>
<td>: <?php echo date('d-m-Y', strtotime($d['tgl_pembelian']));
?></td>
</tr>
<tr>
<td style="width: 30%;">Kepada</td>
92
<td>: HOD Pontianak</td>
</tr>
</tbody>
</table>
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr class="warning">
<th width="5%;">No.</th>
<th>Nama Produk</th>
<th>Satuan Produk</th>
<th>Harga Produk</th>
<th>QTY</th>
<th>Total Harga</th>
<th width="5%;">Hapus</th>
</tr>
</thead>
<tbody>
<?php
$idp = $d['nota_pembelian'];
$no = 1;
$gt = 0;
$id_session = $_SESSION['id_user'];
$strSqlDetil = mysql_query("SELECT * FROM pembelian_detil
JOIN produk ON
pembelian_detil.id_produk=produk.id_produk
WHERE nota_pembelian='$idp' ");
if (mysql_num_rows($strSqlDetil)) {
while ($data = mysql_fetch_array($strSqlDetil)) { ?>
<tr>
<td style="text-align: center;"><?php echo $no++; ?></td>
<td><?php echo $data['nama_produk']; ?></td>
<td><?php echo $data['satuan_produk']; ?></td>
<td><?php echo "Rp. ".number_format($data['harga_produk'], 0 ,
"" , '.'); ?></td>
<td><?php echo $data['jumlah']; ?></td>
<td><?php
echo "Rp. ".number_format($data['total_harga'], 0 , "" , '.');
?></td>
<td style="text-align: center;">
<a href="model/proses_pembelian.php?aksi=hapus&id=<?php
echo $data['id_pembelian_detil']; ?>" id="hapus">
<i class="glyphicon glyphicon-trash"></i>
</a>
</td>
</tr>
93
<?php
$gt += $data['total_harga'];
}
}else{ ?>
<tr>
<td colspan="100" style="text-align: center; font-weight: bold;
">Entry Pembelian</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
<hr>
<div class="col-lg-7" style="padding:0px;"></div>
<div class="col-lg-5" style="padding:0px;">
<div class="panel panel-default">
<div class="panel-body">
<h3 class="pull-right" style="font-weight: bold; color: red; font-size:
20px;"><?php echo "Total Harga : Rp. ".number_format($gt, 0 , "" , '.');; ?></h3>
</div>
</div>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<?php
}else{
header("Location: pembelian.php");
}
}else{ ?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-6 col-lg-6" style="padding-right:; ">
<a href="pembelian.php" class="btn btn-warning btn-block">
Form Pembelian
</a>
94
</div>
<div class="col-md-6 col-lg-6" style="padding-left:; ">
<a href="pembelian.php?aksi=daftar_pembelian" class="btn btn-default
btn-block">
Daftar Pembelian
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Form Pembelian</h3>
</div>
<div class="box-body">
<div class='row'>
<?php
if (isset($_SESSION['notif'])) {
if($_SESSION['notif']!='') {
if (strpos($_SESSION['notif'], 'SUKSES') !== false) { ?>
<div class="col-lg-12">
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}else{
?>
<div class="col-lg-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}
}
unset($_SESSION['notif']);
}
?>
</div>
95
<form action="model/proses_pembelian.php?aksi=simpan"
method="POST" class="" role="form" id="form">
<input type="hidden" name="nota_pembelian" value="<?php echo
$kode_otomatis; ?>">
<input type="hidden" name="id_produk" id="id_produk">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label for="">Nama Produk</label>
<input type="text" name="nama_produk" class="form-control"
id="nama_produk" placeholder="Nama Produk">
<span style="color:red; font-size: 12px; font-weight: bold;">Cari
Produk Untuk Stok Produk</span>
</div>
</div>
<div class="clearfix"></div>
<div class="col-md-2">
<div class="form-group">
<label for="">Satuan</label>
<input type="text" class="form-control" id="satuan_produk"
placeholder="Satuan Produk" readonly="">
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="">Harga Produk</label>
<div class="input-group">
<div class="input-group-addon">Rp.</div>
<input type="text" class="form-control" name="harga_produk"
id="harga_produk" placeholder="0" readonly="">
</div>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label for="">QTY</label>
<input type="number" name="jumlah" class="form-control"
id="jumlah" placeholder="QTY">
</div>
</div>
<div class="col-md-3">
96
<div class="form-group">
<label for="">Total Harga</label>
<div class="input-group">
<div class="input-group-addon">Rp.</div>
<input type="text" class="form-control" name="total_harga"
id="total_harga" placeholder="0" readonly="" style="">
</div>
</div>
</div>
<div class="col-md-2">
<button type="submit" class="btn btn-warning" style="margin-top:
25px;"><i class="glyphicon glyphicon-ok"></i> Entry</button>
</div>
</div>
</form>
</div>
</div>
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Detil Pembelian</h3>
</div>
<div class="box-body">
<table class="table table-condensed">
<tbody>
<tr class="info">
<td style="width: 20%;"><strong>No. Nota</strong></td>
<td><strong> :
<?php echo $kode_otomatis; ?>
</strong></td>
</tr>
<tr class="info">
<td style="width: 20%;"><strong>Tgl. Pembelian</strong></td>
<td><strong>: <?php echo date('d-m-Y') ?></strong></td>
</tr>
</tbody>
</table>
<hr>
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr class="warning">
<th width="5%;">No.</th>
97
<th>Nama Produk</th>
<th>Satuan Produk</th>
<th>Harga Produk</th>
<th>QTY</th>
<th>Total Harga</th>
<th width="5%;">Hapus</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
$gt = 0;
$id_session = $_SESSION['id_user'];
$strSqlDetil = mysql_query("SELECT * FROM pembelian_detil
JOIN produk ON
pembelian_detil.id_produk=produk.id_produk
WHERE nota_pembelian='$kode_otomatis' ");
if (mysql_num_rows($strSqlDetil)) {
while ($data = mysql_fetch_array($strSqlDetil)) { ?>
<tr>
<td style="text-align: center;"><?php echo $no++; ?></td>
<td><?php echo $data['nama_produk']; ?></td>
<td><?php echo $data['satuan_produk']; ?></td>
<td><?php echo "Rp. ".number_format($data['harga_produk'], 0 ,
"" , '.'); ?></td>
<td><?php echo $data['jumlah']; ?></td>
<td><?php
echo "Rp. ".number_format($data['total_harga'], 0 , "" , '.');
?></td>
<td style="text-align: center;">
<a href="model/proses_pembelian.php?aksi=hapus&id=<?php
echo $data['id_pembelian_detil']; ?>" id="hapus">
<i class="glyphicon glyphicon-trash"></i>
</a>
</td>
</tr>
<?php
$gt += $data['total_harga'];
}
}else{ ?>
<tr>
<td colspan="100" style="text-align: center; font-weight: bold;
">Entry Pembelian</td>
</tr>
<?php
}
?>
98
</tbody>
</table>
</div>
<hr>
<div class="col-lg-7" style="padding:0px;"></div>
<div class="col-lg-5" style="padding:0px;">
<div class="panel panel-default">
<div class="panel-body">
<h3 class="pull-right" style="font-weight: bold; color: red; font-size:
20px;"><?php echo "Total Harga : Rp. ".number_format($gt, 0 , "" , '.');; ?></h3>
</div>
</div>
</div>
<div class="clearfix"></div>
<?php
if (mysql_num_rows($strSqlDetil)) { ?>
<a
href="model/proses_pembelian.php?aksi=selesai&kode_otomatis=<?php echo
$kode_otomatis; ?>" class="btn btn-lg btn-block btn-success" onclick="return
confirm('Apakah Anda Yakin Telah Selesai Pembelian ?')">
Simpan
</a>
<?php
}
?>
</div>
</div>
</div>
</div>
<?php
}
?>
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php
include 'footer.php';
99
?>
<script type="text/javascript"
src="assets/datatable/js/dataTables.bootstrap.js"></script>
<script>
$("#dt").DataTable({
iDisplayLength: 50,
responsive: true,
"info": true,
"ordering": true,
columnDefs: [
{ orderable: false, targets: -1 }
]
});
</script>
<script type="text/javascript" src="assets/js/bootstrapValidator.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#form').bootstrapValidator({
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
nama_produk: {
validators:{
notEmpty: {
message: 'Nama Produk Tidak Boleh Kosong'
}
}
},
jumlah: {
validators:{
integer: {
message: 'Jumlah Harus Integer'
},
notEmpty: {
message: 'Jumlah Tidak Boleh Kosong'
}
}
}
}
});
});
100
$(document).on("click", "#hapus", function(e) {
var link = $(this).attr("href");
e.preventDefault();
bootbox.confirm("Anda yakin ingin menghapus data ini ?", function(result) {
if (result) {
document.location.href = link;
}
});
});
</script>
<link rel="stylesheet" href="plugins/easyautocomplete/easy-
autocomplete.min.css">
<script type="text/javascript" src="plugins/easyautocomplete/jquery.easy-
autocomplete.min.js"></script>
<script type="text/javascript">
var options3 = {
url: "api/json_pembelian.php",
getValue: "nama_produk",
// template: {
// type: "description",
// fields: {
// description: "kode_supplier"
// }
// },
list: {
match: {
enabled: true
},
onChooseEvent: function() {
var selectedItemValue =
$("#nama_produk").getSelectedItemData().satuan_produk;
var selectedItemValue1 =
$("#nama_produk").getSelectedItemData().harga_produk;
var selectedItemValue2 =
$("#nama_produk").getSelectedItemData().id_produk;
// var selectedItemValue2 =
$("#nama_pesanan").getSelectedItemData().harga_makanan2;
$("#satuan_produk").val(selectedItemValue).trigger("change");
$("#harga_produk").val(selectedItemValue1).trigger("change");
$("#id_produk").val(selectedItemValue2).trigger("change");
101
// $("#harga_pesanan").val(selectedItemValue2).trigger("change");
}
}
};
$("#nama_produk").easyAutocomplete(options3);
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#jumlah").blur(function(){
function numberWithCommas (x){
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
var hargaProduk = $("#harga_produk").val();
var hargaProduk = hargaProduk.replace('.','')
var jumlah = $("#jumlah").val();
var total_harga = +hargaProduk * + jumlah;
$("#total_harga").val(numberWithCommas(total_harga));
})
})
</script>
<script type="text/javascript">
$('#tgl_awal').datepicker({
autoclose: true
});
$('#tgl_akhir').datepicker({
autoclose: true
});
</script>
</body>
</html>
102
B. Code Generation Penjualan
<?php
ob_start();
session_start();
if($_SESSION['status_login'] == 0){
header("Location: logout.php");
}
include 'libraries/koneksi.php';
include 'header.php';
include 'menu.php';
$strPenjualan = mysql_query("SELECT MAX(substr(nota_penjualan, 10, 4)) as
kode FROM penjualan ");
$strPenjualan = mysql_fetch_array($strPenjualan);
if (empty($strPenjualan['kode'])) {
$kode_otomatis = "J-".date('ymd').'-0001';
}else{
$kode = intval($strPenjualan['kode']);
$kode = $kode + 1;
if ($kode < 10) {
$kode_otomatis = "J-".date('ymd').'-000'.$kode;
}elseif ($kode < 100) {
$kode_otomatis = "J-".date('ymd').'-00'.$kode;
}elseif ($kode < 1000) {
$kode_otomatis = "J-".date('ymd').'-0'.$kode;
}elseif ($kode < 10000) {
$kode_otomatis = "J-".date('ymd').'-'.$kode;
}
}
?>
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
PENJUALAN
</h1>
<ol class="breadcrumb">
<li><a href="beranda.php"><i class="fa fa-dashboard"></i>
Beranda</a></li>
<?php
if (!empty($_GET['aksi'])) {
if ($_GET['aksi']=='daftar_penjualan'){
echo "<li><a href='penjualan.php'>Penjualan</a></li>";
echo "<li class='active'>Daftar Penjualan</li>";
103
}
}else{
echo "<li><a href='penjualan.php'>Penjualan</a></li>";
echo "<li class='active'>Form Penjualan</li>";
}
?>
</ol>
</section>
<!-- Main content -->
<section class="content container-fluid">
<?php
if (!empty($_GET['aksi'])) {
if ($_GET['aksi'] == 'daftar_penjualan') { ?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-6 col-lg-6" style="padding-right:; ">
<a href="penjualan.php" class="btn btn-warning btn-block">
Form Penjualan
</a>
</div>
<div class="col-md-6 col-lg-6" style="padding-left:; ">
<a href="penjualan.php?aksi=daftar_penjualan" class="btn btn-default
btn-block">
Daftar Penjualan
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Daftar Penjualan</h3>
</div>
<div class="box-body">
<h5 style="color:red; font-weight: bold;">Pencarian Tanggal</h5>
<div class="row" style="width: 100%;">
<div class="col-md-9">
<form action="penjualan.php?aksi=daftar_penjualan"
method="POST" role="form" class="navbar-form">
<div class="input-group">
104
<div class="input-group-addon"><span class="glyphicon
glyphicon-calendar"></span></div>
<input type="text" id="tgl_awal" name="tgl_awal" class="form-
control" placeholder="Tgl Awal">
</div>
<div class="input-group">
<div class="input-group-addon"><span class="glyphicon
glyphicon-calendar"></span></div>
<input type="text" id="tgl_akhir" name="tgl_akhir" class="form-
control" placeholder="Tgl Akhir">
</div>
<button type="submit" class="btn btn-primary">
<span class="glyphicon glyphicon-search"></span>
</button>
<a href="penjualan.php?aksi=daftar_penjualan" class="btn btn-
success">
<span class="glyphicon glyphicon-refresh"></span>
</a>
</form>
<script type="text/javascript">
$('#tgl_awal').datepicker({
autoclose: true
});
$('#tgl_akhir').datepicker({
autoclose: true
});
</script>
</div>
<div class="col-md-3">
</div>
<div class="clearfix"></div>
</div>
<?php
if (!empty($_POST['tgl_awal']) AND !empty($_POST['tgl_akhir'])) {
function tanggal_indo($tanggal)
{
$bulan = array (1 => 'Januari',
'Februari',
'Maret',
'April',
'Mei',
105
'Juni',
'Juli',
'Agustus',
'September',
'Oktober',
'November',
'Desember'
);
$split = explode('-', $tanggal);
return $split[2] . ' ' . $bulan[ (int)$split[1] ] . ' ' . $split[0];
}
$tgl_awal = $_POST['tgl_awal'];
$tgl_akhir = $_POST['tgl_akhir'];
?>
<hr>
<i style="font-weight:bold;" class="">Periode : <?php echo
tanggal_indo(date('Y-m-d', strtotime($tgl_awal))); ?> - <?php echo
tanggal_indo(date('Y-m-d', strtotime($tgl_akhir))); ?></i>
<?php
}
?>
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr>
<th style="width: 5%;">No.</th>
<th>Tgl Penjualan</th>
<th>Nota Penjualan</th>
<th>Jumlah Items</th>
<th>Penanggung Jawab</th>
<th style="width: 10%; text-align: center;">Detil</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
if (!empty($_POST['tgl_awal']) AND !empty($_POST['tgl_akhir'])) {
$tgl_awal = date('Y-m-d', strtotime($_POST['tgl_awal']));
$tgl_akhir = date('Y-m-d', strtotime($_POST['tgl_akhir']));
$no =1;
$StrSqlPenjualan = mysql_query("SELECT * FROM penjualan
JOIN user ON penjualan.id_user=user.id_user WHERE tgl_penjualan BETWEEN
'$tgl_awal' AND '$tgl_akhir' ORDER BY nota_penjualan ASC");
}else{
$no =1;
$StrSqlPenjualan = mysql_query("SELECT * FROM penjualan
JOIN user ON penjualan.id_user=user.id_user ORDER BY nota_penjualan
ASC");
106
}
if (mysql_num_rows($StrSqlPenjualan) > 0) {
while ($row = mysql_fetch_array($StrSqlPenjualan)) { ?>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo date('d-m-Y', strtotime($row['tgl_penjualan']));
?></td>
<td><?php echo $row['nota_penjualan']; ?></td>
<td><?php
$item = 0;
$nota_penjualan = $row['nota_penjualan'];
$ambil_detil = mysql_query("SELECT * FROM penjualan_detil
WHERE nota_penjualan='$nota_penjualan' ");
while (mysql_fetch_array($ambil_detil) > 0) {
$item += 1;
}
echo $item." Item";
?></td>
<td><?php echo $row['nama_user']; ?></td>
<td style="text-align: center;">
<a href="penjualan.php?aksi=detil_penjualan&id=<?php echo
$row['nota_penjualan']; ?>">
<i class="glyphicon glyphicon-list-alt"></i>
</a>
</td>
</tr>
<?php
}
}else{ ?>
<tr>
<td colspan="100" style="text-align: center; font-weight:
bold;">Data Tidak Ada . . . </td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
107
<?php
}elseif ($_GET['aksi'] == 'detil_penjualan') { ?>
<?php
if (!empty($_GET['id'])) {
$id = $_GET['id'];
$ambil_penjualan = mysql_query("SELECT * FROM penjualan WHERE
nota_penjualan='$id' ");
if ($ambil_penjualan > 0) {
$d = mysql_fetch_array($ambil_penjualan);
}
}else{
header("Location: penjualan.php");
}
?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-6 col-lg-6" style="padding-right:; ">
<a href="penjualan.php" class="btn btn-warning btn-block">
Form Penjualan
</a>
</div>
<div class="col-md-6 col-lg-6" style="padding-left:; ">
<a href="penjualan.php?aksi=daftar_penjualan" class="btn btn-default
btn-block">
Daftar Penjualan
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Detil Daftar penjualan</h3>
</div>
<div class="box-body">
<table class="table">
<tbody>
<tr>
<td style="width: 30%;">Nota penjualan</td>
<td>: <?php echo $d['nota_penjualan']; ?></td>
</tr>
108
<tr>
<td style="width: 30%;">Tgl penjualan</td>
<td>: <?php echo date('d-m-Y', strtotime($d['tgl_penjualan']));
?></td>
</tr>
<tr>
<td style="width: 30%;">Kepada</td>
<td>: HOD Pontianak</td>
</tr>
</tbody>
</table>
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr class="warning">
<th width="5%;">No.</th>
<th>Nama Produk</th>
<th>Satuan Produk</th>
<th>Harga Produk</th>
<th>QTY</th>
<th>Total Harga</th>
<th width="5%;">Hapus</th>
</tr>
</thead>
<tbody>
<?php
$idp = $d['nota_penjualan'];
$no = 1;
$gt = 0;
$id_session = $_SESSION['id_user'];
$strSqlDetil = mysql_query("SELECT * FROM penjualan_detil
JOIN produk ON
penjualan_detil.id_produk=produk.id_produk
WHERE nota_penjualan='$idp' ");
if (mysql_num_rows($strSqlDetil)) {
while ($data = mysql_fetch_array($strSqlDetil)) { ?>
<tr>
<td style="text-align: center;"><?php echo $no++; ?></td>
<td><?php echo $data['nama_produk']; ?></td>
<td><?php echo $data['satuan_produk']; ?></td>
<td><?php echo "Rp. ".number_format($data['harga_produk'], 0 ,
"" , '.'); ?></td>
<td><?php echo $data['jumlah']; ?></td>
<td><?php
echo "Rp. ".number_format($data['total_harga'], 0 , "" , '.');
?></td>
109
<td style="text-align: center;">
<a href="model/proses_penjualan.php?aksi=hapus&id=<?php
echo $data['id_penjualan_detil']; ?>" id="hapus">
<i class="glyphicon glyphicon-trash"></i>
</a>
</td>
</tr>
<?php
$gt += $data['total_harga'];
}
}else{ ?>
<tr>
<td colspan="100" style="text-align: center; font-weight: bold;
">Entry penjualan</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
<hr>
<div class="col-lg-7" style="padding:0px;"></div>
<div class="col-lg-5" style="padding:0px;">
<div class="panel panel-default">
<div class="panel-body">
<h3 class="pull-right" style="font-weight: bold; color: red; font-size:
20px;"><?php echo "Total Harga : Rp. ".number_format($gt, 0 , "" , '.');; ?></h3>
</div>
</div>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
<?php
}else{
header("Location: penjualan.php");
}
}else{ ?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
110
<div class="col-md-6 col-lg-6" style="padding-right:; ">
<a href="penjualan.php" class="btn btn-warning btn-block">
Form Penjualan
</a>
</div>
<div class="col-md-6 col-lg-6" style="padding-left:; ">
<a href="penjualan.php?aksi=daftar_penjualan" class="btn btn-default
btn-block">
Daftar Penjualan
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Form Penjualan</h3>
</div>
<div class="box-body">
<div class='row'>
<?php
if (isset($_SESSION['notif'])) {
if($_SESSION['notif']!='') {
if (strpos($_SESSION['notif'], 'SUKSES') !== false) { ?>
<div class="col-lg-12">
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}else{
?>
<div class="col-lg-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}
}
unset($_SESSION['notif']);
111
}
?>
</div>
<form action="model/proses_penjualan.php?aksi=simpan"
method="POST" class="" role="form" id="form">
<input type="hidden" name="nota_penjualan" value="<?php echo
$kode_otomatis; ?>">
<input type="hidden" name="id_produk" id="id_produk">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label for="">Nama Produk</label>
<input type="text" name="nama_produk" class="form-control"
id="nama_produk" placeholder="Nama Produk">
<span style="color:red; font-size: 12px; font-weight: bold;">Cari
Produk Untuk Stok Produk</span>
</div>
</div>
<div class="clearfix"></div>
<div class="col-md-2">
<div class="form-group">
<label for="">Satuan</label>
<input type="text" class="form-control" id="satuan_produk"
placeholder="Satuan Produk" readonly="">
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label for="">Harga Produk</label>
<div class="input-group">
<div class="input-group-addon">Rp.</div>
<input type="text" class="form-control" name="harga_produk"
id="harga_produk" placeholder="0" readonly="">
</div>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label for="">Stok Produk</label>
<div class="input-group">
112
<input type="text" class="form-control" id="stok" placeholder="0"
readonly="">
<div class="input-group-addon">Items</div>
</div>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label for="">QTY</label>
<input type="number" name="jumlah" class="form-control"
id="jumlah" placeholder="QTY">
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label for="">Total Harga</label>
<div class="input-group">
<div class="input-group-addon">Rp.</div>
<input type="text" class="form-control" name="total_harga"
id="total_harga" placeholder="0" readonly="" style="">
</div>
</div>
</div>
<div class="col-md-2">
<button type="submit" class="btn btn-warning" style="margin-top:
25px;"><i class="glyphicon glyphicon-ok"></i> Entry</button>
</div>
</div>
</form>
</div>
</div>
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Detil Penjualan</h3>
</div>
<div class="box-body">
<table class="table table-condensed">
<tbody>
<tr class="info">
<td style="width: 20%;"><strong>No. Nota</strong></td>
<td><strong> :
<?php echo $kode_otomatis; ?>
</strong></td>
</tr>
113
<tr class="info">
<td style="width: 20%;"><strong>Tgl. Penjualan</strong></td>
<td><strong>: <?php echo date('d-m-Y') ?></strong></td>
</tr>
</tbody>
</table>
<hr>
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr class="warning">
<th width="5%;">No.</th>
<th>Nama Produk</th>
<th>Satuan Produk</th>
<th>Harga Produk</th>
<th>QTY</th>
<th>Total Harga</th>
<th width="5%;">Hapus</th>
</tr>
</thead>
<tbody>
<?php
$no = 1;
$gt = 0;
$id_session = $_SESSION['id_user'];
$strSqlDetil = mysql_query("SELECT * FROM penjualan_detil
JOIN produk ON
penjualan_detil.id_produk=produk.id_produk
WHERE nota_penjualan='$kode_otomatis' ");
if (mysql_num_rows($strSqlDetil)) {
while ($data = mysql_fetch_array($strSqlDetil)) { ?>
<tr>
<td style="text-align: center;"><?php echo $no++; ?></td>
<td><?php echo $data['nama_produk']; ?></td>
<td><?php echo $data['satuan_produk']; ?></td>
<td><?php echo "Rp. ".number_format($data['harga_produk'], 0 ,
"" , '.'); ?></td>
<td><?php echo $data['jumlah']; ?></td>
<td><?php
echo "Rp. ".number_format($data['total_harga'], 0 , "" , '.');
?></td>
<td style="text-align: center;">
<a href="model/proses_penjualan.php?aksi=hapus&id=<?php
echo $data['id_penjualan_detil']; ?>" id="hapus">
<i class="glyphicon glyphicon-trash"></i>
114
</a>
</td>
</tr>
<?php
$gt += $data['total_harga'];
}
}else{ ?>
<tr>
<td colspan="100" style="text-align: center; font-weight: bold;
">Entry Penjualan</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
<hr>
<div class="col-lg-7" style="padding:0px;"></div>
<div class="col-lg-5" style="padding:0px;">
<div class="panel panel-default">
<div class="panel-body">
<h3 class="pull-right" style="font-weight: bold; color: red; font-size:
20px;"><?php echo "Total Harga : Rp. ".number_format($gt, 0 , "" , '.');; ?></h3>
</div>
</div>
</div>
<div class="clearfix"></div>
<?php
if (mysql_num_rows($strSqlDetil)) { ?>
<a href="laporan/cetak_penjualan.php?no_nota=<?php echo
$kode_otomatis; ?>" target="_blank" class="btn btn-lg btn-block btn-danger">
Cetak
</a>
<a
href="model/proses_penjualan.php?aksi=selesai&kode_otomatis=<?php echo
$kode_otomatis; ?>" class="btn btn-lg btn-block btn-success" onclick="return
confirm('Apakah Anda Yakin Telah Selesai Penjualan ?')">
Simpan
</a>
<?php
}
?>
115
</div>
</div>
</div>
</div>
<?php
}
?>
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php
include 'footer.php';
?>
<script type="text/javascript"
src="assets/datatable/js/dataTables.bootstrap.js"></script>
<script>
$("#dt").DataTable({
iDisplayLength: 50,
responsive: true,
"info": true,
"ordering": true,
columnDefs: [
{ orderable: false, targets: -1 }
]
});
</script>
<script type="text/javascript" src="assets/js/bootstrapValidator.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#form').bootstrapValidator({
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
nama_produk: {
validators:{
notEmpty: {
message: 'Nama Produk Tidak Boleh Kosong'
}
}
},
116
jumlah: {
validators:{
integer: {
message: 'Jumlah Harus Integer'
},
notEmpty: {
message: 'Jumlah Tidak Boleh Kosong'
}
}
}
}
});
});
$(document).on("click", "#hapus", function(e) {
var link = $(this).attr("href");
e.preventDefault();
bootbox.confirm("Anda yakin ingin menghapus data ini ?", function(result) {
if (result) {
document.location.href = link;
}
});
});
</script>
<link rel="stylesheet" href="plugins/easyautocomplete/easy-
autocomplete.min.css">
<script type="text/javascript" src="plugins/easyautocomplete/jquery.easy-
autocomplete.min.js"></script>
<script type="text/javascript">
var options3 = {
url: "api/json_penjualan.php",
getValue: "nama_produk",
// template: {
// type: "description",
// fields: {
// description: "kode_supplier"
// }
// },
list: {
match: {
enabled: true
117
},
onChooseEvent: function() {
var selectedItemValue =
$("#nama_produk").getSelectedItemData().satuan_produk;
var selectedItemValue1 =
$("#nama_produk").getSelectedItemData().harga_produk;
var selectedItemValue2 =
$("#nama_produk").getSelectedItemData().id_produk;
var selectedItemValue3 =
$("#nama_produk").getSelectedItemData().jumlah_produk;
// var selectedItemValue2 =
$("#nama_pesanan").getSelectedItemData().harga_makanan2;
$("#satuan_produk").val(selectedItemValue).trigger("change");
$("#harga_produk").val(selectedItemValue1).trigger("change");
$("#id_produk").val(selectedItemValue2).trigger("change");
$("#stok").val(selectedItemValue3).trigger("change");
// $("#harga_pesanan").val(selectedItemValue2).trigger("change");
}
}
};
$("#nama_produk").easyAutocomplete(options3);
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#jumlah").blur(function(){
function numberWithCommas (x){
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
var hargaProduk = $("#harga_produk").val();
var hargaProduk = hargaProduk.replace('.','')
var jumlah = $("#jumlah").val();
var total_harga = +hargaProduk * + jumlah;
$("#total_harga").val(numberWithCommas(total_harga));
})
})
118
</script>
<script type="text/javascript">
$('#tgl_awal').datepicker({
autoclose: true
});
$('#tgl_akhir').datepicker({
autoclose: true
});
</script>
</body>
</html>
C. Code Generation Pelayanan
<?php
ob_start();
session_start();
if($_SESSION['status_login'] == 0){
header("Location: logout.php");
}
include 'libraries/koneksi.php';
include 'header.php';
include 'menu.php';
$strPembelian = mysql_query("SELECT MAX(substr(nota_pembelian, 10, 4)) as
kode FROM pembelian ");
$strPembelian = mysql_fetch_array($strPembelian);
if (empty($strPembelian['kode'])) {
$kode_otomatis = "B-".date('ymd').'-0001';
}else{
$kode = intval($strPembelian['kode']);
$kode = $kode + 1;
if ($kode < 10) {
$kode_otomatis = "B-".date('ymd').'-000'.$kode;
}elseif ($kode < 100) {
$kode_otomatis = "B-".date('ymd').'-00'.$kode;
}elseif ($kode < 1000) {
$kode_otomatis = "B-".date('ymd').'-0'.$kode;
}elseif ($kode < 10000) {
$kode_otomatis = "B-".date('ymd').'-'.$kode;
}
}
?>
<div class="content-wrapper">
119
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
TREATMENT
</h1>
<ol class="breadcrumb">
<li><a href="beranda.php"><i class="fa fa-dashboard"></i>
Beranda</a></li>
<?php
if (!empty($_GET['aksi'])) {
if ($_GET['aksi']=='transaksi_pelayan'){
echo "<li><a href='treatment.php'>Treatment</a></li>";
echo "<li class='active'>Transaksi Pelayanan</li>";
}elseif ($_GET['aksi']=='kasir') {
echo "<li><a href='treatment.php'>Treatment</a></li>";
echo "<li class='active'>Kasir</li>";
}elseif ($_GET['aksi']=='detail_kasir') {
echo "<li><a href='treatment.php'>Treatment</a></li>";
echo "<li class='active'>Kasir</li>";
echo "<li class='active'>Detail Kasir</li>";
}elseif ($_GET['aksi']=='daftar_treatment') {
echo "<li><a href='treatment.php'>Treatment</a></li>";
echo "<li class='active'>Daftar Pasien</li>";
}elseif ($_GET['aksi']=='detil_daftar_treatment') {
echo "<li><a href='treatment.php'>Treatment</a></li>";
echo "<li class='active'>Daftar Pasien</li>";
echo "<li class='active'>Riwayat</li>";
}
}else{
echo "<li><a href='treatment.php'>Treatment</a></li>";
echo "<li class='active'>Form Treatment</li>";
}
?>
</ol>
</section>
<!-- Main content -->
<section class="content container-fluid">
<?php
if (!empty($_GET['aksi'])) {
if ($_GET['aksi'] == 'daftar_treatment') { ?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php" class="btn btn-warning btn-block">
120
Form Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php?aksi=kasir" class="btn btn-success btn-block">
Kasir Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-left:; ">
<a href="treatment.php?aksi=daftar_treatment" class="btn btn-default
btn-block">
Daftar Treatment
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Daftar Pasien Treatment</h3>
</div>
<div class="box-body">
<div class="table-responsive">
<table class="table table-bordered table-striped table-condensed"
id="dt">
<thead>
<tr class="warning">
<th>ID</th>
<th>Nama</th>
<th>Alamat</th>
<th>No.Telp</th>
<th>Riwayat Pelayanan</th>
<th>Keluhan</th>
<th>Detil</th>
</tr>
</thead>
<tbody>
<?php
$st = 1;
$sqlPasienPelayanan = mysql_query("SELECT
a.id_pasien,
a.nama_pasien,
a.alamat_pasien,
a.telp_pasien,
(SELECT COUNT(*) FROM pelayanan b
121
WHERE a.id_pasien=b.id_pasien AND
statusBayar=$st)
AS riwayat_pelayanan
FROM pasien a ORDER BY riwayat_pelayanan
DESC");
if (mysql_num_rows($sqlPasienPelayanan) > 0) {
while ($rowPasienPelayanan =
mysql_fetch_array($sqlPasienPelayanan)) { ?>
<tr>
<td><?php echo $rowPasienPelayanan['id_pasien']; ?></td>
<td><?php echo $rowPasienPelayanan['nama_pasien'];
?></td>
<td style="text-align: justify;"><?php echo
$rowPasienPelayanan['alamat_pasien']; ?></td>
<td><?php echo $rowPasienPelayanan['telp_pasien']; ?></td>
<td><?php echo $rowPasienPelayanan['riwayat_pelayanan']."
Pelayanan"; ?></td>
<td style="width: 5%;">
<a class="btn btn-info btn-sm btn-block detil" data-
toggle="modal" href='#modal-id_keluhan'
data-id_pasien="<?php echo
$rowPasienPelayanan['id_pasien']; ?>">
<i class="glyphicon glyphicon-list-alt"></i> Keluhan
</a>
<div class="modal fade" id="modal-id_keluhan">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Keluhan Pasien</h4>
</div>
<div class="modal-body">
<div id="tampilModal"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</td>
<td style="width: 5%;">
<a
href="treatment.php?aksi=detil_daftar_treatment&id=<?php echo
122
$rowPasienPelayanan['id_pasien']; ?>" class="btn btn-warning btn-sm btn-
block">
<i class="glyphicon glyphicon-list-alt"></i> Detil
</a>
</td>
</tr>
<?php
}
}else{ ?>
<tr>
<td style="text-align: center; font-weight: bold"
colspan="100">Data Tidak Ada . . .</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<?php
}elseif ($_GET['aksi'] == 'detil_daftar_treatment') { ?>
<?php
if (!empty($_GET['id'])) {
$id = $_GET['id'];
$sqlPasienId = mysql_query("SELECT * FROM pasien WHERE
id_pasien='$id' ");
if ($sqlPasienId > 0) {
$rowPasienId = mysql_fetch_array($sqlPasienId);
}
}else{
header("Location : treatment.php");
}
?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php" class="btn btn-warning btn-block">
Form Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php?aksi=kasir" class="btn btn-success btn-block">
Kasir Treatment
123
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-left:; ">
<a href="treatment.php?aksi=daftar_treatment" class="btn btn-default
btn-block">
Daftar Treatment
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<!-- Profile Image -->
<div class="box box-primary">
<div class="box-body box-profile">
<img class="profile-user-img img-responsive img-circle"
src="images/nofoto.png" alt="User profile picture">
<hr>
<h3 class="profile-username text-center"><strong><?php echo
$rowPasienId['nama_pasien']; ?></strong></h3>
<p class="text-muted text-center"><strong>ID Pasien : <?php echo
$rowPasienId['id_pasien']; ?></strong></p>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
<!-- About Me Box -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Keluhan Pasien</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<strong><?php echo $rowPasienId['keterangan_pasien']; ?></strong>
<hr>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
124
<div class="col-md-9">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#rp" data-toggle="tab">Riwayat
Pemeriksaan</a></li>
<li><a href="#pesanan_pelayanan" data-toggle="tab">Pesanan
Pelayanan</a></li>
</ul>
<div class="tab-content">
<!-- Riwayat Pemeriksaan -->
<div class="active tab-pane" id="rp">
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr class="warning">
<th>Tgl.Pelayanan</th>
<th>Paket.Treatment</th>
<th>Diagnosa</th>
<th>Rencana</th>
<th>Programmer</th>
<th>Catatan</th>
</tr>
</thead>
<tbody>
<?php
$statusBayar = 1;
$sqlPelayananId = mysql_query("SELECT * FROM pelayanan
JOIN paket ON
pelayanan.id_paket=paket.id_paket
JOIN consultant ON
pelayanan.id_consultant=consultant.id_consultant
JOIN perawat ON
pelayanan.id_perawat=perawat.id_perawat
JOIN user ON pelayanan.id_user=user.id_user
WHERE id_pasien='$id' AND
statusBayar=$statusBayar ");
if (mysql_num_rows($sqlPelayananId) > 0) {
while ($rowPelayananId = mysql_fetch_array($sqlPelayananId)) {
?>
<tr>
<td><?php echo date('d-m-Y',
strtotime($rowPelayananId['tgl_pelayanan'])); ?></td>
<td><?php echo $rowPelayananId['nama_paket']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['diagnosa_pelayanan']; ?></td>
125
<td style="text-align: justify;"><?php echo
$rowPelayananId['rencana_pelayanan']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['program_pelayanan']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['catatan']; ?></td>
</tr>
<?php
}
}else{ ?>
<tr>
<td style="text-align: center; font-weight: bold;"
colspan="100">Belum Ada Riwayat Pemeriksaan</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
<!-- /.tab-pane -->
<div class="tab-pane" id="pesanan_pelayanan">
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt1">
<thead>
<tr class="warning">
<th>No.</th>
<th>Tgl.Pelayanan</th>
<th>Paket.Treatment</th>
<th>Consultant.Treatment</th>
<th>Beuaty.Treatment</th>
<th>Catatan</th>
<th>Admin</th>
<th>Harga</th>
</tr>
</thead>
<tbody>
<?php
$no1 =1;
$statusBayar1 = 0;
$gt_pelayanan = 0;
$sqlPelayananId1 = mysql_query("SELECT * FROM pelayanan
JOIN paket ON
pelayanan.id_paket=paket.id_paket
126
JOIN consultant ON
pelayanan.id_consultant=consultant.id_consultant
JOIN perawat ON
pelayanan.id_perawat=perawat.id_perawat
JOIN user ON pelayanan.id_user=user.id_user
WHERE id_pasien='$id' AND
statusBayar=$statusBayar1 ");
if (mysql_num_rows($sqlPelayananId1) > 0) {
while ($rowPelayananId1 = mysql_fetch_array($sqlPelayananId1))
{ ?>
<tr>
<td><?php echo $no1++; ?></td>
<td><?php echo date('d-m-Y',
strtotime($rowPelayananId1['tgl_pelayanan'])); ?></td>
<td><?php echo $rowPelayananId1['nama_paket']; ?></td>
<td><?php echo $rowPelayananId1['nama_consultant']; ?></td>
<td><?php echo $rowPelayananId1['nama_perawat']; ?></td>
<td><?php echo $rowPelayananId1['catatan']; ?></td>
<td><?php echo $rowPelayananId1['nama_user']; ?></td>
<td><?php echo
"Rp.".number_format($rowPelayananId1['harga_pelayanan'], 0 , "" , '.'); ?></td>
</tr>
<?php
$gt_pelayanan += $rowPelayananId1['harga_pelayanan'];
}
}else{ ?>
<tr>
<td style="text-align: center; font-weight: bold;"
colspan="100">Pesan Pelayanan Anda . . .</td>
</tr>
<?php
}
?>
</tbody>
</table>
<div class="col-lg-7" style="padding:0px;"></div>
<div class="col-lg-5" style="padding:0px;">
<div class="panel panel-default">
<div class="panel-body">
<h3 class="pull-right" style="font-weight: bold; color: red; font-
size: 20px;"><?php echo "Total Harga : Rp. ".number_format($gt_pelayanan, 0 ,
"" , '.');; ?></h3>
</div>
</div>
</div>
<div class="clearfix"></div>
127
</div>
</div>
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- /.nav-tabs-custom -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<?php
}elseif ($_GET['aksi'] == 'kasir') { ?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php" class="btn btn-warning btn-block">
Form Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php?aksi=kasir" class="btn btn-success btn-block">
Kasir Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-left:; ">
<a href="treatment.php?aksi=daftar_treatment" class="btn btn-default
btn-block">
Daftar Treatment
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Kasir Pasien Treatment A - Z</h3>
</div>
<div class="box-body">
<div class='row'>
<?php
if (isset($_SESSION['notif'])) {
if($_SESSION['notif']!='') {
if (strpos($_SESSION['notif'], 'SUKSES') !== false) { ?>
128
<div class="col-lg-12">
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}else{
?>
<div class="col-lg-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}
}
unset($_SESSION['notif']);
}
?>
</div>
<div class="table-responsive">
<table class="table table-bordered table-striped table-condensed"
id="dt">
<thead>
<tr class="warning">
<th>ID Pasien</th>
<th>Nama</th>
<th>Pesan Pelayanan</th>
<th>Total Harga</th>
<th style="text-align: center; width: 20%;">Tagihan</th>
</tr>
</thead>
<tbody>
<?php
$statusKasir = 0;
$SqlKasir = mysql_query("SELECT a.id_pasien, b.nama_pasien,
Count(*) as pesan_pelayanan, Sum(a.harga_pelayanan) as total_pelayanan
FROM pelayanan a
JOIN pasien b ON a.id_pasien=b.id_pasien
WHERE a.statusBayar = $statusKasir Group By
a.id_pasien
");
if (mysql_num_rows($SqlKasir) > 0) {
129
while ($ResultKasir = mysql_fetch_array($SqlKasir)) { ?>
<tr class="info">
<td style="font-size: 16px; padding-top: 10px; font-weight:
bold;"><?php echo $ResultKasir['id_pasien']; ?></td>
<td style="font-size: 16px; padding-top: 10px; font-weight:
bold;"><?php echo $ResultKasir['nama_pasien']; ?></td>
<td style="font-size: 16px; padding-top: 10px; font-weight:
bold;"><?php echo $ResultKasir['pesan_pelayanan']." Pelayanan"; ?></td>
<td style="font-size: 16px; padding-top: 10px; font-weight:
bold;"><?php echo "Rp. ".number_format($ResultKasir['total_pelayanan'], 0 , "" ,
'.'); ?></td>
<td>
<a href="?aksi=detail_kasir&id=<?php echo
$ResultKasir['id_pasien']; ?>" class="btn btn-success btn-block btn-sm">
<i class="glyphicon glyphicon-transfer"></i> Tagihan
</a>
</td>
</tr>
<?php
}
}else{ ?>
<tr>
<td style="text-align: center; font-weight: bold;"
colspan="100">Data Tidak Ada . . .</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<?php
}elseif ($_GET['aksi'] == 'detail_kasir') { ?>
<?php
if (!empty($_GET['id'])) {
$id = $_GET['id'];
$sqlPasienId = mysql_query("SELECT * FROM pasien WHERE
id_pasien='$id' ");
if ($sqlPasienId > 0) {
$rowPasienId = mysql_fetch_array($sqlPasienId);
}
}else{
header("Location : treatment.php");
130
}
?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php" class="btn btn-warning btn-block">
Form Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php?aksi=kasir" class="btn btn-success btn-block">
Kasir Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-left:; ">
<a href="treatment.php?aksi=daftar_treatment" class="btn btn-default
btn-block">
Daftar Treatment
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<!-- Profile Image -->
<div class="box box-primary">
<div class="box-body box-profile">
<img class="profile-user-img img-responsive img-circle"
src="images/nofoto.png" alt="User profile picture">
<hr>
<h3 class="profile-username text-center"><strong><?php echo
$rowPasienId['nama_pasien']; ?></strong></h3>
<p class="text-muted text-center"><strong>ID Pasien : <?php echo
$rowPasienId['id_pasien']; ?></strong></p>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
<!-- About Me Box -->
<div class="box box-primary">
131
<div class="box-header with-border">
<h3 class="box-title">Keluhan Pasien</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<strong><?php echo $rowPasienId['keterangan_pasien']; ?></strong>
<hr>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
<div class="col-md-9">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#kp" data-toggle="tab">Kasir
Pelayanan</a></li>
<li><a href="#rp" data-toggle="tab">Riwayat Pemeriksaan</a></li>
</ul>
<div class="tab-content">
<!-- Transaksi Pelayanan -->
<div class="active tab-pane" id="kp">
<div class='row'>
<?php
if (isset($_SESSION['notif'])) {
if($_SESSION['notif']!='') {
if (strpos($_SESSION['notif'], 'SUKSES') !== false) { ?>
<div class="col-lg-12">
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}else{
?>
<div class="col-lg-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
132
}
}
unset($_SESSION['notif']);
}
?>
</div>
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr class="warning">
<th>#</th>
<th>#</th>
<th>Tgl.Pelayanan</th>
<th>Paket.Treatment</th>
<th>Catatan</th>
<th>Admin</th>
<th>Harga</th>
</tr>
</thead>
<tbody>
<?php
$statusBayar1 = 0;
$gt_pelayanan = 0;
$sqlPelayananId1 = mysql_query("SELECT * FROM pelayanan
JOIN paket ON
pelayanan.id_paket=paket.id_paket
JOIN consultant ON
pelayanan.id_consultant=consultant.id_consultant
JOIN perawat ON
pelayanan.id_perawat=perawat.id_perawat
JOIN user ON pelayanan.id_user=user.id_user
WHERE id_pasien='$id' AND
statusBayar=$statusBayar1 ");
if (mysql_num_rows($sqlPelayananId1) > 0) {
while ($rowPelayananId1 = mysql_fetch_array($sqlPelayananId1))
{ ?>
<tr>
<td style="width: 5%; text-align: center;">
<a
href="model/proses_treatment.php?aksi=hapus_pelayanan&id=<?php echo
$rowPelayananId1['id_pelayanan']; ?>&id_pasien=<?php echo
$rowPelayananId1['id_pasien']; ?>" title="Batal Pelayanan" onclick="return
confirm('Apakah Anda Yakin Ingin Menghapus Data Pelayanan Ini ?'); ">
<i class="glyphicon glyphicon-trash"></i>
</a>
</td>
<td style="width: 5%; text-align: center;">
133
<a class="catatan_pelayanan" data-toggle="modal"
href='#modal-id' title="Tambah Keterangan Catatan Pelayanan"
data-id_pelayanan="<?php echo
$rowPelayananId1['id_pelayanan']; ?>"
data-diagnosa_pelayanan="<?php echo
$rowPelayananId1['diagnosa_pelayanan']; ?>"
data-rencana_pelayanan="<?php echo
$rowPelayananId1['rencana_pelayanan']; ?>"
data-program_pelayanan="<?php echo
$rowPelayananId1['program_pelayanan']; ?>"
data-id_pasien="<?php echo $rowPelayananId1['id_pasien'];
?>">
<i class="glyphicon glyphicon-plus"></i>
</a>
<div class="modal fade" id="modal-id">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-
dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Catatan Pelayanan</h4>
</div>
<div class="modal-body">
<form
action="model/proses_treatment.php?aksi=catatan_pelayanan" method="POST"
role="form" class="form-horizontal">
<input type="hidden" class="id_pelayanan"
name="id_pelayanan">
<input type="hidden" class="id_pasien"
name="id_pasien">
<div class="form-group">
<label for="">Diagnosa Pelayanan</label> <br>
<textarea type="text" name="diagnosa_pelayanan"
class="form-control diagnosa_pelayanan" id="" placeholder="Diagnosa
Pelayanan"></textarea>
</div>
<div class="clearfix"></div>
<br>
<div class="form-group">
<label for="">Rencana Pelayanan</label> <br>
<select name="rencana_pelayanan" class="form-control
rencana_pelayanan" id="">
134
<option value="">---- Pilih Rencana Pelayanan ----
</option>
<?php
$sqlRencanaPelayanan = mysql_query("SELECT *
FROM paket ORDER BY nama_paket ");
if ($sqlRencanaPelayanan > 0) {
while ($rowRencanaPelayanan =
mysql_fetch_array($sqlRencanaPelayanan)) { ?>
<option value="<?php echo
$rowRencanaPelayanan['nama_paket']; ?>"><?php echo
$rowRencanaPelayanan['nama_paket']; ?></option>
<?php
}
}
?>
<option value=""></option>
</select>
</div>
<div class="clearfix"></div>
<br>
<div class="form-group">
<label for="">Programe Pelayanan</label> <br>
<textarea type="text" name="program_pelayanan"
class="form-control program_pelayanan" id="" placeholder="Programe
Pelayanan"></textarea>
</div>
<br>
<br>
<hr>
<button type="submit" class="btn btn-warning btn-
block">Simpan</button>
<button type="button" class="btn btn-default btn-block"
data-dismiss="modal">Tutup</button>
</form>
</div>
</div>
</div>
</div>
</td>
<td><?php echo date('d-m-Y',
strtotime($rowPelayananId1['tgl_pelayanan'])); ?></td>
<td><?php echo $rowPelayananId1['nama_paket']; ?></td>
<td><?php echo $rowPelayananId1['catatan']; ?></td>
<td><?php echo $rowPelayananId1['nama_user']; ?></td>
135
<td><?php echo
"Rp.".number_format($rowPelayananId1['harga_pelayanan'], 0 , "" , '.'); ?></td>
</tr>
<?php
$gt_pelayanan += $rowPelayananId1['harga_pelayanan'];
}
}else{ ?>
<tr>
<td style="text-align: center; font-weight: bold;"
colspan="100">Pesan Pelayanan Anda . . .</td>
</tr>
<?php
}
?>
</tbody>
</table>
<div class="col-lg-7" style="padding:0px;"></div>
<div class="col-lg-5" style="padding:0px;">
<div class="panel panel-default">
<div class="panel-body">
<h3 class="pull-right" style="font-weight: bold; color: red; font-
size: 20px;"><?php echo "Total Harga : Rp. ".number_format($gt_pelayanan, 0 ,
"" , '.');; ?></h3>
</div>
</div>
</div>
<div class="clearfix"></div>
</div>
<a target="_blank" href="laporan/cetak_treatment.php?id=<?php echo
$rowPasienId['id_pasien']; ?>" class="btn btn-block btn-danger btn-lg">
<i class="glyphicon glyphicon-print"></i> Cetak
</a>
<a href="model/proses_treatment.php?aksi=bayar&id=<?php echo
$rowPasienId['id_pasien']; ?>" class="btn btn-block btn-warning btn-lg"
onclick="return confirm('Apakah Anda Yakin . . . ?');">
<i class="glyphicon glyphicon-ok"></i> Simpan
</a>
</div>
<!-- Riwayat Pemeriksaan -->
<div class="tab-pane" id="rp">
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt1">
<thead>
136
<tr class="warning">
<th>No.</th>
<th>Tgl.Pelayanan</th>
<th>Paket.Treatment</th>
<th>Diagnosa</th>
<th>Rencana</th>
<th>Programmer</th>
<th>Catatan</th>
<th>Admin</th>
</tr>
</thead>
<tbody>
<?php
$no =1;
$statusBayar = 1;
$sqlPelayananId = mysql_query("SELECT * FROM pelayanan
JOIN paket ON
pelayanan.id_paket=paket.id_paket
JOIN consultant ON
pelayanan.id_consultant=consultant.id_consultant
JOIN perawat ON
pelayanan.id_perawat=perawat.id_perawat
JOIN user ON pelayanan.id_user=user.id_user
WHERE id_pasien='$id' AND
statusBayar=$statusBayar ");
if (mysql_num_rows($sqlPelayananId) > 0) {
while ($rowPelayananId = mysql_fetch_array($sqlPelayananId)) {
?>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo date('d-m-Y',
strtotime($rowPelayananId['tgl_pelayanan'])); ?></td>
<td><?php echo $rowPelayananId['nama_paket']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['diagnosa_pelayanan']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['rencana_pelayanan']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['program_pelayanan']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['catatan']; ?></td>
<td><?php echo $rowPelayananId['nama_user']; ?></td>
</tr>
<?php
}
}else{ ?>
<tr>
137
<td style="text-align: center; font-weight: bold;"
colspan="100">Belum Ada Riwayat Pemeriksaan</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
<!-- /.tab-pane -->
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- /.nav-tabs-custom -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<?php
}
elseif ($_GET['aksi'] == 'transaksi_pelayan') { ?>
<?php
if (!empty($_GET['id'])) {
$id = $_GET['id'];
$sqlPasienId = mysql_query("SELECT * FROM pasien WHERE
id_pasien='$id' ");
if ($sqlPasienId > 0) {
$rowPasienId = mysql_fetch_array($sqlPasienId);
}
}else{
header("Location : treatment.php");
}
?>
<div class="box box-warning">
<div class="box-header with-border">
<div class="row">
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php" class="btn btn-warning btn-block">
Form Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-right:; ">
138
<a href="treatment.php?aksi=kasir" class="btn btn-success btn-block">
Kasir Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-left:; ">
<a href="treatment.php?aksi=daftar_treatment" class="btn btn-default
btn-block">
Daftar Treatment
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<!-- Profile Image -->
<div class="box box-primary">
<div class="box-body box-profile">
<img class="profile-user-img img-responsive img-circle"
src="images/nofoto.png" alt="User profile picture">
<hr>
<h3 class="profile-username text-center"><strong><?php echo
$rowPasienId['nama_pasien']; ?></strong></h3>
<p class="text-muted text-center"><strong>ID Pasien : <?php echo
$rowPasienId['id_pasien']; ?></strong></p>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
<!-- About Me Box -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Keluhan Pasien</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<strong><?php echo $rowPasienId['keterangan_pasien']; ?></strong>
<hr>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
<!-- /.col -->
139
<div class="col-md-9">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active"><a href="#tp" data-toggle="tab">Form Transaksi
Pelayanan</a></li>
<li><a href="#rp" data-toggle="tab">Riwayat Pemeriksaan</a></li>
<li><a href="#pesanan_pelayanan" data-toggle="tab">Pesanan
Pelayanan</a></li>
</ul>
<div class="tab-content">
<!-- Transaksi Pelayanan -->
<div class="active tab-pane" id="tp">
<div class='row'>
<?php
if (isset($_SESSION['notif'])) {
if($_SESSION['notif']!='') {
if (strpos($_SESSION['notif'], 'SUKSES') !== false) { ?>
<div class="col-lg-12">
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}else{
?>
<div class="col-lg-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}
}
unset($_SESSION['notif']);
}
?>
</div>
<form method="POST"
action="model/proses_treatment.php?aksi=simpan_pelayanan" role="form"
class="form-horizontal" id="form_pelayanan">
140
<input type="hidden" name="id_pasien" value="<?php echo
$rowPasienId['id_pasien']; ?>">
<div class="form-group">
<label for="inputName" class="col-sm-3 control-label">Paket
Treatment <span style="font-weight: bold; color: red;">*</span></label>
<div class="col-sm-9">
<input type="text" class="form-control" name="nama_paket"
id="nama_paket" placeholder="Paket Treatment" autofocus="">
<input type="hidden" name="id_paket" id="id_paket">
</div>
</div>
<div class="form-group">
<label for="inputName" class="col-sm-3 control-label">Nama
Consultant <span style="font-weight: bold; color: red;">*</span></label>
<div class="col-sm-9">
<select name="id_consultant" class="form-control" id="">
<option value="">---- Pilih Nama Consultant ----</option>
<?php
$SqlConsultant = mysql_query("SELECT * FROM consultant
ORDER BY nama_consultant");
if (mysql_num_rows($SqlConsultant) > 0) {
while ($rowConsultant = mysql_fetch_array($SqlConsultant)) {
?>
<option value="<?php echo $rowConsultant['id_consultant'];
?>"><?php echo $rowConsultant['nama_consultant']; ?></option>
<?php
}
}
?>
</select>
</div>
</div>
<div class="form-group">
<label for="inputName" class="col-sm-3 control-label"> Nama
Perawat <span style="font-weight: bold; color: red;">*</span></label>
<div class="col-sm-9">
<select name="id_perawat" class="form-control" id="">
<option value="">---- Pilih Nama Perawat ----</option>
<?php
$Sqlperawat = mysql_query("SELECT * FROM perawat ORDER
BY nama_perawat");
if (mysql_num_rows($Sqlperawat) > 0) {
while ($rowperawat = mysql_fetch_array($Sqlperawat)) { ?>
<option value="<?php echo $rowperawat['id_perawat'];
?>"><?php echo $rowperawat['nama_perawat']; ?></option>
<?php
}
141
}
?>
</select>
</div>
</div>
<div class="form-group">
<label for="inputSkills" class="col-sm-3 control-
label">Catatan</label>
<div class="col-sm-9">
<textarea type="text" name="catatan" class="form-control"
placeholder="Catatan"></textarea>
</div>
</div>
<div class="form-group">
<label for="inputEmail" class="col-sm-3 control-label">Harga Paket
<span style="font-weight: bold; color: red;">*</span></label>
<div class="col-sm-9">
<div class="input-group">
<div class="input-group-addon">Rp. </div>
<input type="text" class="form-control" name="harga_pelayanan"
id="harga_paket" placeholder="0" readonly="">
</div>
</div>
</div>
<button type="submit" class="btn btn-warning pull-right"
style="margin-left: 5px;">Simpan</button>
<a href="treatment.php" class="btn btn-default pull-right">
Batal
</a>
<div class="clearfix"></div>
</form>
</div>
<!-- Riwayat Pemeriksaan -->
<div class="tab-pane" id="rp">
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt">
<thead>
<tr class="warning">
<th>No.</th>
<th>Tgl.Pelayanan</th>
<th>Paket.Treatment</th>
<th>Diagnosa</th>
<th>Rencana</th>
<th>Programmer</th>
142
<th>Catatan</th>
<th>Admin</th>
</tr>
</thead>
<tbody>
<?php
$no =1;
$statusBayar = 1;
$sqlPelayananId = mysql_query("SELECT * FROM pelayanan
JOIN paket ON
pelayanan.id_paket=paket.id_paket
JOIN consultant ON
pelayanan.id_consultant=consultant.id_consultant
JOIN perawat ON
pelayanan.id_perawat=perawat.id_perawat
JOIN user ON pelayanan.id_user=user.id_user
WHERE id_pasien='$id' AND
statusBayar=$statusBayar ");
if (mysql_num_rows($sqlPelayananId) > 0) {
while ($rowPelayananId = mysql_fetch_array($sqlPelayananId)) {
?>
<tr>
<td><?php echo $no++; ?></td>
<td><?php echo date('d-m-Y',
strtotime($rowPelayananId['tgl_pelayanan'])); ?></td>
<td><?php echo $rowPelayananId['nama_paket']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['diagnosa_pelayanan']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['rencana_pelayanan']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['program_pelayanan']; ?></td>
<td style="text-align: justify;"><?php echo
$rowPelayananId['catatan']; ?></td>
<td><?php echo $rowPelayananId['nama_user']; ?></td>
</tr>
<?php
}
}else{ ?>
<tr>
<td style="text-align: center; font-weight: bold;"
colspan="100">Belum Ada Riwayat Pemeriksaan</td>
</tr>
<?php
}
?>
</tbody>
</table>
143
</div>
</div>
<!-- /.tab-pane -->
<div class="tab-pane" id="pesanan_pelayanan">
<div class="table-responsive">
<table class="table table-bordered table-striped" id="dt1">
<thead>
<tr class="warning">
<th>No.</th>
<th>Tgl.Pelayanan</th>
<th>Paket.Treatment</th>
<th>Consultant.Treatment</th>
<th>Beuaty.Treatment</th>
<th>Catatan</th>
<th>Admin</th>
<th>Harga</th>
</tr>
</thead>
<tbody>
<?php
$no1 =1;
$statusBayar1 = 0;
$gt_pelayanan = 0;
$sqlPelayananId1 = mysql_query("SELECT * FROM pelayanan
JOIN paket ON
pelayanan.id_paket=paket.id_paket
JOIN consultant ON
pelayanan.id_consultant=consultant.id_consultant
JOIN perawat ON
pelayanan.id_perawat=perawat.id_perawat
JOIN user ON pelayanan.id_user=user.id_user
WHERE id_pasien='$id' AND
statusBayar=$statusBayar1 ");
if (mysql_num_rows($sqlPelayananId1) > 0) {
while ($rowPelayananId1 = mysql_fetch_array($sqlPelayananId1))
{ ?>
<tr>
<td><?php echo $no1++; ?></td>
<td><?php echo date('d-m-Y',
strtotime($rowPelayananId1['tgl_pelayanan'])); ?></td>
<td><?php echo $rowPelayananId1['nama_paket']; ?></td>
<td><?php echo $rowPelayananId1['nama_consultant']; ?></td>
<td><?php echo $rowPelayananId1['nama_perawat']; ?></td>
<td><?php echo $rowPelayananId1['catatan']; ?></td>
<td><?php echo $rowPelayananId1['nama_user']; ?></td>
144
<td><?php echo
"Rp.".number_format($rowPelayananId1['harga_pelayanan'], 0 , "" , '.'); ?></td>
</tr>
<?php
$gt_pelayanan += $rowPelayananId1['harga_pelayanan'];
}
}else{ ?>
<tr>
<td style="text-align: center; font-weight: bold;"
colspan="100">Pesan Pelayanan Anda . . .</td>
</tr>
<?php
}
?>
</tbody>
</table>
<div class="col-lg-7" style="padding:0px;"></div>
<div class="col-lg-5" style="padding:0px;">
<div class="panel panel-default">
<div class="panel-body">
<h3 class="pull-right" style="font-weight: bold; color: red; font-
size: 20px;"><?php echo "Total Harga : Rp. ".number_format($gt_pelayanan, 0 ,
"" , '.');; ?></h3>
</div>
</div>
</div>
<div class="clearfix"></div>
</div>
</div>
<!-- /.tab-pane -->
</div>
<!-- /.tab-content -->
</div>
<!-- /.nav-tabs-custom -->
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<?php
}else{
header("Location: treatment.php");
}
}else{ ?>
<div class="box box-warning">
145
<div class="box-header with-border">
<div class="row">
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php" class="btn btn-warning btn-block">
Form Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-right:; ">
<a href="treatment.php?aksi=kasir" class="btn btn-success btn-block">
Kasir Treatment
</a>
</div>
<div class="col-md-4 col-lg-4" style="padding-left:; ">
<a href="treatment.php?aksi=daftar_treatment" class="btn btn-default
btn-block">
Daftar Treatment
</a>
</div>
</div>
<div class='clearfix'></div>
</div>
<div class="box-body">
<div class="box box-success">
<div class="box-header with-border">
<h3 class="box-title">Daftar Pasien Treatment A - Z</h3>
<a href="master_pasien.php?aksi=tambah" class='btn btn-warning btn-
sm pull-right'>
<i class="glyphicon glyphicon-plus"></i> Pasien Baru
</a>
</div>
<div class="box-body">
<div class='row'>
<?php
if (isset($_SESSION['notif'])) {
if($_SESSION['notif']!='') {
if (strpos($_SESSION['notif'], 'SUKSES') !== false) { ?>
<div class="col-lg-12">
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
146
}else{
?>
<div class="col-lg-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<?php echo $_SESSION['notif']; ?>
</div>
</div>
<?php
}
}
unset($_SESSION['notif']);
}
?>
</div>
<div class="clearfix"></div>
<div class="table-responsive">
<table class="table table-bordered table-striped table-condensed"
id="dt">
<thead>
<tr class="warning">
<th>ID Pasien</th>
<th>Nama</th>
<th>JK</th>
<th>Tgl.Lahir</th>
<th>Status</th>
<th>No.Telp</th>
<th>Alamat</th>
<th style="text-align: center;">Keluhan</th>
<th style="text-align: center;">Transaksi</th>
</tr>
</thead>
<tbody>
<?php
$SqlPasien = mysql_query("SELECT * FROM pasien ORDER BY
id_pasien");
if (mysql_num_rows($SqlPasien) > 0) {
while ($ResultPasien = mysql_fetch_array($SqlPasien)) { ?>
<tr>
<td><?php echo $ResultPasien['id_pasien']; ?></td>
<td><?php echo $ResultPasien['nama_pasien']; ?></td>
<td><?php echo $ResultPasien['jeniskelamin_pasien']; ?></td>
<td><?php echo date('d-m-Y',
strtotime($ResultPasien['tgllahir_pasien'])); ?></td>
<td><?php echo $ResultPasien['status_pasien']; ?></td>
<td><?php echo $ResultPasien['telp_pasien']; ?></td>
147
<td><?php echo $ResultPasien['alamat_pasien']; ?></td>
<td style="width: 10%;">
<a class="btn btn-info btn-sm btn-block detil" data-
toggle="modal" href='#modal-id_keluhan'
data-id_pasien="<?php echo $ResultPasien['id_pasien']; ?>">
<i class="glyphicon glyphicon-list-alt"></i> Keluhan
</a>
<div class="modal fade" id="modal-id_keluhan">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">×</button>
<h4 class="modal-title">Keluhan Pasien</h4>
</div>
<div class="modal-body">
<div id="tampilModal"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-
dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</td>
<td style="width: 10%;">
<a href="treatment.php?aksi=transaksi_pelayan&id=<?php echo
$ResultPasien['id_pasien']; ?>" class="btn btn-success btn-block btn-sm">
<i class="glyphicon glyphicon-transfer"></i> Transaksi
</a>
</td>
</tr>
<?php
}
}else{ ?>
<tr>
<td style="text-align: center; font-weight: bold;"
colspan="100">Data Tidak Ada . . .</td>
</tr>
<?php
}
?>
</tbody>
148
</table>
</div>
</div>
</div>
</div>
</div>
<?php
}
?>
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<?php
include 'footer.php';
?>
<script type="text/javascript"
src="assets/datatable/js/dataTables.bootstrap.js"></script>
<script>
$("#dt").DataTable({
iDisplayLength: 50,
responsive: true,
"info": true,
"ordering": true,
columnDefs: [
{ orderable: false, targets: -1 }
]
});
$("#dt1").DataTable({
iDisplayLength: 50,
responsive: true,
"info": true,
"ordering": true,
columnDefs: [
{ }
]
});
</script>
<script type="text/javascript" src="assets/js/bootstrapValidator.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#form_pelayanan').bootstrapValidator({
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
149
validating: 'glyphicon glyphicon-refresh'
},
fields: {
nama_paket: {
validators:{
notEmpty: {
message: 'Nama Paket Tidak Boleh Kosong'
}
}
},
id_consultant: {
validators:{
notEmpty: {
message: 'Nama Consultant Tidak Boleh Kosong'
}
}
},
id_perawat: {
validators:{
notEmpty: {
message: 'Nama Perawat Tidak Boleh Kosong'
}
}
},
harga_pelayanan: {
validators:{
notEmpty: {
message: 'Harga Paket Tidak Boleh Kosong'
}
}
},
}
});
});
$(document).on("click", "#hapus", function(e) {
var link = $(this).attr("href");
e.preventDefault();
bootbox.confirm("Anda yakin ingin menghapus data ini ?", function(result) {
if (result) {
document.location.href = link;
}
});
});
150
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#jumlah").blur(function(){
function numberWithCommas (x){
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
var hargaProduk = $("#harga_produk").val();
var hargaProduk = hargaProduk.replace('.','')
var jumlah = $("#jumlah").val();
var total_harga = +hargaProduk * + jumlah;
$("#total_harga").val(numberWithCommas(total_harga));
})
})
</script>
<script type="text/javascript">
$('#tgl_awal').datepicker({
autoclose: true
});
$('#tgl_akhir').datepicker({
autoclose: true
});
</script>
<!-- Modal Keluhan -->
<script type="text/javascript">
$(document).on("click", ".detil", function(){
var id_pasien = $(this).data("id_pasien");
$.ajax({
url :'api/modalDetilKeluhan.php',
type :'POST',
data :{
'id_pasien' : id_pasien
},
success : function(data){
$('#tampilModal').html(data);
}
});
});
</script>
151
<link rel="stylesheet" href="plugins/easyautocomplete/easy-
autocomplete.min.css">
<script type="text/javascript" src="plugins/easyautocomplete/jquery.easy-
autocomplete.min.js"></script>
<script type="text/javascript">
var options3 = {
url: "api/json_paket.php",
getValue: "nama_paket",
// template: {
// type: "description",
// fields: {
// description: "kode_supplier"
// }
// },
list: {
match: {
enabled: true
},
onChooseEvent: function() {
var selectedItemValue = $("#nama_paket").getSelectedItemData().id_paket;
var selectedItemValue1 =
$("#nama_paket").getSelectedItemData().harga_paket;
var selectedItemValue2 =
$("#nama_paket").getSelectedItemData().nama_paket;
// var selectedItemValue2 =
$("#nama_pesanan").getSelectedItemData().harga_makanan2;
$("#id_paket").val(selectedItemValue).trigger("change");
$("#harga_paket").val(selectedItemValue1).trigger("change");
$("#nama_paket").val(selectedItemValue2).trigger("change");
// $("#harga_pesanan").val(selectedItemValue2).trigger("change");
}
}
};
$("#nama_paket").easyAutocomplete(options3);
</script>
<!-- modal catatan_pelayanan -->
<script type="text/javascript">
152
$(document).ready(function(){
$(".catatan_pelayanan").click(function(){
var id_pelayanan = $(this).data("id_pelayanan");
var diagnosa_pelayanan = $(this).data("diagnosa_pelayanan");
var rencana_pelayanan = $(this).data("rencana_pelayanan");
var program_pelayanan = $(this).data("program_pelayanan");
var id_pasien = $(this).data("id_pasien");
$(".id_pelayanan").val(id_pelayanan);
$(".diagnosa_pelayanan").val(diagnosa_pelayanan);
$(".rencana_pelayanan").val(rencana_pelayanan);
$(".program_pelayanan").val(program_pelayanan);
$(".id_pasien").val(id_pasien);
});
})
</script>
</body>
</html>
3.6.2. Black Box Testing
Pengujian unit berfungsi untuk menguji kelayakan aplikasi yang telah
dibuat. Black box testing digunakan sebagai teknik dalam pengujian unit. Pengujian
yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan memeriksa
kelayakan fungsional sistem dari aplikasi laporan keuangan pada CV. House of
Dura yang telah dibuat.
1. Pengujian browser
Tabel III.16.
Hasil Pengujian Black Box Testing Browser
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Buka dengan
Chrome
Chrome
(terbuka)
Aplikasi dapat
diakses dan
tampilan sesuai
Sesuai
harapan Valid
2. Buka dengan
Mozila Firefox
Mozila
Firefox
(terbuka)
Aplikasi dapat
diakses dan
tampilan sesuai
Sesuai
harapan Valid
Sumber: Hasil Penelitian (2018)
153
2. Pengujian halaman login
Tabel III.17.
Hasil Pengujian Black Box Testing Halaman Login
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
username:
(kosong)
aplikasi menolak
akses dan
menampilkan
pesan “username
tidak boleh
kosong”
Sesuai
harapan Valid
3.
Kolom terisi
namun tidak
sesuai
(username,
password
dan level
akses tidak
sesuai)
username:
(aaaaaa)
password:
(aaaaa)
level akses:
(aaaa)
aplikasi menolak
akses dan
menampilkan
pesan
“username,
password, atau
level anda salah,
silahkan coba
lagi!!!”
Tidak
Sesuai
Harapn
Invalid
4
Kolom terisi
dan sesuai
(username
dan password
sesuai)
username:
(hesti)
password:
(123456)
level akses:
(manager)
Aplikasi
menerima akses
dan
mengantarkan
pengguna ke
halaman
beranda.
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
3. Pengujian halaman tambah pembelian
Tabel III.18.
Hasil Pengujian Black Box Testing Halaman Tambah Pembelian
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
qty:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “jumlah
tidak boleh
kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
154
4. Pengujian halaman tambah penjualan
Tabel III.19.
Hasil Pengujian Black Box Testing Halaman Tambah Penjualan
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
nama
produk:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “nama
produk tidak
boleh kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
5. Pengujian halaman tambah treatment
Tabel III.20.
Hasil Pengujian Black Box Testing Halaman Tambah Treatment
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
alamat:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “alamat
pasien tidak
boleh kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
155
6. Pengujian halaman tambah biaya
Tabel III.21.
Hasil Pengujian Black Box Testing Halaman Tambah Biaya
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
nama
biaya:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “nama
biaya tidak boleh
kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
7. Pengujian halaman buku besar
Tabel III.22.
Hasil Pengujian Black Box Testing Halaman Buku Besar
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
pencarian
dikosongkan
tgl awal:
(kosong)
tgl akhir:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “isi
tanggal
pencarian”
Tidak
Sesuai
harapan
Invalid
2
Jika semua
kolom
pencarian
terisi
Kolom:
berisi
Aplikasi
menerima akses,
kemudian
mencari dan
menampilkan
buku besar
sesuai dengan
kolom pencarian
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
156
8. Pengujian halaman tambah master admin
Tabel III.23.
Hasil Pengujian Black Box Testing Halaman Tambah Master Admin
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
nama:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “nama
tidak boleh
kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
Berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
9. Pengujian halaman tambah akun
Tabel III.24.
Hasil Pengujian Black Box Testing Halaman Tambah Akun
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
kode akun:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “kode
akun tidak boleh
kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
Berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
157
10. Pengujian halaman tambah master produk
Tabel III.25.
Hasil Pengujian Black Box Testing Halaman Tambah Master Produk
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
satuan
produk:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “satuan
produk tidak
boleh kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
Berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
11. Pengujian halaman tambah master treatment
Tabel III.26.
Hasil Pengujian Black Box Testing Halaman Tambah Master Treatment
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
nama
treatment:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “nama
treatment tidak
boleh kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
Berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
158
12. Pengujian halaman tambah perawat
Tabel III.27.
Hasil Pengujian Black Box Testing Halaman Tambah Perawat
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
nama
perawat:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “nama
perawat tidak
boleh kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
Berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
13. Pengujian halaman tambah consultant
Tabel III.28.
Hasil Pengujian Black Box Testing Halaman Tambah Consultant
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
nama
consultant:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “nama
consultant tidak
boleh kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
Berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
159
14. Pengujian halaman tambah pasien
Tabel III.29.
Hasil Pengujian Black Box Testing Halaman Tambah Pasien
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika salah
satu kolom
dikosongkan
nama
pasien:
(kosong)
Kolom
lain:
(terisi)
aplikasi menolak
akses dan
menampilkan
pesan “nama
pasien tidak
boleh kosong”
Sesuai
harapan Valid
2 Jika semua
kolom terisi
Kolom:
Berisi
Aplikasi
menerima akses
dan menyimpan
data tersebut
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
15. Pengujian halaman laporan stok
Tabel III.30.
Hasil Pengujian Black Box Testing Halaman Laporan Stok
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Jika kolom
pencarian
dikosongkan
Kolom
pencarian:
(kosong)
aplikasi
menampilkan
stok secara
keseluruhan
Sesuai
harapan Valid
2
Jika kolom
pencarian
terisi
Kolom
pencarian:
(cleanser)
Aplikasi
menerima akses,
kemudian
mencari dan
menampilkan
stok cleanser
saja
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
160
16. Pengujian halaman laporan neraca saldo
Tabel III.31.
Hasil Pengujian Black Box Testing Halaman Neraca Saldo
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Klik halaman
laporan
neraca saldo
Klik menu
laporan
neraca
saldo
Aplikasi
menerima akses
dan
menampilkan
laporan neraca
saldo sesuai
dengan bulan
klik
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
17. Pengujian halaman laporan laba rugi
Tabel III.32.
Hasil Pengujian Black Box Testing Halaman Laporan Laba Rugi
No. Skenario
pengujian Test case
Hasil yang
diharapkan
Hasil
pengujian Kesimpulan
1.
Klik halaman
laporan laba
rugi
Klik menu
laporan
laba rugi
Aplikasi
menerima akses
dan
menampilkan
laporan laba rugi
sesuai dengan
bulan klik
Sesuai
Harapan Valid
Sumber: Hasil Penelitian (2018)
3.6.3. Spesifikasi Hardware dan Software
Spesifikasi kebutuhan perangkat keras (hardware) dan kebutuhan perangkat
lunak (software) yang diperlukan untuk mengoperasikan aplikasi laporan keuangan
pada CV. House of Dura. Berikut ini adalah uraian dari kebutuhan perangkat keras
(hardware) dan kebutuhan perangkat lunak (software).
A. Perangkat Keras (Hardware)
161
Kebutuhan perangkat keras (hardware) yang diperlukan untuk
mengimplementasikan aplikasi laporan keuangan pada pada CV. House of Dura,
yaitu:
1. Processor : 2.0 Ghz
2. Harddisk : 80 Gb
3. Memory : 512 Mb
4. VGA : 128 Mb
5. Monitor : 15’’
6. Mouse dan keyboard
7. Printer
B. Perangkat Lunak (Software)
Spesifikasi perangkat lunak (software) yang dibutuhkan untuk mendukung
aplikasi laporan keuangan pada pada CV. House of Dura yang akan dibangun
adalah sebagai berikut:
1. Sistem Operasi : Windows 7 32-bit
2. WebServer : Wamp Server 2.1
a. Apache : Apache 2.2.17
b. MySQL : MySQL 5.5.8
c. PHP : PHP 5.3.5
3. Web Editor : Sublime Text 3
4. Web Browser
a. Mozzila Firefox : Versi 53.0.3
b. Google Chrome : Versi 58.0.3029.110
162