Rabu, 23 Januari 2013

Laporan Tugas JAVA Pertemuan 14


Tugas Pertemuan 14

Untuk database Mysql

CobaDatabase.java

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

class cobadatabase {
public static void main (String [] args) {
DBMahasiswa mahasiswa = new DBMahasiswa ();
}
}

class DBMahasiswa extends JFrame implements ActionListener {
            final JLabel lNim,lNama, lAlamat;
            final JTextField nim, nama, alamat;
            final JButton btnSave, btnHapus;
            final JPanel panel1, panel2;

public DBMahasiswa () {
            setTitle("Coba Database");
            lNim = new JLabel ("NIM : ");
            lNama = new JLabel ("NAMA :");
            lAlamat = new JLabel ("ALAMAT :");
            nim = new JTextField (20);
            nama = new JTextField (20);
            alamat = new JTextField (20);
            btnSave = new JButton ("SIMPAN");
            btnSave.addActionListener (this);
            btnHapus = new JButton ("HAPUS");
            btnHapus.addActionListener (this);
            panel1 = new JPanel (new GridLayout(3,1));
            panel2 = new JPanel (new GridLayout(3,1));

setLayout (new BorderLayout());
add(panel1, "West");
panel1.add(lNim);
panel1.add(lNama);
panel1.add(lAlamat);
add(panel2, "East");
panel2.add(nim);
panel2.add(nama);
panel2.add(alamat);
add(btnSave, "South");
add(btnHapus, "North");
pack();
setDefaultCloseOperation(3);
setVisible(true);
}

public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==btnSave) {
String sql= "insert into mahasiswa values('"+nim.getText() +"', '"+nama.getText()+"','"+alamat.getText()+"')";
try {
            //untuk database SQL
            Class.forName("org.gjt.mm.mysql.Driver");
            Connection conn= DriverManager.getConnection("jdbc:mysql://localhost/praktikum","root","");

            //untuk database acess
            /*Class.forName("sun.jdbc.odbc.JdbcOdbcDrive");
            Connection conn= DriverManager.getConnection("jdbc:odbc:coba","","");*/
            Statement stmt = con.createStatement ();
            stmt.executeUpdate(sql);
            stmt.close();
            JOptionPane.showMessageDialog(this, "Data Berhasil Disimpan", "Hasil",JOptionPane.INFORMATION_MESSAGE);
            }catch(Exception e) {
            JOptionPane.showMessageDialog (this, e.getMessage(), "Hasil", JOptionPane.ERROR_MESSAGE);
            }
            }

            if(ae.getSource()==btnHapus) {
            int pesan = JOptionPane.showConfirmDialog(null, "anda Yakin ingin mendhapus pegawai\n"+
            "dengan NIM='"+nim.getText()+"'", "Konfirmasi Hapus Data",
            JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE);
            if(pesan == JOptionPane.OK_OPTION){
            String sql = "DELETE from mahasiswa where nim='"+nim.getText()+"'";
try {
            //untuk database SQl
            Class.forName("org.gjt.mm.mysql.Driver");
            Connection conn= DriverManager.getConnection("jdbc:mysql://localhost/praktikum","root","");

            //untuk database acess
            /*Class.forName("sun.jdbc.odbc.JdbcOdbcDrive");
            Connection conn= DriverManager.getConnection("jdbc:odbc:coba","","");*/
            Statement stmt = con.createStatement ();
            stmt.executeUpdate(sql);
            stmt.close();
            con.close();
            JOptionPane.showMessageDialog(this, "Data Berhasil Disimpan", "Hasil",JOptionPane.INFORMATION_MESSAGE);
                        }catch(Exception e) {
            JOptionPane.showMessageDialog (this, e.getMessage(), "Hasil", JOptionPane.ERROR_MESSAGE);
            }
            }
            }
            System.exit(0);
            }
            }

Jika program tersebut diijalan kan maka akan muncul hasil seperti dibawah ini : 

Setelah itu masukkan isi dari nama, nim,dan alamat. seperti contoh dibawah ini :


Jika data berhasil disimpan maka akan muncul hasil seperti dibawah ini : 



 

 untuk menghapus data tersebut maka muncul  seperti :

LihatDatabase.java
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class LihatDatabase {
 public static void main (String[]args) {
  LihatData data=new LihatData();
  }
 }

class LihatData extends JFrame {
 public LihatData() {
 setTitle ("Lihat Database");

 String tdata[][]=new String[0][0];
 try {

 //Untuk Database menggunakan SQL
 Class.forName("org.gjt.mm.mysql.Driver");
 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/praktikum","root","");

 //untuk database menggunakan Access
 /*Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
 Connection conn = DriverManager.getConnection("jdbc:odbc:coba", "", "");*/
 Statement stmt = conn.createStatement();
 //Sintaks sql yang dibawa
 String sql="select * from mahasiswa ";
 //Hasilnya ditampung disini
 ResultSet rs = stmt.executeQuery(sql);
 tdata = new String [500][3];
 int p=0;
 //jika data berikutnya ada, maka...
 while (rs.next()){
 //Kita dapatkan data dari kolom 1
 tdata[p] [0] = rs.getString(1);
 tdata[p] [1] = rs.getString(2);
 tdata[p] [2] = rs.getString(3);
 p++;
 }
 //stmt dibenaskan dari memori
 stmt.close();
 //koneksi ditutup
 conn.close();
 }
 catch (Exception exc) {
 JOptionPane.showMessageDialog(this, "ERROR","Hasil",JOptionPane.ERROR_MESSAGE);
 }
 String[] nkolom ={"NIM", "Nama", "Alamat"};
 JTable tabel = new JTable (tdata,nkolom);
 JScrollPane gridtabel = new JScrollPane(tabel);
 tabel.setPreferredScrollableViewportSize(new Dimension(400,300));
 setLayout( new FlowLayout());
 add(gridtabel);
 pack();
 setDefaultCloseOperation(3);
 setVisible(true);
 }
 }

1. Hasil untuk Database Sql
 Hasil jika disimpan :


2. Hasil untuk Database Access

Untuk Database Access
Untuk menampilkan data yang ada didatabase access maka kita harus menutup perintah untuk database MySql dan caranya sebagai berikut:


CobaDatabase.java

//Untuk database ACCESS
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection("jdbc:odbc:Coba","","");

//Untuk database SQL
   /*Class.forName("org.gjt.mm.mysql.Driver");
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/praktikum","root","");*/

LihatDatabase.java
//Untuk Database ACCESS
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection("jdbc:odbc:Coba","","");
 
 
//Untuk Database menggunakan SQL
                                                /*Class.forName("org.gjt.mm.mysql.Driver");
                                                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/praktikum","root","");*/

Laporan Praktikum JAVA Pertemuan 1`0


  Laporan Materi Java Pertemuan 10
JMenu


Menu,   Popup   menu   dan   Toolbar   digunakan   untuk   melakukan  navigasi   dalam  aplikasi.   dengan   ketiga   komponen   itu   navigasi  dalam aplikasi  menjadi   lebih  fleksibel  dan mudah digunakan oleh user.  Menu dan Toolbar pada umumnya diletakkan di  bagian atas dari  aplikasi  agar mudah ditemukan oleh user.  Sedangkan Popup Menu bisa muncul di mana saja sesuai dengan konteks aplikasi.JMenuBar adalah class yang digunakan untuk menampung JMenu.  JMenu dapat  menampung satu atau  lebih  JMenuItem.   JMenuItem  merupakan   bagian   terluar   dari   struktur  menu   yang   tidak   bisa  mempunyai child.  JSeparatordigunakan untuk memisahkan antara satu  menu   item  dan  menu   item  yang   lain.   Jika   didalam menu terdapat sub menu, gunakan JMenu untuk menampung sub menu tersebut.   Selain   JMenuItem,   JMenu   juga   dapat  menerima   class JCheckBoxMenuItem dan JRadioButtonMenuItem.  JPopupMenu mempunyai  banyak kesamaan dibandingkan dengan
JMenuBar.   Perbedaan   utamanya   adalah   :   JMenuBar   hanya   bisa berada   di   atas   sebuah   jendela   JFrame.   Sedangkan   JPopupMenu bisa muncul di mana saja sesuai dengan konteks dari aplikasi. Perbedaan lainnya terletak di dalam penggunaan umum keduanya. JMenuBar   berisikan   menu/instruksi   yang   bersifat   umum   dan berlaku   untuk   semua   keadaan   dalam   aplikasi.   Sedangkan JPopupMenu akan mempunyai  menu/instruksi  yang berbeda-beda berdasarkan dari  konteks   aplikasi.  Oleh karena   itu  JPopupMenu terkadang disebut juga sebagai konteks menu.Toolbar memberikan cara yang  lebih praktis dibandingkan menu, bahkan   bisa   dikatakan   bahwa   toolbar   adalah   cara   cepat   untuk mengakses   menu.   Oleh   karena   itu,   setiap   item   dalam toolbarbiasanya juga tersedia dalam menu. Pada umumnya toolbar diwakili  hanya dengan gambar/icon yang melambangkan perintah dari   toolbarnya.  Di   internet   banyak   tersedia   toolbar   icon   gratis yang dapat kita gunakan.
Berbeda   dengan   JMenuBar   dan   JPopupMenu   yang   hanya   bisa  menerima  menu   item,   JToolBar   dapat  menampung   JButton   atau control   lainya.   Seperti   contohnya   :   JCheckBox,   JRadioButton, JtoggleButton dan  lainya.  Normalnya,   JToolBar akan diisi  dengan JButton yang dihilangkan  text-nya dan diganti  dengan  icon.  Kita juga   perlu  merubah   dekorasi   JButton   agar   tampilannya   terlihat cantik dan menarik.


Membuat Menu
Bekerja   dengan  Menu   dalam    Java  melibatkan   enam  komponen swing, antara lain :
1. JMenuBar  :  Class yang menampung semua menu,  hanya bisa menampung JMenu sebagai child.
2. JMenu   :   Class   yang  mempunyai   child  menu   item.   Biasanya JMenu ini yang jadi child langsung dengan JMenuBar
3. JMenuItem   :   Ujung   dari   menu,   disinilah   object   Action diletakkan, sehingga ketika kita memilih JMenuItem ada action
tertentu yang dijalankan aplikasi.
4. JCheckBoxMenuItem  :   Ujung   dari  menu,   namun   bentuknya lebih mirip JCheckBox.
 5. JRadioButtonMenuItem  :  Ujung dari  menu,  namun bentuknya lebih mirip JButton. HALAMAN 26 | JAVA SWING
6. JSeparator : pemisah antar JMenuItem atau antar JMenu Setiap komponen menu mempunyai   fungsi  dan kegunaan masing-masing.   Jika   kita   perhatikan,   menu   dalam   aplikasi   umumnya mempunyai  shortcut untuk mengakses menu tanpamenggunakan bantuan   mouse.   Misalnya   menu  File   biasanya   dapat   diakses menggunakan tombol ALT + F, menu Format dapat diakses dengan  ALT + O.  Fasilitas   shortcut  menu  ini   disebut   sebagai  Keyboard  Mnemonic.  File  mempunyai   mnemonic   F,   Format   mempunyai  mnemonic o,  dan seterusnya.  Pada umumnya tampilan mnemonic
dari sebuah menu diwakili dengan huruf yang bergaris bawah. Matisse mempunyai fasilitas yang sangat OK untuk bekerja dengan Menu,   fasilitas   drag-and-dropnya   membantu   banyak   pekerjaanmembangun aplikasi barbasis GUI secara signifikan.

Contoh-contoh program

Contoh Program MainMenu.java

import java.awt.event.*;  // pemanggilan package java.awt.event
import javax.swing.*; .*; // pemanggilan package javax.swing
import java.awt.*; .*; // pemanggilan package javax.awt

class CobaMenu extends JFrame { // pendeklarasian class utama turunan dari class JFrame
     JMenuBar menuBar; // pembuatan JMenubar pada program
     JMenu file,doc,edit,help; // pembuatan JMenufile  pada program dengnan menu, file, doc, edit, help.
     JMenuItem open,save,exit,delete,copy,paste,about; // pembuatan JMenuitemr pada menufile

 public CobaMenu() {
   setTitle("Menu"); // menentukan judul pada Menu Bar diJFrame
   setSize(200,200); // menentukan ukuran JFrame
   file = new JMenu("File"); // pembuatan JMenu file
   file.setMnemonic('F');
   doc = new JMenu("Document");
   doc.setMnemonic('D');
   edit = new JMenu("Edit");
   edit.setMnemonic('E');
   help = new JMenu("Help");
   help.setMnemonic('H');
   open = new JMenuItem("Open");
   open.setMnemonic('O');
   save = new JMenuItem("Save");
   save.setMnemonic('S');
   exit = new JMenuItem("Exit");
   exit.setMnemonic('X');
   delete = new JMenuItem("Delete");
   delete.setMnemonic('L');
   copy = new JMenuItem("copy");
   copy.setMnemonic('C');
   paste = new JMenuItem("Paste");
   paste.setMnemonic('P');
   about = new JMenuItem("Paste");
   about.setMnemonic ('A');

   menuBar = new JMenuBar(); // pembuatan JMenuitem
   setJMenuBar (menuBar);
   menuBar.add(file);
   file.add(open);
   file.add(save);
   file.addSeparator();// pembuatan garis pada file
   file.add(exit);
   menuBar.add(doc); // menambah doc dalam menubar
   doc.add(edit);
   edit.add(copy);
   edit.add(paste);
   edit.add(delete);
   menuBar.add(help);
   help.add(about);

   exit.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
              System.exit(0);
            }
       });
   setDefaultCloseOperation(EXIT_ON_CLOSE); // membuat operasi exit pada JFrame
   setVisible(true);
  }
}
public class MainMenu {
      public static void main (String [] neno) { // Baris program ini berfungsi sebagai program utama yang akan dijalankan ketika program               dirun sehingga program ini disimpan dengan nama class yang terdapat baris program utamanya.
        CobaMenu m = new CobaMenu();
}
}



Outputnya:














Contoh Program FFrame.java
Adalah turunan class frame

import java.awt.*; // pemanggilan package java.awt.
import javax.swing.*; // pemanggilan package javax.swing.event
import java.awt.event.*; // pemanggilan package java.awt.event

class FFrame extends JFrame implements ActionListener{
  JButton btnTutup = new JButton("TUTUP");

  public FFrame() {
   super("FRAME");
   setSize(200,100);
   setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
   setLayout(null);
   add(btnTutup);
   btnTutup.addActionListener(this);
   btnTutup.setBounds(40,20,100,20);
   setVisible(true);
  }

  public void actionPerformed(ActionEvent e) {
   if(e.getSource()==btnTutup) {
                dispose();
   }
  }
}


Contoh Program FDialog.java
Adalah turunan class sebagai dialog.

import java.awt.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class FDialog extends JDialog implements ActionListener{
  JButton btnTutup = new JButton("TUTUP");

  public FDialog() {
   setTitle("DIALOG");
   setSize(200,100);
   setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
   setLayout(null);
   add(btnTutup);
   btnTutup.addActionListener(this);
   btnTutup.setBounds(40,20,100,20);
   setVisible(true);
  }

  public void actionPerformed(ActionEvent e) {
   if(e.getSource()==btnTutup) {
                dispose();
}
}
}

Hasilnya:



Contoh Program MainMenu2.java
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;

class Menu extends JFrame {
   JMenuBar menuBar;
   JMenu file, buatBaru;
   JMenuItem exit, frame, dialog, pesan;

   public Menu() {
    setTitle("Menu");
    setSize(200,200);
    file = new JMenu("File");
    file.setMnemonic('F');
    buatBaru = new JMenu("BuatBaru");
    buatBaru.setMnemonic('B');
    exit = new JMenuItem("EXIT");
    exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,ActionEvent.CTRL_MASK));
    frame = new JMenuItem("Frame");
    frame.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,ActionEvent.CTRL_MASK));
    dialog = new JMenuItem("Dialog");
    dialog.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,ActionEvent.CTRL_MASK));
    pesan = new JMenuItem("Pesan");
    pesan.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,ActionEvent.CTRL_MASK));

    menuBar = new JMenuBar();
    setJMenuBar(menuBar);
    menuBar.add(file);
                file.add(exit);
    menuBar.add(buatBaru);
                buatBaru.add(frame);
                buatBaru.add(dialog);
                buatBaru.add(pesan);

    exit.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
    }
    );

    frame.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            new FFrame();
        }
    }
    );

    dialog.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            new FDialog();
        }
    }
    );

    pesan.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JOptionPane.showMessageDialog(null, "Tutup?", "Pesan", JOptionPane.QUESTION_MESSAGE);
        }
    }
    );

    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setVisible(true);
   }
}

public class MainMenu2 {
   public static void main(String [] yoan) {
    new Menu();
   }
}