View
47
Download
3
Category
Preview:
DESCRIPTION
laporan
Citation preview
LAPORAN PRAKTIKUM RESMI
SORTING
(SELECTION, BUBBLE, INSERTION, QUICK, SHELL, MERGE)
Disusun oleh :
Analis Hasby Azizah
201301043
Dosen pengampu :
Yosef Murya Kusuma Ardhana.S.T., M.Kom
JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO
PURWOKERTO
2014
2
BAB I
TEORI DASAR
A. Pengantar
Sorting adalah suatu proses pengurutan data dari data yang diusun secara acak atau tidak
teratur menjadi urut atau teratur. Kecepatan sorting dipengaruhi oleh jumlah oprasi
pembanding yang dilakukan dan jumlah oprasi pemindahan data yang dilaukan. Makin
banyak oprasi pembandingan dan oprasi pemindahan data yang dilakukan maka makin lama
proses sort itu berjalan, begitu juga sebaliknya.
B. Selection Sort
Selection sort bekerja dengan mekanisme sebagai berikut. Mengatur lokasi awal pengaturan
data agar berisi index pertama dalam larik.kemudian dicari biangan terkecil yang terletak
atara posisi sesudah yang ditunjuk oleh petunjuk tersebut hingga elmen yang terakhir dalam
larik. Lokasi bilangan tersebut ditunjuk oleh posMin. Selanjutnya tukarkan nilai bilangan
terkecil tersebut dengan nilai yang ditunjuk oleh posAwal. Proses tersebut diulang dari
posAwal bernilai 0 hingga n-2, dengan n menyatakan jumlah elmen dalam larik.
C. Bubble Sort
Ciri khusus algoritma bubble sort adalah mekanisme cara kerjanya yang dengan melakukan
pembandingan dan jika urutan data tidak terpenuhi maka dilakukan pertukaran.
D. Insertion Sort
Insertion sort merupakan teknik pengurutan data yang paing mudah dimengerti dan
diterapkan. Prinsip kerja teknik ini yaitu mengambil sebuah elmen dari tempat tertentu
kemudian menyisipkannya ke suatu tempat hingga elmen elmen lain bergeser kebelakang.
E. Quick Sort
Quick sort yaitu teknik membandingkan suatu elmen (pivot) dengan elmen elmen lain dan
menyusunnya sehingga elmen yang nilainya lebih kecil dari pivot terletak disebelah kirinya
dan elmen yang lebih besar dari pada pivot terletak disebelah kanannya.
3
F. Shell Sort
Shell sort yaitu mengurutkan data dengan cara membandingkan suatu data dengan data lain
yang memiliki jarak tertentu, kemudian dilakukan pertukaran jika diperlukan.
G. Merge Sort
Merge sort yaitu suatu teknik pengurutan dengan menggabungkan setiap kali dua deretan
elmen dan melakukan pengurutan terhadap elmen lemen tersebut.
4
BAB II
PENJELASAN PROGRAM
A. Tugas Praktikum
Listing Program 6.1 Modif
/* * 6.1 typedef.cpp * * Created on: May 2, 2014 * Author: Analis */ #include using namespace std; /* Pendeklarasian tipe data baru */ typedef int arif; int main(){ arif i, j, iMin; arif n, Urut; arif Tmp; /* penampung elmen array*/ arif Arr[50]; /* deklarasi array */ coutn; Urut = 1; for(i = 0; i< n; i++){ / *Perulangan untuk array */ cout
5
Urut = Urut + 1; } cout
6
int Arr[50]; } ees; int main(){ coutees.n; for(ees.i = 0; ees.i < ees.n; ees.i++) { cout
7
Penjelasan Program 6.2 modif
1. #include digunakan untuk menampilkan deklarasi yang ada pada cout.
2. using namespace std; untuk menampilkan perintah perintah yang ada pada library
standard.
3. struct{
int i, j, n;
int Tmp;
int Arr[50];
}ees; merupakan pendeklarasian tipe data baru struct.
4. Int data berupa bilangan bulat.
5. Int main() untuk mengawali suatu program
Listing Program 7.1 Modif
/* * 7.1.cpp * * Created on: May 10, 2014 * Author: Analis */ #include using namespace std; typedef struct ee{ int i, k; int x; int ketemu; }; void tampilkan_larik(int data[], int n) { int i; for( i=0; i
8
{ if (eee.x
9
Penjelasan Program 7.1 Modif
1. #include digunakan untuk menampilkan deklarasi yang ada pada cout.
2. using namespace std; untuk menampilkan perintah perintah yang ada pada library
standard.
3. typedef struct ee{
int i, k;
int x;
int ketemu;
}; merupakan pendeklarasian tipe data baru typedef struct.
4. void tampilkan_larik merupakan rumus untuk menampilkan larik
5. void insertion_sort fungsi untuk melakukan sorting dengan cara insertion sort.
6. ee eee, variabel eee bertipe data ee.
7. Int data berupa bilangan bulat.
8. Int main() untuk mengawali suatu program.
Listing Program 7.2 Modif
/* * 7.2modif.cpp * * Created on: May 10, 2014 * Author: Analis */ #include using namespace std; struct { int x, i, j, tmp; }analis; void tampilkan_larik(int data[], int n) { analis.i; for (analis.i=0; analis.i
10
analis.i=analis.i+1; if (analis.i
11
Penjelasan Program 7.2 Modif
1. #include digunakan untuk menampilkan deklarasi yang ada pada cout.
2. using namespace std; untuk menampilkan perintah perintah yang ada pada library
standard.
3. struct{
int x, i, j, tmp;
}analis; merupakan pendeklarasian tipe data baru struct.
4. void tampilkan_larik rumus untukmenampilkan larik.
5. Void quick_sort fungsi untuk melakukan sorting dengan cara quick sort.
6. Int data berupa bilangan bulat.
7. Int main() untuk mengawali suatu program.
Listing Program 8.1 Modif
/* * 8.2.cpp * * Created on: May 10, 2014 * Author: Analis */ #include using namespace std; typedef struct ii{ int i, j, m, k, mid; }; void shellsort(int a[], int n) { ii iii; for(iii.m=n/2;iii.m>0;iii.m/=2) { for(iii.j=iii.m;iii.j=0;iii.i-=iii.m) { if(a[iii.i+iii.m]>=a[iii.i]) break; else { iii.mid=a[iii.i]; a[iii.i]=a[iii.i+iii.m]; a[iii.i+iii.m]=iii.mid; } } }
12
} } int main() { int a[10],i,n; coutn; for(i=0;i
13
3. typedef struct ii{
int i, j, k, m, mid;
}; merupakan pendeklarasian tipe data baru typedef struct.
4. void shellsort fungsi untuk melakukan sorting dengan cara shellsort.
5. ii iii, variabel iii bertipe data ii.
6. int data berupa bilangan bulat.
7. int main() untuk mengawali suatu program.
Listing Program 8.2 Modif
/* * 8.2modif.cpp * * Created on: May 11, 2014 * Author: Analis */ #include using namespace std; struct{ int h, i, j, b[50],k; }iiiii; int a[50]; void merge(int,int,int); void merge_sort(int low, int high) { int mid; if(low
14
else { iiiii.b[iiiii.i]=a[iiiii.j]; iiiii.j++; } iiiii.i++; } if(iiiii.h>mid) { for(iiiii.k=iiiii.j;iiiii.k
15
Output Program 8.2 Modif
Penjelasan Program 8.2 Modif
1. #include digunakan untuk menampilkan deklarasi yang ada pada cout.
2. using namespace std; untuk menampilkan perintah perintah yang ada pada library
standard.
3. struct{
h, i, j, b[50],k;
}iiiii; merupakan pendeklarasian tipe data baru struct.
4. void_merge(int, int, int); menedeklarasikan data pada void-merge bertipe data integer.
5. void tampilkan_larik rumus untukmenampilkan larik.
6. void merge_sort fungsi untuk melakukan sorting dengan cara merge sort.
7. Int data berupa bilangan bulat.
8. Int main() untuk mengawali suatu program.
16
BAB III
KESIMPULAN
Sorting dilakukan untuk mengurutkan data acak atau data yang tidak teratur menjadi urut
atau teratur sesuai dengan aturan tertentu. Sorting dapat dilakukan dengan berbagai cara
diantaranya dengan cara, selection sort, bubble sort, insertion sort, quick sort, shell sort dan
merge sort. Dalam melakukan sorting kita juga bisa mengkombinasikannya dengan
menggunakan tipe data abstrakseperti typedef, struct atau typedef struct untuk memanipulasi
suatu data.
Recommended