Anda di halaman 1dari 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Pertemuan II

APLIKASI DATABASE DENGAN NETBEANS


2.1. Membuat Desain Form
Untuk membuat aplikasi database dengan Netbeans, pertama kita buat project baru
dengan nama AplikasiPenilaianMahasiswa (File >> New Project, Categories = Java,
Projects = Java Application) seperti pada gambar 2.1 di bawah ini:

Gambar 2.1. Membuat project AplikasiPenilaianMahasiswa


Pada project AplikasiPenilaianMahasiswa yang telah kita buat tambahkan 3 Java
Package dengan nama model, view, dan controller, dengan cara klik kanan pada Source
Package, pilih New, kemudian Java Package seperti pada gambar 2.2 berikut ini:

Gambar 2.2. Menambahkan Java Package pada project AplikasiPenilaianMahasiswa

aries.saifudin@yahoo.co.id (2011-2012)

page 1 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.3. Memberi nama Java Package


Kemudian tambahkan JFrame Form pada package view dengan cara mengklik kanan
Package view, pilih New dan JFrame Form seperti gambar 2.4 di bawah ini:

Gambar 2.4. Menambahkan JFrame Form pada Package view


Pada Class Name isikan FormUtama dan pastikan nama package adalah view seperti
pada gambar 2.5 di bawah ini:

aries.saifudin@yahoo.co.id (2011-2012)

page 2 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.5. Mengatur nama dan lokasi JFrame Form untuk FormUtama
Klik kanan pada desain FormUtama, pilih properties dan ubah nilai Title menjadi
Aplikasi Penilaian Mahasiswa.

Gambar 2.6. Mengubah properti title

aries.saifudin@yahoo.co.id (2011-2012)

page 3 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Pada FormUtama tambahkan Menu Bar, Menu, dan Menu Item (dari Swing Menus
pada Palette), kemudian atur sebagai berikut:

Komponen
jMenu
jMenuItem
jSeparator
jMenuItem
jMenu
jMenuItem
jMenuItem
jMenu
jMenuItem
jMenu
jMenuItem
jSeparator
jMenuItem
jMenuItem

Tabel 2.1. Daftar menu dan menu item


Properti Text
Variable Name
Aplikasi
aplikasiMenu
Deskripsi
deskripsiMenuItem
jSeparator1
Selesai
selesaiMenuItem
Master Data
masterDataMenu
Mahasiswa
mahasiswaMenuItem
Mata Kuliah
mataKuliahMenuItem
Transaksi
transaksiMenu
Nilai
nilaiMenu
Laporan
laporanMenu
Nilai
nilaiLaporanMenuItem
jSeparator1
Mahasiswa
mahasiswaLaporanMenuItem
Mata Kuliah
mataKuliahLaporanMenuItem

Pada frame FormUtama tambahkan Desktop Pane (dari Swing Containers pada
Palette) dan atur agar memenuhi seluruh frame. Klik kanan pada Desktop Pane dan pilih
Change Variable Name, ubah menjadi mdiDesktopPane. Desain FormUtama setelah
ditambahkan menu, menu item dan desktop pane akan menjadi seperti gambar 2.7
berikut ini:

Gambar 2.7. Desain FormUtama

aries.saifudin@yahoo.co.id (2011-2012)

page 4 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Klik tombol Source yang berada di sebelah kiri atas, kemudian tambahkan kode
program untuk mengatur ukuran dan posisi frame menjadi seperti berikut ini:
public FormUtama() {
initComponents();
aturFrame(0.9, true);
}
private void aturFrame(double skala, boolean tengah){
Dimension dimensi = Toolkit.getDefaultToolkit().getScreenSize();
setSize((int)(skala*dimensi.getWidth()),
(int)(skala*dimensi.getHeight()));
if (tengah){
setLocation((int)((dimensi.getWidth()-getWidth())/2),
(int)((dimensi.getHeight()-getHeight())/2));
}
}

Tambahkan pernyataan import berikut ini:


import java.awt.Dimension;
import java.awt.Toolkit;

dengan cara mengetik di bawah pernyataan package, atau mengklik bola lampu di
sebelah kiri dan memilih Add import for ....
Untuk kembali ke desain frame, klik pada tombol Design yang berada di kiri atas
source code, atau melalui menu View >> Editors >> Design. Klik kanan pada menu item
Selesai, pilih Events >> Action >> actionPerformed seperti pada gambar 2.8 di bawah ini:

Gambar 2.8. Menambahkan Events actionPerformed pada menu Selesai


Kemudian ketik kode program di bawah ini agar ketika diklik pada menu item
Selesai, program ditutup.
System.exit(0);

Berikutnya pada package view tambahkan JInternalFrame dengan cara klik kanan
pada nama package, pilih New dan Other seperti pada gambar 2.9. Jika diklik New sudah
ada pilihan JInternalFrame, maka bisa langsung diklik JInternalFrame.

aries.saifudin@yahoo.co.id (2011-2012)

page 5 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.9. Menambahkan Other File Type


Setelah dipilih Other maka akan tampil kotak dialog seperti pada gambar 2.10, pada
categories pilih Swing GUI Forms dan pada File Types pilih JInternalFrame Form.

aries.saifudin@yahoo.co.id (2011-2012)

page 6 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.10. Memilih JInternalFrame


Kemudian klik tombol Next, maka akan tampil kotak dialog seperti pada gambar
2.11, kemudian isi class name dengan FormMahasiswa dan klik tombol finish.

Gambar 2.11. Menambahkan JInternalFrame FormMahasiswa


Klik kanan pada JInternalFrame-nya dan pilih properties. Kemudian ganti properti
title untuk mengubah judul frame menjadi Master Data Mahasiswadan beri tanda check
pada properti closable seperti gambar 2.12.
aries.saifudin@yahoo.co.id (2011-2012)

page 7 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.12. Properti JinternalFrame FormMahasiswa


Setelah menambahkan FormMahasiswa, tambahkan juga JInternalFrame untuk
FormMatakuliah dan FormNilai. Tambahkan komponen-komponen yang diperlukan untuk
membuat tampilan seperti gambar-gambar di bawah ini. Jangan lupa mengubah properti
name setiap komponen dengan nama sesuai teksnya, dengan ketentuan kata pertama
menggunakan huruf kecil semua dan huruf pertama pada kata berikutnya menggunakan
huruf kapital.

Gambar 2.13. Desain FormMahasiswa

aries.saifudin@yahoo.co.id (2011-2012)

page 8 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.14. Tampilan Navigator FormMahasiswa

Gambar 2.15. Desain FormMatakuliah

aries.saifudin@yahoo.co.id (2011-2012)

page 9 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.16. Tampilan Navigator FormMataKuliah


Tambahkan JDialog dengan cara klik kanan pada nama paket, pilih New kemudian
Other. Setelah dipilih Other maka akan tampil kotak dialog, pada categories pilih Swing
GUI Forms dan pada file types pilih JDialog Form, sehingga seperti pada gambar 2.17.

Gambar 2.17. Memilih JDialog Form

aries.saifudin@yahoo.co.id (2011-2012)

page 10 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Kemudian klik tombol Next, maka akan tampil kotak dialog seperti pada gambar
2.18, kemudian isi Class Name dengan DaftarMahasiswa dan klik tombol finish.

Gambar 2.18. Menambahkan JDialog DaftarMahasiswa


Ubah properti title menjadi Daftar Mahasiswa seperti gambar 2.19.

Gambar 2.19. Mengubah properti title


Pada desain Jdialog DaftarMahasiswa, tambahkan Table dari Swing Controls,
kemudian klik kanan dan pilih Change Variable Name, ubah nama table menjadi
daftarMahasiswaTable. Klik kanan lagi pada table dan pilih Table Contents ..., kemudian
klik pada tab Columns dan ubah menjadi seperti gambar 2.20 di bawah ini:
aries.saifudin@yahoo.co.id (2011-2012)

page 11 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.20. Pengaturan properti kolom dari tabel daftar mahasiswa


Pada tab Rows, ubah properti Count menjadi 0 dan klik tombol Close di bagian
bawah. Sehingga desain JDialog DaftarMahasiswa menjadi seperti gambar 2.21 berikut
ini:

Gambar 2.21. Desain JDialog DaftarMahasiswa

aries.saifudin@yahoo.co.id (2011-2012)

page 12 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Jendela navigator dari JDialog DaftarMahasiswa akan tampil seperti gambar 2.22 di
bawah ini:

Gambar 2.22. Jendela Navigator JDialog DaftarMahasiswa


Dengan cara yang sama, tambahkan Jdialog DaftarMataKuliah dengan desain
seperti gambar 2.23 di bawah ini:

Gambar 2.23. Desain JDialog DaftarMataKuliah

aries.saifudin@yahoo.co.id (2011-2012)

page 13 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.24. Jendela Navigator JDialog DaftarMataKuliah


Properti selectionModel dari semua tabel diatas di pilih Single Selection.

Gambar 2.25. Mengatur properti selectionModel


Double klik Class Main (Main.java atau AplikasiPenilaianMahasiswa.java) yang ada
pada jendela Project, kemudian ketik kode di bawah ini di dalam static main-nya.
new FormUtama().setVisible(true);

Tambahkan pernyataan import view.FormUtama dengan cara klik pada gambar bola
lampu kemudian pilih Add import for view.FormUtama seperti pada gambar berikut ini:

aries.saifudin@yahoo.co.id (2011-2012)

page 14 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.26. Add import for view.FormUtama


Di bawah pendefinisian class FormUtama ketik kode berikut ini:
public static FormMahasiswa formMahasiswa = new FormMahasiswa();
public static FormMataKuliah formMataKuliah = new FormMataKuliah();

Tambahkan event actionPerformed pada menu item Mahasiswa (pada menu


Master Data), di dalamnya ketik kode program di bawah ini:
if (formMahasiswa.isVisible()) {
try {
formMahasiswa.setSelected(true);
} catch (Exception ex) {}
} else {
formMahasiswa = new FormMahasiswa();
mdiDesktopPane.add(formMahasiswa);
formMahasiswa.setVisible(true);
}

Tambahkan event actionPerformed pada menu item Mata Kuliah (pada menu
Master Data), di dalamnya ketik kode program di bawah ini:
if (formMataKuliah.isVisible()) {
try {
formMataKuliah.setSelected(true);
} catch (Exception ex) {}
} else {
formMataKuliah = new FormMataKuliah ();
mdiDesktopPane.add(formMataKuliah);
formMataKuliah.setVisible(true);
}

2.2. Membuat Database Penilaian Mahasiswa


Setelah kita membuat desain aplikasi, selanjutnya kita buat database yang akan kita
gunakan untuk menyimpan data. Pada aplikasi ini kita gunakan database MySQL.
Desain tabel dan relasinya pada database yang akan kita buat adalah sebagai
berikut :

aries.saifudin@yahoo.co.id (2011-2012)

page 15 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

tbmatakuliah

tbmahasiswa
Condensed Type

Nullable

Column Name

Condensed Type

Nullable

kodematakuliah

varchar(6)

No

nim

varchar(15)

No

namamatakuliah

varchar(30)

Yes

nama

varchar(30)

Yes

jumlahsks

int

Yes

semester

int

Yes

kelas

varchar(1)

Yes

Column Name

tbnilai
Column Name

Condensed Type

Nullable

nim

varchar(15)

No

kodematakuliah

varchar(6)

No

tugas

int

Yes

uts

int

Yes

uas

int

Yes

Gambar 2.27. Desain tabel dan relasinya pada database penilaian mahasiswa
Untuk membuatnya gunakan pernyataan-pernyataan SQL di bawah ini atau
menggunakan aplikasi yang ada.
a. Membuat database dbaplikasipenilaianmahasiswa
create database dbaplikasipenilaianmahasiswa

b. Mengaktifkan database dbaplikasipenilaianmahasiswa


use dbaplikasipenilaianmahasiswa

atau klik database dbaplikasipenilaianmahasiswa kalau menggunakan browser.


c. Membuat tabel tbmahasiswa
create table tbmahasiswa(
nim varchar(15) not null,
nama varchar(30),
semester int,
kelas varchar(1),
constraint pktbmahasiswa primary key (nim)
)

d. Membuat tabel tbmatakuliah


create table tbmatakuliah(
kodematakuliah varchar(6) not null,

aries.saifudin@yahoo.co.id (2011-2012)

page 16 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

namamatakuliah varchar(30),
jumlahsks int,
constraint pktbmatakuliah primary key (kodematakuliah)
)

e. Membuat tabel tbnilai


create table tbnilai(
nim varchar(15) not null,
kodematakuliah varchar(6) not null,
tugas int,
uts int,
uas int,
constraint pktbnilai primary key (nim,kodematakuliah),
constraint fkmahasiswa foreign key (nim) references
tbmahasiswa(nim),
constraint fkmatakuliah foreign key (kodematakuliah)
references tbmatakuliah(kodematakuliah)
)

2.3. Menambahkan Kode Program


Untuk membuat koneksi, kita buat class Koneksi terlebih dulu dengan cara klik
kanan pada paket model, pilih New dan Java Class seperti pada gambar 2.28 berikut ini :

Gambar 2.28. Menambahkan Java Class

aries.saifudin@yahoo.co.id (2011-2012)

page 17 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.29. Memberi nama Class Koneksi


Di dalam class Koneksi ketik kode program berikut ini:
static String driver = "com.mysql.jdbc.Driver";
static String database =
"jdbc:mysql://localhost:3306/dbaplikasipenilaianmahasiswa";
static String user = "root";
static String password = "";

Tambahkan kode program di bawah ini di dalam metode internalFrameActivated


dari FormMahasiswa dengan cara klik kanan pada FormMahasiswa, pilih Events >>
InternalFrame >> internalFrameActivated seperti gambar 2.30 di bawah ini:

Gambar 2.30. Menambahkan event internalFrameActivated pada FormMahasiswa

aries.saifudin@yahoo.co.id (2011-2012)

page 18 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

int i;
char ch[] = new char[1];
semesterComboBox.removeAllItems();
for (i=1; i<=14; i++){
semesterComboBox.addItem(i);
}
kelasComboBox.removeAllItems();
for (i=0;i<26;i++){
ch[0]=(char)(i+65);
kelasComboBox.addItem(new String(ch));
}

Sebelum menggunakan pernyataan untuk koneksi ke database, tambahkan Library


untuk driver MySQL dengan cara klik kanan pada Libraries seperti pada gambar 2.31 di
bawah ini:

Gambar 2.31. Menambahkan Library


Kemudian pilih MySQL JDBC Driver seperti pada gambar 2.32 dan klik tombol Add
Library.

aries.saifudin@yahoo.co.id (2011-2012)

page 19 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Gambar 2.32. Menambahkan Library MySQL JDBC Driver


Tambahkan class Mahasiswa pada package model, dengan properti nim, nama,
semester dan kelas.

Gambar 2.33. Membuat class Mahasiswa pada package model


private String nim, nama, kelas;
private int semester;

aries.saifudin@yahoo.co.id (2011-2012)

page 20 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Selanjutnya tambahkan metode untuk membaca dan mengubah properti (getter


and setter) dengan cara meletakkan kursor (pointer) di dalam class Mahasiswa, kemudian
klik kanan atau klik menu Source, pilih Insert Code, dan pilih Getter and Setter, sehingga
tampil kotak dialog dan beri tanda cek semua seperti gambar 3.34 di bawah ini:

Gambar 2.33. Generate Getters and Setters


Klik tombol Generate, kemudian tambahkan metode simpan, baca, bacaDaftar, dan
hapus dengan kode program berikut ini:
public boolean simpan(){
boolean adaKesalahan = false;
Connection cn = null;
try{
Class.forName(Koneksi.driver);
} catch (Exception ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"JDBC Driver tidak
ditemukan atau rusak\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
try {
cn =
DriverManager.getConnection(Koneksi.database+"?user="+Koneksi.user+"&pass
word="+Koneksi.password+"");
} catch (Exception ex) {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Koneksi ke
"+Koneksi.database+" gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
int jumlahSimpan=0;
boolean simpan = false;
try {

aries.saifudin@yahoo.co.id (2011-2012)

page 21 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

String SQLStatemen = "select * from tbmahasiswa


where nim='"+nim+"'";
Statement sta = cn.createStatement();
ResultSet rset = sta.executeQuery(SQLStatemen);
rset.next();
if (rset.getRow()>0){
sta.close();
rset.close();
Object[] arrOpsi = {"Ya","Tidak"};
int pilih=JOptionPane.showOptionDialog(null,"NIM
sudah ada\nApakah data
diupdate?","Konfirmasi",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_ME
SSAGE, null,arrOpsi,arrOpsi[0]);
if (pilih==0){
simpan = true;
SQLStatemen = "update tbmahasiswa set
nama='"+nama+
"', semester='"+semester+
"', kelas='"+kelas+
"' where nim='"+nim+"'";
sta = cn.createStatement();
jumlahSimpan =
sta.executeUpdate(SQLStatemen);
}
} else {
sta.close();
rset.close();
simpan = true;
SQLStatemen = "insert into tbmahasiswa(nim,
nama, semester, kelas) values ('"+
nim +"','"+ nama +"','"+ semester
+"','"+ kelas +"')";
sta = cn.createStatement();
jumlahSimpan = sta.executeUpdate(SQLStatemen);
}
if (simpan) {
if (jumlahSimpan > 0){
JOptionPane.showMessageDialog(null,"Data
mahasiswa sudah tersimpan","Informasi",JOptionPane.INFORMATION_MESSAGE);
} else {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Gagal
menyimpan data mahasiswa","Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
} catch (SQLException | HeadlessException ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Tidak dapat
membuka tabel tbmahasiswa\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
}
return !adaKesalahan;
}
public boolean baca(String nim){
boolean adaKesalahan = false;
Connection cn = null;

aries.saifudin@yahoo.co.id (2011-2012)

page 22 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

try{
Class.forName(Koneksi.driver);
} catch (Exception ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"JDBC Driver tidak
ditemukan atau rusak\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
try {
cn =
DriverManager.getConnection(Koneksi.database+"?user="+Koneksi.user+"&pass
word="+Koneksi.password+"");
} catch (Exception ex) {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Koneksi ke
"+Koneksi.database+" gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
try {
String SQLStatemen = "select * from tbmahasiswa
where nim='"+nim+"'";
Statement sta = cn.createStatement();
ResultSet rset = sta.executeQuery(SQLStatemen);
rset.next();
if (rset.getRow()>0){
this.nim = rset.getString("nim");
this.nama = rset.getString("nama");
this.semester = rset.getInt("semester");
this.kelas = rset.getString("kelas");
sta.close();
rset.close();
} else {
sta.close();
rset.close();
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"NIM
\""+nim+"\" tidak
ditemukan","Informasi",JOptionPane.INFORMATION_MESSAGE);
}
} catch (SQLException | HeadlessException ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Tidak dapat
membuka tabel tbmahasiswa\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
}
return !adaKesalahan;
}
public Object[][] bacaDaftar(){
boolean adaKesalahan = false;
Connection cn = null;
Object[][] daftarMahasiswa = new Object[0][0];
try{
Class.forName(Koneksi.driver);

aries.saifudin@yahoo.co.id (2011-2012)

page 23 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

} catch (Exception ex){


adaKesalahan = true;
JOptionPane.showMessageDialog(null,"JDBC Driver tidak
ditemukan atau rusak\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
try {
cn =
DriverManager.getConnection(Koneksi.database+"?user="+Koneksi.user+"&pass
word="+Koneksi.password+"");
} catch (Exception ex) {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Koneksi ke
"+Koneksi.database+" gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
String SQLStatemen;
Statement sta;
ResultSet rset;
try {
SQLStatemen = "select nim,nama from tbmahasiswa";
sta = cn.createStatement();
rset = sta.executeQuery(SQLStatemen);
rset.next();
rset.last();
daftarMahasiswa = new Object[rset.getRow()][2];
if (rset.getRow()>0){
rset.first();
int i=0;
do {
daftarMahasiswa[i] = new
Object[]{rset.getString("nim"), rset.getString("nama")};
i++;
} while (rset.next());
}
sta.close();
rset.close();
} catch (Exception ex){
JOptionPane.showMessageDialog(null,"Tidak dapat
membuka tabel tbmahasiswa\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
}
return daftarMahasiswa;
}
public boolean hapus(String nim){
boolean adaKesalahan = false;
Connection cn = null;
try{
Class.forName(Koneksi.driver);
} catch (Exception ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"JDBC Driver tidak
ditemukan atau rusak\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);

aries.saifudin@yahoo.co.id (2011-2012)

page 24 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

}
if (!adaKesalahan){
try {
cn =
DriverManager.getConnection(Koneksi.database+"?user="+Koneksi.user+"&pass
word="+Koneksi.password+"");
} catch (Exception ex) {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Koneksi ke database
"+Koneksi.database+" gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
int jumlahHapus;
try {
String SQLStatemen = "delete from tbmahasiswa where
nim='"+nim+"'";
Statement sta = cn.createStatement();
jumlahHapus = sta.executeUpdate(SQLStatemen);
if (jumlahHapus>0){
sta.close();
JOptionPane.showMessageDialog(null,"Data
mahasiswa dengan NIM "+nim+" sudah
dihapus","Informasi",JOptionPane.INFORMATION_MESSAGE);
} else {
sta.close();
JOptionPane.showMessageDialog(null,"Data
mahasiswa dengan NIM "+nim+" tidak
ditemukan","Informasi",JOptionPane.INFORMATION_MESSAGE);
adaKesalahan = true;
}
} catch (SQLException | HeadlessException ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Tidak dapat
membuka tabel tbmahasiswa\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
}
return !adaKesalahan;
}

Untuk melengkapi program di atas, tambahkan pernyataan import di bawah ini di


bawah nama package.
import
import
import
import
import
import
import

java.awt.HeadlessException;
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
javax.swing.JOptionPane;

Di atas konstruktor dari class DaftarMahasiswa dalam package view tambahkan


kode program berikut ini:
private DefaultTableModel daftarMahasiswaDefaultTableModel;

aries.saifudin@yahoo.co.id (2011-2012)

page 25 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

public static String nimDipilih = "";


public static Object[][] listMahasiswa;

Di dalam konstruktor dari class DaftarMahasiswa (di bawah pernyataan


initComponents();) tambahkan kode program berikut ini:
daftarMahasiswaDefaultTableModel = (DefaultTableModel)
daftarMahasiswaTable.getModel();

Tambahkan kode program di bawah ini di dalam metode windowActivated dari


JDialog (class DaftarMahasiswa), dengan cara klik kanan pada Form (Jdialog bukan
komponen), pilih Event >> Window >> windowActivated.
if (listMahasiswa.length>0){
daftarMahasiswaDefaultTableModel.setRowCount(0);
for (int i=0; i<listMahasiswa.length; i++){
daftarMahasiswaDefaultTableModel.insertRow(
daftarMahasiswaDefaultTableModel.getRowCount(),listMahasiswa[i]);
}
} else {
dispose();
}

Di dalam metode actionPerformed dari tutupButton, tambahkan kode berikut ini:


nimDipilih="";
dispose();

Sedangkan di dalam metode actionPerformed dari pilihButton tambahkan kode


program berikut ini:
nimDipilih="";
if (daftarMahasiswaTable.getSelectedRowCount()>0){
nimDipilih = daftarMahasiswaTable.getValueAt(
daftarMahasiswaTable.getSelectedRow(), 0).toString();
dispose();
} else {
JOptionPane.showMessageDialog(null,"Belum ada yang dipilih");
}

Tambahkan pernyataan import di bawah nama package.


import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

Di dalam class FormMahasiswa tambahkan beberapa metode berikut ini:


public void setNim(String nim){
nimTextField.setText(nim);
}
public void setNama(String nama){
namaTextField.setText(nama);
}

aries.saifudin@yahoo.co.id (2011-2012)

page 26 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

public void setSemester(int semester){


semesterComboBox.setSelectedItem(semester);
}
public void setKelas(String kelas){
kelasComboBox.setSelectedItem(kelas);
}

Di dalam package Controller tambahkan class MahasiswaController dan tambahkan


kode program di bawah ini di dalamnya.
private Mahasiswa mahasiswa = new Mahasiswa();
private DaftarMahasiswa daftarMahasiswa = new
DaftarMahasiswa(null,true);
public void simpan(javax.swing.JTextField nim, javax.swing.JTextField
nama, javax.swing.JComboBox semester, javax.swing.JComboBox kelas){
if (!nim.getText().equals("")){
mahasiswa.setNim(nim.getText());
mahasiswa.setNama(nama.getText());
mahasiswa.setSemester(Integer.parseInt(
semester.getSelectedItem().toString()));
mahasiswa.setKelas((String) kelas.getSelectedItem());
if (mahasiswa.simpan()){
FormUtama.formMahasiswa.setNim("");
FormUtama.formMahasiswa.setNama("");
FormUtama.formMahasiswa.setSemester(1);
FormUtama.formMahasiswa.setKelas("A");
}
} else {
JOptionPane.showMessageDialog(null,"NIM tidak boleh
kosong\n","Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
public void hapus(javax.swing.JTextField nim){
if (!nim.getText().equals("")){
if (mahasiswa.hapus(nim.getText())){
FormUtama.formMahasiswa.setNim("");
FormUtama.formMahasiswa.setNama("");
FormUtama.formMahasiswa.setSemester(1);
FormUtama.formMahasiswa.setKelas("A");
}
} else {
JOptionPane.showMessageDialog(null,"NIM tidak boleh
kosong\n","Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
public void cari(javax.swing.JTextField nim){
if (!nim.getText().equals("")){
if (mahasiswa.baca(nim.getText())){
FormUtama.formMahasiswa.setNama(mahasiswa.getNama());
FormUtama.formMahasiswa.setSemester(mahasiswa.getSemester());
FormUtama.formMahasiswa.setKelas(mahasiswa.getKelas());
} else {
FormUtama.formMahasiswa.setNama("");
FormUtama.formMahasiswa.setSemester(1);

aries.saifudin@yahoo.co.id (2011-2012)

page 27 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

FormUtama.formMahasiswa.setKelas("A");
}
} else {
JOptionPane.showMessageDialog(null,"NIM tidak boleh
kosong\n","Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
public void tampilkanDaftar(){
if (!daftarMahasiswa.isVisible()){
DaftarMahasiswa.listMahasiswa = mahasiswa.bacaDaftar();
daftarMahasiswa = new DaftarMahasiswa(null, true);
daftarMahasiswa.setVisible(true);
if (!DaftarMahasiswa.nimDipilih.equals("")) {
if (mahasiswa.baca(DaftarMahasiswa.nimDipilih)){
FormUtama.formMahasiswa.setNim(mahasiswa.getNim());
FormUtama.formMahasiswa.setNama(mahasiswa.getNama());
FormUtama.formMahasiswa.setSemester(mahasiswa.getSemester());
FormUtama.formMahasiswa.setKelas(mahasiswa.getKelas());
}
}
}
}

Jangan lupa untuk menambahkan pernyataan import yang dibutuhkan, yaitu:


import
import
import
import

javax.swing.JOptionPane;
model.Mahasiswa;
view.DaftarMahasiswa;
view.FormUtama;

Double klik simpanButton pada FormMahasiswa untuk menambahkan kode


program di bawah ini pada metode actionPerformed.
new MahasiswaController().simpan(nimTextField, namaTextField,
semesterComboBox, kelasComboBox);

Dalam metode actionPerformed dari hapusButton tambahkan kode program


berikut ini:
new MahasiswaController().hapus(nimTextField);

Dalam metode actionPerformed dari daftarButton tambahkan kode program


berikut ini:
new MahasiswaController().tampilkanDaftar();

Dalam metode actionPerformed dari tutupButton tambahkan kode program berikut


ini:
dispose();

aries.saifudin@yahoo.co.id (2011-2012)

page 28 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Tambahkan kode program di bawah ini di dalam metode keyPressed dari


nimTextField, dengan cara klik kanan pada nimTextField, kemudian pilih Events >> Key >>
keyPressed.
if (evt.getKeyCode()==KeyEvent.VK_ENTER){
new MahasiswaController().cari(nimTextField);
}

Lengkapi program dengan menambahkan pernyataan import berikut ini:


import controller.MahasiswaController;
import java.awt.event.KeyEvent;

Buatlah class MataKuliah dalam package model dengan properti sebagai berikut:
private String kodeMataKuliah, namaMataKuliah;
private int jumlahSks;

kemudian tambahkan metode getter dan setter, serta tambahkan metode simpan,
baca, bacaDaftar, dan hapus dengan kode program berikut ini:
public boolean simpan(){
boolean adaKesalahan = false;
Connection cn = null;
try{
Class.forName(Koneksi.driver);
} catch (Exception ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"JDBC Driver tidak ditemukan
atau rusak\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
try {
cn =
DriverManager.getConnection(Koneksi.database+"?user="+Koneksi.user+"&pass
word="+Koneksi.password+"");
} catch (Exception ex) {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Koneksi ke "+Koneksi.database+"
gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
int jumlahSimpan=0;
boolean simpan = false;
try {
String SQLStatemen = "select * from tbmatakuliah where
kodematakuliah='"+kodeMataKuliah+"'";
Statement sta = cn.createStatement();
ResultSet rset = sta.executeQuery(SQLStatemen);
rset.next();
if (rset.getRow()>0){
sta.close();

aries.saifudin@yahoo.co.id (2011-2012)

page 29 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

rset.close();
Object[] arrOpsi = {"Ya","Tidak"};
int pilih=JOptionPane.showOptionDialog(null,"NIM sudah
ada\nApakah data
diupdate?","Konfirmasi",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_ME
SSAGE, null,arrOpsi,arrOpsi[0]);
if (pilih==0){
simpan = true;
SQLStatemen = "update tbmatakuliah set
namamatakuliah='"+namaMataKuliah+
"', jumlahsks='"+jumlahSks+
"' where
kodematakuliah='"+kodeMataKuliah+"'";
sta = cn.createStatement();
jumlahSimpan = sta.executeUpdate(SQLStatemen);
}
} else {
sta.close();
rset.close();
simpan = true;
SQLStatemen = "insert into tbmatakuliah values ('"+
kodeMataKuliah +"','"+
namaMataKuliah+"','"+ jumlahSks +"')";
sta = cn.createStatement();
jumlahSimpan = sta.executeUpdate(SQLStatemen);
}
if (simpan) {
if (jumlahSimpan > 0){
JOptionPane.showMessageDialog(null,"Data mata kuliah sudah
tersimpan","Informasi",JOptionPane.INFORMATION_MESSAGE);
} else {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Gagal menyimpan data mata
kuliah","Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
} catch (SQLException | HeadlessException ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Tidak dapat membuka tabel
tbmatakuliah\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
}
return !adaKesalahan;
}
public boolean baca(String kodeMataKuliah){
boolean adaKesalahan = false;
Connection cn = null;
try{
Class.forName(Koneksi.driver);
} catch (Exception ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"JDBC Driver tidak
ditemukan atau rusak\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){

aries.saifudin@yahoo.co.id (2011-2012)

page 30 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

try {
cn =
DriverManager.getConnection(Koneksi.database+"?user="+Koneksi.user+"&pass
word="+Koneksi.password+"");
} catch (Exception ex) {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Koneksi ke "+Koneksi.database+"
gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
try {
String SQLStatemen = "select * from tbmatakuliah where
kodematakuliah='"+kodeMataKuliah+"'";
Statement sta = cn.createStatement();
ResultSet rset = sta.executeQuery(SQLStatemen);
rset.next();
if (rset.getRow()>0){
this.kodeMataKuliah =
rset.getString("kodematakuliah");
this.namaMataKuliah =
rset.getString("namamatakuliah");
this.jumlahSks = rset.getInt("jumlahsks");
sta.close();
rset.close();
} else {
sta.close();
rset.close();
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Kode mata kuliah
\""+kodeMataKuliah+"\" tidak
ditemukan","Informasi",JOptionPane.INFORMATION_MESSAGE);
}
} catch (SQLException | HeadlessException ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Tidak dapat membuka tabel
tbmatakuliah\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
}
return !adaKesalahan;
}
public Object[][] bacaDaftar(){
boolean adaKesalahan = false;
Connection cn = null;
Object[][] daftarMataKuliah = new Object[0][0] ;
try{
Class.forName(Koneksi.driver);
} catch (Exception ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"JDBC Driver tidak ditemukan
atau rusak\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
try {

aries.saifudin@yahoo.co.id (2011-2012)

page 31 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

cn =
DriverManager.getConnection(Koneksi.database+"?user="+Koneksi.user+"&pass
word="+Koneksi.password+"");
} catch (Exception ex) {
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Koneksi ke
"+Koneksi.database+" gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
String SQLStatemen;
Statement sta;
ResultSet rset;
try {
SQLStatemen = "select kodematakuliah,namamatakuliah
from tbmatakuliah";
sta = cn.createStatement();
rset = sta.executeQuery(SQLStatemen);
rset.next();
rset.last();
daftarMataKuliah = new Object[rset.getRow()][2];
rset.first();
int i=0;
do {
daftarMataKuliah[i] = new
Object[]{rset.getString("kodematakuliah"),
rset.getString("namamatakuliah")};
i++;
} while (rset.next());
sta.close();
rset.close();
} catch (Exception ex){
JOptionPane.showMessageDialog(null,"Tidak dapat
membuka tabel tbmatakuliah\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
}
return daftarMataKuliah;
}
public boolean hapus(String kodeMataKuliah){
boolean adaKesalahan = false;
Connection cn = null;
try{
Class.forName(Koneksi.driver);
} catch (Exception ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"JDBC Driver tidak ditemukan
atau rusak\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
try {
cn =
DriverManager.getConnection(Koneksi.database+"?user="+Koneksi.user+"&pass
word="+Koneksi.password+"");
} catch (Exception ex) {

aries.saifudin@yahoo.co.id (2011-2012)

page 32 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Koneksi ke database
"+Koneksi.database+" gagal\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
if (!adaKesalahan){
int jumlahHapus;
try {
String SQLStatemen = "delete from tbmatakuliah where
kodematakuliah='"+kodeMataKuliah+"'";
Statement sta = cn.createStatement();
jumlahHapus = sta.executeUpdate(SQLStatemen);
if (jumlahHapus>0){
sta.close();
JOptionPane.showMessageDialog(null,"Data mata kuliah sudah
dihapus","Informasi",JOptionPane.INFORMATION_MESSAGE);
} else {
sta.close();
JOptionPane.showMessageDialog(null,"Kode mata kuliah tidak
ditemukan","Informasi",JOptionPane.INFORMATION_MESSAGE);
adaKesalahan = true;
}
} catch (SQLException | HeadlessException ex){
adaKesalahan = true;
JOptionPane.showMessageDialog(null,"Tidak dapat membuka tabel
tbmatakuliah\n"+ex,"Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
}
return !adaKesalahan;
}

Lengkapi dengan pernyataan import berikut ini:


import
import
import
import
import
import
import

java.awt.HeadlessException;
java.sql.Connection;
java.sql.DriverManager;
java.sql.ResultSet;
java.sql.SQLException;
java.sql.Statement;
javax.swing.JOptionPane;

Di atas konstruktor class DaftarMataKuliah tambahkan pernyataan berikut ini:


private DefaultTableModel daftarMataKuliahDefaultTableModel;
public static String kodeMataKuliahDipilih = "";
public static Object[][] listMataKuliah;

Kemudian di dalam kontruktor class DaftarMataKuliah di bawah pernyataan


initComponents(); tambahkan pernyataan berikut ini:
daftarMataKuliahDefaultTableModel = (DefaultTableModel)
daftarMataKuliahTable.getModel();

aries.saifudin@yahoo.co.id (2011-2012)

page 33 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Tambahkan kode program di bawah ini di dalam metode windowActivated dari


JDialog (class DaftarMataKuliah), dengan cara klik kanan pada Form (Jdialog bukan panel),
pilih Event >> Window >> windowActivated.
if (listMataKuliah.length>0){
daftarMataKuliahDefaultTableModel.setRowCount(0);
for (int i=0; i<listMataKuliah.length; i++){
daftarMataKuliahDefaultTableModel.insertRow(
daftarMataKuliahDefaultTableModel.getRowCount(), listMataKuliah[i]);
}
} else {
dispose();
}

Di dalam metode actionPerformed dari tutupButton, tambahkan kode berikut ini:


kodeMataKuliahDipilih="";
dispose();

Sedangkan di dalam metode actionPerformed dari pilihButton tambahkan kode


program berikut ini:
kodeMataKuliahDipilih="";
if (daftarMataKuliahTable.getSelectedRowCount()>0){
kodeMataKuliahDipilih = daftarMataKuliahTable.getValueAt(
daftarMataKuliahTable.getSelectedRow(), 0).toString();
dispose();
} else {
JOptionPane.showMessageDialog(null,"Belum ada yang dipilih");
}

Tambahkan pernyataan import di bawah nama package.


import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

Di dalam class FormMataKuliah tambahkan beberapa metode berikut ini:


public void setKodeMataKuliah(String kodeMataKuliah){
kodeMataKuliahTextField.setText(kodeMataKuliah);
}
public void setNamaMataKuliah(String namaMataKuliah){
namaMataKuliahTextField.setText(namaMataKuliah);
}
public void setJumlahSks(int jumlahSks){
jumlahSksComboBox.setSelectedItem(jumlahSks);
}

Di dalam package Controller tambahkan class MataKuliahController dan tambahkan


kode program di bawah ini di dalamnya.
private MataKuliah mataKuliah = new MataKuliah();

aries.saifudin@yahoo.co.id (2011-2012)

page 34 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

private DaftarMataKuliah daftarMataKuliah = new


DaftarMataKuliah(null,true);
public void simpan(javax.swing.JTextField kodeMataKuliah,
javax.swing.JTextField namaMataKuliah, javax.swing.JComboBox jumlahSks){
if (!kodeMataKuliah.getText().equals("")){
mataKuliah.setKodeMataKuliah( kodeMataKuliah.getText());
mataKuliah.setNamaMataKuliah( namaMataKuliah.getText());
mataKuliah.setJumlahSks(Integer.parseInt(
jumlahSks.getSelectedItem().toString()));
if (mataKuliah.simpan()){
FormUtama.formMataKuliah.setKodeMataKuliah("");
FormUtama.formMataKuliah.setNamaMataKuliah("");
FormUtama.formMataKuliah.setJumlahSks(2);
}
} else {
JOptionPane.showMessageDialog(null,"Kode mata kuliah tidak boleh
kosong\n","Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
public void hapus(javax.swing.JTextField kodeMataKuliah){
if (!kodeMataKuliah.getText().equals("")){
if (mataKuliah.hapus(kodeMataKuliah.getText())){
FormUtama.formMataKuliah.setKodeMataKuliah("");
FormUtama.formMataKuliah.setNamaMataKuliah("");
FormUtama.formMataKuliah.setJumlahSks (2);
}
} else {
JOptionPane.showMessageDialog(null,"Kode mata kuliah tidak boleh
kosong\n","Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
public void cari(javax.swing.JTextField kodeMataKuliah){
if (!kodeMataKuliah.getText().equals("")){
if (mataKuliah.baca(kodeMataKuliah.getText())){
FormUtama.formMataKuliah.setNamaMataKuliah(
mataKuliah.getNamaMataKuliah());
FormUtama.formMataKuliah.setJumlahSks(
mataKuliah.getJumlahSks());
} else {
FormUtama.formMataKuliah.setNamaMataKuliah("");
FormUtama.formMataKuliah.setJumlahSks(2);
}
} else {
JOptionPane.showMessageDialog(null,"Kode mata kuliah tidak boleh
kosong\n","Kesalahan",JOptionPane.ERROR_MESSAGE);
}
}
public void tampilkanDaftar(){
if (!daftarMataKuliah.isVisible()){
DaftarMataKuliah.listMataKuliah = mataKuliah.bacaDaftar();
daftarMataKuliah = new DaftarMataKuliah(null, true);
daftarMataKuliah.setVisible(true);
if (!DaftarMataKuliah.kodeMataKuliahDiPilih.equals("")) {
if (mataKuliah.baca(
DaftarMataKuliah.kodeMataKuliahDiPilih)){

aries.saifudin@yahoo.co.id (2011-2012)

page 35 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

FormUtama.formMataKuliah.setKodeMataKuliah(
mataKuliah.getKodeMataKuliah());
FormUtama.formMataKuliah.setNamaMataKuliah(
mataKuliah.getNamaMataKuliah());
FormUtama.formMataKuliah.setJumlahSks(
mataKuliah.getJumlahSks());
}
}
}
}

Jangan lupa untuk menambahkan pernyataan import yang dibutuhkan, yaitu:


import
import
import
import

javax.swing.JOptionPane;
model.MataKuliah;
view.DaftarMataKuliah;
view.FormUtama;

Double klik simpanButton pada FormMataKuliah untuk menambahkan kode


program di bawah ini pada metode actionPerformed.
new MataKuliahController().simpan(kodeMataKuliahTextField,
namaMataKuliahTextField, jumlahSksComboBox);

Dalam metode actionPerformed dari hapusButton tambahkan kode program


berikut ini:
new MataKuliahController().hapus(kodeMataKuliahTextField);

Dalam metode actionPerformed dari daftarButton tambahkan kode program


berikut ini:
new MataKuliahController().tampilkanDaftar();

Dalam metode actionPerformed dari tutupButton tambahkan kode program berikut


ini:
dispose();

Tambahkan kode program di bawah ini di dalam metode keyPressed dari


kodeMataKuliahTextField, dengan cara klik kanan pada kodeMataKuliahTextField,
kemudian pilih Events >> Key >> keyPressed.
if (evt.getKeyCode()==KeyEvent.VK_ENTER){
new MataKuliahController().cari(kodeMataKuliahTextField);
}

Di dalam metode windowActivated dari InternalFrame FormMataKuliah tambahkan


kode program berikut ini:
for (int i=2;i<=4;i++){
jumlahSksComboBox.addItem(i);
}

aries.saifudin@yahoo.co.id (2011-2012)

page 36 of 37

Materi Pemrograman II (Pertemuan II)

Universitas Pamulang

Lengkapi program dengan menambahkan pernyataan import berikut ini:


import controller.MataKuliahController;
import java.awt.event.KeyEvent;

Referensi:
1. Supriyanto, (2010), Pemrograman Database Menggunakan Java & MySQL Untuk
Pemula, Cetakan Pertama, Media Kita
2. Hariyanto, Bambang, (2007), Esensi-esensi Bahasa Pemrograman Java, Edisi 2,
Informatika Bandung, November 2007.
3. Utomo, EkoPriyo, (2009), Panduan Mudah Mengenal Bahasa Java, Yrama Widya,
Juni 2009.
4. Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007
5. http://www.netbeans.com/
6. http://www.oracle.com/
aries.saifudin@yahoo.co.id (2011-2012)

page 37 of 37