10
LAPORAN PRAKTIKUM SEMENTARA SORTING(SELECTION, BUBBLE) Disusun oleh : Albert Sugihartono 201301018 Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

Laporan Praktikum Sementara Sorting(Selection,Bubble)

Embed Size (px)

DESCRIPTION

Laporan Praktikum Sementara Algoritma dan Struktur Data 1 SORTING(Selection, Bubble)S1 Sistem InformasiSTIKOM Yos Sudarso PurwokertoAlbert SugihartonoNIM 201301018

Citation preview

Page 1: Laporan Praktikum Sementara Sorting(Selection,Bubble)

LAPORAN PRAKTIKUM SEMENTARA

SORTING(SELECTION, BUBBLE)

Disusun oleh :

Albert Sugihartono

201301018

Dosen pengampu :

Yosef Murya Kusuma Ardhana.S.T., M.Kom

JURUSAN SISTEM INFORMASI

SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO

PURWOKERTO

2014

Page 2: Laporan Praktikum Sementara Sorting(Selection,Bubble)

2

BAB I

TEORI DASAR

1. Pengantar

Sort atau sorting adalah suatu proses pengurutan data yang sebelumnya disusun

secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan

tertentu. Biasanya pengurutan terbagi menjadi dua yaitu ascending dan

descending. Dalam melakukan proses sorting terdapat beberapa hal yang

mempengaruhi kecepatan sorting itu sendiri, diantaranya jumlah operasi

perbandingan yang dilakukan dan juga jumlah operasi pemindahan data yang

dilakukan. Pada praktikum yang akan dilakukan, digunakan 2 jenis short yaitu

selection sort dan bubble sort.

2. Selection sort

Selection sort adalah suatu metode pengurutan yang membandingkan elemen yang ada

sekarang dengan elemen atau bilangan berikutnya sampai ke elemen atau bilangan yang

terakhir. Jika diketemukan bilangan yang lebih kecil daripada bilangan yang ada sekarang,

maka akan dicatat dan dipertukarkan posisinya.

3. Bubble sort

Bubble sort merupakan suatu metode pengurutan yang membandingkan data yang sekarang

dengan data berikutnya. Apabila data yang sekarang lebih besar daripada data berikutnya

maka posisi akan ditukar, bila tidak maka tidak perlu ditukar.

Page 3: Laporan Praktikum Sementara Sorting(Selection,Bubble)

3

BAB II

PENJELASAN PROGRAM

1. Latihan Praktikum

Pada bab ini membahas tentang listing program pada bagian modul yang akan digunakan

untuk latihan. Latihan yang akan dilakukan mencakup pada Listing

program_praktikum_6.1.cpp; dan program_praktikum_6.2.cpp.

Listing program_praktikum_6.1.cpp

/*

* program_praktikum_6.1.cpp

*

* Created on: Apr 18, 2014

* Author: ALBERT

*/

#include <iostream>

using namespace std;

int main()

{

int i,j,iMin;

int n,urut;

int tmp;

int arr[50];

cout<<"Inputkan banyak data yang akan diurutkan : ";

cin>>n;

urut=1;

for(i=0;i<n;i++)

{

cout<<"Masukkan data ke "<<i+1<<"=";

cin>>arr[i];

}

for(i=0;i<n-1;i++)

{

iMin=1;

for(j=urut;j<n;j++)

{

if(arr[j]<arr[iMin])

{

iMin=j;

if(arr[i]!=arr[iMin])

{

tmp=arr[i];

if(arr[i]>arr[iMin])

Page 4: Laporan Praktikum Sementara Sorting(Selection,Bubble)

4

{

arr[i]=arr[iMin];

arr[iMin]=tmp;

}

}

}

}

urut=urut+1;

}

cout<<"\nSetelah Pengurutan\n";

for(i=0;i<n;i++)

{

cout<<"Elemen ke "<<i+1<<" = "<<arr[i]<<endl;

}

return 0;

}

Output program_praktikum_6.1.cpp

Hasil output dari program_praktikum_6.1.cpp adalah sebagai berikut :

Penjelasan program_praktikum_6.1.cpp

Berikut penjelasan dari Listing program_praktikum_6.1.cpp :

1. Pada awal program, dideklarasikan variable-variabel sorting yaitu i untuk data ke- atau

tepatnya untuk indeks array, j dan iMin untuk membandingkan data yang besar atau kecil,

n adalah jumlah data,variable tmp digunakan sebagai tempat penampungan array sementara

dan arr[50] digunakan untuk array data ke-.

Page 5: Laporan Praktikum Sementara Sorting(Selection,Bubble)

5

2. Untuk input array digunakan perulangan for dimana variable i diset 0 dan apabila i<n

dimana n adalah jumlah yang diinputkan user, maka i bertambah sebanyak 1. Ini akan

memunculkan data ke-i untuk input data arraynya hingga i mencapai dibawah n.

3. Sorting diatas merupakan sorting selection secara ascending dimana dilakukan perulangan

for untuk membandingkan data yang ada yaitu iMin (indeks minimum) yang

diassignmentkan kondisinya sama dengan indeks array sekarang (i).

4. iMin dibandingkan dengan variable j yang dsudah diassignmentkan dengan Urut (value =

1) dengan menggunakan fungsi if. Jika j terbukti lebih kecil daripada iMin maka iMin akan

diassignmentkan sama dengan j.

Listing program_praktikum_6.2.cpp

/*

* program_praktikum_6.2.cpp

*

* Created on: Apr 18, 2014

* Author: Emporio-Ivankov

*/

#include <iostream>

using namespace std;

int main()

{

int j,i,n;

int tmp;

int arr[50];

cout<<"Inputkan banyak data yang akan diurutkan : ";

cin>>n;

for(i=0;i<n;i++)

Page 6: Laporan Praktikum Sementara Sorting(Selection,Bubble)

6

{

cout<<"Masukkan data ke "<<i+1<<" = ";

cin>>arr[i];

}

for(i=1;i<n;i++)

{

for(j=0;j<n-1;j++)

{

if(arr[j]>arr[j+1])

{

tmp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=tmp;

}

}

}

cout<<"\nSetelah Pengurutan Data\n";

for(i=0;i<n;i++)

{

cout<<"Elemen ke "<<i+1<<" : "<<arr[i]<<endl;

}

return 0;

}

Page 7: Laporan Praktikum Sementara Sorting(Selection,Bubble)

7

Output program_praktikum_6.2.cpp

Penjelasan program_praktikum_6.2.cpp

Berikut penjelasan listing program_praktikum_6.2.cpp :

1. Pada awal program, dideklarasikan variable-variabel sorting yaitu i untuk data ke- atau

tepatnya untuk indeks array, j membandingkan data yang besar dengan kecil, n adalah

jumlah data,variable tmp digunakan sebagai tempat penampungan array sementara dan

arr[50] digunakan untuk array data ke-.

2. Untuk input array digunakan perulangan for dimana variable i diset 0 dan apabila i<n

dimana n adalah jumlah yang diinputkan user, maka i bertambah sebanyak 1. Ini akan

memunculkan data ke-i untuk input data arraynya hingga i mencapai dibawah n.

3. Untuk proses sort program diatas menggunakan metode bubble sort secara ascending.

Pertama akan dilakukan pengulangan for pada variable j dengan variable j diset 0 hingga j

lebih kecil dari jumlah n-1;n adalah jumlah input yang diberi user.

4. Kemudian variable j dimasukkan kedalam array dan variable j (arr[j]) akan dibandingkan

valuenya dengan value dari variable j setelahnya (arr[j + 1]). Jika ternyata variable j

sebelumya lebih besar dari variable j setelahnya, variable j sebelumnya akan ditampung

sementara pada variable tmp (tmp = ar[j]) sementara variabel j lama akan diassignmentkan

dengan value dari variable j yang baru, kemudian variable j yang baru akan

Page 8: Laporan Praktikum Sementara Sorting(Selection,Bubble)

8

diassignmentkan dengan value dari variable j yang lama. Dengan begitu value akan

bertukar tempat.

Page 9: Laporan Praktikum Sementara Sorting(Selection,Bubble)

9

BAB III

KESIMPULAN

Kesimpulan yang dapat diambil adalah sorting sangat berguna untuk mempermudah dalam

pengurutan data, karena biasanya data yang ada tidaklah sedikit. Metode sorting untuk praktikum

ini ada 2 macam yaitu metode selection sort dan bubble sort. Perbedaannya adalah selection sort

melakukan pengecekan pada data satu persatu. Lain dengan bubble sort, bubble sort memiliki ciri

khusus dimana bubble sort melakukan perbandingan data sebelum dan setelahnya yang mana

akan melakukan pertukaran jika terbukti tidak sesuai dengan aturan yang ada. Untuk kecepatan

sorting, apabila jumlah operasi perbandingan semakin banyak ataupun operasi pemindahan data

yang banyak maka kecepatan sorting melambat.

Page 10: Laporan Praktikum Sementara Sorting(Selection,Bubble)

10

Sumber Referensi

Kristanto, Andi. 2003. Struktur Data Dengan C++

Yogyakarta : Graha Ilmu

Ardhana. YM Kusuma. 2013. Struktur Data Dalam Ilustrasi Eclipse Indigo C++

Yogyakarta : CAPS (Center of Academic Publishing Service)