bab iii pembahasan · pt fakta jabar mediatama merupakan perusahaan media cetak dan online sebagai...

69
31 BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan 3.1.1. Sejarah Perusahaan PT Fakta Jabar Mediatama merupakan perusahaan media cetak dan online sebagai bisnis utama, yang dibentuk sejak 26 November 2012 . Kinerja awak Fakta yang luar biasa, sehingga dalam kurun waktu kurang dari 1 tahun telah melahirkan media cetak lokal di beberapa daerah Jawa Barat, Seperti: Fakta Bekasi, Fakta Purwakarta, Fakta Subang, Fakta Garut, Fakta Tasik, Fakta Ciamis, Fakta Banjar, dan Fakta Bandung. Telah menempatkan Fakta Jabar Mediatama sebagai salah satu jaringan media cetak terbesar di Jawa Barat. PT Fakta Jabar Mediatama yang berpusat di Jl. Jakarta no 13A , Karangpawitan, Karawang merupakan perusahaan yang bergerak dalam bidang media informasi,dan penerbitan surat kabar cetak . Proses kegiatan dalam PT Fakta Jabar Mediatama Karawang terus di kembangkan dan diperbaiki sehingga dapat mengoptimalkan dan meningkatkan kemajuan perusahaan. Pertumbuhan bisnis yang kian pesat, serta kepercayaan publik yang semakin menguat kepada perusahaan ini, menuntut PT Fakta Jabar Mediatama melebarkan sayap usahanya pada bidang jasa konsultan, event organizer, advertising, serta beberapa bidang lainnya.

Upload: others

Post on 05-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 31

    BAB III

    PEMBAHASAN

    3.1. Tinjauan Perusahaan

    3.1.1. Sejarah Perusahaan

    PT Fakta Jabar Mediatama merupakan perusahaan media cetak dan online

    sebagai bisnis utama, yang dibentuk sejak 26 November 2012 . Kinerja awak Fakta

    yang luar biasa, sehingga dalam kurun waktu kurang dari 1 tahun telah melahirkan

    media cetak lokal di beberapa daerah Jawa Barat, Seperti: Fakta Bekasi, Fakta

    Purwakarta, Fakta Subang, Fakta Garut, Fakta Tasik, Fakta Ciamis, Fakta Banjar,

    dan Fakta Bandung. Telah menempatkan Fakta Jabar Mediatama sebagai salah satu

    jaringan media cetak terbesar di Jawa Barat.

    PT Fakta Jabar Mediatama yang berpusat di Jl. Jakarta no 13A ,

    Karangpawitan, Karawang merupakan perusahaan yang bergerak dalam bidang

    media informasi,dan penerbitan surat kabar cetak . Proses kegiatan dalam PT Fakta

    Jabar Mediatama Karawang terus di kembangkan dan diperbaiki sehingga dapat

    mengoptimalkan dan meningkatkan kemajuan perusahaan. Pertumbuhan bisnis yang

    kian pesat, serta kepercayaan publik yang semakin menguat kepada perusahaan ini,

    menuntut PT Fakta Jabar Mediatama melebarkan sayap usahanya pada bidang jasa

    konsultan, event organizer, advertising, serta beberapa bidang lainnya.

  • 32

    3.1.2. Struktur Organisasi dan Fungsi

    Direktur Utama

    General Manager

    Pemimpin Redaksi

    Redaktur Pelaksana

    Staff Redaktur

    Reporter

    Kadiv Iklan

    Staff Iklan

    Kadiv Keuangan

    Staff Keuangan

    Sumber : PT Fakta Jabar Mediatama Karawang

    Gambar III.1.

    Struktur Organisasi

    Keterangan :

    1. Direktur Utama

    Bertugas memimpin perusahaan dengan menerbitkan kebijakan-kebijakan

    perusahaan, menetapkan, mengawasi, tugas dari karyawan dan kepala bagian,

    juga bertugas menyetujui anggaran tahunan perusahaan.

  • 33

    2. General Manager

    Bertugas untuk bertanggung jawab kepada seluruh bagian/ fungsional pada

    perusahaan, memimpin beberapa unit bidang fungsi pekerjaan yang mengepalai

    kepala bagian lain.

    3. Pemimpin Redaksi

    Bertugas untuk bertanggung jawab terhadap mekanisme dan aktivitas kerja

    keredaksian sehari-hari.

    4. Staff Redaktur

    Bertugas sebagai bagian editan/penyuntingan, penyeleksian dan perbaikan

    naskah yang akan dimuat atau disiarkan.

    5. Redaktur Pelaksana

    Bertugas memimpin secara langsung aktivitas peliputan dan pembuatan berita

    oleh para reporter dan editor.

    6. Reporter

    Bertugas melakukan reportase kepada narasumber untuk mencari berita,

    membuat atau menyusun berita .

    7. Kepala Divisi Iklan

    Bertugas sebagai membuat kebijakan segala hal terkait dengan periklanan,

    memonitor staf iklan, memelihara area penjualan.

    8. Staff Iklan

    Bertugas sebagai menerima klien yang akan memasang iklan, menagih

    pembayaran bila iklan yang dipasang dengan pembayaran kredit.

  • 34

    9. Kepala Divisi Keuangan

    Bertugas sebagai melakukan perencanaan dalam siklus keuangan

    perusahaan,pengambil keputusan tentang investasi dan pembiayaan serta segala

    hal terkait dengan keuangan perusahaan.

    10. Staff Keuangan

    Bertugas sebagai pengelola atas segala hal terkait dengan segala transaksi dana

    masuk dan keluar dalam kegiatan perusahaan.

    3.2 Tinjauan Kasus

    3.2.1 Prosedur Sistem Berjalan

    Prosedur sistem berjalan penerimaan piutang jasa iklan adalah sebagai

    berikut :

    1. Prosedur Pengajuan Iklan

    Klien mengajukan pemasangan iklan, kemudian staff iklan memberikan form

    untuk diisi kepada klien. Setelah form diisi, klien menandatangi MOU sesuai

    dengan sistem pembayaran yang telah disetujui.

    2. Prosedur Pencatatan Piutang Iklan

    Form yang telah di terima oleh staff iklan , kemudian di laporkan untuk di tanda

    tangani oleh kepala divisi iklan. Setelah itu, data dikirimkan ke bag keuangan

    agar mencatatnya sebagai data piutang .

  • 35

    3. Prosedur Penerimaan Biaya Iklan

    Staff iklan mengirimkan invoice penagihan yang telah diterima dari bag

    keuangan untuk diberikan kepada klien beserta bukti laman koran akhir periode

    yang terdapat iklan tersebut. Setelah bukti transaksi dari klien diterima oleh

    bagian keuangan, selanjutnya data transaksi tersebut diinput dan bukti

    pembayaran disimpan untuk pengarsipan.

    4. Prosedur Pembuatan Laporan

    Bag keuangan membuat laporan pendapatan iklan berdasarkan data-data yang

    telah diinput dari pembayaran klien untuk diajukan kepada Direktur Utama.

    3.2.2. Activity Diagram Sistem Berjalan

    Actvity Diagram adalah diagram yang menggambarkan workflow (aliran

    kerja) atau aktivitas dari sebuah sistem atau proses bisnis.

  • 36

    Sumber : PT Fakta Jabar Mediatama Karawang

    Gambar III.2.

    Activity Diagram Sistem Berjalan

    3.2.3. Spesifikasi Dokumen Masukan

    Dokumen masukan adalah bentuk yang diperlukan dalam penerimaan

    piutang jasa Dokumen masukan akan diolah sesuai dengan maksud dan tujuan

    sistem. Bentuk dari dokumen masukan tersebut adalah :

    1. Form Pengajuan Iklan

    Nama Dokumen : FI

    Fungsi : Sebagai data piutang pengajuan iklan

    Sumber : Staff Iklan

  • 37

    Tujuan : Bag Keuangan

    Frukuensi : Setiap klien yang ingin mengajukan jasa iklan

    Media : Kertas

    Jumlah Rangkap : 1 Lembar

    Bentuk : A.1

    2. Bukti Transaksi Pembayaran

    Nama Dokumen :TF

    Fungsi :Sebagai bukti telah diterima pembayaran piutang

    Sumber :Konsumen

    Tujuan :Bag Keuangan

    Frukuensi :Setiap transaksi pembayaran yang telah dilakukan oleh

    klien

    Media : Kertas

    Jumlah Rangkap :1 Lembar

    Bentuk : A.2

    3.2.4. Spesifikasi Dokumen Keluaran

    1. Invoice Penagihan

    Nama Dokumen : INV

    Fungsi : Sebagai dokumen kelengkapan penagihan

    Sumber : Bag Keuangan

    Tujuan : Staff Iklan

    Frukuensi : Setiap akhir periode iklan sesuai kesepakatan pada MOU

    yang telah disepakati .

  • 38

    Media : Kertas

    Jumlah Rangkap : 1 Lembar

    Bentuk : B.1

    2. Laporan Penerimaan Pembayaran

    Nama Dokumen : LAP

    Fungsi : Sebagai laporan penerimaan pembayaran jasa iklan

    Sumber : Bag Keuangan

    Tujuan : Direktur Utama

    Frukuensi : Setiap bulan .

    Media : Kertas

    Jumlah Rangkap : 1 Lembar

    Bentuk : B.2

    3.2.5. Permasalahan Pokok

    Berdasarkan analisa sistem berjalan pada prosedur penerimaan piutang jasa

    iklan pada PT Fakta Jabar Mediatama Karawang, maka penulis dapat

    menyimpulkan masalah pokok yang terjadi diantaranya :

    1. Sistem penginputan data penerimaan piutang atas jasa iklan yang masih

    manual, dapat menyebabkan kesalahan pencatatan maupun redundan yang

    dapat menimbulkan tidak efektifnya kinerja peusahaan.

  • 39

    2. Dengan sistem pembuatan laporan yang hanya menggunakan MS. Excel

    maka dapat menyebabkan data laporan termanipulasi, dan pula

    mempengaruhi nilai waktu yang lebih lama/ tidak efisien.

    3.2.6. Pemecahan Masalah

    Atas dasar hasil permasalahan pokok yang telah didapat oleh penulis setelah

    proses penganalisaan sistem berjalan pada penerimaan piutang jasa iklan maka

    alternatif pemecahan masalahnya adalah :

    1. Dengan adanya program khusus dalam pencatatan penerimaan piutang

    diharap mampu mengefisiensi pekerjaan menjadi lebih mudah.

    2. Pembuatan laporan yang terprogram secara otomatis atas dasar penginputan

    data, dapat mempercepat proses pembuatan laporan menjadi lebih akurat,

    valid dan mengurangi terjadinya kesalahan atau manipulasi data.

    3.3. Analisis Kebutuhan Software

    3.3.1. Analisa Kebutuhan

    1. Halaman Bagian Staff Iklan

    A.1. Staff Iklan dapat melakukan login kedalam sistem

    A.2. Staff Iklan dapat mengelola Data Klien

    A.3. Staff Iklan dapat mengelola Data Iklan

  • 40

    A.4. Staff Iklan dapat mengelola Transaksi Jasa Iklan

    2. Halaman Bagian Staff Keuangan

    B.1. Staff Keuangan dapat melakukan login kedalam sistem

    B.2. Staff Keuangan dapat mengelola Transaksi Pembayaran Piutang

    B.3. Staff Keuangan dapat mengakses Laporan Piutang

    B.4. Staff Keuangan dapat mengakses Laporan Jurnal

    3. Halaman Direktur Utama

    C.1. Direktur Utama dapat melakukan login kedalam sistem

    C.2. Direktur Utama dapat mengakses Laporan Piutang

    C.3. Direktur Utama dapat mengakses Laporan Penerimaan Jasa Iklan

    C.4. Direktur Utama dapat mengakses Laporan Jurnal

  • 41

    3.3.2. Use Case Diagram

    1. Use Case Staff Iklan

    Gambar III.3

    Use Case Staff Iklan melakukan Login

    Tabel III.1.

    Deskripsi Use Case Staff Iklan

    Use Case Narative Staff Iklan

    Tujuan Mengelola Menu Utama Staff Iklan

    Deskripsi Sistem ini memungkinkan aktor untuk

    menambahkan, mengedit, menghapus,

    dan menyimpan data .

    Skenario Utama

    Aktor Staff Iklan

    Kondisi Awal Aktor membuka aplikasi desktop

    penerimaan piutang

    Aksi Aktor Reaksi Sistem

    1.Aktor memilih Login Sistem akan menampilkan Menu Utama

    setelah aktor memasukkan Username

    dan Password.

  • 42

    2.Aktor memilih Data Klien Sistem akan menampilkan menu Data

    Klien

    3.Aktor memilih Data Iklan Sistem akan menampilkan menu Data

    Iklan

    4.Aktor memilih Transaksi pengajuan

    iklan

    Sistem akan menampilkan menu

    transaksi pengajuan iklan

    5.Aktor memilih Logout Sistem akan kembali ke Halaman Login

    Kondisi Akhir Jika perintah sesuai maka sistem akan

    menampilkan permintaan.

    2. Use Case Staff Keuangan

    Gambar III.4

    Use Case Staff Keuangan

  • 43

    Tabel III.2.

    Deskripsi Use Case Staff Keuangan

    Use Case Narative Staff Keuangan

    Tujuan Mengelola Menu Utama Staff Keuangan

    Deskripsi Sistem ini memungkinkan aktor untuk

    menambahkan, mengedit, menghapus,

    dan menyimpan data transaksi

    Skenario Utama

    Aktor Staff Keuangan

    Kondisi Awal Aktor membuka aplikasi desktop

    penerimaan piutang

    Aksi Aktor Reaksi Sistem

    1.Aktor memilih Login Sistem akan menampilkan Menu Utama

    setelah aktor memasukkan Username dan

    Password.

    2.Aktor memilih Transaksi

    Pembayaran Piutang

    Sistem akan menampilkan menu

    Transaksi Pembayaran Piutang

    3.Aktor memilih Laporan Penerimaan

    Jasa Iklan

    Sistem akan menampilkan Halaman

    Laporan Penerimaan Jasa Iklan

    4.Aktor memilih Laporan Jurnal Sistem akan menampilkan Halaman

    Laporan Jurnal

    5.Aktor memilih Logout Sistem akan kembali ke Halaman Login

    Kondisi Akhir Jika perintah sesuai maka sistem akan

    menampilkan permintaan.

  • 44

    3. Use Case Direktur Utama

    Gambar III.5

    Use Case Direktur Utama

    Tabel III.3.

    Deskripsi Use Case Direktur Utama

    Use Case Narative Direktur Utama

    Tujuan Mengelola Menu Utama Direktur Utama

    Deskripsi Sistem ini memungkinkan aktor untuk

    mengakses laporan

    Skenario Utama

    Aktor Staff Keuangan

    Kondisi Awal Aktor membuka aplikasi desktop

    penerimaan piutang

    Aksi Aktor Reaksi Sistem

    1.Aktor memilih Login Sistem akan menampilkan Menu Utama

    setelah aktor memasukkan Username dan

    Password.

  • 45

    2.Aktor memilih Laporan Penerimaan

    Jasa Iklan

    Sistem akan menampilkan halaman

    Laporan Penerimaan Jasa Iklan.

    3.Aktor memilih Laporan Piutang Sistem akan menampilkan halaman

    Laporan Piutang

    4.Aktor memilih Laporan Jurnal Sistem akan menampilkan halaman

    Laporan Jurnal

    5.Aktor memilih Logout Sistem akan kembali ke Halaman Login

    Kondisi Akhir Jika perintah sesuai maka sistem akan

    menampilkan permintaan.

    3.3.3. Activity Diagram

    1.Activity Diagram Login

    Gambar III.6

    Activity Diagram Login

  • 46

    2. Activity Diagram Menu Data Klien

    Gambar III.7

    Activity Diagram Menu Data Klien

  • 47

    3. Activity Diagram Menu Data Iklan

    Gambar III.8

    Activity Diagram Menu Data Iklan

  • 48

    4.. Activity Diagram Menu Transaksi Jasa Iklan

    Gambar III.9

    Activity Diagram Menu Transaksi Jasa Iklan

  • 49

    5. Activity Diagram Menu Transaksi Pembayaran

    Gambar III.10

    Activity Diagram Menu Transaksi Pembayaran

  • 50

    6. Activity Diagram Menu Laporan Penerimaan Jasa Iklan

    Gambar III.11

    Activity Diagram Menu Laporan Penerimaan Jasa Iklan

    7. Activity Diagram Menu Laporan Piutang

    Gambar III.12

    Activity Diagram Menu Laporan Piutang

  • 51

    7. Activity Diagram Menu Laporan Jurnal

    Gambar III.12

    Activity Diagram Menu Laporan Jurnal

  • 52

    3.4. Desain

    3.4.1. Entity Relationship Diagram (ERD)

    Gambar III.13

    ERD (Entity Relationship Diagram) Penerimaan Piutang

  • 53

    3.4.2. Logical Record Structure (LRS)

    Gambar III.14

    Logical Record Structure (LRS) Penerimaan Piutang

    3.4.3. Spesifikasi File

    1. Spesifikasi File Tabel Admin

    Nama Database : admin

    Nama File : Admin

    Tipe File : Master Data

    Akses File : Random

    Panjang Record : 160 byte

    Kunci Field : id_adm

    Software : Mysql

  • 54

    Tabel III.4.

    Spesifikasi File Tabel Admin

    No Elemen Data Akronim Tipe Panjang Keterangan

    1. Data admin id_adm Varchar 5 Primary Key

    2. Nama admin nama_adm Varchar 20

    3. Hak Akses hak_adm Varchar 20

    4. Password password Integer 4

    2. Spesifikasi File Tabel Iklan

    Nama Database : iklan

    Nama File : iklan

    Tipe File : Master Data

    Akses File : Random

    Panjang Record : 160 byte

    Kunci Field : id_iklan

    Software : Mysql

    Tabel III.5.

    Spesifikasi File Tabel Iklan

    No Elemen Data Akronim Tipe Panjang Keterangan

    1. Data iklan id_iklan varchar 10 Primary Key

    2. Kategori Iklan kategori varchar 20

    3. Ukuran Iklan uk_iklan varchar 15

    4. Tipe Iklan tipe_iklan varchar 20

    5. Posisi Iklan posisi_iklan text

    6. Harga Iklan harga_iklan varchar 15

  • 55

    3. Spesifikasi File Tabel Klien

    Nama Database : client

    Nama File : Klien

    Tipe File : Master Data

    Akses File : Random

    Panjang Record : 160 byte

    Kunci Field : id_client

    Software : Mysql

    Tabel III.6.

    Spesifikasi File Tabel Client

    No Elemen Data Akronim Tipe Panjang Keterangan

    1. ID Klien id_client varchar 5 Primary Key

    2. Nama Klien nama_client varchar 20

    3. Jenis Kelamin Jk_client varchar 10

    4. Instansi Instansi varchar 25

    5 Alamat alamat_clie

    nt text

    6 Kode Pos pos_client Int 5

    7 Nomor HP hp_client Int 12

    8 Nomor KTP ktp_client Int 15

    9 Email email_client Varchar 50

    4. Spesifikasi File Tabel Pembayaran

    Nama Database : pembayaran

    Nama File : Pembayaran

    Tipe File : Transaksi

  • 56

    Akses File : Random

    Panjang Record : 160 byte

    Kunci Field : id_byr

    Software : Mysql

    Tabel III.7.

    Spesifikasi File Tabel Pembayaran

    No Elemen Data Akronim Tipe Panjang Keterangan

    1. Nomer Pembayaran id_byr varchar 10 Primary Key

    2. Tanggal Bayar tgl_byr date

    3. Nomer Piutang id_tpi varchar 10 Foreign Key

    4. Nominal uang double

    5. Via Pembayaran via_byr varchar 15

    6. Id User id_adm varchar 5 Foreign Key

    7. Nama Bank nama_ba

    nk varchar

    10

    8. Rekening rekening varchar 20

    9. Nama Rekening nama_re

    k varchar

    25

    10. Keterangan Bayar note_byr text

    5. Spesifikasi File Tabel Piutang

    Nama Database : piutang

    Nama File : Pengajuan Iklan

    Tipe File : Transaksi

    Akses File : Random

    Panjang Record : 480 byte

    Kunci Field : id_tpi

    Software : Mysql

  • 57

    Tabel II. 8.

    Spesifikasi File Tabel Piutang

    No Elemen Data Akronim Tipe Panjang Keterangan

    1. Nomer Piutang id_tpi varchar 10 Primary Key

    2. Tanggal Piutang tgl_tpi date

    3. Id Klien id_client varchar 10 Foreign Key

    4. Id Iklan id_iklan varchar 10 Foreign Key

    5 Harga Iklan harga_iklan double

    6 Periode Tayang

    Awal

    periode1 date

    7 Periode Tayang

    Akhir

    periode2 date

    8 Uang Muka dp double

    9 Tanggal Jatuh

    Tempo

    tjp date

    10 Id User id_adm varchar 5 Foreign Key

    6. Spesifikasi File Tabel Jurnal

    Nama Database : jurnal

    Nama File : jurnal

    Tipe File : Laporan

    Akses File : Random

    Panjang Record : 160 byte

    Kunci Field : no_jurnal

    Software : Mysql

  • 58

    Tabel II. 9.

    Spesifikasi File Tabel Jurnal

    No Elemen Data Akronim Tipe Panjang Keterangan

    1. Nomer Jurnal no_jurnal varchar 15 Primary Key

    2. Tanggal tanggal date

    3. No Referensi no_ref varchar 10

    4. Id User id_adm varchar 5 Foreign key

    7. Spesifikasi File Tabel Detail Jurnal

    Nama Database : detail_jurnal

    Nama File : detail_jurnal

    Tipe File : Laporan

    Akses File : Random

    Panjang Record : 160 byte

    Kunci Field : no_jurnal

    Software : Mysql

    Tabel II. 10.

    Spesifikasi File Tabel Jurnal

    No Elemen Data Akronim Tipe Panjang Keterangan

    1. Nomer Jurnal no_jurnal varchar 15 Foreign Key

    2. ID Akun id_akun varchar 15 Foreign key

    3. Debet debet Int 25

    4. Kredit kredit Int 25

  • 59

    8. Spesifikasi File Tabel Data Akun

    Nama Database : data_akun

    Nama File : data_akun

    Tipe File : Master Data

    Akses File : Random

    Panjang Record : 160 byte

    Kunci Field : id_akun

    Software : Mysql

    Tabel II. 11.

    Spesifikasi File Tabel Data Akun

    No Elemen Data Akronim Tipe Panjang Keterangan

    1. ID Akun id_akun varchar 15 Primary Key

    2. Nama Akun nama_akun text

    3. Jenis Akun jenis_akun varchar 15

  • 60

    3.4.4. Sequence Diagram

    1. Sequence Diagram Penerimaan Jasa Iklan

    Gambar III.15

    Sequence Diagram Pengajuan Iklan

  • 61

    2. Sequence Diagram Pembayaran Piutang

    Gambar III.16

    Sequence Diagram Pembayaran

  • 62

    3.4.5. Deployment Diagram

    Gambar III.17

    Deployment Diagram

  • 63

    3.4.6. User Interface

    1. Halaman Login

    Gambar III.17

    User Interface Login

    2. Halaman Menu Utama

    Gambar III.18

    User Interface Menu

  • 64

    3. Halaman Data Iklan

    Gambar III.19

    User Interface Halaman Data Iklan

  • 65

    4.Halaman Data Klien

    Gambar III.20

    User Interface Halaman Data Klien

    5.Halaman Transaksi Pembayaran

    Gambar III.21

    User Interface Halaman Transaksi Pembayaran

  • 66

    6.Halaman Transaksi Penerimaan Jasa Iklan

    Gambar III.22

    User Interface Halaman Transaksi Jasa Iklan

    7. Halaman Laporan Jurnal

    Gambar III.21

    User Interface Halaman Laporan Jurnal

  • 67

    8. Halaman Laporan Piutang

    Gambar III.22

    User Interface Halaman Laporan Piutang

    9. Halaman Laporan Penerimaan Jasa Iklan

    Gambar III.23

    User Interface Halaman Laporan Penerimaan Jasa Iklan

  • 68

    3.5. Implementasi

    3.5.1.Code Generation

    import javax.swing.JOptionPane;

    import javax.swing.table.DefaultTableModel;

    /*import java.awt.Color;

    import javax.swing.JOptionPane;

    import javax.swing.table.DefaultTableModel;

    /*

    public class pembayaran extends javax.swing.JFrame {

    koneksi kon=new koneksi();

    /**

    * Creates new form klien

    */

    public pembayaran (){

    initComponents();

    kon.getConnection();

    Simpan.setEnabled(false);

    Hapus.setEnabled(false);

    Batal.setEnabled(false);

    Ubah.setEnabled(false);

    jTotal.setEnabled(false);

  • 69

    bersih();

    regrid();

    nonaktif ();

    }

    @SuppressWarnings("unchecked")

    private void bersih(){

    jTextField1.setText("");

    jTextField2.setText("");

    jTextField3.setText("");

    jComboBox1.setSelectedItem("");

    jTextField4.setText("");

    jTextField5.setText("");

    jTextField6.setText("");

    jTextField7.setText("");

    jTextField8.setText("");

    }

    private void regrid () {

    DefaultTableModel tbyr=new DefaultTableModel ();

    tbyr.addColumn("Id Bayar");

    tbyr.addColumn("Tanggal");

    tbyr.addColumn("No Transaksi");

    tbyr.addColumn("Cara Bayar");

    tbyr.addColumn("Bayar ke-");

    tbyr.addColumn("Nama Bank");

  • 70

    tbyr.addColumn("No Rek");

    tbyr.addColumn("Nama Rek");

    tbyr.addColumn("Keterangan");

    tbyr.addColumn("Nominal");

    try{

    kon.rs=kon.st.executeQuery("select * from pembayaran order by id_byr");

    while (kon.rs.next()){

    tbyr.addRow(new Object[]{

    kon.rs.getString(1),

    kon.rs.getString(2),

    kon.rs.getString(3),

    kon.rs.getString(5),

    kon.rs.getString(6),

    kon.rs.getString(7),

    kon.rs.getString(8),

    kon.rs.getString(9),

    kon.rs.getString(10),

    kon.rs.getString(4),

    });

    }

    }catch (Exception r){

    JOptionPane.showMessageDialog (this, r);

    }

    jTable1.setModel(tbyr);

  • 71

    try{

    kon.rs=kon.st.executeQuery("select sum(uang) as total_uang from

    pembayaran");

    if(kon.rs.next()){

    jTotal.setText(kon.rs.getString("total_uang"));

    }

    }catch(Exception vv){

    }

    }

    private void aktif (){

    jTextField1.setEnabled(true);

    jTextField2.setEnabled(true);

    jComboBox1.setEnabled(true);

    jTextField4.setEnabled(false);

    jTextField3.setEnabled(true);

    jTextField5.setEnabled(true);

    jTextField6.setEnabled(true);

    jTextField7.setEnabled(true);

    jTextField8.setEnabled(true);

    }

    private void nonaktif(){

    jTextField1.setEnabled(false);

    jTextField2.setEnabled(false);

  • 72

    jTextField3.setEnabled(false);

    jTextField4.setEnabled(false);

    jComboBox1.setEnabled(false);

    jTextField5.setEnabled(false);

    jTextField6.setEnabled(false);

    jTextField7.setEnabled(false);

    jTextField8.setEnabled(false);

    }

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

    //* To change this template file, choose Tools | Templates;

    //* and open the template in the editor.;

    // */

    /**

    *

    * @author Vivie

    */

    /**

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

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

    * regenerated by the Form Editor.

    */

    @SuppressWarnings("unchecked")

    //

  • 73

    private void initComponents() {

    jPanel1 = new javax.swing.JPanel();

    jLabel1 = new javax.swing.JLabel();

    jLabel2 = new javax.swing.JLabel();

    jLabel3 = new javax.swing.JLabel();

    jLabel4 = new javax.swing.JLabel();

    jLabel5 = new javax.swing.JLabel();

    jLabel8 = new javax.swing.JLabel();

    jLabel7 = new javax.swing.JLabel();

    jScrollPane1 = new javax.swing.JScrollPane();

    jTable1 = new javax.swing.JTable();

    Simpan = new javax.swing.JButton();

    Batal = new javax.swing.JLabel();

    Cari = new javax.swing.JButton();

    Tambah = new javax.swing.JButton();

    Hapus = new javax.swing.JButton();

    Ubah = new javax.swing.JButton();

    jComboBox1 = new javax.swing.JComboBox();

    jLabel9 = new javax.swing.JLabel();

    jTextField1 = new javax.swing.JTextField();

    jTextField2 = new javax.swing.JTextField();

    jTextField3 = new javax.swing.JTextField();

    jTextField4 = new javax.swing.JTextField();

    jTextField5 = new javax.swing.JTextField();

  • 74

    jTextField6 = new javax.swing.JTextField();

    jTextField7 = new javax.swing.JTextField();

    jTextField8 = new javax.swing.JTextField();

    jLabel10 = new javax.swing.JLabel();

    jLabel11 = new javax.swing.JLabel();

    jLabel12 = new javax.swing.JLabel();

    jTextField9 = new javax.swing.JTextField();

    jLabel13 = new javax.swing.JLabel();

    jLabel14 = new javax.swing.JLabel();

    jLabel15 = new javax.swing.JLabel();

    jTotal = new javax.swing.JTextField();

    jPanel2 = new javax.swing.JPanel();

    jLabel6 = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE)

    ;

    jPanel1.setBackground(new java.awt.Color(0, 51, 153));

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

    jPanel1.setCursor(new

    java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

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

    jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

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

  • 75

    jLabel1.setText(",-");

    jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(370,

    200, 20, 20));

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

    jLabel2.setText("Cara Pembayaran");

    jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(500,

    70, -1, -1));

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

    jLabel3.setText("Bayar Ke-");

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

    110, -1, -1));

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

    jLabel4.setText("No Rekening");

    jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(500,

    190, -1, -1));

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

    jLabel5.setText("Keterangan");

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

    240, -1, -1));

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

  • 76

    jLabel8.setText("Nama Rekening ");

    jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(500,

    230, -1, -1));

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

    jLabel7.setText("Nama Bank ");

    jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(500,

    150, -1, -1));

    jTable1.setModel(new javax.swing.table.DefaultTableModel(

    new Object [][] {

    {null, null, null, null},

    {null, null, null, null},

    {null, null, null, null},

    {null, null, null, null}

    },

    new String [] {

    "Title 1", "Title 2", "Title 3", "Title 4"

    }

    ));

    jScrollPane1.setViewportView(jTable1);

    jPanel1.add(jScrollPane1, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(30, 520, 820, 110));

  • 77

    Simpan.setText("SIMPAN");

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

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

    SimpanMousePressed(evt);

    }

    });

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

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

    SimpanActionPerformed(evt);

    }

    });

    jPanel1.add(Simpan, new org.netbeans.lib.awtextra.AbsoluteConstraints(190,

    290, -1, -1));

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

    Batal.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N

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

    Batal.setText("BATAL");

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

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

    BatalMouseClicked(evt);

    }

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

    BatalMouseEntered(evt);

    }

  • 78

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

    BatalMousePressed(evt);

    }

    });

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

    290, 60, 20));

    Cari.setText("CARI");

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

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

    CariActionPerformed(evt);

    }

    });

    jPanel1.add(Cari, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 390,

    -1, -1));

    Tambah.setText("TAMBAH");

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

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

    TambahActionPerformed(evt);

    }

    });

    jPanel1.add(Tambah, new org.netbeans.lib.awtextra.AbsoluteConstraints(30,

    450, -1, -1));

  • 79

    Hapus.setText("HAPUS");

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

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

    HapusActionPerformed(evt);

    }

    });

    jPanel1.add(Hapus, new org.netbeans.lib.awtextra.AbsoluteConstraints(740,

    450, -1, -1));

    Ubah.setText("UBAH");

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

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

    UbahActionPerformed(evt);

    }

    });

    jPanel1.add(Ubah, new org.netbeans.lib.awtextra.AbsoluteConstraints(130,

    450, -1, -1));

    jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new

    String[] { "Pilih", "Tunai", "Transfer" }));

    jComboBox1.setCursor(new

    java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));

    jComboBox1.setOpaque(false);

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

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

  • 80

    jComboBox1ActionPerformed(evt);

    }

    });

    jPanel1.add(jComboBox1, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(600, 60, 100, 30));

    jLabel9.setFont(new java.awt.Font("Comic Sans MS", 1, 14)); // NOI18N

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

    jLabel9.setText("Pendapatan");

    jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(310,

    480, 90, 30));

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

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

    jTextField1ActionPerformed(evt);

    }

    });

    jPanel1.add(jTextField1, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(190, 70, 240, 30));

    jPanel1.add(jTextField2, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(190, 110, 240, 30));

    jPanel1.add(jTextField3, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(190, 150, 240, 30));

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

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

  • 81

    jTextField4ActionPerformed(evt);

    }

    });

    jPanel1.add(jTextField4, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(600, 100, 100, 30));

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

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

    jTextField5ActionPerformed(evt);

    }

    });

    jPanel1.add(jTextField5, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(600, 140, 240, 30));

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

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

    jTextField6ActionPerformed(evt);

    }

    });

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

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

    jTextField6KeyTyped(evt);

    }

    });

  • 82

    jPanel1.add(jTextField6, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(600, 180, 240, 30));

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

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

    jTextField7ActionPerformed(evt);

    }

    });

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

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

    jTextField7KeyTyped(evt);

    }

    });

    jPanel1.add(jTextField7, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(600, 220, 240, 30));

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

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

    jTextField8ActionPerformed(evt);

    }

    });

    jPanel1.add(jTextField8, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(190, 230, 250, 30));

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

  • 83

    jLabel10.setText("Id Bayar");

    jPanel1.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(30,

    80, -1, -1));

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

    jLabel11.setText("Tanggal Bayar");

    jPanel1.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(30,

    120, -1, -1));

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

    jLabel12.setText("No Transaksi Pengajuan Iklan");

    jPanel1.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(30,

    160, -1, -1));

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

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

    jTextField9ActionPerformed(evt);

    }

    });

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

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

    jTextField9KeyTyped(evt);

    }

    });

  • 84

    jPanel1.add(jTextField9, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(190, 190, 170, 30));

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

    jLabel13.setText("Nominal");

    jPanel1.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(30,

    200, -1, -1));

    jLabel14.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

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

    jLabel14.setText("Rp.");

    jPanel1.add(jLabel14, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(170, 200, 20, 20));

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

    jLabel15.setText("TOTAL");

    jPanel1.add(jLabel15, new

    org.netbeans.lib.awtextra.AbsoluteConstraints(630, 650, -1, -1));

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

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

    jTotalActionPerformed(evt);

    }

    });

  • 85

    jPanel1.add(jTotal, new org.netbeans.lib.awtextra.AbsoluteConstraints(670,

    640, 180, 30));

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

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

    jLabel6.setIcon(new javax.swing.ImageIcon("D:\\BSI\\Smt 6\\Program

    Piutang\\img\\Picture2.png")); // NOI18N

    javax.swing.GroupLayout jPanel2Layout = new

    javax.swing.GroupLayout(jPanel2);

    jPanel2.setLayout(jPanel2Layout);

    jPanel2Layout.setHorizontalGroup(

    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI

    NG)

    .addGroup(jPanel2Layout.createSequentialGroup()

    .addComponent(jLabel6,

    javax.swing.GroupLayout.PREFERRED_SIZE, 291,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addGap(0, 0, Short.MAX_VALUE))

    );

    jPanel2Layout.setVerticalGroup(

  • 86

    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADI

    NG)

    .addGroup(jPanel2Layout.createSequentialGroup()

    .addGap(322, 322, 322)

    .addComponent(jLabel6)

    .addContainerGap(407, Short.MAX_VALUE))

    );

    javax.swing.GroupLayout layout = new

    javax.swing.GroupLayout(getContentPane());

    getContentPane().setLayout(layout);

    layout.setHorizontalGroup(

    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,

    layout.createSequentialGroup()

    .addComponent(jPanel2,

    javax.swing.GroupLayout.PREFERRED_SIZE, 283,

    javax.swing.GroupLayout.PREFERRED_SIZE)

    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

    .addContainerGap())

  • 87

    );

    layout.setVerticalGroup(

    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE,

    javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

    );

    pack();

    }//

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

    }

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

    try {

    String s="insert into pembayaran values('"+jTextField1.getText()+"',"

    + "'"+jTextField2.getText()+"',"

    + "'"+jTextField3.getText()+"',"

    + "'"+jTextField9.getText()+"',"

    +"'"+jComboBox1.getSelectedItem()+"',"

    +"'"+jTextField4.getText()+"',"

  • 88

    +"'"+jTextField5.getText()+"',"

    +"'"+jTextField6.getText()+"',"

    +"'"+jTextField7.getText()+"',"

    +"'"+jTextField8.getText()+"')";

    kon.st.execute(s);

    JOptionPane.showMessageDialog(this, "Data Tersimpan");

    Simpan.setEnabled(true);

    Hapus.setEnabled(false);

    Batal.setEnabled(false);

    Ubah.setEnabled(false);

    Cari.setEnabled(true);

    Tambah.setEnabled(true);

    }catch (Exception c){

    JOptionPane.showMessageDialog(this, c);

    try {

    kon.st.execute("Update pembayaran set

    tgl_byr='"+jTextField2.getText()+"',"

    +"id_tpi='"+jTextField3.getText()+"',"

    +"uang='"+jTextField4.getText()+"',"

    +"via_byr='"+jComboBox1.getSelectedItem()+"',"

    +"byr_ke='"+jTextField5.getText()+"',"

  • 89

    +"nama_bank='"+jTextField6.getText()+"',"

    +"rekening='"+jTextField7.getText()+"',"

    +"nama_rek='"+jTextField8.getText()+"' where

    id_byr='"+jTextField1.getText()+"'");

    }catch (Exception d){

    JOptionPane.showMessageDialog(null, d);

    }

    }

    bersih();

    regrid();

    }

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

    bersih();

    Simpan.setEnabled(false);

    Hapus.setEnabled(false);

    Batal.setEnabled(false);

    Ubah.setEnabled(false);

    Cari.setEnabled(true);

    Tambah.setEnabled(true);

    nonaktif();

    }

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

  • 90

    // this.setForeground(Color.RED);

    }

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

    // this.setForeground(Color.RED);

    }

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

    try{

    String c=JOptionPane.showInputDialog(this,"Input Id

    pembayaran","Pencarian",JOptionPane.QUESTION_MESSAGE);

    kon.rs=kon.st.executeQuery("select * from pembayaran where

    id_byr='"+c+"'");

    if(kon.rs.next()){

    jTextField1.setText(kon.rs.getString(1));

    jTextField2.setText(kon.rs.getString(2));

    jTextField3.setText(kon.rs.getString(3));

    jTextField9.setText(kon.rs.getString(4));

    jComboBox1.setSelectedItem(kon.rs.getString(5));

    jTextField4.setText(kon.rs.getString(6));

    jTextField5.setText(kon.rs.getString(7));

    jTextField6.setText(kon.rs.getString(8));

    jTextField7.setText(kon.rs.getString(9));

    jTextField8.setText(kon.rs.getString(10));

  • 91

    }else {

    JOptionPane.showMessageDialog(this, "Data Tidak Ditemukan");

    }

    }catch (Exception d){

    }

    Simpan.setEnabled(false);

    Hapus.setEnabled(true);

    Batal.setEnabled(true);

    Ubah.setEnabled(true);

    Cari.setEnabled(false);

    Tambah.setEnabled(false);

    nonaktif();

    }

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

    aktif();

    jTextField1.requestFocus();

    Simpan.setEnabled(true);

    Hapus.setEnabled(false);

    Batal.setEnabled(true);

    Ubah.setEnabled(false);

  • 92

    Cari.setEnabled(false);

    Tambah.setEnabled(false);

    }

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

    try{

    int tanya=JOptionPane.showConfirmDialog(this,"Yakin akan

    dihapus?","Konfirmasi",JOptionPane.OK_CANCEL_OPTION);

    if(tanya==JOptionPane.OK_OPTION){

    kon.st.execute("delete from client where

    id_client='"+jTextField1.getText()+"'");

    bersih();

    }

    Simpan.setEnabled(false);

    Hapus.setEnabled(false);

    Batal.setEnabled(false);

    Ubah.setEnabled(false);

    Cari.setEnabled(true);

    Tambah.setEnabled(true);

    }catch (Exception h){

    JOptionPane.showMessageDialog(this, h);

    }

    }

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

  • 93

    Simpan.setEnabled(true);

    Hapus.setEnabled(false);

    Batal.setEnabled(true);

    Ubah.setEnabled(false);

    Cari.setEnabled(false);

    Tambah.setEnabled(false);

    aktif();

    jTextField1.setEnabled(false);

    jTextField2.requestFocus();

    }

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

    // TODO add your handling code here:

    char s=evt.getKeyChar();

    if(!Character.isDigit(s)){

    getToolkit().beep();

    evt.consume();

    }

    }

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

    char s=evt.getKeyChar();

    if(!Character.isDigit(s)){

    getToolkit().beep();

  • 94

    evt.consume();

    }

    }

    /**

    * @param args the command line arguments

    */

    public static void main(String args[]) {

    /* Set the Nimbus look and feel */

    //

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

    look and feel.

    * For details see

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

    */

    try {

    for (javax.swing.UIManager.LookAndFeelInfo info :

    javax.swing.UIManager.getInstalledLookAndFeels()) {

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

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

    break;

    }

    }

    } catch (ClassNotFoundException ex) {

  • 95

    java.util.logging.Logger.getLogger(pembayaran.class.getName()).log(java.util.logg

    ing.Level.SEVERE, null, ex);

    } catch (InstantiationException ex) {

    java.util.logging.Logger.getLogger(pembayaran.class.getName()).log(java.util.logg

    ing.Level.SEVERE, null, ex);

    } catch (IllegalAccessException ex) {

    java.util.logging.Logger.getLogger(pembayaran.class.getName()).log(java.util.logg

    ing.Level.SEVERE, null, ex);

    } catch (javax.swing.UnsupportedLookAndFeelException ex) {

    java.util.logging.Logger.getLogger(pembayaran.class.getName()).log(java.util.logg

    ing.Level.SEVERE, null, ex);

    }

    //

    //

    /* Create and display the form */

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

    public void run() {

    new pembayaran().setVisible(true);

    }

    });

  • 96

    }

    // Variables declaration - do not modify

    private javax.swing.JLabel Batal;

    private javax.swing.JButton Cari;

    private javax.swing.JButton Hapus;

    private javax.swing.JButton Simpan;

    private javax.swing.JButton Tambah;

    private javax.swing.JButton Ubah;

    private javax.swing.JComboBox jComboBox1;

    private javax.swing.JLabel jLabel1;

    private javax.swing.JLabel jLabel10;

    private javax.swing.JLabel jLabel11;

    private javax.swing.JLabel jLabel12;

    private javax.swing.JLabel jLabel13;

    private javax.swing.JLabel jLabel14;

    private javax.swing.JLabel jLabel15;

    private javax.swing.JLabel jLabel2;

    private javax.swing.JLabel jLabel3;

    private javax.swing.JLabel jLabel4;

    private javax.swing.JLabel jLabel5;

    private javax.swing.JLabel jLabel6;

    private javax.swing.JLabel jLabel7;

    private javax.swing.JLabel jLabel8;

    private javax.swing.JLabel jLabel9;

  • 97

    private javax.swing.JPanel jPanel1;

    private javax.swing.JPanel jPanel2;

    private javax.swing.JScrollPane jScrollPane1;

    private javax.swing.JTable jTable1;

    private javax.swing.JTextField jTextField1;

    private javax.swing.JTextField jTextField2;

    private javax.swing.JTextField jTextField3;

    private javax.swing.JTextField jTextField4;

    private javax.swing.JTextField jTextField5;

    private javax.swing.JTextField jTextField6;

    private javax.swing.JTextField jTextField7;

    private javax.swing.JTextField jTextField8;

    private javax.swing.JTextField jTextField9;

    private javax.swing.JTextField jTotal;

    // End of variables declaration

    }

  • 98

    3.5.2. Blackbox Testing

    1. Pengujian Terhadap Halaman Login

    Tabel III.18.

    Hasil Pengujian Blackbox Testing Halaman Login Admin

    NO Skenario

    Pengujian Test Case

    Hasil yang

    Diharapkan

    Hasil

    Penguji

    an

    Kesimpula

    n

    1.

    Username

    dan

    Password

    tidak diisi

    kemudian

    klik tombol

    login

    Username:

    (kosong)

    Password:

    (kosong)

    Sistem akan

    menolak

    Sesuai

    harapan Valid

    2.

    Memasukka

    n username

    dan password

    tidak diisi

    atau kosong

    kemudian

    klik tombol

    login

    ID User:

    A01

    Password:

    (kosong)

    Sistem akan

    menolak

    Sesuai

    harapan Valid

    3.

    Mengosongk

    an username

    dan password

    diisi

    kemudian

    klik tombol

    login

    Username:

    (kosong)

    Password:

    1234

    Sistem akan

    menolak

    Sesuai

    harapan Valid

  • 99

    3.5.3.Spesifikasi Hardware dan Software

    Tabel III.9.

    Spesifikasi Hardware dan Software

    Kebutuhan Keterangan

    Sistem Windows 7 Ultimate 64-bit

    Processor Intel (R) Celeron (R) CPU 1007U @ 1.50 GHz

    RAM 4096 MB

    Harddisk 1696 MB

    Monitor 12” Generic PnP Monitor

    Keyboard Asus

    Printer HP 2130

    Mouse MicroPack

    Software

    Kebutuhan menjalankan aplikasi secara lokal:

    Bahasa Script Programming : Java 8.1

    Web Server : Apache 3.2

    DBMS : MySQL