Algoritma : Pengurutan data maksimum Matriks 2 dimensi
Ulil Amri
Thursday, June 28, 2012
algoritma
,
buble sort
,
matriks 1 dimensi
,
matriks 2 dimensi
,
pengurutan seleksi
,
quick sort
,
sharing
2 comments
eh, buka blog lagi nih. Gak sabar buat posting ni blog biar tambah eksis hahaha.Sahabat blogger, kali ini cerita ulil akan berbagi mengenai matakuliah aku di kampus, Algoritma. Pelajaran mengenai seni dalam berfikir sehingga dapat diimplementasikan ke komputer, artinya bahasa yang dimengerti oleh komputer.
Oke, kali ini aku mau bahas mengenai pengurutan data matriks 2 dimensi.
sebagai pengenalan, matrik dimensi itu dapat digambarkan seperti ini:
Pendeklarasiannya L[b][k] dimana L adalah nama matriks, b adalah jumlah baris, dan k adalah jumlah kolom.
Misalkan kita memiliki matriks 3x3, maka jumlah matriks = 9.
Pada pengurutan kali ini, kita mengurutkan data dengan metode mengkonversikan matriks 1 dimensi ke matriks 2 dimensi. Langsung aja ke algoritma pengurutan matriks 2 dimensi:
--------------------------------------------------------------------------------------------
baris = 3;
kolom = 3;
n = baris * kolom;
for (i=1;i<n;i++)
{
//konversi nilai indeks
x= i / kolom;
y = i % kolom;
if (y==0)
{
y = kolom;
x=x-1;
}
minb = x;
mink = y;
j=x;
k=y+1;
while (j<=baris)
{
while (k<=kolom)
{
if (L[j][k] > L[minb][mink])
{
minb=j;
mink=k;
k=k+1;
}
}
k=1;
j=j+1;
}
if((minb!=x) || (mink!=y))
{
temp = L[minb][mink];
L[minb][mink] = L[x][y];
L[x][y] = temp;
}
}
--------------------------------------------------------------------------------------------kolom = 3;
n = baris * kolom;
for (i=1;i<n;i++)
{
//konversi nilai indeks
x= i / kolom;
y = i % kolom;
if (y==0)
{
y = kolom;
x=x-1;
}
minb = x;
mink = y;
j=x;
k=y+1;
while (j<=baris)
{
while (k<=kolom)
{
if (L[j][k] > L[minb][mink])
{
minb=j;
mink=k;
k=k+1;
}
}
k=1;
j=j+1;
}
if((minb!=x) || (mink!=y))
{
temp = L[minb][mink];
L[minb][mink] = L[x][y];
L[x][y] = temp;
}
}
misalkan kita memiliki matriks:
L[3][3];
L [1][1] = 12;
L [1][2] = 2;
L [1][3] = 3;
L [2][1] = 20;
L [2][2] = 79;
L [2][3] = 23;
L [3][1] = 9;
L [3][2] = 3;
L [3][3] = 18;
kalau digambarkan akan seperti ini:
setelah dilakukan pengurutan data akan menjadi seperti ini:
Bagaimana Algoritma itu bisa bekerja mengurutkan data pada matriks 2 dimensi tersebut?
chechidot..
" konsep dari pengurutan seleksi adalah mencari nilai maksimum / minimum dari matriks kemudian menempatkan elemen maksimum /minimum tersebut pada awal atau akhir larik (elemen terujung). Selanjutnya elemen terujung tersebut diisolasi dan tidak disertakan pada proses selanjutnya. Proses yang sama diulang untuk elemen matriks tersiksa yaitu memilih elemen maksimum dan minimum berikutnya dan mempertukarkan nya dengan elemen terujung sisa. Proses atau pass dilakukan sebanyak data-1. "
oke sekian dulu postingan hari ini, semoga bermanfaat
:)
Subscribe to:
Post Comments
(
Atom
)
thanks banget nih postingannya.. kebetulan lagi nyari pengurutan matriks. terus klo proses searching satu angka dari matriks tersebut gimana ya?
ReplyDeleteGimana kalau mencari minimasi dan maksimasi pada matrik ordo 4x4
ReplyDeletetolong bantuannya terima kasih $-)