Pengantar
Proses pengurutan banyak ditemukan dalam komputer.
Hal itu karena data yang sudah urut akan lebih cepat
untuk dicari. Untuk membentuk data yang tidak urut
menjadi data yang urut, terdapat berbagai algoritma
yang bisa digunakan. Perlu diketahui bahwa pengurutan
sendiri dapat dilakukan terhadap data yang secara
keseluruhan diletakkan dalam memori ataupun terhadap
data yang tersimpan pada pengingat eksternal.
pembahasan
ALGORITMA :
SUBRUTIN bubble_sort(L,n)
UNTUK tahap =1 S/D n-1
UNTUK j
0 S/D n-tahap-1
JIKA L[j] > L(j+1) MAKA
//Lakukan penukaran
tmp
L[j]
L[j]
L[j+1]
L[j+1]
tmp
AKHIR-JIKA
AKHIR-UNTUK
AKHIR-UNTUK
AKHIR-SUBRUTIN
Hasil Program :
Metode Pengurutan
Seleksi
Pengurutan seleksi mempunyai mekanisme seperti berikut:
Mula-mula suatu penunjuk (diberi nama posAwal), yang
menunjuk ke lokasi awal pengurutan data, diatur agar berindeks
pertama dalam larik. Selanjutnya dicari bilangan terkecil yang
terletak antara posisi sesudah yang ditunjuk oleh penunjuk
tersebut hingga elemen yang terakhir dalam larik. Lokasi
bilangan ini ditunjuk oleh posMin. Lalu tukarkan nilai bilangan
terkecil tersebut dengan nilai yang ditunjuk oleh posAwal.
Proses seperti itu diulang dari posAwal bernilai 0 hingga n-2,
dengan n menyatakan jumlah elemen dalam larik.
pembahasan
ALGORITMA :
SUBRUTIN selection_sort(L,n)
UNTUK posAwal = 0 S/D n-2
posMin posAwal
UNTUK j posAwal +1 S/D n-1
JIKA L[posMin] > L[j] MAKA
posMin j
AKHIR-JIKA
AKHIR-UNTUK
//Tukarkan
tmp L[posAwal]
L[posAwal] L[posMin]
L[posMin] tmp
AKHIR-UNTUK
AKHIR-SUBRUTIN
Hasil Program
pembahasan
ALGORITMA:
SUBRUTIN selection_sort(L,n)
UNTUK k 1 S/D n-1
x L[k]
L[j+1] x
AKHIR-ULANG
AKHIR-UNTUK
AKHIR-SUBRUTIN
Hasil Program
pembahasan
ALGORITMA :
SUBRUTIN quick_sort(L, p, r)
JIKA p < r MAKA
q partisi(L,p,r)
quick_sort(L,p,q)
quick_sort(L,q+1,r)
AKHIR-JIKA
AKHIR-SUBRUTIN
www.themegallery.com
1.
Modifikasilah program
seleksi.c agar bisa
dipakai untuk
mengurutkan data
secara descending.
Company Logo
www.themegallery.com
#include <stdio.h>
void tampilkan_larik(int data[], int n)
{
int i;
printf("\n");
}
/* Tukarkan */
Source Code
Company Logo
www.themegallery.com
tmp = data[posAwal];
data[posAwal] = data[posMin];
data[posMin] = tmp;
printf("Hasil posAwal= %d: ", posAwal);
tampilkan_larik(data, n);
}
int main()
{
const JUM_DATA = 8;
int i;
int data[] = {25, 57, 48, 37, 12, 92, 80, 33};
selection_sort(data, JUM_DATA);
/* Hasil Pengurutan */
Company Logo
Hasil Program
www.themegallery.com
Source Code
www.themegallery.com
#include <stdio.h>
void tampilkan_larik (int data[], int n)
{
int i;
printf("\n");
}
Company Logo
tmp = data[j];
data[j] = data[j+1];
data[j+1] = tmp;
}
}
int main()
{
const JUM_DATA = 8;
int i;
int data[] = {25,57,48,37,12,92,80,33};
bubble_sort(data, JUM_DATA);
/* Hasil pengurutan */
printf("Hasil pengurutan:\n");
tampilkan_larik(data, JUM_DATA);
Hasil Program
www.themegallery.com
#include <iostream.h>
void hasil(int no[], char nama[][20]){
int i;
cout<<"\nSetelah diurutkan\n";
for (i=0;i<=2;i++)
cout<<nama[no[i]]<<"\n";
}
void urutkan(int no[],char nama[][20]){
int j,awal,min,tukar;
for(awal=0;awal<=1;awal++){
min=awal;
for(j=awal+1;j<=2;j++)
if (nama[min][0]>nama[j][0])
min=j;
tukar=no[awal];
no[awal]=no[min];
no[min]=tukar;
}
Hasil Program
int main(){
int i,j,awal,min;
int no[]={0,1,2};
int no1[]={0,1,2};
char nama[][20]={"Japan","Indonesia","Swiss"};
cout<<"Sebelum diurutkan\n";
for (i=0;i<=2;i++)
cout<<nama[i]<<"\n";
urutkan(no,nama);
hasil(no,nama);
return 0;
#include <iostream.h>
void hasil(int no[], char nama[][20]){
int i;
cout<<"\nSetelah diurutkan\n";
for (i=0;i<=2;i++)
cout<<nama[no[i]]<<"\n";
}
void urutkan(int no[],char nama[][20]){
int j,awal,min,tukar;
for(awal=0;awal<=1;awal++){
min=awal;
for(j=awal+1;j<=2;j++)
if (nama[min][0]<nama[j][0])
min=j;
tukar=no[awal];
no[awal]=no[min];
no[min]=tukar;
}
int main(){
int i,j,awal,min;
int no[]={0,1,2};
int no1[]={0,1,2};
char nama[][20]={"Japan","Indonesia","Swiss"};
cout<<"Sebelum diurutkan\n";
for (i=0;i<=2;i++)
cout<<nama[i]<<"\n";
urutkan(no,nama);
hasil(no,nama);
return 0;
Hasil Program
Thank You !