Kamis, 26 Januari 2017

Floyd Warshall Revisi

A B C         D E F G H
A 0! 4! AH4-HC3:7# AF10-FD12:22# AF10-FE6:16# AB4-BF6:10# 7! 4!
B 1000! 0! BH1-HC3:4# BF6-FD12:18# BF6-FE6:12# 6! 8! 1!
C 1000! 1000! 0!         CE10-ED6:16# 10! CE10-EF5:15# 1000! 1000!
D 1000! 1000! 1000!         0! 1000! 1000! 1000! 1000!
E 1000! 1000! 8!         6! 0! 5! 1000! 1000!
F 1000! 1000! FE6-EC8:14# FE6-ED6:12# 6! 0! 1000! 1000!
G 1000! 4! GH5-HC3:8# GF7-FD12:19# GF7-FE6:13# 7! 0! GB4-BH1:5#
H 1000! 1000! 3!         HE13-ED6:19# HC3-CE10:13# HE13-EF5:18# 1000! 0!

Artinya...jika H ke D maka lintasan terdekatnya adalah : HE : 13 km lalu ke ED 6 km sehingga total jarak HD adalah : 19 km


Artinya...jika H ke D maka lintasan terdekatnya adalah : HE : 13 km lalu ke ED 6 km sehingga total jarak HD adalah : 19 km



OK terbukti......

Download Source Code

Selasa, 17 Januari 2017

Java Code Format Waktu

run:
Tuesday, 17 January 2017

Jan 17, 2017
1/17/17
Jan 17, 2017
January 17, 2017
Tuesday, January 17, 2017

5:36:23 PM
5:36 PM
5:36:23 PM
5:36:23 PM ICT
5:36:23 PM ICT

Jan 17, 2017 5:36:23 PM
1/17/17 5:36 PM
Jan 17, 2017 5:36:23 PM
January 17, 2017 5:36:23 PM ICT
Tuesday, January 17, 2017 5:36:23 PM ICT

17/01/2017
Tue, 17 Jan 2017
Tuesday, 17 January 2017 05:36:23 PM, ICT
2017/01/17
2017/01/17


Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
+++++++++++++++++++


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package okdeh;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.DateFormatSymbols;


public class FormatDateTime {

  public static void main(String[] args) {
Date now = new Date();

System.out.printf("%tA, %<td %<tB %<tY %n", now);
System.out.println();

int[] styles = {
 DateFormat.DEFAULT,
DateFormat.SHORT,
DateFormat.MEDIUM,
DateFormat.LONG,
DateFormat.FULL
};

for (int i : styles) {
DateFormat df = DateFormat.getDateInstance(i);
System.out.println(df.format(now));
}


System.out.println();
for (int i : styles) {
DateFormat df = DateFormat.getTimeInstance(i);
System.out.println(df.format(now));
}

System.out.println();
for (int i : styles) {
DateFormat df = DateFormat.getDateTimeInstance(i, i);
System.out.println(df.format(now));
}
System.out.println();


    /** SimpleDateFormat **/
SimpleDateFormat sdf;
sdf = new SimpleDateFormat("dd/MM/y");
System.out.println(sdf.format(now));
sdf = new SimpleDateFormat("E, dd MMM yyyy");
System.out.println(sdf.format(now));
sdf = new SimpleDateFormat("EEEE, dd MMMM yyyy " +
   "hh:mm:ss a, zzz");
System.out.println(sdf.format(now));
System.out.println(formatTanggal("yyyy/MM/dd"));
String tg = new SimpleDateFormat("yyyy/MM/dd").format(new Date());
System.out.println(tg);
System.out.println();


/** DateFormatSymbols **/
DateFormatSymbols symbols = new DateFormatSymbols();
String days[] = symbols.getWeekdays();
for (int i = 0; i < days.length; i++) {
System.out.println(days[i]);
}
  }

  public static String formatTanggal(String format) {
    Date now = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    return  sdf.format(now);
  }

}

@author Didik Dwi Prasetyo, [didik_rpl at yahoo dot com]


Java Code Format Lokal

Bulan: Januari
Selasa, 17 Januari 2017
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Minggu Senin Selasa Rabu     Kamis   Jum'at Sabtu



package okdeh;

import java.util.Date;
import java.util.Calendar;
import java.util.Locale;
import java.text.DateFormatSymbols;

public class FormatLokal {

public static String[] tglLokal() {
String[] arrBln = {"Januari", "Februari", "Maret", "April",
"Mei", "Juni", "Juli", "Agustus", "September", "Oktober",
"Nopember", "Desember"};

String[] arrHari= {"Minggu", "Senin", "Selasa", "Rabu",
"Kamis", "Jum'at", "Sabtu"};

Calendar cal = Calendar.getInstance();
int intBln = cal.get(Calendar.MONTH);
int intHari= cal.get(Calendar.DAY_OF_WEEK)-1;

String[] tgl = new String[4];
tgl[0] = arrHari[intHari];
tgl[1] = String.valueOf(cal.get(Calendar.DATE));
tgl[2] = arrBln[intBln];
tgl[3] = String.valueOf(cal.get(Calendar.YEAR));

return tgl;
}


public static void main(String[] args) {
String[] tgl = tglLokal();

System.out.println("Bulan: " + tgl[2]);
// Output (misal): Bulan Januari

System.out.println(tgl[0] + ", " + tgl[1] + " " + tgl[2] + " " + tgl[3]);
DateFormatSymbols dfs = new DateFormatSymbols(
new Locale("en","US"));
 // Mendapatkan nama-nama hari default
String[] strDef = dfs.getWeekdays();

for (int i=0; i<strDef.length; i++) {
  System.out.print(strDef[i] + "\t");
 }
 System.out.println();
String[] arrHari= {"", "Minggu", "Senin", "Selasa", "Rabu    ","Kamis   ", "Jum'at", "Sabtu"};
dfs.setWeekdays(arrHari);
String[] lokalDays = dfs.getWeekdays();
for (int i=0; i<lokalDays.length; i++) {
System.out.print(lokalDays[i] + "\t");
}

}

}

Reff:
 @author Didik Dwi Prasetyo, [didik_rpl at yahoo dot com]



Timer Soal Pada Java Code /Android

package com.example.app_tpa;

import java.util.Timer;
import java.util.TimerTask;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Handler.Callback;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;

import android.view.View;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;

public class soal_angka extends Activity {
String sNama="Fulan",sUsia="xx",sJK="Laki-laki",sCatatan="";
 long starttime = 0;
   Timer timer = new Timer();
int jd=0;
String[]arTanya;
String[]arA;
String[]arB;
String[]arC;
String[]arD;
String[]arE;
String[]arBenar;
int ke=0;
int jumbenar=0;
String record="";

TextView txtTanya,txtTanyaKe,txtTimer;
RadioButton radA,radB,radC,radD,radE;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.soal_angka);
  Intent i = this.getIntent();
       sNama=i.getStringExtra("nama");
       sUsia=i.getStringExtra("usia");
       sJK=i.getStringExtra("jk");
     
callSoal();

txtTanya=(TextView)findViewById(R.id.txtTanya);
txtTanyaKe=(TextView)findViewById(R.id.txtTanyaKe);
txtTimer=(TextView)findViewById(R.id.txtTimer);

radA=(RadioButton)findViewById(R.id.radA);
radA.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(soal_angka.this, "Anda memilih A",Toast.LENGTH_LONG).show();
if(arBenar[ke].equalsIgnoreCase("A")){record=record+"Soal No. "+(ke+1)+" Jawaban Anda A: Benar\n";jumbenar=jumbenar+1;}
else{record=record+"Soal No. "+(ke+1)+" Jawaban Anda A: Salah\n";}

ke=ke+1;
lihat();
}});  
radB=(RadioButton)findViewById(R.id.radB);
radB.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(soal_angka.this, "Anda memilih B",Toast.LENGTH_LONG).show();
if(arBenar[ke].equalsIgnoreCase("A")){record=record+"Soal No. "+(ke+1)+" Jawaban Anda B: Benar\n";jumbenar=jumbenar+1;}
else{record=record+"Soal No. "+(ke+1)+" Jawaban Anda B: Salah\n";}

ke=ke+1;
lihat();
}});  
radC=(RadioButton)findViewById(R.id.radC);
radC.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(soal_angka.this, "Anda memilih C",Toast.LENGTH_LONG).show();
if(arBenar[ke].equalsIgnoreCase("A")){record=record+"Soal No. "+(ke+1)+" Jawaban Anda C: Benar\n";jumbenar=jumbenar+1;}
else{record=record+"Soal No. "+(ke+1)+" Jawaban Anda C: Salah\n";}

ke=ke+1;
lihat();
}});  
radD=(RadioButton)findViewById(R.id.radD);
radD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(soal_angka.this, "Anda memilih D",Toast.LENGTH_LONG).show();
if(arBenar[ke].equalsIgnoreCase("A")){record=record+"Soal No. "+(ke+1)+" Jawaban Anda D: Benar\n";jumbenar=jumbenar+1;}
else{record=record+"Soal No. "+(ke+1)+" Jawaban Anda D: Salah\n";}

ke=ke+1;
lihat();
}});  
radE=(RadioButton)findViewById(R.id.radE);
radE.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(soal_angka.this, "Anda memilih E",Toast.LENGTH_LONG).show();
if(arBenar[ke].equalsIgnoreCase("A")){record=record+"Soal No. "+(ke+1)+" Jawaban Anda E: Benar\n";jumbenar=jumbenar+1;}
else{record=record+"Soal No. "+(ke+1)+" Jawaban Anda E: Salah\n";}

ke=ke+1;
lihat();
}});  
lihat();
final Handler h = new Handler(new Callback() {
       @Override
       public boolean handleMessage(Message msg) {
          long millis = System.currentTimeMillis() - starttime;
          int seconds = (int) (millis / 1000);
          int minutes = seconds / 60;
          seconds     = seconds % 60;
          if (minutes >=0 && seconds >=20){selesai();}
         
           txtTimer.setText(String.format("Waktu Anda ini :"+"%d:%02d"+" (max=> 3:20)", minutes, seconds));
           return false;
       }
   });
  class firstTask extends TimerTask {
       @Override
       public void run() {
           h.sendEmptyMessage(0);
       }
  };
  starttime = System.currentTimeMillis();
               timer.schedule(new firstTask(), 0,1000);
}
    public void selesai(){
    new AlertDialog.Builder(this)
.setTitle("Selesai Angka")
.setMessage("Terimakasih... Anda Telah Melakukan tes TPA Angka")
.setNeutralButton("Tutup", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dlg, int sumthin) {
finish();
  timer.cancel();
              timer.purge();
Intent  i= new Intent(soal_angka.this, hasil.class);
i.putExtra("nama", sNama);
i.putExtra("usia", sUsia);
i.putExtra("jk", sJK);
i.putExtra("record", record);
i.putExtra("kategori", "Tes Angka");
i.putExtra("jumbenar", String.valueOf(jumbenar));
startActivity(i);
}})
.show();
    }
   
void lihat(){
if(ke>=jd){selesai();}
else{
txtTanya.setText("   No."+(ke+1)+"    "+arTanya[ke]);
radA.setText(arA[ke]);
radB.setText(arB[ke]);
radC.setText(arC[ke]);
radD.setText(arD[ke]);
radE.setText(arE[ke]);
txtTanyaKe.setText("    Pertanyaan ke "+(ke+1)+" dari "+jd +" pertanyaan ");
}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

void callSoal(){
jd=20;
arTanya=new String[jd];
arA=new String[jd];
arB=new String[jd];
arC=new String[jd];
arD=new String[jd];
arE=new String[jd];
arBenar=new String[jd];

arTanya[0]="19 adalah berapa persennya dari 380 ?";
arA[0]="0,5%";
arB[0]="5%";
arC[0]="0,05%";
arD[0]="0,15%";
arE[0]="5,5%";
arBenar[0]="B";

arTanya[1]="8,0049 : 0,0015";
arA[1]="5336,6";
arB[1]="533,66";
arC[1]="53,366";
arD[1]="53366";
arE[1]="533,55";
arBenar[1]="A";

arTanya[2]="0,012 : 3";
arA[2]="0,04";
arB[2]="0,0004";
arC[2]="0,4";
arD[2]="0,040";
arE[2]="0,0040";
arBenar[2]="E";

arTanya[3]="Seri Angka : 75 97 60 92 45 selanjutnya ....";
arA[3]="87";
arB[3]="78";
arC[3]="102";
arD[3]="75";
arE[3]="54";
arBenar[3]="E";

arTanya[4]="32/9 : 0,75";
arA[4]="6/16";
arB[4]="3";
arC[4]="3,5";
arD[4]="29";
arE[4]="16/6";
arBenar[4]="";

arTanya[5]="0,875 : 5/2";
arA[5]="0,35";
arB[5]="0,55";
arC[5]="0,53";
arD[5]="0,25";
arE[5]="2,65";
arBenar[5]="";

arTanya[6]="0,31 x 0,31";
arA[6]="0,0691";
arB[6]="0,0661";
arC[6]="0,0991";
arD[6]="0,0971";
arE[6]="0,0961";
arBenar[6]="";

arTanya[7]="3/8 dari 40% adalah ?";
arA[7]="0,15";
arB[7]="0,11";
arC[7]="16%";
arD[7]="15,5%";
arE[7]="0,13";
arBenar[7]="";

arTanya[8]="54 adalah 27% dari ?";
arA[8]="190";
arB[8]="210";
arC[8]="200";
arD[8]="300";
arE[8]="127";
arBenar[8]="";

arTanya[9]="2,00486 x 0,5";
arA[9]="1,000243";
arB[9]="1,00243";
arC[9]="1,0243";
arD[9]="1,00234";
arE[9]="1,00253";
arBenar[9]="";

arTanya[10]="Seri angka 75 97 60 92 45 selanjutnya ";
arA[10]="87";
arB[10]="78";
arC[10]="102";
arD[10]="75";
arE[10]="54";
arBenar[10]="";

arTanya[11]="Seri angka 17 21 23 27 selanjutnya ";
arA[11]="31";
arB[11]="33";
arC[11]="32";
arD[11]="29";
arE[11]="25";
arBenar[11]="";

arTanya[12]="Seri angka 1 5 9 2 6 10 3 selanjutnya ";
arA[12]="6-11-4";
arB[12]="7-11-4";
arC[12]="7-12-5";
arD[12]="6-12-3";
arE[12]="8-11-5";
arBenar[12]="";

arTanya[13]="Seri angka -4 -3 0 5 12 selanjutnya ";
arA[13]="21";
arB[13]="19";
arC[13]="17";
arD[13]="15";
arE[13]="23";
arBenar[13]="";

arTanya[14]="Seri angka 22 26 23 27 24 selanjutnya ";
arA[14]="26";
arB[14]="27";
arC[14]="28";
arD[14]="31";
arE[14]="22";
arBenar[14]="";

arTanya[15]="Seri angka 3 8 15 20 27 selanjutnya ";
arA[15]="30";
arB[15]="33";
arC[15]="35";
arD[15]="34";
arE[15]="32";
arBenar[15]="";

arTanya[16]="Seri huruf e h a j m b selanjutnya ";
arA[16]="p s";
arB[16]="p t";
arC[16]="o q";
arD[16]="o r";
arE[16]="o s";
arBenar[16]="";

arTanya[17]="Seri huruf z v r selanjutnya ";
arA[17]="m";
arB[17]="o";
arC[17]="t";
arD[17]="l";
arE[17]="n";
arBenar[17]="";

arTanya[18]="Seri huruf a c f j o selanjutnya ";
arA[18]="p";
arB[18]="t";
arC[18]="v";
arD[18]="u";
arE[18]="z";
arBenar[18]="";

arTanya[19]="Seri huruf c i o selanjutnya ";
arA[19]="t";
arB[19]="v";
arC[19]="u";
arD[19]="w";
arE[19]="h";
arBenar[19]="";


}
}

KalkulasiDateTime2

Calendar cals = Calendar.getInstance();
      String tglnow= String.valueOf(cals.get(Calendar.DATE));
// Hitungan bulan dari nol
      String blnnow= String.valueOf(cals.get(Calendar.MONTH)+1);
      String thnnow= String.valueOf(cals.get(Calendar.YEAR));
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DATE, -5);

Senin, 16 Januari 2017

Java Code Kalkulasi Date Time

run:
Thu Jan 25 00:00:00 ICT 2007 sebelum Fri Jan 26 00:00:00 ICT 2007
Sekarang: Tuesday, 17 January 2017
5 hari yang akan datang: Sunday, 22 January 2017

5 hari yang akan datang: 22
5 hari yang akan datang: 22 January 2017
3 hari yang lalu: 14 January 2017
10 tahun kemudian: 01 January 2030
1,5 jam yang lalu: 31 December 1999 [23:30:0]
17 January 2017 [14:58:44]
17 January 2017 [18:29:14]
BUILD SUCCESSFUL (total time: 0 seconds)




package okdeh;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;

public class KalkulasiDateTime {
  public static void main( String[] args ) {
    DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
    try {
Date d1 = df.parse("25/01/2007");
Date d2 = df.parse("26/01/2007");

String s = "";
if (d1.equals(d2)) {
s = "sama dengan";
} else if (d1.before(d2)) {
s = "sebelum";
} else if (d1.after(d2)) {
s = "sesudah";
   }
      System.out.println(d1 + " " + s + ' ' + d2);
 } catch (Exception e) {
  System.err.println(e.toString());
 }


Date now = new Date();
System.out.printf("Sekarang: %tA, %<td %<tB %<tY %n", now);

long l = now.getTime();
// Sekarang ditambah 5 hari
l += 5 * 24 * 60 * 60 * 1000;

System.out.print("5 hari yang akan datang: ");
System.out.printf("%tA, %<td %<tB %<tY %n", new Date(l));

System.out.println();
Calendar cal = Calendar.getInstance();

// Tidak tepat
int tgl = cal.get(Calendar.DAY_OF_MONTH);
System.out.println("5 hari yang akan datang: " + (tgl+5));

// Sekarang ditambah 5 hari
cal.add(Calendar.DATE, 5);
System.out.print("5 hari yang akan datang: ");
System.out.printf("%td %<tB %<tY %n", cal.getTime());


// Set waktu kalender = current time
cal.setTime(new Date());

cal.add(Calendar.DATE, -3);
System.out.print("3 hari yang lalu: ");
System.out.printf("%td %<tB %<tY %n", cal.getTime());



SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM yyyy");
Calendar cal1 = Calendar.getInstance();
// Set tgl sekarang = 01 Januari 2020
cal1.set(2020, 0, 1);
cal1.add(Calendar.YEAR, 10);
System.out.println("10 tahun kemudian: " + sdf.format(cal1.getTime()));


sdf = new SimpleDateFormat("dd MMMM yyyy [H:m:s]");
cal1.set(2000, 0, 1, 1, 0, 0); // 01 Januari 2000 01:00:00
cal1.add(Calendar.MINUTE, -90);
System.out.println("1,5 jam yang lalu: " + sdf.format(cal1.getTime()));
// Output: 31 Desember 1999 [23:30:00]


sdf = new SimpleDateFormat("dd MMMM yyyy [H:m:s]");
cal1.setTime(new Date());
System.out.println(sdf.format(cal1.getTime()));

// 3 jam 30 menit 30 detik kemudian
cal1.add(Calendar.HOUR, 3);
cal1.add(Calendar.MINUTE, 30);
cal1.add(Calendar.SECOND, 30);
System.out.println(sdf.format(cal1.getTime()));
  }


}


REFF:
 * @author Didik Dwi Prasetyo, [didik_rpl at yahoo dot com]



Membuat Timer Java Code

run:
Mulai...
Awal: Tue Jan 17 14:56:43 ICT 2017
Batas: 5 detik
Akhir: Tue Jan 17 14:56:48 ICT 2017
now: 14:56:43
now: 14:56:44
now: 14:56:45
now: 14:56:46
now: 14:56:47
now: 14:56:48
Selesai...

Mulai...
ini dilaksanakan
Selesai...
BUILD SUCCESSFUL (total time: 11 seconds)





package okdeh;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Calendar;

public class MyTimer {

public static void simpleTimer(int interval, int intBatas) {
Date now, lewat;
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, intBatas);
lewat = cal.getTime();
// Hanya sekadar informasi
System.out.println("Awal: " + new Date());
System.out.println("Batas: " + intBatas + " detik");
System.out.println("Akhir: " + lewat);
try {
do {
now = new Date();
Thread.sleep(interval);
// Hanya sekadar informasi
System.out.printf("now: %tT %n", now);
} while (now.before(lewat));

} catch (InterruptedException ex) {
System.out.println(ex.getMessage());
}
}



  public static void main(String[] args) {
System.out.println("Mulai...");
// Batas 5 detik, interval 1 detik (1000 milidetik)
simpleTimer(1000, 5);
System.out.println("Selesai...");
System.out.println();


int batas = 5000;  // 5 detik
// Menetapkan batas waktu
Date dtRun = new Date(System.currentTimeMillis() + batas);
Timer tmr = new Timer();

System.out.println("Mulai...");

tmr.schedule(new TimerTask() {
 public void run() {
System.out.println("ini dilaksanakan");
       System.out.println("Selesai...");
System.exit(0);
}
    }, dtRun);

  }


}

Java Code Generate Kalendar

January 2017
====================
Mi Se Se Ra Ka Ju Sa
--------------------
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 # 18 19 20 21
22 23 24 25 26 27 28
29 30 31
--------------------
BUILD SUCCESSFUL (total time: 0 seconds)


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package okdeh;

import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class Kalender2 {
  private static final int[] jml_hari = {
    31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
  };

  public Kalender2() {
    Calendar cal = Calendar.getInstance();
    int thn = cal.get(Calendar.YEAR);
    int bln = cal.get(Calendar.MONTH);

    // Menciptakan objek GregorianCalendar dengan tahun dan
    // bulan saat ini
    GregorianCalendar gCal = new GregorianCalendar(thn, bln, 1);

    System.out.printf("%tB %<tY %n", new Date());
    System.out.println("====================");
    System.out.println("Mi Se Se Ra Ka Ju Sa");
    System.out.println("--------------------");

    // Jumlah kolom kosong di awal bulan
    int blank = gCal.get(Calendar.DAY_OF_WEEK)-1;

    int dMonth = jml_hari[bln];
    // Jika tahun kabisat, jumlah hari bulan Februari = 29
    if (gCal.isLeapYear(gCal.get(Calendar.YEAR)) && bln == 1) {
      ++dMonth;
    }

    // Mengosongkan kolom sebelum tanggal 1
    for (int i=0; i<blank; i++) {
      System.out.print("   ");
    }

    // Mencetak tanggal sebanyak jumlah hari bulan
    for (int i=1; i<=dMonth; i++) {
      // Tambahkan satu karakter kosong jika tgl <= 9
      if (i <= 9) {
        System.out.print(" ");
      }

      // Jika i = tgl sekarang, cetak sebagai karakter #
      if (i == cal.get(Calendar.DATE)) {
        System.out.print("#");
      } else {
        System.out.print(i);
      }

      if ((blank + i) % 7 == 0) {
        System.out.println();
      } else {
        System.out.print(" ");
      }
    }
    System.out.println("\n--------------------");
  }

  public static void main(String[] args) {
    new Kalender2();
  }
}

Java Code Generate Kalender

January 2017
====================
Mi Se Se Ra Ka Ju Sa
--------------------
 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
--------------------

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package okdeh;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class Kalender {
  private static final int[] jml_hari = {31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31};

  public Kalender() {
    Calendar cal = Calendar.getInstance();
    int thn = cal.get(Calendar.YEAR);
    int bln = cal.get(Calendar.MONTH);

    // Menciptakan objek GregorianCalendar dengan tahun dan
    // bulan saat ini
    GregorianCalendar gCal = new GregorianCalendar(thn, bln, 1);

    System.out.printf("%tB %<tY %n", new Date());
    System.out.println("====================");
    System.out.println("Mi Se Se Ra Ka Ju Sa");
    System.out.println("--------------------");

    // Jumlah kolom kosong di awal bulan
    int blank = gCal.get(Calendar.DAY_OF_WEEK)-1;

    int dMonth = jml_hari[bln];
    // Jika tahun kabisat, jumlah hari bulan Februari = 29
    if (gCal.isLeapYear(gCal.get(Calendar.YEAR)) && bln == 1) {
      ++dMonth;
    }

    // Mengosongkan kolom sebelum tanggal 1
    for (int i=0; i<blank; i++) {
      System.out.print("   ");
    }

    // Mencetak tanggal sebanyak jumlah hari bulan
    for (int i=1; i<=dMonth; i++) {
      // Tambahkan satu karakter kosong jika tgl <= 9
      if (i <= 9) {
        System.out.print(" ");
      }

      System.out.print(i);

      if ((blank + i) % 7 == 0) {
        System.out.println();
      } else {
        System.out.print(" ");
      }
    }
    System.out.println("\n--------------------");

  }


  public static void main(String[] args) {
    new Kalender();
  }

}


Java Code Penjadwal Loop Runtask

Penjadwalan pada: Sun Jan 01 10:20:55 ICT 2017
Tut..tut...
Selesai...
dilaksanakan [Tue Jan 17 14:51:32 ICT 2017]
dilaksanakan [Tue Jan 17 14:51:37 ICT 2017]
dilaksanakan [Tue Jan 17 14:51:42 ICT 2017]
dilaksanakan [Tue Jan 17 14:51:47 ICT 2017]
dilaksanakan [Tue Jan 17 14:51:52 ICT 2017]
dilaksanakan [Tue Jan 17 14:51:57 ICT 2017]
dilaksanakan [Tue Jan 17 14:52:02 ICT 2017]
dilaksanakan [Tue Jan 17 14:52:07 ICT 2017]
.....

+++++


package okdeh;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.text.SimpleDateFormat;
import java.text.ParseException;

public class Penjadwal {

  public static void penjadwalSekali(String tgl) {
TimerTask task = new TimerTask() {
public void run() {
// Simulasi task, pesan teks
System.out.println("Tut..tut...");
System.out.println("Selesai...");
}
};

String pola = "dd/MM/yyyy H:mm:ss";
try {
SimpleDateFormat sdf = new SimpleDateFormat(pola);
sdf.setLenient(false);
Date dt = sdf.parse(tgl);
System.out.println("Penjadwalan pada: " + dt);

Timer tmr = new Timer();
tmr.schedule(task, dt);

} catch (ParseException ex) {
System.out.println("Error: " + ex.getMessage());
} catch (IllegalArgumentException ex) {
System.out.println("Tidak valid: " + ex.getMessage());
}

  }


  public static void penjadwalBerulang(int periode) {
TimerTask task = new TimerTask() {
public void run() {
System.out.println("dilaksanakan [" + new Date() +"]");
}
};

Timer tmr = new Timer();
tmr.scheduleAtFixedRate(task, 0, periode);
  }


  public static void main (String[] args) {
penjadwalSekali("01/1/2017 10:20:55");

    // Penjadwalan berulang, setiap 5 detik
penjadwalBerulang(5000);
  }

}




Java Code Get Current Time

Tue Jan 17 14:49:05 ICT 2017
Tue Jan 17 14:49:05 ICT 2017
Tgl: 01/17/17
Jam: 02:49:05 PM

Tanggal: 17/1/2017
Jam: 2:49:5
Tgl: 17
Bln: 01
Thn: 2017

GregorianCalendar
Tue Jan 17 14:49:05 ICT 2017




package okdeh;

import java.util.Calendar;
import java.util.GregorianCalendar;


public class CurrentTime {

  public static void main( String[] args ) {

    System.out.println(new java.util.Date());

    System.out.println(java.util.Calendar.getInstance().getTime());
System.out.printf("Tgl: %tD%n", System.currentTimeMillis());
System.out.printf("Jam: %tr%n", System.currentTimeMillis());


Calendar cal = Calendar.getInstance();

// Informasi tanggal sekarang
System.out.print("\nTanggal: ");
System.out.print(cal.get(Calendar.DATE) + "/");
System.out.print(cal.get(Calendar.MONTH)+1 + "/");
System.out.println(cal.get(Calendar.YEAR));

// Informasi jam
System.out.print("Jam: ");
System.out.print(cal.get(Calendar.HOUR) + ":");
System.out.print(cal.get(Calendar.MINUTE) + ":");
System.out.println(cal.get(Calendar.SECOND));

System.out.printf("Tgl: %td%n", new java.util.Date());
System.out.printf("Bln: %tm%n", new java.util.Date());
System.out.printf("Thn: %tY%n", new java.util.Date());

System.out.println("\nGregorianCalendar");
GregorianCalendar now = new GregorianCalendar();
System.out.println(now.getTime());
  }

}