Skip to content

Instantly share code, notes, and snippets.

@anonemae
Created October 3, 2022 04:02
Show Gist options
  • Select an option

  • Save anonemae/f2edefab07d78d417ba074b219f1db55 to your computer and use it in GitHub Desktop.

Select an option

Save anonemae/f2edefab07d78d417ba074b219f1db55 to your computer and use it in GitHub Desktop.
Tugas PSD Single linkedlist
Program hapusSimpul;
uses crt;
Type
simpul = ^data;
data = Record
nik : string;
namaKaryawan : string;
divisi : string;
alamat : string;
next : simpul;
end;
Var
awal,akhir,bantu,hapus : simpul;
jawab : char;
no : integer;
hapusElement : string;
Begin
clrscr;
writeln('-------------------------------------------------------------------------');
writeln(' INPUT KARYAWAN BARU ');
writeln('-------------------------------------------------------------------------');
awal := nil;
jawab := 'y';
while jawab in ['y','Y'] Do
Begin
new(bantu);
write('NIK : ');readln(bantu^.nik);
write('Nama Karyawan : ');readln(bantu^.namaKaryawan);
write('Divisi : ');readln(bantu^.divisi);
write('Alamat : ');readln(bantu^.alamat);
writeln;
write('Tambah data lagi [Y/N] : ');readln(jawab);
writeln;
if awal = nil Then
Begin
bantu^.next := nil;
awal := bantu;
akhir := bantu;
End
Else
Begin
akhir^.next := bantu;
bantu^.next := nil;
akhir := bantu;
end;
End;
writeln(' DAFTAR KARYAWAN BARU ');
writeln('---------------------------------------------------------------');
writeln('NO | Nik | NAMA KARYAWAN | DIVISI | ALAMAT ');
writeln('---------------------------------------------------------------');
no := 1;
bantu := awal;
write(no,' | ');
write(bantu^.nik,' | ');
write(bantu^.namaKaryawan,' | ');
write(bantu^.divisi,' | ');
write(bantu^.alamat,' | ');
writeln;
while bantu^.next <> nil Do
Begin
bantu := bantu^.next;
no := no + 1;
write(no,' | ');
write(bantu^.nik,' | ');
write(bantu^.namaKaryawan,' | ');
write(bantu^.divisi,' | ');
write(bantu^.alamat,' | ');
writeln;
end;
writeln;
writeln;
writeln('-------------------------------------------------------------------------');
writeln(' HAPUS DATA KARYAWAN ');
writeln('-------------------------------------------------------------------------');
write('Nik karyawan yang ingin di hapus : ');readln(hapusElement);
If awal = NIL then
Writeln('Searai berantai masih kosong !')
Else if (hapusElement = awal^.nik) then
Begin
new(hapus);
hapus := awal;
Dispose(hapus);
awal := awal^.next;
End
Else
Begin
Bantu := Awal;
new(hapus);
while bantu^.next <> nil do
begin
if bantu = akhir then
begin
hapus := bantu^.next;
bantu^.next :=nil;
dispose (hapus)
end
else
begin
if bantu^.next^.nik = hapusElement then
begin
hapus :=bantu^.next;
bantu^.next := hapus^.next;
dispose (hapus);
end
else
begin
bantu := bantu^.next;
end;
end;
end;
End;
Writeln;
Writeln;
writeln(' DAFTAR KARYAWAN BARU ');
writeln('---------------------------------------------------------------');
writeln('NO | Nik | NAMA KARYAWAN | DIVISI | ALAMAT ');
writeln('---------------------------------------------------------------');
no := 1;
bantu := awal;
write(no,' | ');
write(bantu^.nik,' | ');
write(bantu^.namaKaryawan,' | ');
write(bantu^.divisi,' | ');
write(bantu^.alamat,' | ');
writeln;
while bantu^.next <> nil Do
Begin
bantu := bantu^.next;
no := no + 1;
write(no,' | ');
write(bantu^.nik,' | ');
write(bantu^.namaKaryawan,' | ');
write(bantu^.divisi,' | ');
write(bantu^.alamat,' | ');
writeln;
end;
readln;
End.
@rfnffb
Copy link
Copy Markdown

rfnffb commented Oct 3, 2022

matur suksma

@anonemae
Copy link
Copy Markdown
Author

anonemae commented Oct 3, 2022

๐Ÿ‘

@arijf69
Copy link
Copy Markdown

arijf69 commented Oct 6, 2022

bng afkh kmuh anime?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment