Anda di halaman 1dari 8

LAPORAN PRAKTIKUM

DASAR – DASAR PEMROGRAMAN


Modul 8 : Pengurutan
25 November 2020
Jurusan Sistem Informasi FTI Unand
LDKOM

Dosen Pengampu : Adi Arga Arifnur, M.Kom

Nama Mahasiswa : Hanif Izza Pratama


NIM : 2011521023
Kelas : 01 (Nyisip Ke Kelas 02)
I. Tujuan Praktikum

1. Mahasiswa memahami apa yang dimaksud dengan pengurutan


2. Mahasiswa memahami dan mampu menggunakan pengurutan dalam program

6
II. Dasar Teori

1. Pengurutan

Pengurutan (sorting) adalah proses pengurutan data yang sebelumnya


tersusun secara acak atau tidak teratur menjadi urut dan teratur menurut aturan
tertentu. Kita dapat melakukan pengurutan dalam dua bentuk, yaitu menaik
(ascending) dan menurun (descending).

2. Metode Pengurutan

Ada beberapa cara/metode yang dapat dilakukan untuk mengurutkan data,


diantaranya :

1) Bubble Sort
Sesuai dengan namanya “Bubble”, metode ini melakukan proses
pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang
tepat, seperti gelembung yang keluar dari gelas bersoda. Bubble sort
mengurutkan data dengan membandingkan nilai pada elemen sekarang dan
elemen berikutnya. Jika kondisi (lebih besar/lebih kecil, tergantung bentuk
urutan yang diinginkan), maka elemen tersebut akan saling bertukar
tempat. Bubble Sort akan berhenti ketika seluruh data sudah terurut.
Metode ini mudah untuk dipahami, namun tidak efisien dalam
penggunaan data yang banyak. Karena akan banyak perluangan yang
dilakukan dalam proses ini.

6
Berikut syntax dari metode bubble sort :

int i,j;
for(i=1; i<max-1; i++){
for(j=max-1; j>=i; j--){
if(data[j-1] > data[j]){
tukar(data[j-1], data[j]);
}
}
}

2) Insertion Sort
Pada metode ini data dicetak satu per satu mulai dari yang kedua
sampai data yang terakhir. Apabila ditemukan data yang sesuai kondisi
pengurutan, maka data tersebut akan disisipkan pada posisi yang sesuai.
Metode ini mirip seperti kita mengurutkan sebuah kartu.
Berikut syntax dari metode insertion sort :

int i,j,x;
for(i=1;i<max;i++){
x = data[i];
j = i-1;
while(x < data[j]){
data[j+1] = data[j];
j--;
}
data[j+1] = x;
}

6
III. Pembahasan

Berikut ini adalah bentuk penulisan algoritma untuk pemecahan masalah dari
Tugas 9 (Pertemuan 10) yang telah diberikan pada modul 8 ini antara lain :
A. Bahasa Natural / Deskriptif
Algoritma Pengurutan_Bubble sort_dan_Insertion
1. Mulai
2. Deklarasi array 1 dimensi bertipe integer bernama umur yang memiliki nilai
6.
3. Cetak / tampilkan ‘Masukkan data’.
4. Lakukan perulangan untuk input umur.
5. Cetak / tampilkan ‘Inputkan Umur’.
6. Lakukan perulangan untuk menampilkan inputan umur.
7. Cetak / tampilkan ‘Bubble sort menaik’.
8. Deklarasikan fungsi perulangan dan if untuk mengurutkan umur yang sudah
diinput dari yang terendah ke tertinggi.
9. Cetak / tampilkan umur yang sudah diurutkan.
10. Cetak / tampilkan ‘Insertion sort menurun’ .
11. Deklarasikan perulangan insertion menurun untuk mengurutkan umur yang
sudah diinput dari yang tertinggi ke terendah.
12. Cetak tampilan umur yang sudah diurutkan.
13. Selesai.

B. Kode Program

#include <iostream>

using namespace std;

int main()
{
int umur[6];

cout<<"----Masukkan Data-----\n";
for (int i=0;i<6;i++)

6
{
cout<<"Inputkan Umur "<<i+1<<": ";
cin>>umur[i];
}
cout<<"\n----BUBLE SORT MENAIK----\n";
for(int a=0;a<5;a++)
{
for(int b=1+a;b<6;b++)
{
if (umur[b]<umur[a])
{
int c;
c=umur[a];
umur[a]=umur[b];
umur[b]=c;
}
}
}
for (int d=0;d<6;d++)
{
cout<<"Umur : "<<umur[d]<<endl;
}

cout<<"\n----INSERTION SORT MENURUN----\n";


for(int e=1;e<6;e++)
{
for(int f=e;umur[f]>umur[f-1]&&f>0;f--)
{
int g;
g=umur[f];
umur[f]=umur[f-1];
umur[f-1]=g;
}
}
for (int h=0;h<6;h++)
{
cout<<"Umur : "<<umur[h]<<endl;
}
return 0;
}

6
C. Print Screen Output dari Console

6
Daftar Pustaka

Kadir, Abdul. 2005. Algoritma Pemrograman Menggunakan C++. Yogyakarta: Andi

Rossa, A.S. 2010. Modul Pembelajaran Algoritma dan Pemrograman. Bandung:


Modula

Munir, Rinaldi. 2011. Algoritma dan pemrograman, Edisi Revisi. Bandung:


Informatika

Anda mungkin juga menyukai