Jumat, 06 Januari 2017

Tutorial Membuat BackEnd Dasar Java + Mysql
     Sebelum kita mulai membuat backend langkah langkah atau cara membuat koneksi java dengan database mysql menggunakan xampp.
     Sebelum memulai project menggunakan NetBeans, nyalakan xampp untuk membuat database.
Langkah – langkah membuat database mysql dengan webserver xampp.

Langkah
1. Start xampp seperti gambar di bawah ini:

 2. Buka browser anda, lalu masukan link : localhost/phpmyadmin , setelah itu membuat database. Contoh database “sekolah” seperti gambar dibawah ini :

3. Membuat tabel, dengan nama tabel “siswa” dengan struktur seperti dibawah ini:


 -Setelah itu kita mulai masuk ke program java nya.

*Langkah-langkah membuat program java. 

1. Buka Aplikasi NetBeans. membuat program dengan nama project “DatabaseApps” dengan cara klik file->New Project->Java->Java Application->Next seperti gambah di bawah ini:



2. Setelah langkah pertama lalu membuat package dengan cara klik Source Package->New->Java Package. Anda membuat 6 package dengan nama 1. Controller, 2. Entitas, 3. View, 4. Service, 5. TabelModel, 6. Utilities. Seperti gambar dibawah ini:

3. lalu menambah kan library MySQL klik kanan di Project->Properties->Libraries->Add Library->MySQL JDBC Driver. Seperti gambar di bawah ini:

4. langkah selanjut nya membuat java clas di package utilities klik kanan pada Package Utilities->New->Java Class Dengan Nama “Databaseutilities” ->Finish. Seperti gambar dibawah ini:

5. langkah selanjut nya masukan code seperti dibawah ini di file “DatabaseUtilities untuk mendaftar kan library yang tadi dilangkah sebelum nya di buat:

6. langkah selanjut nya mengganti nama database di NetBeans dengan cara klik Window Di Toolbar->Service->Database-Driver->klik kanan di MYSQL->Connect Using. Ganti mysql dengan “sekolah” (nama database yang di langkah sebelum nya dibuat. Seperti pada gambar dibawah ini:

7. langkah selanjut nya membuat class pada package entitas dengan nama “Siswa”. Dengan cara klik kanan di package entitas->new->java class->finish. Seperti gambar dibawah ini:

8. langkah selanjut nya membuat public class dengan variabel seperti nama nama field yang di buat tadi di database. Seperti gambar di bawah ini:

9. langkah selanjut nya tambahkan getter and setter dengan cara klik kanan->insert code->ceklis semuanya. Seperti gambar dibawah ini:

10. langkah selanjut nya membuat class pada package service, seperti langkah sebelum nya cara membuat class dengan nama “SvSiswa” lalu masukan code seperti berikut :

public class SvSiswa {
    
    //insert
    public static void insert(Siswa siswa){
        //menggunakan prepared statemnet
        PreparedStatement ps = null;
        try{
            String query ="insert into siswa (nama,telepon,kelas)values(?,?,?)";
            ps = (PreparedStatement) DatabaseUtilities.getConnection().prepareStatement(query);
            //load data
            ps.setString(1, siswa.getNama());
            ps.setString(2, siswa.getTelepon());
            ps.setString(3, siswa.getKelas());
            ps. executeUpdate();
        }catch (SQLException e){
            Logger.getLogger(SvSiswa.class.getName()).log(Level.SEVERE, null, e);
            }
    }
    
    //update
    public static void update(Siswa siswa){
        //menggunakan prepared statemnet
        PreparedStatement ps = null;
        try{
            String query ="update siswa set nama = ? ,telepon =?, kelas =? where id =?";
            ps = (PreparedStatement) DatabaseUtilities.getConnection().prepareStatement(query);
            //load data
            ps.setString(1, siswa.getNama());
            ps.setString(2, siswa.getTelepon());
            ps.setString(3, siswa.getKelas());
            ps.setInt (4, siswa.getId());
            ps. executeUpdate();
        }catch (SQLException e){
            Logger.getLogger(SvSiswa.class.getName()).log(Level.SEVERE, null, e);
            }
    }
    
    //delete
    public static void delete(int id){
        //menggunakan prepared statemnet
        PreparedStatement ps = null;
        try{
            String query ="delete from siswa where id=?";
            ps = (PreparedStatement) DatabaseUtilities.getConnection().prepareStatement(query);
            //load data
            ps.setInt(1, id);
            ps. executeUpdate();
        }catch (SQLException e){
            Logger.getLogger(SvSiswa.class.getName()).log(Level.SEVERE, null, e);
            }
    }
    
    //read 1 data
    public static Siswa get(int id){
    //menggunakan statement dan result set
    Siswa siswa = new Siswa();
        Statement s= null;
        try{
            s = (Statement) DatabaseUtilities.getConnection().createStatement();
            String query = "SELECT * FROM siswa WHERE id = "+id;
            ResultSet rs = s.executeQuery(query);
            while (rs.next()){
            siswa.setId(id);
            siswa.setNama(rs.getString("Nama"));
            siswa.setTelepon(rs.getString("Telepon"));
            siswa.setKelas(rs.getString("Kelas"));
            }
        }catch (SQLException e){
            Logger.getLogger(SvSiswa.class.getName()).log(Level.SEVERE, null, e);
            } 
    return siswa;
    }
    
    //read all data
    public static List<siswa> getList(){
    //menggunakan statement dan result set
    List<siswa> List = new ArrayList<siswa>();
        Statement s= null;
        try{
            s = (Statement) DatabaseUtilities.getConnection().createStatement();
            String query = "SELECT * FROM siswa";
            ResultSet rs = s.executeQuery(query);
            while (rs.next()){
            Siswa siswa = new Siswa();
            siswa.setId(rs.getInt("id"));
            siswa.setNama(rs.getString("Nama"));
            siswa.setTelepon(rs.getString("Telepon"));
            siswa.setKelas(rs.getString("Kelas"));
            List.add(siswa);
            }
        }catch (SQLException e){
            Logger.getLogger(SvSiswa.class.getName()).log(Level.SEVERE, null, e);
            } 
    return List;
    }
    
}



11. langkah selanjut nya membuat class pada TabelModel dengan nama “TmSiswa. Masukan code seperti dibawah, untuk mendapat kan override anda klik icon lampu di bagian kiri lalu pilih implement all abstract methods. Lalu ganti code override nya dengan code dibawah ini :

public class TmSiswa extends AbstractTableModel{
    List<siswa> list = new ArrayList<siswa>();

    @Override
    public int getRowCount() {
        return list.size();
    }

    @Override
    public int getColumnCount() {
        return  4;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch(columnIndex){
            case 0 : return list.get(rowIndex).getId();
            case 1 : return list.get(rowIndex).getNama();
            case 2 : return list.get(rowIndex).getTelepon();
            case 3 : return list.get(rowIndex).getKelas();
            default: return null;
        }
    }

    @Override
    public String getColumnName(int column) {
        switch(column){
            case 0 : return "Id";
            case 1 : return "Nama";
            case 2 : return "Telepon";
            case 3 : return "Kelas";
            default: return null;
        }
    }
    
    public void setList(List<siswa> list){
        this.list = list;
        fireTableDataChanged();
        
    }
        
    
}


12. langkah selanjut nya membuat interface pilih package view->new->jFrame From dengan nama “FsiswaView” seperti gambar dibawah ini:


13. setelah itu buat design seperti gambar dibawah ini:

14. setelah itu di bagian source buat getter and setter seperti langkah sebelum nya yang pernah kita buat. Seperti gambar dibawah ini:

15. tambahkan code dibawah ini di package DatabaseApps:
  public static void main(String[] args) {
        // TODO code application logic here
        FSiswaView fs = new FSiswaView();
        fs.setVisible(true);
    }

16. langkah selanjut nya membuat Controller dengan nama “CtSiswa tambah kan code seperti dibawah ini:


17. tambah kan code di FsiswaView seperti dibawah ini:

18. jalankan program yang telah di buat akan tampil seperti ini:


19. insert data di database sekolah untuk mengecek apakah data bisa di tampilkan atau tidak. Seperti dibawah ini:

20. setelah di isert di dabatase secara manual, jalankan kembali aplikasi Java, akan muncul seperti dibawah ini:

Selesai deh Part1 nya. Semoga bisa membantu, dan tunggu part2 yang akan membahas tentang CRUD yang lebih lengkap terimakasih hahaha