Pengertian Sorting (Pengurutan) dalam bahasa C++ bagian 1
Pengertian Sorting serta Contoh Program Sorting dalam bahasa C++
![]() |
| Sumber gambar : Google |
Kali ini Admin bahasaprogr.blogspot.com akan bahas sedikit tentang Sorting pada bahasa C++. Biasanya dalam program, jika terdapat fitur Searching, pasti juga terdapat fitur Sorting. Oiya, kalian bisa baca tentang Searching dengan cara klik link berikut :
Baiklah, langsung saja simak materi berikut.
Pengertian Sorting
Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu.Biasanya pengurutan terbagi menjadi dua yaitu :
• ascending (pengurutan dari karakter/angka kecil ke karakter/angka besar).
• descending (pengurutan dari karakter/angka besar ke karakter/angka kecil).
Ada banyak alasan dan keuntungan dengan mengurutkan 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.
Jenis - Jenis dan Metode Sorting
A. Metode pengurutan langsung :1. Metode Penukaran (Exchange selection) / Gelembung (Bubble Sort)
2. Metode Seleksi (Straight Selection Sort)
3. Metode Penyisipan Langsung (Straight Insertion Sort)
B. Metode pengurutan tidak langsung :
1. Shell Sort
2. Quick Sort
3. Merge Sort
A. Metode pengurutan langsung
1. Metode Penukaran (Exchange selection) / Gelembung (Bubble Sort)
- metode pertama yang paling banyak dipelajari pemrogram.
- Sederhana : bubble sort tidak efisien dan menyita banyak waktu prosessor lebih banyak
daripada teknik sorting yang lain dan Tidak lebih dari 30 atau kurang dari 30 elemen, penggunaan bubble sort masih sangat baik - Metode gelembung / penukaran adalah metode yang mendasarkan penukaran 2 buah elemen untuk mencapai keadaan urut yang diinginkan
1 : Baca array elemen yang diurutkan (N)
2 : Kerjakan langkah 3 untuk I=1 s/d N-1
3 : Kerjakan langkah 4 untuk J=1 s/d N-1
4 : Cek apakah A[J]>A[J+1}
5 : Selesai
Ilustrasi
Contoh Program Bubble Sort
/* Bubble Sort */ #include #include #include void bubble_sort(int array[], int size) { int temp, i, j; for (i=0; i array[j+1]) { temp= array[j]; array[j]= array[j+1]; array[j+1]= temp; } } 2. Metode Penyisipan Langsung (Straight Insertion Sort)
Dapat dibagi menjadi 2 bagian- Bagian sebelah kiri data sudah terurut (tujuan)
- Bagian sebelah kanan data belum terurut (sumber)
1 : Baca array elemen yang akan diurutkan (n)
2 : Kerjakan langkah 3 sampai langkah 6 untuk i : 1 s/d n-1
3 : Tentukan elemen yang akan disisipkan (Temp = A [i] ;
j = i-1;)
4 : Kerjakan langkah 5 selama temp = 0;
5 : A [j+1]= A[j] ; j =j-1;
6 : Tempatkan elemen A [j+1] = Temp;
7 : Selesai
Algoritma Straight Insertion Sort
Deklarasi I,J,K,N : Integer Temp : real A : array [1..20] of real Deskripsi Input(N) {maksimal N=20} K traversal [1..N] Input (Af) {masukkan data sebanyak N} I traversal [2..N] Temp ß A1 J ß I-1 While (temp =1) do Aj+1 ß Aj J ßJ-1 Endwhile Aj+1 ß Temp Ilustrasi3. Metode Seleksi (Straight Selection Sort)
Selection sort dimulai dengan menyelesaikan elemen array (misalnya elemen pertama). Kemudian sorting mencari keseluruhan array hingga menemukan nilai yang terkecil. Sorting menempatkan nilai terkecil pada elemen tersebut, memilih elemen kedua dan mencari elemen terkecil kedua.
Langkah-langkah Straight Selection Sort
1 : Baca array elemen yang diurutkan (n)
2 : Kerjakan langkah-langkah 3 sampai langkah 5
untuk i=1 s/d n-1
3 : Tentukan lokasi awal data terkecil Mindeks =1;
kerjakan langkah 4 untuk j=i+1 s/d n
4 : Cari data terkecil dan catat lokasinya. Test
apakah AMindeks > Aj?
Jika ya, catat Mindeks = j
5 : Tukar nilai Amindeks dengan Aj
6 : Selesai
Ilustrasi
4. Metode Penyisipan Langsung (Straight Insertion Sort)
Dapat dibagi menjadi 2 bagian- Bagian sebelah kiri data sudah terurut (tujuan)
- Bagian sebelah kanan data belum terurut (sumber)
1 : Baca array elemen yang akan diurutkan (n)
2 : Kerjakan langkah 3 sampai langkah 6 untuk i : 1 s/d n-1
3 : Tentukan elemen yang akan disisipkan (Temp = A [i] ;
j = i-1;)
4 : Kerjakan langkah 5 selama temp = 0;
5 : A [j+1]= A[j] ; j =j-1;
6 : Tempatkan elemen A [j+1] = Temp;
7 : Selesai
Algoritma Straight Insertion Sort
Deklarasi I,J,K,N : Integer Temp : real A : array [1..20] of real Deskripsi Input(N) {maksimal N=20} K traversal [1..N] Input (Af) {masukkan data sebanyak N} I traversal [2..N] Temp ß A1 J ß I-1 While (temp =1) do Aj+1 ß Aj J ßJ-1 Endwhile Aj+1 ß Temp Ilustrasi
Ketiga metode pengurutan langsung yang dibahas pada postingan ini hanya beberapa dari metode pengurutan langsung lainnya. Banyak metode lain untuk mengurutkan data. Metode-metode tersebut bertujuan sama yaitu mengurutkan data, yang berbeda hanya cara yang mempengaruhi kecepatan untuk jumlah data tertentu. Demikian post kali ini, jika ada pertanyaaan silahkan tuliskan di komentar. Terimakasih telah berkunjung.





Posting Komentar untuk "Pengertian Sorting (Pengurutan) dalam bahasa C++ bagian 1"