Buble sorting
-
Upload
asnita-meydelia-c-k -
Category
Engineering
-
view
20 -
download
4
Transcript of Buble sorting
Tugas presentasikelompok ganjil
PTI-E
Abi Makruf P (130533608097)
Asnita Meydelia C.K (130533608143)
Nuralifya U.M (130533608093)
Reni Dwi Astutik (130533608139)
Rizky Dwi Hidayat (130533608123)
Pengantar singkat
Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).
Pengurutan secara descending adalah pengurutan sejumlah data dimana data yang lebih kecil nilainya akan ditukar dengan nilai lainnya yang lebih besar, lebih mudahnya pengurutan data dari nilai terbesar ke nilai yang terkecil
Urutkan A [23 1 19 87 12 3 20 13] secara Descending dan bertahap menggunakan Bubble Sort
langkah 1
a b c d e f g h Posisi data
23 1 19 87 12 3 80 13 Data awal
23 1 19 87 12 80 3 13 Tukar data “f”dengan “g”
23 1 87 19 12 80 3 13 Tukar data “d”dengan “c”
23 87 1 19 12 80 3 13 Tukar data “c”dengan “b”
23 87 1 19 80 12 3 13 Tukar data “f” dengan “e”
23 87 1 19 80 12 3 13 Tukar data “b” dengan “a”
87 23 1 19 80 12 3 13 FINAL 1
Soal 1
langkah 2
a b c d e f g h Posisi data
87 23 1 19 80 12 3 13 Data langkah 1 akhir
87 23 1 80 19 12 3 13 Tukar data “e”dengan “d”
87 23 80 1 19 12 3 13 Tukar data “d”dengan “c”
87 80 23 1 19 12 3 13 Tukar data “c”dengan “b”
87 80 23 19 1 12 3 13 Tukar data “e” dengan “d”
87 80 23 19 1 12 13 3 Tukar data “h” dengan “g”
87 80 23 19 1 12 13 3 FINAL 2
langkah 3
a b c d e f g h Posisi data
87 80 23 19 1 12 13 3 Data langkah 2 akhir
87 80 23 19 1 13 12 3 Tukar data “f”dengan “g”
87 80 23 19 13 1 12 3 Tukar data “e”dengan “f”
87 80 23 19 13 12 1 3 Tukar data “f”dengan “g”
87 80 23 19 13 12 3 1 Tukar data “g” dengan “h”
87 80 23 19 13 12 3 1 Data terurut
ALGORITMA Deklarasi header
#include<iostream>
#include<conio.h>
using namespace std;
Deskripsi array
main()
{
int NumList[8]={23, 1, 19, 87, 12, 3, 80, 13};
int temp;
Deskripsi fungsi bubble sort
for(int i1=0; i1<7; i1++)
for(int ii1=0; ii1<7; ii1++)
if(NumList[ii1] <= NumList[ii1+1]){
temp = NumList[ii1];
NumList[ii1]=NumList[ii1+1];
NumList[ii1+1] = temp;
}
Deskripsi output
cout<<"\n\nData setelah diurutkan (Descending) : \n";
for(int iii1=0; iii1<8; iii1++)
cout<<setw(3)<<NumList[iii1]<<" ";
cout<<endl;
}
Hasil program
Pengurutan secara ascending kebalikan dari descending dimana data yang lebih besar nilainya akan ditukar dengan nilai lainnya yang lebih kecil, lebih mudahnya pengurutan data dari nilai terkecil ke nilai yang terbesar.
Pengantar singkat 2
Urutkan juga 4 kata berikut: No Mercy For Piracy
Soal 2
Langkah 1
A B C D Posisi data
No Mercy For Piracy Data awal
N F M P Tukar data “C” dengan “B”
N F M P FINAL 1
Langkah 2
A B C D Posisi data
N F M P FINAL 1
F N M P Tukar data “B” dengan “A”
F N M P FINAL 2
Langkah 3
A B C D Posisi data
F N M P FINAL 2
F M N P Tukar data “B” dengan “A”
F M N P DATA TERURUT
ALGORITMA Deklarasi header
#include <string.h>
#include <iostream>
using namespace std;
Deklarasi variabel
int main()
{
int i;
char *list[] = {"No", "Mercy", "For", "Piracy", " "};
Deskripsi fungsi bubble
void bubble(char *string[], const int size)
{
int pass, i;
char *temp;
for (pass=0; pass < size - 1; pass++) {
for (i=0; i<size - 1; i++) {
if (strcmp(string[i], string[i+1]) > 0) { //strcmp digunakan utk mengcopy string
temp = string[i]; //temp digunakan utk penyimpanan sementara string[i]
string[i] = string[i+1];
string[i+1] = temp;
}
}
}
}
Deskripsi pemanggil fungsi bubble
bubble(list, sizeof(*list)); //fungsi bubble
cout << "Sorted List:\n";
for (i = 0; i < sizeof(*list)+1; i++) {
cout << i << " " << list[i] << endl;
}
Hasil Program
Pengantar singkat 3
Merge Sort adalah metode pengurutan data dengan cara menggabungkan 2 kumpulan data yang akan dijadikan satu dalam kumpulan data.
Mengurutkan A [23 1 19 87 12 3 20 13] dengan metode merge sort
Deklarasi header
#include <stdlib.h>
#include <iostream>
using namespace std;
Deklarasi variable
void mergeSort(int arr1[], int arr2[], int arr3[], int size1, int size2,
int& size3);
void swap(int& x, int& y);
int main()
{
int nums1[4] = { 23, 1, 19, 87};
int nums2[4] = { 12,3, 20, 13};
int nums3[8];
int size1 = 4;
int size2 = 4;
int size3;
int k;
Soal 3
Deskripsi merge sort
void mergeSort(int arr1[4], int arr2[4], int arr3[8], int size1, int size2, int& size3)
{
int pos1 = 0, pos2 = 0, pos3 = 0;
while (pos1 < size1 && pos2 < size2)
if (arr1[pos1] < arr2[pos2])
arr3[pos3++] = arr1[pos1++];
else
arr3[pos3++] = arr2[pos2++];
if (pos1 < size1)
while (pos1 < size1)
arr3[pos3++] = arr1[pos1++];
else
while (pos2 < size2)
arr3[pos3++] = arr2[pos2++];
size3 = size1 + size2;
}
Hasil program