Aplikasi Database Sederhana Menggunakan JAVA NetBeans

39
Aplikasi Database Sederhana Menggunakan JAVA NetBeans November 28, 2010 in tutorial 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 "ategories pilih Ja#a dan bagian Project pilihJa#a Application. 3eri nama project ini 1&plikasi4.

description

Rangkuman

Transcript of Aplikasi Database Sederhana Menggunakan JAVA NetBeans

  • 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.jpg
  • 5/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.jpg
  • 5/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/#respond
  • 5/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.png
  • 5/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.png
  • 5/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