Selasa, 09 Mei 2017

Program Sederhana Pemesanan Tiket Pesawat

Assalamu'alaikum wr. wb.

Pada kesempatan saya kali ini saya membuat program Java Swing (GUI) sederhana yaitu "Pemesanan Tiket Pesawat". Program ini dibuat selain untuk memenuhi tugas Algoritma Pemrograman ,program ini dibuat untuk mempermudah dalam memesan tiket pesawat domestik.

Saya juga memakai JOptionPane untuk tampilan tambahan dan ada 1 PopUp menu yang saya gunakan yaitu Refresh untuk mengosongkan frame dan kembali seperti semula.

Seperti inilah tampilan run file-nya :




Langsung saja kita ke pembahasan.di program saya kali ini saya menggunakan 2 tipe variabel dan beberapa method. ini lah Screenshot nya :



Pada Combo Box Nomor Penerbangan ini lah model nya :

01-JB-001
02-BS-002
03-SP-003
04-PJ-004
05-JL-005

Pada Combo Box Tanggal Keberangkatan ini lah model nya 



tanggal : 1 sampai 31
bulan : Januari hingga Desember
tahun : 2010 sampai 2020
tanggal2 : 1 sampai 31
bulan2 : Januari hingga Desember
tahun2 : 2017 sampai 2030

lalu ini lah kode untuk masing masing method() :

public void NomorPenerbangan(){
        if (noPenerbangan.getSelectedItem().equals("Pilih")){
            dari.setText("");
            ke.setText("");
            }
        if (noPenerbangan.getSelectedItem().equals("01-JB-001")){
            dari.setText("Jakarta");
            ke.setText("Bandung");
        }
        if (noPenerbangan.getSelectedItem().equals("02-BS-002")){
            dari.setText("Bandung");
            ke.setText("Surabaya");
        }
        if (noPenerbangan.getSelectedItem().equals("03-SP-003")){
            dari.setText("Surabaya");
            ke.setText("Palembang");
        }
        if (noPenerbangan.getSelectedItem().equals("04-PJ-004")){
            dari.setText("Palembang");
            ke.setText("Jayapura");
        }
        if (noPenerbangan.getSelectedItem().equals("05-JL-005")){
            dari.setText("Jayapura");
            ke.setText("Lombok");
        }
    }

public void Kelas(){
        if (bisnis.isSelected()){
            if (noPenerbangan.getSelectedItem().equals("Pilih")){
                harga.setText("0");
            }
            if (noPenerbangan.getSelectedItem().equals("01-JB-001")){
                harga.setText("500000");
            }
            if (noPenerbangan.getSelectedItem().equals("02-BS-002")){
                harga.setText("700000");
            }
            if (noPenerbangan.getSelectedItem().equals("03-SP-003")){
                harga.setText("1000000");
            }
            if (noPenerbangan.getSelectedItem().equals("04-PJ-004")){
                harga.setText("2000000");
            }
            if (noPenerbangan.getSelectedItem().equals("05-JL-005")){
                harga.setText("1500000");
            }
        }
       
        if (ekonomi.isSelected()){
            if (noPenerbangan.getSelectedItem().equals("Pilih")){
                harga.setText("0");
            }
            if (noPenerbangan.getSelectedItem().equals("01-JB-001")){
                harga.setText("350000");
            }
            if (noPenerbangan.getSelectedItem().equals("02-BS-002")){
                harga.setText("600000");
            }
            if (noPenerbangan.getSelectedItem().equals("03-SP-003")){
                harga.setText("800000");
            }
            if (noPenerbangan.getSelectedItem().equals("04-PJ-004")){
                harga.setText("1700000");
            }
            if (noPenerbangan.getSelectedItem().equals("05-JL-005")){
                harga.setText("1200000");
            }
        }
    }

public void Hitung(){
        if(harga.getText().equals("")){
            JOptionPane.showMessageDialog(null,"Pilih Kelas Penerbangan", "Error" ,JOptionPane.ERROR_MESSAGE);
            totalHarga.setText("");
        }if(jumlah.getText().equals("")){
            JOptionPane.showMessageDialog(null,"Masukkan Jumlah Tiket", "Error" ,JOptionPane.ERROR_MESSAGE);
            totalHarga.setText("");
        }else{
        e=Integer.parseInt(harga.getText());
        f=Integer.parseInt(jumlah.getText());
        g=e*f;
        totalHarga.setText(""+g);
        }
    }

public void Diskon(){
        if(diskon.isSelected()){
            i=g/20;
            j=g-i;
            totalHarga.setText(""+j);
        }else{
            totalHarga.setText(""+g);
        }
    }

public void Cetak(){
    h=JOptionPane.showConfirmDialog(null, "Cetak tiket?", "Cetak", JOptionPane.YES_NO_OPTION ,JOptionPane.QUESTION_MESSAGE);
        if (h==JOptionPane.YES_OPTION){
      if (noPenerbangan.getSelectedItem()=="Pilih"){
         nomor="";
     }else if(noPenerbangan.getSelectedItem()=="01-JB-001"){
         nomor="01-JB-001";
     }else if(noPenerbangan.getSelectedItem()=="02-BS-002"){
         nomor="02-BS-002";
     }else if(noPenerbangan.getSelectedItem()=="03-SP-003"){
         nomor="03-SP-003";
     }else if(noPenerbangan.getSelectedItem()=="04-PJ-004"){
         nomor="04-PJ-004";
     }else if(noPenerbangan.getSelectedItem()=="05-JL-005"){
         nomor="05-JL-005";
     }
                    if (tanggal.getSelectedItem().equals("Pilih")){
                        t1="";
                    }else if (tanggal.getSelectedItem().equals("1")){
                        t1="1";
                    }else if (tanggal.getSelectedItem().equals("2")){
                        t1="2";
                    }else if (tanggal.getSelectedItem().equals("3")){
                        t1="3";
                    }else if (tanggal.getSelectedItem().equals("4")){
                        t1="4";
                    }else if (tanggal.getSelectedItem().equals("5")){
                        t1="5";
                    }else if (tanggal.getSelectedItem().equals("6")){
                        t1="6";
                    }else if (tanggal.getSelectedItem().equals("7")){
                        t1="7";
                    }else if (tanggal.getSelectedItem().equals("8")){
                        t1="8";
                    }else if (tanggal.getSelectedItem().equals("9")){
                        t1="9";
                    }else if (tanggal.getSelectedItem().equals("10")){
                        t1="10";
                    }else if (tanggal.getSelectedItem().equals("11")){
                        t1="11";
                    }else if (tanggal.getSelectedItem().equals("12")){
                        t1="12";
                    }else if (tanggal.getSelectedItem().equals("13")){
                        t1="13";
                    }else if (tanggal.getSelectedItem().equals("14")){
                        t1="14";
                    }else if (tanggal.getSelectedItem().equals("15")){
                        t1="15";
                    }else if (tanggal.getSelectedItem().equals("16")){
                        t1="16";
                    }else if (tanggal.getSelectedItem().equals("17")){
                        t1="17";
                    }else if (tanggal.getSelectedItem().equals("18")){
                        t1="18";
                    }else if (tanggal.getSelectedItem().equals("19")){
                        t1="19";
                    }else if (tanggal.getSelectedItem().equals("20")){
                        t1="20";
                    }else if (tanggal.getSelectedItem().equals("21")){
                        t1="21";
                    }else if (tanggal.getSelectedItem().equals("22")){
                        t1="22";
                    }else if (tanggal.getSelectedItem().equals("23")){
                        t1="23";
                    }else if (tanggal.getSelectedItem().equals("24")){
                        t1="24";
                    }else if (tanggal.getSelectedItem().equals("25")){
                        t1="25";
                    }else if (tanggal.getSelectedItem().equals("26")){
                        t1="26";
                    }else if (tanggal.getSelectedItem().equals("27")){
                        t1="27";
                    }else if (tanggal.getSelectedItem().equals("28")){
                        t1="28";
                    }else if (tanggal.getSelectedItem().equals("29")){
                        t1="29";
                    }else if (tanggal.getSelectedItem().equals("30")){
                        t1="30";
                    }else if (tanggal.getSelectedItem().equals("31")){
                        t1="31";
                    }
                    if (bulan.getSelectedItem().equals("Pilih")){
                        b1="";
                    }else if(bulan.getSelectedItem().equals("Januari")){
                        b1="Januari";
                    }else if(bulan.getSelectedItem().equals("Februari")){
                        b1="Februari";
                    }else if(bulan.getSelectedItem().equals("Maret")){
                        b1="Maret";
                    }else if(bulan.getSelectedItem().equals("April")){
                        b1="April";
                    }else if(bulan.getSelectedItem().equals("Mei")){
                        b1="Mei";
                    }else if(bulan.getSelectedItem().equals("Juni")){
                        b1="Juni";
                    }else if(bulan.getSelectedItem().equals("Juli")){
                        b1="Juli";
                    }else if(bulan.getSelectedItem().equals("Agustus")){
                        b1="Agustus";
                    }else if(bulan.getSelectedItem().equals("September")){
                        b1="September";
                    }else if(bulan.getSelectedItem().equals("Oktober")){
                        b1="Oktober";
                    }else if(bulan.getSelectedItem().equals("November")){
                        b1="November";
                    }else if(bulan.getSelectedItem().equals("Desember")){
                        b1="Desember";
                    }
                        if (tahun.getSelectedItem().equals("Pilih")){
                        T1="";
                    }else if (tahun.getSelectedItem().equals("2020")){
                        T1="2020";
                    }else if (tahun.getSelectedItem().equals("2019")){
                        T1="2019";
                    }else if (tahun.getSelectedItem().equals("2018")){
                        T1="2018";
                    }else if (tahun.getSelectedItem().equals("2017")){
                        T1="2017";
                    }else if (tahun.getSelectedItem().equals("2016")){
                        T1="2016";
                    }else if (tahun.getSelectedItem().equals("2015")){
                        T1="2015";
                    }else if (tahun.getSelectedItem().equals("2014")){
                        T1="2014";
                    }else if (tahun.getSelectedItem().equals("2013")){
                        T1="2013";
                    }else if (tahun.getSelectedItem().equals("2012")){
                        T1="2012";
                    }else if (tahun.getSelectedItem().equals("2011")){
                        T1="2011";
                    }else if (tahun.getSelectedItem().equals("2010")){
                        T1="2010";
                    }
                     if (tanggal2.getSelectedItem().equals("Pilih")){
                        t2="";
                    }else if (tanggal2.getSelectedItem().equals("1")){
                        t2="1";
                    }else if (tanggal2.getSelectedItem().equals("2")){
                        t2="2";
                    }else if (tanggal2.getSelectedItem().equals("3")){
                        t2="3";
                    }else if (tanggal2.getSelectedItem().equals("4")){
                        t2="4";
                    }else if (tanggal2.getSelectedItem().equals("5")){
                        t2="5";
                    }else if (tanggal2.getSelectedItem().equals("6")){
                        t2="6";
                    }else if (tanggal2.getSelectedItem().equals("7")){
                        t2="7";
                    }else if (tanggal2.getSelectedItem().equals("8")){
                        t2="8";
                    }else if (tanggal2.getSelectedItem().equals("9")){
                        t2="9";
                    }else if (tanggal2.getSelectedItem().equals("10")){
                        t2="10";
                    }else if (tanggal2.getSelectedItem().equals("11")){
                        t2="11";
                    }else if (tanggal2.getSelectedItem().equals("12")){
                        t2="12";
                    }else if (tanggal2.getSelectedItem().equals("13")){
                        t2="13";
                    }else if (tanggal2.getSelectedItem().equals("14")){
                        t2="14";
                    }else if (tanggal2.getSelectedItem().equals("15")){
                        t2="15";
                    }else if (tanggal2.getSelectedItem().equals("16")){
                        t2="16";
                    }else if (tanggal2.getSelectedItem().equals("17")){
                        t2="17";
                    }else if (tanggal2.getSelectedItem().equals("18")){
                        t2="18";
                    }else if (tanggal2.getSelectedItem().equals("19")){
                        t2="19";
                    }else if (tanggal2.getSelectedItem().equals("20")){
                        t2="20";
                    }else if (tanggal2.getSelectedItem().equals("21")){
                        t2="21";
                    }else if (tanggal2.getSelectedItem().equals("22")){
                        t2="22";
                    }else if (tanggal2.getSelectedItem().equals("23")){
                        t2="23";
                    }else if (tanggal2.getSelectedItem().equals("24")){
                        t2="24";
                    }else if (tanggal2.getSelectedItem().equals("25")){
                        t2="25";
                    }else if (tanggal2.getSelectedItem().equals("26")){
                        t2="26";
                    }else if (tanggal2.getSelectedItem().equals("27")){
                        t2="27";
                    }else if (tanggal2.getSelectedItem().equals("28")){
                        t2="28";
                    }else if (tanggal2.getSelectedItem().equals("29")){
                        t2="29";
                    }else if (tanggal2.getSelectedItem().equals("30")){
                        t2="30";
                    }else if (tanggal2.getSelectedItem().equals("31")){
                        t2="31";
                    }
                    if (bulan2.getSelectedItem().equals("Pilih")){
                        b2="";
                    }else if (bulan2.getSelectedItem().equals("Januari")){
                        b2="Januari";
                    }else if(bulan2.getSelectedItem().equals("Februari")){
                        b2="Februari";
                    }else if(bulan2.getSelectedItem().equals("Maret")){
                        b2="Maret";
                    }else if(bulan2.getSelectedItem().equals("April")){
                        b2="April";
                    }else if(bulan2.getSelectedItem().equals("Mei")){
                        b2="Mei";
                    }else if(bulan2.getSelectedItem().equals("Juni")){
                        b2="Juni";
                    }else if(bulan2.getSelectedItem().equals("Juli")){
                        b2="Juli";
                    }else if(bulan2.getSelectedItem().equals("Agustus")){
                        b2="Agustus";
                    }else if(bulan2.getSelectedItem().equals("September")){
                        b2="September";
                    }else if(bulan2.getSelectedItem().equals("Oktober")){
                        b2="Oktober";
                    }else if(bulan2.getSelectedItem().equals("November")){
                        b2="November";
                    }else if(bulan2.getSelectedItem().equals("Desember")){
                        b2="Desember";
                    }
                        if (tahun2.getSelectedItem().equals("Pilih")){
                        T2="";
                    }else if (tahun2.getSelectedItem().equals("2030")){
                        T2="2030";
                    }else if (tahun2.getSelectedItem().equals("2029")){
                        T2="2029";
                    }else if (tahun2.getSelectedItem().equals("2028")){
                        T2="2028";
                    }else if (tahun2.getSelectedItem().equals("2027")){
                        T2="2027";
                    }else if (tahun2.getSelectedItem().equals("2026")){
                        T2="2026";
                    }else if (tahun2.getSelectedItem().equals("2025")){
                        T2="2025";
                    }else if (tahun2.getSelectedItem().equals("2024")){
                        T2="2024";
                    }else if (tahun2.getSelectedItem().equals("2023")){
                        T2="2022";
                    }else if (tahun2.getSelectedItem().equals("2021")){
                        T2="2021";
                    }else if (tahun2.getSelectedItem().equals("2020")){
                        T2="2020";
                    }else if (tahun2.getSelectedItem().equals("2019")){
                        T2="2019";
                    }else if (tahun2.getSelectedItem().equals("2018")){
                        T2="2018";
                    }else if (tahun2.getSelectedItem().equals("2017")){
                        T2="2017";
                    }
                     if (bisnis.isSelected()){
                         kelas=bisnis.getText();
                     }
                     if (ekonomi.isSelected()){
                         kelas=ekonomi.getText();
                     }
                      Cetak="No.Penerbangan : "+nomor+"\nRute : "+dari.getText()+" - "+ke.getText()+"\nJadwal Keberangkatan : "+t1+" "+b1+" "+T1+"\nJadwal Kedatangan : "+t2+" "+b2+" "+T2+"\nKelas Penerbangan : "+kelas+"\nHarga Tiket : Rp."+harga.getText()+"\nJumlah Tiket : "+jumlah.getText()+" Tiket"+"\nDengan Potongan Sebesar : Rp."+i+"\nTotal Harga Tiket Pesanan Anda : Rp."+totalHarga.getText()+"\n\nThankyou so much and enjoyed your ride ^_^";
                    JOptionPane.showMessageDialog(null, Cetak ,"Data Pemesanan Tiket Pesawat" ,JOptionPane.INFORMATION_MESSAGE);
                }
        if (h==JOptionPane.NO_OPTION){
            JOptionPane.showMessageDialog(null,"Silahkan periksa kembali","Cek",JOptionPane.INFORMATION_MESSAGE);
        }
        }

public void Refresh(){
            noPenerbangan.setSelectedItem("Pilih");
            dari.setText("");
            ke.setText("");
            tanggal.setSelectedItem("Pilih");
            tanggal2.setSelectedItem("Pilih");
            bulan.setSelectedItem("Pilih");
            bulan2.setSelectedItem("Pilih");
            tahun.setSelectedItem("Pilih");
            tahun2.setSelectedItem("Pilih");
            Group.clearSelection();
            harga.setText("");
            jumlah.setText("");
            totalHarga.setText("");
            diskon.setSelected(false);
            JOptionPane.showMessageDialog(null, "Data telah ter-refresh" ,"Refresh",JOptionPane.INFORMATION_MESSAGE);
    }

public void Exit(){
        l=JOptionPane.showConfirmDialog(null, "Apakah anda yakin" ,"Exit" ,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
        if (l==JOptionPane.YES_OPTION){
            dispose();
        }
    }

Disini saya memakai tambahan ButtonGroup agar saat memilih radioButton tidak terjadi multiple choice. Pertama kita klik kanan pada Other Components >  add from palette > swing controls >  klik Button Group



lalu ubah nama button group nya menjadi seperti ini :



lalu masing masing Radio Button di beri kode pada tab properties > code > Post-Creation-Code.



Karena saya memakai Popup Menu maka inilah langkah-langkah nya :

 klik kanan pada  Other Components > pilih  add from palette > swing menus > klik popup menu



Lalu ubah nama variabel nya hingga seperti ini :



klik kanan pada popup menu > add from palette > klik menu item




lalu ganti nama menu item nya menjadi seperti ini :



Lalu ganti nama item nya di buat sama dengan nama variabel di atas.

Setelah itu klik kanan pada menu item popup tadi >events >action>actionperformed dan paste method Refresh(); seperti ini :

private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        Refresh();
    }

Setelah itu klik kanan pada window frame pilih events>mouse>mouse released lalu masukkan kode seperti di bawah ini :

private void formMouseReleased(java.awt.event.MouseEvent evt) {                                  
        // TODO add your handling code here:
        if(evt.isPopupTrigger()){
            Popup.show(this,evt.getX(), evt.getY());
        }
    }

Setelah semua sudah ,maka method method di atas tadi di paste pada tiap swing control dengan cara klik kanan > events >action >actionperformed seperti ini :

Combo Box Nomor Penerbangan :
private void noPenerbanganActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        NomorPenerbangan();
    }

Radio Button Bisnis :
private void bisnisActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        Kelas();
    } 

Radio Button Ekonomi :
private void ekonomiActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        Kelas();
    }

Button Hitung :
private void hitungActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        Hitung();

    }

Check Box Diskon : 
private void diskonActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
        Diskon();

    }          

Button Cetak :
private void cetakActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        Cetak();

    }

Button Exit :
private void exitActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        Exit();

    }

Lalu inilah hasil run-nya :



Sebelum diskon :



Sesudah diskon :



jika jumlah nya kosong ,maka akan muncul error seperti ini :



Setelah semua sudah selesai jika klik button cetak maka kan muncul seperti ini :



jika klik yes maka akan muncul tampilan cetak seperti ini :



jika ingin merefresh data kembali ke awal maka klik kanan pada tampilan run maka akan muncul popup menu seperti ini :



jika popup menu refresh di klik maka akan keluar tampilan seperti ini :



jika tombol exit di klik maka akan keluar tampilan seperti ini :



jika di klik yes maka program akan keluar dan berhenti,

Cukup sekian untuk program saya kali ini ..terimakasih untuk yang telah melihat program saya ini jika ada kekurangan mohon di kritisi dan di benarkan karena saya pun masih belajar,

See Ya

Tidak ada komentar:

Posting Komentar