‘ RinariN ‘

Mei 5, 2008

Program Selection Sort

Diarsipkan di bawah: Java programming — by rinarin @ 8:06 am

import java.util.*;

class node {
int data;
node next,prev;
public node (int n) {
data = n;
next = prev = null;
}
}

class list {
node head,tail;
public list () {
head = tail = null;
}

void addLast(int n) {
node input = new node(n);
if(head==null) {
head = tail = input;
}
else {
tail.next = input;
input.prev = tail;
tail = input;
}
}

void urutkan() {
node satu = head;
while(satu!=tail && satu!=null) {
node dua = satu, jalan = satu.next;
while(jalan!=null){
if(jalan.data<dua.data)
dua = jalan;
jalan = jalan.next;
}
if(satu!=dua)
tukar(satu,dua);

satu = satu.next;
}
}

void tukar(node satu,node dua) {
int temp = dua.data;
dua.data = satu.data;
satu.data = temp;
}

void cetak () {
node temp = head;
while(temp!=null) {
System.out.print(temp.data+” “);
temp = temp.next;
}
}
}

public class SelectionSort {
public static void main (String[] args) {
Scanner input = new Scanner (System.in);
System.out.print(“Jumlah bilangan : “);
int n = input.nextInt();
list angka = new list();

System.out.println(“Masukkan bilangan :”);
for(int i=0;i<n;i++) {
System.out.print(“>> “);
int a = input.nextInt();
angka.addLast(a);
}

System.out.println(“Urutan bilangan dari kecil ke besar :”);
angka.urutkan();
angka.cetak();
System.out.println();
}
}

Program Bubble Sort

Diarsipkan di bawah: Java programming — by rinarin @ 8:06 am

import java.util.*;

class node {
int data;
node next,prev;
public node (int n) {
data = n;
next = prev = null;
}
}

class list {
node head,tail;
public list () {
head = tail = null;
}

void addLast(int n) {
node input = new node(n);
if(head==null) {
head = tail = input;
}
else {
tail.next = input;
input.prev = tail;
tail = input;
}
}

void urutkan() {
node satu = head, dua = head, ulang = head;
while(ulang!=tail){
satu = head;
while(satu != null){
dua = satu.next;
if(dua != null){
if(dua.data<satu.data)
tukar(satu,dua);
}
satu=satu.next;
}
ulang=ulang.next;
}

}

void tukar(node satu,node dua) {
int temp = dua.data;
dua.data = satu.data;
satu.data = temp;
}

void cetak () {
node temp = head;
while(temp!=null) {
System.out.print(temp.data+” “);
temp = temp.next;
}
}
}

public class BubleSort {
public static void main (String[] args) {
Scanner input = new Scanner (System.in);
System.out.print(“Jumlah bilangan : “);
int n = input.nextInt();
list angka = new list();

System.out.println(“Masukkan bilangan :”);
for(int i=0;i<n;i++) {
System.out.print(“>> “);
int a = input.nextInt();
angka.addLast(a);
}

System.out.println(“Urutan bilangan dari kecil ke besar :”);
for(int i=0;i<n-1;i++){
angka.urutkan();
}
angka.cetak();
System.out.println();
}
}

Program Binary Search

Diarsipkan di bawah: Java programming — by rinarin @ 8:02 am

import java.util.Scanner;

class ArrayQ{
int[] data;
int pj;

public ArrayQ(int ArrayQ){
data = new int[ArrayQ];
pj=0;
}

void insert(int angka){
int i;
for(i=0; i<pj; i++){
if(data[i] > angka)
break;
}

for(int j=pj; j>i; j–){
data[j] = data[j-1];
}
data[i] = angka;
pj++;
}

void display(){
for(int i=0; i<pj; i++)
System.out.print(data[i] + ” “);
System.out.println();
}

void searching(int key){
System.out.println(“\nProses Pencarian Angka “+key);

int bawah=0;
int tengah;
int atas = pj-1;

while(atas>=bawah){
tengah=(bawah+atas)/2;
if(data[tengah]==key){
System.out.println(“Status : ditemukan!!”);
return;
}
else{
if (data[tengah]<key) bawah = tengah+1;
else atas = tengah-1;
}
}

System.out.println(“Status : tidak ditemukan!!”);
}
}

public class BinarySearch{
public static void main(String[] args){
System.out.println(“^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^”);
System.out.println(” Binary Search\n “);
System.out.println(“^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^”);
Scanner input = new Scanner(System.in);
System.out.print(“Jumlah angka = “);
int jumlah = input.nextInt();

ArrayQ list;
list = new ArrayQ(jumlah);

System.out.println(“Masukkan angka :”);
int[] angka=new int[jumlah];
for(int i=0;i<jumlah;i++){
System.out.print(“>> “);
angka[i] = input.nextInt();
list.insert(angka[i]);
}

list.display();
System.out.println(“\nDicari : “);
int cari = input.nextInt();

list.searching(cari);
// System.out.println(“Status : ditemukan!!”);
// System.out.println(“Status : tak ditemukan!!”);

System.out.println();
}
}

Program Linear Search

Diarsipkan di bawah: Java programming — by rinarin @ 8:00 am

import java.util.Scanner;

class Node {
int data,index;
Node next;
public Node(int data,int index){
this.data=data;
this.index=index;
}
}

class LinkedList{
Node head, tail;

void addLast(int nilai,int id){
Node input=new Node(nilai,id);

if(head==null){
head=tail=input;
}
else{
tail.next=input;
tail=input;
}
}

void display(){
Node temp=head;
while(temp!=null){
System.out.print(temp.data+” “);
temp=temp.next;
}
}

void searching(int key){
Node temp = head;
System.out.println(“\nProses Pencarian Angka “+key);
while(temp!=null){
if(temp.data==key){
System.out.println(“Status : ditemukan di indeks ke-”+temp.index);
break;
}
else
temp=temp.next;
}
if(temp==null)
System.out.println(“Status : tak ditemukan!!”);

}

}

public class LinearSearch{
public static void main(String[] args){
System.out.println(“^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^”);
System.out.println(” Linear Search\n “);
System.out.println(“^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^”);

LinkedList list=new LinkedList();
Scanner input = new Scanner(System.in);
System.out.print(“Jumlah angka = “);
int jumlah = input.nextInt();
input = new Scanner(System.in);
System.out.println(“Masukkan angka :”);
int angka;
for(int i=0;i<jumlah;i++){
System.out.print(“>> “);
angka = input.nextInt();
list.addLast(angka,i); // nama team disimpan dalam queue
}

list.display();
System.out.print(“\nDicari : “);
int cari = input.nextInt();
list.searching(cari);
System.out.println();
}
}

Program Simulasi Pertandingan Sistem Gugur

Diarsipkan di bawah: Java programming — by rinarin @ 7:59 am

import java.util.*;
/* Program Simulasi Pertandingan Sistem Gugur Khusus Jumlah Team 2^n  */

class Node {
String nama;
int level;
Node next;
Node left,right,parent;
public Node(String n) {
nama = n;
level = 0;
next = left = right = parent= null;
}
public Node(){
}
void setLevel(int n){                // memberi level di tiap node yang se-level
level = n;                        // dengan traversal preorder
if(left!=null)
left.setLevel(n+1);
if(right!=null)
right.setLevel(n+1);
}
}

class Queue {
Node head,tail;

public Queue () {
head = tail = null;
}

void addQueue (Node baru) {
if(head==null){
head = tail = baru;
}
else {
tail.next = baru;
tail = baru;
}
}
Node find(String cari) {
Node temp = head;
while(temp!=null) {
if(temp.nama.equalsIgnoreCase(cari))
return temp;
temp = temp.next;
}
return null;
}
}
class tree {
Node root;
public tree(Node n){
root = n;
}

void proses (Queue antri,String tim1,String tim2) {
Node satu = antri.find(tim1);
Node dua = antri.find(tim2);
int j = 0;
while(satu.parent!=dua.parent){            // selama parent ga sama, dia naik terus
j++;                                // j untuk menghitung banyak team yang harus dikalahkan
satu = satu.parent;
dua = dua.parent;
}
String babak=”penyisihan”;                // default babak : penyisihan
if(satu.parent.level==0)
babak = “final”;
else if(satu.parent.level==1)
babak = “semi final”;
else if(satu.parent.level==2)
babak = “perempat final”;
System.out.println(tim1+” dan “+tim2+” dapat bertemu di babak “+babak);
System.out.println(tim1+” harus mengalahkan “+j+” tim sebelum bisa bertemu dengan “+tim2);
}
}

public class tanding {
public static void main (String[] args) {
Scanner input = new Scanner(System.in);
System.out.print(“Jumlah tim = “);
int jumlah = input.nextInt();
input = new Scanner(System.in);
System.out.println(“Masukkan nama tim :”);
String nama = “”;
Queue antri = new Queue();
for(int i=0;i<jumlah;i++){
System.out.print(“Tim ke-”+(i+1)+” >> “);
nama = input.nextLine();
antri.addQueue(new Node(nama));        // nama team disimpan dalam queue
}

tree jadwal = buatTree(antri);            // buat tree dengan nama2 yang sudah diinputkan tadi
if(jadwal.root!=null)
jadwal.root.setLevel(0);
String pil=”y”;
while(pil==”y” || pil==”Y”) {
System.out.print(“\nMasukkan nama tim 1 >> “);
String tim1 = input.nextLine();
System.out.print(“Masukkan nama tim 2 >> “);
String tim2 = input.nextLine();
jadwal.proses(antri,tim1,tim2);
System.out.print(“\nUlang lagi (y)? “);
pil = input.nextLine();
}
}

static tree buatTree(Queue antri){
Node temp = antri.head;
while(temp.next!=null) {        // bikin parent sampe final
Node p = new Node();
if(temp.parent==null && temp.next.parent==null) {
temp.parent = temp.next.parent = p;        // membuat parent dari 2 anak
p.left = temp;                            // left diarahkan lagi ke anak kiri
p.right = temp.next;                    // right diarahkan lagi ke anak kanan
}
antri.addQueue(p);
temp = temp.next.next;
}
return new tree(temp);
}
}

April 30, 2008

SeberaPa Kaya ya BiLL GaTes itu..??

Diarsipkan di bawah: uneg-uneg — by rinarin @ 3:37 pm

Fakta-fakta dari seorang Bill Gates:

1. Bill Gates menghasilkan US$250 setiap detiknya, itu sekitar US$20 juta sehari dan US$7,8 milyar setahun!

2. Jika dia menjatuhkan US$1.000, dia bahkan tidak perlu repot-repot lagi untuk mengambilnya kembali karena sama dengan waktu 4 detik untuk mengambil, dia sudah memperoleh penghasilan dalam jumlah yang sama.

3. Utang nasional Amerika sekitar US$5,62 trilyun, jika Bill Gates akan membayar sendiri utang itu, dia akan melunasinya dalam waktu kurang dari 10 tahun.

4. Dia dapat menyumbangkan US$15 kepada semua orang di dunia tapi tetap dapat menyisakan US$5 juta sebagai uang sakunya.

5. Michael Jordan adalah atlit yang dibayar paling mahal di Amerika. Jika dia tidak makan dan minum dan tetap membiarkan penghasilannya utuh dalam setahun sejumlah US$30 juta, dia tetap harus menunggu sampai 277 tahun agar bisa sekaya Bill Gates sekarang.

6. Jika Bill Gates adalah sebuah negara, dia akan menjadi negara terkaya sedunia nomor ke 37 atau jadi perusahaan Amerika terbesar nomor 13, bahkan melebihi IBM.

7. Jika semua uang Bill Gates ditukarkan ke dalam pecahan US$1, kita dapat menyusunnya menjadi jalan dari bumi ke bulan, 14 kali bolak balik. Tapi jalan itu harus dibuat non stop selama 1.400 tahun dan menggunakan total 713 buah pesawat Boeing 747 untuk mengangkut semua uang itu.

8. Bill Gates sekarang berumur 40 tahun. Jika kita mengasumsikan dia dapat hidup 35 tahun lagi maka dia harus membelanjakan US$6,78 juta per hari untuk menghabiskan semua uangnya sebelum dia pergi ke surga.

9. Tapi! Jika pemakai Microsoft Windows dapat mengklaim US$1 untuk setiap kali komputernya hang karena Microsoft Windows, Bill Gates akan segera bangkrut dalam waktu 3 tahun!

April 15, 2008

GauL dg akhLak, akhLak untuk GauL

Diarsipkan di bawah: uneg-uneg — by rinarin @ 7:51 am

Ngomongin lawan jenis dijamin udah jadi agenda harian remaja. Cewek mana sih yang nggak ada kata cowok dalam kamusnya. Yang cowok juga sama. Pokoknya nggak boleh ketinggalan kalo udah asyik gosipin gebetannya. Seolah lawan jenis selalu mangkal dalam kepala kita. Mengalir dalam darah kita. Dan menghembus dalam desah napas kita. Ini bener-bener red alert !

Bener lho. Pergaulan remaja kian hari kian menunjukkan sinyal-sinyal berbahaya. Di mana aja, kapan aja, cewek-cowok campur baur tak tekendali. Kagak ada remnya. Nyelonong trus kayak rem blong. Kalo mobil tabrakan masih mending penyoknya ke dalem. Coba kalo cewek ditabrak’ cowok, penyoknya kan ke luar. Apa nggak malu? Ini nih satu dari sekian banyak bahaya gaul bebas remaja sekarang. Ini berarti tanda-tanda pergaulan remaja sekarang udah kagak sehat. Hati-hati lho!

Secara alamiah, remaja mulai mengalami pertumbuhan dan perkembangan secara fisik, psikologis, dan sosial. Secara fisik, organ-organ tubuh termasuk organ reproduksi mulai mateng. Secara psikologis, remaja mulai mengurangi ketergantungannya dengan orang tua. Dan secara sosial, remaja mulai mengenal dunia luar. Gaul ama temen-temen sebaya maupun masyarakat luas.

Menurut penelitian baru-baru ini budaya seks bebas sudah menggejalan di kalangan anak muda, ada berita menghebohkan ketika suatu penelitian yang dilakukan oleh Lembaga Studi Cinta dan Kemanusiaan serta Pusat Pelatihan Bisnis dan Humaniora (LSCK PUSBIH) menunjukkan hampir 97,05 persen mahasiswi di Yogyakarta sudah hilang keperawanannya saat kuliah. Yang lebih mengenaskan, semua responden mengaku melakukan hubungan seks tanpa ada paksaan. Semua dilakukan atas dasar suka sama suka dan adanya kebutuhan. Selain itu, ada sebagian responden mengaku melakukan hubungan seks dengan lebih dari satu pasangan dan tidak bersifat komersil. (detik.com). Naudzubillah…

Karena itu sebagai kader muslim kita harus punya etika dalam pergaulan. Menurut Ust Farid Etika pergaulan dalam Islam ada 4 yaitu :
1. Dengan Ukhuwah
2. Menundukkan Pandangan kepada lawan jenis
3. Tidak berduaan dengan lawan jenis (berkhalwat)
4. Memakai hijab

Sehingga hubungan kerjasama antara laki-laki dan perempuan dalam bentuk hubungan yang bersifat umum dalam muamalah, bukan hubungan khusus seperti saling mengunjungi antara laki-laki dan perempuan, atau pergi bertamasya bersama antara laki-laki dan perempuan.

“Akan tiba suatu zaman atas manusia dimana perhatian mereka hanya tertuju pada urusan perut dan kehormatan mereka hanya benda semata-mata. Kiblat mereka hanya urusan wanita (seks), dan agama mereka adalah harta mas dan perak. Mereka adalah makhluk Allah yang terburuk dan tidak akan memperoleh bagian yang menyenangkan di sisi Allah SWT.” (HR. Ad Dailami)

So, udah pada tempatnya kalo kita kudu ngebahas persoalan seks itu dengan penuh tanggung jawab. Artinya, kudu ngerti bahwa seks itu adalah bagian dari perbuatan manusia yang ada hisabnya. Bukannya mau nakutin, sanksi dari Islam buat para pelaku seks bebas itu keras banget. Dalam Islam itu jelas, pelaku zina sanksinya adalah dua macam; buat yang masih bujangan adalah jilid 100 kali ditambah pengasingan selama setahun, sedangkan bagi yang sudah menikah adalah rajam hingga mati. Aturan yang keras ini bersifat pencegahan, supaya orang nggak melakukannya. Juga sebagai penebus atas dosa perzinaan yang sudah ia kerjakan.

program family tree

Diarsipkan di bawah: Java programming — by rinarin @ 7:48 am

import java.util.*;
class Node{
String nama;
int level;
Node parent,sibling,anak;
linkedList child;                // linkedlist yg selevel
public Node(String n){
nama = n;
parent = sibling = anak = null;
child = null;
level = 0;
}
void view(Node berhenti){        // u/ ngeprint anaknya root
// anak root
System.out.println(nama);
// anaknya anak root dst
if(anak!=null){
for(int i=0;i<anak.level;i++)
System.out.print(“   “);
anak.view(anak);        // kalo masih ada yang levelnya dibwh anak root, print
}
// sodara anaknya anak root dst
if(sibling!=berhenti && sibling.parent==this.parent){
for(int i=0;i<sibling.level;i++)
System.out.print(“   “);
sibling.view(berhenti);
}

}
}

class linkedList {
Node head,tail;
public linkedList (){
head = tail = null;
}

Node find(String cari){
Node temp=head;
do{
if(temp.nama.contains(cari)){
return temp;
}
temp = temp.sibling;
}while(temp!=head && temp!=null);
return null;
}
void add(Node input){
// u/ nambah linkedlist child
if(head.child==null){
head.child = new linkedList();
head.child.head = input;
head.child.tail = input;
input.sibling = input;
}
else{
Node temp = head.child.head;
while(temp.parent!=input.parent && temp.sibling!=head.child.head)
temp = temp.sibling;
input.sibling = temp.sibling;
temp.sibling = input;
}
// u/ ngehubungin parent dan anaknya
if(input.parent.anak==null)
input.parent.anak = input;
input.level = input.parent.level + 1;
System.out.println(“Berhasil memasukkan “+input.nama+” sebagai anak dari “+input.parent.nama);
}
}

class Tree{
Node root;
public Tree(){
root = null;
}
void insert(String a,String b){
if(b.equals(“”)){        // sbg root
if(root==null){
root = new Node(a);
System.out.println(“Berhasil memasukkan “+a+” sebagai root”);
}
else
System.out.println(“Input Error!!”);
}
else if(root.nama.contains(b)){        // nambah anak root
if(!menikah(root))
return;
Node baru = new Node(a);
baru.parent = root;
baru.level = 1;
if(root.child==null){
root.child = new linkedList();    // nambahnya dg buat linkedlist baru
root.child.head = baru;
root.child.tail = baru;
root.anak = baru;
baru.sibling = baru;
}
else{
root.child.tail.sibling = baru;
baru.sibling = root.child.head;
root.child.tail = baru;
}
System.out.println(“Berhasil memasukkan “+a+” sebagai anak dari “+b);
}
else{    // nambah cucu root dan seterusnya
linkedList temp = findList(b);
Node input = new Node(a);
if(temp != null){
if(!menikah(temp.find(b)))
return;
input.parent = temp.find(b);
temp.add(input);         // nambah dari linkedlist
}
else
System.out.println(“Tidak ada anggota keluarga bernama “+b);
}
}

void view(){
if(root==null){
System.out.println(“Belum ada data”);
}
else{
System.out.println(root.nama);            // ngeprint root
if(root.anak!=null){
for(int i=0;i<root.anak.level;i++)
System.out.print(“   “);
root.anak.view(root.anak);
}
}
}
linkedList findList (String cari){
linkedList temp = root.child;
while(temp!=null){
if(temp.find(cari)!=null)
return temp;
temp = temp.head.child;
}
return null;
}
void findAll(String nama){
if(root.nama.equals(nama)){
System.out.println(nama+” adalah root”);
}
else{
linkedList temp = findList(nama);
if(temp!=null){
Node p = temp.find(nama);
if(p.sibling==p)
System.out.println(“Tidak ada anggota keluarga yang selevel dengan “+nama);
else{
p = p.sibling;
System.out.print(“Anggota keluarga yang selevel dengan “+nama+” adalah “+p.nama);
while(p.sibling!=temp.find(nama)){
System.out.print(“, “+p.sibling.nama);
p = p.sibling;
}
}
}
else
System.out.println(“Tidak ada anggota keluarga bernama “+nama);
System.out.println();
}
}
void relation(String a,String b){
linkedList temp = findList(a);
linkedList temp2 = findList(b);
if(temp==null || temp2==null){
if(!(root.nama.contains(a) || root.nama.contains(b))){
System.out.println(“Input Error !!”);
return;
}
}
Node satu=null,dua=null;
//kalo salah satunya root
if(temp==null){
satu = root;
dua = temp2.find(b);
}
else if(temp2==null){
dua = root;
satu = temp.find(a);
}
//kalo dua-duanya bukan root
else{
satu = temp.find(a);
dua = temp2.find(b);
}

if(satu!=null && dua!=null){
// dikondisikan satu paling muda(levelnya besar)
if(dua.level>satu.level){
Node s = satu;
satu = dua;
dua = s;
}
if(satu.level == dua.level){
if(satu.parent==dua.parent)
System.out.println(a+” adalah saudara kandung “+b);
else  System.out.println(a+” adalah saudara sepupu “+b);
}
else{
int selisih = satu.level – dua.level;
if(selisih==1){
if(satu.parent==dua)
System.out.println(dua.nama+” adalah orangtua dari “+satu.nama);
else  System.out.println(satu.nama+” adalah keponakan “+dua.nama);
}
else if(selisih==2){
System.out.println(satu.nama+” adalah cucu “+dua.nama);
}
else if(selisih==3){
System.out.println(satu.nama+” adalah cicit “+dua.nama);
}
else{
System.out.println(satu.nama+” adalah canggah “+dua.nama);
}
}
}
}
void marry(String a,String b){
linkedList temp = findList(a);
Node m = null;
if(temp==null){
if(root.nama.equals(a)){
m = root;
}
else{
System.out.println(“Input error !!”);
return;
}
}
else
m = temp.find(a);
m.nama = m.nama + ” ” + b;
System.out.println(“cie..cie.. , akhirnya “+a+” nikah juga sama si “+b);
}
boolean menikah(Node cek){
StringTokenizer st = new StringTokenizer(cek.nama);
if(st.countTokens()!=2){
System.out.println(cek.nama+” belum menikah !!”);
return false;
}
return true;
}
}

public class SilsilahKeluargaKlp76{
public static void main(String[] args){
Scanner input = new Scanner (System.in);
String perintah;
Tree silsilah = new Tree();
StringTokenizer st;
while(true){
System.out.print(“command >> “);
perintah = input.nextLine();
while(perintah.length()<10)
perintah = perintah + ” “;
if(perintah.substring(0,6).equalsIgnoreCase(“insert”)){
st = new StringTokenizer(perintah.substring(7));
if(st.countTokens()==1){
silsilah.insert(st.nextToken(),”");
}
else{
silsilah.insert(st.nextToken(),st.nextToken());
}
}
else if(perintah.substring(0,4).equalsIgnoreCase(“view”)){
System.out.println();
silsilah.view();
System.out.println();
}
else if(perintah.substring(0,8).equalsIgnoreCase(“relation”)){
st = new StringTokenizer(perintah.substring(9));
silsilah.relation(st.nextToken(),st.nextToken());
}
else if(perintah.substring(0,8).equalsIgnoreCase(“find_all”)){
st = new StringTokenizer(perintah.substring(9));
silsilah.findAll(st.nextToken());
}
else if(perintah.substring(0,5).equalsIgnoreCase(“marry”)){
st = new StringTokenizer(perintah.substring(6));
silsilah.marry(st.nextToken(),st.nextToken());
}
else
System.out.println(“Nginput yang bener donkZzz!!!”);
}
}
}

program traversals binary search tree

Diarsipkan di bawah: Java programming — by rinarin @ 7:48 am

// input file .txt

import java.util.*;
import java.io.*;

class Node{
int data;
Node left,right,father;
public Node(int input){
data=input;
this.left=null;
this.right=null;
this.father=null;
}
void cetak(){
System.out.print(data+” “);
}
}

class binaryTree{
Node root;
public binaryTree(){    //bikin binary tree dg root kosong
root=null;
}
boolean isEmpty(){
return(root==null);
}
void insert(int input){
Node baru = new Node(input);
Node parent;

if(isEmpty()){
root = baru;
System.out.print(“Root sekarang : “+input+”\n”);
}

else{
Node now = root;
while(now!=null){
parent = now;
if(input<now.data){    // masuk kiri
System .out.println(input+” ada di kiri “+now.data);
now=now.left;
if(now==null){
parent.left = baru;
}
}
else{                // masuk kanan
System .out.println(input+” ada di kanan “+now.data);
now=now.right;
if(now==null){
parent.right = baru;
}
}
}
}
}// end of insert

void preorder(Node temp){
if(temp!=null){
temp.cetak();
preorder(temp.left);
preorder(temp.right);
}
}// end of preorder

void inorder(Node temp){
if(temp!=null){
inorder(temp.left);
temp.cetak();
inorder(temp.right);
}
}// end of inorder

void postorder(Node temp){
if(temp!=null){
postorder(temp.left);
postorder(temp.right);
temp.cetak();
}
}// end of postorder

}

public class BST{
public static void main(String[] args){
System.out.println(“^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^”);
System.out.println(“    Traversals Binary Search Tree    “);
System.out.println(“    by Rina_74 & Venty_168 Klp 76    \n”);
System.out.println(“^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^”);
Scanner masuk = new Scanner(System.in);
binaryTree a = new binaryTree();
int pilih,isi;

/* INPUTAN FILE dari inputTree.txt */
try{
FileReader p = new FileReader(“inputTree.txt”);
BufferedReader baca = new BufferedReader(p);
StringTokenizer st = new StringTokenizer(baca.readLine());
while(st.hasMoreTokens()){
int s = Integer.parseInt(st.nextToken());
a.insert(s);
}
baca.close();
}catch(Exception e){e.printStackTrace();}

do{
System.out.println(“\n1 >> Traversal PreOrder”);
System.out.println(“2 >> Traversal InOrder”);
System.out.println(“3 >> Traversal PostOrder”);
System.out.println(“4 >> Out of program”);

System.out.print(“Input = “);
pilih = masuk.nextInt();
switch(pilih){
case 1:    System.out.print(“Traversal PreOrder : “);
a.preorder(a.root);
System.out.println();
break;
case 2:    System.out.print(“Traversal InOrder : “);
a.inorder(a.root);
System.out.println();
break;
case 3:    System.out.print(“Traversal PostOrder : “);
a.postorder(a.root);
System.out.println();
break;
case 4: System.out.println(“\nTq 4 ur aTTenTioN ;) \n”);
System.out.close();
default : System.out.println(“Wewh,, inputnya salah!! Jelaz2 antara 1-4..\n”);
}
}while(pilih!=4);
}
}

program simulasi FRS-an

Diarsipkan di bawah: Java programming — by rinarin @ 7:46 am

import java.util.Scanner;
class Peserta {
String nama;
String nrp;
Peserta nextPes,prevPes;    // u/ nge-link
public Peserta (String nama, String nrp){    // contructor
this.nama = nama;
this.nrp = nrp;
}
}

class Kelas {
Peserta head;
Peserta tail;
String nmKlas;
int kapasitas;    // kapasitas kelas
int jumlah;        // kursi yang terisi
Kelas nextKel,prevKel;    // u/ nge-link
public Kelas(String namaKlas,int k){    // constructor
nmKlas = namaKlas;
kapasitas = k;
jumlah = 0;
head = tail = null;
}

void edit(int k) {
kapasitas = k;
}

public Peserta find (String nrp){
Peserta search = head;
while (search!=null){
if(search.nrp.equals(nrp))    // jika search = nrp
return search;
search=search.nextPes;        // posisi search digeser
}
return null;    // jika tidak ada, return null
}

void cetakPeserta(){
System.out.println(“\nKelas “+nmKlas+” (“+jumlah+”/”+kapasitas+”) :”);
Peserta p = head;
while(p != null) {
System.out.println(p.nrp+” – “+p.nama);
p = p.nextPes;
}
}

void addPeserta(Peserta input){

if(head == null) {        // jika belum ada isinya,
head = input;        // input diposisikan sbg head dan tail
tail = input;
jumlah++;            // kursi yang terisi bertambah
}
else if (head.nrp.compareTo(input.nrp) > 0) {    // jika head.nrp > input.nrp
input.nextPes = head;
head.prevPes = input;
head = input;
jumlah++;
}
else if (tail.nrp.compareTo(input.nrp) < 0) {    // jika tail.nrp < input.nrp
tail.nextPes = input;
input.prevPes = tail;
tail = input;
jumlah++;
}
else {
Peserta temp, temp2;
temp = head;

while(temp.nrp.compareTo(input.nrp) < 0) {    // jika temp.nrp < input.nrp
temp = temp.nextPes;
}
temp.prevPes.nextPes = input;
input.prevPes = temp.prevPes;
temp.prevPes = input;
input.nextPes = temp;
jumlah++;
}
}

void removeFirst(){
if(head!=null){
if(head==tail){        // jika hanya ada 1 node
head=tail=null;
jumlah–;
}
else{                // jika ada >1 node
head=head.nextPes;    // posisi head digeser ke next
jumlah–;            // shg otomatis head awal hilang
}
}
}

void removeLast(){
if(head!=null){
if(head==tail){        // jika hanya ada 1 node
head=tail=null;
jumlah–;
}                    // jika ada >1 node
else{
Peserta temp = head;
while(temp.nextPes!=tail){    // di loop hingga bertemu tail
temp=temp.nextPes;
}
tail=temp;
temp.nextPes=null;
jumlah–;
}
}
}

void removePeserta(String nrpPes){
Peserta pointer = find(nrpPes);    // pointer di posisi nrp yg ingin di-del
if(pointer==null)return;
else if(pointer==head)removeFirst();
else if(pointer==tail)removeLast();
else{
Peserta beforeData = head;
while(beforeData.nextPes!=pointer){    // beforeData digeser hingga bertemu pointer
beforeData=beforeData.nextPes;
}
Peserta afterData = pointer.nextPes;
beforeData.nextPes = afterData;
jumlah–;
}
}
}

class MK {                // sebagian besar method di MK sama dengan method di Kelas
Kelas head;            // hanya berbeda atributnya
Kelas tail;
public MK(){}

public Kelas find (String kelasApa){
Kelas search = head;
while (search!=null){
if(search.nmKlas.equals(kelasApa))
return search;
search=search.nextKel;
}
return null;
}

Kelas cariPeserta(String nrp) {
Kelas temp = head;
while(temp != null) {
if(temp.find(nrp) != null) {
return temp;
}
temp = temp.nextKel;
}
return null;
}

void cetakKelas(){
Kelas temp;
temp=head;
while (temp!=null){
System.out.print(” “+ temp.nmKlas + ” ” + temp.kapasitas);
temp = temp.nextKel;
}
}

void cetakSemua () {
Kelas temp;
temp = head;
while(temp != null) {
temp.cetakPeserta();
temp = temp.nextKel;
}
}

void addKelas(){
Scanner input = new Scanner(System.in);
System.out.print(“Banyak kelas : “);
String in = input.nextLine();
int bnyk = Integer.parseInt(in);

for(int i=1;i<=bnyk;i++) {
Kelas data;
System.out.print(“Nama kelas : “);
String nama = input.nextLine();
System.out.print(“Kapasitas : “);
in = input.nextLine();
int k = Integer.parseInt(in);
data = new Kelas(nama,k);

if(head == null) {
head = data;
tail = data;
}
else if (head.nmKlas.compareTo(data.nmKlas) > 0) {
data.nextKel = head;
head.prevKel = data;
head = data;
}
else if (tail.nmKlas.compareTo(data.nmKlas) < 0) {
tail.nextKel = data;
data.prevKel = tail;
tail =data;
}
else {
Kelas temp;
temp = head;

while(temp.nmKlas.compareTo(data.nmKlas) < 0) {
temp = temp.nextKel;
}
temp.prevKel.nextKel = data;
data.prevKel = temp.prevKel;
temp.prevKel = data;
data.nextKel = temp;
}

data = null;
System.out.println(“Kelas “+nama+” telah ditambahkan”);
}
}

void cariKelas() {
Scanner input = new Scanner(System.in);
System.out.print(“Masukkan nama kelas : “);
String nama = input.nextLine();
if(find(nama) == null) {
System.out.println(“Kelas tidak ada”);
}
else {
find(nama).cetakPeserta();
}
}

void editKap() {
Scanner input = new Scanner(System.in);
Kelas temp = null;
System.out.print(“Pilih kelas : “);
String kel = input.nextLine();

temp = find(kel);
if(temp == null) {
System.out.println(“Kelas tidak ada”);
}
else {
System.out.println(“Kapasitas sekarang = “+temp.kapasitas);
System.out.println(“Kapasitas baru     = “);
kel = input.nextLine();
int k = Integer.parseInt(kel);
temp.kapasitas = k;
}
}
}
public class prakShift2mataKuliah {
public static void main(String[] args) {
System.out.println(“** PRAKTIKUM MODUL 1 SHIFT 2 PSD 2008 **”);
System.out.println(“             LINKED LIST”);
System.out.println(“            by Kelompok 76″);
System.out.println(“          Rina_74 & Venty_168″);

Scanner input = new Scanner(System.in);

MK matKul = new MK();
int pilihan;
do{
System.out.println(“\nMenu :”);
System.out.println(“1. Menambah kelas”);
System.out.println(“2. Menambah peserta”);
System.out.println(“3. Menghapus peserta”);
System.out.println(“4. Edit kapasitas kelas”);
System.out.println(“5. Cari kelas”);
System.out.println(“6. Cari peserta”);
System.out.println(“7. Tampilkan semua data”);
System.out.println(“8. Keluar”);
System.out.println(“Masukkan pilihan >> “);
String pil = input.nextLine();
pilihan = Integer.parseInt(pil);
switch (pilihan) {
case 1 : matKul.addKelas();
break;
case 2 : tambahPeserta(matKul);
break;
case 3 : hapusPeserta(matKul);
break;
case 4 : matKul.editKap();
break;
case 5 : matKul.cariKelas();
break;
case 6 : cariPeserta(matKul);
break;
case 7 : matKul.cetakSemua();
break;
}
}
while(pilihan != 8);

}

static String inputNRP(){
Scanner input = new Scanner(System.in);
String nrp;
System.out.print(“Masukkan NRP : “);
nrp = input.nextLine();
return nrp;
}

static void cariPeserta(MK matKul) {
String nrp = inputNRP();
if(matKul.cariPeserta(nrp) == null) {
System.out.println(“Peserta tidak ada”);
}
else {
Peserta temp = matKul.cariPeserta(nrp).find(nrp);
System.out.println(temp.nrp+” – “+temp.nama);
System.out.println(“Kelas “+matKul.cariPeserta(nrp).nmKlas);
}
}

static void hapusPeserta(MK matKul) {
String nrp = inputNRP();
if(matKul.cariPeserta(nrp) != null) {
matKul.cariPeserta(nrp).removePeserta(nrp);
}
}

static void tambahPeserta(MK matKul) {
Scanner input = new Scanner(System.in);
String kelas;
Kelas temp = null;
do {
System.out.print(“Pilih kelas : “);
kelas = input.nextLine();
temp = matKul.find(kelas);
if(temp == null){    // cek apakah kelas sudah diciptakan??
System.out.println(“Kelas tidak ada”);
}
else if(temp.jumlah == temp.kapasitas) {    // jika jumlah = kapasitas, tidak bisa tambah peserta
System.out.println(“Kapasitas kelas sudah penuh !!”);
temp = null;
}
}while((temp == null));
Peserta p;
System.out.print(“Masukkan nama : “);
String nama = input.nextLine();
String nrp = inputNRP();
if(matKul.cariPeserta(nrp) != null)
System.out.println(“NRP Anda sudah terdaftar”);

else {
p = new Peserta(nama,nrp);
temp.addPeserta(p);
}
}
}

« Halaman SebelumnyaHalaman Berikutnya »

Didukung oleh WordPress.com