2pemrograman Garfis Java 6 5 Libre

Click here to load reader

  • date post

    08-Dec-2015
  • Category

    Documents

  • view

    222
  • download

    3

Embed Size (px)

description

java

Transcript of 2pemrograman Garfis Java 6 5 Libre

  • Malano Page

    PERTEMUAN1,2MemulaipemrogramanJavaNetBeanId6.5dengantampilangrafis1. File>newproject

    2. Next>selanjutnyabuatnamaprojectdantentukanlokasitempatpenyimpananprojectLaluklikfinish

  • Malano Page

    3. Selanjutnyaakantampil

    4. Klikkananpadafoldersisfo_barang>new>JFrameForm

  • Malano Page

    Makaakantampil,BuatnamaclasspadakotakisianClassName.Namaclassnantinyaakansamadengannamaform,selanjutnyaklikFinish.Makaakantampilformtempatperancanganprogram

  • Malano Page

    Selanjutnyakitaakanmerancangprogramuntukentridatakedalamdatabasedengantampilan Dalam program ini data yang diinputkan akan direkam dalam sebuah database, dimanadatabaseyangdigunakanadalahMs.Acces2007.(.accdb)Adapunspesifikasidatabaseyangakandigunakanyaitu:NamaDatabase :DBBarang NamaTabel :data_brgFieldName Type WidthKode_brg Text 5Nama_brg Text 10Harga_brg Numeric 8Satuan Text 5Stock numerik 8 Setelah selesai pembuatan database, langkah berikutnya adalah membuat koneksi antaradatabasedenganprogramjava,secaralogicdapatkitagambarkan

    TSimpan TSatuanTBatal

    Javaprogramming

    Database

    Konek_brgkoneksi

    VKODE

    VNAMAVHARGA

    VSATUAN

    VSTOCK

  • Malano Page

    Langkahlangkahkoneksidatabasedenganprogram1. Buka jendela control Panel > double klik Administrative tools > double kilk Data Sources

    (ODBC)

    2. KlikAdd

    3. PilihMSAccessDatabase(*.mdb,*.accdb)>Finish

  • Malano Page

    4. MakaselanjutnyaakantampilkotakdialogODBCMicrosoftAccessSetup, isikannamakoneksipadakotakDataSourceName, lalucaridatabaseyangakandigunakandengancaramengklikkotakselect,laluklikOK.

    5. Hasil dari langkah no.4 kembali akan menampilkan kotak dialog ODBC Data Source

    Administrator, perhatikan bahwa nama koneksi yang dibuat sebelumnya akan masuk dalamkolomuserData source, selanjutnya klikOK.Maka selesailah langkahpembuatanpenentuansumberdata(Datasource)yangakankitagunakandalamprogramnantinya.

    Setelah penentuanData Source selesai dilakukanmaka selanjutnya kita kembali pada rancanganprogramjavayangtelahkitabuatsebelumnya.

  • Malano Page

    DalamrancanganiniterdapattigabuahtombolyaitutombolSAVE,CANCEL,danEXIT.Programbaruakanmemberikan suatu aksi kalau kitamengklik salah satu tombol tersebut. Tombol SAVE akanmelakukanpenyimpanankedalamdatabaseterhadapdatayangkitainputkan,tombolCANCELakanmengosongkan kembali layar yang sudah diisi, sedangkan tombol EXIT berfungsi untukmenutupprogram.1. ListingprogramuntuktombolSAVE

    packagesisfo_barang;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjavax.swing.JOptionPane;publicclassentri_barangextendsjavax.swing.JFrame{publicConnectioncon;publicStatementstat;publicStringsql="";publicentri_barang{initComponents;}

  • Malano Page

    privatevoidTSimpanActionPerformedjava.awt.event.ActionEventevt{try{Class.forName"sun.jdbc.odbc.JdbcOdbc";con=DriverManager.getConnection"jdbc:odbc:konek_brg";sql="insertintodata_brgvalues'"+vkode.getText+"','"+vnama.getText+"','"+vharga.getText+"','"+vsatuan.getSelected)tem+"','"+vstock.getText+"'";stat=con.createStatement;stat.executesql;}catchExceptione{JOptionPane.showMessageDialognull,e;}}PenjelasanListingProgramimportjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;importjavax.swing.JOptionPane;

    importmerupakanstatementuntukmemanggilkomponenkomponenpendukungyangakandigunakandalamprogramsuatuprogram.publicConnectioncon;publicStatementstat;publicStringsql=;publicResultSetrs;

    con dan stat adalah objek objek yang dibuat dari class Connection dan classstatement.Conmerupakanobjekyangberfungsisebagaipenghubungantaraprogramjavadengandatabase,sedangkanstatadalahobjekyangberfungsiuntukmengeksekusiperintahsqlyangdigunakandalamprogram.Class.forName("sun.jdbc.odbc.JdbcOdbc");con=DriverManager.getConnection("jdbc:odbc:konek_brg");Keduastatementdiatasberfungsiuntukmenghubungkanantaraprogramdengandatabase.

  • Malano Page

    sql="insertintodata_brgvalues('"+vkode.getText()+"','"+

    vnama.getText()+"','"+vharga.getText()+"','"+vsatuan.getSelectedItem()+"','"+vstock.getText()+"')";Merupakanperintahsqluntukmemasukkandatakedalamtableyangterdapatdalamsuatudatabase.stat=con.createStatement();

    stat.execute(sql);statementdiatasdigunakanuntukmengeksekusiperintahsqlyangdiberikansebelumnya.

    2. ListingprogramuntuktombolCANCELTombolCanceldisinidimaksudkanuntukmembersihkanteksisiandata.vkode.setText("");vnama.setText("");vharga.setText("");

    vstock.setText("");vkode.requestFocus();3. TombolEXIT

    This.dispose();

  • Malano Page

    PERTEMUAN3,4Dariprogrampertama selanjutnyadilakukanpengembanganuntuk editdata danhapusdata

    terdadapdatayangsudahdiinputkandalamdatabase.Adapunrancanganformnyadapatkitalihatpadagambarberikut.

    Dalampengembangan rancangan iniditambahkanduabuah tombol yaitu tombolEDITuntukmengeditdatadantombolDELETEuntukmenghapusdata. Dalammelakukanperbaikandatamaupunmenghapusdatamaka satuhalyang terlebihdahuluharusdilakukanadalahmencaridatayangakandihapusataupundatayangakandiedit.

    Padacontohprogram inipencariandataakandilakukansewaktumenekan tombolenterpadatextfield(sebelumnyadiberinamavkode)kodebarangyangakandieditataudihapus.1. Listingprogramuntukpencariandata

    private void vkodeKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: int ascii=evt.getKeyCode(); if (ascii==10) { try { Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg"); sql = "select * from data_brg where Kode = '"+vkode.getText()+"'"; stat = con.createStatement(); rs = stat.executeQuery(sql);

  • Malano Page

    while(rs.next()) { vnama.setText(rs.getString("nama")); vharga.setText(rs.getString("harga")); vsatuan.setSelectedItem(rs.getString("satuan")); vstock.setText(rs.getString("stock")); } } catch(Exception e){} } }

    Penjelasanlistingprogramintascii=evt.getKeyCode();if(ascii==10)

    int ascii digunakan untuk membuat sebuah variable dengan nama ascii yang selanjutnyadigunakanuntukmenangkatnilaiyangdiinputkan lewatkeyboard.Jikanilainyasamadengan10makaakandilakukanprosesselanjutnya.(nilai10adalahnilaiasciiuntukenter).

    Class.forName("sun.jdbc.odbc.JdbcOdbc");con=DriverManager.getConnection("jdbc:odbc:konek_brg");

    Keduaperintahdiatasadalahperintahuntukmembuatkoneksidengansourcenamedatabase.sql="select*fromdata_brgwhereKode='"+vkode.getText()+"'";stat=con.createStatement();rs=stat.executeQuery(sql);while(rs.next()){

    vnama.setText(rs.getString("nama")); vharga.setText(rs.getString("harga")); vsatuan.setSelectedItem(rs.getString("satuan"));

    }Statement diatas adalah untuk membuat perintah sql untuk mencari kode barang yang sesuaidengan kode yang diinputkan, jika seandainya ketemu kode yang diinputkan maka akanditampilkannama,hargadansatuan

  • Malano Page

    2. ListingprogramuntukeditdataSetelah dilakukan pencarian terhadap data, maka langkah selanjutnya adalah melakukan

    perubahanterhadapfieldfieldyangdiinginkan(kecualikodebarang),dilanjutkankemudiandenganmenekantomboledit.Adapunlistingprogramuntukeditdataadalah,

    private void TEditActionPerformed(java.awt.event.ActionEvent evt) {

    // TODO add your handling code here: try { Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg"); sql="update data_brg set nama='"+vnama.getText()+"', harga='"+vharga.getText()+"', satuan='"+vsatuan.getSelectedItem()+"', stock='"+vstock.getText()+"' where kode='"+vkode.getText()+"'"; stat = con.createStatement(); stat.execute(sql); vkode.setText(""); vnama.setText(""); vharga.setText(""); vstock.setText(""); vkode.requestFocus(); JOptionPane.showMessageDialog(null,"Data Telah Diedit"); } catch(Exception e){} }

    3. Listingprogramuntukhapusdata

    private void TDeleteActionPerformed(java.awt.event.ActionEvent evt) {

    // TODO add your handling code here: try { Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg"); sql="delete from data_brg where kode='"+vkode.getText()+"'"; stat = con.createStatement(); stat.execute(sql); vkode.setText(""); vnama.setText(""); vharga.setText(""); vstock.setText(""); vkode.requestFocus(); JOptionPane.showMessageDialog(null,"Data Telah Dihapus"); } catch(Exception e){} }

  • Malano Page

    PERTEMUAN5,6AplikasiDatabasedenganJavadanMySqlMySql adalah sebuahprogramdatabase serveryangmampumenerimadanmengirimkandatadengancepatdenganmenggunakanperintahperintahStructureQueryLanguangeSQL.SQLsendiri merupakan salah satu dari sekian banyak bahasa pemrograman database yang palingpopular. DalamMySqlterdapattigasubbahasa,yaitu. DataDefinitionLanguangeDDLMerupakankumpulanperintahyangdigunakanuntukmembangundatabase.Dengankatalain,suatubentukbahasayangdigunakanuntukmendefenisikanstrukturtable.Perintahinilahyangdigunakanuntukmenciptakansuatudatabasedantabel. DataManipulationLanguangeDMLDML berfungsi setelahDDL digunakan. Perintah ini berfungsi untukmengelola isi/data yangterdapat dalam sebuah database. Untukmengola data ini biasanya digunakan query )NSERTuntuk memasukkan data, SELECT untuk memilih data, UPDATE untuk memperbaharui danDELETEuntukmenghapusdata.. DataControlLanguangeDCLDigunakanuntukmenanganimasalahsecuritydalamsuatudatabase,yaitumengaturhakaksestertentubagisetiapuser.UntukmelakukanperintahperintahDDL,DMLmaupunDCLdapat dilakukan secara textmelaluiCommandLineataubisajugadenganmemamfaatkansoftwareyangkhususmenanganipengolahandatabase secara grafis misalnya EMS MySql Manager atau menggunakan software untuk webbrowserieatauMozilla

  • Malano Page

    PerancangandatabasedenganmenggunakanEMSMySqlManagerKlikstar>allprogram>EMS>MYSQLManagerlite>EMSmanagerlite

    Perancangandatabasedenganmenggunakanwebbrowser(ieatauMozilla)BukainternetexploreratauMozillalaluketikalamatLocalhost/phpmyadmin

  • Malano Page

    Adapunspesifikasidatabaseyangakandigunakanyaitu:NamaDatabase :DBBarang NamaTabel :data_brgFieldName Type WidthKode_brg Text 5Nama_brg Text 10Harga_brg Numeric 8Satuan Text 8Stock numerik 8

    AgarMySqldapataktifmelaluiwebservermakaharusdiaktifkanapachemelaluiphptriadataudapatjugamenggunakansoftwarexamp.RANCANGANFORM

    ListingProgramUntukTombolSAVE

    private void TSimpanActionPerformed(java.awt.event.ActionEvent evt) { try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("Jdbc:mysql://localhost/db_barang","root",""); sql="insert into data_barang values('"+vkode.getText()+"','" + vnama.getText()+"','"+ vharga.getText()+"','"+ vsatuan.getSelectedItem()+"','"+ vstock.getText()+"')"; stat = con.createStatement();

  • Malano Page

    stat.execute(sql); vkode.setText(""); vnama.setText(""); vharga.setText(""); vstock.setText(""); vkode.requestFocus(); } catch(Exception e) { JOptionPane.showMessageDialog(null,e); } } PenjelasanListingProgram YangmenjadiperbedaanpemanggilanJDBCdriverantaradatabasedenganMS.AccessdanMySQLyaitudalampemanggilandriveryangdigunakanuntukkoneksidengandatabase:MS.Access Class.forName("sun.jdbc.odbc.JdbcOdbc"); con=DriverManager.getConnection("jdbc:odbc:konek_brg"); MySQL Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("Jdbc:mysql://localhost/db_barang","root",""); JAVADATABASECONNECTOR(JDBC)

    JDBCAplicationProgramming Interface (API) adalah kelas javaAP) untukmengakses segaladataberupatabledanberkaitandenganpengolahandatabase.BerikutcaramengaktifkanJDBC. Bukatabproject>klikkananlibraries>Addjar/Folder

    Namadatasource

    Namadatabase

  • Malano Page

    . TambahkanconnectoruntukkoneksikeMySQLmisalkanmyslconnectorJava3.1.10binJar

  • Malano Page

    PEMBUATANMENU Terdapat beberapa pilihanmenu yang dapat dibuat denganmenggunakan fasilitas swingmenusyangterdapatpadatablepallete.Berikutbentukmenudengantampilanmenubar.

    ListingprogramuntukmemanggilDataBarang

    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: entri_barang_sql a = new entri_barang_sql(); a.setLocation(100,100); a.setSize(800,500); a.show; }Penjelasan private void jMenuItem1ActionPerformed

    entri_barang_sql a = new entri_barang_sql();

    Nama variable menu item

    Namaform/classyangakandipanggil/digunakan

    Namaobject

  • Malano Page

    a.setLocation(100,100);

    a.setSize(800,500); SetLocationdansetSizedigunakanuntukmengaturtataletakdariformyangdipanggil.

  • Malano Page

    PEMBUATANLAPORANDENGANMENGGUNAKAN)NETCRYSTALCLEAR )net crystal clear merupakan salah satu softwares dari beberapa software yang dapatdigunakan dalam pembuatan laporan yang terkoneksi dengan program java. Software ini dapatdikoneksikan dengan berbagai macam software pengolahan database seperti Ms.Access, MySQL,Oracledanlainsebagainya.

    Ms.AccessBerikut langkah pembuatan laporan dengan crystal clear dimana data data disimpan dalamdatabaseMs.Access.. Aktifkaninetcrystalclear

  • Malano Page

    . Selanjutnyaakantampillayarcrystalclear

    . Pilih File >New.Maka akan tampil ReportWizard, selanjutnya tentukan jenis templatesyangdiinginkan,laluklikOk

  • Malano Page

    . Selanjutnyatampillayarreportwizarduntukmenentukansumberdatadatasource,klikDataSourceManager.

    . MakaselanjutnyaakantampillayarJavaDataSourceManager,tambahkandatasourceyangbarudenganmengkliktombolAdd

  • Malano Page

    . Darilangkahno.akantampillayaruntukmemilihDriver,karenayangakandiaksesadalahdatabaseyangtersimpandalamMySQL,pilihLocalMySQLServer>add

    . TampillayarDriverSelection,doubleklikMySQL

  • Malano Page

    . SelanjutnyaisikanDataSourceName,danpilihdatabaseyangakandigunakan,klikokdanclose

    . Setelahdatasourcedandatabaseditentukanmakalayarrancanganlaporanakantampil

  • Malano Page

    . Selanjutnyabarudiisikanfieldfieldyanginginditampilkanpadalaporan,dengancaraklikkananpadadatabasefield

    . DoublekliknewConnection

  • Malano Page

    . Pilihdatasourceyangakandigunakan

    . Pilihtableyangakanditampilkan,ok

  • Malano Page

    . Tampilkanfieldfieldyangakandigunakan,selanjutnyatarikkedalambagianperancangandantempatkandibagiandetail.

    .

    . Untukmelihathasilkliktabresult

  • Malano Page

    Memanggilreportmelaluiprogramjava Reportyangkitarancangdenganinetcrystalclearselanjutnyadapatkitapanggildalampemrogramanjava.Adapunlangkahlangkahnyasebagaiberikut:

    1. Terlebihdahuludirancangsebuahformdengantampilan

    Tombolpreviewiniselanjutnyaakankitadigunakanuntukmemanggilreportyangtelahdibuatdenganinetcrystalclearpackageprojectbarang;import com.inet.viewer.SwingReportViewer;

    import com.inet.viewer.URLRenderData;

    import java.awt.BorderLayout; import javax.swing.JFrame;

    public class NewJFrame1 extends javax.swing.JFrame {

    /** Creates new form NewJFrame1 */ public NewJFrame1() { initComponents(); }

  • Malano Page

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try

    { JFrame window = new JFrame("Report"); SwingReportViewer viewer = new SwingReportViewer(); URLRenderData renderConnectData = new

    URLRenderData("http://localhost:9000/?report=file:D:/latihan/report1.rpt"); viewer.addNewReportView( renderConnectData ); window.getContentPane().add(BorderLayout.CENTER, viewer); window.setVisible(true); window.setSize(800, 600); this.dispose(); } catch(Exception e) { e.printStackTrace(); } }

    MEMBUATQUERYDALAMLAPORAN Dalamcrystalclearjugamemungkinkankitamembuatqueryuntukmenampilkandata dengan criteria tertentu. Pada contoh berikut akan dibuat query untukmenampilkandatabarangberdasarkansatuanbarang.Langkahlangkahnyayaitu:1. Rancanglaporandengantampilansebagaiberikut

  • Malano Page

    PERTEMUAN5,6Dari rancangan input barang yang telah dikerjakan sebelumnya, berikutnya dilakukan lagipengembanganuntuktransaksibarang.RancangandariEntityRelationshipDiagramnyaadalahsebagaiberikut, . Membuattotalharga

    Data_brg

    nama kode

    harga

    satuan

    have transaksi

    NoFakt

    kode

    jumlah

    Tgl transtock

  • Malano Page

    Langkahlangkah

    . Membuatdiskondaritabletransaksi

  • Malano Page

    . Menghubungkanduatabletabledata_barangdantabletransaksidenganlayout

  • Malano Page

    Langkahlangkaha. Aktifkankeduatabledanhubungkankeduatabletersebutdenganfieldkuncikode

    b. Untuktotaldiperolehdenganmengalikanhargadenganjumlahtransaksi

  • Malano Page

    5. Membuatdiskondenganaturan Jikatotaltransaksi>500000,diskon10%dari