Senin, 20 April 2015

LINKED LIST




Linked list tidak lain adalah suatu struktur data yg merupakan suatu rangkaian atau daftar record berjenis sama. Kemudian dihubungkan melalui bantuan pointer. Pengalokasian daftar dapat dilakukan secara dinamis sehingga isi dari daftar dapat dimanipulasi. Berikut ini adalah penerapan linked list:
Screenshot Program

Gambar. 1 Tampilan Awal


Gambar. 2 Menginputkan NIM Data Pertama


Gambar. 3 Menginputkan Nama Data Pertama


Gambar. 4 Tampilan Sebelum Menginputkan Pilihan


Gambar. 5 Menginputkan NIM Data Kedua


Gambar. 6 Menginputkan Nama Data Kedua


Gambar. 7 Tampilan Sebelum Menginputkan pilihan “T”


Gambar. 8 Tampilan Akhir
Source Code 
uses crt;
type
  node   =^data;
  data   =record
    nim  :string;
    nama :string;
    next :node;
  end;
var
  baru,bantu,ptr :node;
  i      :integer;
  jwb    :char;
  nama,nim :string;


procedure input(var p:pointer;nim:string;nama:string);
  begin
    new(baru);
    baru^.nim :=nim;
    baru^.nama:=nama;
    baru^.next:=nil;
    if p=nil then
      p:=baru
      else begin
        baru^.next:=p;
        p:=baru;
      end;
  end;

procedure output(p:pointer);
 begin
  bantu:=p;
  i:=1;
  while bantu<>nil do
    begin
      writeln('Data ke-',i);
      writeln('  NIM    : ',bantu^.nim);
      writeln('  Nama   : ',bantu^.nama);
      bantu:=bantu^.next;
      i:=i+1;
    end;
  end;

begin
  clrscr;

  new(ptr);
  ptr:=nil;
  jwb:='Y';
  writeln('***** Program Data Mahasiswa *****');
  writeln('       Link List Dari Depan    ');
  writeln;
  writeln(' Inputkan');
  while jwb='Y' do
    begin
      write  (' NIM    : ');readln(nim);
      write  (' Nama   : ');readln(nama);
      input(ptr,nim,nama);
      write  (' Lagi [Y/T]   : ');jwb:=upcase(readkey);
      writeln(jwb);
      writeln;
    end;
  writeln(' Output');
  output(ptr);
  readkey;
end.