TUGAS AKHIR PEMOGRAMAN VISUAL APLIKASI PETERNAKAN AYAM BERBASIS JAVA DI PETERNAKAN AYAM MANDIRI
Oleh Kelompok 5
Anshar Firman Haryadi / 16745 Syafridal / 18760 Hesti Fitri Yeni / 1207588
PENDIDIKAN TEKNIK INFORMATIKA JURUSAN ELEKTRONIKA FAKULTAS TEKNIK UNIVERSITAS NEGERI PADANG 2013
Database Aplikasi ini menggunakan 3 entitas. table admin
Table ternak
Table penjualan
Tahap Penggunaan, Method Koneksi public void koneksi() { try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Sukses Driver JDBC Ditemukan....!"); try {
String url = "jdbc:mysql://localhost:3306/db_ayam?user=root&password="; konek = DriverManager.getConnection(url); System.out.println("Sukses Koneksi...");
} catch (SQLException se) {
System.out.println(" Gagal Koneksi = " + se);
}
System.exit(0);
} catch (ClassNotFoundException cnfe) {
JOptionPane.showMessageDialog(null, "Class Tidak Ditemukan...Error: " + cnfe);
}
}
System.exit(0);
User melakukan login terlebih dahulu.
Script untuk Login try {
String sql = "SELECT * FROM admin WHERE username = '" + txtusername.getText() + "' and password = '" + String.valueOf(txtpasswd.getPassword()) + "'"; stt = konek.createStatement(); rss = stt.executeQuery(sql); if (rss.next()) {
String username = rss.getString(1); String password = rss.getString(2); new welcome().show();
dispose();
} else {
JOptionPane.showMessageDialog(null, "Maaf, Login Gagal a. Try again", "Pesan", JOptionPane.ERROR_MESSAGE); }
} catch (Exception e) { }
Script Membuka Form Baru new welcome().show(); dispose();
Kemudian masuk ke halaman home
Terdapat 4 menu bar. Entry : -
Ternak (form untuk memasukan data ternak) Penjualan (form untuk memasukan data penjualan ternak)
Analisis : -
Nutrisi (form untuk menghitung nutrisi pakan, dan menganalisis kebutuhan nutrisi pakan) Keuntungan (form untuk menghitung perkiraan keuntungan yang mungkin di dapatkan)
Setting : -
Admin (form untuk mengatur administrator) Exit (fungsi untuk keluar dari aplikasi)
Help -
Help Content (form untuk menampilkan ketentuan data dan perhitu yang digunakan About (form untuk menampilkan informasi tentang Aplikasi)
Form Ternak
Method Cancel txtdoc.setText(""); txthargadoc.setText(""); txtjual.setText(""); txtpakan.setText(""); txthargapakan.setText(""); txtoperasional.setText(""); txtanalisis.setText("");
Method Add public void tambah (){ tanggal2(); if (txtdaging.isSelected()) { status="Pedaging"; } else if (txttelur.isSelected())
{ status="Petelur"; } jumlah=txtjumlah.getText(); tipe=String.valueOf(txtjenis.getSelectedItem()); if((txttgl.equals("")) | (txtjumlah.equals(""))) { JOptionPane.showMessageDialog(null, "Pengisian Data Tidak Boleh Kosong"); txttgl.requestFocus(); } else { // jika sudah data terpenuhi lakukan proses penyimpanan try { String sql = "Insert Into ternak values(?,?,?,?)"; PreparedStatement stat = konek.prepareStatement(sql); try{ stat.setString(1, tgl1); stat.setString(2, tipe); stat.setString(3, status); stat.setString(4, jumlah); stat.executeUpdate(); JOptionPane.showMessageDialog(null, "Data Tersimpan....."); launch(); //bersih(); } catch (SQLException se) { System.out.println("Gagal Menyimpan.." + se); JOptionPane.showMessageDialog(null, "Yang Anda Masukkan Telah Ada..\nGagal Disimpan..Coba Lagi \npesan Error :\n" + se); } }catch (Exception e) { //System.out.println("se); } } }
Method Edit public void edit (){ try{ tanggal2(); koneksi(); if (txtdaging.isSelected()) { status="Pedaging"; } else if (txttelur.isSelected()) { status="Petelur"; } String sql = "Update ternak set Tanggal='"+tgl1+"', Tipe='"+txtjenis.getSelectedItem().toString()+"', Jenis='"+status+"', Jumlah='"+txtjumlah.getText()+"' where Tanggal='"+tgl1+"'"; Statement theStatement=konek.createStatement(); theStatement.executeUpdate(sql); konek.close(); JOptionPane.showMessageDialog(null,"Data berhasil di Update"); txtjumlah.setText(""); txttgl.setDate(null); }catch (Exception e){ JOptionPane.showMessageDialog(null,"Proses hapus gagal/koneksi gagal.."); System.out.println(e.getMessage()); } launch(); }
Method Delete public void delete (){ try{ tanggal2(); koneksi(); if (txtdaging.isSelected()) { status="Pedaging";
} else if (txttelur.isSelected()) { status="Petelur"; } String sql = "delete from ternak where Tanggal='"+tgl1+"'"; Statement theStatement=konek.createStatement(); theStatement.executeUpdate(sql); konek.close();
JOptionPane.showMessageDialog(null,"Data berhasil di Delete"); txtjumlah.setText(""); txttgl.setDate(null); }catch (Exception e){ JOptionPane.showMessageDialog(null,"Proses hapus gagal/koneksi gagal.."); System.out.println(e.getMessage()); } launch(); }
Method Cetak try { File file = new File("src/peternakan_ayam/laporan_ternak.jrxml"); jasperDesign = JRXmlLoader.load(file); param.clear(); jasperReport = JasperCompileManager.compileReport(jasperDesign); jasperPrint = JasperFillManager.fillReport(jasperReport, param, konek); JasperViewer.viewReport(jasperPrint, false); } catch (Exception e) { e.printStackTrace(); }
Method Menampilkan Data public void launch (){ DefaultTableModel tabMode; this.getContentPane().setLayout(null); tabel.setToolTipText(""); Object[] row={"Tangal","Tipe","Jenis","Jumlah"}; tabMode= new DefaultTableModel(null,row); tabel.setModel(tabMode); try{ Class.forName("com.mysql.jdbc.Driver").newInstance(); com.mysql.jdbc.Connection cn=(com.mysql.jdbc.Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/db_ayam?user=root&password="); com.mysql.jdbc.Statement st=(com.mysql.jdbc.Statement) cn.createStatement(); String sql ="SELECT Tanggal,Tipe,Jenis,Jumlah from ternak "; ResultSet set=st.executeQuery(sql); while(set.next()) { String tanggal2
= set.getString("Tanggal");
String tipe2 = set.getString("tipe"); String jenis2 = set.getString("jenis"); String jumlah2 = set.getString("Jumlah"); String[] data={tanggal2,tipe2,jenis2,jumlah2}; tabMode.addRow(data); } }catch(Exception e){System.err.println("Error SQL: " + e.getMessage());} }
Form Penjualan
Form Analisis Nutrisi
Method penghitungan Analisis public void kandungan(){ hitungpakan(); DecimalFormat df=new DecimalFormat("#.##"); //--------------DEDAK--------------// nemdedak=3360; ncpdedak=(float) 11.1; nlemakdedak=(float) 5.4; nseratdedak=(float) 17.9; ncadedak=(float) 0.08; npdedak=(float) 1.15; em1=Float.parseFloat(dedak)/total*nemdedak; cp1=Float.parseFloat(dedak)/total*(ncpdedak/100); lemak1=Float.parseFloat(dedak)/total*(nlemakdedak/100); serat1=Float.parseFloat(dedak)/total*(nseratdedak/100); ca1=Float.parseFloat(dedak)/total*(ncadedak/100); p1=Float.parseFloat(dedak)/total*(npdedak/100); emdedak.setText((String.valueOf(df.format(em1)))); cpdedak.setText((String.valueOf(df.format(cp1)))); lemakdedak.setText((String.valueOf(df.format(lemak1)))); seratdedak.setText((String.valueOf(df.format(serat1)))); cadedak.setText((String.valueOf(df.format(ca1)))); pdedak.setText((String.valueOf(df.format(p1)))); //---------END OF DEDAK------------// //--------------SUSU BUBUK--------------// nemsusu=2510; ncpsusu=33; nlemaksusu=1; nseratsusu=0; ncasusu=(float) 1.3; npsusu=(float) 0.9; em2=Float.parseFloat(susu)/total*nemsusu; cp2=Float.parseFloat(susu)/total*(ncpsusu/100); lemak2=Float.parseFloat(susu)/total*(nlemaksusu/100); serat2=Float.parseFloat(susu)/total*(nseratsusu/100);
ca2=Float.parseFloat(susu)/total*(ncasusu/100); p2=Float.parseFloat(susu)/total*(npsusu/100); emsusu.setText((String.valueOf(df.format(em2)))); cpsusu.setText((String.valueOf(df.format(cp2)))); lemaksusu.setText((String.valueOf(df.format(lemak2)))); seratsusu.setText((String.valueOf(df.format(serat2)))); casusu.setText((String.valueOf(df.format(ca2)))); psusu.setText((String.valueOf(df.format(p2)))); //---------END OF SUSU BUBUK------------// //--------------TEPUNG IKAN--------------// nemikan=2640; ncpikan=(float) 53.3; nlemakikan=(float) 6.5; nseratikan=(float) 1.5; ncaikan=(float) 10.5; npikan=5; em3=Float.parseFloat(tepung)/total*nemikan; cp3=Float.parseFloat(tepung)/total*(ncpikan/100); lemak3=Float.parseFloat(tepung)/total*(nlemakikan/100); serat3=Float.parseFloat(tepung)/total*(nseratikan/100); ca3=Float.parseFloat(tepung)/total*(ncaikan/100); p3=Float.parseFloat(tepung)/total*(npikan/100); emikan.setText((String.valueOf(df.format(em3)))); cpikan.setText((String.valueOf(df.format(cp3)))); lemakikan.setText((String.valueOf(df.format(lemak3)))); seratikan.setText((String.valueOf(df.format(serat3)))); caikan.setText((String.valueOf(df.format(ca3)))); pikan.setText((String.valueOf(df.format(p3)))); //---------END OF TEPUNG IKAN------------// //--------------sentrat --------------// nemsentrat=2500; ncpsentrat=31; nlemaksentrat=4; nseratsentrat=7; ncasentrat=4; npsentrat=(float) 1.5;
em4=Float.parseFloat(sentrat)/total*nemsentrat; cp4=Float.parseFloat(sentrat)/total*(ncpsentrat/100); lemak4=Float.parseFloat(sentrat)/total*(nlemaksentrat/100); serat4=Float.parseFloat(sentrat)/total*(nseratsentrat/100); ca4=Float.parseFloat(sentrat)/total*(ncasentrat/100); p4=Float.parseFloat(sentrat)/total*(npsentrat/100); emsentrat.setText((String.valueOf(df.format(em4)))); cpsentrat.setText((String.valueOf(df.format(cp4)))); lemaksentrat.setText((String.valueOf(df.format(lemak4)))); seratsentrat.setText((String.valueOf(df.format(serat4)))); casentrat.setText((String.valueOf(df.format(ca4)))); psentrat.setText((String.valueOf(df.format(p4)))); //---------END OF sentrat------------// //---- HASIL ----// emtotal=em1+em2+em3+em4; cptotal=(cp1+cp2+cp3+cp4)*100; lemaktotal=(lemak1+lemak2+lemak3+lemak4)*100; serattotal=(serat1+serat2+serat3+serat4)*100; catotal=(ca1+ca2+ca3+ca4)*100; ptotal=(p1+p2+p3+p4)*100; String umur = String.valueOf(txtumur.getSelectedItem()); txtnutrisi.setText("Umur ayam "+umur + "\n EM
: "+((String.valueOf(df.format(emtotal)))) +
" Kcal/Kg" + "\n CP
: "+((String.valueOf(df.format(cptotal)))) +
" %" + "\n LEMAK
: "+((String.valueOf(df.format(lemaktotal)))) +
" %" + "\n SERAT
: "+((String.valueOf(df.format(serattotal)))) +
" %" + "\n Ca
: "+((String.valueOf(df.format(catotal)))) +
" %" + "\n P " %"); //---- END OF HASIL ----// }
: "+((String.valueOf(df.format(ptotal)))) +
Form Analisis Keuntungan
Method Penghitungan Keuntungan public void analisispusat(){ doc=txtdoc.getText(); hargadoc=txthargadoc.getText(); hargajual=txtjual.getText(); pakan=txtpakan.getText(); hargapakan=txthargapakan.getText(); operasional=txtoperasional.getText(); banyakpakan=(int) ((float) 2.1 * Integer.parseInt(doc)); biayadoc=Integer.parseInt(doc)*Integer.parseInt(hargadoc); biayapakan=Integer.parseInt(hargapakan)*(banyakpakan); biayaoperasional=Integer.parseInt(operasional)*Integer.parseInt(doc); banyakayam=(int) (Integer.parseInt(doc) * 0.1); ayamdijual=Integer.parseInt(doc)-banyakayam; modal=biayadoc+biayapakan+biayaoperasional; penjualan=Integer.parseInt(hargajual)*ayamdijual; keuntungan=penjualan-modal; txtanalisis.setText("Analisis Keuntungan \n"+ "Pakan Rp."+hargapakan+" x "+banyakpakan+"Kg = Rp."+biayapakan+"\n"+ "DOC Rp."+hargadoc+"/ekor x "+doc+" = Rp."+biayadoc+"\n"+ "Operasional Rp."+operasional+"/ekor x "+doc+"ekor = Rp."+biayaoperasional+"\n"+ "Banyak Ayam = 10% x "+doc+" = "+banyakayam+"\n"+ "Biaya Modal = Rp."+biayapakan+" + "+biayadoc+"+"+biayaoperasional+" = Rp."+modal+"\n"+ "Penjualan = Rp."+hargajual+" x "+ayamdijual+" = Rp."+penjualan+"\n"+ "Keuntungan = Rp."+penjualan+" - "+modal+" = Rp. "+keuntungan); }
Form Admin
Form Help Content
Form About
Report Data Ternak
Report Penjualan