Anda di halaman 1dari 5

Algoritma (B) Kelompok 24 Nama Anggota Kelompok : Setyo Hadi Kusomo Dewa Gd Anom Surya P I Wayan Suartawan Hagi

Semara Putra (1204505039) (1204505045) (1204505072) (1204505094)

SORTING DENGAN METODE SELECT Algoritma Pendukung


Prosedur tukar (input a, b : integer) 1. Membuat penampung nilai data sementara, yaitu: temp; 2. Memasukkan nilai data ke-b ke-temp; 3. Memasukkan nilai data ke-a ke data ke-b; 4. Memasukkan nilai data temp (yang berasal dari data ke-b) ke data ke-a ; Prosedur select () 1. Membuat penunjuk urutan data, yaitu:i, j dan posisi data, yaitu: posisi; 2. Lakukan hal berikut n-1 kali : 2.1 posisi berada di data ke-i; 2.2 lakukan hal berikut n kali : 2.2.1 jika data ke-j< data ke-i maka posisi berada pada data ke-j; 2.2.2 sebaliknya posisi berada di data ke-i; 2.2.3 jika posisi tidak berada di data ke-i maka lakukan prosedur tukar (posisi, i);

AlgoritmaUtama
1. MULAI 3. buat array sebanyak 10 untuk menyimpan data, yaitu data[10]; 4. buat counter untuk menentukan perulangan, yaitu n; 4. tampilkan tulisan masukkan jumlah angka (maksimal 10) : ; 5.menerima input untuk banyaknya perulangan ke-n ; 7. lakukan hal berikut n kali : 7.1 tampilkan tulisan masukkan angka ke-i; 7.2 menerima input untuk data ke-i; 8. panggil prosedur select() 9. tampilkan tulisan urutan hasil sorting : 10. lakukan hal berikut sebanyak n kali : 10.1 tampilkan data ke-i 11. tampilkan tulisan sorting selesai 12. SELESAI

Pseudo Code
deklarasi data: array [10] of integer n : integer prosedur tukar(input a, b : integer) deklarasi temp : integer deskripsi temp<- data[b] data[b] <- data[a] data[a] <- temp prosedur select() deklarasi i, j, posisi : integer deskripsi fori<- 1 to n-1 do posisi<- 1 for j <- i+1 to n do if data[j] < data[i] then posisi<- j else posisi<- i {end if} ifposisi != i then tukar(posisi, i) {end if} {end for} {end for} Deskripsi write ('masukkan jumlah angka (maksimal 10 angka)') input n i : integer fori<- 1 to n do write ('masukkan angka ke-', i) input data[i] {end for} select() write ('urutan hasil sorting : ') fori<- 1 to n do write (data[i]) {end for} write ('sorting selesai') End

PROSEDUR tukar (input a, b : integer) START

PROSEDUR select () START

temp=data[a]

FOR i = 1 to n

data[a]=data[b]

posisi<- i

FOR j = i+1 to n data[a] <- temp

END

NO Posisi<- i

IF data[i]<data[j]

YES Posisi<- j

NO END

IF posisi != i YES tukar(posisi, i)

Flowchart Utama START

WRITE Masukkan Jumlah Data

INPUT n

FOR i = 1 to n

WRITE Masukkan angka ke-, i

INPUT data[i]

Select()

Urutan hasil sorting

WRITE data[i]

WRITE sorting selesai

END