Advertisement
ramadhani988

Aplikasi_Penilaian_Mhs.java

Dec 5th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 25.97 KB | None | 0 0
  1. import java.sql.*;
  2. import javax.swing.*;
  3. import javax.swing.border.*;  //untuk border
  4. import javax.swing.table.*;   //untuk tabel
  5. import java.awt.*;
  6. import java.awt.event.*;
  7. import java.awt.image.*;
  8. import java.util.Date; //untuk tanggal
  9.  
  10. class Aplikasi_Penilaian_Mhs extends JFrame
  11. {
  12. JPanel panel = new JPanel ();
  13. JPanel panel2 = new JPanel ();
  14. JPanel panel3 = new JPanel ();
  15.  
  16. JLabel judul = new JLabel ("FORM PENILAIAN MATA KULIAH");
  17. JLabel judul2 = new JLabel ("POLITEKNIK ACEH");
  18.  
  19. JLabel logo = new JLabel (new ImageIcon("gambar/logo.png"));
  20. JLabel kampus = new JLabel (new ImageIcon("gambar/kampus.png"));
  21.  
  22. JLabel wall = new JLabel(new ImageIcon("gambar/template.jpg"));
  23.  
  24. JLabel Lnama = new JLabel("Nama");
  25. JTextField txnama = new JTextField(20);
  26.  
  27. JLabel Lnim = new JLabel("NIM ");
  28. JTextField txnim = new JTextField(20);
  29.  
  30. JLabel Lkelas = new JLabel("Kelas ");
  31. JRadioButton kelasA = new JRadioButton("A");
  32. JRadioButton kelasB = new JRadioButton("B");
  33. JRadioButton kelasC = new JRadioButton("C");
  34. ButtonGroup grupkelas=new ButtonGroup();
  35.  
  36. JLabel Lkul = new JLabel("Mata Kuliah");
  37. String[] kuliah = {" ","Teori Java Visual","Praktek Java Visual","Teori Algoritma","Praktek Algoritma"};
  38. JComboBox cbkul= new JComboBox(kuliah);
  39.  
  40. JLabel Ltugas1 = new JLabel("Nilai Tugas1");
  41. JTextField txtugas1 = new JTextField("0");
  42.  
  43. JLabel Ltugas2 = new JLabel("Nilai Tugas2");
  44. JTextField txtugas2=new JTextField("0");
  45.  
  46. JLabel Ltugas3 = new JLabel("Nilai Tugas3");
  47. JTextField txtugas3 = new JTextField("0");
  48.  
  49. JLabel Ltugas4 = new JLabel("Nilai Tugas4");
  50. JTextField txtugas4=new JTextField("0");
  51.  
  52. JLabel Ltugas5 = new JLabel("Nilai Tugas5");
  53. JTextField txtugas5 = new JTextField("0");
  54.  
  55. JLabel Luts = new JLabel("Nilai UTS");
  56. JTextField txuts = new JTextField("0");
  57.  
  58. JLabel Luas = new JLabel("Nilai UAS");
  59. JTextField txuas = new JTextField("0");
  60.  
  61. JLabel Lakhir = new JLabel("Nilai Akhir");
  62. JTextField txakhir = new JTextField();
  63.  
  64. JLabel Lhuruf = new JLabel("Nilai Huruf");
  65. JTextField txhuruf = new JTextField();
  66.  
  67. JButton tblcari = new JButton(new ImageIcon("gambar/cari.png"));
  68. JButton tblprint = new JButton("Print");
  69. JButton tblsimpan = new JButton("Save");
  70. JButton tblupdate = new JButton("Update");
  71. JButton tblkeluar = new JButton("Exit");
  72. JButton tblhapus = new JButton ("Clear");
  73. JButton tbldelete = new JButton ("Delete");
  74. JButton tblcetak = new JButton ("Cetak Laporan");
  75.  
  76. String header [] ={"NIM","Nama","Kelas","Mata Kuliah","Tugas1","Tugas2","Tugas3","Tugas4","Tugas5","UTS","UAS","Total","Huruf"};
  77. DefaultTableModel model = new DefaultTableModel(null,header);
  78. JTable tabel = new JTable(model);
  79. JScrollPane pane = new JScrollPane(tabel);
  80. Dimension dimensi = new Dimension(15,2); //untuk perataan isi tabel (x,y)
  81.  
  82. Date tanggal = new Date();
  83.  
  84. JLabel Ltgl = new JLabel("Tanggal : ");
  85. JLabel Ltgl2 = new JLabel(tanggal.getDate() +" - "+(tanggal.getMonth()+1)+" - "+(tanggal.getYear()+1900),10);
  86.  
  87. JLabel Ljam = new JLabel("Jam : ");
  88. JLabel Ljam2 = new JLabel(String.format("%1$tH : %1$tM : %1$tS",tanggal)); //untuk  jam
  89.  
  90.  
  91.     Aplikasi_Penilaian_Mhs()
  92.    {
  93.       setTitle("Lembar Penilaian");
  94.       setLocation(0,0);
  95.       setSize(1020,570);
  96.       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  97.    }
  98.  
  99.    void komponenVisual()
  100.    {
  101.    getContentPane().setLayout(null);
  102.  
  103. getContentPane().add(judul);
  104. judul.setBounds(250,10,500,40);
  105. judul.setFont(new Font("Arial",Font.BOLD,20));
  106. judul.setHorizontalAlignment(SwingConstants.CENTER);
  107.  
  108. getContentPane().add(judul2);
  109. judul2.setBounds(350,40,300,40);
  110. judul2.setFont(new Font("Arial",Font.BOLD,18));
  111. judul2.setHorizontalAlignment(SwingConstants.CENTER);
  112.  
  113. getContentPane().add(logo);
  114. logo.setBounds(10,0,100,100);
  115.  
  116. getContentPane().add(kampus);
  117. kampus.setBounds(700,0,100,100);
  118.  
  119. //=========================== panel 1 ===================================//
  120. getContentPane().add(panel);
  121. panel.setLayout(null);
  122. panel.setBounds(0,100,300,340);
  123. panel.setBorder (new TitledBorder (new LineBorder(Color.pink, 5),  "Data Nilai Mahasiswa"));
  124. panel.setOpaque(false);
  125.  
  126. panel.add(Lnim);
  127.       Lnim.setBounds(10,25,70,20);
  128.  
  129. panel.add(txnim);
  130.       txnim.setBounds(100,25,150,20);
  131.       txnim.setOpaque(false);
  132.  
  133. panel.add(tblcari);
  134.       tblcari.setBounds(255,25,32,32);
  135.  
  136. panel.add(Lnama);
  137.       Lnama.setBounds(10,50,70,20);
  138.  
  139. panel.add(txnama);
  140.       txnama.setBounds(100,50,150,20);
  141.  
  142. panel.add(Lkelas);
  143.       Lkelas.setBounds(10,75,100,20);
  144.  
  145. panel.add(kelasA);
  146.       kelasA.setBounds(100,75,50,20);
  147.       kelasA.setOpaque(false);
  148.  
  149. panel.add(kelasB);
  150.       kelasB.setBounds(155,75,50,20);
  151.       kelasB.setOpaque(false);
  152.  
  153. panel.add(kelasC);
  154.       kelasC.setBounds(210,75,50,20);
  155.       kelasC.setOpaque(false);
  156.  
  157.       grupkelas.add(kelasA);
  158.       grupkelas.add(kelasB);
  159.       grupkelas.add(kelasC);
  160.  
  161. panel.add(Lkul);
  162.       Lkul.setBounds(10,100,100,20);
  163.  
  164. panel.add(cbkul);
  165.       cbkul.setBounds(100,100,150,20);
  166.  
  167. panel.add(Ltugas1);
  168.       Ltugas1.setBounds(10,130,100,20);
  169.  
  170. panel.add(txtugas1);
  171.       txtugas1.setBounds(100,130,100,20);
  172.  
  173. panel.add(Ltugas2);
  174.       Ltugas2.setBounds(10,150,100,20);
  175.  
  176. panel.add(txtugas2);
  177.       txtugas2.setBounds(100,150,100,20);
  178.  
  179. panel.add(Ltugas3);
  180.       Ltugas3.setBounds(10,170,100,20);
  181.  
  182. panel.add(txtugas3);
  183.       txtugas3.setBounds(100,170,100,20);
  184.  
  185. panel.add(Ltugas4);
  186.       Ltugas4.setBounds(10,190,100,20);
  187.  
  188. panel.add(txtugas4);
  189.       txtugas4.setBounds(100,190,100,20);
  190.  
  191. panel.add(Ltugas5);
  192.       Ltugas5.setBounds(10,210,100,20);
  193.  
  194. panel.add(txtugas5);
  195.       txtugas5.setBounds(100,210,100,20);
  196.  
  197. panel.add(Luts);
  198.       Luts.setBounds(10,230,100,20);
  199.  
  200. panel.add(txuts);
  201.       txuts.setBounds(100,230,100,20);
  202.  
  203. panel.add(Luas);
  204.       Luas.setBounds(10,250,100,20);
  205.  
  206. panel.add(txuas);
  207.       txuas.setBounds(100,250,100,20);
  208.  
  209. panel.add(Lakhir);
  210.       Lakhir.setBounds(10,275,100,20);
  211.  
  212. panel.add(txakhir);
  213.       txakhir.setBounds(100,275,100,20);
  214.       txakhir.setEditable(false);
  215.  
  216. panel.add(Lhuruf);
  217.       Lhuruf.setBounds(10,300,100,20);
  218.  
  219. panel.add(txhuruf);
  220.       txhuruf.setBounds(100,300,100,20);
  221.       txhuruf.setEditable(false);
  222.  
  223. //======================================================================//
  224. //============================= panel 2 ===============================//
  225. getContentPane().add(panel2);
  226. panel2.setLayout(null);
  227. panel2.setBounds(0,440,1000,90);
  228. panel2.setBorder (new TitledBorder (new LineBorder(Color.pink, 5),  "Tombol Aksi"));
  229. panel2.setOpaque(false);  //untuk transparan
  230.  
  231. panel2.add(tblprint);
  232.     tblprint.setBounds(15,25,120,50);
  233.     tblprint.setToolTipText("Print Kartu Nilai Siswa");
  234.     tblprint.setIcon(new ImageIcon("gambar/print.png"));
  235.  
  236. panel2.add(tblsimpan);
  237.       tblsimpan.setBounds(145,25,120,50);
  238.       tblsimpan.setToolTipText("Simpan Data Ke database");
  239.       tblsimpan.setIcon(new ImageIcon("gambar/save.png"));
  240.  
  241. panel2.add(tblupdate);
  242.       tblupdate.setBounds(275,25,130,50);
  243.       tblupdate.setToolTipText("Update Data di Database");
  244.       tblupdate.setIcon(new ImageIcon("gambar/edit.png"));
  245.  
  246. panel2.add(tblhapus);
  247.       tblhapus.setBounds(415,25,120,50);
  248.       tblhapus.setToolTipText("Hapus Data di Layar");
  249.       tblhapus.setIcon(new ImageIcon("gambar/clear.png"));
  250.  
  251. panel2.add(tbldelete);
  252.       tbldelete.setBounds(545,25,130,50);
  253.       tbldelete.setToolTipText("Hapus Data di Database");
  254.       tbldelete.setIcon(new ImageIcon("gambar/delete.png"));
  255.  
  256. panel2.add(tblkeluar);
  257.       tblkeluar.setBounds(685,25,130,50);
  258.       tblkeluar.setToolTipText("Keluar dari Program");
  259.       tblkeluar.setIcon(new ImageIcon("gambar/exit.png"));
  260.  
  261. panel2.add(Ltgl);
  262.       Ltgl.setBounds(840,25,60,20);
  263.  
  264. panel2.add(Ltgl2);
  265.       Ltgl2.setBounds(900,25,100,20);
  266.  
  267. panel2.add(Ljam);
  268.       Ljam.setBounds(860,55,60,20);
  269.  
  270. panel2.add(Ljam2);
  271.       Ljam2.setBounds(900,55,100,20);
  272. //================================================================//
  273. //============================= panel 3 ===============================//
  274. getContentPane().add(panel3);
  275. panel3.setLayout(null);
  276. panel3.setBounds(310,100,690,340);
  277. panel3.setBorder (new TitledBorder (new LineBorder(Color.pink, 5),  "Tabel DataBase"));
  278. panel3.setOpaque(false);
  279. panel3.setForeground(Color.white);
  280.  
  281. panel3.add(pane);
  282. pane.setBounds(10,20,670,255);
  283. pane.setOpaque(false); //untuk tranparan tabel
  284. pane.getViewport().setOpaque(false);  //untuk tranparan tabel
  285.  
  286. tabel.setShowGrid(true);                            //untuk menampilkan garis horizontal
  287. tabel.setShowVerticalLines(true);                  //untuk menampilkan garis vertikal
  288. tabel.setIntercellSpacing(new Dimension(dimensi)); //untuk spasing
  289. tabel.setGridColor(Color.GREEN);                   //Memberi warna garis tabel
  290.  
  291. panel3.add(tblcetak);
  292. tblcetak.setBounds(10,280,670,50);
  293. tblcetak.setIcon(new ImageIcon ("gambar/cetak.png"));
  294. //==========================================================//
  295.       getContentPane().add(wall);
  296.       wall.setBounds(0,0,1020,560);
  297.  
  298.       setVisible(true);
  299. tampilTabel(); //panggil data di void tampilTabel
  300.    }
  301.    
  302.  
  303.  
  304. //====================================== Aksi Reaksi ======================================//
  305.  
  306. void AksiReaksi()
  307.    {
  308. //=========================== simpan data ===========================//
  309. tblsimpan.addActionListener(new ActionListener() //untuk simpan data
  310.       {
  311.          public void actionPerformed(ActionEvent event)
  312.          {
  313.             if (event.getSource()==tblsimpan)
  314.             {
  315.                try
  316.                {
  317.              
  318. Class.forName("com.mysql.jdbc.Driver");   //untuk mendeteksi driver database
  319. Connection koneksi  = DriverManager.getConnection("jdbc:mysql://localhost/DataMahasiswa","root","root");
  320. String sql="insert into DataNilai values (?,?,?,?,?,?,?,?,?,?,?,?,?)";
  321. PreparedStatement pr = koneksi.prepareStatement(sql);
  322.  
  323.  //untuk ambil data yang mau disimpan
  324. pr.setString(1,txnim.getText());
  325. pr.setString(2,txnama.getText());
  326.  
  327. if(kelasA.isSelected()==true) {
  328. pr.setString(3,kelasA.getText());
  329. }
  330. else if(kelasB.isSelected()==true)  {
  331. pr.setString(3,kelasB.getText());
  332. }
  333. else {
  334. pr.setString(3,kelasC.getText());
  335. }
  336.  
  337. pr.setString(4,(String) cbkul.getSelectedItem());
  338. pr.setString(5,txtugas1.getText());
  339. pr.setString(6,txtugas2.getText());
  340. pr.setString(7,txtugas3.getText());
  341. pr.setString(8,txtugas4.getText());
  342. pr.setString(9,txtugas5.getText());
  343. pr.setString(10,txuts.getText());
  344. pr.setString(11,txuas.getText());
  345.   hitungNilai();  // ambil data di void hitungNilai()
  346.  konversiHuruf(); // ambil data di void konversiHuruf()
  347. pr.setString(12,txakhir.getText());
  348. pr.setString(13,txhuruf.getText());
  349.  
  350. pr.executeUpdate(); //untuk melanjutkan proses penyimpanan
  351. pr.close();       // untuk menutup proses penyimpanan
  352. koneksi.close();      //untuk menutup koneksi
  353.  
  354. JOptionPane.showMessageDialog(null, "Data Telah Masuk", "Konfirmasi", JOptionPane.INFORMATION_MESSAGE);
  355.     resetData ();  //untuk hapus data
  356.     tampilTabel(); //panggil data di void tampilTabel
  357.  
  358.  }
  359.  catch(Exception e)
  360. {
  361.    JOptionPane.showMessageDialog(null, "data telah ada didalam database","Konfirmasi",JOptionPane.INFORMATION_MESSAGE);
  362.  }  }  }  }  );
  363.  
  364.  
  365. //=========================== Cari data ===========================//
  366. tblcari.addActionListener(new ActionListener()   //untuk mencari data
  367. {
  368. public void actionPerformed(ActionEvent e)
  369.    {
  370.    if (e.getSource()==tblcari)
  371.    {
  372.       try
  373.       {
  374.          String nim=txnim.getText();
  375.  
  376.          Class.forName("com.mysql.jdbc.Driver");   //untuk mendeteksi driver database
  377. Connection koneksi  = DriverManager.getConnection("jdbc:mysql://localhost/DataMahasiswa","root","root");
  378.  
  379.          Statement st = koneksi.createStatement();
  380.          String sql="select * from datanilai where nim like '"+nim+"'";
  381.          ResultSet rs=st.executeQuery(sql);
  382.  
  383.         if(rs.next())
  384.         {
  385.             txnim.setText(rs.getString(1));
  386.             txnama.setText(rs.getString(2));
  387.  
  388.            String kelas=rs.getString(3);
  389.             if(kelas.equals("A"))
  390.             {
  391.                  kelasA.setSelected(true);
  392.             }
  393.             else if(kelas.equals("B"))
  394.             {
  395.                  kelasB.setSelected(true);
  396.             }
  397.             else
  398.             {
  399.                  kelasC.setSelected(true);
  400.             }
  401.             cbkul.setSelectedItem(rs.getString(4));
  402.             txtugas1.setText(rs.getString(5));
  403.             txtugas2.setText(rs.getString(6));
  404.             txtugas3.setText(rs.getString(7));
  405.             txtugas4.setText(rs.getString(8));
  406.             txtugas5.setText(rs.getString(9));
  407.             txuts.setText(rs.getString(10));
  408.             txuas.setText(rs.getString(11));
  409.             txakhir.setText(rs.getString(12));
  410.             txhuruf.setText(rs.getString(13));
  411.          }
  412.          else
  413.          {
  414.          JOptionPane.showMessageDialog(null, "Nim yang anda cari tidak ada","Konfirmasi",JOptionPane.INFORMATION_MESSAGE);
  415.          }
  416.           st.close();
  417.           koneksi.close();
  418.        }
  419.        catch(Exception ex)
  420.        {
  421.           System.out.println("Error :"+ex);
  422.        }  }  }  }  );
  423.  
  424. //=========================== Update data ===========================//
  425. tblupdate.addActionListener(new ActionListener()   //untuk update data
  426. {
  427. public void actionPerformed(ActionEvent event)
  428.     {
  429.        if (event.getSource()==tblupdate)
  430.        {
  431.           try
  432.           {
  433. Class.forName("com.mysql.jdbc.Driver");   //untuk mendeteksi driver database
  434. Connection koneksi  = DriverManager.getConnection("jdbc:mysql://localhost/DataMahasiswa","root","root");
  435.  
  436.  String sql="update DataNilai set nama =? , kelas =? , mata_kuliah =? , tugas1 =? , tugas2 =? , tugas3 =? , tugas4 =? , tugas5 =? , uts = ?, uas = ?, Nilai_Angka = ?, Nilai_Huruf = ? WHERE NIM = ?";
  437. PreparedStatement pr = koneksi.prepareStatement(sql);
  438.  
  439.           pr.setString(1,txnama.getText());
  440.           if(kelasA.isSelected()==true) {
  441.           pr.setString(2,kelasA.getText());
  442.           }
  443.           else if(kelasB.isSelected()==true)  {
  444.           pr.setString(2,kelasB.getText());
  445.           }
  446.           else {
  447.           pr.setString(2,kelasC.getText());
  448.           }
  449.  
  450.           pr.setString(3,(String)cbkul.getSelectedItem());
  451.           pr.setString(4,txtugas1.getText());
  452.           pr.setString(5,txtugas2.getText());
  453.           pr.setString(6,txtugas3.getText());
  454.           pr.setString(7,txtugas4.getText());
  455.           pr.setString(8,txtugas5.getText());
  456.           pr.setString(9,txuts.getText());
  457.           pr.setString(10,txuas.getText());
  458.           hitungNilai();   // ambil data di void hitungNilai
  459.           konversiHuruf();  // ambil data di void konversiHuruf
  460.           pr.setString(11,txakhir.getText());
  461.           pr.setString(12,txhuruf.getText());
  462.           pr.setInt(13,Integer.parseInt(txnim.getText()));
  463.  
  464.           pr.executeUpdate();
  465.  
  466.               pr.close();
  467.              koneksi.close();
  468.               resetData (); //panggil data di void resetData
  469.               tampilTabel(); //panggil data di void tampilTabel
  470.  
  471.  JOptionPane.showMessageDialog(null, "Data Sudah TerUpdate","Konfirmasi",JOptionPane.INFORMATION_MESSAGE);
  472.           }
  473.           catch(Exception e)
  474.           {
  475.              System.out.println("Error :"+e);
  476.           }  }  }  }  );
  477.  
  478. //=========================== hapus layar ===========================//
  479. tblhapus.addActionListener(new ActionListener()    //untuk bersihkan data dilayar
  480.     {
  481.       public void actionPerformed(ActionEvent e)
  482.       {
  483.         resetData ();
  484.  }  }  );
  485.  
  486. //=========================== Hapus database ===========================//
  487. tbldelete.addActionListener(new ActionListener()    //untuk hapus data dari database
  488. {
  489. public void actionPerformed(ActionEvent e)
  490. {
  491. String nim=txnim.getText();
  492. int tanya = JOptionPane.showConfirmDialog(null,"Apakah Anda ingin Menghapus Data NIM "+nim+" ?","Konfirmasi",JOptionPane.YES_NO_OPTION);
  493. if (tanya==0)
  494.   {
  495.   try
  496.      {
  497. Class.forName("com.mysql.jdbc.Driver");   //untuk mendeteksi driver database
  498. Connection koneksi  = DriverManager.getConnection("jdbc:mysql://localhost/DataMahasiswa","root","root");
  499.      
  500. String sql="DELETE FROM DataNilai WHERE nim=?";
  501. PreparedStatement pr = koneksi.prepareStatement(sql);
  502.  
  503. pr.setString(1,nim);
  504.  
  505. pr.executeUpdate();
  506. pr.close();
  507. koneksi.close();
  508.  
  509. JOptionPane.showMessageDialog(null,"Data telah dihapus");
  510. resetData (); //panggil data di void resetData
  511. tampilTabel(); //panggil data di void tampilTabel
  512.  
  513.     }
  514. catch (Exception ex)
  515.    {
  516. JOptionPane.showMessageDialog(null,"Error :"+ex,"Error",JOptionPane.ERROR_MESSAGE);
  517. }  }  }  } );
  518.  
  519. //=========================== Keluar ===========================//
  520. tblkeluar.addActionListener(new ActionListener()     // untuk keluar
  521.       {
  522.          public void actionPerformed(ActionEvent e)
  523.          {
  524.             System.exit(0);
  525. }  } );
  526.  
  527. //====================================cetak laporan =======================//
  528. tblcetak.addActionListener(new ActionListener()
  529. {
  530. public void actionPerformed (ActionEvent e)
  531.   {
  532.     int y = 0;
  533.     Frame fr = new Frame();
  534.     PrintJob print = fr.getToolkit().getPrintJob(fr, "Prinnting", null, null);
  535.     if (print != null)
  536.     {
  537.       Graphics g = print.getGraphics();
  538.       if (g != null)
  539.       {
  540. //untuk kop (header)
  541. g.setFont(new Font("Dialog", 1, 11));
  542. g.drawString("LAPORAN DATA NILAI MAHASISWA", 150, 40);
  543.  
  544. //untuk nama kolom tabel
  545.         String nim = tabel.getColumnName(0);
  546.         String nama = tabel.getColumnName(1);
  547.         String kelas = tabel.getColumnName(2);
  548.         String kuliah = tabel.getColumnName(3);
  549.         String tugas1 = tabel.getColumnName(4);
  550.         String tugas2 = tabel.getColumnName(5);
  551.         String tugas3 = tabel.getColumnName(6);
  552.         String tugas4 = tabel.getColumnName(7);
  553.         String tugas5 = tabel.getColumnName(8);
  554.         String uts = tabel.getColumnName(9);
  555.         String uas = tabel.getColumnName(10);
  556.         String akhir = tabel.getColumnName(11);
  557.         String huruf = tabel.getColumnName(12);
  558.  
  559.         g.setFont(new Font("Dialog", 1, 8));
  560.         g.drawString(nim, 30, 70);
  561.         g.drawString(nama, 80, 70);
  562.         g.drawString(kelas, 130, 70);
  563.         g.drawString(kuliah, 160, 70);
  564.         g.drawString(tugas1, 240, 70);
  565.         g.drawString(tugas2, 280, 70);
  566.         g.drawString(tugas3, 320, 70);
  567.         g.drawString(tugas4, 360, 70);
  568.         g.drawString(tugas5, 400, 70);
  569.         g.drawString(uts, 440, 70);
  570.         g.drawString(uas, 470, 70);
  571.         g.drawString(akhir, 500, 70);
  572.         g.drawString(huruf, 530, 70);
  573.  
  574.         g.drawLine(30, 73, 570, 73); //untuk garis
  575.  
  576. //untuk datanya tabel
  577.         int n = model.getRowCount();
  578.         for (int i = 0; i < n; i++)
  579.         {
  580.           int k = i + 1;
  581.           int j = 10 * k;
  582.           y = 73 + j;
  583.  
  584.           g.setFont(new Font("Dialog", 0, 8)); //untuk buat tulisan
  585.  
  586.           String data_nim = model.getValueAt(i, 0).toString();
  587.           String data_nama = model.getValueAt(i, 1).toString();
  588.           String data_kelas = model.getValueAt(i, 2).toString();
  589.           String data_kuliah = model.getValueAt(i, 3).toString();
  590.           String data_tugas1 = model.getValueAt(i, 4).toString();
  591.           String data_tugas2 = model.getValueAt(i, 5).toString();
  592.           String data_tugas3 = model.getValueAt(i, 6).toString();
  593.           String data_tugas4 = model.getValueAt(i, 7).toString();
  594.           String data_tugas5 = model.getValueAt(i, 8).toString();
  595.           String data_uts = model.getValueAt(i, 9).toString();
  596.           String data_uas = model.getValueAt(i, 10).toString();
  597.           String data_akhir = model.getValueAt(i, 11).toString();
  598.           String data_huruf = model.getValueAt(i, 12).toString();
  599.  
  600.           g.drawString(data_nim, 30, y);
  601.           g.drawString(data_nama, 80, y);
  602.           g.drawString(data_kelas, 130, y);
  603.           g.drawString(data_kuliah, 160, y);
  604.           g.drawString(data_tugas1, 250, y);
  605.           g.drawString(data_tugas2, 290, y);
  606.           g.drawString(data_tugas3, 330, y);
  607.           g.drawString(data_tugas4, 370, y);
  608.           g.drawString(data_tugas5, 410, y);
  609.           g.drawString(data_uts, 445, y);
  610.           g.drawString(data_uas, 475, y);
  611.           g.drawString(data_akhir, 505, y);
  612.           g.drawString(data_huruf, 540, y);
  613.         }
  614.       }
  615.       print.end();
  616.       print.end();
  617. }  }  } );
  618.  
  619. //=============================== cetak kartu ========================//
  620. tblprint.addActionListener(new ActionListener()
  621. {
  622. public void actionPerformed (ActionEvent e)
  623. {
  624.  int y = 0;
  625.     Frame fr = new Frame();
  626.     PrintJob print = fr.getToolkit().getPrintJob(fr, "Prinnting", null, null);
  627.     if (print != null)
  628.     {
  629.       Graphics g = print.getGraphics();
  630.       if (g != null)
  631.       {
  632. //untuk kop (header)
  633. g.drawRect(10,10,200,320);  //untuk buat kotak
  634. g.setFont(new Font("Dialog", 1, 11));
  635. g.drawString("KARTU NILAI MAHASISWA", 40, 40);
  636. g.drawLine(10, 50, 210, 50); //untuk garis
  637.  
  638. g.drawString("NIM", 20,70);
  639. g.drawString(":", 90, 70);
  640. g.drawString(txnim.getText(), 100, 70);
  641.  
  642. g.drawString("Nama", 20,90);
  643. g.drawString(":", 90, 90);
  644. g.drawString(txnama.getText(), 100, 90);
  645.  
  646. g.drawString("Kelas", 20,110);
  647. g.drawString(":", 90, 110);
  648. if(kelasA.isSelected()==true) {
  649. g.drawString(kelasA.getText(), 100, 110);
  650. }
  651. else if(kelasB.isSelected()==true)  {
  652. g.drawString(kelasB.getText(), 100, 110);
  653. }
  654. else {
  655. g.drawString(kelasC.getText(), 100, 110);
  656. }
  657.  
  658. g.drawString("Mata Kuliah", 20,130);
  659. g.drawString(":", 90, 130);
  660. g.drawString((String)cbkul.getSelectedItem(), 100, 130);
  661.  
  662. g.drawString("Tugas 1", 20,150);
  663. g.drawString(":", 90, 150);
  664. g.drawString(txtugas1.getText(), 100, 150);
  665.  
  666. g.drawString("Tugas 2", 20,170);
  667. g.drawString(":", 90, 170);
  668. g.drawString(txtugas2.getText(), 100, 170);
  669.  
  670. g.drawString("Tugas 3", 20,190);
  671. g.drawString(":", 90, 190);
  672. g.drawString(txtugas3.getText(), 100, 190);
  673.  
  674. g.drawString("Tugas 4", 20,210);
  675. g.drawString(":", 90, 210);
  676. g.drawString(txtugas4.getText(), 100, 210);
  677.  
  678. g.drawString("Tugas 5", 20,230);
  679. g.drawString(":", 90, 230);
  680. g.drawString(txtugas5.getText(), 100, 230);
  681.  
  682. g.drawString("UTS", 20,250);
  683. g.drawString(":", 90, 250);
  684. g.drawString(txuts.getText(), 100, 250);
  685.  
  686. g.drawString("UAS", 20,270);
  687. g.drawString(":", 90, 270);
  688. g.drawString(txuas.getText(), 100, 270);
  689.  
  690. g.drawString("Nilai Akhir", 20,290);
  691. g.drawString(":", 90, 290);
  692. g.drawString(txakhir.getText(), 100, 290);
  693.  
  694. g.drawString("Nilai Huruf", 20,310);
  695. g.drawString(":", 90, 310);
  696. g.drawString(txhuruf.getText(), 100, 310);
  697.   }  }
  698.       print.end();
  699.       print.end();
  700. }  } );
  701.  
  702. //==================================================================//
  703. }  //untuk tutup void aksi reaksi
  704.  
  705. //================================ tampil tabel ===========================//
  706. void tampilTabel()
  707. {
  708. hapusTabel();//ambil data di void hapus tabel()
  709. try
  710.    {
  711. Class.forName("com.mysql.jdbc.Driver");   //untuk mendeteksi driver database
  712. Connection koneksi  = DriverManager.getConnection("jdbc:mysql://localhost/DataMahasiswa","root","root");
  713.  
  714. Statement state = koneksi.createStatement();
  715. String sql = "select * from DataNilai";
  716. ResultSet rs = state.executeQuery(sql);
  717.  
  718. while(rs.next())
  719.     {
  720.     Object obj[] = new Object[13];  //tergantung kolom tabel
  721.     obj[0] = rs.getString(1); //nim
  722.     obj[1] = rs.getString(2); //nama
  723.     obj[2] = rs.getString(3); //kelas
  724.     obj[3] = rs.getString(4); //mata kuliah
  725.     obj[4] = rs.getString(5); //tugas1
  726.     obj[5] = rs.getString(6); //tugas2
  727.     obj[6] = rs.getString(7); //tugas3
  728.     obj[7] = rs.getString(8); //tugas4
  729.     obj[8] = rs.getString(9); //tugas5
  730.     obj[9] = rs.getString(10); //uts
  731.     obj[10] = rs.getString(11); //uas
  732.     obj[11] = rs.getString(12); //nilai akhir
  733.     obj[12] = rs.getString(13); //nilai huruf
  734.     model.addRow(obj);
  735.  }  }
  736. catch(Exception ex)
  737.    {
  738. System.out.println(ex);
  739.  }  }
  740. //==========================================================//
  741. //============================== hapus Tabel ================================//
  742. void hapusTabel()
  743.   {
  744.     int row = model.getRowCount();
  745.     for (int i = 0; i < row; i++)
  746.      {
  747.       model.removeRow(0);
  748.     }  }
  749. //=================================================================//
  750.  
  751. //=========================== Reset data ===========================//
  752. void resetData ()      //untuk hapus data
  753. {
  754. txnim.setText("");
  755. txnama.setText("");
  756. cbkul.setSelectedItem(kuliah[0]);
  757. txtugas1.setText("0");
  758. txtugas2.setText("0");
  759. txtugas3.setText("0");
  760. txtugas4.setText("0");
  761. txtugas5.setText("0");
  762. txuts.setText("0");
  763. txuas.setText("0");
  764. txakhir.setText("");
  765. txhuruf.setText("");
  766. }
  767.  
  768. //=========================== Hitung Nilai ===========================//
  769. void hitungNilai()    // untuk menghitung nilai akhir
  770.    {
  771.    double ntugas1=Double.parseDouble(txtugas1.getText());
  772.    double ntugas2=Double.parseDouble(txtugas2.getText());
  773.    double ntugas3=Double.parseDouble(txtugas3.getText());
  774.    double ntugas4=Double.parseDouble(txtugas4.getText());
  775.    double ntugas5=Double.parseDouble(txtugas5.getText());
  776.  
  777.    String tugas = String.valueOf ((ntugas1 + ntugas2 + ntugas3 + ntugas4 + ntugas5)/5);
  778.    double total_tugas = 2*Double.parseDouble(tugas); //nilai tugas * 20%
  779.  
  780.    double nuts = 3*Double.parseDouble(txuts.getText());  //nilai uts * 30%
  781.    double nuas=5*Double.parseDouble(txuas.getText());    //nilai uas * 50%
  782.  
  783.    String hasil = String.valueOf (total_tugas + nuts + nuas);
  784.    txakhir.setText(hasil.substring(0,2));
  785.    }
  786.  
  787. //=========================== Konversi Huruf ===========================//
  788. void konversiHuruf()     // untuk konversi dari angka ke huruf
  789. {
  790. double dataAngka = Double.parseDouble(txakhir.getText());
  791. String NilaiAkhir ="";
  792.  
  793. if(dataAngka>90 && dataAngka<=100) {
  794. NilaiAkhir="A";
  795. }
  796.  
  797. else if(dataAngka>81 && dataAngka<=90) {
  798. NilaiAkhir="B+";
  799. }
  800.  
  801. else if(dataAngka>72 && dataAngka<=81) {
  802. NilaiAkhir="B";
  803. }
  804.  
  805. else if(dataAngka>63 && dataAngka<=72) {
  806. NilaiAkhir="C+";
  807. }
  808.  
  809. else if(dataAngka>54 && dataAngka<=63) {
  810. NilaiAkhir="C";
  811. }
  812.  
  813. else if(dataAngka>40 && dataAngka<=54) {
  814. NilaiAkhir="D";
  815. }
  816.  
  817. else
  818. {
  819. NilaiAkhir="E";
  820. }
  821. txhuruf.setText(NilaiAkhir);
  822. }
  823.  
  824.    public static void main(String args[])
  825.    {
  826.    Aplikasi_Penilaian_Mhs ap=new Aplikasi_Penilaian_Mhs();
  827.   ap.komponenVisual();
  828.   ap.AksiReaksi();
  829.  
  830.    } }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement