Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
STRUKTUR DATA
NAMA
: ALI FAHRUDDIN
NIM
KELAS
:B
MODUL
2014
BAB I
TUJUAN DAN LANDASAN TEORI
1.1 Tujuan Praktikum
Nil
New(P)
??
P^:=123
123
Dispose(P)
??
i := 0;
while list <> nil do
begin
i := i + 1;
list := list^.next;
end;
size := i;
end;
3. Menyisipkan Node Baru
Menyisipkan node baru pada ist diakukan dengan cara mencari lokasi tempat node
baru akan disisipkan, kemudn menyisipkan node baru tersebut. Hal ini dapat
dilakukan menggunakan bantuan sebuah pointer untuk mecari sebuah node yang
akan tersambung langsung dengan node baru. Kemudian, nade baru dapat
disisipkan pada lokasi sebelum atau sesudah node terseut. Swebagai contoh,
prosedur berikut adalah untuk menyisispkan node baru sebelum node:
procedure sisipnode (var list : tipelist; IB : tipeinfo);
var
NB, ptr : tipeptr;
ketemu : boolean;
begin
new(NB);
NB^.info := IB;
NB^.next := nil;
if list = nil then list := NB
else
if IB.nim <= list^.info.nim then
begin
NB^.next := list;
list := NB;
end
else
begin
ketemu := false;
ptr := list;
while (ptr^.next <> nil) and not (ketemu) do
begin
if ptr^.next^.info.nim >= IB.nim then
ketemu := true'
else
ptr := ptr^.next
end;
NB^.next := ptr^.next;
ptr^.next := NB
end
end;
Menghapus node adalah menghapus sebuah elemen dari list. Hal ini dapat
dilakukan dengan mencari/menandai node yang akan dihapus, yaitu node yang
memuat nilai seperti yang akan dihapus, kemudian mengarahkan pointer pada
node sebelumnya ke arah node sesudah node yang akan dihapus, dan kemudian
menghapus node yang dimaksud.
procedure hapusnode(var list:tipelist; kuncihapus :
string);
var ptr1, ptr2 : tipeptr;
begin
new(ptr1);
new(ptr2);
ptr1 := nil;
ptr2 := nil;
while (ptr2^.info.nim <> kuncihapus) do
begin
ptr1 := ptr2;
ptr2 := ptr2^.next;
end;
if ptr1 = nil then
list := list^.next
else
ptr1^.next := ptr2^.next
dispose (ptr2)
end;
BAB II
LANGKAH KERJA
A. Tugas Praktikum
1. Buatlah program untuk menambah, menghapus, dan menampilkan data
dengan linear linked list dan data tersebut harus urut.
BAB III
PEMBAHASAN
Linked list adalah salah satu struktur data dasar yang sangat fundamental dalam
bidang ilmu komputer. Dengan menggunakan linked list maka programmer dapat
mennyimpan datanya kapanpun dibutuhkan. Linked List berisi kumpulan data
Kemudian kita membuat tipe data bentukan yaitu DtList dengan Pointer
simpul node (^Node) dan kita membuat tipe record yaitu node dengan isi
info bertipe Elemen serta kiri, kanan bertipe Dtlist.
Kita membuat procedure InitList yang digunakan untuk pertama kali, yaitu
mengalokasikan pointer untuk head, nilai awal dari list adalah kosong (nil).
Untuk mengngecek apakah sudah ada List yang masuk maka kita membuat
Function Kosong yang bertipe boolean dimana masukkan awal dari list ini
adalah kosong (nil).
Dan apabila pemilihan diatas masih belum menemukan lokasi yang tepat
maka procedure ini juga terdapat pengulangan while..do yang digunakan
untuk persyaratan (bantu^.kanan <> nil) dan (bantu^.kanan^.info < data)
keduanya terpenuhi maka akan dilakukan pengulangan untuk mencari lokasi
list tersebut.
Dan jalan terakhir yang ditempuh untuk mencarikan tempat list adalah dengan
pemilihan if bantu^.kanan <> nill. Dan untuk mengakhiri procedure ini kita
ketikkan statement end;.
Didalam procedure ini melakukan penghapusan sebuah elemen dari list yang
dilakukan adalah dengan mencari/menandai node yang akan dihapus, yaitu
node yang memuat nilai yang akan dihapus, kemudian mengarahkan pointer
pada node sebelumnya ke arah node sesudah node yang akan dihapus, dan
kemudian menghapus node yang dimaksudkan. Disini ada beberapa pemilihan
yang dilakukan apabila list kosong akan muncul pesan Tidak ada Data. Dan
apabila ada data yang masuk dalam list maka program ini akan menampilkan
data apa yang dihapus dan user disuruh untuk menginputkan data list apa yang
dihapus, apabila data tidak ditemukan maka akan ada pesan Tidak ada data,
dan apabila data list telah ditemukan maka data tersebut akan dihapus
Dalam program utama ini digunakan variabel lagi dengan nilai false dan
kemudian kita gunakan pengulangan while..do dengan not lagi yang
digunakan apabila nilainya tidak salah. Kemudian kita gunakan statement
clrscr yang digunakan untuk membersikan output yang ada sebelumnya.
Kemudian kita munculkan procedure menu untuk menampilkan menu. Dan
Untuk pilihan 1 kita berikan output Menampilkan Data. Dan kita berikan
statement readln(c) yang digunakan untuk menginputkan data yang
dimaksukkan oleh user. Serta kita berikan procedure Tambah yang
ditambahkan dengan parameter c dan a.
Dan pada pilihan 2 kita berikan output Menghapus Data. Dan untuk
menghapus data yang dimaksud kita berikan statement readln(c) yang
digunakan untuk mencari data yang cocok untuk dihapus yang dinputkan oleh
user. Serta kita menggunakan procedure Hapus dengan ditambah parameter c
dan a.
Dan pada pilihan yang terakhir yaitu pilihan 4 kita menuliskan statement lagi
dengan nilai benar yang digunakan untuk mengakhiri program ini.
Dan untuk mengakhiri program ini maka kita tuliskan statement end. dengan
menggunkan titik (.)
Untuk mengeksekusi program ini maka kita tekan CTRL+F9 maka output
yang akan muncul adalaha;
BAB IV
KESIMPULAN
Linked list adalah daftar record sejenis yang satu sama lain dihubungkan
dengan ponter sehingga membentuk data yang berantai. Linked list merupakan
struktur data yang memiliki kelebihan dalam efisiensi memori dan kecepatan
dalam menyisipkan data. Linked list berguna untuk menyimpan beberapa data
dalam memori.
Prosedur standar untuk membuat dan menghapus sebuah variabel dinamis,
yaitu new dan dispose.
1. Jika P telah dideklarasikan sebagai sebuah variabel pointer bertipe node,
maka pernyataan new(P) akan menciptakan sebuah variabel dinamis baru
bertipe node dan menandai lokasinya dengan pointer P.
2. Sedangkan pernyataan dispose(p) akan mengembalikan ruang yang
digunakan pada lokasi yang ditunjuk P ke sistem komputer; pointer P
menjadi tidak terdefinisi lagi.
Elemen-elemen list berupa record yang memuat field berisi informasi data
serta sebuah field bertipe pointer yang berisi alamat elemen berikutnya. Operasi
pada Linked List sebagai berikut:
Membuat list
Mengetahui panjang list (jumlah elemen)
Menyisipkan node baru
Mengganti nilai informasi pada suatu node dalam list
Menghapus node dari suatu list
BAB V
DAFTAR PUSTAKA
Teknik informatika, 2014. Modul Struktur data. Universitas Palangkaraya:
Palangkaraya.
http://brawlyvonfabre.blogspot.com/feeds/posts/default
http://books.google.co.id/books/about/struktur_data_pemrograman_dengan_p
ascal.html?id=nlHmSh2KVXYC
BAB VI
LAMPIRAN
o Coding:
o Output
Untuk menambah data kita inputkan 1. Misalnya kita beri masukan data 11.
Kita menambah data lagi maka kita inputkan 1. Misalnya dengan masukan
data 12
Ketika kita ingin menambah data lagi maka kita menginputkan 1. Misalnya
dengan masukan data 13.
Kita ingin menampilkan data yang telah kita inputkan tadi, maka untuk
menampilkan data tersebut kita inputkan 3 maka muncul Data yang kita
inputkan tadi yaitu data 11,12, dan 13.
Ketika ingin menghapus data yang telah kita inputkan maka kita inputan 2
maka muncul pesan data mana yang ingin dihapus misalnya data 12.
Ketika ingin menampilkan data kita inputkan kembali maka kita ketikkan 3
maka muncul output Data dalam list 11 dan 13 saja sedangkan data 12 hilang
karena Data sudah dihapus.