qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx MODUL FUNGSI IF DAN TAMPIL cvbnmqwertyuiopasdfghjklzxcvbnmq DATA wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg SIMPAN, EDIT, HAPUS hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui Sukma Murdani, S.Kom opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmrtyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmqwert yuiopasdfghjklzxcvbnmqwertyuiopas Crated By : Sukma Murdani, S.KOm
MATA KULIAH : OOP KELAS : IF1, IF2 DOSEN : SUKMA MURDANI, S.Kom Buatlah database mhs dan sebuah tabel dengan nama data dengan field berikut :
Kemudian desain sebuah Form dengan nama FUNGSI pada Project Baru yang bernama APLIKASI dengan tampilan berikut :
tbp tnm tcbo tkls tuts tuas takhir thuruf bedit bsimpan
Disusun Oleh : Sukma Murdani, S.Kom
bexit
bhapus lapor
A. MENYIMPAN DATA Logika program berikut adalah sebagai berikut : • NILAI AKHIR = (NILAI UTS + NILAI UAS) / 2. • NILAI HURUF : A = 80 – 100 B = 65 – 79 C = 55 – 64 D = 45 – 54 E = 0 – 44 Ketika Run setelah input NILAI UAS maka di enter dan secara otomatis NILAI AKHIR dan NILAI HURUF akan keluar. Setelah mengklik button SIMPAN maka secara otomatis field-field akan kosong. •
Membuat metode keyPressed pada field tuas dengan cara : Klick kanan field tuas Events Key keyPressed
Kemudian tambahkan Listing Berikut : LISTING UNTUK PROSES NILAI AKHIR DENGAN METODE keyPressed Pada Field tuas private void tuasKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: int ASCII=evt.getKeyCode(); if(ASCII==10) { int a = Integer.parseInt(tuts.getText()); int b = Integer.parseInt(tuas.getText()); String huruf=""; int jml = (a + b)/2; takhir.setText(Integer.toString(jml)); if (jml>=80){ huruf="A"; }else if (a>=65){ huruf="B"; }else if (jml>=55){ huruf="C"; }else if (jml>=45){ huruf="D"; }else{ huruf="E"; } thuruf.setText(huruf); } } Disusun Oleh : Sukma Murdani, S.Kom
•
Fungsi untuk mengosongkan field private void bersih(){ tbp.setText(""); tnm.setText(""); tkls.setText(""); tuts.setText(""); tuas.setText(""); takhir.setText(""); thuruf.setText(""); tbp.requestFocus(); }
•
Deklarasi variabel untuk koneksi Deklarasi ini dibuat karena variabel berikut adalah variabel public. Ketikkan pada deklarasi public form. (public class cariAwal extends javax.swing.JFrame) String user = "root"; String host = "localhost"; String db = "mhs"; String site="";
Selanjutnya agar data tersimpan pada database kita tambahkan listing program untuk button SIMPAN dengan cara : Klick kanan button bsimpan Events Action ActionPerfromed LISTING UNTUK BUTTON SIMPAN private void bsimpanActionPerformed(java.awt.event.ActionEvent evt) { try{ Class.forName("com.mysql.jdbc.Driver"); site="jdbc:mysql://" + host + "/" + db + "?user=" + user; Connection koneksi=DriverManager.getConnection(site); Statement st=koneksi.createStatement(); int psn=st.executeUpdate("insert into data"+"(bp,nm,jekel,kls,uts,uas,akhir,huruf) values" + "("+"'"+tbp.getText()+"'," + " "+"'"+tnm.getText()+"',"+ "'"+tcbo.getSelectedItem()+"',"+"'"+tkls.getText()+"'," + "'"+tuts.getText()+"',"+"'"+tuas.getText()+"'," + "'"+takhir.getText()+"', "+"'"+thuruf.getText()+"')"); if (psn>0){ JOptionPane.showMessageDialog(this, "DATA BEHASIL DISIMPAN"); bersih(); } st.close(); koneksi.close(); Disusun Oleh : Sukma Murdani, S.Kom
} catch(SQLException e){ JOptionPane.showMessageDialog(this,"GAGAL MENYIMPAN" + e); } catch (ClassNotFoundException e){ JOptionPane.showMessageDialog(this,"jdbc Driver tidak ditemukan"); } tampilDATA(); } }
Kemudian jalankan program dan masukkan seluruh data serta disimpan. Program akan betul jika data telah masuk ke dalam database. Seperti berikut :
B. MENGEDIT DATA Dalam mengedit data, terlebih dahulu kita menampilkan data dari database untuk kita edit ke dalam form. Dalam hal ini kita menggunakan metode keyPressed pada field tbp. Dengan logika program di mana inputkan nomor Bp kemudian enter sehingga data akan tampil pada field berikutnya untuk di edit. Adapun caranya sebagai berikut : Klick kanan field tbp Events Key
Disusun Oleh : Sukma Murdani, S.Kom
keyPressed
Kemudian tambahkan listing program sebagai berikut : LISTING UNTUK KEY PRESS (ENTER) field NOMORBP private void tbpKeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: int ASCII=evt.getKeyCode(); if(ASCII==10) { try{ Class.forName("com.mysql.jdbc.Driver"); site="jdbc:mysql://" + host + "/" + db + "?user=" + user; Connection koneksi=DriverManager.getConnection(site); Statement st=koneksi.createStatement(); ResultSet tampil = st.executeQuery("select * from data where bp='"+tbp.getText()+"'"); while(tampil.next()) { tnm.setText(tampil.getString("nm")); tcbo.setSelectedItem(tampil.getString("jekel")); tkls.setText(tampil.getString("kls")); tuts.setText(tampil.getString("uts")); tuas.setText(tampil.getString("uas")); takhir.setText(tampil.getString("akhir")); thuruf.setText(tampil.getString("huruf")); tampil.close(); st.close(); } } catch(SQLException e){} catch(ClassNotFoundException e){} tuts.requestFocus(); } }
Selanjutnya agar data pada database berubah maka kita tambahkan listing program untuk button EDIT dengan cara : Klick kanan button bedit Events Action ActionPerfromed
LISTING BUTTON EDIT private void beditActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try{ Class.forName("com.mysql.jdbc.Driver"); site="jdbc:mysql://" + host + "/" + db + "?user=" + user; Connection koneksi=DriverManager.getConnection(site); Statement st=koneksi.createStatement(); Disusun Oleh : Sukma Murdani, S.Kom
int psn=st.executeUpdate("update data "+" set nm="+"'"+tnm.getText()+"',"+ "jekel="+"'"+tcbo.getSelectedItem()+"'," + "kls="+"'"+tkls.getText()+"'," + "uts="+"'"+tuts.getText()+"'," + "uas="+"'"+tuas.getText()+"'," + "akhir="+"'"+takhir.getText()+"'," + "huruf="+"'"+thuruf.getText()+"'"+ "where bp="+"'"+tbp.getText()+"'"); if (psn>0){ JOptionPane.showMessageDialog(this, "DATA BERHASIL DI EDIT"); bersih(); } st.close(); koneksi.close(); } catch(SQLException e){ JOptionPane.showMessageDialog(this,"GAGAL EDIT" + e); } catch (ClassNotFoundException e){ JOptionPane.showMessageDialog(this,"jdbc Driver tidak ditemukan"); } tampilDATA(); }
C. MENGHAPUS DATA Sama halnya dengan mengedit data, dalam menghapus data kita juga terlebih dahulu menampilkan data dari database ke dalam field. Oleh karena metodenya telah kita buat sebelumnya jadi kita tinggal menambahkan listing pada button HAPUS dengan cara sebagai berikut : Klick kanan button bhapus
Events
Action
ActionPerfromed
LISTING BUTTON HAPUS private void bhapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: try{ Class.forName("com.mysql.jdbc.Driver"); site="jdbc:mysql://" + host + "/" + db + "?user=" + user; Connection koneksi=DriverManager.getConnection(site); Statement st=koneksi.createStatement(); int psn=st.executeUpdate("delete from data "+" where bp="+"'"+tbp.getText()+"'"); if (psn>0){ JOptionPane.showMessageDialog(this, "DATA BERHASIL DI HAPUS"); bersih(); Disusun Oleh : Sukma Murdani, S.Kom
} st.close(); koneksi.close(); } catch(SQLException e){ JOptionPane.showMessageDialog(this,"GAGAL HAPUS" + e); } catch (ClassNotFoundException e){ JOptionPane.showMessageDialog(this,"jdbc Driver tidak ditemukan"); } tampilDATA(); } }
LISTING UNTUK BUTTON KELUAR private void bexitActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.dispose(); }
D. MENAMPILKAN DATA HASIL INPUTAN Konsep menampilkan data berikut yaitu menggunakan JScroll Pane. Adapun caranya adalah sebagai berikut : •
FUNGSI UNTUK MENGAMBIL DATA DARI DATABASE DAN MEMINDAHKANNYA KE JScrollPane
private Object[][] getData(){ Object[][] data=null; try{ Class.forName("com.mysql.jdbc.Driver"); site="jdbc:mysql://" + host + "/" + db + "?user=" + user; Connection koneksi=DriverManager.getConnection(site); Statement st=koneksi.createStatement(); ResultSet hasil=st.executeQuery("Select bp,nm,kls,akhir,huruf from data"); hasil.last(); int rowCount =hasil.getRow(); hasil.beforeFirst(); data= new Object[rowCount][5]; int no=-1; while (hasil.next()){ no=no+1; data[no][0]=hasil.getString(1); Disusun Oleh : Sukma Murdani, S.Kom
data[no][1]=hasil.getString(2); data[no][2]=hasil.getString(3); data[no][3]=hasil.getString(4); data[no][4]=hasil.getString(5); } st.close(); } catch (SQLException e){} catch (ClassNotFoundException e){} return data; } •
FUNGSI UNTUK SETTING JScrollPane
private void tampilDATA(){ String[] columnNames={"BP","NAMA","KELAS","NILAI ANGKA","NILAI HURUF"}; JTable table=new JTable(getData(),columnNames); lapor.setViewportView(table); }
Disusun Oleh : Sukma Murdani, S.Kom
Qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd MODUL FUNGSI IF DAN TAMPIL DATA fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui PREFIX, SUFIX, CAMPURAN opasdfghjklzxcvbnmqwertyuiopasdfg hjklzxcvbnmqwertyuiopasdfghjklzxc vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbn SIMPAN, EDIT, HAPUS
Sukma Murdani, S.Kom
Disusun Oleh : Sukma Murdani, S.Kom
Buatlah form dengan tampilan berikut :
tnama bcari
btutup
tabelcari
A. PENCARIAN DI AWAL (PREFIX) Merupakan pencarian yang mengandung huruf awal pada sebuah data. Misalnya jika kita mencari data dengan nama : Sukma Murdani maka cukup dengan mengetik “Su” atau “s”. Berikut Script programnya : •
Deklarasi variabel untuk koneksi Deklarasi ini dibuat karena variabel berikut adalah variabel public. Ketikkan pada deklarasi public form. (public class cariAwal extends javax.swing.JFrame) String user = "root"; String host = "localhost"; String db = "mhs1"; String site="";
•
Fungsi untuk mendefenisikan pencarian Fungsi ini dibuat untuk mendeskripsikan dan mendefenisikan data yang akan dicari dan kemudian mengkonversikan ke dalam JoptionPane. Berikut adalah script programnya :
Disusun Oleh : Sukma Murdani, S.Kom
private Object[][] getData(){ Object[][] data=null; try{ Class.forName("com.mysql.jdbc.Driver"); site="jdbc:mysql://" + host + "/" + db + "?user=" + user; Connection koneksi=DriverManager.getConnection(site); Statement st=koneksi.createStatement(); String caridata=tnama.getText(); if (caridata.length()<1){ JOptionPane.showMessageDialog(this,"Field Tidak Boleh Kosong"); tnama.requestFocus(); return null; } ResultSet hasil=st.executeQuery("Select bp,nm,kls,akhir,huruf from data "+" where nm like ('"+ caridata +"%')" ); hasil.last(); int rowCount =hasil.getRow(); hasil.beforeFirst(); data= new Object[rowCount][5]; int no=-1; while (hasil.next()){ no=no+1; data[no][0]=hasil.getString(1); data[no][1]=hasil.getString(2); data[no][2]=hasil.getString(3); data[no][3]=hasil.getString(4); data[no][4]=hasil.getString(5); } st.close(); } catch (SQLException e){} catch (ClassNotFoundException e){} return data; }
Disusun Oleh : Sukma Murdani, S.Kom
•
Fungsi untuk pengaturan tampilan JOptionPane Fungsi ini dibuat untuk menagatur tampilan data telah dicari dan kemudian menampilkannya ke dalam JoptionPane. Berikut adalah script programnya :
private void tampilDATA(){ String[] columnNames={"BP","NAMA","KELAS","NILAI ANGKA","NILAI HURUF"}; Object[][] dataku=getData(); try{ if (dataku.length>0){ JTable table=new JTable(getData(),columnNames); tabelcari.setViewportView(table); } else JOptionPane.showMessageDialog(this,"Data Tidak Ada"); tnama.setText(""); tnama.requestFocus(); } catch(Exception e){} }
•
Listing pada button cari Listing ini adalah untuk menampilkan hasil ketika button di klik. Hanya dilakukan dengan pemanggilan fungsi tampilData. Berikut adalah script programnya :
private void bcariActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: tampilDATA(); }
B. PENCARIAN DI AKHIR (SUFFIX) Merupakan pencarian yang mengandung huruf akhir pada sebuah data. Misalnya jika kita mencari data dengan nama : Sukma Murdani maka cukup dengan mengetik “ni” atau “i”. Berikut Script programnya : •
Deklarasi variabel untuk koneksi Deklarasi ini dibuat karena variabel berikut adalah variabel public. Ketikkan pada deklarasi public form. (public class cariAwal extends javax.swing.JFrame)
Disusun Oleh : Sukma Murdani, S.Kom
String user = "root"; String host = "localhost"; String db = "mhs"; String site="";
•
Fungsi untuk mendefenisikan pencarian Fungsi ini dibuat untuk mendeskripsikan dan mendefenisikan data yang akan dicari dan kemudian mengkonversikan ke dalam JoptionPane. Berikut adalah script programnya : private Object[][] getData(){ Object[][] data=null; try{ Class.forName("com.mysql.jdbc.Driver"); site="jdbc:mysql://" + host + "/" + db + "?user=" + user; Connection koneksi=DriverManager.getConnection(site); Statement st=koneksi.createStatement(); String caridata=tnama.getText(); if (caridata.length()<1){ JOptionPane.showMessageDialog(this,"Field Tidak Boleh Kosong"); tnama.requestFocus(); return null; }
ResultSet hasil=st.executeQuery("Select bp,nm,kls,akhir,huruf from data "+" where nm like ('%"+ caridata +"')" ); hasil.last(); int rowCount =hasil.getRow(); hasil.beforeFirst(); data= new Object[rowCount][5]; int no=-1; while (hasil.next()){ no=no+1; data[no][0]=hasil.getString(1); data[no][1]=hasil.getString(2); data[no][2]=hasil.getString(3); Disusun Oleh : Sukma Murdani, S.Kom
data[no][3]=hasil.getString(4); data[no][4]=hasil.getString(5); } st.close(); } catch (SQLException e){} catch (ClassNotFoundException e){} return data; } •
Fungsi untuk pengaturan tampilan JOptionPane Fungsi ini dibuat untuk menagatur tampilan data telah dicari dan kemudian menampilkannya ke dalam JoptionPane. Berikut adalah script programnya : private void tampilDATA(){ String[] columnNames={"BP","NAMA","KELAS","NILAI ANGKA","NILAI HURUF"}; Object[][] dataku=getData(); try{ if (dataku.length>0){ JTable table=new JTable(getData(),columnNames); tabelcari.setViewportView(table); } else JOptionPane.showMessageDialog(this,"Data Tidak Ada"); tnama.setText(""); tnama.requestFocus(); } catch(Exception e){} }
•
Listing pada button cari Listing ini adalah untuk menampilkan hasil ketika button di klik. Hanya dilakukan dengan pemanggilan fungsi tampilData. Berikut adalah script programnya :
private void bcariActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: tampilDATA(); } Disusun Oleh : Sukma Murdani, S.Kom
C. PENCARIAN SEMUA Merupakan pencarian yang mengandung huruf akhir pada sebuah data. Misalnya jika kita mencari data dengan nama : Sukma Murdani maka cukup dengan mengetik “Su” atau “s” atau “ni” atau “i”. Berikut Script programnya : •
Deklarasi variabel untuk koneksi Deklarasi ini dibuat karena variabel berikut adalah variabel public. Ketikkan pada deklarasi public form. (public class cariAwal extends javax.swing.JFrame) String user = "root"; String host = "localhost"; String db = "mhs1"; String site="";
•
Fungsi untuk mendefenisikan pencarian Fungsi ini dibuat untuk mendeskripsikan dan mendefenisikan data yang akan dicari dan kemudian mengkonversikan ke dalam JoptionPane. Berikut adalah script programnya : private Object[][] getData(){ Object[][] data=null; try{ Class.forName("com.mysql.jdbc.Driver"); site="jdbc:mysql://" + host + "/" + db + "?user=" + user; Connection koneksi=DriverManager.getConnection(site); Statement st=koneksi.createStatement(); String caridata=tnama.getText(); if (caridata.length()<1){ JOptionPane.showMessageDialog(this,"Field Tidak Boleh Kosong"); tnama.requestFocus(); return null; }
ResultSet hasil=st.executeQuery("Select bp,nm,kls,akhir,huruf from data "+" where nm like ('%"+ caridata +"%')" ); hasil.last(); int rowCount =hasil.getRow(); hasil.beforeFirst(); Disusun Oleh : Sukma Murdani, S.Kom
data= new Object[rowCount][5]; int no=-1; while (hasil.next()){ no=no+1; data[no][0]=hasil.getString(1); data[no][1]=hasil.getString(2); data[no][2]=hasil.getString(3); data[no][3]=hasil.getString(4); data[no][4]=hasil.getString(5); } st.close(); } catch (SQLException e){} catch (ClassNotFoundException e){} return data; } •
Fungsi untuk pengaturan tampilan JOptionPane Fungsi ini dibuat untuk menagatur tampilan data telah dicari dan kemudian menampilkannya ke dalam JoptionPane. Berikut adalah script programnya : private void tampilDATA(){ String[] columnNames={"BP","NAMA","KELAS","NILAI ANGKA","NILAI HURUF"}; Object[][] dataku=getData(); try{ if (dataku.length>0){ JTable table=new JTable(getData(),columnNames); tabelcari.setViewportView(table); } else JOptionPane.showMessageDialog(this,"Data Tidak Ada"); tnama.setText(""); tnama.requestFocus(); } catch(Exception e){} }
Disusun Oleh : Sukma Murdani, S.Kom
•
Listing pada button cari Listing ini adalah untuk menampilkan hasil ketika button di klik. Hanya dilakukan dengan pemanggilan fungsi tampilData. Berikut adalah script programnya :
private void bcariActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: tampilDATA(); }
Disusun Oleh : Sukma Murdani, S.Kom