Thursday, 5 December 2013

Linked List Berbasis Gui java JFrame Form




pertama saya ucapkan trimkasih gan udah mau mampir  hohohoho

nah kali ini saya akan berbagi ilmu pemrograman linked list berbasis GUI
disini saya akan menggunaka kelas java Jframe form agar penggunaan dan pembuatan lebih terlihat mudah
karena yang manual menurut saya lebih rumi karena peletakkan GUI yang kita ingkin kan kadang -kadang tidak sesuai dengan yang kita harapkan

<<<pengalaman nya sih gitu

hmmm saya akan menjelaskan sedikit maksud dari program saya

dsini saya membuat bahan dari Struktur Data dimana program ini mampu memasukkan angka secara input yang memiliki maksud  untuk messakkuan angka dengan menggunaka
ADD FIRST,MID,LAST
REMOVE FIRST,MID,LAST

kemudian dapat membuat data nya ASCENDING maupun DESCENDING
lalu ada sebuah fasilitas dimana kita dapat melakukan pencarian data ataupun mengupdata data yang kita inginkan

o iya gan dari pada basa basi mending kita coba langsung

pertama kita membuat kelas java biasa terlebih dahulu dengan namaListNode
setelah itu copas script berikut


Coding :
package Project;

public class ListNode {

    private int data;
    private ListNode next;

    ListNode() {
    }

    public ListNode(int data) {
        this.data = data;
    }

    public ListNode(int data, ListNode next) {
        this.data = data;
        this.next = next;
    }

    public int getData() {
        return data;
    }

    public void setData(int data) {
        this.data = data;
    }

    public ListNode getNext() {
        return next;
    }

    public void setNext(ListNode next) {
        this.next = next;
    }
}





kedua kita membuat kelas java biasa terlebih dahulu dengan nama Linked List
setelah itu copas script berikut



Coding :
package Project;

import javax.swing.JOptionPane;

public class LinkedList {

    ListNode firstNode;
    ListNode lastNode;
    ListNode middleNode;
    String nama;
    int size;

    public LinkedList() {
    }

    public LinkedList(String nama) {
        this.nama = nama;
    }

    public boolean IsEmpty() {
        if (firstNode == null && lastNode == null) {
            return true;
        } else {
            return false;
        }
    }

    public void addFirst(int data) {
        if (IsEmpty()) {
            ListNode Baru = new ListNode(data);
            firstNode = Baru;
            lastNode = Baru;
        } else {
            ListNode Baru = new ListNode(data);
            Baru.setNext(firstNode);
            firstNode = Baru;
        }
    }

    public void addlast(int data) {
        if (IsEmpty()) {
            ListNode Baru = new ListNode(data);
            firstNode = Baru;
            lastNode = Baru;
        } else {
            ListNode Baru = new ListNode(data);
            lastNode.setNext(Baru);
            lastNode = Baru;

        }
    }

    public void addMiddle(int data) {
        if (IsEmpty()) {
            ListNode baru = new ListNode(data);
            firstNode = baru;
            middleNode = baru;
            lastNode = baru;
        } else {
            if (count() == 1) {
                ListNode baru = new ListNode(data);
                middleNode = baru;
                middleNode.setNext(firstNode);
                firstNode = middleNode;
            } else if (count() == 2) {
                ListNode baru = new ListNode(data);
                ListNode bantu;
                bantu = firstNode.getNext();
                middleNode = baru;
                firstNode.setNext(middleNode);
                middleNode.setNext(bantu);
            } else if (count() >= 3) {
                ListNode baru = new ListNode(data);
                double pos = count() / 2;
                middleNode = firstNode;
                ListNode bantu;
                for (int i = 1; i < pos; i++) {
                    middleNode = middleNode.getNext();
                }
                bantu = middleNode.getNext();
                middleNode.setNext(baru);
                baru.setNext(bantu);
            }
        }
    }

    public ListNode removeFirst() {
        ListNode bantu;
        if (IsEmpty()) {
            if (firstNode == lastNode) {
                bantu = firstNode;
                firstNode = lastNode = null;
                return bantu;
            }
        } else {
            bantu = firstNode;
            firstNode = firstNode.getNext();
            return bantu;
        }
        return null;

    }

    public ListNode removelast() {
        ListNode bantu;
        if (!IsEmpty()) {
            bantu = firstNode;
            while (bantu.getNext() != lastNode) {
                bantu = bantu.getNext();
            }
            lastNode = bantu;
            bantu = bantu.getNext();
            lastNode.setNext(null);
        } else {
            bantu = firstNode;
            firstNode = firstNode.getNext();
            return bantu;
        }
        return null;
    }

    public ListNode removeMiddle() {
        if (!IsEmpty()) {
            ListNode bantu;
            bantu = firstNode;
            if (firstNode == lastNode) {
                firstNode = lastNode = null;
                return bantu;
            } else {
                if (count() == 2) {
                    firstNode = firstNode.getNext();
                } else if (count() == 3) {
                    bantu = firstNode.getNext();
                    firstNode.setNext(bantu.getNext());
                } else if (count() >= 3) {
                    int pos = count() / 2;
                    for (int i = 0; i < pos; i++) {
                        bantu = bantu.getNext();
                    }
                    middleNode = firstNode;
                    while (middleNode.getNext() != bantu) {
                        middleNode = middleNode.getNext();
                    }
                    middleNode.setNext(bantu.getNext());
                }
                return bantu;
            }
        } else {
            return null;
        }
    }

    @Override
    public String toString() {
        String tampil = "";
        ListNode Bantu = firstNode;
        while (Bantu != null) {
            tampil += Bantu.getData() + " ";
            Bantu = Bantu.getNext();
        }
        return tampil;
    }

    public void bubleSortAsc(ListNode bantu) {
        if (IsEmpty()) {
            JOptionPane.showMessageDialog(null, "Tidak ada data untuk diSorting");
        }
        for (int i = 0; i < count(); i++) {
            while (bantu.getNext() != null) {
                if (bantu.getData() > bantu.getNext().getData()) {
                    int temp = bantu.getData();
                    bantu.setData(bantu.getNext().getData());
                    bantu.getNext().setData(temp);
                    bantu = bantu.getNext();
                } else {
                    bantu = bantu.getNext();
                }
            }
            bantu = firstNode;
        }
    }

    public void bubleSortDesc(ListNode bantu) {
        if (IsEmpty()) {
            JOptionPane.showMessageDialog(null, "Tidak Ada Data Untuk diSorting");
        }
        for (int i = 0; i < count(); i++) {
            while (bantu.getNext() != null) {
                if (bantu.getData() < bantu.getNext().getData()) {
                    int temp = bantu.getData();
                    bantu.setData(bantu.getNext().getData());
                    bantu.getNext().setData(temp);
                    bantu = bantu.getNext();
                } else {
                    bantu = bantu.getNext();
                }
            }
            bantu = firstNode;
        }
    }

    public void SequentialSearch(ListNode bantu, int cari) {
        int indeks = 0;
        if (IsEmpty()) {
            JOptionPane.showMessageDialog(null, "Data masih kosong!");
        } else if (isFound(cari)) {
            bantu = firstNode;
            for (int i = 0; i < count(); i++) {
                if (bantu.getData() == cari) {
                    bantu = bantu.getNext();
                    indeks = i;
                } else {
                    bantu = bantu.getNext();
                }
            }
            JOptionPane.showMessageDialog(null, "Data " + cari + " Ditemukan Pada Indeks " + indeks);
        } else {
            JOptionPane.showMessageDialog(null, "Data " + cari + " Tidak Ditemukan");
        }
    }

    public Boolean isFound(int update) {
        ListNode x = firstNode;
        while (x != null) {
            if (x.getData() == update) {
                return true;
            }
            x = x.getNext();
        }
        return false;
    }

    public void update(int update) {
        ListNode x = firstNode;
        if (IsEmpty()) {
            JOptionPane.showMessageDialog(null, "Data Masih kosong");
        } else if (isFound(update)) {
            while (x != null) {
                if (x.getData() == update) {
                    int d = Integer.parseInt(JOptionPane.showInputDialog("Masukkan Data Baru : "));
                    x.setData(d);
                } else {
                    x = x.getNext();
                }
            }
        } else {
            JOptionPane.showMessageDialog(null, "Data " + update + " Tidak Ada Dalam List");
        }
    }

    public int count() {
        ListNode bantu = firstNode;
        size = 0;
        while (bantu != null) {
            bantu = bantu.getNext();
            size++;
        }
        return size;
    }
}




nah setelah kelas kedua tersebut sudah selesai maka sekarang kita akan mebuat sebuah GUI nya dengan Jform, kemudian semoga kalian mengerti dengan kelasi ini

buatlah kelas Jform bernama Frame link

kemudian contohlah script dibawah ini
NOTE : tidak bisa di copas, sehingga agan agan sekalian lakukan drag and drop secara manual kemudian analisa sendiri program yang saya buat


Coding :









nah itu hasil dari Jform yang saya buat dan hasil nya seperti ini
jadi
inti dari postingan saya coba lah untuk menganalisa program yang saya buat ini

semoga bermanfaat ^_^ 
Silahkan Tinggalkan Komentar Anda :

1 comments:

mas, coding pada GUI nya gak bisa di tampilin

Sampaikan Komentar anda dengan sopan dan bertanggung jawab
Trimakasih

4you

Another Post

LABEL

Powered by Blogger.

Search This Blog