Pada pertemuan kali ini akan membuat program untuk membahasa bagaimana cara validasi tanggal dengan menggunakan bahasa pemrograman java. Dengan cara memasukkan tanggal sesuai dengan tanggal / bulan/ tahun (dd/MM/yyyy), Maka output yang akan di keluarkan dd/NamaBulan/yyyy. program ini melakukan validasi dengan Date yang ada pada komputer. Dengan menggunakan tipe boolean pada saat tidak sama/tidak valid, maka akan bernilai false dan jika sama/valid akan bernilai true. Hal ini juga berlaku untuk kabisat. Input tanggal di lakukan dengan cara memasukkan tanggal pada MessageBox, begitu pula dengan outputnya dengan tampilan messagebox.
Berikut ini adalah Logika dan Listing programnya :
import java.text.*; //memasukkan semua fungsi yang terdapat pada package text
import java.io.*; // memasukan semua fungsi yang terdapat pada package io
import javax.swing.*; // memasukan semua fungsi yang terdapat pada package swing
import java.util.*; // memasukan semua fungsi yang terdapat pada package util
// Program Ini Dibuat Oleh Andrean Cipta, Aldian Vanjaya, Denny Octavianto, Nizar Zulkarnain, Hano Almakky Haksoro : 2IA12
public class InputKalender2IA12 {
public boolean isValidDate(String inDate) {
//Jika inDate sama dengan tidak ada/kosong, maka akan mengembalikan nilai ke false
if (inDate == null)
return false;
//Mengatur Pola Untuk Masukkan Tanggal dd= Tanggal, MM= Bulan, yyyy= Tahun
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
//Jika inDate tidak sama dengan dateFormat maka akan mengembalikan nilai ke false
if (inDate.trim().length() != dateFormat.toPattern().length())
return false;
// menetapkan setLenient bernilai false untuk validasi
dateFormat.setLenient(false);
try {
//menguraikan ke dalam inDate parameter
dateFormat.parse(inDate.trim());
}
catch (ParseException e) {
return false;
}
return true;
}
public static void main(String[] args) {
//Membuat objek baru dengan nama test yang akan memanggil class InputKalender2IA12
InputKalender2IA12 test = new InputKalender2IA12();
//Mendeklarasikan go dan run bertipe boolean dengan nilai true
boolean go = true;
boolean run = true;
while (go==true)
{
while (run)
{
// Membuat Inputan MessageBox Dengan Nama Variabel tanggal Bertipe String
String tanggal = JOptionPane.showInputDialog("Masukkan Tanggal (dd/mm/yyyy) : ");
if(tanggal.equals("")){
JOptionPane.showMessageDialog(null, "Tanggal Belum Dimasukkan !!");
tanggal = JOptionPane.showInputDialog("Masukkan Tanggal (dd/mm/yyyy) : ");
run = true;
}
String dd = tanggal.substring(0,2); // Membuat nama variabel dd bertipe string dan mengambil data dari tanggal mulai dari indeks ke-1 sampai data sebelum indeks ke-2
String MM = tanggal.substring(3,5); // Membuat nama variabel MM bertipe string dan mengambil data dari tanggal mulai dari indeks ke-3 sampai data sebelum indeks ke-5
String yyyy = tanggal.substring(6); // Membuat nama variabel yyyy bertipe string dan mengambil data dari tanggal mulai dari indeks ke-6 sampai akhir data
int bulan = Integer.parseInt(MM); // Membuat nama variabel bulan bertipe int
String mm = Integer.toString(bulan);
String mon[]={"Januari","Februari","Maret","April","May","Juni","July","Agustus","September","Oktober","November","Desember"};
if (bulan==1){
mm =(mon[bulan-1]);
}
else if (bulan==2){
mm =(mon[bulan-1]);
}
else if (bulan==3){
mm =(mon[bulan-1]);
}
else if (bulan==4){
mm =(mon[bulan-1]);
}
else if (bulan==4){
mm =(mon[bulan-1]);
}
else if (bulan==5){
mm =(mon[bulan-1]);
}
else if (bulan==6){
mm =(mon[bulan-1]);
}
else if (bulan==7){
mm =(mon[bulan-1]);
}
else if (bulan==8){
mm =(mon[bulan-1]);
}
else if (bulan==9){
mm =(mon[bulan-1]);
}
else if (bulan==10){
mm =(mon[bulan-1]);
}
else if (bulan==11){
mm =(mon[bulan-1]);
}
else if(bulan==12){
mm =(mon[bulan-1]);
}
else{
}
//Menampilkan MessageBox yang berisi Tanggal yang anda masukkan Jika tanggal bernilai true
if (test.isValidDate(tanggal) == true){
JOptionPane.showMessageDialog(null,"Tanggal yang anda masukan : " + dd + " " +mm+ " " +yyyy );
run = false;
}
//Menampilkan MessageBox yang berisi Tanggal belum dimasukkan Jika tanggal bernilai kosong
else if(tanggal.equals("")){
JOptionPane.showMessageDialog(null, "Tanggal Belum Dimasukkan !!");
run = true;
}
else{
//Menampilkan MessageBox Jika Tanggal yg dimasukkan salah
JOptionPane.showMessageDialog(null,"Tanggal yang anda masukan salah, coba masukkan kembali dengan benar !!");
run = true;
}
//Jika run bernilai false, maka program akan keluar
if (run==false)
System.exit(0);{}
}
}
}
}
OUTPUT PROGRAM :
Kabisat:
LINK TO MY OTHER MEMBER :
1.
ALDIAN VANJAYA
2. DENNY OCTAVIANTO
3. NIZAR ZULKARNAIN
4. HANO ALMAKKY HAKSORO