Jumat, 17 Mei 2019

JAVA PROGRAMMING : CARA MENGAKTIFKAN TOMBOL INSERT PADA TOKO BUKU SEDERHANA

 Asalamualaikum....

Pada pertemuan kali ini saya akan menjelasankan bagaimana cara menginput / insert data pada aplikasi Toko Buku.

1. Buat Database dengan XAMPP.
      
Buka software xampp control panel dan aktifkan apache dan mysql.


1.Buka Command Prompt.
2. arahkan cd : cd C:\xampp\mysql\bin
3. login : mysql -u root -p
4. buat database : CREATE DATABASE Pertemuan7;
5. masuk direktori : USE Pertemuan7;


6. membuat tabel :


CREATE TABLE pbo_buku(kode_buku CHAR(10) NOT NULL,
judul VARCHAR(50),
pengarang VARCHAR(50),
penerbit VARCHAR(30),
thn_terbit INT(15),
stok INT(11),
hargabuku INT(11)
);

7.menginput data :


INSERT INTO pbo_buku(`kode_buku`, `judul`, `pengarang`, `penerbit`, `thn_terbit`, `stok`, `hargabuku`) VALUES
('BK001', 'BELAJAR PEMROGRAMAN', 'RUDY', 'LUKAS BORNEO', 2019, 5, 250000),
('BK002', 'BELAJAR JAVA MENENGAH', 'SANTO', 'SIMPUL', 2018, 3, '180000'),
('BK003', 'BELAJAR JAVA', 'WAHID', 'SUMBER JOYO', 2017, 7, '150000');


2. Buka Neatbeans
Pastikan Netbean anda sudah terbuka....
 - kemudian New project
 - Buat nama projectnya dengan nama "pertemuan7"




 - Jika sudah klik dibagian " Source Package "
 - Buat java Package dengan nama " tujuh "
   Seperti ini.........

Pilih "Java Package" lalu beri nama dengan "tujuh" (tanpa tanda kutip), jika sudah di finish saja...
 - dan di bagian source package "tujuh" klik kanan lagi kita buat JAVA CLASS
 - Berikan nama Java class tersebut dengan "koneksimysql" (fungsinya untuk mengkoneksikan file database yang kita buat)

Dan di koneksimysql.java kita ketik code seperti dibawah ini :


package tujuh;
import java.sql.*;
/**
 *
 * @author RUDY
 */
public class koneksimysql {
     Connection conn;
    public koneksimysql()
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/pertemuan7","root",""); //untuk pertemuan7 disamping itu nama db kita
            }catch(ClassNotFoundException | SQLException e)
            {
                javax.swing.JOptionPane.showMessageDialog(null, e);
            }
        }
    
    public Connection getConnection()
    {
        return conn;
    }
    
    public static void main(String[] aksi)
    {
        koneksimysql kon=new koneksimysql();
    }
   }


Kemudian kita buat lagi di bagian Source package "tujuh" klik kanan lalu pilih Jframe dan berikan nama dengan " GUIMysql"

Dibagian GUIMsql.java buat desain GUI seperti berikut..


NOTE :
1. Bagian Aplikasi Toko Buku Sederhana, Kode Buku, Judul buku, Pengarang, penerbit  Tahun Terbit, Stock buku, Harga Buku ( GUNAKAN TOOL LABEL dibagian kanan anda
2.  Untuk form yang kosong tersebut gunakan " TEXT FIELD"  dan disetiap form tersebut ubah variable dgn men klik kanan bagian from dan change variable ubah seperti ini :
  • form kode buku ubah variable nya menjadi txtKode
  • form judul buku ubah variable nya menjadi txtJudul
  • form pengarang ubah variable nya menjadi txtPengarang
  • form penerbit ubah variable nya menjadi txtPenerbit
  • form tahun terbit ubah variable nya menjadi txtTahun
  • form stok buku ubah variable nya menjadi txtStok
  • form harga buku ubah variable nya menjadi txtHarga
3. untuk bagian tambah data itu menggunakan Button dan ubah variablenya dengan cara klik kanan bagian buttonnya ubah dengan " addbtn "  dan tombol exit pun sama menggunakan button ubah variablenya dengan " exitbtn "
4. dan bagian table di kanan tersebut menggunakan tool TABLE

Jika Desain GUI sudah seperti diatas , kita klik 2x tombol BUTTON TAMBAH supaya berfungsi sebagai action insert data buku aplikasi ini  dan codenya seperti berikut :




private void addbtnActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        try {
        koneksi = new koneksimysql();
        conn = koneksi.getConnection();
        String sql = "INSERT INTO pbo_buku values (?, ?, ?, ?, ?, ?, ?)";
        PreparedStatement pstmt = conn.prepareStatement(sql);
        pstmt.setString(1, txtKode.getText());
        pstmt.setString(2, txtJudul.getText());
        pstmt.setString(3, txtPengarang.getText());
        pstmt.setString(4, txtPenerbit.getText());
        pstmt.setInt(5, Integer.parseInt(txtTahun.getText()));
        pstmt.setString(6, txtStok.getText());
        pstmt.setString(7, txtHarga.getText());
        pstmt.executeUpdate();
        JOptionPane.showMessageDialog(null, "MASUKAN DATA BUKU SUKSES");
        tampiltable();
        conn.close();
        } catch (Exception e) {
            
        }
    }                                      

Jika sudah memasukan code fungsi button insert untuk lebih menarik kita buat juga fungsi tombol EXIT PROGRAM
klik 2 x button exit dan ketik code dibawah ini :



private void exitbtnActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
            // action event of butoon
        
        // code for confirm dialog box
        int response = JOptionPane.showConfirmDialog(this, "Apakah Anda yakin ingin keluar?","Confirm", JOptionPane.YES_NO_OPTION,
        JOptionPane.QUESTION_MESSAGE);
        // display respon result
        if(response == JOptionPane.YES_OPTION) {
           System.exit(0);
            System.out.println("Ya...");
        } else if (response == JOptionPane.NO_OPTION) {
            System.out.println("Tidak.. Kembali Ke Program...");
        } else if (response == JOptionPane.CLOSED_OPTION) {
            System.out.println("Tutup...");
        }
        
    }        


dan jika sudah  jangan lupa dibagian atas file GUIMysql.java masukan import nya seperti ini


dan juga add library MYSQL JDBC DRIVERNYA SEBELUM DIRUNNING PROGRAM



JIKA DIRUNNING PROGRAM SEPERTI INI TEKAN SHIFT + F6





Nah Demikian penjelasan yang bisa saya jelaskan semoga dapat bermanfaat
dan bisa dapat saling berbagi ilmu karena saya pun masih belajar.

Jumat, 12 April 2019

Pertemuan 4 - Class Diagram



Saya akan menjelaskan tentang class diagram "MAHASISWA" menggunakan java.

Berikut Langkah - Langkahnya

Langkah pertama seperti biasa kita create untuk sebuah package dan dsini saya sudah membuat nama package nya "ebc" & namakan pertemuan4.


 
 

Dari gambar diatas saya juga sudah membuat class "Mahasiswa"  class "TampilData" dan juga membuat JFrameForm dengan nama class "MasterMhs".
  ******** Class "Mahasiswa" ********

Untuk class mahasiswa kita masukkan source code seperti ini :
package ebc; public class Mahasiswa { /** private String nim; private String nama; private int tinggi; private boolean pindahan; */ private String nim; private String nama; private int tinggi; private boolean pindahan; */
String nim;
String nama;
int tinggi; int umur; boolean pindahan; /** * *
*
* @param nim */ */
public void setNim(String nim) { this.nim = nim;
}
public String getNim() { return this.nim;
}
/** * *
*
* @param nama */ */
public void setNama(String nama) { this.nama = nama;
}
public String getNama() { return this.nama;
}
/** * *
*
* @param tinggi */ */
public void setTinggi(int tinggi) { this.tinggi = tinggi;
}
public int getTinggi() { return this.tinggi;
}
/** * *
*
* @param umur */ */
public void setUmur(int umur) { this.umur = umur;
}
public int getUmur() { return this.umur;
}
/** * *
*
* @param pindahan */ */
public void setPindahan(boolean pindahan) { this.pindahan = pindahan;
}
public boolean isPindahan() { return this.pindahan;
}
/** * *
*
* @param nim *
* @param nama *
* @param tinggi *
* @param umur */ */
public Mahasiswa(String nim, String nama, int tinggi, int umur) { this.nim = nim; this.nama = nama; this.tinggi = tinggi; this.umur = umur;
}
/** * *
*
* @param nim *
* @param nama *
* @param tinggi *
* @param umur *
* @param pindahan */ */
public Mahasiswa(String nim, String nama, int tinggi,int umur, boolean pindahan) { this(nim,nama,tinggi,umur); //memanggil konstruktor 3 parameter
this.pindahan = pindahan; //tampung.add(new Barang(id,kd,nm));
// TODO - implement Mahasiswa.Mahasiswa
//throw new UnsupportedOperationException();
}
}
------ Class "TampilData" ------
Untuk class TampilData kita masukkan source code seperti ini :
package ebc; import java.util.ArrayList; public class TampilData {
ArrayList tampung;
public TampilData()
{
//instansiasi
tampung = new ArrayList();
}
public void isiData(String nim, String nama, int tinggi, int umur, boolean pindahan)
{
tampung.add(new Mahasiswa(nim,nama,tinggi,umur, pindahan));
}
public void showData()
{
for(Mahasiswa barang:tampung)
{
System.out.println("Nim : "+barang.getNim()+""+", Nama : "+barang.getNama()+""+", " + "Tinggi : "+barang.getTinggi()+""+", Umur : "+barang.getUmur()+""+", Pindahan : "+barang.isPindahan());
}
}
public static void main(String args[])
{
TampilData td = new TampilData();
td.isiData("1234567","Rudi Hartono",175 ,45,false);
td.isiData("1234568","Rudi",176 ,45,true);
td.isiData("1234569","Hartono",177 ,46,false);
td.isiData("1234571","RH",178 ,46,true);
td.showData();
}
}
------ File JFrameForm Class "MasterMhs" ------
Untuk class MasterMhs kita buat designnya dahulu dan disini saya membuatnya seperti ini :














Pertama kita masukkan sourcecode untuk button simpan (Jbutton1) dahulu :

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
boolean pindahan2;
try{
String pindh = jComboBox1.getSelectedItem().toString();
pindahan2 = pindh.equals("Ya");
int tinggi_m = Integer.parseInt(jTextField3.getText());
int umur = Integer.parseInt(jTextField4.getText());
Mahasiswa m1 = new Mahasiswa(jTextField1.getText(), jTextField2.getText(), tinggi_m, umur, pindahan2);
m1.setPindahan(pindahan2);
File data = new File("D:/datamhs.txt");
PrintWriter pr = new PrintWriter(new FileWriter(data,false));
pr.println(m1.getNim()+":"+m1.getNama()+":"+m1.getTinggi()+":"+m1.getUmur()+":"+m1.isPindahan());
pr.close();
JOptionPane.showMessageDialog(null, "Simpan Data Sukses");
}catch(IOException e)
{
JOptionPane.showMessageDialog(null, "Simpan Data Gagal");
}
}

Kedua kita masukkan sourcecode untuk button tampildata (Jbutton3):

private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton3MouseClicked
boolean pindahan2;
ArrayList tampung;
tampung = new ArrayList<>();
String pindh = jComboBox1.getSelectedItem().toString();
pindahan2 = pindh.equals("Ya");
int tinggi_m = Integer.parseInt(jTextField3.getText());
int umur = Integer.parseInt(jTextField4.getText());
tampung.add(new Mahasiswa(jTextField1.getText(), jTextField2.getText(),tinggi_m ,umur, pindahan2));
tampung.forEach((data) -> {
JOptionPane.showMessageDialog(null, "NIM = "+data.getNim()+", " + "Nama = "+data.getNama()+", Tinggi = "+data.getTinggi()+", Umur = "+data.getUmur()+", Pindahan = "+data.isPindahan());
});
}//GEN-LAST:event_jButton3MouseClicked

Ketiga masukkan sourcecode untuk button keluar (Jbutton2) :

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {
//GEN-FIRST:event_jButton2MouseClicked

System.exit(0);

}

Sekarang kita run  :

Dari gambar diatas kita input lalu kita klik button "simpan", maka hasilnya akan seperti ini :
















 

Setelah itu kita lihat hasil yang tersiman di file ("D:/datamhs.txt")













Dan sekarang kita klik button "tampildata" agar hasilnya ditampilkam dalam bentuk popup messaage JOptionPane












Terakhir kita klik button "keluar"


Nah Demikian penjelasan yang bisa saya jelaskan semoga dapat bermanfaat
dan bisa dapat saling berbagi ilmu karena saya pun masih belajar.




Jumat, 05 April 2019

Inheritance


Hai Semua....

Seperti biasa disini saya ingin mengerjakan tugas Pemrograman Berorientasi Objek yaitu :

Membuat program untuk menghitung nilai rata-rata dari nilai berikut (6,7,8) dengan Inheritance (Pewarisan) pada Java



1. Disini saya sudah membuat project name nya & class name nya "Tugas03"

2. Lalu kita masukkan source code seperti ini :


package tugas3;
public class Tugas3 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
    nilairata2 nilai = new nilairata2();
        
    nilai.setBilangan1(6);
    nilai.setBilangan2(7);
    nilai.setBilangan3(8);   
        
    System.out.println("   APLIKASI PENGHITUNG NILAI RATA RATA   ");
    System.out.println("*****************************************");
    System.out.println("Bilangan 1     = "+nilai.getBilangan1());
    System.out.println("Bilangan 2     = "+nilai.getBilangan2());
    System.out.println("Bilangan 3     = "+nilai.getBilangan3());
    System.out.println("Jumlah         = "+nilai.getJumlah());
    System.out.println("Hasil Rata2    = "+nilai.getHasilRata2());
    
    }
    
}
 
******** Tampilan Source Code Pada NetBeans ********




















2. Setelah itu kita membuat source code untuk class "nilairata2"



class nilairata2{
    protected int bilangan1;
    public void setBilangan1 (int b1)
    {
        bilangan1 = b1;  
    }
    public int getBilangan1()
    {
        return(bilangan1);
    }
    protected int bilangan2;
    public void setBilangan2 (int b2)
    {
        bilangan2 = b2;  
    }
    public int getBilangan2()
    {
        return(bilangan2);
    }
    protected int bilangan3;
    public void setBilangan3 (int b3)
    {
        bilangan3 = b3;  
    }
    public int getBilangan3()
    {
        return(bilangan3);
    }
    public double getJumlah()
    {
        return (bilangan1+bilangan2+bilangan3);
    }
    public double getHasilRata2()
    {
        return ((bilangan1+bilangan2+bilangan3)/3);
    }
}

******** Tampilan Source Code Pada NetBeans ********



3. Setelah semua source code dimasukkan maka kita langsung run saja untuk mengetahui hasilnya
******** Tampilan Source Code Pada NetBeans ********















Nah Demikian penjelasan yang bisa saya jelaskan semoga dapat bermanfaat
dan bisa dapat saling berbagi ilmu karena saya pun masih belajar. Terimakasih.

Kamis, 28 Maret 2019

Pertemuan 02




    "GUI SWING"
 

Hallo, Disini saya akan menjelaskan bagaimana cara membuat program untuk menghitung (8/5)*3 = 4.8 Menggunakan dialog GUI SWING (Texbox1, Texbox2, Texbox3 & label untuk menampilkan hasilnya).
Disini saya sudah mempunyai project name nya "Tugas2" dan sekarang kita membuat class untuk membuat program GUI SWING ini :

1. Klik new file --> Pilih Gui Swing Forms --> Pilih JFrame Form (lihat tampilan berikut)



2. Lalu pilih Next --> Diisi nama classnya, Tugas02 --> Finish



Lalu akan muncul seperti ini :



































 
Saatnya untuk edit layoutnya, seperti ini :


 

































Setelah design nya sudah oke sekarang kita klik ke source,
lalu mngisi source code pada program ini

===============  Berikut Penjelasan Source Codenya ===============


public class Tugas02 extends javax.swing.JFrame {
public Tugas02() {
        initComponents();
    }
@SuppressWarnings("unchecked")
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
double bilangan1;
double bilangan2;
double bilangan3;
double hasil;
bilangan1 = Double.parseDouble(jTextField1.getText());
bilangan2 = Double.parseDouble(jTextField2.getText());
bilangan3 = Double.parseDouble(jTextField3.getText());
hasil = (bilangan1/bilangan2)*bilangan3;
jTextField4.setText(String.format("%.2f", hasil));
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Tugas02().setVisible(true);
            }
        });
    }
}


Setelah source code dibuat berikut hasil setelah di run :

3. Diisi dengan bilangan yang akan di hitung : 8,5,3


































4. lalu kita klik "Hitung" untuk mengetahui hasilnya :
































  5. Selesai.


Seperti itulah cara membuat aplikasi penghitung dengan GUI SWING, cukup mudah dan simple kan, demikian penjelasan dari saya, apabila ada kekurangan bisa berkomentar di kolom komen dibawah, sampai ketemu di pertemuan berikutnya, semoga bermanfaat dan Terimakasih.

















Jumat, 15 Maret 2019

Pertemuan 01


"Menghitung Luas Persegi Panjang Menggunakan Java"





Seperti yang kita ketahui, program komputer terdiri dari tiga komponen utama, yaitu: input, proses, dan output.
  • Input: nilai yang kita masukan ke program
  • Proses: langkah demi langkah yang dilakukan untuk mengelola input menjadi sesuatu yang berguna
  • Output: hasil pengolahan


Semua bahasa pemrograman telah menyediakan fungs-fungsi untuk melakukan input dan output.

Java sendiri sudah menyediakan tiga class untuk mengambil input:
  • Class Scanner;
  • Class BufferReader;
  • dan Class Console.



Tiga class tersebut untuk mengambil input pada program berbasis teks (console). Sedangkan untuk GUI menggunakan class yang lain seperti JOptionPane dan inputbox pada form.

Sementara untuk outputnya, Java menyediakan fungsi print(), println(), dan format().
1. Code menghitung luas persegi panjang menggunakan class scanner :

import java.util.Scanner;
public class luassegipanjang {
public static void main(String[] args) {
int panjang;
int lebar;
double luas;

Scanner scan = new Scanner(System.in);
System.out.println("Menghitung Luas Persegi Panjang");
System.out.print("Masukan Panjang: ");
panjang = scan.nextInt();
System.out.print("Masukan Lebar: ");
lebar = scan.nextInt();

luas = (lebar * panjang);
System.out.println("Luas Segi Panjang = " +luas);
    }
}



Jika di compile hasilnya seperti ini :






2. Code menghitung luas persegi panjang menggunakan class BufferedReader :

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class GetInputFromKeyboard
{

public static void main( String[] args ) throws IOException {
BufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
int panjang,lebar,Luas;
try{
System.out.println ("LUAS PERSEGIPANJANG");
System.out.print ("Masukan panjang = ");
panjang = Integer.parseInt(dataIn.readLine());
System.out.print ("Masukan lebar = ");
lebar = Integer.parseInt(dataIn.readLine());
Luas = panjang*lebar;
System.out.println("Panjang adalah " + panjang);
System.out.println("Lebar adalah " + lebar);
System.out.println("Luas adalah " + Luas);

}catch( NumberFormatException e ){
System.out.println("Error!");
System.exit(1);
         }
     }
}


 Jika di compile hasilnya seperti ini : 



3. Code menghitung luas persegi panjang menggunakan class BufferedReader :

/*
 * Menghitung Luas Persegi Panjang Dengan Class Console
 */
package luaspp;
// Import Class Console
import java.io.Console;

public class Lppconsole {
    public void main(String[] args){
        //Deklarasi variabel panjang, lebar, luas dgn tipe data double
        double panjang, lebar, luas;
       
        Console con = System.console();
        //menampilkan teks "Menghitung Luas Persegi Panjang"
        System.out.println("Menghitung Luas Persegi Panjang");
       
       
        System.out.print("Panjang = ");//menampilkan teks "Panjang"
        panjang = Integer.parseInt(con.readLine());

        System.out.print("Lebar: ");//menampilkan teks"Lebar"
        lebar = Integer.parseInt(con.readLine());
        //Rumus luas persegi panjang yang disimpan pada variable "luas"
        luas = panjang * lebar;
        System.out.println("Luas = " + luas);//Menampilkan teks "luas"
    }
}



 Jika di compile hasilnya seperti ini :