Upload
pratiwi-rahadiani
View
129
Download
4
Embed Size (px)
DESCRIPTION
Rangkuman
Citation preview
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
1/38
Aplikasi Database Sederhana Menggunakan
JAVA NetBeansNovember 28, 2010 intutorial
Mungkin tulisan mengenai membuat aplikasi database sudah banyak ditemukan di internet,,,
walaupun begitu ketika mengerjakan tugas kuliah yang menyangkut database saya sangat susah
menemukan tutorial yang cocok,, kenapa??? mungkin karna masih sedikit yang memahami
pembuatan aplikasi database menggunakan metode yang saya gunakan (dengan
EclipdeLink),,,termasuk teman-teman ilkom (bisa dibilang tidak ada).. ntuk membuat suatu aplikasi
database di ja!a kita bisa menggunakan beberapa metode,,, yaitu dengan menggunakan metode
kon"ensional yang sudah banyak beredar, dengan #ibernate, dan dengan EclipseLink.. $ada tulisan
ini saya menggunakan EclipseLink yang sudah mendukung %$& '.,, sedangkan hibernate
pada saat itu hanya mendukung jpa . pada netbeans., menurut sumber yang terpercaya
menyebutkan bahwa menggunakan teknik ini mempunyai beberapa kelebihan daripada
menggunakan metode kon!ensional yang ada* &pa itu %$&?? Maa" saya tidak akan membahas
masalah itu disini,, mungkin lain kali..
ntuk memulai pembutan aplikasi di +omputer anda harus ter-install etbeans dan MyL, pada
aplikasi ini saya menggunakan etbeans /.0.. &nda diharapkan telah mengerti cara membuat
database menggunakan MyL*
$ertama buatlah sebuah database bernama 12ata3ase4 atau terserah anda,, kemudian buatlah
sebuah tabel atau entitas bernama 1Mahasiswa4 (ingat tabel harus mempunyai sebuah primary key)
yang memiliki atribut5 ama, 6$, 7anggal Lahir, dan &lamat.
Membuat Project
+emudian kita mulai membuat project %a!a &plication di etbeans, caranya5 File - Ne! Project,
lalu pada bagian "ategoriespilih Ja#adan bagianProjectpilihJa#a Application. 3eri nama
project ini 1&plikasi4.
http://blog.unand.ac.id/cmid/category/tutorial/http://blog.unand.ac.id/cmid/category/tutorial/http://blog.unand.ac.id/cmid/category/tutorial/5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
2/38
7ahap selanjutnya kita akan membuat entity class dimana class ini bertujuan untuk
mempresentasikan entity atau tabel dalam suatu database.. 8lass ini dibuat lewat $ile-ne!
$ile%pada categories pilih Persistenceselanjutnya pilih entit& classes $rom database
%endela berikutnya pada database connectionpilih ne! database
connectionkemudianne't. +emudian isi sesuai gambar dibawah ini
+lik ok, akan muncul jendela berikutnya dan klik button Add Allkemudian ne't. &kan muncul
jendela berikutnya dan klik button creat persistence unit, ok, kemudian ne't. $ada collectionpilihja#a(util()istdan klik button $inish.
http://roni.rahmon08.student.ipb.ac.id/files/2010/07/a.jpghttp://roni.rahmon08.student.ipb.ac.id/files/2010/07/New.jpg5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
3/38
3erikutnya kita akan membuat class persistencetility sebagai utilities yang membuat koneksi %$&
atau EntityManager9actory5
package aplikasi;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class persistenceUtility {
public final static EntityManagerFactory entityManagerFactory;
static {
// parameter arus sama !engan nama Persistence Unit
// yang a!a pa!a file persistence.xml
entityManagerFactory "
Persistence.createEntityManagerFactory#$%plikasiPU$&;
'
public static EntityManagerFactory getEntityManagerFactory#& {
return entityManagerFactory;
'
'
elanjutnya kita akan membuat tampilan dari aplikasi database ini,,
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
4/38
$ada combobo'cari berdasarkan,, ubahlah model pada property combobo: yang sebelumnya
dengan namadannrp, dengan cara klik kanan pada combobo:, kemudian pada model yang
sebelumnya berisikan item , item ', item ;, item < ubah menjadi nama, nrp.
&nd then ubahlah nama' komponen atau !ariabel seperti dibawah ini5
karna kita memakai 7abel sebagai antar mukanya,, maka kita harus membuat sebuah 7ableModel
untuk mempermudah dalam menambah data dang mengambil data dari tabel. 3uatlah class baru
bernama 7ableModel5
package aplikasi;
import java.util.%rray(ist;
http://roni.rahmon08.student.ipb.ac.id/files/2010/07/d.jpghttp://roni.rahmon08.student.ipb.ac.id/files/2010/07/c.jpg5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
5/38
import java.util.)ollection;
import java.util.(ist;
import javax.s*ing.table.%bstract+ableMo!el;
public class +ableMo!el exten!s %bstract+ableMo!el {
private static final long serial,ersionU- " (;
private (ist0Maasis*a1 list " ne* %rray(ist0Maasis*a1#&;
public voi! up!ate%ll#)ollection0Maasis*a1 ms& {
list.clear#&;
list.a!!%ll#ms&;
fire+ableata)ange!#&;
'
public Maasis*a get#int in!ex&{
return list.get#in!ex&;
'
public voi! setata#(ist list& {
tis.list " list;
// memberi peringatan ke tabel ba*a !ata beruba
fire+ableata)ange!#&;
'
public voi! insert#Maasis*a ms& {list.a!!#ms&;
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
6/38
fire+able2o*s-nserte!#get2o*)ount#& 3 4 get2o*)ount#& 3
&;
'
public voi! !elete#int in!ex& {
list.remove#in!ex&;
fire+able2o*selete!#in!ex4 in!ex&;
'
public voi! up!ate#int in!ex4
Maasis*a ms& {list.set#in!ex4 ms&;
fire+able2o*sUp!ate!#in!ex4 in!ex&;
'
public Maasis*a select#int in!ex& {
return list.get#in!ex&;
'
public int get2o*)ount#& {
return list.si5e#&;
'
public int get)olumn)ount#& {
return 6;
'
public 7bject get,alue%t#int ro*-n!ex4 int column-n!ex& {
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
7/38
s*itc #column-n!ex& {
case 89
return list.get#ro*-n!ex&.get:ama#&;
case 9
return list.get#ro*-n!ex&.get:rp#&;
case 9
return list.get#ro*-n!ex&.get+anggal(air#&;
case
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
8/38
case
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
9/38
tableMo!el " ne* +ableMo!el#&;
+abel.setMo!el#tableMo!el&;
'
public ?@utton get@uttonelete#& {
return Aapus;
'
public ?@utton get@utton-nsert#& {
return +amba;
'
public ?@utton get@uttonUp!ate#& {
return E!it;
'
public +ableMo!el get+ableMo!el#& {
return tableMo!el;
'
public ?+able get+able#& {
return +abel;
'
public ?+extFiel! get+ext:ama#& {
return txt:ama;
'
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
10/38
public ?+extFiel! get+ext:rp#& {
return txt:rp;
'
public ?>pinner get+anggal#& {
return +anggal;
'
public ?+ext%rea get%lmt#& {
return %lamat;
'
elanjutnya kita akan membuat class 8ontroler. 8lass ini bertugas untuk melakukan semua proses
manipulasi database. 3iasanya 8ontroller menyesuaikan dengan =iew, misal disini =iew memiliki
tombol >E67, $2&7E dan 2ELE7E, artinya 8ontroller harus dapat menangani masalah >E67,
$2&7E dan 2ELE7E tersebut. 3iasanya 8ontroller menyesuaikan dengan =iew, misal disini =iew
memiliki tombol >E67, $2&7E dan 2ELE7E, artinya 8ontroller harus dapat menangani masalah
>E67, $2&7E dan 2ELE7E tersebut. &pa hanya itu? 7>2&+ 7erdapat sebuah tabel pada =>ew
yang sebelumnya kita buat, dan yang jadi pertanyaan bagaimana data yang ada dalam database bisa
terlihat di table? &rtinya kita harus membuat si 8ontroller dapat menangani proses ELE87.
package aplikasi;
import java.util.ate;
import java.util.(ist;
import javax.persistence.EntityManager;
import javax.s*ing.?7ptionPane;
public class )ontroler {
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
11/38
private ,ie* vie*;
public )ontroler#,ie* vie*& {
tis.vie* " vie*;
'
public voi! insert#& {
EntityManager manager "
PersistenceUtility.getEntityManagerFactory#&.createEntityManager#&;
manager.get+ransaction#&.begin#&;
try {
// buat maasis*a
Maasis*a ms " ne* Maasis*a#&;
// uba !ata maasis*a
ms.set:ama#vie*.get+ext:ama#&.get+ext#&&;
ms.set:rp#vie*.get+ext:rp#&.get+ext#&&;
ms.set+anggal(air# #ate&
vie*.get+anggal#&.get,alue#&&;
ms.set%lamat## vie*.get%lmt#&.get+ext#&&&;
// simpan ke !atabase
manager.persist#ms&;
// simpa ke tablemo!el
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
12/38
vie*.get+ableMo!el#&.insert#ms&;
manager.get+ransaction#&.commit#&;
' catc #+ro*able t& {
t.print>tack+race#&;
manager.get+ransaction#&.rollback#&;
' finally {
manager.close#&;
'
'
public voi! up!ate#& {
// !apatkan baris yang terseleksi
int in!ex " vie*.get+able#&.get>electe!2o*#&;
// jika ti!ak a!a
if #in!ex "" 3& {
// maka proses !ibatalkan
?7ptionPane.so*Messageialog#null4 $Pili baris yang akan
!i3up!ateB$&;
return;
'
EntityManager manager "
PersistenceUtility.getEntityManagerFactory#&.createEntityManager#&;
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
13/38
manager.get+ransaction#&.begin#&;
try {
// men!apatkan maasis*a !ari tablemo!el
Maasis*a ms " vie*.get+ableMo!el#&.select#in!ex&;
// uba !ata maasis*a
ms.set:ama#vie*.get+ext:ama#&.get+ext#&&;
ms.set:rp#vie*.get+ext:rp#&.get+ext#&&;
ms.set+anggal(air##ate&
vie*.get+anggal#&.get,alue#&&;
ms.set%lamat## vie*.get%lmt#&.get+ext#&&&;
// up!ate maasis*a ke !atabase
manager.merge#ms&;
// up!ate maasis*a ke tablemo!el
vie*.get+ableMo!el#&.up!ate#in!ex4 ms&;
manager.get+ransaction#&.commit#&;
' catc #+ro*able t& {
t.print>tack+race#&;
manager.get+ransaction#&.rollback#&;
' finally {
manager.close#&;
'
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
14/38
'
public voi! !elete#& {
// !apatkan baris yang terseleksi
int in!ex " vie*.get+able#&.get>electe!2o*#&;
// jika ti!ak a!a
if #in!ex "" 3& {
?7ptionPane.so*Messageialog#null4 $Pili baris yang akan
!i3!eleteB$&;
return;// maka proses !ibatalkan
'
EntityManager manager "
PersistenceUtility.getEntityManagerFactory#&.createEntityManager#&;
manager.get+ransaction#&.begin#&;
try {
// men!apatkan maasis*a !ari tablemo!el
Maasis*a ms " vie*.get+ableMo!el#&.select#in!ex&;
// mengapus maasis*a !ari !atabase
manager.remove#manager.merge#ms&&;
// mengapus maasis*a !ari tablemo!el
vie*.get+ableMo!el#&.!elete#in!ex&;
manager.get+ransaction#&.commit#&;
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
15/38
' catc #+ro*able t& {
t.print>tack+race#&;
manager.get+ransaction#&.rollback#&;
' finally {
manager.close#&;
'
'
public voi! select#& {
EntityManager manager "
PersistenceUtility.getEntityManagerFactory#&.createEntityManager#&;
try {
=>uppressCarnings#$uncecke!$&
(ist list " manager.createDuery
#$select a from Maasis*a a or!er by
a.nrp$&.get2esult(ist#&;
vie*.get+ableMo!el#&.up!ate%ll#list&;
' finally {
manager.close#&;
'
'
'
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
16/38
ntuk tahap berikutnya kita akan menambahkan aksi tombol 7ambah, #apus, Edit, dan 6e"resh.
2engan cara double klik tombol tersebut kemudian isikan kode beriut5
7ambah5
private voi! +amba%ctionPerforme!#java.a*t.event.%ctionEvent evt&
{
if#txt:ama.get+ext#&.euals#$$&
txt:rp.get+ext#&.euals#$$&
%lamat.get+ext#&.euals#$$& &{
?7ptionPane.so*Messageialog#null4 $ata arus !iisi!engan lengkapB$&;
return;
'
controler.insert#&;
txt:ama.set+ext#$$&;
txt:rp.set+ext#$$&;
%lamat.set+ext#$$&;
'
#apus5
private voi! Aapus%ctionPerforme!#java.a*t.event.%ctionEvent evt&
{
if #?7ptionPane.so*)onfirmialog
#tis4 $%n!a Gakin %kan Mengapus ata Maasis*aH$4
$Aapus Maasi*a$4 ?7ptionPane.7IJ)%:)E(J7P+-7:&
""
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
17/38
?7ptionPane.)%:)E(J7P+-7:& {
// batalkan aksi apus
return;
'
controler.!elete#&;
txt:ama.set+ext#$$&;
txt:rp.set+ext#$$&;
%lamat.set+ext#$$&;
'
Edit5
private voi! E!it%ctionPerforme!#java.a*t.event.%ctionEvent evt& {
if#txt:ama.get+ext#&.euals#$$&
txt:rp.get+ext#&.euals#$$&
%lamat.get+ext#&.euals#$$& &{
?7ptionPane.so*Messageialog#null4$ata arus !iisi
!engan lengkapB$&;
return;
'
controler.up!ate#&;
txt:ama.set+ext#$$&;
txt:rp.set+ext#$$&;
%lamat.set+ext#$$&;
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
18/38
'
6e"resh5
private voi! refres%ctionPerforme!#java.a*t.event.%ctionEventevt& {
controler.select#&;
'
2an terakhir tambahkan aksi tombol 8ari,, dengan cara yang sama dan isikan kode berikut5
private voi! j@utton%ctionPerforme!#java.a*t.event.%ctionEventevt& {
EntityManager manager "
PersistenceUtility.getEntityManagerFactory#&.createEntityManager#&;
try {
(ist list " manager.createDuery
#$select b from Maasis*a b *ere $ K $b.$ K
#>tring&cmb)ari.get>electe!-tem#&K $ like
L$ K
txt)ari.get+ext#& K
$L$&.get2esult(ist#&;
// tampilkan asil pencarian ke table
tableMo!el.setata##(ist& list&;
' catc #+ro*able t& {
// perliatkan error
t.print>tack+race#&;
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
19/38
' finally {
// tutup entitymanager
manager.close#&;
'
'
ampai disini sebenarnya program kita sudah jadi,, tapi untuk membuat tabel pada program kita lebih
interakti" maka tambahkan kode berikut pada konstruktor !iew atau tampilan antar mua program
sehingga kontraktornya menjadi5
public ,ie*#& {
init)omponents#&;
tableMo!el " ne* +ableMo!el#&;
+abel.setMo!el#tableMo!el&;
controler " ne* )ontroler#tis&;
//menampilkan !ata maasis*a ketika program pertama
kali !ijalankan
refres%ctionPerforme!#null&;
+abel.get>electionMo!el#&.a!!(ist>election(istener
#ne* (ist>election(istener#& {
public voi! value)ange!#(ist>electionEvent e& {
// !apatkan baris yang terseleksi
int baris " +abel.get>electe!2o*#&;
// cek apaka baris terseleksi
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
20/38
if #baris B" 3& {
// jika terseleksi4 tampilkan !ata !i form
// !apatkan maasis*a !ari tabel
Maasis*a ms " tableMo!el.get#baris&;
// tampilkan !ata !i form
txt:ama.set+ext#ms.get:ama#&&;
txt:rp.set+ext#ms.get:rp#&&;
+anggal.set,alue#ms.get+anggal(air#&&;
%lamat.set+ext#ms.get%lamat#&&;
'
'
'&;
'
&khirnya progam database sederhana telah selesai,,, kita tinggal menambahkan dri!er MyL ke
dalam project.. 8aranya klik kanan pada librariesproject kita kemudian pilih Add )ibrar&,
selanjutnya pilih M& S*) JDB" Dri#er. 2an program database sederhana siap dijalankan*
@ampangkan**** Malah lebih gampang dari cara yang biasa*.
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
21/38
8ontoh $rogram Manajemen 2atabase ederhanadengan %a!a
9iled in5 2asar-dasar $emrograman&dd comments
"ontoh Program+ insert(ja#a
import ja!a:.swing.AB
import ja!a.awt.@ridLayoutB
import ja!a.awt.e!ent.AB
import ja!a.sCl.AB
public class insert implements &ctionListener D
%Label labelama new %Label(1nama54)B
%7e:t9ield "ieldama new %7e:t9ield()B
%Label labelim new %Label(1nim54)B
%7e:t9ield "ieldim new %7e:t9ield()B
%Label label$rodi new %Label(1prodi54)B
%7e:t9ield "ield$rodi new %7e:t9ield()B
%Label label&lamat new %Label(1alamat54)B
%7e:t9ield "ield&lamat new %7e:t9ield()B
%Label label+ota new %Label(1kota54)B
%7e:t9ield "ield+ota new %7e:t9ield()B
%3utton tombolimpan new %3utton(1simpan4)B
%3utton tombol3atal new %3utton(1batal4)B
%$anel panel new %$anel()B
insert()D
@ridLayout gl new @ridLayout(/,')B
panel.setLayout(gl)B
panel.add(labelim)B
panel.add("ieldim)B
panel.add(labelama)B
panel.add("ieldama)B
panel.add(label$rodi)B
panel.add("ield$rodi)B
panel.add(label&lamat)B
panel.add("ield&lamat)B
panel.add(label+ota)B
panel.add("ield+ota)B
panel.add(tombolimpan)B
panel.add(tombol3atal)B
http://blog.uin-malang.ac.id/syauqi/2010/06/18/contoh-program-manajemen-database-sederhana-dengan-java/http://blog.uin-malang.ac.id/syauqi/2010/06/18/contoh-program-manajemen-database-sederhana-dengan-java/http://blog.uin-malang.ac.id/syauqi/category/dasar-dasar-pemrograman/http://blog.uin-malang.ac.id/syauqi/2010/06/18/contoh-program-manajemen-database-sederhana-dengan-java/#respondhttp://blog.uin-malang.ac.id/syauqi/2010/06/18/contoh-program-manajemen-database-sederhana-dengan-java/http://blog.uin-malang.ac.id/syauqi/2010/06/18/contoh-program-manajemen-database-sederhana-dengan-java/http://blog.uin-malang.ac.id/syauqi/category/dasar-dasar-pemrograman/http://blog.uin-malang.ac.id/syauqi/2010/06/18/contoh-program-manajemen-database-sederhana-dengan-java/#respond5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
22/38
tombolimpan.add&ctionListener(this)B
tombol3atal.add&ctionListener(this)B
%9rame "rame new %9rame(1input data4)B
"rame.set8ontent$ane(panel)B"rame.setiFe(
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
23/38
catch(E:ception e) D
ystem.out.println(1salah4)B
K
i"(e!ent.getource()tombol3atal)D"ieldama.set7e:t(14)B
"ieldim.set7e:t(14)B
"ield$rodi.set7e:t(14)B
"ield&lamat.set7e:t(14)B
"ield+ota.set7e:t(14)B
K
K
public static !oid main(tringPQ args) Dinsert insert6ecord new insert()B
K
K
,utput program+
tampilan program insert(ja#a
"ontoh program+ update(ja#a
import ja!a:.swing.AB
import ja!a.awt.@ridLayoutB
import ja!a.awt.e!ent.AB
import ja!a.sCl.AB
public class update implements &ctionListener D
%7e:t9ield "ield8ari new %7e:t9ield()B
%3utton tombol8ari new %3utton(1cari4)B
%Label labelama new %Label(1nama54)B
%7e:t9ield "ieldama new %7e:t9ield()B
%Label labelim new %Label(1nim54)B
%7e:t9ield "ieldim new %7e:t9ield()B
%Label label$rodi new %Label(1prodi54)B
%7e:t9ield "ield$rodi new %7e:t9ield()B
http://uqifumi.files.wordpress.com/2010/04/insert.png5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
24/38
%Label label&lamat new %Label(1alamat54)B
%7e:t9ield "ield&lamat new %7e:t9ield()B
%Label label+ota new %Label(1kota54)B
%7e:t9ield "ield+ota new %7e:t9ield()B
%3utton tombolpdate new %3utton(1update4)B
%3utton tombol3atal new %3utton(1batal4)B
%$anel panel new %$anel()B
update()D
@ridLayout gl new @ridLayout(R,')B
panel.setLayout(gl)B
panel.add("ield8ari)B
panel.add(tombol8ari)Bpanel.add(labelim)B
panel.add("ieldim)B
panel.add(labelama)B
panel.add("ieldama)B
panel.add(label$rodi)B
panel.add("ield$rodi)B
panel.add(label&lamat)B
panel.add("ield&lamat)B
panel.add(label+ota)B
panel.add("ield+ota)B
panel.add(tombolpdate)B
panel.add(tombol3atal)B
tombol8ari.add&ctionListener(this)B
tombolpdate.add&ctionListener(this)B
tombol3atal.add&ctionListener(this)B
%9rame "rame new %9rame(1update data4)B
"rame.set8ontent$ane(panel)B
"rame.setiFe(
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
25/38
tring nama "ieldama.get7e:t()B
tring prodi "ield$rodi.get7e:t()B
tring alamat "ield&lamat.get7e:t()B
tring kota "ield+ota.get7e:t()B
8lass."orame(1com.mysCl.jdbc.2ri!er4)B
ystem.out.println(1dri!er %238 ditemukan*4)B
GGtring url 1jdbc5mysCl5GGlocalhost5;;/Gdbmahasiswa?userrootpasswordt;lgdhg4B
8onnection koneksi 2ri!erManager.get8onnection(1jdbc5mysCl5GGlocalhost5;;/Gdbmahasiswa4,
1root4,4t;lgdhg4)B
ystem.out.println(1koneksi sukses*4)B
tatement statement koneksi.createtatement()B
tring sCl 1$2&7E mahasiswa set
namaO4NnamaN4,prodiO4NprodiN4,alamatO4NalamatN4,kotaO4NkotaN4 S#E6E nimO4NnimN44B
statement.e:ecutepdate(sCl)B
"ieldama.set7e:t(14)B
"ieldim.set7e:t(14)B
"ield$rodi.set7e:t(14)B
"ield&lamat.set7e:t(14)B
"ield+ota.set7e:t(14)B
statement.close()Bkoneksi.close()B
%Hption$ane.showMessage2ialog(panel, 1data telah ter-update*4)B
K
else i"(e!ent.getource() tombol3atal) D
"ieldama.set7e:t(14)B
"ieldim.set7e:t(14)B
"ield$rodi.set7e:t(14)B
"ield&lamat.set7e:t(14)B
"ield+ota.set7e:t(14)B
K
else i"(e!ent.getource() tombol8ari) D
tring cari "ield8ari.get7e:t()B
8lass."orame(1com.mysCl.jdbc.2ri!er4)B
ystem.out.println(1dri!er %238 ditemukan*4)B
GGtring url 1jdbc5mysCl5GGlocalhost5;;/Gdbmahasiswa?userrootpasswordt;lgdhg4B
8onnection koneksi 2ri!erManager.get8onnection(1jdbc5mysCl5GGlocalhost5;;/Gdbmahasiswa4,
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
26/38
1root4,4t;lgdhg4)B
ystem.out.println(1koneksi sukses*4)B
tatement statement koneksi.createtatement()B
tring sCl 1ELE87 A 96HM mahasiswa S#E6E nim L>+E 4NcariN44B
6esultet rs statement.e:ecuteuery(sCl)B
i"(rs.ne:t()) D
"ieldim.set7e:t(rs.gettring())B
"ieldama.set7e:t(rs.gettring('))B
"ield$rodi.set7e:t(rs.gettring(;))B
"ield&lamat.set7e:t(rs.gettring(
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
27/38
import ja!a:.swing.AB
import ja!a.awt.@ridLayoutB
import ja!a.awt.e!ent.AB
import ja!a.sCl.AB
public class delete implements &ctionListener D
%7e:t9ield "ield8ari new %7e:t9ield()B
%3utton tombol8ari new %3utton(1cari4)B
%Label labelama new %Label(1nama54)B
%7e:t9ield "ieldama new %7e:t9ield()B
%Label labelim new %Label(1nim54)B
%7e:t9ield "ieldim new %7e:t9ield()B
%Label label$rodi new %Label(1prodi54)B
%7e:t9ield "ield$rodi new %7e:t9ield()B
%Label label&lamat new %Label(1alamat54)B
%7e:t9ield "ield&lamat new %7e:t9ield()B
%Label label+ota new %Label(1kota54)B
%7e:t9ield "ield+ota new %7e:t9ield()B
%3utton tombol#apus new %3utton(1hapus4)B
%3utton tombol3atal new %3utton(1batal4)B
%$anel panel new %$anel()B
delete()D
@ridLayout gl new @ridLayout(R,')B
panel.setLayout(gl)B
panel.add("ield8ari)B
panel.add(tombol8ari)B
panel.add(labelim)B
panel.add("ieldim)B
panel.add(labelama)B
panel.add("ieldama)Bpanel.add(label$rodi)B
panel.add("ield$rodi)B
panel.add(label&lamat)B
panel.add("ield&lamat)B
panel.add(label+ota)B
panel.add("ield+ota)B
panel.add(tombol#apus)B
panel.add(tombol3atal)B
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
28/38
tombol8ari.add&ctionListener(this)B
tombol#apus.add&ctionListener(this)B
tombol3atal.add&ctionListener(this)B
%9rame "rame new %9rame(1delete data4)B"rame.set8ontent$ane(panel)B
"rame.setiFe(
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
29/38
"ield+ota.set7e:t(14)B
K
else i"(e!ent.getource() tombol8ari) D
tring cari "ield8ari.get7e:t()B
8lass."orame(1com.mysCl.jdbc.2ri!er4)B
ystem.out.println(1dri!er %238 ditemukan*4)B
GGtring url 1jdbc5mysCl5GGlocalhost5;;/Gdbmahasiswa?userrootpasswordt;lgdhg4B
8onnection koneksi 2ri!erManager.get8onnection(1jdbc5mysCl5GGlocalhost5;;/Gdbmahasiswa4,
1root4,4t;lgdhg4)B
ystem.out.println(1koneksi sukses*4)B
tatement statement koneksi.createtatement()B
tring sCl 1ELE87 A 96HM mahasiswa S#E6E nim L>+E 4NcariN44B
6esultet rs statement.e:ecuteuery(sCl)B
i"(rs.ne:t()) D
"ieldim.set7e:t(rs.gettring())B
"ieldama.set7e:t(rs.gettring('))B
"ield$rodi.set7e:t(rs.gettring(;))B
"ield&lamat.set7e:t(rs.gettring(
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
30/38
,utput program+
tampilan program delete(ja#a
"ontoh program+ gabungan insert% delete% dan hapus gabung(ja#a.
import ja!a:.swing.AB
import ja!a.awt.AB
import ja!a.awt.e!ent.&ctionE!entBimport ja!a.awt.e!ent.&ctionListenerB
import ja!a.awt.9lowLayoutB
public class gabung implements &ctionListener D
%Menu3ar menu new %Menu3ar()B
%Menu menu9ile new %Menu(19ile4)B
%Menu>tem subMenu>nsert new %Menu>tem(1>nsert 2ata4,OO)B
%Menu>tem subMenu2elete new %Menu>tem(12elete 2ata4,O2O)B
%Menu>tem subMenupdate new %Menu>tem(1pdate 2ata4,OO)B
%Menu>tem subMenuuit new %Menu>tem(1uit4,OO)B
8ontainer container new 8ontainer()B
%$anel panel new %$anel()B
gabung() D
%9rame "rame new %9rame(1%a!a 2ata3ase Manajemen istem4)B
"rame.setiFe(/
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
31/38
menu9ile.add(subMenu2elete)B
menu9ile.add(subMenupdate)B
menu9ile.addeparator()B
menu9ile.add(subMenuuit)B
menu.setiFe(nsert) D
"rame>nsert()B
K else i"(e!ent.getource() subMenu2elete) D
"rame2elete()B
K else i"(e!ent.getource() subMenupdate) D
"ramepdate()B
K else i" (e!ent.getource() subMenuuit) D
ystem.e:it()B
K
K
pri!ate !oid "rame>nsert() D
insert "rame>nsert new insert()B
K
pri!ate !oid "rame2elete() D
delete "rame2elete new delete()B
K
pri!ate !oid "ramepdate() D
update "ramepdate new update()B
K
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
32/38
K
,utput program+
/ampilan program gabungan(ja#a
http://uqifumi.files.wordpress.com/2010/04/gabungan.png5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
33/38
Perintah MySQL untuk
Menampilkan Data dariBeberapa TabelJAN18
201066 COMMENTS WRITTEN BYACHMATIM
Di dalam suatu RDBMS termasukMySQL,tentunya sudah menadi suatu ke!aaran ika
dalam satu data"ase da#at terdiri dari "e"era#a ta"el$ Masin%&masin% tabelterse"ut da#at
"erhu"un%an '"erelasi( satu sama lain$ Relasi antar&ta"el da#at "eru#a relasi 1&1 'one-to-
one(, 1&M 'one-to-many(, atau M&N 'many-to-many($ Se"a%ai )*nt*h terlihat #ada
%am"ar #em*delan data k*nse#tual 'class diagram( di "a!ah ini$ Ta"el #elan%%an
"erhu"un%an den%an #esan, #esan den%an "aran%, ds"$
+ada #em"uatan suatu a#likasi, terkadan% kita u%a memerlukan tam#ilan data yan% tidak
hanya "erasal dari 1 'satu( ta"el, namun "isa dari "e"era#a ta"el sekali%us$ *nt*hnya,
dariclass diagramdi "a!ah, kita in%in menam#ilkan nama #elan%%an "erikut transaksi
yan% #ernah dilakukannya$ Dari )*nt*h terse"ut, kita harus
"isa menggabng!anminimal da tabel, yaitu #elan%%an dan #esan$
-ntuk men%%a"un%kan . 'dua( atau le"ih ta"el, kita da#at men%%unakan "entuk
#erintah"OIN$ Dalam tt#rialini, akan dielaskan se)ara "ertaha# men%enai "a%aimanamen%%a"un%kan dua ta"el atau le"ih, terutama untuk menam$il!an datayan% "erasal
dari "e"era#a ta"el$ *nt*h&)*nt*h dalam tut*rial ini se)ara khusus telah di)*"a di
data"ase MyS/0, namun demikian se)ara umum #erintah #en%%a"un%an ta"el di semua
enis data"ase tidak auh "er"eda alias sama$
Se"elum "elaar men%enai #erintah #en%%a"un%an ta"el, #erlu di#ersia#kan ta"el&ta"el
yan% akan diadikan se"a%ai "ahan latihan dan )*nt*h dalam tut*rial ini$ ita akan
men%%unakan ta"el ran)an%an sistem #emesanan "aran% '#em"elian( sederhana "erikut
ini$ -ntuk mem"uatnya, Anda da#at men%%unakan t**ls se#erti +2+MyAdmin dan
MyS/03r*nt atau da#at u%a melalui )*mmandr*m#t$ Jika di#erlukan, #elaari kem"ali#*stin%an saya se"elumnya men%enai administrasi data"ase MyS/0 den%an
+2+MyAdmindan u%a dasar&dasar #erintah S/0$ Jan%an lu#a isikan "e"era#a )*nt*h
data ke ta"el&ta"el yan% sudah Anda "uat$
http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/#commentshttp://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/#commentshttp://achmatim.net/author/achmatim/http://achmatim.net/author/achmatim/http://en.wikipedia.org/wiki/RDBMShttp://mysql.com/http://mysql.com/http://achmatim.net/2008/11/19/administrasi-mysql-dengan-phpmyadmin/http://achmatim.net/2008/11/19/administrasi-mysql-dengan-phpmyadmin/http://achmatim.net/2009/12/09/pengenalan-perintah-dasar-sql-di-mysql/http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/#commentshttp://achmatim.net/author/achmatim/http://en.wikipedia.org/wiki/RDBMShttp://mysql.com/http://achmatim.net/2008/11/19/administrasi-mysql-dengan-phpmyadmin/http://achmatim.net/2008/11/19/administrasi-mysql-dengan-phpmyadmin/http://achmatim.net/2009/12/09/pengenalan-perintah-dasar-sql-di-mysql/5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
34/38
C#nt#% Class &iagram Sistem 'embelian
1( Inner "#inDen%an inner *in, ta"el akan di%a"un%kan dua arah, sehin%%a tidak ada data yan% N-00
di satu sisi$ Se"a%ai )*nt*h, kita akan men%%a"un%kan ta"el #elan%%an dan #esan dimana
kita akan menam#ilkan da4tar #elan%%an yan% #ernah melakukan #emesanan 'transaksi($
Misalkan isi ta"el #elan%%an dan #esan adalah se"a%ai "erikut 5
Ta"el $elanggan'hanya ditam#ilkan 4ield id6#elan%%an, nm6#elan%%an dan email(
C#nt#% isi tabel $elanggan
Ta"el $esan$
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
35/38
C#nt#% isi tabel $esan
Cara )1( Inner "#in dengan *HE+E$
+en%%a"un%an den%an klausa W2ERE memiliki "entuk umum se"a%ai "erikut5
SELECT tabel1.*, tabel2.* FROM tabel1, tabel2
WHERE tabel1.PK=tabel2.FK;
Berikut ini #erintah S/0 untuk men%%a"un%kan ta"el #elan%%an dan #esan5
SELECT pelanggan.idpelanggan, pelanggan.n!pelanggan, pe"an.idpe"an,pe"an.tglpe"an
FROM pelanggan, pe"an
WHERE pelanggan.idpelanggan=pe"an.idpelanggan;
2asilnya se"a%ai "erikut5
Hasil 'enggabngan 2 Tabel dengan *HE+E
+ada hasil #erintah 7uery di atas terlihat "ah!a terda#at 'lima( transaksi yan% dilakukan
*leh 9 'ti%a( *ran% #elan%%an$ Jika kita lihat kem"ali isi ta"el #elan%%an di atas, maka
terda#at satu #elan%%an yan% tidak ditam#ilkan yaitu yan% memiliki id $elanggan '000,$
+elan%%an terse"ut tidak ditam#ilkan karena "elum #ernah melakukan transaksi$
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
36/38
Cara )1( Inner "#in dengan !lasa INNE+ "OIN$
Berikut ini "entuk umumnya5
SELECT tabel1.*, tabel2.*
FROM tabel1 #$$ER %O#$ tabel2
O$ tabel1.PK=tabel2.FK;
Dan "erikut ini #erintah S/0 #en%%a"un%an ta"el #elan%%an dan #esan$
SELECT pelanggan.idpelanggan, pelanggan.n!pelanggan, pe"an.idpe"an,
pe"an.tglpe"an
FROM pelanggan #$$ER %O#$ pe"an
O$ pelanggan.idpelanggan=pe"an.idpelanggan;
2asilnya akan sama den%an %am"ar di atas ')ara :1($
2( Oter "#inDen%an *uter *in, ta"el akan di%a"un%kan satu arah, sehin%%a memun%kinkan ada data
yan% N-LL 'k*s*n%( di satu sisi$ Se"a%ai )*nt*h, kita akan men%%a"un%kan ta"el
#elan%%an dan #esan dimana kita akan menam#ilkan da4tar #elan%%an yan% #ernah
melakukan #emesanan 'transaksi($
;uter J*in ter"a%i menadi . 'dua( yaitu LE.T "OINdan +I/HT "OIN$ Berikut ini
"entuk umum dan )*nt*hnya5
LE.T "OIN(
Bentuk umum5
SELECT tabel1.*, tabel2.*
FROM tabel1 LEFT %O#$ tabel2
O$ tabel1.PK=tabel2.FK;
*nt*h #erintah S/05
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
37/38
SELECT pelanggan.idpelanggan, pelanggan.n!pelanggan, pe"an.idpe"an,pe"an.tglpe"an
FROM pelanggan LEFT %O#$ pe"an
O$ pelanggan.idpelanggan=pe"an.idpelanggan;
2asilnya5
Hasil 'erinta% Let "#in
Ber"eda den%an hasil se"elumnya 'inner *in(, #en%%unaan le4t *in akan menam#ilkan
u%a data #elan%%an den%an id +
5/27/2018 Aplikasi Database Sederhana Menggunakan JAVA NetBeans
38/38
2asilnya5
Hasil 'erinta% +ig%t "#in
Den%an ri%ht *in, ta"el yan% menadi a)uan adalah ta"el se"elah kanan 'ta"el #esan(, adi
semua isi ta"el #esan akan ditam#ilkan$ Jika data #elan%%an tidak ada di ta"el #elan%%an,
maka isi ta"el #esan teta# ditam#ilkan$
Menggabng!an , Tabel ata Lebi%-ntuk men%%a"un%kan ti%a ta"el atau le"ih, #ada dasarnya sama den%an #en%%a"un%an .
'dua( ta"el$ Se"a%ai )*nt*h misalnya kita akan menam#ilkan "aran%&"aran% yan% di#esan
"eserta nama "aran% dan har%anya untuk #emesanan den%an n*m*r 1, sedemikian
sehin%%a hasilnya menadi se"a%ai "erikut5
C#nt#% Hasil 'enggabngan , Tabel