Source Code membuat program inputan tanggal dengan ketentuan tahun khabisat

hay gan pada kesempatan ini saya kemali menshare link dari kodingan membuat program inputan tanggal dengan ketentuan tahun khabisat. silahkan di lihat.


package testmahasiswa;

import java.util.Scanner;

public class Tanggal {
    private int dd,mm,yyyy;
    private boolean khabisat;
    private String Bulan;
    Tanggal(){//konstruktor tanpa parameter terdapat mengeset nilai dd=1, mm=1 dan yyyy=1990
        this.dd=0;
        this.mm=0;
        this.yyyy=0;
    }
    Tanggal(int tgl,int bln,int thn){//konstruktor dengan parameter int tgl,int bln dan int thn
        this();
        if(thn>1000){
            if(bln>0&&bln<=12){
                if(tgl>0&&tgl<=31){
                    this.dd=tgl;
                    this.mm=bln;
                    this.yyyy=thn;
                }
                else{
                    System.out.println("tahun yang anda masukkan salah");
                }
            }
            else{
                System.out.println("bulan yang anda masukkan salah");
            }
        }
        else{
            System.out.println("tanggal yang anda masukkan salah");
        }
    }
    public void setTGL(int tgl){//method untuk mengeset nilai dari dd(tanggal)
        if(khabisat==true){
            if(this.mm==2){
                if(tgl>0&&tgl<=29){
                    this.dd=tgl;
                }
                else{
                    System.out.println("tanggal yang anda masukkan salah");
                }
            }else if(this.mm<=7){
                if(this.mm%2==0){
                    if(tgl<=30){
                        this.dd=tgl;
                    }
                    else System.out.println("tanggal yang anda masukkan salah");
                }
                else
                    if(tgl<=31){
                        this.dd=tgl;
                    }
                    else System.out.println(" tanggal yang anda masukkan salah");
            }
            else if(this.mm>7){
                if(this.mm%2==0){
                    if(tgl<=31){
                        this.dd=tgl;
                    }
                    else System.out.println("tanggal yang anda masukkan salah");
                }
                else
                    if(tgl<=30){
                        this.dd=tgl;
                    }
                    else System.out.println("tanggal yang anda masukkan salah");
            }
        }
        else{
            if(this.mm==2){
                if(tgl>0&&tgl<=28){
                    this.dd=tgl;
                }
                else{
                    System.out.println("tanggal yang anda masukkn salah");
                }
            }
            else if(this.mm<=7){
                if(this.mm%2==0){
                    if(tgl<=30){
                        this.dd=tgl;
                    }
                    else System.out.println("tanggal yang anda masukkan salah");
                }
                else
                    if(tgl<=31){
                        this.dd=tgl;
                    }
                    else System.out.println(" tanggal yang anda masukkan salah");
            }
            else if(this.mm>7){
                if(this.mm%2==0){
                    if(tgl<=31){
                        this.dd=tgl;
                    }
                    else System.out.println("tanggal yang anda masukkan salah");
                }
                else
                    if(tgl<=30){
                        this.dd=tgl;
                    }
                    else System.out.println("tanggal yang anda masukkan salah");
            }
        }
    }
    public void setBLN(int bln){//method untuk mengeset nilai dari mm(bulan)
        if(bln>0&&bln<=12){
            this.mm=bln;
        }
        else{
            System.out.println("bulan yang anda masukkan salah");
        }
    }
    public void setTHN(int thn){//method untuk mengeset nilai dari yyyy(tahun)
        if(thn>1000){
            this.yyyy=thn;
        }
        else{
            System.out.println("tahun yang anda masukkan salah");
        }
    }
    public boolean khabisat(){//method untuk menentukan tahun tersebut tahun khabisat atau bukan
        if(this.yyyy%400==0||this.yyyy%4==0){
            khabisat=true;
            System.out.println("merupakan tahun khabisat");
        }
        else{
            khabisat=false;
            System.out.println("bukan merupakan tahun khabisat");
        }
        return khabisat;
    }
    public String konversiBulan(){//method untuk mengkonversi angka ke sesuai urutan bulan misalnya 1 = januari
        switch(mm){
            case 0:
                Bulan="tidak ada";
                break;
            case 1:
                Bulan=" Januari ";
                break;
            case 2:
                Bulan=" Februari ";
                break;
            case 3:
                Bulan=" Maret ";
                break;
            case 4:
                Bulan=" April ";
                break;
            case 5:
                Bulan=" Mei ";
                break;
            case 6:
                Bulan=" Juni ";
                break;
            case 7:
                Bulan=" Juli ";
                break;
            case 8:
                Bulan=" Agustus ";
                break;
            case 9:
                Bulan=" September ";
                break;
            case 10:
                Bulan=" Oktober ";
                break;
            case 11:
                Bulan=" November ";
                break;
            case 12:
                Bulan=" Desember ";
                break;
        }
        return Bulan;
    }
    public void menuBulan(){//method untuk memberikan menu bulan yang dapat dipilih
        System.out.println("Daftar Bulan :");
        System.out.println("1. Januari ");
        System.out.println("2. Februari ");
        System.out.println("3. Maret ");
        System.out.println("4. April ");
        System.out.println("5. Mei ");
        System.out.println("6. Juni ");
        System.out.println("7. Juli ");
        System.out.println("8. Agustus ");
        System.out.println("9. September ");
        System.out.println("10. Oktober ");
        System.out.println("11. November ");
        System.out.println("12. Desember ");
    }
    public void menuTanggal(){//method untuk memberikan menu tanggal yang dapat dipilih
        if(khabisat==true&&mm==2){
            System.out.println("Daftar tanggal yang dapat di akses :");
            System.out.println("1  2  3  4  5  6  ");
            System.out.println("7  8  9  10 11 12 ");
            System.out.println("13 14 15 16 17 18 ");
            System.out.println("19 20 21 22 23 24 ");
            System.out.println("25 26 27 28 29 ");
        }
        else if(khabisat==false&&mm==2){
            System.out.println("Daftar tanggal yang dapat di akses :");
            System.out.println("1  2  3  4  5  6  ");
            System.out.println("7  8  9  10 11 12 ");
            System.out.println("13 14 15 16 17 18 ");
            System.out.println("19 20 21 22 23 24 ");
            System.out.println("25 26 27 28  ");
        }
        else if(mm<=7&&mm%2==0){
            System.out.println("Daftar tanggal yang dapat di akses :");
            System.out.println("1  2  3  4  5  6  ");
            System.out.println("7  8  9  10 11 12 ");
            System.out.println("13 14 15 16 17 18 ");
            System.out.println("19 20 21 22 23 24 ");
            System.out.println("25 26 27 28 29 30 ");
        }
        else if(mm<=7&&mm%2!=0){
            System.out.println("Daftar tanggal yang dapat di akses :");
            System.out.println("1  2  3  4  5  6  ");
            System.out.println("7  8  9  10 11 12 ");
            System.out.println("13 14 15 16 17 18 ");
            System.out.println("19 20 21 22 23 24 ");
            System.out.println("25 26 27 28 29 30 ");
            System.out.println("31 ");
        }
        else if(mm>7&&mm%2==0){
            System.out.println("Daftar tanggal yang dapat di akses :");
            System.out.println("1  2  3  4  5  6  ");
            System.out.println("7  8  9  10 11 12 ");
            System.out.println("13 14 15 16 17 18 ");
            System.out.println("19 20 21 22 23 24 ");
            System.out.println("25 26 27 28 29 30 ");
            System.out.println("31 ");
        }
        else if(mm>7&&mm%2!=0){
            System.out.println("Daftar tanggal yang dapat di akses :");
            System.out.println("1  2  3  4  5  6  ");
            System.out.println("7  8  9  10 11 12 ");
            System.out.println("13 14 15 16 17 18 ");
            System.out.println("19 20 21 22 23 24 ");
            System.out.println("25 26 27 28 29 30 ");
        }
    }
    public int getTGL(){//method untuk mengembalikan nilai dari dd(tanggal)
        return this.dd;
    }
    public String getBLN(){//method untuk mengembalikan nilai method konversiBulan()
        return this.konversiBulan();
    }
    public int getTHN(){//method untuk mengembalikan nilai yyyy(tahun)
        return this.yyyy;
    }
}
class Mahasiswa1 {
    private String Nama,Nim;
    Mahasiswa1(){
    }
    Mahasiswa1(String Nama){
        this.Nama=Nama;
    }
    Mahasiswa1(String Nama,String Nim){
        this.Nim=Nim;
    }
    void setNama(String Nama){
        this.Nama=Nama;
    }
    String getNama(){
        return this.Nama;
    }
    void setNim(String Nim){
        this.Nim=Nim;
    }
    String getNim(){
        return this.Nim;
    }
}
class test {
    public static void main(String[]args){
        Scanner input = new Scanner(System.in);
        Mahasiswa1 M=new Mahasiswa1();
        Tanggal t=new Tanggal();
        System.out.print("Masukkan Nama anda : ");
        String Nama=input.nextLine();
        M.setNama(Nama);
        System.out.print("Masukkan Nim anda : ");
        String Nim=input.nextLine();
        M.setNim(Nim);
        System.out.println("Masukkan tahun di atas tahun 1000");
        System.out.print("Masukkan tahun lahir : ");
        int thn=input.nextInt();
        t.setTHN(thn);
        if(t.getTHN()==0){
            System.out.println("pilih lagi");
            System.out.println("masukkan tahun di atas tahun 1000!");
            System.out.print("Masukkan tahun lahir : ");
            thn=input.nextInt();
            t.setTHN(thn);
        }
        System.out.print("cek khabisat : ");
        t.khabisat();
        t.menuBulan();
        System.out.print("Masukkan bulan lahir : ");
        int bln=input.nextInt();
        t.setBLN(bln);
        if(t.getBLN()=="tidak ada"){
            System.out.println("pilih lagi");
            System.out.println("pilih yang ada di daftar!");
            System.out.print("Masukkan bulan lahir : ");
            bln=input.nextInt();
            t.setBLN(bln);
        }
        t.menuTanggal();
        System.out.print("Masukkan tanggal lahir : ");
        int tgl=input.nextInt();
        t.setTGL(tgl);
        if(t.getTGL()==0){
            System.out.println("pilih lagi");
            System.out.println("pilih yang ada di daftar!");
            System.out.print("Masukkan tanggal lahir : ");
            tgl=input.nextInt();
            t.setTGL(tgl);
        }
        System.out.println();
        System.out.println("Data MAhasiswa : ");
        System.out.println("Nama          : "+M.getNama());
        System.out.println("Nim           : "+M.getNim());
        System.out.print("tanggal lahir : ");
        System.out.print(t.getTHN()+" "+t.getBLN()+" "+t.getTGL()+"(thn/bln/tgl)");
        t.khabisat();
    }
}

sobat juga dapat mencari kodingan lain:  disini

Comments