SLL
ADT SLL
Node class NodeSLL { int data; NodeSLL next; }
Class SLL public class SingleLL { private NodeSLL pointer; public SingleLL() {pointer = null;} // membuat suatu node baru public void buatNode(int dt) {} // menambah data dt1 setelah data dt2 dalam LL public boolean sisip(int dt1, int dt2){} // secara normal data dihapus di depan public int hapusDiDepan(){} // sisip data di akhir public void sisipDiAkhir(int dt){} // cetak data public void cetak(String kom) {} }
buatNode(int dt) public void buatNode(int dt) { // membuat suatu node baru public void buatNode(int dt) { NodeSLL nodeBaru = new NodeSLL(); nodeBaru.data = dt; nodeBaru.next = pointer; pointer = nodeBaru; }
int hapusDiDepan() public int hapusDiDepan(){ int dtHapus = -1; // secara normal data dihapus di depan public int hapusDiDepan(){ int dtHapus = -1; NodeSLL hapus = pointer; pointer = pointer.next; dtHapus = hapus.data; hapus = null; return dtHapus; }
Cetak(String kom) public void cetak(String kom) { // cetak data public void cetak(String kom) { System.out.println(kom); NodeSLL n = pointer; while (n!= null) { System.out.print(n.data+"->"); n = n.next; } System.out.println("NULL");
sisipDiAkhir(int dt) NodeSLL baru = new NodeSLL(); baru.data = dt; public void sisipDiAkhir(int dt){ NodeSLL baru = new NodeSLL(); baru.data = dt; baru.next = null; }
public void sisipDataDiAkhir(int data){ Node pSblAkhir, pAkhir; pSblAkhir = null; pAkhir = pointer; Node baru = new Node(); baru.data = data; baru.next = null; while(pAkhir != null){ pSblAkhir = pAkhir; pAkhir = pAkhir.next; } pSblAkhir.next = baru;
hapusDtTt(int dt) Public void hapusDtTtt(int dt){ NodeSLL pSblHapus, pHapus; cariPosisiDt(dt,pSblHapus,pHapus); if (pSblHapus = null) pointer = pointer.next else pSblHapus.next = pHaspus.next; pHapus = null; }
sisipDataUrut(int dt) ?
Latihan Buat implementasi SLL dari objek mahasiswa Setiap mahasiswa mempunyai data: NIM, Nama, IPK Tambahkan method selain method standard yaitu : Penyisipan data ke SLL masuk dalam keadaan terurut berdasar IPK dari besar ke kecil.
Latihan kelas c Buat implementasi SLL dari objek mahasiswa Setiap mahasiswa mempunyai data: NIM, Nama, IPK Tambahkan method untuk mencopy isi SLL dari data mahasiswa yang IPKnya > 3.
Applikasi SLL
SLL of Object ? Class NodeMtk{ private String nama; private int sks; private NodeMtk next; } Class NodeMhs{
Tugas Kelompok k2 Buat implementasi tabel kelas mahasiswa berdasarkan angkatan menggunakan DLL sehingga mempunyai tampilan sbb: Kelas : IK 2009 Jumlah MHS : 12 mahasiswa --------------------------------------------------------------------------- 1. Ali 0091111 3 4 ASD 3 A SBD 3 A RPL 3 A Boleh gunakan GenSLL GenSLL dapat dii download di elearning
ADT ALL of Object public Class NodeMtk{ // data private String nama; private int sks; private NodeMtk next; // method public NodeMtk(String nm, int sks, NodeMtk nx){ } public String toString(){ return String.format(“%-15s %d %-10s”,nama,sks,next);
Stack dengan SLL ??