Laporan Praktikum Resmi-Bab 7 Sorting (Insertion, Quick)

35
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

description

Laporan Praktikum Resmi - Bab 7 - Sorting - Cintia Yosfin Samalle - 201301041

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)).