Jumat, 12 Januari 2018

PROGRAM APLIKASI SEDERHANA PENJUALAN RUMAH MENGGUNAKAN JAVA NETBEANS (SWING GUI)

Assalamu'alaikum wr wb
Alhamdulillahhirobbilalamiin , puji syukur saya panjatkan kehadirat Alloh swt, karena atas rahmat dan bantuannya akhirnya tugas UAS saya selesai.

Baik langsung saja ke pokok bahasan, postingan saya kali ini meneruskan dari postingan sebelumnya (tugas UTS) tentang membuat aplikasi sederhana menggunakan Java Netbeans GUI, aplikasi sederhana yang dibuat adalah Penjualan Rumah, dimana aplikasi ini digunakan diperkantoran developer perumahan.
Fungsi dari aplikasi ini adalah untuk penginputan data ketika ada  transaksi Penjualan Rumah , data yang diinput terdiri dari data pembeli, data rumah yang dibeli, dan metode pembayaran. Didalam penginputan Metode pembayaran tersebut sudah terdapat formula/hitungan mengenai Booking fee, DP, dan sisa pembayaran dan cicilan.
Namun ada beberapa perkembangan, kini program aplikasinya sudah terkoneksi dengan database (sql server), sudah menggunakan fungsi sql, juga sudah bisa menampilkan report dengan mengambil data dari database, berikut dibawah ini adalah program yang dimaksud :

A. FLOWCHART



B. MEMBUAT DATABASE

Membuat database dengan nama ‘db_penjualan_rumah’



Lalu membuat tabel dengan nama ‘tbl_penjualan’ , sekaligus dengan field-field / struktur yang diperlukan :



C. MEMULAI PROJECT DI NETBEANS

1. Frame Login

  • Design


  • Source Code

Pada Source code diatas terdapat validasi username dan password, apabila username dan password tidak sesuai dengan yang ditentukan,maka login tidak berhasil, adapun sebaliknya jika username dan password sesuai, maka login berhasil dan selanjutnya akan membuka Frame Menu Utama.

2. Frame Menu utama

  • Design Frame Menu Utama




  • Source code
Source Code menampilkan jam & tanggal



Source Code Jmenu bar 


3. Frame Penjualan
  • Design Frame



Remark :
 - No Transaksi adalah Primay key pada tbl_penjualan , artinya tidak boleh sama, sehingga  dibuatkan menjadi otomatis.


-Combo box pada pemilihan blok rumah sudah  berisikan data yang diambil dari field blok pada tbl_rumah yang ada didatabase

- Setiap Chechbox pada pemilihan metode pembayaran, sudah diisi formula yang berbeda beda disetiap checkboxnya.


  • Source code


Class untuk koneksi ke mysqlserver


Class untuk membuat kode transaksi otomatis


Class untuk mengambil data field blok rumah , dan class untuk membersihkan textfield

Source Code Formula Cicialn
Source Code Formula Cicilan (2)

Source Code menampilkan data rumah dari combo box berdasarkan blok yang dipilih


Source Code Fungsi Sql Insert untuk menyimpan data ke database


Source Code untuk menampilkan i-Report

4. Membuat Report Wizard

  • Design Report Wizard

Report wizard ini sudah terkoneksi dengan database di Mysqlserver, sehingga data yang ditampilkan dalam report sudah sesuai dengan data yang ada pada database 'db_penjualan_rumah'
  • Preview report




5. Frame Rumah


  • Design Frame



  • Source Code

Source Code Koneksi


Source Code untuk menampilkan data dari tabel rumah pada database kedalam tabel di netbeans



Source Code untuk menyimpan data



Source Code Fungsi Mysql Update




Source Code Fungsi Sql Delete





Demikian program aplikasi sederhana yang saya buat,  karena masih banyak sekali kekurangannya, dimohon  kritik dan saran yang membangun, Terimakasih, semoga bermanfaat.

Salam,

Muhammad Sobari

Sabtu, 04 November 2017

Aplikasi Sederhana Java Netbeans (Swing Gui)

Assalamu'alaikum wr wb

Salam sejahtera untuk kita semua, postingan saya kali ini akan membahas bagaimana cara membuat aplikasi sederhana menggunakan Java Netbeans GUI, aplikasi sederhana yang dibuat adalah Penjualan Rumah, dimana aplikasi ini digunakan diperkantoran developer perumahan.
Fungsi dari aplikasi ini adalah untuk penginputan data ketika ada  transaksi Penjualan Rumah , data yang diinput terdiri dari data pembeli, data rumah yang dibeli, dan metode pembayaran. Didalam penginputan Metode pembayaran tersebut sudah terdapat formula/hitungan mengenai Booking fee, DP, dan sisa pembayaran dan cicilan, berikut dibawah ini adalah program yang dimaksud :

1. Flowchart

2. Desain form dan Source Code
2.1 Menu Login


tambahkan dulu package untuk pendukung JOptionpane; :

Kemudian isikan source kode dibawah ini pada event action performed pada tombol login :


2.2 Menu Utama


Note : Aplikasi masih daam tahap pengembangan, jadi designnya masih sealakadarnya hehe



coding pertama masukan dulu packagesperti dibawah ini :



private void MenuitemPenjualanrumahActionPerformed(java.awt.event.ActionEvent evt) {                                           
    dispose();
    FrmPenjualan gol=new FrmPenjualan();
    gol.setVisible(true);
   
 }   
 private void MenukeluarMouseClicked(java.awt.event.MouseEvent evt) {
    if(JOptionPane.showConfirmDialog(null, "Anda yakin akan keluar?","keluar",JOptionPane.YES_NO_OPTION)
            ==JOptionPane.OK_OPTION){
      dispose();
        FrmLogin log=new FrmLogin();
        log.setLocationRelativeTo(log);
        log.setVisible(true);
        }
    }


2.3 Menu Penjualan Rumah



  private void RdbLakilakiActionPerformed(java.awt.event.ActionEvent evt) {                                         
    jeniskelamin="Laki-laki";
    RdbPerempuan.setSelected(false);

    }                                         

    private void RdbPerempuanActionPerformed(java.awt.event.ActionEvent evt) {                                           
    jeniskelamin="Perempuan";
    RdbLakilaki.setSelected(false);// TODO add your handling code here:
    }                                         

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

    ChkExecutive.setSelected(false);
    ChkInstallment.setSelected(false);
    cashback=100000000; 
    txtCashback.setText(""+cashback);
    hrg=Integer.parseInt(txtHarga.getText());
    bookingfee = Integer.parseInt(txtBookingFee.getText());
    DP = Integer.parseInt(TxtDP.getText());
    int sisa=(hrg-bookingfee-DP-cashback);
    TxtSisaPembayaran.setText(""+sisa);
    txtCicilan.setText("0");
    }                                         

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

    TxtSisaPembayaran.setText("0");
    ChkCashKeras.setSelected(false);
    ChkInstallment.setSelected(false);
    cashback=0; 
    txtCashback.setText(""+cashback);
    hrg=Integer.parseInt(txtHarga.getText());
     bookingfee = Integer.parseInt(txtBookingFee.getText());
    DP = Integer.parseInt(TxtDP.getText());
    float hargaexecutive=hrg+(hrg*bungaexecutive);
    float harga=(hargaexecutive-bookingfee)-DP;
    float cicilanexecutive=harga/6;
   txtCicilan.setText(Float.toString(cicilanexecutive));
    }                                         

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

    ChkExecutive.setSelected(false);
    ChkCashKeras.setSelected(false);
    cashback=0;
    txtCashback.setText(""+cashback);
    hrg=Integer.parseInt(txtHarga.getText());
    bookingfee = Integer.parseInt(txtBookingFee.getText());
    DP = Integer.parseInt(TxtDP.getText());
    float hargainstalment=hrg+(hrg*bungainstalment);
    float harga=(hargainstalment-bookingfee)-DP;
    float cicilaninstalment=harga/12;
   txtCicilan.setText(Float.toString(cicilaninstalment));
    }                                           

private void TxtNIKKeyTyped(java.awt.event.KeyEvent evt) {                                
    char c = evt.getKeyChar();
    if (!((c >= '0') && (c <= '9') && TxtNIK.getText().length() <= 15 ||
            (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE))) {
        getToolkit().beep();
        evt.consume();
}       
    }                               

    private void txtNamaKeyTyped(java.awt.event.KeyEvent evt) {                                 
    char c = evt.getKeyChar();
    if (!((Character.isLetter(c)) && txtNama.getText().length() <= 40 ||
            (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE) || (c == KeyEvent.VK_SPACE))) {
        getToolkit().beep();
        evt.consume();
    }           // TODO add your handling code here:
    }                                

    private void txtAlamatKeyTyped(java.awt.event.KeyEvent evt) {                                   
         char c = evt.getKeyChar();
    if (!((Character.isLetter(c)) && txtAlamat.getText().length() <= 30 ||
            (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE) || (c == KeyEvent.VK_SPACE))) {
        getToolkit().beep();
        evt.consume();
    }   
    }                                  

    private void txtpekerjaanKeyTyped(java.awt.event.KeyEvent evt) {                                      
    char c = evt.getKeyChar();
    if (!((Character.isLetter(c)) && txtpekerjaan.getText().length() <= 30 ||
            (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE) || (c == KeyEvent.VK_SPACE))) {
        getToolkit().beep();
        evt.consume();
    }           // TODO add your handling code here:
    }                                     

    private void TxtDPKeyTyped(java.awt.event.KeyEvent evt) {                               
    char c = evt.getKeyChar();
    if (!((c >= '0') && (c <= '9') && TxtDP.getText().length() <= 15 ||
            (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE))) {
        getToolkit().beep();
        evt.consume();
}          
    }                              

    private void BtnProsesActionPerformed(java.awt.event.ActionEvent evt) {
     String a=txtNama.getText();
        JOptionPane.showMessageDialog(this, "Transaksi Berhasil, Terimakasih "+a+ " :)");
      bersih();
    }

 private void BtnkembaliActionPerformed(java.awt.event.ActionEvent evt) {
      dispose();
      FrmMenuUtama frm=new FrmMenuUtama();
      frm.setVisible(true);
    }



3. Penutup

Sekian saja postingan kali ini, mohon maaf sekali banyak kekurangannya, smga bisa diperbaiki dikemudian hari .
Terimakasih

Salam