Selasa, 21 April 2015

Linked List


Linked List (daftar berkait) adalah suatu node (simpul) yang menunjuk ke node (simpul) berikutnya dalam suatu urutan. Suatu node minimal harus mempunyai 2 komponen, yaitu:
1.      Satu atau lebih field yang berisi data di daftar berkait.
2.      Satu atau lebih field berupa pointer yang menunjuk ke node lainnya. Field yang berupa pointer ini disebut dengan link.

Berikut ini salah satu contoh program menggunakan link list

program linked_list;
uses crt;
type ptrdata = ^recorddata;
     recorddata = record
        item : string;
        berikut : ptrdata
     end;

var pd : ptrdata;
    elem : string;

procedure node_baru(var baru: ptrdata; elemen: string);
var ps: ptrdata;
Begin
  new(ps);
  new(baru);
    baru^.item := elemen;
    baru^.berikut := nil;
End;
Procedure tambah_depan(Var depan : ptrData; elemen : string);
Var  ps :ptrdata;
Begin
  new(ps);
  new(depan);
    node_baru(ps,elemen);
    ps^.berikut  :=  pd;
    pd:=ps ;
End;
BEGIN
  clrscr;
  new(pd);
  elem := 'Nama          : Nurul Annisa';
     tambah_depan(pd, elem);
     writeln(pd^.item);

  elem := 'NIM           : J1F114054';
     tambah_depan(pd, elem);
     writeln(pd^.item);
     writeln;

  elem := 'Nama          : Nur Dina';
     tambah_depan(pd, elem);
     writeln(pd^.item);

  elem := 'NIM           : J1F114051';
     tambah_depan(pd, elem);
     writeln(pd^.item);

  readln;
END.


Hasil Output :


Senin, 13 April 2015

Pointer

Pointer merupakanvariabelkhusus yang berisisuatu address (alamat) di lokasilaindidalam memory. Suatuvariabel yang points(menunjuk) kesesuatusehinggadisebut pointer.
 Ada duamacam pointer:
·                Typed(tertentu): merupakan pointer yang menunjukpadatipe data tertentupada variable.
·                Generic(umum): merupakan pointer yang tidakmenunjukpadatipe data tertentupada variable

        Pointer merupakan suatu tipe data dalam Pascal yang berfungsi untuk  menunjuk dan menyimpan
alamat memori. Dalam penulisan pointer biasa digambar  dengan panah, sedangkan bagian memori yang
ditunjuk digambar dengan kotak, dan isinya ditulis di dalam kotak.

Berikut ini merupakan contoh program pointer

uses crt;
VAR
       nama,nim:^string;
       shift,nomeja:integer;

BEGIN
      clrscr;
      new(nama);
      nama^:='Nurul Annisa';
      new(nim);
      nim^:='J1F114054';
      shift:=1;
      nomeja:=14;

      write('Nama         : '); writeln(nama^);
      write('NIM          : '); writeln(nim^);
      write('Shift        : '); writeln(shift);
      write('Nomor Meja   : '); writeln(nomeja);
      writeln;
      readln;
END.

 Hasil Output :