MeTODE STRAIGHT SELECTION
PROSES PENGURUTAN
Metode
ini dapat dikatakan sebagai kebalikan dari metode bubble sort. Jika pada bubble
sort pengurutan dimulai dengan mencari bilangan terbesar, maka pada metode
straight selection pencarian dimulai dengan bilangan terkecil. Bilangan
terkecil ini lalu diletakkan di elemen atau urutan pertama. Demikian seterusnya
sampai dihasilkan urutan bilangan dari kecil ke besar.
Dibawah
ini terlampir contoh array yang sama pada pembahasan metode bubble sort.
Array
**
Sebagai
langkah awal pengurutan dengan metode staight selection, isi elemen pertama
dibandingkan dengan elemen ke-2. Jika isi elemen ke-2 lebih kecil, maka isi
kedua elemen tersebut ditukar. Isi array kini berubah menjadi :
Proses
selanjutnya adalah membandingkan elemen pertama tadi dengan elemen ke-3. Karena
isi elemen ke-3 lebih besar, maka isi kedua elemen tidak ditukar dan
dilanjutkan dengan membandingkan elemen berikutnya yaitu elemen ke-4.
Karena
isi elemen ke-4 lebih kecil dari elemen pertama, maka isi kedua elemen tersebut
ditukar sehingga isi array menjadi :
Proses
diatas dilakukan secara berulang sampai elemen pertama selesai dibandingkan
dengan elemen terakhir yaitu elemen ke-8. Sehingga hasilnya menjadi :
Proses
diatas hanya membandingkan elemen pertama dengan semua elemen array. Sehingga
elemen pertama terisi bilangan terkecil. Selanjutnya ulangi proses diatas untuk
membandingkan elemen ke-2 dengan elemen lainnya.
Elemen
ke-2 dibandingkan dengan elemen ke-3. Karena isi elemen ke-3 lebih besar, maka
isi kedua elemen tersebut tidak ditukar. Selanjutnya elemen ke-2 dibandingkan
lagi dengan elemen ke-4. Karena isi elemen ke-4 lebih kecil, maka isi kedua
elemen tersebut ditukar sehingga isi array menjadi :
Proses
diatas dilakukan berulang sampai semua elemen selesai dibandingkan dengan
elemen ke-2. Setelah proses ini selesai maka isi array menjadi :
Kini isi
elemen pertama dan ke-2 sudah urut dari bilangan kecil ke besar. Ulangi proses
diatas untuk membandingkan elemen ke-3 dengan elemen lainnya. Setelah itu
elemen ke-4 dan seterusnya sampai elemen terakhir. Sehingga hasil akhirnya
adalah :
IMPLEMENTASI DALAM BENTUK FLOWCHART
Dalam
bentuk flowchart, proses pengurutan ini sama seperti pada pengurutan bubble
sort. Yaitu menggunakan variabel array untuk menyimpan semua bilangan yang akan
diurutkan. Dan memakai satu variabel cadangan untuk menukar isi elemen array.
Dari
proses pengurutan diatas, maka metode straight selection dapat
diimplementasikan dalam bentuk flowchart seperti berikut :
Gambar
11.1 Flowchart Pengurutan Metode Straight Selection (bersambung)
Gambar
11.1 flowchart (sambungan)
Berdasarkan
flowchart diatas, proses pengurutan bilangan dari kecil ke besar dapat
dirangkum sebagai berikut :
- persiapkan variabel yang dipakai dalam proses, yaitu :
N : variabel untuk menyatakan jumlah
elemen array. Jumlah ini diketahui berdasarkan
banyaknya bilangan yang diinput melalui keyboard.
I, J :
variabel indeks untuk membandingkan isi array.
- proses pertama yang dilakukan adalah mengisi semua bilangan yang akan diurutkan ke array. Pada flowchart diatas, array tersebut diberi nama ARRBIL. Bilangan diinput melalui keyboard dan disimpan didalam variabel BIL.
- periksa isi variabel BIL. Pada flowchart diatas, diasumsikan pengisian bilangna berakhir jika operator mengetik 0 untuk bilangan yang diinput. Oleh karena itu jika BIL = 0 maka proses dilanjutkan ke langkah 7 untuk mulai melakukan pengurutan bilangan. Jika BIL tidak sama dengan 0 berarti pengisian bilangan belum berakhir, maka proses dilanjutkan ke langkah 4.
- variabel N ditambah 1. variabel ini untuk menentukan elemen array yang akan diisi nilai dari variabel BIL.
- isi elemen array dengan nilai yang tersimpan di variabel BIL. Posisi elemen tersebut ditentukan berdasarkan harga N.
- kembali ke langkah 2 untuk menginput bilangan lainnya.
- variabel I ditambah 1.
- variabel J ditambah 1.
- perbandingkan isi elemen array pada posisi sesuai dengan nilai variabel I atau ARRBIL(I) dengan elemen array pada posisi sesuai dengan nilai variabel J atau ARRBIL(J). jika isi ARRBIL(I) lebih kecil dari ARRBIL(J) maka isi kedua elemen tersebut tidak ditukar. Untuk itu proses dilanjutkan ke langkah 11. namun jika isi ARRBIL(I) > dari ARRBIL(J) lanjutkan ke langkah 10 untuk menukar isi kedua elemen tersebut.
- pindahkan isi elemen ARRBIL(I) ke variabel sementara yaitu TEMP. pindahkan isi ARRBIL(J) ke ARRBIL(I). pindahkan isi TEMP ke ARRBIL(J).
- periksa isi variabel J. jika J sama dengan N maka proses perbandingan untuk mencari bilangan terkecil pertama selesai. Untuk itu proses dilanjutkan ke langkah 14. jika isi J masih belum sama, maka proses perbandingan untuk mecari bilangan terkecil belum selesai, lanjutkan ke langkah 12.
- variabel J ditambah 1.
- kembali ke langkah 9 untuk membandingkan isi ARRBIL(I) dengan elemen lainnya.
- periksa isi variabel I. jika J sama dengan N-1, maka semua elemen telah diperbandingkan dan proses pengurutan selesai. Untuk itu proses dilanjutkan ke langkah 15 untuk mencetak seluruh isi array. Jika isi J masih belum sama dengan N-1 maka semua bilangan belum terurut. Untuk itu proses kembali ke langkah 7 untuk mencari bilangan terkecil lainnya.
- variabel I diisi dengan nilai 0. variabel ini untuk menentukan elemen array yang akan dicetak.
- variabel I ditambah 1.
- cetak isi ARRBIL(I).
- periksa isi I. jika I sama dengan N berarti semua elemen array telah dicetak maka proses selesai. Jika isi I belum sama dengan N berarti semua elemen array belum tercetak. Untuk itu kembali ke langkah 16 untuk mencetak elemen lainnya.
PENGURUTAN BILANGAN DENGAN
METODE
BUBBLE SORT
Proses Pengurutan
·
Bubble
Sort adalah nama yang diberikan pada prosedur untuk mengatur sekelompok
bilangan dengan urutan dari kecil ke besar.
·
Untuk
mengurutkan bilangan diperlukan variabel array yang digunakan untuk menampung
semua bilangan yang akan diurutkan.
·
Proses
pengurutan dilakukan dengan membandingkan semua elemen array satu persatu.
Contoh
:
20
|
12
|
35
|
11
|
17
|
9
|
58
|
23
|
Dalam metode bubble sort, pengurutan
demulai dengan membandingkan elemen pertama untuk mendapatkan angka terbesar.
Lalu angka tersebut ditempatkan pada elemen terakhir.
Bubble Sort tidak lain adalah
pengulangan prosedur hingga bilangan – bilangan yang ada tersusun menurut
urutan dari yang kecil ke yang besar.
Contoh Buble Sort
6
|
5
|
8
|
3
|
Pertama :
6
|
5
|
8
|
3
|
5
|
6
|
8
|
3
|
5
|
6
|
8
|
3
|
5
|
6
|
3
|
8
|
Pada akhir proses pertama ini,
bilangan yang terbesar menempati tempat yang sesuai.
Kedua :
5
|
6
|
3
|
8
|
5
|
6
|
3
|
8
|
5
|
3
|
6
|
8
|
5
|
3
|
6
|
8
|
Pada
akhir proses kedua ini, bilangan terbesar kedua menempatkan tempat yang sesuai.
Ketiga :
5
|
3
|
6
|
8
|
3
|
5
|
6
|
8
|
3
|
5
|
6
|
8
|
3
|
5
|
6
|
8
|
Bila
proses ini dilanjutkan, tidak ada pertukaran tempat lagi bagi bilangan –
bilangan tersebut, sebab bilangan tersebut telah selesai disusun.
No comments:
Post a Comment