Showing posts with label java. Show all posts
Showing posts with label java. Show all posts
Sunday, October 30, 2016
How To Run Java Apps and Games on Your Android SmartPhone
How To Run Java Apps and Games on Your Android SmartPhone
All Android users who migrated from Symbian phones always miss their favorite Java and J2ME applications. However, there is a possibility to run the Java application, if you are using Android 1.5 to 2.3. If you want to use Java applications and enjoy Java games on your Android, you can download and install JBED Android Java Emulator. According to XDA developers, you can run any Java games or applications on Android using the JBED. You can download the application free from the given link. JBED is already tested on HTC Wildfire and it is obvious that it will work on other Android devices as well.
JBED is an .apk application that allows you to run .jar and .jad games and application on your Smartphone. You can easily download and install it on your Smartphone to run any Java applications. Andriod phones can be installed with more then 40, 000 Java games and applications using JBED. The application also comes with Android J2ME MIDP runner. In the following steps, I will tell you how to run Java and J2ME applications on your Android phone. Now, you do not have to forget or leave your Java applications that you were using from a long time.
Installation steps:
A. Download JBED for your Android Mobile running on Gingerbread from here.
B. Simply install the Jbed.apk file on your android smartphone.
C. Launch the application and click on SD card from the menu.
D. Choose the JAR file that you want to install and run.
E. Install the Java apps that you want to use.
F. Click on the Java apps that you have installed to run them.
In case the application dont work you can try downloading JBED.Zip and flash the zip file using CWM or ClockWorkMod.
The app compiles and optimizes the Jar files and asks the user whether he wants to use it or not. It also displays the path of all the Jar files that are compiles in its database for quick access. You can install and run any Java applications following the above steps. If you see some lines or faded screen while installing the JAR files, that means your device is not fully supporting it. Restart your phone and close any other apps, and try again. If the same problem occurs again then please uninstall JBED.
Conclusion
As said earlier, the app enables the Android Smartphone to run many Java games and applications but you can expect some graphical and performance related issues. If the app does not work on your android smartphone you can try rooting your device and reinstalling the app.
Problems ?
If you face any issues or problems with JBED you can post your doubts or suggestions on XDA Forum.
Update : It seems that the app is not working on many android smartphones, we are trying to find an alternative way to run java apps on your android smartphone. We would post about it here as soon as possible.
Regards Asif Chaudhary
Go to link download
Saturday, October 15, 2016
Source code program membuat Login java
Source code program membuat Login java
Source code program membuat Login sistem dengan Netbeans #java desktop
Melanjutkan tutorial yang udah saya janjikan kemarin yah, sekarang membuat Login system agar tombol/button yang tidak bisa di akses/klik bisa aktif dan bisa diakses/klik.
Bismillah..
1. Design tampilan form utama seperti pada gambar di bawah :

#Sub menu Login akan berubah otomatis menjadi Logout ketika Login sudah berhasil.
#semua tombol/button tidak aktif (enable=false).
2. Buat sebuah database (saya menggunakan MySQL), berikut contoh struktur database untuk table admin nya :

3. Jangan lupa Add Library MySQL JDBC Drivernya, caranya tinggal klik kanan pada Libraries > Pilih Add Library sehinggan muncul tampilan berikut :

Jika MySQL JDBC Driver nya belum ada, klik tombol Import dan cari file MySQL JDBC Driver nya kemudian pilih filenya lalu tekan Ok.
Setelah berhasil ter import, pilih lagi file MySQL JDBC Driver nya kemudian klik tombol Add Library.
4. Untuk pengcodingan Login system pada Button Login klik Kanan > Events > Action > actionPerformed lalu ketikkan coding berikut :
try {
Connection koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/medica","root","");
Statement stat= koneksi.createStatement();
ResultSet rs=stat.executeQuery("select count(id_admin) from admin where id_admin="+jPasswordUser.getText()+" and password="+jPasswordPass.getText()+"" );
if(rs.next()){
int id_admin=rs.getInt(1);
if(id_admin>0){
TbObat.setEnabled(true);
TbTindakan.setEnabled(true);
TbDokter.setEnabled(true);
TbPasien.setEnabled(true);
TbPetugas.setEnabled(true);
Login.setText("Logout"); //merubah sub menu Login menjadi Logout
PanelLogin.setVisible(false);
jPasswordPass.setText("");
jPasswordUser.setText("");
}else {
TbObat.setEnabled(false);
TbTindakan.setEnabled(false);
TbDokter.setEnabled(false);
TbPasien.setEnabled(false);
TbPetugas.setEnabled(false);
Login.setText("Login");
JOptionPane.showMessageDialog(null,"Maaf, Username atau Password SALAH,Silahkan ulangi Login...!");
jPasswordUser.setFocusable(true);
jPasswordPass.setText("");
jPasswordUser.setText("");
}
}
} catch (SQLException ex) {
System.out.println(ex);
}
#Keterangan : nama database, table, field, button, textfield, form Login sesuaikan dengan punya Anda masing-masing.
5. Kemudian pada Button Batal juga klik Kanan > Events > Action > actionPerformed lalu ketikkan coding berikut :
jPasswordPass.setText("");
jPasswordUser.setText("");
PanelLogin.setVisible(false);
6. Finish deh.. Coba programnya di Run dan liat hasilnya!
- Tampilan awal ketika sub menu Login di klik, semua tombol/button belum aktif karena belum Login.

- Tampilan ketika klik Button Login dan Login berhasil, sub menu Login berubah menjadi Logout otomatis dan semua tombol/button aktif.

- Tampilan ketika Username dan Password yang dimasukkan salah, textfield akan kembali kosong. Ketika tombol Batal di klik form Login akan hilang.

Alhamdulillah sukses
Melanjutkan tutorial yang udah saya janjikan kemarin yah, sekarang membuat Login system agar tombol/button yang tidak bisa di akses/klik bisa aktif dan bisa diakses/klik.
Bismillah..
1. Design tampilan form utama seperti pada gambar di bawah :

#Sub menu Login akan berubah otomatis menjadi Logout ketika Login sudah berhasil.
#semua tombol/button tidak aktif (enable=false).
2. Buat sebuah database (saya menggunakan MySQL), berikut contoh struktur database untuk table admin nya :

3. Jangan lupa Add Library MySQL JDBC Drivernya, caranya tinggal klik kanan pada Libraries > Pilih Add Library sehinggan muncul tampilan berikut :

Jika MySQL JDBC Driver nya belum ada, klik tombol Import dan cari file MySQL JDBC Driver nya kemudian pilih filenya lalu tekan Ok.
Setelah berhasil ter import, pilih lagi file MySQL JDBC Driver nya kemudian klik tombol Add Library.
4. Untuk pengcodingan Login system pada Button Login klik Kanan > Events > Action > actionPerformed lalu ketikkan coding berikut :
try {
Connection koneksi=DriverManager.getConnection("jdbc:mysql://localhost:3306/medica","root","");
Statement stat= koneksi.createStatement();
ResultSet rs=stat.executeQuery("select count(id_admin) from admin where id_admin="+jPasswordUser.getText()+" and password="+jPasswordPass.getText()+"" );
if(rs.next()){
int id_admin=rs.getInt(1);
if(id_admin>0){
TbObat.setEnabled(true);
TbTindakan.setEnabled(true);
TbDokter.setEnabled(true);
TbPasien.setEnabled(true);
TbPetugas.setEnabled(true);
Login.setText("Logout"); //merubah sub menu Login menjadi Logout
PanelLogin.setVisible(false);
jPasswordPass.setText("");
jPasswordUser.setText("");
}else {
TbObat.setEnabled(false);
TbTindakan.setEnabled(false);
TbDokter.setEnabled(false);
TbPasien.setEnabled(false);
TbPetugas.setEnabled(false);
Login.setText("Login");
JOptionPane.showMessageDialog(null,"Maaf, Username atau Password SALAH,Silahkan ulangi Login...!");
jPasswordUser.setFocusable(true);
jPasswordPass.setText("");
jPasswordUser.setText("");
}
}
} catch (SQLException ex) {
System.out.println(ex);
}
#Keterangan : nama database, table, field, button, textfield, form Login sesuaikan dengan punya Anda masing-masing.
5. Kemudian pada Button Batal juga klik Kanan > Events > Action > actionPerformed lalu ketikkan coding berikut :
jPasswordPass.setText("");
jPasswordUser.setText("");
PanelLogin.setVisible(false);
6. Finish deh.. Coba programnya di Run dan liat hasilnya!
- Tampilan awal ketika sub menu Login di klik, semua tombol/button belum aktif karena belum Login.

- Tampilan ketika klik Button Login dan Login berhasil, sub menu Login berubah menjadi Logout otomatis dan semua tombol/button aktif.

- Tampilan ketika Username dan Password yang dimasukkan salah, textfield akan kembali kosong. Ketika tombol Batal di klik form Login akan hilang.

Alhamdulillah sukses
Go to link download
Wednesday, August 24, 2016
Aplikasi Pembelian Tiket dengan java
Aplikasi Pembelian Tiket dengan java
Dalam tutorial kali ini akan membahas masalah pembuatan aplikasi dengan studi kasus Aplikasi Pembelian Tiket Bola Stadion Sebelah Ngarep.
Desain Program
Aplikasi pembelian tiket bola stadion sebelah ngarep dengan interface sebagai berikut:
Tampilan Awal

Terdiri dari komponen 1 buah jMenuBar dengan 7 buah jMenuItem, 7 buah jLabel, 5 buah jTextField, 1 buah jComboBox, 4 buah jButton, 1 buah jScrollPane dan 1 buah jTable.
Tampilan About
.png)
Pada desain tampilan about ini menggunakan 8 buah jLabel, 1 buah jSeparator dan 1 buah jButton. Untuk gambar diatas menggunakan komponen jLabel dengan pengaturan properties iconnya.
Tampilan Database
Pada gambar dibawah ini adalah desain atau interface dari database Microsoft Access:
.png)
Terdiri dari 6 buah field yaitu no_id (text), nama (text), jenistiket (text), harga (currency), banyak (number), totalbayar(currency) dengan primary key no_id.
Analisa Script
Berikut ini script pada jFrame utama:
package tiketbola; import javax.swing.*; import java.sql.*; import java.text.DecimalFormat; import javax.swing.table.*;
Analisa: Pada baris 18-21 merupakan script pengimportan yaitu swing untuk komponen jOptionPane, sql untuk database accdb, text.decimalFormat untuk format desimal dan swing.table untuk jTable.public class transaksitiket extends javax.swing.JFrame { String no_id,nama,jenistiket,harga,banyak,totalbayar,totbayar1; int totbayar, harga1, bayar1; DefaultTableModel tabMode; Connection con;
Analisa: Pada kode program ini merupakan pendeklarasian variabel yang terdiri dari string, integer, defaultTableModel dan connection.
public transaksitiket() { initComponents(); setTitle("PEMBELIAN TIKET BOLA STADION SEBELAH NGAREP"); Object[] row= {"No.Id","Nama", "Tiket","Harga","Banyak","Total Bayar"}; tabMode=new DefaultTableModel(null,row); jTable1.setModel(tabMode); jScrollPane1.getViewport().add(jTable1,null); }
Analisa: Pada kode program ini adalah sebuah method bernama transaksitiket yang berisi penamaan title program pada baris ke-30, penamaan field pada table pada baris ke 31-34 dan pada baris ke-35 pemasukkan jTable ke dalam jScrollPane yang berfungsi apabila banyak data yang ada maka jScrollPane akan membantu supaya table tidak kepanjangan dengan cara scroll.
public void konekdatabase(){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:aksestiketbola;uid=admin;pw=admin"); } catch (Exception e) { System.err.println("Exception: "+e.getMessage()); } }
Analisa: Pada method konekdatabase ini berfungsi untuk menghubungkan database microsoft access yang telah dibuat pada java netbeans. Dengan nama koneksi aksestiketbola, username:admin dan password:admin.
public void hapustabel(){ int row=tabMode.getRowCount(); for(int i=0;i<row;i++){ tabMode.removeRow(0); } }
Analisa: Pada method hapustabel ini merupakan pendeklarasian atau validasi pada jTable yang baris kolom memiliki nilai awal 0 dan ditambah terus i++.
public void tampildataketabel(){ hapustabel(); try{ String sql="Select * from datatiketbola ORDER BY no_id DESC"; Statement stat=con.createStatement(); ResultSet set=stat.executeQuery(sql); while (set.next()){ no_id=set.getString("no_id"); nama=set.getString("nama"); jenistiket=set.getString("jenistiket"); harga=set.getString("harga"); banyak=set.getString("banyak"); totalbayar=set.getString("totalbayar"); String[] data={no_id,nama,jenistiket,harga,banyak,totalbayar}; tabMode.addRow(data); } } catch(Exception e){ } }
Analisa: Pada method tampildatatabel ini memanggil method hapustabel untuk memberi nilai awal, kemudian terdapat struktur kontrol try...catch. Variabel sql bernilai string yang berisi perintah query membaca isi database tabel datatiketbola yang berformat Descending pada no_id yang berarti data yang paling besar/akhir akan berada diatas.
Untuk catch(exception e) merupakan pencetakan kesalahan saja.
public void simpandata(){ no_id=txnoid.getText(); nama=txnama.getText(); jenistiket=(String)cbtiket.getSelectedItem(); harga=txharga.getText(); banyak=txbanyak.getText(); totalbayar=txbayar.getText(); try{ konekdatabase(); Statement statement=con.createStatement(); String sql="insert into datatiketbola values ("+no_id+","+nama+ "," + ""+jenistiket+","+harga+","+banyak+","+totalbayar+");"; statement.executeUpdate(sql); statement.close(); } catch (Exception e){ } }
Analisa: Pada method simpandata ini berisi pembacaan jTextField dari baris 78-83 yang akan dimasukkan kedalam database pada baris ke-87 dengan perintah query insert into datatiketbola values.
public void data(){ no_id=txnoid.getText(); nama=txnama.getText(); jenistiket=(String)cbtiket.getSelectedItem(); harga=txharga.getText(); banyak=txbanyak.getText(); totalbayar=txbayar.getText(); }
Analisa: Pada method data ini merupakan pendeklarasian nilai saja. Contoh: variable no_id berisi nilai yang ada pada txnoid yang merupakan komponen jTextField.
public void hargatiket(){ //create method gajipokok int pilihan=cbtiket.getSelectedIndex(); switch(pilihan){ case 0: txharga.setText(""); break; case 1: txharga.setText("75000"); break; case 2: txharga.setText("50000"); break; case 3: txharga.setText("25000"); break; } }
Analisa: Pada method hargatiket ini merupakan pengesetan nilai item pada jComboBox (cbtiket). Pendeklarasian variabel pilihan yang bernilai integer. Kemudian pada baris 108-120 menggunakan struktur kontrol switch yang digunakan untuk mengevaluasi suatu ekspresi dengan kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi berdasarkan ekspresi dan nilainya. Pada kode program di atas, nilai dari variabel akan dicek pada setiap option yang ada (terletak di bagian case). Jika option yang sama dengan nilai variabel, maka statement-statement di bawah option tersebutlah yang akan dijalankan.
public void total(){ harga1=Integer.parseInt(txharga.getText()); bayar1=Integer.parseInt(txbanyak.getText()); totbayar=harga1*bayar1; DecimalFormat f=new DecimalFormat("#.#"); totbayar1=String.valueOf(f.format(totbayar)); txbayar.setText(totbayar1); }
Analisa: Pada method total ini berisi perhitungan aritmatika yang berfungsi menampilkan nilai jumlah dari txharga*txbanyak kemudian hasil nilainya akan ditampilkan pada txbayar dengan format desimal 1 angka di belakang koma.
public void bersih(){ txnoid.setText(""); txnama.setText(""); txharga.setText(""); txbanyak.setText(""); txbayar.setText(""); }
Analisa: Pada method bersih ini berfungsi untuk mengeset nilai kosong pada semua jTextField.
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: konekdatabase(); tampildataketabel(); }
Analisa: Pada kode program di atas yang ditanamkan didalam jButton2 dengan event clicked memanggil method konekdatabase dan tampildataketabel. Pemanggilan method konekdatabase agar file database dapat terbaca dengan koneksi yang sudah ada. Kemudian method tampildataketable berfungsi untuk memanggil isi tabel dengan perintah query select *from datatiketbola.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); if(no_id.equals("")||nama.equals("")||jenistiket.equals("Pilih Tiket")|| harga.equals("")||banyak.equals("")||totalbayar.equals("")) { JOptionPane.showMessageDialog(null, "ada data yg belum dimasukkan, periksa kembali!"); } else{ simpandata(); bersih(); tampildataketabel(); JOptionPane.showMessageDialog(null, "Data sudah masuk. Terima kasih!"); } }
Analisa: Pada event clicked yang berada di jButton1 ini memanggil method konekdatabase untuk menghubungkan database ke program dan method data untuk memanggil nilai variabel. Pada baris ke 442-453 berisi struktur kontrol if...else yang bermaksut jika nilai no_id, nama, jenistiket, harga, banyak dan total bayar berisi nol atau pilih paket maka akan tampil jOptionpane yang berisi ada data yang belum dimasukkan, periksa kembali. Sedangkan apabila semua jTextField sudah terisi maka akan menjalankan method simpan data untuk memasukkan data ke dalam database, method bersih untuk mengeset nilai kosong pada semua jTextField, method tampildataketabel untuk menampilkan data dari database ke program dan menampilkan jOptionPane yang berisi Data sudah masuk. Terima kasih.
private void jButton3MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); if(no_id.equals("")) { JOptionPane.showMessageDialog(null, "Inputkan No.Identitas anda!"); } else{ try { Statement statement=con.createStatement(); String sql="update datatiketbola set nama="+nama+ ",jenistiket="+jenistiket+",harga="+harga+",banyak=" +banyak+",totalbayar="+totalbayar+" where no_id="+no_id+""; statement.executeUpdate(sql); statement.close(); con.close(); JOptionPane.showMessageDialog(null, "Data telah terubah!"); } catch (Exception e) { System.out.println("Error :"+e); } simpandata(); bersih(); tampildataketabel(); } }
Analisa: Pada jButton3 yang berisi event clicked ini memanggil konekdatabase dan data dengan maksut seperti yang sudah kami jelaskan diatas, kemudian terdapat struktur kontrol if...else pada baris 462-486 yang bermaksut, apabila nilai pada no_id atau txnoid bernilai kosong maka akan tampil jOptionPane yang berisi inputkan no.identitas anda!. Sedangkan apabila pada no_id sudah berisi nilai maka akan menjalankan program baris 470-485 yang bermaksut mengupdate atau memperbarui nilai pada database dengan kata kunci no_id yang dalam database sudah diset sebagai primary key sehingga tidak ada nilai yang sama pada field no_id. Apabila data tidak ada maka akan mengeksekusi kode program 479-482 yang akan mencetak kesalahan. Kemudian memanggil method simapndata, bersih dan tampildataketabel dengan maksut yang sudah kami jelaskan diatas.
private void jButton4MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); try { String cari=JOptionPane.showInputDialog("Masukkan No Identitas anda"); Statement statement=con.createStatement(); String sql="delete from datatiketbola where no_id="+cari+""; statement.executeUpdate(sql); statement.close(); con.close(); JOptionPane.showMessageDialog(null, "Data telah terhapus!"); } catch (Exception e) { System.out.println("Error :"+e); } bersih(); tampildataketabel(); }
Analisa: Kode program yang berada didalam jButton4 dengan event clicked ini bermaksut menghapus nilai perintah query delete from datatiketbola dengan kata kunci yang berada pada variabel cari yang berisi jOptionPane input.
private void cbtiketItemStateChanged(java.awt.event.ItemEvent evt) { hargatiket(); txharga.setEnabled(false); }
Analisa: Script dengan event itemstatechanged yang berada pada cbtiket ini berisi method hargatiket untuk mengeset nilai txharga sesuai item pada cbtiket kemudian txharga di disable supaya tidak diubah nilainya oleh user.
private void formWindowOpened(java.awt.event.WindowEvent evt) { txharga.setEnabled(true); txbanyak.setText(""); txharga.setText("0"); txbayar.setEnabled(false); JOptionPane.showMessageDialog(null, "SELAMAT DATANG DI APLIKASI PEMBELIAN TIKET BOLA"); }
Analisa: Pada jFrame ini diberi event windowopened yang berisi txharga diaktifkan, txbayar diset nilainya kosong, txharga diset nilai nol, txbayar didisable dan menampilkan jOptionPane yang berisi selamat datang di aplikasi pembelian tiket bola.
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { JOptionPane.showMessageDialog(null, "Terima Kasih atas kunjungan anda!"); System.exit(0); }
Analisa: Kode program diatas berisi event actionperformed pada jMenuItem1 yang menampilkan jOptionPane dan menutup program dengan System.exit(0).
.png)
Pada jMenu Edit sudah kami tanamkan kode program sama dengan 4 buah jbutton yang sudah kami bahas diatas. Untuk kode program cari data akan kami bahas sebagai berikut:
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) { konekdatabase(); try { String cari=JOptionPane.showInputDialog("Masukkan No Identitas anda"); Statement statement=con.createStatement(); String sql="select * from datatiketbola where no_id like "+cari+""; ResultSet rs=statement.executeQuery(sql); if(rs.next()) { txnoid.setText(rs.getString(1)); txnama.setText(rs.getString(2)); cbtiket.setSelectedItem(rs.getString(3)); txharga.setText(rs.getString(4)); txbanyak.setText(rs.getString(5)); txbayar.setText(rs.getString(6)); } else{ JOptionPane.showMessageDialog(null, "DATA TIDAK ADA DALAM DATABASE"); } statement.close(); con.close(); } catch (Exception ex) { System.out.println("Error: "+ex); } }
Analisa: Pada kode program diatas ditanamkan pada jMenuItem6 (menu cari data) yang bermaksut mencari data dengan kata kunci no_id yang inputanya dari jOptionPane kemudian di eksekusi oleh perintah query like untuk mencari data. Setelah data ditemukan maka data akan diset pada semua jTextField dan jComboBox.
private void txbanyakKeyReleased(java.awt.event.KeyEvent evt) { txharga.setEnabled(false); total(); }
Analisa: Pada kode program yang berada di txbanyak ini memiliki event keyreleased, apabila kita mengetikkan nilai pada txbanyak maka akan tampil perintah didalamnya. Txharga di disable dan memanggil method total yang berisi perhitungan aritmatika dari txharga*txbanyak kemudian hasilnya ditampilkan pada txbayar.
private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) { tentang frm=new tentang(); frm.show(); }
Analisa: Pada jMenuItem7 (About) berisi event actionperformed yang akan menampilkan form tentang.
Pada jFrame tentang
public tentang() { initComponents(); setTitle("Tentang Kami"); }
Analisa: Untuk pengesetan judul program yaitu Tentang Kami.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { dispose(); }
Analisa: Kode program dispose() yang sama fungsinya dengan close ini di tanamkan pada jButton1 (keluar).
Desain Program
Aplikasi pembelian tiket bola stadion sebelah ngarep dengan interface sebagai berikut:
Tampilan Awal

Terdiri dari komponen 1 buah jMenuBar dengan 7 buah jMenuItem, 7 buah jLabel, 5 buah jTextField, 1 buah jComboBox, 4 buah jButton, 1 buah jScrollPane dan 1 buah jTable.
Tampilan About
.png)
Pada desain tampilan about ini menggunakan 8 buah jLabel, 1 buah jSeparator dan 1 buah jButton. Untuk gambar diatas menggunakan komponen jLabel dengan pengaturan properties iconnya.
Tampilan Database
Pada gambar dibawah ini adalah desain atau interface dari database Microsoft Access:
.png)
Terdiri dari 6 buah field yaitu no_id (text), nama (text), jenistiket (text), harga (currency), banyak (number), totalbayar(currency) dengan primary key no_id.
Analisa Script
Berikut ini script pada jFrame utama:
package tiketbola; import javax.swing.*; import java.sql.*; import java.text.DecimalFormat; import javax.swing.table.*;
Analisa: Pada baris 18-21 merupakan script pengimportan yaitu swing untuk komponen jOptionPane, sql untuk database accdb, text.decimalFormat untuk format desimal dan swing.table untuk jTable.public class transaksitiket extends javax.swing.JFrame { String no_id,nama,jenistiket,harga,banyak,totalbayar,totbayar1; int totbayar, harga1, bayar1; DefaultTableModel tabMode; Connection con;
Analisa: Pada kode program ini merupakan pendeklarasian variabel yang terdiri dari string, integer, defaultTableModel dan connection.
public transaksitiket() { initComponents(); setTitle("PEMBELIAN TIKET BOLA STADION SEBELAH NGAREP"); Object[] row= {"No.Id","Nama", "Tiket","Harga","Banyak","Total Bayar"}; tabMode=new DefaultTableModel(null,row); jTable1.setModel(tabMode); jScrollPane1.getViewport().add(jTable1,null); }
Analisa: Pada kode program ini adalah sebuah method bernama transaksitiket yang berisi penamaan title program pada baris ke-30, penamaan field pada table pada baris ke 31-34 dan pada baris ke-35 pemasukkan jTable ke dalam jScrollPane yang berfungsi apabila banyak data yang ada maka jScrollPane akan membantu supaya table tidak kepanjangan dengan cara scroll.
public void konekdatabase(){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:aksestiketbola;uid=admin;pw=admin"); } catch (Exception e) { System.err.println("Exception: "+e.getMessage()); } }
Analisa: Pada method konekdatabase ini berfungsi untuk menghubungkan database microsoft access yang telah dibuat pada java netbeans. Dengan nama koneksi aksestiketbola, username:admin dan password:admin.
public void hapustabel(){ int row=tabMode.getRowCount(); for(int i=0;i<row;i++){ tabMode.removeRow(0); } }
Analisa: Pada method hapustabel ini merupakan pendeklarasian atau validasi pada jTable yang baris kolom memiliki nilai awal 0 dan ditambah terus i++.
public void tampildataketabel(){ hapustabel(); try{ String sql="Select * from datatiketbola ORDER BY no_id DESC"; Statement stat=con.createStatement(); ResultSet set=stat.executeQuery(sql); while (set.next()){ no_id=set.getString("no_id"); nama=set.getString("nama"); jenistiket=set.getString("jenistiket"); harga=set.getString("harga"); banyak=set.getString("banyak"); totalbayar=set.getString("totalbayar"); String[] data={no_id,nama,jenistiket,harga,banyak,totalbayar}; tabMode.addRow(data); } } catch(Exception e){ } }
Analisa: Pada method tampildatatabel ini memanggil method hapustabel untuk memberi nilai awal, kemudian terdapat struktur kontrol try...catch. Variabel sql bernilai string yang berisi perintah query membaca isi database tabel datatiketbola yang berformat Descending pada no_id yang berarti data yang paling besar/akhir akan berada diatas.
Untuk catch(exception e) merupakan pencetakan kesalahan saja.
public void simpandata(){ no_id=txnoid.getText(); nama=txnama.getText(); jenistiket=(String)cbtiket.getSelectedItem(); harga=txharga.getText(); banyak=txbanyak.getText(); totalbayar=txbayar.getText(); try{ konekdatabase(); Statement statement=con.createStatement(); String sql="insert into datatiketbola values ("+no_id+","+nama+ "," + ""+jenistiket+","+harga+","+banyak+","+totalbayar+");"; statement.executeUpdate(sql); statement.close(); } catch (Exception e){ } }
Analisa: Pada method simpandata ini berisi pembacaan jTextField dari baris 78-83 yang akan dimasukkan kedalam database pada baris ke-87 dengan perintah query insert into datatiketbola values.
public void data(){ no_id=txnoid.getText(); nama=txnama.getText(); jenistiket=(String)cbtiket.getSelectedItem(); harga=txharga.getText(); banyak=txbanyak.getText(); totalbayar=txbayar.getText(); }
Analisa: Pada method data ini merupakan pendeklarasian nilai saja. Contoh: variable no_id berisi nilai yang ada pada txnoid yang merupakan komponen jTextField.
public void hargatiket(){ //create method gajipokok int pilihan=cbtiket.getSelectedIndex(); switch(pilihan){ case 0: txharga.setText(""); break; case 1: txharga.setText("75000"); break; case 2: txharga.setText("50000"); break; case 3: txharga.setText("25000"); break; } }
Analisa: Pada method hargatiket ini merupakan pengesetan nilai item pada jComboBox (cbtiket). Pendeklarasian variabel pilihan yang bernilai integer. Kemudian pada baris 108-120 menggunakan struktur kontrol switch yang digunakan untuk mengevaluasi suatu ekspresi dengan kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi berdasarkan ekspresi dan nilainya. Pada kode program di atas, nilai dari variabel akan dicek pada setiap option yang ada (terletak di bagian case). Jika option yang sama dengan nilai variabel, maka statement-statement di bawah option tersebutlah yang akan dijalankan.
public void total(){ harga1=Integer.parseInt(txharga.getText()); bayar1=Integer.parseInt(txbanyak.getText()); totbayar=harga1*bayar1; DecimalFormat f=new DecimalFormat("#.#"); totbayar1=String.valueOf(f.format(totbayar)); txbayar.setText(totbayar1); }
Analisa: Pada method total ini berisi perhitungan aritmatika yang berfungsi menampilkan nilai jumlah dari txharga*txbanyak kemudian hasil nilainya akan ditampilkan pada txbayar dengan format desimal 1 angka di belakang koma.
public void bersih(){ txnoid.setText(""); txnama.setText(""); txharga.setText(""); txbanyak.setText(""); txbayar.setText(""); }
Analisa: Pada method bersih ini berfungsi untuk mengeset nilai kosong pada semua jTextField.
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: konekdatabase(); tampildataketabel(); }
Analisa: Pada kode program di atas yang ditanamkan didalam jButton2 dengan event clicked memanggil method konekdatabase dan tampildataketabel. Pemanggilan method konekdatabase agar file database dapat terbaca dengan koneksi yang sudah ada. Kemudian method tampildataketable berfungsi untuk memanggil isi tabel dengan perintah query select *from datatiketbola.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); if(no_id.equals("")||nama.equals("")||jenistiket.equals("Pilih Tiket")|| harga.equals("")||banyak.equals("")||totalbayar.equals("")) { JOptionPane.showMessageDialog(null, "ada data yg belum dimasukkan, periksa kembali!"); } else{ simpandata(); bersih(); tampildataketabel(); JOptionPane.showMessageDialog(null, "Data sudah masuk. Terima kasih!"); } }
Analisa: Pada event clicked yang berada di jButton1 ini memanggil method konekdatabase untuk menghubungkan database ke program dan method data untuk memanggil nilai variabel. Pada baris ke 442-453 berisi struktur kontrol if...else yang bermaksut jika nilai no_id, nama, jenistiket, harga, banyak dan total bayar berisi nol atau pilih paket maka akan tampil jOptionpane yang berisi ada data yang belum dimasukkan, periksa kembali. Sedangkan apabila semua jTextField sudah terisi maka akan menjalankan method simpan data untuk memasukkan data ke dalam database, method bersih untuk mengeset nilai kosong pada semua jTextField, method tampildataketabel untuk menampilkan data dari database ke program dan menampilkan jOptionPane yang berisi Data sudah masuk. Terima kasih.
private void jButton3MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); if(no_id.equals("")) { JOptionPane.showMessageDialog(null, "Inputkan No.Identitas anda!"); } else{ try { Statement statement=con.createStatement(); String sql="update datatiketbola set nama="+nama+ ",jenistiket="+jenistiket+",harga="+harga+",banyak=" +banyak+",totalbayar="+totalbayar+" where no_id="+no_id+""; statement.executeUpdate(sql); statement.close(); con.close(); JOptionPane.showMessageDialog(null, "Data telah terubah!"); } catch (Exception e) { System.out.println("Error :"+e); } simpandata(); bersih(); tampildataketabel(); } }
Analisa: Pada jButton3 yang berisi event clicked ini memanggil konekdatabase dan data dengan maksut seperti yang sudah kami jelaskan diatas, kemudian terdapat struktur kontrol if...else pada baris 462-486 yang bermaksut, apabila nilai pada no_id atau txnoid bernilai kosong maka akan tampil jOptionPane yang berisi inputkan no.identitas anda!. Sedangkan apabila pada no_id sudah berisi nilai maka akan menjalankan program baris 470-485 yang bermaksut mengupdate atau memperbarui nilai pada database dengan kata kunci no_id yang dalam database sudah diset sebagai primary key sehingga tidak ada nilai yang sama pada field no_id. Apabila data tidak ada maka akan mengeksekusi kode program 479-482 yang akan mencetak kesalahan. Kemudian memanggil method simapndata, bersih dan tampildataketabel dengan maksut yang sudah kami jelaskan diatas.
private void jButton4MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); try { String cari=JOptionPane.showInputDialog("Masukkan No Identitas anda"); Statement statement=con.createStatement(); String sql="delete from datatiketbola where no_id="+cari+""; statement.executeUpdate(sql); statement.close(); con.close(); JOptionPane.showMessageDialog(null, "Data telah terhapus!"); } catch (Exception e) { System.out.println("Error :"+e); } bersih(); tampildataketabel(); }
Analisa: Kode program yang berada didalam jButton4 dengan event clicked ini bermaksut menghapus nilai perintah query delete from datatiketbola dengan kata kunci yang berada pada variabel cari yang berisi jOptionPane input.
private void cbtiketItemStateChanged(java.awt.event.ItemEvent evt) { hargatiket(); txharga.setEnabled(false); }
Analisa: Script dengan event itemstatechanged yang berada pada cbtiket ini berisi method hargatiket untuk mengeset nilai txharga sesuai item pada cbtiket kemudian txharga di disable supaya tidak diubah nilainya oleh user.
private void formWindowOpened(java.awt.event.WindowEvent evt) { txharga.setEnabled(true); txbanyak.setText(""); txharga.setText("0"); txbayar.setEnabled(false); JOptionPane.showMessageDialog(null, "SELAMAT DATANG DI APLIKASI PEMBELIAN TIKET BOLA"); }
Analisa: Pada jFrame ini diberi event windowopened yang berisi txharga diaktifkan, txbayar diset nilainya kosong, txharga diset nilai nol, txbayar didisable dan menampilkan jOptionPane yang berisi selamat datang di aplikasi pembelian tiket bola.
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { JOptionPane.showMessageDialog(null, "Terima Kasih atas kunjungan anda!"); System.exit(0); }
Analisa: Kode program diatas berisi event actionperformed pada jMenuItem1 yang menampilkan jOptionPane dan menutup program dengan System.exit(0).
.png)
Pada jMenu Edit sudah kami tanamkan kode program sama dengan 4 buah jbutton yang sudah kami bahas diatas. Untuk kode program cari data akan kami bahas sebagai berikut:
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) { konekdatabase(); try { String cari=JOptionPane.showInputDialog("Masukkan No Identitas anda"); Statement statement=con.createStatement(); String sql="select * from datatiketbola where no_id like "+cari+""; ResultSet rs=statement.executeQuery(sql); if(rs.next()) { txnoid.setText(rs.getString(1)); txnama.setText(rs.getString(2)); cbtiket.setSelectedItem(rs.getString(3)); txharga.setText(rs.getString(4)); txbanyak.setText(rs.getString(5)); txbayar.setText(rs.getString(6)); } else{ JOptionPane.showMessageDialog(null, "DATA TIDAK ADA DALAM DATABASE"); } statement.close(); con.close(); } catch (Exception ex) { System.out.println("Error: "+ex); } }
Analisa: Pada kode program diatas ditanamkan pada jMenuItem6 (menu cari data) yang bermaksut mencari data dengan kata kunci no_id yang inputanya dari jOptionPane kemudian di eksekusi oleh perintah query like untuk mencari data. Setelah data ditemukan maka data akan diset pada semua jTextField dan jComboBox.
private void txbanyakKeyReleased(java.awt.event.KeyEvent evt) { txharga.setEnabled(false); total(); }
Analisa: Pada kode program yang berada di txbanyak ini memiliki event keyreleased, apabila kita mengetikkan nilai pada txbanyak maka akan tampil perintah didalamnya. Txharga di disable dan memanggil method total yang berisi perhitungan aritmatika dari txharga*txbanyak kemudian hasilnya ditampilkan pada txbayar.
private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) { tentang frm=new tentang(); frm.show(); }
Analisa: Pada jMenuItem7 (About) berisi event actionperformed yang akan menampilkan form tentang.
Pada jFrame tentang
public tentang() { initComponents(); setTitle("Tentang Kami"); }
Analisa: Untuk pengesetan judul program yaitu Tentang Kami.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { dispose(); }
Analisa: Kode program dispose() yang sama fungsinya dengan close ini di tanamkan pada jButton1 (keluar).
Go to link download
Thursday, August 18, 2016
aplikasi perhitungan pembayaran paket java
aplikasi perhitungan pembayaran paket java
Pada tutorial kali ini akan membahas cara pembuatan aplikasi perhitungan pembayaran paket dengan komponen jCheckBox menggunakan operator perbandingan dan belajar mengeluarkan kotak dialog sederhana menggunakan jOptionPane. Berikut langkah pembuatan aplikasi :
Buka Netbeans 7.0
Mucul kotak dialog New Project, pada Categories : Java | Projects : Application Klik Next
Tentukan project name: Prak4_Latihan1, project location, project folder yang anda inginkan. Kemudian centang Create Main Class Klik Finish
Klik kanan pada project anda pilih new klik jFrame Form (NewJFrameLatihan1) hingga tampil seperti gambar berikut ini :

Tambahkan tiga buah jLabel, jTextField dan tiga jCheckBox ke dalam jFrame. Kemudian atur posisinya seperti gambar berikut :

Ubah properties Text komponen tersebut :
jLabel 1 > PEMBAYARAN PAKET
jLabel 2 > PAKET
jLabel 3 > TOTAL
jTextField1 > Kosong
jCheckbox1 > PAKET1
jCheckbox2 > PAKRT2

Klik kanan pada komponen JCheckBox1, kemudian pilih Events > Change > StateChanged. Sisipkan perintah :


Lakukan langkah yang sama untuk jCheckBox2 seperti langkah g.

Tekan F11 untuk mengcompile dan jalankan aplikasi dengan menekan tombol F6 pada Keyboard.
Pembahasan Hasil Program
Pada kedua komponen jCheckBox1 dan jCheckBox2 ini diberi event Change State yang apabila kita meletakkan kursor/pointer di atas jCheckBox maka akan menjalankan script yang ada dalam komponen tersebut.
Analisa : Pada kedua buah script diatas yang terletak pada jCheckBox1 dan jCheckBox2 memakai struktur else if. Nilai suatu ekspresi bisa jadi bukan dua nilai benar atau salah, tetapi bisa banyak nilai. Struktur if...elseif menyederhanakan model struktur kontrol if...else. Sintaknya:
If (syarat1){
Statement11;
Statement12;
}
Elseif (syarat2){
Statement21;
Statement22;
}
Else {
Statement1;
Statement2;
}
Jika syarat1 bernilai TRUE, maka statement11, statement12 dst akan dijalankan. Sedangkan jika syarat1 FALSE maka selanjutnya akan dicek untuk syarat2. Jika syarat2 TRUE maka statement21, statement22, dst akan dijalankan, sedangkan jika syarat2
FALSE akan dicek syarat berikutnya (jika masih ada). Statement1, statement2, dst baru akan dijalankan apabila semua syarat sebelumnya bernilai FALSE.
Contoh:
Jika kedua jCheckBox bernilai TRUE dengan operator perbandingan && maka akan memberi inputan pada jTextField1 dengan nilai Rp 20.000,-. Jika else if jCheckBox1 atau jCheckBox2 bernilai TRUE maka akan memberi inputan pada jTextField1 dengan nilai Rp 15000,-. Sedangkan jika tidak keduanya maka akan menampilkan hasil pada jTextField1 dengan nilai Rp 0,-. Pada syarat1 untuk menghasilkan nilai TRUE pada kedua jCheckBox menggunakan operator perbandingan dan (&&), sedangkan untuk syarat2 menggunakan operator perbandingan atau (||) berarti hanya tampil salah satu saja berbeda dengan dan yang menampilkan keduanya. Apabila syarat1 dan syarat2 tidak terpenuhi maka akan menjalankan opsi terakhir, contoh diatas adalah sebuah inputanRp 0,-.
Analisa : Gambar berikut ini merupakan tampilan default dari program karena belum mengeksekusi script yang telah kita sisipkan diatas.

Apabila kita meletakkan pointer disalah satu jCheckBox diatas maka akan tampil nilai Rp 0,- karena kita belum mencentang salah satu jCheckBox tersebut, seperti gambar berikut ini:

Sedangkan apabila kita mengeklik/ mencentang salah satu jCheckBox tersebut maka akan tampil nilai pada total yaitu Rp 15000,- dengan operator perbandingan || yang telah kita tanampakan diatas. Berikut gambarnya:
Apabila kita mencentang kedua jCheckBox tersebut maka akan menjalankan syarat1 pada script didalamnya yaitu akan menampilkan nilai Rp 20000,- pada Total, seperti gambar berikut:

Buka Netbeans 7.0
Mucul kotak dialog New Project, pada Categories : Java | Projects : Application Klik Next
Tentukan project name: Prak4_Latihan1, project location, project folder yang anda inginkan. Kemudian centang Create Main Class Klik Finish
Klik kanan pada project anda pilih new klik jFrame Form (NewJFrameLatihan1) hingga tampil seperti gambar berikut ini :
Tambahkan tiga buah jLabel, jTextField dan tiga jCheckBox ke dalam jFrame. Kemudian atur posisinya seperti gambar berikut :
Ubah properties Text komponen tersebut :
jLabel 1 > PEMBAYARAN PAKET
jLabel 2 > PAKET
jLabel 3 > TOTAL
jTextField1 > Kosong
jCheckbox1 > PAKET1
jCheckbox2 > PAKRT2
Klik kanan pada komponen JCheckBox1, kemudian pilih Events > Change > StateChanged. Sisipkan perintah :
Lakukan langkah yang sama untuk jCheckBox2 seperti langkah g.
Tekan F11 untuk mengcompile dan jalankan aplikasi dengan menekan tombol F6 pada Keyboard.
Pembahasan Hasil Program
Pada kedua komponen jCheckBox1 dan jCheckBox2 ini diberi event Change State yang apabila kita meletakkan kursor/pointer di atas jCheckBox maka akan menjalankan script yang ada dalam komponen tersebut.
Analisa : Pada kedua buah script diatas yang terletak pada jCheckBox1 dan jCheckBox2 memakai struktur else if. Nilai suatu ekspresi bisa jadi bukan dua nilai benar atau salah, tetapi bisa banyak nilai. Struktur if...elseif menyederhanakan model struktur kontrol if...else. Sintaknya:
If (syarat1){
Statement11;
Statement12;
}
Elseif (syarat2){
Statement21;
Statement22;
}
Else {
Statement1;
Statement2;
}
Jika syarat1 bernilai TRUE, maka statement11, statement12 dst akan dijalankan. Sedangkan jika syarat1 FALSE maka selanjutnya akan dicek untuk syarat2. Jika syarat2 TRUE maka statement21, statement22, dst akan dijalankan, sedangkan jika syarat2
FALSE akan dicek syarat berikutnya (jika masih ada). Statement1, statement2, dst baru akan dijalankan apabila semua syarat sebelumnya bernilai FALSE.
Contoh:
Jika kedua jCheckBox bernilai TRUE dengan operator perbandingan && maka akan memberi inputan pada jTextField1 dengan nilai Rp 20.000,-. Jika else if jCheckBox1 atau jCheckBox2 bernilai TRUE maka akan memberi inputan pada jTextField1 dengan nilai Rp 15000,-. Sedangkan jika tidak keduanya maka akan menampilkan hasil pada jTextField1 dengan nilai Rp 0,-. Pada syarat1 untuk menghasilkan nilai TRUE pada kedua jCheckBox menggunakan operator perbandingan dan (&&), sedangkan untuk syarat2 menggunakan operator perbandingan atau (||) berarti hanya tampil salah satu saja berbeda dengan dan yang menampilkan keduanya. Apabila syarat1 dan syarat2 tidak terpenuhi maka akan menjalankan opsi terakhir, contoh diatas adalah sebuah inputanRp 0,-.
Analisa : Gambar berikut ini merupakan tampilan default dari program karena belum mengeksekusi script yang telah kita sisipkan diatas.
Apabila kita meletakkan pointer disalah satu jCheckBox diatas maka akan tampil nilai Rp 0,- karena kita belum mencentang salah satu jCheckBox tersebut, seperti gambar berikut ini:
Sedangkan apabila kita mengeklik/ mencentang salah satu jCheckBox tersebut maka akan tampil nilai pada total yaitu Rp 15000,- dengan operator perbandingan || yang telah kita tanampakan diatas. Berikut gambarnya:
Apabila kita mencentang kedua jCheckBox tersebut maka akan menjalankan syarat1 pada script didalamnya yaitu akan menampilkan nilai Rp 20000,- pada Total, seperti gambar berikut:
Go to link download
Labels:
aplikasi,
java,
paket,
pembayaran,
perhitungan
Subscribe to:
Posts (Atom)