Laporan Praktikum Resmi-Bab 7 Sorting (Insertion, Quick)
description
Transcript of Laporan Praktikum Resmi-Bab 7 Sorting (Insertion, Quick)
-
LAPORAN PRAKTIKUM RESMI
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
-
2
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.
-
3
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 using namespace std; void tampilkan_larik (int data[], int n) { int i; for (i=0; i
-
4
} int main() { int JUM_DATA=8; int i; int data[]={25,57,48,37,12,92,80,33}; insertion_sort(data, JUM_DATA); cout
-
5
6. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.
7. void tampilkan_larik (int data[], int n) { int i; menyatakan bahwa variable i bertipe data integer. for (i=0; i
-
6
14. insertion_sort(data, JUM_DATA); Proses untuk melakukan pemanggilan insertion sort dan kemudian akan ditampilkan ke layar.
15. cout
-
7
j=j-1; while(data[i]
-
8
Penjelasan Program 7.2
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.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai.
3. untuk memanggil fungsi cout dan cin dalam C++.
4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++.
5. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.
6. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.
7. void tampilkan_larik(int data[], int n) { int i; menyatakan bahwa variable i bertipe data integer. for(i=0; i
-
9
} else return j; } } Proses perulangan untuk pendeklarasian partisi.
9. return j; Digunakan untuk membalikan nilai fungsi dari posisi.
10. void quick_sort(int data[], int p, int r) { int q;
if(p
-
10
18. cout dipakai untuk menampilkan teks/data ke layar monitor sehingga menjadi output.
19. return 0 dimaksudkan untuk menyatakan nilai balik main.
20. Tanda
-
11
while ((i>=0) && (!ketemu)) { if (x
-
12
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai.
3. untuk memanggil fungsi cout dan cin dalam C++.
4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++.
5. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.
6. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.
7. void tampilkan_larik (int data[], int n) { int i; menyatakan bahwa variable i bertipe data integer. for (i=0; i
-
13
10. int main(),menyatakan tipe nilai balik fungsi main.
11. struct bilangan { int i; int JUM_DATA=8; }; struct bilangan z;
Bilangan merupakan member atau anggota dari struct, variable i, JUM_DATA=8 merupakan variable yang bertipe data integer, z merupakan bagian dalam member bilangan dalam struct.
12. int JUM_DATA=8; Di dalam variable JUM_DATA terdapat nilai 8.
13. int i; Variabel i bertipe data integer.
14. int data[]={25,57,48,37,12,92,80,33}; data merupakan sebuah array yang belum diketahui berapa elemennya, dan data juga merupakan variable bertipe data integer dengan beberapa nilai di dalamnya.
15. insertion_sort(data, z.JUM_DATA); Proses untuk melakukan pemanggilan insertion sort dan kemudian akan ditampilkan ke layar.
16. cout
-
14
* Author: STIKOM32 */ #include using namespace std; void tampilkan_larik (int data[], int n) { int i; for (i=0; i
-
15
Output Program 7.1 Typedef
Pembahasan Program 7.1 Typedef
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.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai.
3. untuk memanggil fungsi cout dan cin dalam C++.
4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++.
5. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.
6. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.
7. void tampilkan_larik (int data[], int n) { int i; menyatakan bahwa variable i bertipe data integer. for (i=0; i
-
16
9. for(k=1; k=0) && (!ketemu)) { if (x
-
17
17. return 0 dimaksudkan untuk menyatakan nilai balik main.
18. Tanda
-
18
} } typedef struct bilangan { int i; int JUM_DATA=8; }; struct bilangan z; int main() { int data[]={25,57,48,37,12,92,80,33}; insertion_sort(data, z.JUM_DATA); cout
-
19
4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++.
5. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.
6. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.
7. void tampilkan_larik (int data[], int n) { int i; menyatakan bahwa variable i bertipe data integer. for (i=0; i
-
20
int JUM_DATA=8; }; struct bilangan z;
Typedef biasanya digunakan untuk memberikan nama alias untuk suatu tipe data. Bilangan merupakan member atau anggota dari struct, variable i, JUM_DATA=8 merupakan variable yang bertipe data integer, z merupakan bagian dalam member bilangan dalam struct.
12. int JUM_DATA=8; Di dalam variable JUM_DATA terdapat nilai 8.
13. int i; Variabel i bertipe data integer.
14. int data[]={25,57,48,37,12,92,80,33}; data merupakan sebuah array yang belum diketahui berapa elemennya, dan data juga merupakan variable bertipe data integer dengan beberapa nilai di dalamnya.
15. insertion_sort(data, z.JUM_DATA); Proses untuk melakukan pemanggilan insertion sort dan kemudian akan ditampilkan ke layar.
16. cout
-
21
void tampilkan_larik(int data[], int n) { int i; for(i=0; i
-
22
int main() { int data[]={25,57,48,37,12,92,80,33,1}; quick_sort(data, 0, z.JUM_DATA-1); cout
-
23
for(i=0; i
-
24
if(p
-
25
Program 7.2 dengan Menggunakan Typedef
/* * Praktikum7.2.cpp * * Created on: Apr 28, 2014 * Author: STIKOM32 */ #include using namespace std; void tampilkan_larik(int data[], int n) { int i; for(i=0; i
-
26
} } typedef int n; int main() { n JUM_DATA=9; n i; n data[]={25,57,48,37,12,92,80,33,1}; quick_sort(data, 0, JUM_DATA-1); cout
-
27
6. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.
7. void tampilkan_larik(int data[], int n) { int i; menyatakan bahwa variable i bertipe data integer. for(i=0; i
-
28
} } Pendeklarasian untuk pemanggilan insertion sort, dengan data[] dan n bertipe data integer.
11. { int q;
if(p
-
29
21. cout dan cin disini maksudnya adalah sebagai fungsi input dan output sebuah program.
22. \n digunakan untuk memindahkan kursor ke baris berikutnya.
Program 7.2 dengan Menggunakan Struct- Typedef
/* * Praktikum7.2.cpp * * Created on: Apr 28, 2014 * Author: STIKOM32 */ #include using namespace std; void tampilkan_larik(int data[], int n) { int i; for(i=0; i
-
30
{ int q; if(p
-
31
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai.
3. untuk memanggil fungsi cout dan cin dalam C++.
4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa pemrograman C++.
5. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.
6. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.
7. void tampilkan_larik(int data[], int n) { int i; menyatakan bahwa variable i bertipe data integer. for(i=0; i
-
32
9. return j; Digunakan untuk membalikan nilai fungsi dari posisi.
10. void quick_sort(int data[], int p, int r)
{ int q;
if(p
-
33
18. cout
-
34
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.
-
35
DAFTAR PUSTAKA
1. Ardhana, YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclups Indigo C ++. Yogyakarta: CAPS (Center of Academic Publishing Service).
2. Kadir, Abdul. 2012. Buku Pintar C++ Untuk Pemula. Yogyakarta: MediaKom.
3. Modul praktikum algoritma dan struktur data 1 (bab 7 sorting (insertion, quick)).