Advertisement here

jenis jenis metode sorting | algoritma dan pemrograman 2

halo sobat kali kita akan kupas tuntas jenis jenis metode sorting pada program c++

Pengertian Sorting 

    sorting adalah suatu proses pengurutan data yang sebelumnya di susun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu.
pengurutan dibagi 2 yaitu:
  1. ascending (pengurutan dari karakter /angka kecil ke karakter/angka besar).
  2. descending (pengurutan dari karakter/angka besar ke karakter/angka kecil).
Jenis-jenis dan Metode sorting 

A. Metode pengurutan langsung :
  • metode penukaran (exchange selection) / Gelembung (bubble sort)
  • metode seleksi (straight selection sort)
  • metode penyisipan langsung (straight insertion sort)
B. Metode pengurutan tidak langsung :
  • shell sort
  • quick sort
  • merge sort 

A. metode pengurutan langsung 
1. metode penukaran (exchange selection) /gelembung (bubble sort)
  • metode pertama yang paling banyak di pelajari pemrograman.
  • sederhana :buble sort tidak efisien dan menyita banyak waktu prosessor lebih banyak dari pada 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 element untuk mencapai keadaan urut yang di inginkan  
Langkah-langkah :

  1. baca array elemen yang di urutkan (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 

 


             contoh program Bubble sort 

/* Bubble Sort */

#include <iostream.h>

#include <stdlib.h>

#include <conio.h>

void bubble_sort(int array[], int size)

{

  int temp, i, j;

  for (i=0; i<size-1; i++)

    for (j=0; j<size-1-i; j++)

        if (array[j] > 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)
Langkah-langkah :   

  : 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 <A [j] dan j >= 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 <Aj) and (J>=1) do
    Aj+1 ß Aj
    J ßJ-1
  Endwhile
  Aj+1 ß Temp

 


3. 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



 

Next Post Previous Post
No Comment
Add Comment
comment url