BAGI PARA PROGRAMERS ATAU KULIAHERS DAPAT MENCARI SEBAGAI TUGASNYA DISINI.. HEHE ^_^
baca juga yah:
PROGRAM ALGORITMA FUNGSI DALAM PASCAL + CONTOH PROGRAM dan PROGRAM ALGORITMA PROSEDUR DALAM PASCAL+ CONTOH PROGRAM
Sorting atau pengurutan data adalah proses untuk menyusun kumpulan data yang seragam menjadi susunan tertentu. Kumpulan data diurutkan secara Ascending (Urut Menaik), yaitu dari data yang nilainya secara Descending (Urut Menurun), yaitu dari data yang nilainya paling besar sampai data yang nilainya paling kecil.

A. Metode – metode Sorting :

a) Bubble Sort

Pengurutan model ini mengambil ide dari gelembung air, yaitu mengapungkan elemen yang bernilai kecil dari bawah ke atas. Proses pengapungan dilakukan dengan pertukaran elemen-elemen tabel.

Apabila kita menginginkan array terurut menaik, maka elemen array yang berharga paling kecil “diapungkan” artinya diangkat ke “atas” (atau ke ujung kiri array) melalui proses pretukaran. Proses pengapungkan ini dilakukan sebanyak n-1 langkah (satu langkah disebut satu kali pass) dengan n adalah ukuran array.

program arh_bsort_menaik;
uses crt;
var i,n,j : integer;
a: array [1..100] of integer;

procedure buble;
var z: integer;
     begin
          for i:= 1 to n-1 do
          begin
                  for j:= n downto i+1 do
                     begin
                             if a[j] < a[j-1] then
                              begin
                                      z:= a[j];
                                      a[j]:= a[j-1];
                                      a[j-1]:=z;
                               end;
                      end;
           end;
     end;

begin
write('masukkan banyak larik (maks 100) : '); readln(n);
for i:= 1 to n do
       begin
            write('A[',i,'] : '); readln(a[i]);
       end;
         buble;
 write('data setelah diurutkan : ');
  for j:=1 to n do
                  write (a[j],' ');
 end.

-------------------------------------------------------------------------------------------------------------------
b) Insertion sort

Pengurutan model ini dengan membuat cara menyisipkan program semacam algoritma pascalInsertion Urutkan sedikit lebih efisien dibandingkan algoritma pengurutan Bubble Sort. Seperti namanya menyiratkan, yang memasukkan algoritma insertion sort item unsorted dalam daftar item yang sudah diurutkan. Hal ini membuat Anda berpikir tentang penggunaan dua array terpisah - satu unsorted dan yang lainnya disortir. Namun, untuk menghemat ruang satu menggunakan array yang sama dan menggunakan pointer untuk memisahkan unsur-unsur diurutkan dan disortir dari daftar. Waktu menyortir Kompleksitas Insertion Sort adalah O (n2). Meskipun hal ini persis sama untuk Bubble Sort, algoritma Insertion Sort adalah dua kali lebih efisien, namun tidak efisien untuk daftar besar.
CONTOH programnya:

uses crt;
var
jmldata,i,j:integer;
data,x:array [1..100] of integer;

procedure asc_insert;
var temp:integer;
begin
For i := 2 to jmldata do
Begin
Temp :=data[i];
j := i-1;
while (data[j] > temp) and (j>0) do
begin
data[j+1] := data[j];
dec(j);
end;
data[j+1]:=temp;
end;
writeln('data yang telah di urut');
for i:=1 to jmldata do
    begin
         write(data[i],'  ');
    end;
     readln;

end;
begin
clrscr;
write('masukkan berapa angka yang akan di urut: '); readln(jmldata);
                  for i:=1 to jmldata do
                  begin
                       write('masukkan angka ke-',i,':'); readln(data[i]);
                  end;
                       asc_insert;

readln;
end.
------------------------------------------------------------------------------------------------------------------
c) Quick sort

Membandingkan suatu elemen (disebut pivot) dengan elemen yang lain dan menyusunnya sedemikian rupa sehingga elemen- elemen lain yang lebih kecil daripada pivot tersebut terletak di sebelah kirinya dan elemen-elemen lain yang lebih besar daripada pivot tersebut terletak di sebelah kanannya. Sehingga dengan demikian telah terbntuk dua sublist, yang terletak di sebelah kiri dan kanan dari pivot. Lalu pada sublist kiri dan sublist kanan kita anggap sebuah list baru dan kita kerjakan proses yang sama seperti sebelumnya. Demikian seterusnya sampai tidak terdapat sublist lagi.Sehingga didalamnya telah terjadi proses Rekursif.
--------------------------------------------------------------------------------------------------------------
sebenarnya masih banyak lagi pengurutan data yang dapat dilakukan diantaranya adalah dapat di bikin sendiri.... hehehe

 sebagai bonus dapat bonus program download lewat mediafre.com, program ini dengan beberapa pengurutan diantaranya:

1]Pengurutan secara BubbleSort;
2]Pengurutan secara SelectionSor;
3]Pengurutan secara InsertionSort’);

dapat di dowload disini gan!! eits ingat!! di edit dulu lah... soalnya klo di kompail ngak akan berhasil karena ada yg kurang titik atau kurang koma,,,, hehehe






update 30 juni 2012
==============================================================
karena ada yang minta metode sorting dalam shell short, maka saya akan bahas sedikit (ngak banyak) dalam algoritma pascalnya cekidot:
==============================================================
d) Shel short

Metode ini di kembangkan oleh Donald L (kayak kue). shell pada tahun 1959. Dalam metode ini jarak antara dua elemen yang di bandingkan dan ditukarkan tertentu. secara singkat metode ini dijelaskan sebabagi berikut:

Pada langkah pertama, kita mengambil elemen pertama dan kita bandingkan dengan elemen pada jarak tertentu dari elemen pertama tersebut. kemudian elemen kedua kita bandingkan dengan element lain dengan jarak yang sama seperti diatas. Demikian seterusnya sampai seluruh elemen di bandingkan. pada langkah kedua proses diulang dengan langkah yang lebih kecil, pada langkah ketiga jaraktersebut diperkecil lagi seluruh proses dihentikan jika jarak sudah sama dengan satu (=1)!

contoh procedure Shellshort  pada pascal:

var I,J, jarak:integer;
begin
           jarak:=jmlData Div 2;
           while Jarak>0 do
               begin
                       for i:=1 to jmlData- jarak Do
                           begin
                                j:=i+jarak;
                                if Temp[i]> temp [j] then
                                        Swap(temp[i], Temp [lok]);
                           end;
                        jarak:=jarak div 2;
                  end;
end;

untuk program utamanya bisa kan buat sendiri?? dan untuk pemanggilan programnya bisa juga kan buat sendiri?? dan untuk SWAP (temp[i], Temp [lok]) itu adalah sebuah prosedur lagi, dimana dalam prosedur tersebut di lakukan pertukaran. sebenarnya bisa saja sobat langsung membuat procedure swap ini dalam procedure shellsort. so, berikut adalah procedurenya:

procedure Swap(var a,b :char);
begin
               temp:=a;
               a:=b;
               b:=temp; 
end;

 sekian dulu kawan, semoga bermanfaat...!       
:)

SHARE PLEASE..


6 komentar:

  1. yang shell sort'a ada gak gan?

    BalasHapus
  2. thanks gannnnnn

    terimokasih sangattttttt

    BalasHapus
  3. bucket sortnya ada ?

    BalasHapus
  4. bang saya ingin nanya ene.. saya kan dah burning program pascal yang di atas ke cd, trus ketika saya ingin melakukan run pada program tsb di cd rw kok tiba tiba error, tolong donk bang kasih petunjuk/ tutorial gmana caranya burning prog pascal??

    mohon bantuan nya bang

    BalasHapus
    Balasan
    1. maaf mas,,, saya belum pernah coba tuh burning ke cd... mungkin sebelum di burning coba cek dulu apakah programnya jalan atau ngak gtu nah... jangan langsung seborot aja..:3

      Hapus

Jangan lupa klik iklannya, ngak susah kok! siapa tahu ada yang menarik.. karena setiap klik agan, sangat berarti buat blog ini biar tetep eksis!

KOMENTAR:
- mau koment ngasih link idup, mau ngasih link mati, terserah yang penting koment!!
- mau panjang atau pendek, ngak masalah yang penting koment!!
- mau kasar, SARA atau jorok, terserah yang penting koment!

( MANUSIA YG BERAKAL, BERAKHLAK & BERIMAN BOLEH KOMENT ASALKAN BUKAN ROBOT MBAH GOOGLE!!)

About Me


Saya seorang Blogger Pemula, Lahir di Banjarmasin 11 Desember 1993, saat ini sekarang saya sedang Kuliah di Universitas Lambung Mangkurat , Banjarbaru. untuk jurusan dan fakultas, saya di Fakultas MIPA Banjarbaru dan mengambil Jurusan Ilmu Komputer angakatan 2011.

jika kalian kenal, jangan ragu untuk menyapa, saya orangnya terbuka dan ramah kok! siap berteman dengan siapa saja hehe... dan jika kalian belum kenal, maka kita ada baiknya kenalan yuk!! sekian dulu, wassalam!
More About Me

FOLLOW & LIKE DULU GAN!



[X] CLOSE
close klik kanan