Senin, 08 April 2013

Program Validasi Tanggal pada Java


Latar Belakang

Program kali ini bertujuan untuk mengetahui apakah tanggal yang kita input ada di kalender. Dengan format input dd-mm-yyyy akan menghasilkan output dd-“month”-yyyy. Selain itu, program ini juga menyeleksi apakah tahun yang kita input adalah tahun kabisat atau bukan jika yang dimasukkan tidak sesuai maka akan timbul pesan error dan program akan berhenti. Berikut logika program kami :

Logika Program :

if ((bln==1)&&(tgl<=31)){
output = "Tanggal yang anda masukkan valid!";
cetak = "Tanggal-Bulan-Tahun: "+tgl+"-"+bulan2[bln-1]+"-"+thn;
JOptionPane.showMessageDialog(null,output);
JOptionPane.showMessageDialog(null,cetak);
}
Penjelasan: jika input bln bernilai 1 dan tgl kurang dari sama dengan 31 maka outputnya akan menghasilkan variable output dan cetak seperti isi variable diatas.

if ((bln==2)&&(tgl<=28)&&((kabisat!=0))) {
output = "Tanggal yang anda masukkan valid!";
cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
JOptionPane.showMessageDialog(null,output);
JOptionPane.showMessageDialog(null,cetak);
}
Penjelasan: jika input bln bernilai 2, tgl kurang dari sama dengan 28 dan variable kabisat tidak samadengan 0 maka variable output dan cetak akan menghasilkan seperti pada isi variable diatas.

else if ((bln==2)&&(tgl<=29)&&((kabisat==0))){
output = "Tanggal yang anda masukkan valid!";
cetak = "Tanggal-Bulan-Tahun: "+tgl+"-"+bulan2[bln-1]+"-"+thn+"\n"+"Tanggal tersebut dalam tahun kabisat";
JOptionPane.showMessageDialog(null,output);
JOptionPane.showMessageDialog(null,cetak); 
}
Penjelasan: akan tetapi jika input bln berniali 2, tgl kurang dari sama dengan 29 dan variable kabisat samadengan 0 maka variable output dan cetak akan menghasilkan seperti pad isi variable diatas.
Dan penjelasan dari kondisi-kondisi selanjutnya sama seperti penjelasan sebelumnya.

else {
output = "Tanggal yang Anda masukkan TIDAK VALID!";
JOptionPane.showMessageDialog(null,output,"Error",JOptionPane.ERROR_MESSAGE);
}
Penjelasan: jika input yang kita masukkan salah maka program akan menampilkan isi dari variable output yang berisi “Tanggal yang Anda masukkan TIDAK VALID!” dan akan timbul dialog message error.

Listing Program :
- listing program utama :

import javax.swing.*;
 * @author :
 *
 * Name:                       NPM:
 * Ahlan Hadian            50411402
 * Esti Wulandari           52411507
 * Miftahul Hasanah       54411472
 * M. Krisna Pudja W   54411898
 * Ricky Meriandika      56411126
 *
 * Class: 2IA12
 * Industrial Technology
 * -::- Gunadarma University -::-
 */

public class ValidTanggal {
        public static void play(){
 String output;
 String cetak; 
 String gretting  = "-::- Kali ini kita membuat program validasi tanggal -::-";
 String gretting2 = "Masukkan tanggal yang akan divalidasi dalam format (dd-mm-yyyy) :";             
                
                  JOptionPane.showMessageDialog(null,gretting);
                  JOptionPane.showMessageDialog(null,gretting2);
                
 String tanggal = JOptionPane.showInputDialog("Masukkan tanggal yang akan divalidasi (dd-mm-yyyy) :"+"\n"+"Tanggal: ");
 String bulan   = JOptionPane.showInputDialog("Masukkan tanggal yang akan divalidasi (dd-mm-yyyy) :"+"\n"+"Bulan:   ");
 String tahun   = JOptionPane.showInputDialog("Masukkan tanggal yang akan divalidasi (dd-mm-yyyy) :"+"\n"+"Tahun:   ");

 int  bln = Integer.parseInt(bulan);
 int  tgl = Integer.parseInt(tanggal);
 int  thn = Integer.parseInt(tahun);
 float  kabisat  = thn%4;
 String bulan2[] = {
                                "Januari","Februari","Maret","April","Mei","Juni",
                                "Juli","Agustus","September","Oktober","November","Desember"
                             };     

 if ((bln==1)&&(tgl<=31)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+"-"+bulan2[bln-1]+"-"+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);
  }

  else{
  if ((bln==2)&&(tgl<=28)&&((kabisat!=0))) {
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);
  }
        
  else if ((bln==2)&&(tgl<=29)&&((kabisat==0))){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+"-"+bulan2[bln-1]+"-"+thn+"\n"+"Tanggal tersebut dalam tahun kabisat";
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak); 
  }

  else if ((bln==3)&&(tgl<=31)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);
  }

  else if ((bln==4)&&(tgl<=30)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);     
  }

  else if ((bln==5)&&(tgl<=31)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);     
  }

  else if ((bln==6)&&(tgl<=30)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);     
  }

  else if ((bln==7)&&(tgl<=31)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);   
  }

  else if ((bln==8)&&(tgl<=31)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);   
  }

  else if ((bln==9)&&(tgl<=30)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);   
  }

  else if ((bln==10)&&(tgl<=31)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);   
  }

  else if ((bln==11)&&(tgl<=30)){
  output = "Tanggal yang anda masukkan valid!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);   
  }

  else if ((bln==12)&&(tgl<=31)){
  output = "Tanggal yang anda masukkan VALID!";
  cetak = "Tanggal-Bulan-Tahun: "+tgl+" "+bulan2[bln-1]+" "+thn;
  JOptionPane.showMessageDialog(null,output);
  JOptionPane.showMessageDialog(null,cetak);   
  }

  else {
   output = "Tanggal yang anda masukkan TIDAK VALID!";
   JOptionPane.showMessageDialog(null,output,"Error",JOptionPane.ERROR_MESSAGE);
  }

  }

}
}

- listing pemanggil:

/**
 *
 * @author:
 *
 * Name:                             NPM:
 * Ahlan Hadian                 50411402
 * Esti Wulandari               52411507
 * Miftahul Hasanah         54411472
 * M. Krisna Pudja W        54411898
 * Ricky Meriandika          56411126
 *
 * Class: 2IA12
 * Industrial Technology
 * -::- Gunadarma University -::-
 */

public class valid2 {
    public static void main(String[]args){
    ValidTanggal playing = new ValidTanggal();
    playing.play();
    }
}

Output:
pada saat di running, program akan menampilkan output seperti di bawah ini :









-jika input di isi dengan tahun kabisat maka akan tampil outpunya seperti di bawah ini :


-jika input di isi dengan format yang salah maka output error akan tampil seperti di bawah ini :


link to others member :
- miftahasanah.blogspot.com
- krisnapudja.blogspot.com
- vegasti.blogspot.com
- gundarricky.blogspot.com

apakah tulisan ini membantu anda ?