Program untuk Mengurutkan Data dengan Metode RADIX SORT

Jun 18, 2009 2 Comments by

Uses WinCrt;
Type
Pointer = ^TypeData;
TypeData = Record
Nilai : integer;
Berikutnya : Pointer;
End;
Pointer2 = Array[0..9] Of Pointer;
Var
List : Pointer;
Q : Pointer2;
{====================================================================}
{===================== MASUK DATA DARI DEPAN ========================}
{====================================================================}
Procedure Masuk_Depan(Var L : Pointer; X : Integer);
Var
Baru : Pointer;
Begin
New(Baru);
Baru^.Nilai := X;
Baru^.Berikutnya := Nil;
If L = Nil Then L := Baru
Else
Begin
Baru^.Berikutnya := L;
L :=Baru;
End;
End;
{====================================================================}
{======================= PROCEDURE INITIALIZATION ===================}
{====================================================================}
Procedure Initialization(Var Q : Pointer2);
Var
i : byte;
Begin
For i := 0 To 9 Do Q[i] := Nil;
End;
{====================================================================}
{=============== SUSUN DATA UNTUK TIAP MACAM DALAM ARRAY ============}
{====================================================================}
Procedure Susun(L : Pointer;Var Q1 : Pointer2);
Var
Bantu,Baru : Pointer;
i : Byte;
Begin
Bantu := L;
While Bantu Nil Do
Begin
New(Baru);
Baru^.Berikutnya := Nil;
Baru^.Nilai := Bantu^.Nilai;
Masuk_Depan(Q1[Baru^.Nilai],Baru^.Nilai);
Bantu := Bantu^.Berikutnya;
End;
End;
25
{====================================================================}
{=================== PROCEDURE CONCATINATION DATA ===================}
{====================================================================}
Procedure Concatination(L : Pointer2; Var Q1 : Pointer);
Var
Bantu,Baru : Pointer;
i : Byte;
Begin
For i := 0 To 9 Do
Begin
If L[i] Nil Then
Begin
Baru := L[i];
If Q1 = Nil Then Q1 := Baru
Else
Begin
Bantu := Q1;
While Bantu^.Berikutnya Nil Do
Bantu := Bantu^.Berikutnya;
Bantu^.Berikutnya := Baru
End;
End;
End;
End;
{====================================================================}
{========================= PROCEDURE CETAK DATA =====================}
{====================================================================}
Procedure Cetak(L : Pointer);
Var
Bantu : Pointer;
Begin
Bantu := L;
While Bantu Nil Do
Begin
Write(Bantu^.Nilai:3);
Bantu := Bantu^.Berikutnya;
End;
End;
{====================================================================}
{======================= PROCEDURE CETAK DATA =======================}
{====================================================================}
Procedure Cetak_Susunan(L : Pointer2);
Var
Bantu,Baru : Pointer2;
i : Byte;
Begin
For i := 0 to 9 do
Begin
Write(‘ Q[',i,'] =’);
If L[i] Nil Then
Begin
Bantu[i] := L[i];
While Bantu[i] Nil Do
Begin
Write(Bantu[i]^.Nilai:3);
Bantu[i] := Bantu[i]^.Berikutnya;
End;
26
End;
Writeln;
End;
End;
{====================================================================}
{========================== PROGRAM UTAMA ===========================}
{====================================================================}
Var
Bil,N : Byte;
Begin
New(List);
List:=Nil;
Initialization(Q);
Randomize;
Repeat
Bil:=Random(10);
Masuk_Depan(List,Bil);
N:=N+1;
Until N=20;
Writeln;
Writeln(‘ Mengurutkan Data Dengan Metode RADIX SORT’);
Writeln;
Writeln(‘ DATA SEBELUM DIURUTKAN ….’);
Cetak(List);
Writeln;
Susun(List,Q);
writeln;
Writeln(‘ HASIL PENGELOMPOKAN …’);
Cetak_Susunan(Q);
Writeln;
List:=Nil;
Concatination(Q,List);
Writeln(‘ HASIL PENGURUTAN SETELAH DIKELOMPOKKAN’);
Cetak(List);
writeln;
End.

Kata Kunci

radix sort, radix sort c, contoh radix sort, contoh program pointer pascal, program pascal mengurutkan bilangan, contoh program sorting pascal, flowchart mengurutkan data, program sorting pascal, metode sorting, contoh program sorting pada pascal.

Related posts:

  1. Aplikasi Stack pada Struktur Data untuk Mengkonversikan Notasi INFIX Menjadi POSTFIX
  2. Program untuk Mencari Akar Persamaan Kuadrat
  3. Program Input Nilai Mahasiswa
  4. Program Data Pegawai
  5. Program Bilangan Prima dengan Menggunakan Bantuan Array
  6. Program Data Mahasiswa
  7. Program Penilaian Mahasiswa
  8. Program GJE (Gauss Jordan Exchange) dengan Pascal
  9. Pandapotan Struktur Data
  10. Data Structure
Data Structure, Pascal

About the author

Tulisan kiriman sahabat

2 Responses to “Program untuk Mengurutkan Data dengan Metode RADIX SORT”

  1. za says:

    ada g metode radix sort yang tidak menggunakan pointer

  2. rega says:

    Mas bantu bikin dalam algoritmanya donk buat radix sort di atas … makasih ya mas

Leave a Reply