LINKED LIST (TAMBAH DAN HAPUS DARI BELAKANG)
PROGRAM LINKED LIST
TAMBAH & HAPUS DARI BELAKANG
NAMA : ELI NURHAYATI
NPM : 20082010115
SOAL :
Modifikasilah source code latihan Linked List Barang dengan menambahkan dua method baru, sehingga memiliki menu pilihan untuk menambah dan menghapus simpul di posisi ujung belakang.
SOURCE CODE
Class cNode
|
package
linkedlist; public class
cNode { private String kode, nama; private double harga; cNode next, belakang; cNode(String kd, String nm, double hrg){ kode=kd; nama=nm; harga=hrg;
next=null; } //Method Getter public String getKode(){ return kode; } public String getNama(){ return nama; } public double getHarga(){ return harga; } } |
|
package
linkedlist; public class
cLinkedList { cNode kepala; cNode ekor; private int jNode; cLinkedList(cNode n){ kepala=ekor=n; jNode=0; } public void addNode(cNode neww){ if(kepala==null){ kepala=ekor=neww; }else{ neww.next=kepala; kepala=neww; } System.out.println(">>
Berhasil Menambahkan Simpul... <<"); } public void addNodeBelakang(cNode neww){ if(ekor==null){ kepala=ekor=neww; } else{ ekor.next=neww; neww.belakang=ekor; ekor=neww; } } public void removeNode(){ if(kepala==null){ System.out.println(">>
Oops Linked List Masih Kosong <<"); }else{ cNode a=kepala.next;
kepala=null; kepala=a; } System.out.println(">>
Berhasil Menghapus Simpul <<"); } public void removeNodeBelakang(){ if(ekor==null){ System.out.println(">>
Oops Linked List Masih Kosong <<"); }else{ ekor=ekor.belakang; ekor.next=null; } System.out.println(">>
Berhasil Menghapus Simpul <<"); } public void printNode(){ System.out.println(" DAFTAR LINKED LIST ");
System.out.println("=========================================================");
System.out.println("|\tKODE\t|\tNAMA\t|\tHARGA\t\t|"); System.out.println("========================================================="); for(cNode a=kepala ; a!=null ;
a=a.next){
System.out.println("|\t"+a.getKode()+"\t|\t"+a.getNama()+"\t|\t"+a.getHarga()+"\t\t|"); } System.out.println(""); } public void searchNode(String b){ boolean found = false; for(cNode a=kepala ; a!=null ;
a=a.next){
if(a.getNama().equalsIgnoreCase(b)){ found=true; break; } } if(found==true){ System.out.println(">>
Yeey Produk Yang Anda Cari Berhasil Ditemukan <<"); } else { System.out.println(">>
Maaf Produk Yang Anda Cari Tidak Ditemukan <<"); } System.out.println(""); } } |
|
package
linkedlist; import
java.util.Scanner; public class
ProgramLinkedList { public static void main(String[] args) { cLinkedList ll = new
cLinkedList(null); Scanner s = new Scanner(System.in); int pilih=0; String kode, nama, cari; double harga; do{
System.out.println("\n======================"); System.out.println(" MENU LINKED LIST ");
System.out.println("======================"); System.out.println("1.
Tambah Simpul\n2. Hapus Simpul\n3. Cetak Linked List\n4. Cari Produk\n5.
Exit"); System.out.print("Pilih :
"); pilih = s.nextInt(); switch(pilih){ case 1 :
System.out.println("1. Tambah Dari Depan\n2. Tambah Dari
Belakang");
System.out.print("Pilih : "); pilih = s.nextInt(); System.out.print("Input
Kode Produk : "); kode = s.next();
System.out.print("Input Nama Produk : "); nama = s.next();
System.out.print("Input Harga Produk : "); harga = s.nextDouble(); cNode n = new
cNode(kode, nama, harga); if(pilih==1){ ll.addNode(n); break; }else if (pilih==2){
ll.addNodeBelakang(n); break; } case 2 :
System.out.println("1. Hapus Dari Depan\n2. Hapus Dari
Belakang"); System.out.print("Pilih : "); pilih = s.nextInt(); if(pilih==1){ ll.removeNode(); break; } else if(pilih==2){
ll.removeNodeBelakang(); break; } case 3 : ll.printNode(); break; case 4 :
System.out.print("Input Nama Produk Yang Dicari : "); cari = s.next(); ll.searchNode(cari); break; case 5 :
System.out.println(">>> THANK YOU <<<"); break; } }while(pilih!=5); } } |
SCREENSHOT RUNNING PROGRAM
TAMBAH SIMPUL









Komentar
Posting Komentar