CONTOH DECOMFILE File java


File awal Kasir.class di decompiles dengan jd-gui-windows-1.2.0
Terlihat perbedaan hasil decompiles class nya java dibandingkan dengan file awalnya diantaranya sebagai berikut :
  • Formatnya agak berbeda dibandingkan dengan file awal yang kita buat.
  • Format yang berbeda di tandai dengan warna kuning

di bawah ini file awal :

import java.util.ListIterator;
import java.util.LinkedList;
class Barang extends Kemasan {
    public Barang (String nama){
        this.setNama(nama) ;
    }
    public int jmlKemasan() {
        return 1;
    }
    public boolean bertambah(Kemasan kemasan) {
        return false;
    }
    public boolean berkurang(Kemasan kemasan){
        return false;
    }
    public ListIterator createListIterator() {
        return null;
    }
}




abstract class Kemasan {
    LinkedList dftrKemasan;
    Kemasan kemasan;
    String nama;
    public abstract int jmlKemasan();
    public abstract boolean bertambah(Kemasan kemasan);
   
    public abstract boolean berkurang(Kemasan kemasan);
   
    public abstract ListIterator createListIterator();
    public void setKemasan(Kemasan kemasan){
        this.kemasan = kemasan;
    }
    public Kemasan getKemasan() {
        return kemasan;
    }
    public void setNama(String nama){
            this.nama = nama;
    }
    public String getNama() {
        return nama;
    }
}




class KemasanBsr extends Kemasan {
    public KemasanBsr(String nama) {
        dftrKemasan = new LinkedList();
        this.setNama(nama);
    }
   
    public int jmlKemasan() {
        int ttlKemasan = 0;
        ListIterator listIter = this.createListIterator();
        Kemasan temp;
        while (listIter.hasNext()) {
            temp = (Kemasan)listIter.next();
            ttlKemasan += temp.jmlKemasan();
        }
        return ttlKemasan;
    }
    public boolean bertambah(Kemasan kemasan) {
        kemasan.setKemasan(this);
        return dftrKemasan.add(kemasan);
    }
    public boolean berkurang (Kemasan kemasan) {
        ListIterator listIter = this.createListIterator();
        Kemasan temp;
        while (listIter.hasNext()) {
            temp = (Kemasan)listIter.next();
            if (temp == kemasan) {
                listIter.remove();
                return true;
            }
        }
        return false;
    }
    public ListIterator createListIterator() {
        ListIterator listIter = dftrKemasan.listIterator();
        return listIter;
    }   
       
}


public class TestKompositKemasan {
    public static void main (String[] args) {
    System.out.println("Buat Kemasan Besar");
    Kemasan kemasanBsr = new KemasanBsr ("Kemasan Besar");
    System.out.println("Kemasan besar mempunyai "+ kemasanBsr.jmlKemasan() + " kemasan.");
    System.out.println("Buat barang-1");
    Kemasan barang1 = new Barang ("Barang 1");
    System.out.println("jumlah: " +
barang1.jmlKemasan() + " barang.");
    System.out.println("Buat barang-2");
    Kemasan barang2 = new Barang ("Barang 2");
    System.out.println("jumlah: " + barang2.jmlKemasan() + " barang.");
    System.out.println("=============================================");

System.out.println("Barang-1 dan Barang-2 dimasukan ke dalm kemasan besar");
if (kemasanBsr.bertambah(barang1)){
    System.out.println("Barang-1 berhasil dimasukan pada kemasan besar");
} else {System.out.println("Barang-1 tidak berhasil dimasukan pada kemasan besar");
}
System.out.println("Kemasan besar sekarang mempunyai "+kemasanBsr.jmlKemasan() + " barang.");
if (kemasanBsr.bertambah(barang2)){
    System.out.println("Barang-2 berhasil dimasukan pada kemasan besar");
} else {System.out.println("Barang-2 tidak berhasil dimasukan pada kemasan besar");
}
System.out.println("Kemasan besar sekarang mempunyai " + kemasanBsr.jmlKemasan() + "barang.");
    System.out.println("=============================================");
    System.out.println("Buat Kemasan (kecil)");
    Kemasan kemasan = new KemasanBsr ("Kemasan barang(kecil)");
    System.out.println("Kemasan (kecil) mempunyai " + kemasan.jmlKemasan()+ " barang.");
    System.out.println("Buat barang-3");
    Kemasan barang3 =new Barang ("barang 3");
    System.out.println("jumlah: " + barang3.jmlKemasan() + " barang.");
    System.out.println("=============================================");
    System.out.println("Barang-3 dimasukan ke dalam kemasan (kecil)");
    if (kemasan.bertambah(barang3)){
        System.out.println("Barang-3 berhasil dimasukan pada kemasan (kecil)");
    }else { System.out.println("Barang-3 tidak berhasil dimasukan pada kemasan (kecil)");
    }
    System.out.println("Kemasan (kecil) sekarang mempunyai" + kemasan.jmlKemasan()+ " baang.");
    System.out.println("=============================================");
    System.out.println("Kemasan (kecil) dimasukan kedalam kemasan besar");
    if (kemasanBsr.bertambah(kemasan)) {
        System.out.println("Kemasan (kecil) berhasil dimasukan pada kemasan besar");
    } else { System.out.println("Kemasan (kecil) tidak berhasil dimasukan pada kemasan besar");
    }
    System.out.println("Kemasan besar sekarang mempunyai" + kemasanBsr.jmlKemasan() + " barang.");
    System.out.println("=============================================");
    System.out.println("Barang-2 diambil dari kemasan besar");
    if (kemasanBsr.berkurang(barang2)){
        System.out.println("Barang-2 berhasil diambil dari kemasan besar");
    } else { System.out.println("Barang-2 tidak berhasil diambil dari kemasan besar");
      }
    System.out.println("Kemasan besar sekarang mempunyai" + kemasanBsr.jmlKemasan()+ " barang.");
    }
}
         
Hasilnya setelah decompiles : 

import java.util.ListIterator;



class Barang extends Kemasan {
  public Barang(String paramString) {
    setNama(paramString);
  }
  public int jmlKemasan(){
    return 1;
  }
  public boolean bertambah(Kemasan paramKemasan){
    return false;
  }
  public boolean berkurang(Kemasan paramKemasan){
    return false;
  }
  public ListIterator createListIterator(){
    return null;
  }
}

import java.util.LinkedList;
import java.util.ListIterator;

abstract class Kemasan {
  LinkedList dftrKemasan;
  Kemasan kemasan;
  String nama;
  public abstract int jmlKemasan();
  public abstract boolean bertambah(Kemasan  paramKemasan);
  public abstract boolean berkurang(Kemasan paramKemasan);
  public abstract ListIterator createListIterator();
  public void setKemasan(Kemasan paramKemasan) {
    this.kemasan = paramKemasan;
  }
  public Kemasan getKemasan() {
    return this.kemasan;
  }
  public void setNama(String paramString)  {
    this.nama = paramString;
  }
  public String getNama() {
    return this.nama;
  }
}

import java.util.LinkedList;
import java.util.ListIterator;

class KemasanBsr extends Kemasan {
  public KemasanBsr(String paramString) {
    this.dftrKemasan = new LinkedList();
    setNama(paramString);
  }
 
  public int jmlKemasan() {
    int i = 0;
    ListIterator localListIterator = createListIterator();
    while (localListIterator.hasNext()){
      Kemasan localKemasan = (Kemasan)localListIterator.next();
      i += localKemasan.jmlKemasan();
    }
    return i;
  }
  public boolean bertambah(Kemasan paramKemasan){
    paramKemasan.setKemasan(this);
    return this.dftrKemasan.add(paramKemasan);
  }
  public boolean berkurang(Kemasan paramKemasan) {
    ListIterator localListIterator = createListIterator();
    while (localListIterator.hasNext()) {
      Kemasan localKemasan = (Kemasan)localListIterator.next();
      if (localKemasan == paramKemasan){
        localListIterator.remove();
        return true;
      }
    }
    return false;
  }
  public ListIterator createListIterator() {
    ListIterator localListIterator = this.dftrKemasan.listIterator();
    return localListIterator;
  }
}

import java.io.PrintStream;

public class TestKompositKemasan {
  public static void main(String[] paramArrayOfString){
    System.out.println("Buat Kemasan Besar");
    KemasanBsr localKemasanBsr1 = new KemasanBsr("Kemasan Besar");
    System.out.println("Kemasan besar mempunyai " + localKemasanBsr1.jmlKemasan() + " kemasan.");
    System.out.println("Buat barang-1");
    Barang localBarang1 = new Barang("Barang 1");
    System.out.println("jumlah: " + localBarang1.jmlKemasan() + " barang.");
    System.out.println("Buat barang-2");
    Barang localBarang2 = new Barang("Barang 2");
    System.out.println("jumlah: " + localBarang2.jmlKemasan() + " barang.");
    System.out.println("=============================================");
   
    System.out.println("Barang-1 dan Barang-2 dimasukan ke dalm kemasan besar");
    if (localKemasanBsr1.bertambah(localBarang1)) {
      System.out.println("Barang-1 berhasil dimasukan pada kemasan besar");
    } else {System.out.println("Barang-1 tidak berhasil dimasukan pada kemasan besar");
    }
    System.out.println("Kemasan besar sekarang mempunyai " + localKemasanBsr1.jmlKemasan() + " barang.");
    if (localKemasanBsr1.bertambah(localBarang2)) {
      System.out.println("Barang-2 berhasil dimasukan pada kemasan besar");
    } else {System.out.println("Barang-2 tidak berhasil dimasukan pada kemasan besar");
    }
    System.out.println("Kemasan besar sekarang mempunyai " + localKemasanBsr1.jmlKemasan() + "barang.");
    System.out.println("=============================================");
    System.out.println("Buat Kemasan (kecil)");
    KemasanBsr localKemasanBsr2 =new KemasanBsr("Kemasan barang(kecil)");
    System.out.println("Kemasan (kecil) mempunyai " + localKemasanBsr2.jmlKemasan() + " barang.");
    System.out.println("Buat barang-3");
    Barang localBarang3 = new Barang("barang 3");
    System.out.println("jumlah: " +localBarang3.jmlKemasan() + " barang.");
    System.out.println("=============================================");
    System.out.println("Barang-3 dimasukan ke dalam kemasan (kecil)");
    if (localKemasanBsr2.bertambah(localBarang3)) {
      System.out.println("Barang-3 berhasil dimasukan pada kemasan (kecil)");
    } else {System.out.println("Barang-3 tidak berhasil dimasukan pada kemasan (kecil)");
    }
    System.out.println("Kemasan (kecil) sekarang mempunyai" + localKemasanBsr2.jmlKemasan() + " baang.");
    System.out.println("=============================================");
    System.out.println("Kemasan (kecil) dimasukan kedalam kemasan besar");
    if (localKemasanBsr1.bertambah(localKemasanBsr2)) {
      System.out.println("Kemasan (kecil) berhasil dimasukan pada kemasan besar");
    } else {System.out.println("Kemasan (kecil) tidak berhasil dimasukan pada kemasan besar");
    }
    System.out.println("Kemasan besar sekarang mempunyai" + localKemasanBsr1.jmlKemasan() + "barang.");
    System.out.println("=============================================");
    System.out.println("Barang-2 diambil dari kemasan besar");
    if (localKemasanBsr1.berkurang(localBarang2)) {
      System.out.println("Barang-2 berhasil diambil dari kemasan besar");
    } else {System.out.println("Barang-2 tidak berhasil diambil dari kemasan besar");
    }
    System.out.println("Kemasan besar sekarang mempunyai" + localKemasanBsr1.jmlKemasan() + "barang.");
  }
}
 

 

Tidak ada komentar:

Posting Komentar