Anda di halaman 1dari 3

Pengurutan (Sorting)

Teknik Minimax (MiniMax Sort)


Teknik MiniMax merupakan suatu prosedur yang memilik elemen terkecil (minimum) atau yang
terbesar (maksimum) untuk ditempatkan pada posisi yang sesuai dengan tujuan pengurutan. Andaikan
suatu larik akan diurutkan secaran ascending maka prosedurnya adalah sebagai berikut:
1. Mula-mula ambillah elemen terakhir Data[n], kemudian carilah elemen terbesar diantara elemenelemen lainnya (Data[1] sampai Data[n-1]),
2. Andaikan elemen pada posisi x adalah yang terbesar, bandingkan Data[x] dengan Data[n], bila
Data[x] > Data[n], maka lakukan penukaran nilai, yang terbesar ada pada posisi n.
3. Berikutnya ambillah elemen satu dari terakhir Data[n-1]. Kemudian cari elemen terbesar diantara
elemen lainnya (Data[1] sampai Data[n-1]).
4. Andaikan diperoleh Data[x] terbesar, maka tukarkan dengan Data[m-1].
5. Demikian seterusnya hingga semua elemen telah diproses.
Sebagai contoh, andaikan Data = [ 25 27 10 8 76 21 ]

Pseudo Code
Algoritma MiniMax_Sort;
Deklarasi
integer i,j,n,imax,temp,x,max,Data[100];
Deskripsi
write('Jumlah Data : ');
read(n);
if (n < 0) or (n > 100) then
n 5;
endif.
for i 1 to n do
write('Angka ke-',i,' : ');
readln(Data[i]);
endfor.
write('Data Awal : ');
for i 1 to n do
write(Data[i],' ');
endfor.
imax n;
{lakukan putaran(i) sebanyak n-1 kali}
for 1 to n - 1 do
{cari nilai terbesar diantara Data[1] hingga Data[n-i]}
max -999;
for j1 to n - i do
if Data[j] > max then
x := j;
max := Data[j];
endif.
endfor.
if Data[x] > Data[imax] then
temp := Data[imax];
Data[imax] := Data[x];
Data[x] := temp;
endif;
{ambil elemen berikutnya}
imax imax - 1;
endfor.

Anda mungkin juga menyukai