Sorting
Sorting
PENDAHULUAN PRAKTIKUM
4) Langkah Kedua dengan menggeser bilangan kedua (10) shg ada ruang untuk
disisipi.
6) Sekarang, tiga bilangan pertama sudah terurut secara relatif dan kita sisipkan
bilangan keempat kepada tiga bilangan pertama tsb. Setelah penyisipan,
empat bilangan pertama haruslah dalam keadaan terurut secara relatif.
7) Ulangi proses tsb sampai bilangan terakhir disisipkan.
TUGAS PENDAHULUAN
2.1 Buatlah program pengurutan data menggunakan metode Bubble Sort, Selection
Sort, dan Insertion Sort secara Descending!
Bubble Sort
Listing Program
#include <iostream>
#include <conio.h>
using namespace std;
int data[100],data2[100];
int n;
int tukar (int a,int b)
{
int t;
t=data[b];
data[b]=data[a];
data[a]=t;
}
int input ()
{
cout<<"masukkan jumlah data = ";
cin>>n;
for (int i=0; i<n; i++)
{
cout<<"masukkan data ke-"<<(i+1)<<"=";
cin>>data[i];
data2[i]=data[i];
}
cout<<endl;
}
int tampil ()
{
for (int i=0; i<n; i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
}
int bubble_sort ()
{
for (int i=1; i<n; i++)
{
for (int j=n-1; j>=i; j--)
{
if (data[j]>data[j-1])tukar(j,j-1);
}
tampil ();
}
cout<<endl;
}
int main ()
{
cout<<"-=-= Bubble Sort =-=-"<<endl; cout<<" "<<endl;
cout<<"NAMA : SEPTIAN LUKAS C"<<endl;
cout<<"KELAS : TI A"<<endl;
cout<<"NIM : 15104410020"<<endl; cout<<" "<<endl;
cout<<"*===========*"<<endl;
cout<<"*bubble sort*"<<endl;
cout<<"*===========*"<<endl;
input ();
cout<<"=================="<<endl;
cout<<"proses bubble sort"<<endl;
cout<<"=================="<<endl;
tampil ();
bubble_sort ();
cout<<"==========="<<endl;
cout<<"terimakasih"<<endl;
cout<<"==========="<<endl;
getch();
}
Input Program
Compile Program
Output Program
Logika program:
Pertama program akan menjalankan perintah program, kemudian program akan
memerintahkan berapa banyak jumlah data yang ingin di masukkan, kemudian program
akan memerintahkan untuk memasukkan data, sejumlah yang di masukkan tadi, kemudian
program akan menampilkan hasil data berupa pengurutan secara descending, setelah itu
program pun selesai.
Insertion Sort
Listing Program
#include <conio.h>
#include <iostream>
using namespace std;
int main ()
{
cout<<"-=-= INSERTION SORT =-=-"<<endl; cout<<" "<<endl;
cout<<"NAMA : SEPTIAN LUKAS C"<<endl;
cout<<"KELAS : TI A"<<endl;
cout<<"NIM : 15104410020"<<endl; cout<<" "<<endl;
int i, j, a;
int n,urut,temp;
int data[100];
Output Program
Logika Program
Pertama program akan menjalankan perintah program, kemudian program akan
memerintahkan berapa banyak jumlah data yang ingin di masukkan, kemudian program
akan memerintahkan untuk memasukkan data, sejumlah yang di masukkan tadi, kemudian
program akan menampilkan hasil data berupa pengurutan secara descending, setelah itu
program pun selesai.
Selection Sort
Input Program
#include <iostream>
using namespace std;
int main()
{
cout<<"-=-= SELECTION SORT =-=-"<<endl; cout<<" "<<endl;
cout<<"NAMA : SEPTIAN LUKAS C"<<endl;
cout<<"KELAS : TI A"<<endl;
cout<<"NIM : 15104410020"<<endl; cout<<" "<<endl;
int i,j,n,data[10],temp;
cout<<"\n Masukan jumlah data= ";
cin>>n;
cout<<endl;
for(i=1;i<=n;i++)
{
cout<<" Masukkan data ke "<<i<<"=";cin>>data[i];
}
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(data[i]<data[j])
{
temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
cout<<"\n Data setelah di urutkan (descending) = ";
for(i=1;i<=n;i++)
cout<<data[i]<<" ";
}
Input Program
Compile Program
Output Program
Logika Program
Pertama program akan menjalankan perintah program, kemudian program akan
memerintahkan berapa banyak jumlah data yang ingin di masukkan, kemudian program
akan memerintahkan untuk memasukkan data, sejumlah yang di masukkan tadi, kemudian
program akan menampilkan hasil data berupa pengurutan secara descending, setelah itu
program pun selesai.
BAB III
PEMBAHASAN PRAKTIKUM
3.1 Latihan 1
Listing Program
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
{
int t;
t=data[b];
data[b]=data[a];
data[a]=t;
}
void input ()
{
cout<<"Masukkan jumlah data = ";
cin>>n;
cout<<"------------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<"Masukkan data ke- " <<(i+1)<<" = ";
cin>>data[i];
data2[i]=data[i];
}
cout<<endl;
}
void tampil ()
{
for(int i=0;i<n;i++)
{
for(int i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
}
cout<<endl;
}
void bubble_sort()
{
for(int i=1;i<n;i++)
{
for (int j=n-1;j>=i;j--)
{
if(data[j]<data[j-1]) tukar(j,j-1);
}
tampil ();
}
cout<<endl;
}
int main()
{
cout<<"*--------------------------*"<<endl;
cout<<"*Bubble Sort "<<endl;
cout<<"*--------------------------*"<<endl;
input();
cout<<"Proses Buuble Sort"<<endl;
cout<<"*--------------------------*"<<endl;
tampil ();
bubble_sort();
cout<<"--------------------------"<<endl;
cout<<"TERIMA KASIH "<<endl;
cout<<"--------------------------"<<endl;
getch ();
}
Input Program
Compile Program
Output Program
Logika Program
Pertama program akan menjalankan perintah program, kemudian program akan
memerintahkan berapa banyak jumlah data yang ingin di masukkan, kemudian program
akan memerintahkan untuk memasukkan data, sejumlah yang di masukkan tadi, kemudian
program akan menampilkan hasil data berupa pengurutan secara ascending, setelah itu
program pun selesai.
3.2 Latihan 2
Listing Program
#include <conio.h>
#include <iostream>
using namespace std;
int data[10],data2[10];
int n;
void selection_sort ()
{
int pos,i,j;
for (i=1; i<=n-1; i++)
{
pos=i;
for (j=i+1; j<=n; j++)
{
if (data[j]<data[pos])pos=j;
}
if (pos!=i) tukar (pos,i);
}
}
int main ()
{
cout<<"==PROGRAM SELECTION SORT=="<<endl;
cout<<" Masukkan jumlah data :";
cin>>n;
for(int i=1; i<=n; i++)
{
cout<<" Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
selection_sort ();
cout<<"\n Data setelah di sort :";
for (int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\n Sorting selesai";
cout<<"\n\n TERIMA KASIH";
getch ();
}
Input Program
Compile Program
Output Program
Logika program:
Pertama program akan menjalankan perintah program, kemudian program akan
memerintahkan berapa banyak jumlah data yang ingin di masukkan, kemudian program
akan memerintahkan untuk memasukkan data, sejumlah yang di masukkan tadi, kemudian
program akan menampilkan hasil data berupa pengurutan secara ascending, setelah itu
program pun selesai.
3.3 Latihan 3
Listing Program
#include <iostream>
#include <conio.h>
using namespace std;
int data [10],data2 [10];
int n;
int tukar (int a,int b)
{
int t;
t=data[b];
data[b]=data[a];
data[a]=t;
}
int insertion_sort ()
{
int temp,i,j;
for (i=1; i<=n; i++)
{temp=data[i];
j=i-1;
while (data[j]>temp&&j>=0)
{
data[j+1]=data[j]; j--;
}
data[j+1]=temp;
}
}
int main ()
{
cout<<" PROGRAM INSERTION SORT"<<endl;
cout<<" ======================"<<endl;
cout<<" Masukkan jumlah data : ";
cin>>n;
cout<<" ======================"<<endl;
for (int i=1; i<=n; i++)
{
cout<<" Masukkan data ke "<<i<< ":";
cin>>data[i];
data2[i]=data[i];
}
insertion_sort ();
cout<<"_____________________"<<endl;
cout<<" Data setelah di sort ";
for (int i=1; i<=n; i++)
{cout<<" "<<data[i];
}
getch ();
}
Input Program
Compile Program
Output Program
Logika Program:
Pertama program akan menjalankan perintah program, kemudian program akan
memerintahkan berapa banyak jumlah data yang ingin di masukkan, kemudian program
akan memerintahkan untuk memasukkan data, sejumlah yang di masukkan tadi, kemudian
program akan menampilkan hasil data berupa pengurutan secara ascending, setelah itu
program pun selesai.
BAB IV
PENUTUP
4.1 Kesimpulan
Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu.
Urutan objek tersebut dapat menaik (ascending = dari data kecil ke data lebih besar) atau
menurun (descending = dari data besar ke data lebih kecil). Banyak sekali jenis sorting,
di antaranya adalah Bubble sort, Selection sort, Insertion sort, dll. Jenis-jenis sorting
tersebut memiliki aturan atau metode sendiri-sendiri dalam mengatur sekumpulan objeck
tersebut.
4.2 Saran
Sebaiknya kita dapat mempelajari bagaimana logika atau algoritma sorting, karena akan
membantu kita dalam mengatur data, terutama pada data skala besar. Sedikit saran untuk
teknis, sebaiknya modul pada latihan benar-benar program yang sudah benar, jadi kami
mahasiswa tidak mengkoreksi untuk membenarkannya atau kalau tidak sebaiknya tidak
usah ada latihan, langsung tugas saja, karena lebih baik membuat program baru dari
pada harus mengkoreksi program yang sudah ada, terima kasih.