Advertisement
mqnoy

[JAVA] APLIKASI SURVEY DATA

Dec 12th, 2017
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 31.05 KB | None | 0 0
  1. /**
  2.  * @title aplikasi survey data mahasiswa ftmipa
  3.  * @author (KELOMPOK)
  4.  * @version (ver.1)
  5.  */
  6. import java.io.BufferedReader;
  7. import java.io.IOException;
  8. import java.io.InputStreamReader;
  9. import java.util.Scanner;
  10. import java.sql.DriverManager;
  11. import java.sql.Connection;
  12. import java.sql.Statement;
  13. import java.sql.ResultSet;
  14. import java.sql.PreparedStatement;
  15. public class AplikasiSurveymhs
  16. {
  17.     /*  DEKLARASI PUBLIC VARIABEL  */
  18.     static String text_jurusan,var_nama,raw_var_pilihan,pilihanMenu="";;
  19.     static boolean var_pilihan = true,var_pekerjaan_yn,var_loop_action1=true;
  20.     static InputStreamReader inputStreamReader = new InputStreamReader(System.in);
  21.     static BufferedReader input = new BufferedReader(inputStreamReader);
  22.     static Scanner inputan = new Scanner(System.in);
  23.     static int total_data=0;
  24.     //PARAMETER JDBC UNTUK KONEKSI DATABASE
  25.     static String JDBC_DRIVER   = "com.mysql.jdbc.Driver";                  //konektor jdbc driver
  26.     static String DB_URL        = "jdbc:mysql://localhost/db_survey_mhs";   //alamat server database
  27.     static String USER          = "root";                                   //user database
  28.     static String PASS          = "12345678";                               //password database
  29.     //ALIAS OBJECT KE VARIABEL
  30.     static Connection conn=null;
  31.     static Statement stmt=null;
  32.     static ResultSet rs=null;
  33.     //variabel untuk inputan
  34.     static String dataPekerjaan_nmperusahaan=null,dataPekerjaan_jnsperusahaan=null,dataPekerjaan_jabatan=null;
  35.     //variabel untuk query
  36.     static int rowsInserted_tb_mahasiswa;
  37.     static String sql_tb_mahasiswa_select,text_bekerja;
  38.     /* procedure start koneksi database */
  39.     static void startConnectionDB() throws IOException{
  40.         try{
  41.             Class.forName(JDBC_DRIVER);
  42.             //KONEKSI DATABASE
  43.             conn = DriverManager.getConnection(DB_URL,USER,PASS);
  44.             //objek statement
  45.             stmt = conn.createStatement();
  46.         }catch (Exception e){
  47.             e.printStackTrace();
  48.         }
  49.     }
  50.     /*fungsi get total data yang tidak bekerja*/
  51.     static int getDatapekerjaan_no() throws IOException{
  52.         int var_totBkj_no=0;
  53.         String sql_tb_mahasiswaMhstdkbekerja;        
  54.         try{
  55.             //procedure start koneksi
  56.             startConnectionDB();
  57.             sql_tb_mahasiswaMhstdkbekerja ="SELECT COUNT(*) FROM tb_mahasiswa WHERE nm_perusahaan IS NULL";
  58.             ResultSet rsMhsbekerja_no;
  59.             rsMhsbekerja_no = stmt.executeQuery(sql_tb_mahasiswaMhstdkbekerja);
  60.             while (rsMhsbekerja_no.next()){
  61.                 var_totBkj_no=rsMhsbekerja_no.getInt("COUNT(*)");
  62.             }
  63.             //closing statement and connection
  64.             stmt.close();
  65.             conn.close();
  66.         }catch (Exception e){
  67.             e.printStackTrace();
  68.         }
  69.         return var_totBkj_no;
  70.     }
  71.     /*fungsi get total data yang bekerja*/
  72.     static int getDatapekerjaan_yes() throws IOException{
  73.         int var_totBkj_yes=0;
  74.         String sql_tb_mahasiswaMhsbekerja;        
  75.         try{
  76.             //procedure start koneksi
  77.             startConnectionDB();
  78.             sql_tb_mahasiswaMhsbekerja = "SELECT COUNT(*) FROM tb_mahasiswa WHERE nm_perusahaan IS NOT NULL";
  79.             ResultSet rsMhsbekerja_yes;
  80.             rsMhsbekerja_yes = stmt.executeQuery(sql_tb_mahasiswaMhsbekerja);
  81.             while (rsMhsbekerja_yes.next()){
  82.                 var_totBkj_yes=rsMhsbekerja_yes.getInt("COUNT(*)");
  83.             }
  84.             //closing statement and connection
  85.             stmt.close();
  86.             conn.close();
  87.         }catch (Exception e){
  88.             e.printStackTrace();
  89.         }
  90.         return var_totBkj_yes;
  91.     }
  92.     /* fungsi get total data smk stm sma  berdasarkan tahun */
  93.     static int getDataTahun(int var_tahun,String var_pendidikan) throws IOException{
  94.         int var_totTahun=0;
  95.         String sql_tb_mahasiswa_thn;
  96.         try{
  97.             //procedure start koneksi
  98.             startConnectionDB();
  99.             String clearPevar = var_pendidikan.trim();
  100.             sql_tb_mahasiswa_thn = "SELECT COUNT(*) FROM tb_mahasiswa WHERE mhs_angkatan="+var_tahun+" AND type_sekolah="+"'"+clearPevar+"'";
  101.             ResultSet rsMhsTotal_thn;
  102.             rsMhsTotal_thn = stmt.executeQuery(sql_tb_mahasiswa_thn);
  103.             while (rsMhsTotal_thn.next()){
  104.                 var_totTahun=rsMhsTotal_thn.getInt("COUNT(*)");
  105.             }
  106.             //closing statement and connection
  107.             stmt.close();
  108.             conn.close();
  109.         }catch (Exception e){
  110.             e.printStackTrace();
  111.         }
  112.         return var_totTahun;
  113.     }
  114.     /*
  115.      * procedure untuk summary statistik dan konversi total data menjadi persentase
  116.      * limitasi perhitungan tahun dari angkatan ke 2000 sampai 2018
  117.        */
  118.     static void statistikData() throws IOException{
  119.         try{
  120.             int totalData = getTotalData(), thn_awal = 2000 , thn_skrg = 2018, counter=0,totDatabkj_no=0,totDatabkj_yes=0;
  121.             int thnnya_smk=0,thnnya_sma=0,thnnya_stm=0,totalData_smk=0,totalData_stm=0,totalData_sma=0,totalData_1=0;
  122.             int persenDt_totDt=0,persenDt_smk=0,persenDt_sma=0,persenDt_stm=0,persenDt_Ybkj=0,persenDt_Nbkj=0;
  123.             int selisih = thn_skrg-thn_awal;
  124.             String type_skolah="";
  125.             int[] thn_angkatanMhs = new int[selisih];
  126.             if(totalData==0){
  127.                 System.out.println("Belum ada data");
  128.             }else{
  129.                 persenDt_totDt = (totalData/totalData)*100;
  130.                 totDatabkj_no=getDatapekerjaan_no();
  131.                 totDatabkj_yes=getDatapekerjaan_yes();
  132.                 persenDt_Ybkj=(totDatabkj_yes*100)/totalData;
  133.                 persenDt_Nbkj=(totDatabkj_no*100)/totalData;
  134.                 System.out.println("");
  135.                 System.out.println("");
  136.                 System.out.println("=====================================================");
  137.                 System.out.println("|                         SUMMARY                   |");
  138.                 System.out.println("=====================================================");
  139.                 System.out.println("total data: "+totalData);
  140.                 System.out.println();
  141.                 System.out.println("+------------------- PEKERJA -------------------+");
  142.                 System.out.println("+----------------------+------------------------+");
  143.                 System.out.println("|       bekerja        |      tidak bekerja     |");
  144.                 System.out.println("|      "+persenDt_Ybkj+"%"+"             |      "+persenDt_Nbkj+"%"+"               |");
  145.                 System.out.println("+-----------------------------------------------+");
  146.                 System.out.println();
  147.                 System.out.println("+------------------- Total %data -------------------+");
  148.                 System.out.println("");
  149.                 while (true){              
  150.                     if(getDataTahun(thn_awal,"smk")>0){
  151.                         type_skolah="smk";
  152.                         thnnya_smk=thn_awal;
  153.                         totalData_smk=getDataTahun(thn_awal,"smk");
  154.                         persenDt_smk=(totalData_smk*100)/totalData;
  155.                         System.out.println("tahun : "+thnnya_smk+"\n%total data smk : "+persenDt_smk+"%");
  156.                     }
  157.                     if(getDataTahun(thn_awal,"stm")>0){
  158.                         type_skolah="stm";
  159.                         thnnya_stm=thn_awal;
  160.                         totalData_stm=getDataTahun(thn_awal,"stm");
  161.                         persenDt_stm=(totalData_stm*100)/totalData;
  162.                         System.out.println("tahun : "+thnnya_stm+"\n%total data stm : "+persenDt_stm+"%");
  163.                     }
  164.                     if(getDataTahun(thn_awal,"sma")>0){
  165.                         thnnya_sma=thn_awal;
  166.                         type_skolah="sma";
  167.                         totalData_sma=getDataTahun(thn_awal,"sma");
  168.                         persenDt_sma=(totalData_sma*100)/totalData;
  169.                         System.out.println("tahun : "+thnnya_sma+"\n%total data sma : "+persenDt_sma+"%");
  170.                     }
  171.                     if (counter==selisih){
  172.                         break; //for stop while above
  173.                     }
  174.                     thn_awal++;
  175.                     counter=counter+1;
  176.                 }
  177.                 System.out.println("");
  178.                 System.out.println("+---------------------------------------------------+");        
  179.             }
  180.         }catch (Exception e){
  181.             e.printStackTrace();
  182.         }  
  183.        
  184.     }
  185.     /*
  186.      *  CASE OF FTMIPA
  187.      *  ARSITEKTUR 201745100086
  188.      *  TEKNIK INDUSTRI 201744100820
  189.      *  INFORMATIKA 201743170054
  190.      *  PEND FISIKA 201742100001
  191.      *  PEND BIOLOGI 201741100113
  192.      *  PEND MATEMATIKA 201713100576
  193.        */
  194.     static String getNamajurusan(String raw_var_jurusan){
  195.         String text_jurusan="";
  196.         if (raw_var_jurusan.equals("41")){
  197.             text_jurusan = "PEND BIOLOGI";
  198.         }else if (raw_var_jurusan.equals("42")){
  199.             text_jurusan = "PEND FISIKA";
  200.         }else if (raw_var_jurusan.equals("43")){
  201.             text_jurusan = "TEKNIK INFORMATIKA";
  202.         }else if (raw_var_jurusan.equals("44")){
  203.             text_jurusan = "TEKNIK INDUSTRI";
  204.         }else if (raw_var_jurusan.equals("45")){
  205.             text_jurusan = "ARSITEKTUR";
  206.         }else if (raw_var_jurusan.equals("13")){
  207.             text_jurusan = "PEND MATEMATIKA";
  208.         }
  209.         return text_jurusan;      
  210.     }
  211.     /*
  212.      * PROCEDURE UNTUK TAMPILKAN SEMUA DATA
  213.        */
  214.     static void showAllData(int raw_var_limit){
  215.         int no=1;
  216.         try{                
  217.             //procedure start koneksi
  218.             startConnectionDB();
  219.             //query untuk show all data
  220.             sql_tb_mahasiswa_select = "SELECT * from tb_mahasiswa LIMIT "+raw_var_limit;
  221.             //eksekusi query ; rows di simpan di objek resultset aka rs
  222.             rs = stmt.executeQuery(sql_tb_mahasiswa_select);
  223.             System.out.println("Total data : "+getTotalData());              
  224.             System.out.println("");
  225.             System.out.println("--------------------- DATA MAHASISWA ---------------------------");
  226.             System.out.println("+----+--------------+------------------------+-------------+-----------+");
  227.             System.out.println("| No |      Npm     |        jurusan         |   Lulusan   |   Bekerja |");
  228.             System.out.println("+----+--------------+------------------------+-------------+-----------+");
  229.             while (rs.next()){
  230.                 if(rs.getString("nm_perusahaan")==null){
  231.                     text_bekerja="tidak bekerja";
  232.                 }else{
  233.                     text_bekerja=rs.getString("nm_perusahaan");
  234.                 }
  235.                 System.out.println(
  236.                     "| "+no+" "
  237.                     +"| "+rs.getString("mhs_npm")+""
  238.                     +"| "+getNamajurusan(rs.getString("mhs_jurusan"))+"     "
  239.                     +"| "+rs.getString("nm_sekolah")+""
  240.                     +"| "+text_bekerja
  241.                     +" |"          
  242.                 );
  243.                 no=no+1;
  244.             }
  245.             System.out.println("+----+--------------+------------------------+-------------+-----------+");
  246.             //closing statement and connection
  247.             stmt.close();
  248.             conn.close();  
  249.             System.out.println("");
  250.             do{
  251.                 System.out.println("[e]edit | [r]delete | [d]detail | [c]cancel");
  252.                 System.out.print("action (e/r/d/c) : ");
  253.                 String action_1 = input.readLine().toLowerCase();;
  254.                 if(action_1.equals("e")){                      
  255.                     System.out.print("Please enter npm : ");
  256.                     String action_detail_e = input.readLine();
  257.                     System.out.println("[1]Data diri \n[2]Data Pendidikan \n[3]Data Pekerjaan");
  258.                     System.out.print("Please enter option (1/2/3) : ");
  259.                     String action_detail_eo = input.readLine();
  260.                     int what_edit = Integer.parseInt(action_detail_eo);
  261.                     editData(action_detail_e,what_edit);
  262.                 }else if(action_1.equals("r")){
  263.                     System.out.print("Please enter npm : ");
  264.                     String action_detail_r = input.readLine();
  265.                     deleteData(action_detail_r);
  266.                 }else if(action_1.equals("d")){
  267.                     System.out.print("Please enter npm : ");
  268.                     String action_detail = input.readLine();                      
  269.                     detailData(action_detail);
  270.                 }else if(action_1.equals("c")){
  271.                     var_loop_action1=false;
  272.                 }else{
  273.                     System.out.println("no action !");
  274.                 }
  275.                 System.out.print("try again ? : (y/n)");
  276.                 String action_2 = input.readLine().toLowerCase();;
  277.                 if(action_2.equals("y")){
  278.                     var_loop_action1=true;
  279.                 }else if(action_2.equals("n")){
  280.                     var_loop_action1=false;
  281.                 }else{
  282.                     System.out.println("option not available  ...");
  283.                 }
  284.             }while(var_loop_action1);
  285.             System.out.println("");
  286.         }catch (Exception e){
  287.             e.printStackTrace();
  288.         }  
  289.     }
  290.     /*
  291.      * PROCEDURE UNTUK INPUT DATA
  292.      * .trim() -> untuk menghapus whitespace dari inputan data
  293.        */
  294.     static void inserData() throws IOException{
  295.         String sql_tb_mahasiswa_insert;
  296.         boolean yakin=true;
  297.         try{
  298.             do{
  299.                 System.out.print("Npm :      ");
  300.                 String i_npmData = input.readLine().trim();
  301.                 long npmData = Long.parseLong(i_npmData);  
  302.                 System.out.print("Nama :      ");
  303.                 String dataNama = input.readLine().trim();
  304.                 System.out.println("");
  305.                 System.out.println("-----------DATA PENDIDIKAN --------");
  306.                 System.out.print("Nama Sekolah :      ");
  307.                 String dataSekolahnama = input.readLine().trim();
  308.                 System.out.print("Swasta/Negri :      ");
  309.                 String dataSekolahjenis = input.readLine().trim();
  310.                 System.out.print("Jurusan Sekolah :      ");
  311.                 String dataSekolahjurusan = input.readLine().trim();
  312.                 System.out.print("Bekerja (yes/no)  :      ");
  313.                 String dataPekerjaan = input.readLine().toLowerCase();;
  314.    
  315.                 if (dataPekerjaan.equals("yes") || dataPekerjaan.equals("y")){//yes or y
  316.                     var_pekerjaan_yn=true;
  317.                     System.out.println("");
  318.                     System.out.println("-----------DATA PEKERJAAN --------");
  319.                     System.out.print("Jenis perusahaan (PT/CV/etc)  :      ");
  320.                     String dataPekerjaan_jnsperusahaan = input.readLine().trim();
  321.                     System.out.print("Nama perusahaan   :      ");
  322.                     dataPekerjaan_nmperusahaan = input.readLine().trim();
  323.                     System.out.print("Jabatan  :      ");
  324.                     dataPekerjaan_jabatan = input.readLine().trim();
  325.    
  326.                 }else if(dataPekerjaan.equals("no") || dataPekerjaan.equals("n")){//no or n
  327.                     var_pekerjaan_yn=false;
  328.                     System.out.println("");
  329.                     System.out.println("");
  330.    
  331.                 }              
  332.                 System.out.print("Input correct (yes/no)  :     ");
  333.                 String var_yakin = input.readLine().toLowerCase();;
  334.                 if(var_yakin.equals("no") || var_yakin.equals("n")){
  335.                     yakin=true;
  336.                 }else if(var_yakin.equals("yes") || var_yakin.equals("y")){
  337.                     /* ex:  20164350xxxx
  338.                      * substring untuk mendapatkan angkatan dan jurusan
  339.                      * substring untuk mendapatkan type sekolah
  340.                      */
  341.                     String dataSekolahtype = dataSekolahnama.substring(0,3);
  342.                     String raw_npm = Long.toString(npmData); //parsing long to string
  343.                     String raw_jurusan = raw_npm.substring(4,6);            
  344.                     String raw_thn_angkatan = raw_npm.substring(0,4);  
  345.                     // System.out.println("text sekolah  = "+dataSekolahtype);
  346.                     // System.out.println("raw jurusan  = "+raw_jurusan);        
  347.                     if (var_pekerjaan_yn==false){
  348.                         //value  = null on database identified is null aka no value
  349.                         dataPekerjaan_nmperusahaan=null;
  350.                         dataPekerjaan_jnsperusahaan=null;
  351.                         dataPekerjaan_jabatan=null;
  352.                     }                    
  353.                     //procedure start koneksi
  354.                     startConnectionDB();        
  355.                     //query insert data
  356.                     sql_tb_mahasiswa_insert="INSERT INTO tb_mahasiswa (mhs_npm,mhs_nama,mhs_jurusan,mhs_angkatan,nm_perusahaan,jenis_perusahaan,jabatan,nm_sekolah,jenis_sekolah,jurusan_sekolah,type_sekolah)"+ "VALUES (?,?,?,?,?,?,?,?,?,?,?)";        
  357.                     //untuk query insert tb_mahasiswa
  358.                     PreparedStatement statement_tb_mahasiswa_insert = conn.prepareStatement(sql_tb_mahasiswa_insert);
  359.                     statement_tb_mahasiswa_insert.setString(1, raw_npm);
  360.                     statement_tb_mahasiswa_insert.setString(2, dataNama);
  361.                     statement_tb_mahasiswa_insert.setString(3, raw_jurusan);
  362.                     statement_tb_mahasiswa_insert.setString(4, raw_thn_angkatan);
  363.                     statement_tb_mahasiswa_insert.setString(5, dataPekerjaan_nmperusahaan);
  364.                     statement_tb_mahasiswa_insert.setString(6, dataPekerjaan_jnsperusahaan);
  365.                     statement_tb_mahasiswa_insert.setString(7, dataPekerjaan_jabatan);
  366.                     statement_tb_mahasiswa_insert.setString(8, dataSekolahnama);
  367.                     statement_tb_mahasiswa_insert.setString(9, dataSekolahjenis);
  368.                     statement_tb_mahasiswa_insert.setString(10, dataSekolahjurusan);
  369.                     statement_tb_mahasiswa_insert.setString(11, dataSekolahtype);
  370.                     //execute query insert tb_mahasisaw
  371.                     rowsInserted_tb_mahasiswa = statement_tb_mahasiswa_insert.executeUpdate();
  372.                     if (rowsInserted_tb_mahasiswa > 0) {
  373.                         System.out.println("new data was inserted successfully!");  
  374.                     }else {
  375.                         System.out.println("new data insert failed!");
  376.                     }        
  377.                     //closing statement and connection
  378.                     stmt.close();
  379.                     conn.close();
  380.                     yakin=false;
  381.                 }else{
  382.                     System.out.println("no option !");
  383.                 }
  384.             }while(yakin);
  385.         }catch (Exception e){
  386.             e.printStackTrace();
  387.         }
  388.     }
  389.    /*
  390.     * PROCEDURE UNTUK EDIT 1 DATA      
  391.       */
  392.     static void editData(String var_npm_Fdetail,int var_what_edit)throws IOException{
  393.         if (var_what_edit==1){//edit data diri
  394.             try{
  395.                 //procedure start koneksi
  396.                 startConnectionDB();
  397.                 System.out.print("Nama :     ");
  398.                 String dataNama = input.readLine().trim();
  399.                 String sql_tb_mahasiswa_update= "UPDATE tb_mahasiswa SET mhs_nama =? WHERE mhs_npm="+var_npm_Fdetail;
  400.                 PreparedStatement statement_tb_mahasiswa_update = conn.prepareStatement(sql_tb_mahasiswa_update);
  401.                 statement_tb_mahasiswa_update.setString(1, dataNama);
  402.                 rowsInserted_tb_mahasiswa = statement_tb_mahasiswa_update.executeUpdate();
  403.                     if (rowsInserted_tb_mahasiswa > 0) {
  404.                         System.out.println("Nama updated successfully!");  
  405.                     }else {
  406.                         System.out.println("Nama update failed!");
  407.          
  408.                     }        
  409.                     //closing statement and connection
  410.                     stmt.close();
  411.                     conn.close();
  412.             }catch (Exception e){
  413.                 e.printStackTrace();
  414.             }
  415.         }else if(var_what_edit==2){//edit data pendidikan
  416.             try{
  417.                 //procedure start koneksi
  418.                 startConnectionDB();
  419.                 System.out.println("");
  420.                 System.out.println("-----------DATA PENDIDIKAN --------");
  421.                 System.out.print("Nama Sekolah :     ");
  422.                 String dataSekolahnama = input.readLine().trim();
  423.                 System.out.print("Swasta/Negri :     ");
  424.                 String dataSekolahjenis = input.readLine().trim();
  425.                 System.out.print("Jurusan Sekolah :     ");
  426.                 String dataSekolahjurusan = input.readLine().trim();
  427.                 String dataSekolahtype = dataSekolahnama.substring(0,3);
  428.                
  429.                 String sql_tb_mahasiswa_update= "UPDATE tb_mahasiswa SET nm_sekolah =?,jenis_sekolah=?,jurusan_sekolah=? ,type_sekolah=? WHERE mhs_npm="+var_npm_Fdetail;
  430.                 PreparedStatement statement_tb_mahasiswa_update = conn.prepareStatement(sql_tb_mahasiswa_update);
  431.                 statement_tb_mahasiswa_update.setString(1, dataSekolahnama);
  432.                 statement_tb_mahasiswa_update.setString(2, dataSekolahjenis);
  433.                 statement_tb_mahasiswa_update.setString(3, dataSekolahjurusan);
  434.                 statement_tb_mahasiswa_update.setString(4, dataSekolahtype);
  435.                 rowsInserted_tb_mahasiswa = statement_tb_mahasiswa_update.executeUpdate();
  436.                     if (rowsInserted_tb_mahasiswa > 0) {
  437.                         System.out.println("Pendidikan updated successfully!");  
  438.                     }else {
  439.                         System.out.println("Pendidikan update failed!");
  440.          
  441.                     }        
  442.                     //closing statement and connection
  443.                     stmt.close();
  444.                     conn.close();
  445.             }catch (Exception e){
  446.                 e.printStackTrace();
  447.             }
  448.         }else if(var_what_edit==3){//edit data pekerjaan
  449.             try{
  450.                 //procedure start koneksi
  451.                 startConnectionDB();
  452.                 System.out.println("");
  453.                 System.out.println("-----------DATA PEKERJAAN --------");
  454.                 System.out.print("Jenis perusahaan (PT/CV/etc)  :     ");
  455.                 String dataPekerjaan_jnsperusahaan = input.readLine().trim();
  456.                 System.out.print("Nama perusahaan )  :     ");
  457.                 dataPekerjaan_nmperusahaan = input.readLine().trim();
  458.                 System.out.print("Jabatan  :     ");
  459.                 dataPekerjaan_jabatan = input.readLine().trim();
  460.                 String sql_tb_mahasiswa_update= "UPDATE tb_mahasiswa SET jenis_perusahaan =?,nm_perusahaan=?,jabatan=? WHERE mhs_npm="+var_npm_Fdetail;
  461.                 PreparedStatement statement_tb_mahasiswa_update = conn.prepareStatement(sql_tb_mahasiswa_update);
  462.                 statement_tb_mahasiswa_update.setString(1, dataPekerjaan_jnsperusahaan);
  463.                 statement_tb_mahasiswa_update.setString(2, dataPekerjaan_nmperusahaan);
  464.                 statement_tb_mahasiswa_update.setString(3, dataPekerjaan_jabatan);
  465.                 rowsInserted_tb_mahasiswa = statement_tb_mahasiswa_update.executeUpdate();
  466.                     if (rowsInserted_tb_mahasiswa > 0) {
  467.                         System.out.println("Pekerjaan updated successfully!");  
  468.                     }else {
  469.                         System.out.println("Pekerjaan update failed!");
  470.                     }        
  471.                     //closing statement and connection
  472.                     stmt.close();
  473.                     conn.close();
  474.             }catch (Exception e){
  475.                 e.printStackTrace();
  476.             }
  477.         }else{
  478.             System.out.println("no option for update !");
  479.         }
  480.     }
  481.   /*
  482.    * PROCEDURE UNTUK DELETE 1 DATA
  483.      */
  484.     static void deleteData(String var_npm_Fdetail) throws IOException{
  485.         String sql_tb_mahasiswa_delete;
  486.         int rowsDeleted_tb_mahasiswa;
  487.         try{
  488.             //procedure start koneksi
  489.             startConnectionDB();
  490.             sql_tb_mahasiswa_delete = "DELETE FROM tb_mahasiswa WHERE mhs_npm= ?";
  491.             PreparedStatement statement_tb_mahasiswa_delete = conn.prepareStatement(sql_tb_mahasiswa_delete);
  492.             statement_tb_mahasiswa_delete.setString(1, var_npm_Fdetail);
  493.             //execute query delete tb_mahasisaw
  494.             rowsDeleted_tb_mahasiswa = statement_tb_mahasiswa_delete.executeUpdate();
  495.             if (rowsDeleted_tb_mahasiswa > 0) {
  496.                 System.out.println("delete data successfully!");  
  497.             }else {
  498.                 System.out.println("delete data failed!");
  499.             }
  500.             //closing statement and connection
  501.             stmt.close();
  502.             conn.close();
  503.         }catch (Exception e){      
  504.             e.printStackTrace();
  505.         }
  506.     }
  507.     /*
  508.      * FUNGSI mengetahui total data yang ada di database
  509.        */
  510.     static int  getTotalData() throws IOException{
  511.         int var_total_data=0;
  512.         String sql_tb_mahasiswa_select_total;
  513.         try{
  514.             //procedure start koneksi
  515.             startConnectionDB();
  516.             sql_tb_mahasiswa_select_total = "SELECT COUNT(*) FROM tb_mahasiswa";
  517.             ResultSet rs_mhsTotal ;
  518.             rs_mhsTotal = stmt.executeQuery(sql_tb_mahasiswa_select_total);
  519.             while (rs_mhsTotal.next()){
  520.                 var_total_data=rs_mhsTotal.getInt("COUNT(*)");
  521.             }
  522.             //closing statement and connection
  523.             stmt.close();
  524.             conn.close();
  525.         }catch (Exception e){
  526.             e.printStackTrace();
  527.         }
  528.         return var_total_data;
  529.     }
  530.     /*
  531.      * PROCEDURE UNTUK DETAIL 1 DATA
  532.        */
  533.     static void detailData(String var_npm_Fdetail) throws IOException{
  534.         String sql_tb_mahasiswa_select1row;
  535.         try{
  536.             //procedure start koneksi
  537.             startConnectionDB();
  538.             //query untuk show all data
  539.             sql_tb_mahasiswa_select1row = "SELECT * from tb_mahasiswa WHERE mhs_npm= "+var_npm_Fdetail;
  540.             //eksekusi query ; rows di simpan di objek resultset aka rs
  541.             rs = stmt.executeQuery(sql_tb_mahasiswa_select1row);
  542.             if(rs.next()==true){
  543.                 if(rs.getString("nm_perusahaan")==null){
  544.                     text_bekerja="tidak bekerja";
  545.                 }else{
  546.                     text_bekerja=rs.getString("nm_perusahaan");
  547.                 }
  548.                 System.out.println("");
  549.                 System.out.println("------------------- DATA "+var_npm_Fdetail+" ----------------");
  550.                 System.out.print("nama mhs       ");System.out.println(": "+rs.getString("mhs_nama")+"");
  551.                 System.out.print("jurusan        ");System.out.println(": "+rs.getString("jurusan_sekolah")+"");
  552.                 System.out.print("bekerja        ");System.out.println(": "+text_bekerja+"");
  553.                 System.out.print("lulusan        ");System.out.println(": "+rs.getString("nm_sekolah")+"");
  554.                 System.out.println("");
  555.                 System.out.println("------------------------------------------------------");
  556.                 System.out.println("");
  557.             }else{
  558.                 System.out.println("npm data not found !");
  559.             }
  560.             //closing statement and connection
  561.             stmt.close();
  562.             conn.close();
  563.         }catch (Exception e){
  564.             e.printStackTrace();
  565.         }
  566.     }
  567.     /*
  568.      * PROCEDURE UNTUK TAMPIL MENU
  569.        */
  570.     public static void showMenu() throws IOException{
  571.         try{
  572.             do{
  573.                 System.out.println("===================================");
  574.                 System.out.println("|               MENU              |");
  575.                 System.out.println("===================================");
  576.                 System.out.print("| ");System.out.print("[1] Show all data(detail)       ");System.out.println("|");
  577.                 System.out.print("| ");System.out.print("[2] Input new data              ");System.out.println("|");
  578.                 System.out.print("| ");System.out.print("[3] Statistics summary          ");System.out.println("|");
  579.                 System.out.print("| ");System.out.print("[4] cancel or exit              ");System.out.println("|");
  580.                 System.out.println("===================================");
  581.                 System.out.print("| ");System.out.print("Select one (1/2/3) :");pilihanMenu= input.readLine();
  582.                 System.out.println("===================================");
  583.                 int pil = Integer.parseInt(pilihanMenu);
  584.                 switch (pil){
  585.                     case 1://untuk melihat smua data
  586.                     System.out.println("");
  587.                     System.out.print("Please give limit data (*)number format = ");
  588.                     String i_raw_var_limit= input.readLine();
  589.                     int raw_var_limit = Integer.parseInt(i_raw_var_limit);
  590.                     showAllData(raw_var_limit);    
  591.                     break;
  592.                     case 2://untuk input 1 data
  593.                     inserData();
  594.                     break;
  595.                     case 3://untuk sumarry statistic data
  596.                     statistikData();
  597.                     break;
  598.                     case 4://untuk exit
  599.                     System.out.println(" exit ...");
  600.                     System.exit(0);
  601.                     break;
  602.                     default :
  603.                     System.out.println("menu not found !");
  604.                     break;
  605.                 }  
  606.                 System.out.println("");
  607.                 System.out.println("");
  608.                 System.out.print("BACK TO MAIN MENU (y/n) ? ");
  609.                 String var_pilihan_1 = input.readLine().toLowerCase();
  610.                 if (var_pilihan_1.equals("y")){
  611.                     var_pilihan=true;
  612.                 }else if (var_pilihan_1.equals("n")){
  613.                     System.out.println("exit ! .... ");
  614.                     var_pilihan=false;
  615.                     System.exit(0);
  616.                 }else{
  617.                     System.out.println("option not available , exit ...");
  618.                     System.exit(0);
  619.                 }
  620.             } while (var_pilihan);
  621.         }catch (IOException e){
  622.             System.err.println(e.getMessage());
  623.         }
  624.     }
  625.     public static void main (String[] args){
  626.         try{
  627.             System.out.println("--------------------------------------------------------");
  628.             System.out.println("|    APLIKASI SURVEY DATA STATISTIK MAHASISWA  FTMIPA  |");
  629.             System.out.println("--------------------------------------------------------");
  630.             //tampilan menu awal
  631.             showMenu();
  632.         }catch (Exception e){
  633.             System.err.println(e.getMessage());
  634.         }
  635.     }      
  636. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement