11 May 2014

Mencetak Piramida Pengabungan dan Sorting Kalimat dengan Java

Buatlah program seperti berikut :



Cetakan bentuk segitiga muncul satu persatu dengan interval 0,5 detik.

  1. Adanya minimal 4 kelas.
  2. Terdapat Konsep OOP (Thread, Encapsulation)
  3. 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]

No comments:

Post a Comment

Berkomentarlah dengan sopan dan jangan membuat hal yang merugikan siapapun, terima kasih.