Jumat, 27 April 2012

Program Java : Mencari tanggal dengan Format berbeda

Bismillah...

oke gan, akhirnya ane dapat hidayah buat ngeblog lagi...

akhir-akhir ini gw gelisah, galau, resah mendesah, geraangan kenapa? karena trafik blog gw turun #cryloud

dengan segera gw mencari ide postingan yang bombastis, tapi dengan penyakit akut malas gw, hasilnya? nihil #ohshit

gw tanya ma temen gw yang jago ngeblog, (kalo mau tau blog dia yang superb, klik sini ) kalo mau blog terkenal, bikin ja buat bisa ditranslate ke bahasa manapun, masalahnya, dengan bahasa gw yang ancur gini, translator mana yang sudi???

sempat kepikiran buat rombak ulang semua postingan gw ke bahasa yang waras resmi, tetapi dengan alasan yang sama, yaitu MALAS, lagi-lagi rencana gw ditabrak mobil.#death

yah, sudahlah yang namanya ngeblog kan ga mesti kejar trafik juga kan? biarlah gw apa adanya #ngambekkkkk


yap, cukup curhatnya, langsung saja kita masuk ke point utama, yaitu program java yang dapat mencari tanggal dengan format berbeda,


sebenaranya, Java telah menyediakan sebuah package atau bahasa Indonesianya adalah paket, untuk mencari tanggal hari dimana program java dijalankan, paket tersebut adalah
java.util.date.*;

namun, kita disini mencoba membuat sebuah program yang lebih dinamis, yaitu mengambil input tanggal, kemudian menampilkannya dalam format berbeda, seperti misal 17-08-1945 dalam format angka, dan format lainnya adalah 17 Agustus 1945.

program ini juga dapat membuat kita paham mengenai salah satu konsep OOP java, yaitu pembungkusan, kita disini membuat 2 buah class, class main berada di salah satu class yang akan memanggil class berbeda.

agar lebih jelasnya, langsung ke koding dan kompile sendiri-sendiri ya :D

(oh iya, ini program murni 100% saya yang buat jadi jangan gegabah copas 100%, pahamin dulu, kalo kesusahan baca disini, biar gampang dowload aja source nya DISINI )

cekidot...

1. Class Pertama (demoDate2.java) 
class ini dalah class yang mempunyai method main, yaitu method utama yang akan dipanggil pertama kali pada saat program dijalankan, DAN INGAT, ketika run program maka class inilah yang dirun karena method main berada dikelas ini.


import java.io.*; public class demoDate2{ public static void main(String[] sanul)throws IOException{ Date2 date=new Date2(); date.menu(); } }


2. Class Kedua (Date2.java)
class ini adalah class yang dipanggil oleh class diatas, secara keseluruhan, semua proses program berada didalam kelas ini, dari menu, input, hingga convert format tanggal dan error.


import java.text.*; import java.io.*; import javax.swing.*; public class Date2 extends Object { //DEKLARASI VARIABEL DAN ARRAY private int date, month, year, d, m, y, pil; private int DATE[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; private String temp, Month; private String MONTH[]={"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; private boolean banding; InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); //CONSTRUCTOR public Date2 () { date=17; month=7; Month=MONTH[7]; year=1945; for(int i=0;i<25;i++){ System.out.println(); } System.out.println("Default : "+numberstring()+"\n"); } //MENU public void menu()throws IOException{ System.out.println("+-------MENU-------+"); System.out.println("|1. Input          |"); System.out.println("|2. Number Format  |"); System.out.println("|3. Word Format    |"); System.out.println("|4. Exit           |"); System.out.println("+------------------+"); input(); System.out.println(); } //INPUT private void input()throws IOException{ System.out.print("Masukan Pilihan Anda : "); temp=br.readLine(); pil=Integer.parseInt(temp); switch (pil) { case 1 : System.out.print("Masukan tanggal : "); temp=br.readLine(); d=Integer.parseInt(temp); System.out.print("Masukan bulan : "); temp=br.readLine(); m=Integer.parseInt(temp); System.out.print("Masukan tahun : "); temp=br.readLine(); y=Integer.parseInt(temp); setDate(); break; case 2: JOptionPane.showMessageDialog(null, "Number Format : "+numberstring()); break; case 3: JOptionPane.showMessageDialog(null, "Word Format : "+wordstring()); break; case 4: exit(); default : error(0); System.exit(1); } menu(); } //SETDATE private void setDate ()throws IOException{ if( d>=1 && d < 32){ if(m<0 || m>12){ error(2); } else{ if(d<=DATE[m-1]){ date=d; } else{ JOptionPane.showInputDialog(null, "bulan "+MONTH[m-1]+" hanya memiliki "+DATE[m-1]+" hari", "Error mesagge", JOptionPane.ERROR_MESSAGE); System.exit(1); } } } else{ error(1); } if( m>=1 && m < 12){ month=m; Month=MONTH[m-1]; } else{ error(2); } if( y>=1000 && y < 2200){ year=y; } else{ error(3); } } //NUMBER FORMAT private String numberstring() { DecimalFormat twoDigits = new DecimalFormat ( "00" ); DecimalFormat fourDigits = new DecimalFormat ( "0000" ); return twoDigits.format ( date ) + "-" + twoDigits.format( month ) + "-" + fourDigits.format( year ); } //WORD FORMAT private String wordstring() { DecimalFormat twoDigits = new DecimalFormat ( "00" ); DecimalFormat fourDigits = new DecimalFormat ( "0000" ); return twoDigits.format ( date ) + " " + Month + " " + fourDigits.format( year ); } //ERROR private void error(int z)throws IOException{ if(z==0){ JOptionPane.showMessageDialog(null, "Input Tidak Diketahui", "Error Message",  JOptionPane.ERROR_MESSAGE); } else if(z==1){ JOptionPane.showMessageDialog(null, "Tanggal yang diinput tidak sesuai dengan standar", "Error Message",  JOptionPane.ERROR_MESSAGE); } else if(z==2){ JOptionPane.showMessageDialog(null, "Bulan yang diinput tidak sesuai dengan standar", "Error Message",  JOptionPane.ERROR_MESSAGE); } else{ JOptionPane.showMessageDialog(null, "Tahun yang diinput tidak sesuai dengan standar\ntahun harus memiliki 4 digit dan kurang dari 2200", "Error Message",  JOptionPane.ERROR_MESSAGE); } tryagain(); } private void tryagain()throws IOException{ System.out.println("Ingin menjalankan program sekali lagi? (Y/N) : "); temp=br.readLine(); banding=temp.equalsIgnoreCase("Y"); if(banding==true){ menu(); } else{ exit(); } } private void exit(){ System.out.println("\nTerima Kasih !!! KissBye Muachhhhhhhhhh"); System.exit(0); } }
sekarang kita tinggal melakukan kompile dan run program, voilaaaaaa! jadi deh :D
1. Format angka


2. Format huruf



















dan ini jika terjadi error....




Tidak ada komentar:

Posting Komentar