SORTING ARRAY
SESI 2
2
Pengertian
Sorting pada pemrograman adalah proses mengurutkan data
yang berada dalam suatu tempat penyimpanan, dengan
urutan tertentu yaitu urutan naik (ascending) dari nilai
terkecil hingga terbesar atau urutan turun (descending) dari
nilai terbesar hingga nilai terkecil. Dilihat dari tempat
penyimpanan data, sort dibedakan antara external sort bila
datanya ada dalam media external atau external storage
seperti harddisk dan internal sort bila datanya ada dalam
internal storage atau memory computer.
Dalam bab ini yang akan dibahas adalah internal sort yaitu
data yang berada dalam array satu dimensi.
3
Metode Sorting
• Bubble sort
• Selection sort
• Insertion sort
• Shell sort
• Merge sort
• Radix sort
• Quick sort
• Heap short
4
Bubble Sort
Bubble artinya gelembung dan gelembung selalu
mengapung. Prinsip proses pengurutan dengan
menggunakan metode bubble sort adalah
menempatkan (mengapungkan) nilai terbesar (jika urut
ascending) atau nilai terkecil (jika urut descending)
pada elemen ujung paling kanan pada tahap per
tahapnya.
5
Bubble Sort
Sudah ada array satu dimensi sudah ada isinya,
diilustrasikan sebagai berikut :
Akan diurutkan ascending sehingga dihasilkan
urutan data seperti berikut:
6
Bubble Sort
Maka proses pengurutan tahap demi tahap dengan menggunakan
metode bubble sort adalah sebagai berikut :
7
Bubble Sort
Dari array diatas yang terdiri dari 6 elemen
dibutuhkan proses sebanyak 5 tahap maka untuk N
elemen dibutuhkan (N-1) tahap proses pengurutan.
Selanjutnya proses tahap per tahap akan diuraikan
lebih rinci lagi.
Pada proses setiap tahap algoritma yang digunakan
adalah proses banding (compare) dan tukar (swap).
Bukan semata-mata meletakkan nilai terbesar ke
ujung kanan, melainkan membandingkan nilai-
nilai yang ada pada masing-masing elemen.
8
Bubble Sort
Algoritma tahap 1 untuk array dengan jumlah elemen
N :
Bandingkan (compare) A[0] dan A[1], jika A[0] >
A[1] maka lakukan tukar nilai (swap), dilanjutkan
dengan bandingkan A[1] dan A[2], jika A[1] > A[2]
maka lakukan tukar nilai, dan seterusnya sampai
perbandingan A[N-2] dan A[N-1] sehingga diperoleh
nilai terbesar pertama yang diletakkan pada A[N-1].
Untuk tahap ke-K lakukan dari perbandingan A[0]
dan A[1] sampai dengan perbandingan A[N-2-K] dan
A[N-1-K]
9
F
l
o
w
c
h
a
r
t
10
Rumus Bubble Sort
for (K = 0 ; K < N-1 ; K++)
{
for (i = 0 ; i < N-2-K ; i++)
{
if ( A[i] > A[i+1] )
{
x = A[i];
A[i] = A[i+1];
A[i+1] = x;
}
}
}
11
Selection Sort
Metode selection sort ini menggunakan proses
pencarian (searching) kemudian tukar nilai yang dicari
dengan nilai pada elemen awal.
Misalnya untuk pengurutan ascending, dicari nilai
terkecil pertama kemudian tukar dengan elemen ke-
0,selanjutnya dicari nilai terkecil kedua dan tukar
dengan elemen ke-1 dan seterusnya.
12
F
l
o
w
c
h
a
r
t
13
Rumus Selection Sort
for ( i=0 ; i <= N-2 ; i++)
{
j = i;
for ( k = i+1 ; k <= N-1 ; k++ )
{
if (A[k] > A[j])
{
j = k;
}
}
x = A[i];
A[i] = A[j];
A[j] = x;
}
14
Insertion Sort
Tahap 1 :
Dimulai dari A[1]
Simpan nilai A[1] pada sebuah variabel (misal x)
Geser masing-masing satu langkah ke kanan semua nilai yang berada pada kiri
A[1] satu per satu jika nilai tersebut lebih besar dari x
Insert (sisipkan) x di bekas tempat nilai yang terakhir digeser.
Tahap 2 :
Simpan nilai A[2] pada variabel x.
Geser masing-masing satu langkah ke kanan semua nilai yang berada pada kiri
A[2] satu per satu jika nilai tersebut lebih besar dari x
Insert (sisipkan) x di bekas tempat nilai yang terakhir digeser.
Tahap berikutnya dan seterusnya hingga terakhir tahap ke N-1 (untuk array
dengan N elemen).
Instruksi pergeseran ke kanan adalah A[i]=A[i - 1], sehingga nilai A[i] akan
hilang (ditimpa oleh nilai A[i-1] oleh karena itu pada awal tahap A[i] disimpan
pada sebuah variabel.
15
F
l
o
w
c
h
a
r
t

Bab 2 sorting_array

  • 1.
  • 2.
    2 Pengertian Sorting pada pemrogramanadalah proses mengurutkan data yang berada dalam suatu tempat penyimpanan, dengan urutan tertentu yaitu urutan naik (ascending) dari nilai terkecil hingga terbesar atau urutan turun (descending) dari nilai terbesar hingga nilai terkecil. Dilihat dari tempat penyimpanan data, sort dibedakan antara external sort bila datanya ada dalam media external atau external storage seperti harddisk dan internal sort bila datanya ada dalam internal storage atau memory computer. Dalam bab ini yang akan dibahas adalah internal sort yaitu data yang berada dalam array satu dimensi.
  • 3.
    3 Metode Sorting • Bubblesort • Selection sort • Insertion sort • Shell sort • Merge sort • Radix sort • Quick sort • Heap short
  • 4.
    4 Bubble Sort Bubble artinyagelembung dan gelembung selalu mengapung. Prinsip proses pengurutan dengan menggunakan metode bubble sort adalah menempatkan (mengapungkan) nilai terbesar (jika urut ascending) atau nilai terkecil (jika urut descending) pada elemen ujung paling kanan pada tahap per tahapnya.
  • 5.
    5 Bubble Sort Sudah adaarray satu dimensi sudah ada isinya, diilustrasikan sebagai berikut : Akan diurutkan ascending sehingga dihasilkan urutan data seperti berikut:
  • 6.
    6 Bubble Sort Maka prosespengurutan tahap demi tahap dengan menggunakan metode bubble sort adalah sebagai berikut :
  • 7.
    7 Bubble Sort Dari arraydiatas yang terdiri dari 6 elemen dibutuhkan proses sebanyak 5 tahap maka untuk N elemen dibutuhkan (N-1) tahap proses pengurutan. Selanjutnya proses tahap per tahap akan diuraikan lebih rinci lagi. Pada proses setiap tahap algoritma yang digunakan adalah proses banding (compare) dan tukar (swap). Bukan semata-mata meletakkan nilai terbesar ke ujung kanan, melainkan membandingkan nilai- nilai yang ada pada masing-masing elemen.
  • 8.
    8 Bubble Sort Algoritma tahap1 untuk array dengan jumlah elemen N : Bandingkan (compare) A[0] dan A[1], jika A[0] > A[1] maka lakukan tukar nilai (swap), dilanjutkan dengan bandingkan A[1] dan A[2], jika A[1] > A[2] maka lakukan tukar nilai, dan seterusnya sampai perbandingan A[N-2] dan A[N-1] sehingga diperoleh nilai terbesar pertama yang diletakkan pada A[N-1]. Untuk tahap ke-K lakukan dari perbandingan A[0] dan A[1] sampai dengan perbandingan A[N-2-K] dan A[N-1-K]
  • 9.
  • 10.
    10 Rumus Bubble Sort for(K = 0 ; K < N-1 ; K++) { for (i = 0 ; i < N-2-K ; i++) { if ( A[i] > A[i+1] ) { x = A[i]; A[i] = A[i+1]; A[i+1] = x; } } }
  • 11.
    11 Selection Sort Metode selectionsort ini menggunakan proses pencarian (searching) kemudian tukar nilai yang dicari dengan nilai pada elemen awal. Misalnya untuk pengurutan ascending, dicari nilai terkecil pertama kemudian tukar dengan elemen ke- 0,selanjutnya dicari nilai terkecil kedua dan tukar dengan elemen ke-1 dan seterusnya.
  • 12.
  • 13.
    13 Rumus Selection Sort for( i=0 ; i <= N-2 ; i++) { j = i; for ( k = i+1 ; k <= N-1 ; k++ ) { if (A[k] > A[j]) { j = k; } } x = A[i]; A[i] = A[j]; A[j] = x; }
  • 14.
    14 Insertion Sort Tahap 1: Dimulai dari A[1] Simpan nilai A[1] pada sebuah variabel (misal x) Geser masing-masing satu langkah ke kanan semua nilai yang berada pada kiri A[1] satu per satu jika nilai tersebut lebih besar dari x Insert (sisipkan) x di bekas tempat nilai yang terakhir digeser. Tahap 2 : Simpan nilai A[2] pada variabel x. Geser masing-masing satu langkah ke kanan semua nilai yang berada pada kiri A[2] satu per satu jika nilai tersebut lebih besar dari x Insert (sisipkan) x di bekas tempat nilai yang terakhir digeser. Tahap berikutnya dan seterusnya hingga terakhir tahap ke N-1 (untuk array dengan N elemen). Instruksi pergeseran ke kanan adalah A[i]=A[i - 1], sehingga nilai A[i] akan hilang (ditimpa oleh nilai A[i-1] oleh karena itu pada awal tahap A[i] disimpan pada sebuah variabel.
  • 15.