16
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

Laporan Resmi Bab 6,7,8

Embed Size (px)

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.