Buatlah program seperti berikut :
Cetakan bentuk segitiga muncul satu persatu dengan interval 0,5 detik.
- Adanya minimal 4 kelas.
- Terdapat Konsep OOP (Thread, Encapsulation)
- Terdapat Exception handling untuk penanganan error.
Jawaban :
Buat sebuah package untuk menentukan tanggal simpan dengan nama file Time.java
package Packageku;
import java.util.Calendar;
public class Time {
private Calendar calendar = Calendar.getInstance(); //information hidding
public String getHari() {
if (calendar.get(Calendar.DAY_OF_WEEK) == 1) {
return "Sunday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 2) {
return "Monday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 3) {
return "Tuesday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 4) {
return "Wednesday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 5) {
return "Thursday"; }
else
if (calendar.get(Calendar.DAY_OF_WEEK) == 6) {
return "Friday"; }
else
{
return "Saturday"; }
}
public String getBulan() {
if (calendar.get(Calendar.MONTH) == 0) {
return "January";
}
else
if (calendar.get(Calendar.MONTH) == 1) {
return "February";
}
else
if (calendar.get(Calendar.MONTH) == 2) {
return "Maret";
}
else
if (calendar.get(Calendar.MONTH) == 3) {
return "April";
}
else
if (calendar.get(Calendar.MONTH) == 4) {
return "May";
}
else
if (calendar.get(Calendar.MONTH) == 5) {
return "June";
}
else
if (calendar.get(Calendar.MONTH) == 6) {
return "July";
}
else
if (calendar.get(Calendar.MONTH) == 7) {
return "August";
}
else
if (calendar.get(Calendar.MONTH) == 8) {
return "September";
}
else
if (calendar.get(Calendar.MONTH) == 9) {
return "October";
}
else
if (calendar.get(Calendar.MONTH) == 10) {
return "November";
}
else
{
return "December";
}
}
public String getTime() {
String hari;
String tanggal;
String bulan;
String tahun;
hari = getHari();
tanggal = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
bulan = getBulan();
tahun = String.valueOf(calendar.get(Calendar.YEAR));
return (hari + "," + " " + bulan + " " + tanggal + "," + " " + tahun);
}
}
Kemudian buat file dengan nama Piramidaku.java
import Packageku.Time;
import java.io.*;
import java.util.*;
abstract class first{ //abstract kelas
public String nama;
public String angka;
public String simbol;
abstract protected void cetak(); //abstract method
}
class second extends first{ //inheritance
private Time w; //information hidding
protected void cetak(){ //overriding
w = new Time();
System.out.println("English : " + w.getTime());
System.out.println();
}
}
class third extends second{ //inheritance
public third(){
cetak();
}
public third(String nama, String angka, String simbol){
this.nama = nama;
this.angka = angka;
this.simbol = simbol;
}
protected String gabungan(){
return (nama+angka+simbol);
}
protected void sorting(char [] urut){
java.util.Arrays.sort(urut);
System.out.print("Setelah Sorting Berdasarkan Kode ASCII : ");
System.out.println(urut);
}
}
class fourth extends third implements Runnable{ //inheritance
private int i,j,k,x; //information hidding
private char kata; //information hidding
public fourth(){
super();
}
public fourth(String nama, String angka, String simbol){ //encapsulation
super(nama, angka, simbol);
}
private void sorting(String str, char [] urut){
System.out.println("\nSetelah Digabungkan : "+str);
System.out.println();
sorting(urut);
}
public void run(){
char [] urut = gabungan().toCharArray();
sorting(gabungan(),urut);
k = gabungan().length()/1;
x= k;
for(i=0;i
{
for(j=0;j
{
kata = urut[i];
if(j>=k){
try{
Thread.currentThread().sleep(50); //thread
}
catch(InterruptedException ie){ //checked exception
System.out.println("Terinterupsi");
}
System.out.print(kata+" ");
}
else{
System.out.print(" ");
}
}
k--;
System.out.println();
}
}
}
public class Piramidaku
{
public static void main(String[] args)throws IOException {
DataInputStream entri = new DataInputStream(System.in);
fourth e = new fourth();
System.out.print("Masukan Kalimat yang hanya mangandung huruf : ");
e.nama = entri.readLine();
System.out.print("Silahkan Masukkan Deret Angka dari 0-9 : ");
e.angka = entri.readLine();
System.out.print("Masukkan Simbol : ");
e.simbol = entri.readLine();
Thread t = new Thread (new fourth(e.nama, e.angka, e.simbol)); //thread
t.start();
}
}
Untuk
Mencetak Piramida Pengabungan dan Sorting Kalimat dengan Java selengkapnya bisa Anda download [
Download]