Langsung ke konten utama

REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN

REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN #REVIEWWEBSITE #penghasiluang #receh Berikut Link Webistenya : https://www.mediakomen.com/ 0:00:00 â–¼ EXPAND FOR NAVIGATION â–¼ 0:01 CH 0: Opening 0:08 CH 1: Story 0:10 CH 2: Closing

Program Quick Sort Pascal

Selamat malam sob... kali ini ane mau post nih salah satu tugas struktur data semester 3 lagi, yaitu Program Quick sort, apa sih Quick sort itu?... ane jelasin dulu sob dari mbah google...

Quick Sort merupakan salah satu algoritma pengurutan data yang menggunakan teknik membagi  data menjadi partisi-partisi. Metode Quick Sort disebut juga dengan nama partition exchange sort. 
Untuk memulai proses pengurutan, pertama-tama sebuah data dipilih dari kelompok data sebagai data pivot. Posisi data pivot dapat dicari dengan menggunakan rumus :
    i  = (indeks awal + indeks akhir) div 2  
Kemudian elemen-elemen data akan diatur, sehingga nilai data pivot yang terletak di posisi ke I memenuhi kondisi sebagai berikut :
  1. Semua data di posisi ke 1 sampai dengan ke I-1  lebih kecil atau sama dengan pivot atau data[i]<=pivot.
  2. Semua data di posisi ke I+1 sampai dengan ke N  lebih besar atau sama dengan pivot atau data[i]>=pivot.
Contoh  :

Ada  12 data  sebagai berikut :  
indeks 1 2 3 4 5 6 7 8 9 10 11 12
Data        33 99 18 7 5 45 57 25 55 10 40 50
Pos = (1+12) div 2 = 6
Pivot = data[ pos]  = 45
Data 45 terpilih sebagai data pivot. Setelah diatur, maka posisi urutan data sebagai berikut :
indeks 1 2 3 4 5 6 7 8 9 10 11 12
Data        33   25 18 7 5 10   40 45 55 50 57 99
Dimana :
  1. Semua elemen di posisi ke 1 sampai dengan posisi ke 8   lebih kecil atau sama dengan nilai 45.
  2. Semua elemen di posisi ke 9  lebih besar atau sama dengan 45.
Dengan demikian, data tersebut akan terpecah menjadi 2 partisi, satu partisi di sisi kiri 57 dan satu partisi di sisi kanan 57 sebagai berikut :    

                                      [33   25 18 7 5 10   40  ] 45 [55 50 57 99]

Dengan cara yang sama, proses  partisi diulangi lagi untuk masing-masing partisi  baik  di sisi kanan maupun di sisi kanan. Jadi setiap partisi yang diperoleh akan dipartisi lagi hingga diperoleh hasil pengurutan data.

Dalam proses partisi dengan metode quick sort dapat selesaikan  dengan menggunakan prosedur rekursi. Karena proses partisi dengan cara sama selalu diulangi. Proses partisi dibentuk dalam sebuah prosedur atau fungsi dan akan memanggil dirinya sendiri.

langsung aja sob liat kodingannya,..

COPAS BOLEH, PELAJARI HARUS!!!..
====================================================================
Program QuickSort;
uses crt;
type matrix = array [1..100] of integer;

 Procedure input(var d : matrix; var n : integer);
 var k : integer;
 begin
 randomize;
 write('Jumlah data ; '); readln(n);
 for k := 1 to n do
 begin
  d[k] := random(100);
  write(d[k],' ');
 end;
 writeln;
 end;

 Procedure tukar(var a,b : integer);
 var t : integer;
 begin
  t := a;
  a := b;
  b := t;
 end;

Procedure cetak(d : matrix; c: integer);
 var i : integer;
 begin
  for i := 1 to c do
   write(d[i]:5);
   writeln;
 end;

procedure quicksort(var d:matrix; a,b:integer);
var
a1,b1,pivot: integer;
begin
   a1:=a; b1:=b;
   pivot:=d[(a+b) div 2];
   repeat
     while(d[a1] < pivot) do inc(a1);
     while(d[b1]>pivot) do dec(b1);
     if (a1<=b1) then
        begin
          tukar(d[a1],d[b1]);
          inc(a1);
          dec(b1);
        end;
   until (a1>b1);
   cetak(d,b);
   if (a < b1) then quicksort(d, a, b1);
   if (a1 < b ) then quicksort(d,a1, b);
end;

{Program Utama}
var
data :matrix;
n:integer;

begin
clrscr;
  input(data,n);
  writeln('Proses Sorting Data');
  cetak(data,n);
  quicksort(data,1,n);
  writeln;
  writeln('Hasil Sorting Data ');
  cetak(data,n);
  readkey;
end.
====================================================================

OUTPUT

========================================================================

Segitu ae dulu sob,, semoga membantu, kalo ada yang mau ditanyain atau didiskusiin, komen aja sob di kolom komentar... siapa tau kita bisa berbagi apa yang kita tahu 😎...

Komentar

Posting Komentar

Postingan populer dari blog ini

Aplikasi Penerimaan Siswa Dan Manajemen Sekolah Menggunakan Java Netbeans

 Aplikasi Penerimaan Siswa Dan Manajemen Sekolah Menggunakan Java Netbeans Hay Gaes!!! Kali ini mimin akan membagikan tutorial pembuatan aplikasi penerimaan siswa dan manajemen sekolah menggunakan Java Netbeans, Untuk codingannya nanti mimin akan berikan link di akhir artikel ini ya. Berikut jika kalian ingin melihat video aplikasi yang sudah terbuat. Selamat menikmati: https://youtu.be/7qp_HjnumYk Jika kalian sudah melihat video aplikasi yang sudah mimin buat. Untuk source code nya akan mimin berikan di link komentar ya. 

Bubble Sort Code Program Pascal

Bubble Sort Code Program Pascal Ok sob kali ini mimin akan berbagi source code program pascal nih tentang bubble sort, langsung aja sob perhatiin ya. ======================================================================== Program Bubble_Sort; uses crt; var i,j,k,temp,n : integer; A,B,C : array [1..100] of integer; begin clrscr; write('Banyaknya elemen array : '); readln(n); {Input Data} for i := 1 to n do begin write('Elemen ke-', i,':'); readln(A[i]); end; {Cetak Array Sebelum Pengurutan} writeln; write('Sebelum diurutkan : '); for i := 1 to n do write(A[i], ' '); writeln; writeln('Proses Pengurutan Bubble :'); for i := 1 to n-1 do begin for j := n downto i+1 do begin if A[j-1] > A[j] then begin temp := A[j-1]; A[j-1] := A[j]; A[j] := temp; end; end; {cetak Array tiap langkah pengurutan} writeln; write('Hasil akhir langkah ke-', i,':'); for k := 1 to n do writ...