Sorting Data Pacal

Sorting Data Pascal

Salam Programmer Indonesia, kali ini saya akan membahas tentang sorting, mungkin postingan kali ini agak sedikit meloncat dari permasalahan program sebelumnya, namun ini pun sangat berguna dalam program pascal.

A.                 PENGERTIAN SORTING DATA


Sorting merupakan suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa digunakan dalam suatu proses sorting:

1.                 Urut naik (ascending)

Mengurutkan dari data yang mempunyai nilai paling kecil sampai paling besar

2.                 Urut turun (descending)

Mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.

B.                 TUJUAN SORTING DATA


Data yang terurut mudah untuk dicari, mudah untuk diperiksa, dan mudah untuk dibetulkan jika terdapat kesalahan. Data yang terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut tidak diperlukan lagi. Selain itu, dengan mengurutkan data maka kita semakin mudah untuk menyisipkan data atapun melakukan penggabungan data.

C.                  METODE SORTING DATA

Metode-metode sorting meliputi:

1.                 Bubble Sort (Metode Gelembung)

Bubble Sort adalah metode pengurutan data dengan prinsip: data di lokasi/indeks I dibandingkan dengan data lain di lokasi/indeks sebelahnya I+1, apabila terdapat ketidakcocokan data, maka data di lokasi I tersebut akan ditukar dengan data di lokasi I+1. Maka secara perlahan, data akan bergerak menuju ke lokasi yang tepat. Dari sifat inilah, istilah bubble yang artinya gelembung diambil. Seperti gelembung dalam minuman soda, yang perlahan bergerak naik ke atas.

Disajikan contoh cara kerjanya, untuk 5 buah data yaitu 4, 5, 1, 3, 2. Pengurutan dimulai dari lokasi pertama (I adalah 1), dan dibandingkan dengan lokasi sebelahnya (I+1 adalah 2). Karena data 4 dan 5 sudah berada pada urutan yang cocok, maka tidak terjadi pertukaran. Kemudian dicek data lokasi berikutnya (I adalah 2) dengan lokasi sebelahnya (I+1 adalah 3), ternyata data 5 dan 1 tidak cocok, maka ditukar. Lokasi berikutnya (I adalah 3) dibandingkan dengan lokasi sebelahnya (I+1 adalah 4), ternyata data 5 dan 3, tidak cocok lagi, maka ditukar lagi. Demikian seterusnya, dikerjakan sampai dipastikan bahwa semua data ada pada lokasi yang cocok, yang dilakukan dengan cara sudah tidak ada lagi pertukaran yang dilakukan. Berikut adalah proses perubahan data untuk contoh data 4, 5, 1, 3, 2 tersebut:
1.      Perulangan Pertama (First Pass)
4 5 1 3 2 (cocok)
4 5 1 3 2 (tukar 5 dan 1) 4 1 5 3 2
4 1 5 3 2 (tukar 5 dan 3) 4 1 3 5 2
4 1 3 5 2 (tukar 5 dan 2) 4 1 3 2 5

2.      Perulangan Kedua (Second Pass)
4 1 3 2 5 (tukar 4 dan 1) 1 4 3 2 5
1 4 3 2 5 (tukar 4 dan 3) 1 3 4 2 5
1 3 4 2 5 (tukar 4 dan 2) 1 3 2 4 5
1 3 2 4 5 (cocok)

3.      Perulangan Ketiga (Third Pass)
1 3 2 4 5 (cocok)
1 3 2 4 5 (tukar 3 dan 2) 1 2 3 4 5
1 2 3 4 5 (cocok)
1 2 3 4 5 (cocok)

4.      Perulangan Keempat (Fourth Pass)
1 2 3 4 5 (cocok)
1 2 3 4 5 (cocok)
1 2 3 4 5 (cocok)
1 2 3 4 5 (cocok)

 Pada waktu Perulangan Keempat, sudah tidak terjadi pertukaran lagi (semua sudah cocok), maka sudah dapat dipastikan bahwa semua data sudah berada di lokasi yang tepat.


2.                 Selection Sort (Metode Seleksi)


Cara kerja metode ini didasarkan pada pencarian elemen dengan nilai terkecil. kemudian dilakukan penukaran dengan elemen ke-I. Secara singkat metode ini bisa dijelaskan sebagai berikut. Pada langkah pertama, dicari data yang terkecil dari data pertama sampai terakhir. Kemudian data tersebut kita tukar dari data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding dengan data lain. Pada langkah kedua, data terkecil kita cari mulai dari data kedua sampai data terakhir. Data terkecil yang kita peroleh kita tukar dengan data kedua. Demikian seterusnya sampai seluruh data terurut.
1.      Proses Pertama
i = 1    2     3     4   5   6
     22  10  15   3   8   2
Pembanding         Posisi
22 > 10                  2
10 < 15                  2
10 > 3                    4
3 < 8                      4
3 > 2                      6
Posisi data ke-1 (22) = 6
Tukar data ke-1 dengan data ke-6
      2   10   15   3   8   22

2.      Proses Kedua

i = 1    2     3     4   5   6
     2    10   15   3   8   22
Pembanding          Posisi
10 < 15                  2
10 > 3                    4
3 < 8                      4
3 < 22                    4
Posisi data ke-2 (10) = 4
Tukar data ke-1 dengan data ke-4
      2   3   15   10   8   22                                  

3.                 Insertion Sort (Metode Penyisipan)

 
Pengurutan dilakukan dengan cara membandingkan data ke-I (dimana I dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya. Jika ditemukan data yang lebih kecil maka data tersebut disisipkan ke depan sesuai posisi yang seharusnya.
1.      Proses Pertama
i = 1    2     3     4   5   6
     22  10  15   3   8   2
Temp    cek                geser
10       temp<22     data ke-1 -> posisi 2

Temp  menempati  posisi  ke-1

10   22   15   3  8   2

2.      Proses Kedua

i = 1    2     3     4   5   6
     10  22  15   3   8   2
Temp    cek                geser
15       temp<22     data ke-2 -> posisi 3
            Temp>10

Temp  menempati  posisi  ke-2


10  15   22   3  8   2

Sekian pembahasan kali ini, mohon maap jika postingannya kurang dimengerti untuk pertanyaan lebih lanjut boleh dikolom komentar. 

Terimakasih


Salam Programmer Indonesia



Sorting Data Pacal Sorting Data Pacal Reviewed by Rangga Tech on 1/09/2016 10:29:00 PM Rating: 5

No comments:

Powered by Blogger.