Javadisrit
Javadisrit
*;
import java.util.*;
class Node
{
public int bilBulat;
public double bilPecah;
public Node anakKiri;
public Node anakKanan;
public void displayNode()
{
System.out.print('{');
System.out.print(bilBulat);
System.out.print(", ");
System.out.print(bilPecah);
System.out.print("} ");
}
}
class Pohon
{
private Node akar;
public Pohon()
{ akar = null; }
}
}
class ApliPohon
{
public static void main(String[] args)
throws IOException
{
int nilai;
Pohon pohonBaru = new Pohon();
pohonBaru.tambah(50, 1.5);
pohonBaru.tambah(25, 1.2);
pohonBaru.tambah(75, 1.7);
pohonBaru.tambah(12, 1.5);
pohonBaru.tambah(37, 1.2);
pohonBaru.tambah(43, 1.7);
pohonBaru.tambah(30, 1.5);
pohonBaru.tambah(33, 1.2);
pohonBaru.tambah(87, 1.7);
pohonBaru.tambah(93, 1.5);
pohonBaru.tambah(97, 1.5);
while(true)
{
System.out.print("Ketik huruf pertama, ");
System.out.print("lihat, tambah, cari, hapus, atau kunjungan: ");
int pilih = getChar();
switch(pilih)
{
case 'l':
pohonBaru.displayPohon();
break;
case 't':
System.out.print("Masukkan nilai untuk tambah: ");
nilai = getInt();
pohonBaru.tambah(nilai, nilai + 0.9);
break;
case 'c':
System.out.print("Masukkan nilai to cari: ");
nilai = getInt();
Node hasil = pohonBaru.cari(nilai);
if(hasil != null)
{
System.out.print("Diperoleh : ");
hasil.displayNode();
System.out.print("\n");
}
else
System.out.print("Tidak bida ditemukan ");
System.out.print(nilai + '\n');
break;
case 'h':
System.out.print("Masukkan nilai untuk dihapus: ");
nilai = getInt();
boolean didDelete = pohonBaru.hapus(nilai);
if(didDelete)
System.out.print("Dihapus " + nilai + '\n');
else
System.out.print("Tidak bisa dihapus ");
System.out.print(nilai + '\n');
break;
case 'k':
System.out.print("Masukkan angka 1, 2 atau 3: ");
nilai = getInt();
pohonBaru.traverse(nilai);
break;
default:
System.out.print("Salah memasukkan huruf \n");
}
}