Senin, 03 Januari 2011

Selection Sort

Selection Sort Merupakan kombinasi antara sorting dan searching
-Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array.
-Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]).
-Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses.

berikut Algoritmanya :

#include "conio.h"
#include "stdio.h"

int main() {

int i, j, iMin;
int n, Urut;
int Tmp, code;
int Arr[100];
do {


printf("=====================================\n");
printf("| Pilihan Program Sorting |\n");
printf("=====================================\n");
printf("| 1. Selection Sorting (Ascending) |\n");
printf("| 2. Selection Sorting (Descending) |\n");
printf("| 3. Bubble Sorting (Ascending) |\n");
printf("| 4. Bubble Sorting (Descending) |\n");
printf("| 5. Insertion Sorting (Ascending) |\n");
printf("| 6. Insertion Sorting (Descending) |\n");
printf("| 7. Keluar . . . |\n");
printf("=====================================\n\n");
printf("Masukan Pilihan Anda : ");
scanf("%d", &code);
switch (code) {

case 1 :
printf("\nInputkan banyak data yang akan diurutkan : ");
scanf("%i", &n);
Urut = 1;
for(i = 0; i < n; i++) {
printf("Masukan data ke %i : ", i + 1);
scanf("%i", &Arr[i]);
}
for(i = 0; i < n - 1; i++) {
iMin = i;
for(j = Urut; j < n; j++) {
if(Arr[j] < Arr[iMin]) {
iMin = j;
if(Arr[i] != Arr[iMin]) {
Tmp = Arr[i];
if(Arr[i] > Arr[iMin]) {
Arr[i] = Arr[iMin];
Arr[iMin] = Tmp;
}
}
}
}
Urut = Urut + 1;
}
printf("\nSetelah Pengurutan\n");
for(i = 0; i < n; i++) {
printf("Elemen ke %i : %i\n", i + 1, Arr[i]);
}
getch();
break;

Read More..

Bubble Sort

Bubble Sort Merupakan sebuah algoritma penyortiran yang dimulai dan berakhir pada sebuah daftar dengan n elemen dan memindahkan seluruhnya, menguji nilai setiap pasangan item yang berdekatan dan menukarkannya jika mereka tidak berada dalam urutan yang tepat.
contoh algoritmanya :

#include "stdio.h"
#include "conio.h"
#define n 7
void main()
{
int A[n] = {15,10,7,22,17,5,12};
int X, I, K;
printf("Sebelum di-sort\n");
for (I=0; I <= n-1; I++)
printf("%3i", A[I]);
printf("\n");

K=0;
while(K<=n-2)
{
I=0;
while(I<=n-2 - K)
{
if (A[I] > A[I+1])
{
X = A[I];
A[I] = A[I+1];
A[I+1] = X;
}
I++;
}
K++;
}
printf("Sesudah di-sort\n");
for (I=0; I<= n-1; I++)
printf("%3d", A[I]);
}

Read More..
Copyrigt @ : Rahman Avenged SMK N 2 SURAKARTA