Anda di halaman 1dari 8

LAPORAN PRAKTIKUM SEMENTARA ALGORITMA & STRUKTUR DATA 1 SORTING (INSERTION, QUICK)

Disusun oleh : Cintia Yosfin Samalle 201301041

Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom

JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

BAB I TEORI DASAR

1.

Insertion Sort Teknik ini merupakan teknik pengurutan data yang paling sederhana dan paling mudah dimengerti maupun diterapkan. Prinsip dasar dari teknik Insertion Sort ini, yaitu seolah-olah mengambil sebuah elemen dari tempat tertentu, kemudian menyisipkannya (insert) ke suatu tempat hingga elemen-elemen lain bergeser ke belakang.

2.

Quick Sort Quick Sort yaitu teknik membandingkan suatu elemen (pivot) dengan elemen yang lain dan menyusunnya sedemikian rupa sehingga elemen-elemen lain yang lebih kecil dari pivot tersebut terletak disebelah kirinya dan elemen-elemen yang lebih besar daripada pivot tersebut terletak disebelah kanannya.

BAB II PENJELASAN PROGRAM

Pada penjelasan program bab ini akan dijelaskan mengenai bagaimana melakukan pemrograman C++ dengan menggunakan teknik sorting (insertion, quick) secara sederhana sesuai dengan modul praktikum. Program 7.1
/* * Praktikum7.1.cpp * * Created on: Apr 22, 2014 * Author: STIKOM32 */ #include <iostream> using namespace std; void tampilkan_larik (int data[], int n) { int i; for (i=0; i<n; i++) cout<<data[i]<<" "<<endl; } void insertion_sort(int data[], int n) { int i, k; int x; int ketemu; for(k=1; k<n; k++) { x=data[k]; i=k-1; ketemu=0; while ((i>=0) && (!ketemu)) { if (x<data[i]) { data[i+1]=data[i]; i=i-1; } else ketemu=1; data[i+1]=x; } }

} int { int int int main()

JUM_DATA=8; i; data[]={25,57,48,37,12,92,80,33}; insertion_sort(data, JUM_DATA); cout<<"Hasil pengurutan data: \n"; tampilkan_larik(data, JUM_DATA); return 0; }

Output Program 7.1

Program 7.2
/* * Praktikum7.2.cpp * * Created on: Apr 22, 2014 * Author: STIKOM32 */ #include <iostream> using namespace std; void tampilkan_larik(int data[], int n) { int i; for(i=0; i<n; i++) cout<<data[i]<<" "<<endl; } int partisi(int data[], int p, int r) {

int x, i, j, tmp; x=data[p]; i=p; j=r; while(1) { while(data[j]>x) j=j-1; while(data[i]<x) i=i+1; if(i<j) { tmp=data[i]; data[i]=data[j]; data[j]=tmp; } else return j; } } void quick_sort(int data[], int p, int r) { int q; if(p<r) { q=partisi(data, p, r); quick_sort(data, p, q); quick_sort(data, q+1, r); } } int main() { int JUM_DATA=9; int i; int data[]={25,57,48,37,12,92,80,33,1}; quick_sort(data, 0, JUM_DATA-1); cout<<"Hasil pengurutan data: \n"; tampilkan_larik(data, JUM_DATA); return 0; }

Output Program 7.2

Penjelasan Program Berukut penjelasan dari Listing Program : 1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. <iostream> untuk memanggil fungsi cout dan cin dalam C++. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main. Tanda ; digunakan untuk mengakhiri sebuah pernyataan. int main(),menyatakan tipe nilai balik fungsi main. cout dipakai untuk menampilkan teks/data ke layar monitor sehingga menjadi output. return 0 dimaksudkan untuk menyatakan nilai balik main. Tanda << adalah tanda spesifik dalam cout. Tanda tersebut menyatakan bahwa nilai di kanannya akan dirim ke layar. cout dan cin disini maksudnya adalah sebagai fungsi input dan output sebuah program. \n digunakan untuk memindahkan kursor ke baris berikutnya.

2.

3. 4.

5. 6. 7. 8. 9. 10.

11. 12.

BAB III KESIMPULAN Insertion Sort

Prinsip dasar dari teknik Insertion Sort ini, yaitu seolah-olah mengambil sebuah elemen dari tempat tertentu, kemudian menyisipkannya (insert) ke suatu tempat hingga elemen-elemen lain bergeser ke belakang. Quick Sort Yaitu teknik membandingkan suatu elemen (pivot) dengan elemen yang lain dan menyusunnya sedemikian rupa sehingga elemen-elemen lain yang lebih kecil dari pivot tersebut terletak disebelah kirinya dan elemen-elemen yang lebih besar daripada pivot tersebut terletak disebelah kanannya.

DAFTAR PUSTAKA 1. Ardhana, YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclups Indigo C ++. Yogyakarta: CAPS (Center of Academic Publishing Service). Kadir, Abdul. 2012. Buku Pintar C++ Untuk Pemula. Yogyakarta: MediaKom. Modul praktikum algoritma dan struktur data 1 (bab 7 sorting (insertion, quick)).

2. 3.

Anda mungkin juga menyukai