Ceriwis  

Go Back   Ceriwis > HOBI > Komputer & Teknologi > Programming

Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman.

Reply
 
Thread Tools
  #1  
Old 20th November 2011
Guesuper Guesuper is offline
Ceriwiser
 
Join Date: Nov 2011
Posts: 408
Rep Power: 14
Guesuper mempunyai hidup yang Normal
Default [ask] Linked List Delphi Visual

Bismillah..Assalammualaikum agan2....

mohon bantuannya jika ada yang berkenan.....

ane sangat baru dalam pemrograman delphi visual (selalu pake console). ane punya tugas buat form, tapi ane kurang paham dengan aturan visual. kesulitannya adalah mentransfer console ke visual....

ane sudah punya script consolenya




Quote:





program InsertFirstLast;



{$APPTYPE CONSOLE}



uses

SysUtils;



Type node = ^data;

data = record

nama : string; {tipe data info}

next : node;

end;

linkedlist = record

first : node

end;



procedure InputData(var keterangan:string);

begin

write('Masukan Data : ');

readln(keterangan);

end;



function createlist:node;

var p:node;

keterangan:string;

begin

InputData(keterangan);

New(P);

P^.nama := keterangan;

P^.next := nil;

createlist:=P;

end;



procedure InsertFirst(var L:linkedlist;p:node);

begin

P^.next := L.first;

L.first := P;

end;



procedure ListTraversal(L:linkedlist);

var p:node;

begin

P:=L.first;

while (Pnil) do

begin

write(P^.nama:7);

P := P^.next;

end;

writeln;

end;



Procedure InsertAfter(var prec:node;baru:node);

begin

baru^.next := prec^.next;

prec^.next := baru;

end;



procedure InsertLast(var L:linkedlist;p:node);

var Last : node;

begin

if (L.first=nil) then

InsertFirst(L,P)

else

begin

Last := L.first;

while (Last^.nextnil) do

begin

Last:=last^.next;

end;

InsertAfter(Last,P);

end;

end;



procedure InsertBefore(var L:linkedlist;baru:node;x:string);

var P,precP : node;

Found : boolean;

begin

Found := false;

PrecP :=nil;

P :=L.first;

while(pnil) and (not found) do

begin

if p^.nama = x then

begin

baru^.next:=P;

PrecP.next:=baru;

Found :=true;

end

else

begin

PrecP := P;

P := P^.next;

end;

end;

end;



procedure DeleteFirst(var L:linkedlist);

var P: node;

begin

if (L.first nil) then

begin

P:=L.first;

L.first := L.first^.next;

Dispose(p);

end;

end;



procedure DeleteAfter(var prec:node);

var P: node;

begin

if (prec^.next nil) then

begin

P:= prec^.next;

prec^.next:= prec^.next^.next;

Dispose(p);

end;

end;



procedure ListSearch(var L:linkedlist;DataCari:string);

var found :boolean;

P : node;

begin

found:=false;

P:=L.first;

while(P.nextnil) and (not found) do

begin

if P^.nama = DataCari then

Found :=true

else

P := P^.next;

end;

if found = true then

writeln(P^.nama+', Data ketemu ')

else

writeln(DataCari+', Data TIDAK ketemu ');

end;



procedure DeleteLast(var L:linkedlist);

var Last, precLast,P: node;

begin

if (L.first nil) then

begin

Last :=L.first;

PrecLast :=nil;

while (Last^.nextnil) do

begin

PrecLast :=Last;

Last :=Last^.next;

end;

P:=last;

if (precLast=nil) then

L.first:=nil

else precLast^.next :=nil;

Dispose(p);

end;

end;



var pilih:integer;

baru : node;

L:linkedlist;

data_cari:string;

begin

repeat

writeln('MENU ');

writeln('1. Masukan Data dari Depan (INSERT FIRST)');

writeln('2. Masukan Data dari Akhir (INSERT LAST)');

writeln('3. Masukan Data Setelah (INSERT BEFORE)');

writeln('4. Hapus Data dari Depan (DELETE FIRST)');

writeln('5. Hapus Data dari Akhir (DELETE LAST)');

writeln('6. Cari Data (LIST SEARCH)');

writeln('7. Tampilkan Data (DISPLAY LIST)');

writeln('8. Keluar ');

write('Masukan pilihan anda : ');

readln(pilih);

case(pilih) of

1: begin

writeln('Masukan Data dari Depan (INSERT FIRST)');

baru:=createlist;

InsertFirst(L,baru);

end;

2: begin

writeln('Masukan Data dari Akhir (INSERT LAST)');

baru:=createlist;

InsertLast(L,baru);

end;

3: begin

writeln('Masukan Data Sebelum (INSERT BEFORE)');

baru:=createlist;

write('Sisipkan Data Sebelum ');

readln(data_cari);

InsertBefore(L,baru,data_cari);

end;

4: begin

writeln('Hapus Data dari Depan (DELETE FIRST)');

DeleteFirst(L);

writeln('Data Sudah Terhapus');

end;

5: begin

writeln('Hapus Data dari Akhir (DELETE LAST)');

DeleteLast(L);

writeln('Data Sudah Terhapus');

end;

6: begin

writeln('Percarian Data (LIST SEARCH)');

write('Masukan Data yang dicari : ');

readln(data_cari);

ListSearch(L,data_cari);

end;

7: begin

writeln('Tampilan Data');

writeln('=============');

ListTraversal(L);

end;

end;

until pilih=8;



end.





di konversi ke dalam bentuk visual seperti ini :







Terima Kasih Sebelumnya matabelo



Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


 


All times are GMT +7. The time now is 09:27 AM.


no new posts