2.3. Membuat Menu Utama dan Form login dengan NetBeans dan DBMS MySQL

Membuat Program Aplikasi Akademik dengan Menggunakan NetBeans 6.0
4checks.com-Free Shipping and Handling on All Personal Checks with code DWF008
1. Membuat Database dengan MySQL
Adapun langkah-langkahnya adalah :
Aktifkan database mysql untuk yg menggunakan Wamp, klik Start, Klik All Program, Klik WampServer, klik Start WampServer.
Setelah aktif jalan command DOS, dengan cara klik Start, klik Run lalu ketik CMD dan tekan Enter
Ketiklah perintah dibawah ini yang cetak tebal.

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Toshiba>cd\
C:\cd\wamp\mysql\bin\
C:\wamp\mysql\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 5.0.21-community-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Membuat database
mysql> create database akademik;
Query OK, 1 row affected (0.00 sec)
Mengaktifkan database
mysql> use akademik;
Database changed
Membuat table
mysql> create table operator (userid varchar(10), passid varchar(10));
Query OK, 0 rows affected (0.08 sec)
Menginputkan data ke table operator
mysql> insert into operator value ("Ahmad","4hm4d");
Query OK, 1 row affected (0.06 sec)
Melihat isi table
mysql> select * from operator;
+--------+--------+
| userid | passid |
+--------+--------+
| Ahmad  | 4hm4d  |
+--------+--------+
1 row in set (0.00 sec)

Membuat table mahasiswa
mysql> create table mahasiswa (nobp varchar(7), nama varchar (25), tmp_lhr varchar (20),
-> tglLhr varchar(8), alamat varchar(25), jenis_kel varchar(10), agama varchar(8));
Query OK, 0 rows affected (0.41 sec)
Menginputkan data pada table mahasiswa
mysql> insert into mahasiswa value ("0210001","Ahmad","Lampung","12-05-90",
          > "Pegambiran","Laki-Laki","Islam"),
        > ("0210002","Rizal","Padang","12-05-95","Padang","Laki-Laki","Islam");
Query OK, 2 rows affected (0.05 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql>

Apabila ingin menggunakan NetBeans untuk melakukan perintah SQL dapat melihat pada link Mysql dengan NetBeans

2. Membuat Menu Utama :
Langkah-langkahnya adalah pastikan terlebih dahulu bahwa NetBeans sudah aktif dan klik File New Project, pada Categories klik Java dan pada dan pada Project pilih Java Desktop Aplication, klik Next beri nama project, tentukan folder dan klik Finish.

Nama Projectnya : PrjAkademik
Edit PrjAkademikView sehingga membentuk form berikut ini :

3. Membuat Form Login
Klik File, New File dan Pilih Categories, Swing GUI Forms dan JDialog Form
Class Name : FormLogin
Desain form login sehingga membentuk gambar berikut :

4. Jalankan program dengan cara menekan tombol F6

5. Menambah method pada kelas PrjAkademikView, untuk mengatur visibilitas menu supaya tidak bias diakses sebelum seseorang melakukan otentikasi dengan baik.
Caranya :
Masuk pada tab Source kode pada PrjAkademikView, pada baris terakhir sebelum kurung kurawal (})
Tambahkan satu method dengan modifier public void dan namnya setauthentication. seperti berikut : dengan catatan nama variable pada menu harus sama.

…
 private JDialog aboutBox;
public void setAutentication(boolean value){
    fileMenu.setEnabled(value);
    transaksiMenuItem.setEnabled(value);
    if (value == true){
        loginMenuItem.setEnabled(false);
        logoutMenuItem.setEnabled(true);
    }else{
        loginMenuItem.setEnabled(true);
        loginMenuItem.setEnabled(false);
    }
}
}

6. Masih pada PrjAkademikView, masuk ke tab Design Form, pilih menu Logout. Klik kanan mouse, events, action dan actionperformed ketik :

private void logoutMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
        setAutentication(false)
    }

7. Lanjutkan dengan menu login, lalu ketik :

    private void loginMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        logoutMenuItemActionPerformed(evt);
        new LoginForm(new javax.swing.JFrame(), true).setVisible(true);
    }

8. Mengedit Method pada kelas PrjAkademikApp, sehingga pada saat aplikasi dijalankan maka yang akan tampil lebih dahulu adalah FromMenu.
Adapun kodingnya adalah :

package prjAkademik;
import java.sql.*;

import org.jdesktop.application.Application;
import org.jdesktop.application.SingleFrameApplication;

public class PrjAkademikApp extends SingleFrameApplication {
private static Connection conn;
private static PrjAkademikView mainMenu;

    @Override protected void startup() {
        //show(new PrjAkademikView(this));
        mainMenu = new PrjAkademikView(this);
    }
    @Override protected void configureWindow(java.awt.Window root) {
    }
    public static PrjAkademikApp getApplication() {
        return Application.getInstance(PrjAkademikApp.class);
    }
    public static void main(String[] args) {
        launch(PrjAkademikApp.class, args);
        InitConnection();
        new LoginForm(new javax.swing.JFrame(), true).setVisible(true);
    }
public void ShowMainMenu(){
    show(mainMenu);
}
public static PrjAkademikView getInstanceMainMenu(){
    return mainMenu;
}
public static Connection getConnection(){
    return conn;
}
private static void InitConnection(){
}
}

9. Membuat Koneksi Database MySQL dengan Netbeans
a. Membuat File Database.ini pada folder lib.
Caranya aktifkan notepade ketik program berikut ini :

# Stting JDBC
# getDriver JDBC
DBDriver=com.mysql.jdbc.Driver

#getDatabase
DBDatabase=jdbc:mysql://localhost:3306/Akademik

#Setting username
DBUsername=root

#setting password
DBPassword=""

Simpan dengan nama Database.ini pada folder lib (buat terlebih dahulu foldernya)
b. Membuat class pada netbeans dengan nama Database.java yang akan digunakan untuk merelasikan file Database ini. Caranya klik File, new file, java dan java class, beri nama Database.
Adapun kodingnya adalah :

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package prjAkademik;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import javax.swing.JOptionPane;
/**
 *
 * @author Toshiba
 */
public class Database {
   public Properties mypanel, myLanguage;
    private String strNamaPanel;
    public Database(){

}
    public String SettingPanel(String nmPanel){
        try{
            mypanel = new Properties();
            mypanel.load(new FileInputStream("lib/database.ini"));
            strNamaPanel = mypanel.getProperty(nmPanel);
        }
        catch(IOException e){
            JOptionPane.showMessageDialog(null,"Tidak ada Koneksi","Error",JOptionPane.INFORMATION_MESSAGE);
            System.err.println(e.getMessage());
            System.exit(0);
        }
        return strNamaPanel;
        }
}

10. Menambah Skrip Program pada Form Login
a. Import file

package prjAkademik;

import javax.swing.table.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.JOptionPane;

b. Mendefinsikan Variabel

public class LoginForm extends javax.swing.JDialog {
String data[] = new String[4];
 Database dbsetting;
String driver, dtbase, user,pass,userLogin;

c. Membuat pemodelan table dan membuat koding untuuk membaca file Database.ini, dibawah iniComponents seperti berikut :

    public LoginForm(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        dbsetting = new Database();
        driver = dbsetting.SettingPanel("DBDriver");
        dtbase = dbsetting.SettingPanel("DBDatabase");
        user = dbsetting.SettingPanel("DBUsername");
        pass = dbsetting.SettingPanel("DBPassword");
        this.setSize(600,400);
    }

d. Membuat koding pada tombol ok, dengan cara double klik tombol OK pada form login, lalu ketikkan listing berikut :

try{
            Class.forName(driver);
            Connection kon = DriverManager.getConnection(dtbase,user,"");
            Statement stt = kon.createStatement();
            String SQL = "select * from operator where user_id='"+ jTextField1.getText() +"'";
            ResultSet hasil = stt.executeQuery(SQL);
            try {
            for (int I = 0; hasil.next(); I++) {
                    PrjAkademikApp.getInstanceMainMenu().setAutentication(true);
                    PrjAkademikApp.getApplication().ShowMainMenu();
                    this.dispose();
            }
            } catch (SQLException se) {
            }
            stt.close();
            kon.close();
            }
       catch(Exception exc){
     }
    }

e. Tambahkan MYSQL JDBC Driver dengan cara klik Kanan Pada Libraries, Klik Add Library, Klik MYSQL JDBC DRiver, dan Klik Add Library

f. Membuat koding pada tombol Cancel.

this.dispose();.
g. Uji Program…

Catatan :
Hati-hati… Java CaseSensitive…

About these ads

33 Responses

  1. Thx tutorialnya….

  2. Saya ingin bertanya bagai mana cara untuk menggabungkan dokumen pdf dengan GUI soal nya saya ingin membuat aplikasi jika diklik button maka akan tampil dokumen pdf nya itu gimana za……., saya sudah mencari di internet tapi gak ada tolong za………
    jika ingin menghubungi saya klik di sini saja atau di email ku mfah.fc@gmail.com.

    • banyak kok diinternet… mungkin kayak seperti ini ya…

      
          private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
              // TODO add your handling code here:
              tes1();
          }
      public void tes1(){
      try{
      Process panggil =
      Runtime.getRuntime().exec("rundll32 url.dll, FileProtocolHandler D:/Jayanusa/Java/Aplikasi penjualan/tes.pdf");
      panggil.waitFor();
      System.out.println("Done");
      }catch(Exception e){
            e.printStackTrace();
       }
      }
      
  3. Thx pak tutorialnya.
    kebetulan lagi nyari yg ini. hhe

  4. Aslammualaikum.wr.wb.
    mu tanya nich pak……untuk membuat laporan java dinetbeans caranyanya bagaimana pak, apa menggunakan irepoart atau ada caara yang lainnya pak, klw menggunakan irepoart cara menginstalnya bagaimana pak???

  5. Boz q mau tanya nih ko login yg q jalan kan ko tidak ada koneksi yah? Trus outputnya kterangan nya lib/database.ini (the system cannot find the path specified) ini apanya yg salah! Mohon penjelasannya! Trus cra yg lebih jelasnya lg! Saya mohon di jelaskan yg detael di sini aja ya ! Thanx sebelumnya?

    • kesalahannya pada langkah 9, anda harus membuat file koneksi ke database dengan nama database.ini dengan menggunakan NotePad…
      pastikan memang benar namanya yang tersimpan database.ini, biasanya yang tersimpan database.ini.text sehingga enggak kebaca dengan koding, terus…
      jangan lupa buat folder baru dengan nama lib pada folder project pastikan aja dengan windows explorer, .Database.ini disimpankan pada folder lib yang anda buat sendiri.
      contoh :
      folder project nya PrjTransaksi tersimpan di D, sehingga pada windows explorer pada addressnya akan tampil : D:\PrjTransaksi\lib dan isi foldernya Database.ini

  6. maap ni kalo di netbeans nya sendiri kan di my document nya ada folder netbeans? Trus jga di folder dist nya dalam folder projects jga ada libnya? Itu gmana cra aktivin koneksinya?

  7. oh ya ni kalo pake notepade kan database.ini.text harusnya di save dgn format apa?

    • kalau memang sudah ada folder lib di project yang tinggal save as aja dari notepad ke folder itu, tapi pada saat simpan pastikan Encodingnya dalam bentuk ANSI, terus ketik aja pada file name Database.ini lalu klik Save…
      sehingga file tersimpan database.ini kalau enggak rename aja menjadi database.ini bukan database.ini.text…

  8. kalo saya bkin database nya di phpmyadmin gmana cranya! Mohon di jelaskan

  9. boz q jalankan from login udah tampil q masukkan nama dan passwordnya from utamanya ga tampil yah knpa? Padahal username nya root dan paswordnya 123456 sesuai dgn yg di notpade? Knpa yah form utamanya ga muncul trus from login nya harusnya hilang!

  10. gmana boz ko ga di jawab sih bingung pa?

    • iya nich.. lg bingun, lagi banyak kerjaan gak tau mana yang mau diduluin….
      entar yach sabar dulu…
      eh… emangnya untuk masuk ke mysqlnya pakai pasword juga…?

  11. knpa boz form login tampil q masukan username dan paswordnya kaya di database.ini trus ga tampil menu form utamanya? Tolong di jawab ya

  12. gmana ni jawbnnya ko lma bnget

  13. saya mau tanya , kalau coding di bawah ini ngetiknya di form apa ya ?

    public LoginForm(java.awt.Frame parent, boolean modal) {
    02 super(parent, modal);
    03 initComponents();
    04 dbsetting = new Database();
    05 driver = dbsetting.SettingPanel(“DBDriver”);
    06 dtbase = dbsetting.SettingPanel(“DBDatabase”);
    07 user = dbsetting.SettingPanel(“DBUsername”);
    08 pass = dbsetting.SettingPanel(“DBPassword”);
    09 this.setSize(600,400);
    10 }

    • pada form LoginForm… kan bisa dilihat pada baris pertama… public LoginForm(…..

      • pak bgmana klo waktu kita non aktifkan show view di app,, kok waktu di run cm napa form app.java nya aja,,,

        dan bgmana waktu kita startup langsung login dulu baru terbuka aplikasi y,, thanks ya

  14. pak mw bertanya,, ap codingnya waktu kita menginput data langsung muncul atau ter – refresh sendiri,,
    tolong pak

    • Mungkin script ini bisa membantu…

      try{
      String sql=”select kode_atm from tbpelanggan”;
      Statement stm=”koneksi.createStatement();
      ResultSet rs=stm.executeQuery(sql);
      while (rs.next())
      {
      }
      stm.close();
      }catch(Exception e)
      {
      System.out.println(e.getMessage());
      }
      row.add(“kode Atm”);
      row.add(“Nama pelanggan”);
      row.add(“Nomor Rekening”);
      row.add(“Jumlah Saldo”);

      try {
      String sql=”select * from tbpelanggan”;
      Statement stm=”koneksi.createStatement();
      ResultSet rs= stm.executeQuery(sql);
      dataEnt=new Vector();
      Vector dataTbl=new Vector();
      while (rs.next())
      {

      Vector dataRow=new Vector();
      Cbarang enty=new Cbarang();
      dataRow.add(rs.getString(“kode_atm”));
      dataRow.add(rs.getString(“nama”));
      dataRow.add(rs.getString(“norekening”));
      dataRow.add(rs.getString(“saldo”));
      enty.setkd_atm(rs.getString(“kode_atm”));
      enty.setnama(rs.getString(“nama”));
      enty.setnorek(rs.getString(“norekening”));
      enty.setsaldo(rs.getString(“saldo”));
      dataEnt.add(enty);
      dataTbl.add(dataRow);
      }
      mod.setDataVector(dataTbl, row);
      table.setModel(mod);
      }catch(Exception e)
      {
      e.printStackTrace();
      System.out.println(“view tables “+e.getMessage());
      }

      PERINTAH INI DIKETIKKAN PADA TOMBOL REFRESH…
      goodluck……..!!!!!!

  15. saya sedang coba bikin mobile application.. gimana caranya untuk konek database ke mysql yang ada di hostingan?

  16. Pak kalo cara koneksi dengan user pass dll diletakan di file database.ini kenapa gak mau langsung di jalankan tanpa netbeans ya?jadi kalo mau jalankan harus melalui nebeans, ada solusi gak agar dengan cara koneksi seperti ini tetapi bisa langsung dijalankan tanpa NetBeans

  17. mau tanya nih gan… code source agar username form login, itu namanya tampil di menu utama? itu code surce nya gmana? maksud aku kaya kita masuk facebook di atas nya kan ada tulisan selamat datang “nama pengguna”? klo ini aku kasih label di menu utama bagian atas itu agar nama user tampil di stu? gmna gan code source nya… sekian trima kasih

  18. kalo membuat butten untuk membuka file di direktori gimana ya gan,?
    belum pernah pegan netbeans ni.

    mohon bantuannya gan! kirim via e-mail.
    thangkyu.

  19. Sangat bermanfaat Pak, gimana pseucodenya calculasi file .exe dgn crc32 atau md5. terima kasih

  20. Pak saya mau tanya, kalau nerusin data user yg login ke menu utama atau form transaksi gmna y pak?
    saya udah secrh kemna-mana gak ketemu jg

  21. Wow..mantabz pak.
    Trims bwat tutorialnya,btw setelah saya coba(sebelum modifikasi),saya run kok tidak ada koneksi terus yaa(catatan:semua file tidak ada error dan saya pke xampp,MySql via xampp sudah running,databasenya via tab service(netbean)juga sudah connect),padahal folder lib,database.ini dan database.java sudah benar.Kira2 apa yaa pak,mohon bantuannya,trims..

  22. Mas, kenapa waktu saya pilih tombol ok di form loginnya tidak terjadi reaksi apa2 ya ? (padahal saya sudah ikuti semua tutorialnya)

    Sebelumnya terima kasih tutorialnya mas, sangat membantu sekali nih.

  23. misi bang…bang ane mau tanye nihh
    utk bikin nomorator gmn caranya yaa…?
    mksdnya bgni….no pesanan hari ini no23
    nah bgtu aplikasi dibuka besoknya…mau input data baru
    itu otomatis di no pesanan no24
    thks…

  24. bro cara print netbeab 5.5.1 konek ms-access 2007 gimana?

  25. bro ada sintak login pada java ga…
    thks..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: