Anda di halaman 1dari 36

BAB III

METODE SORTING DAN SEARCHING

3.1 Tujuan
Adapun tujuan dari praktikum ini, sebagai berikut:
1. Mengerti dan memahami metode pencarian data.
2. Dapat menggunakan metode pencarian data dalam program.
3. Memahami penggunaan metode sorting.

3.2 Dasar Teori


3.2.1 Pencarian Data
Pencarian (searching) adalah sebuah metode pencarian guna
menemukan data / informasi yang sedang dicari di dalam sebuah kumpulan
data yang memiliki tipe data yang sama. Pencarian diperlukan untuk
mendapatkan informasi / data dari kumpulan data yang belum diketahui.
Pencarian dapat dilakukan terhadap data yang secara keseluruhan berada
dalam memory komputer ataupun yang berada dalam penyimpanan
eksternal (hardisk).
Pencarian yang dilakukan terhadap data yang berada dalam komputer
dikenal dengan pencarian internal, sedangkan pencarian yang dilakukan
pada media penyimpanan eksternal disebut pencarian eksternal. Pencarian
internal meliputi Pencarian Sekuensial (Sequential search) dan Pencarian
Biner (Binary search).
Proses pencarian (searching) adalah menemukan harga (data)tertentu di
dalam sekumpulan harga yang bertipe sama (tipe dasar atau tipe bentukan).
(Nurhayati 2010)

3.2.2 Bubble Sort


Sorting adalah proses pengurutan data yang sebelumnya disusun secara
acak sehingga tersusun secara teratur menurut aturan tertentu. Algoritma
sorting merupakan salah satu konsep penting dalam pemrograman,
tujuannya
untuk mengubah data yang tidak teratur menjadi urutan yang teratur,
terutama untuk data yang bertipe numerik ataupun karakter.
Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar
(ascending) atau dari nilai terbesar ke nilai terkecil (descending).
Ada berbagai jenis algoritma sorting yang dapat digunakan untuk
mengurutkan berdasarkan kebutuhan datanya, adapun jenis-jenis algoritma
sorting tersebut meliputi:
1. Bubble Sort (Metode Gelembung)
Sebagaimana dari namanya “bubble”, konsep dari ide dasarnya
adalah seperti “gelembung air” yang secara berangsur-angsur bergerak
atau berpindah ke posisinya yang tepat. Bubble sort mengurutkan data
dengan cara membandingkan elemen sekarang dengan elemen
berikutnya.
2. Insertion Sort (Metode Penyisipan)
Algoritma insertion sort pada dasarnya memilah data yang akan
diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah
diurutkan. Cara kerja algoritma insertion adalah dengan dilakukan iterasi,
di mana pada setiap iterasi insertion sort memindahkan nilai elemen,
kemudian menyisipkannya berulang-ulang sampai ke tempat yang tepat.
3. Selection Sort (Metode Seleksi)
Pada dasarnya, konsep algoritma selection sort adalah melakukan
beberapa kali pass untuk melakukan penyeleksian elemen struktur data.
Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan
yang memiliki nilai terkecil atau terbesar akan ditukar ke posisi yang
tepat di dalam array.
4. Quick Sort (Metode Quick)
Quick sort juga biasa disebut dengan exchange sort, karena
konsepnya dasarnya yang membuat partisi-partisi dan pengurutan yang
dilakukan pada setiap partisi. Sama seperti merge sort, algoritma jenis ini
cocok ketika digunakan untuk mengurutkan data yang sangat banyak.
3.2.3 Algoritma Bubble Sort
1. Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan).
Jika tidak sesuai maka tukar (data ke-i = data ke- (i+1) dan data ke-(i+1)
= data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan
algoritma menghasilkan data dengan urutan ascending (A-Z) kondisi
tidak sesuai adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan
descending (A-Z).
2. Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan
pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3 dgn
4; 4 dgn 5 … ; n-1 dgn n.

3. Selesai satu iterasi, adalah jika kita sudah selesai membandingkan antara
(n-1) dengan n. Setelah selesai satu iterasi kita lanjutkan lagi iterasi
berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2,
dst.
4. Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.

3.3 Latihan
1. Latihan 1
a. Kode program
#include <iostream>
using namespace std;

int cari(int data[], int n, int k){


cout << "Nama : ADITYA NOOR WICAKSONO\n";
cout << "Nim : 32602300071\n" << endl;
int posisi = -1; // Inisialisasi posisi dengan nilai
-1
for (int i = 0; i < n; i++)
{
if (data[i] == k)
{
posisi = i; // Jika data ditemukan, simpan
posisinya dan hentikan pencarian
break;
}
}
return posisi;
}

int main()
{
int data[8];
int dicari;

cout << "Masukkan Data : ";

for (int a = 0; a < 8; a++)


{
cin >> data[a];
}
cout << "Masukkan Data yang dicari : ";
cin >> dicari;
cout << "Posisi " << dicari << " dalam larik data: "
<< (cari(data, 8, dicari)) << "\n";
return 0; // Mengembalikan nilai 0 karena main()
bertipe int
}
b. Output

Gambar 3. 1 Output Latihan 1 bab 1


c. Flowchart

Gambar 3. 2 Flowchart latihan 1 bab 3


d. Penjelasan
Program ini menampilkan keluaran berupa posisi suatu angka
pada sebuah larik. Yaitu dengan menginputkan data angka-angka,
posisi, dan ketemu. Menggunakan statement (if) dan (else) untuk
mengeksekusi beberapa kode jika kondisi benar dan kode lain jika
kondisi salah. Lalu menggunakan fungsi perulangan (while) untuk
melakukan perulangan statement atau blok statement terus-menerus
selama kondisi ungkapan pada while masih bernilai logika
benar.kemudian menyertakan output berupa masukkan data yang
dicari, posisi, serta larik. Header yang digunakan adalah iostream
untuk menampilkan cin, cout, endl, dan endl. Tipe data integer untuk
menunjukkan variabel.
2. Latihan 2
a. Kode Program
#include <iostream>
using namespace std;

int main(){
cout<<" "<< endl << endl;

cout<< "Nama: ADITYA NOOR WICAKSONO"<< endl;


cout<< "Nim: 32602300071"<< endl << endl;

int i, j, n, data[10], simpan, k;


cout << "masukkan banyak data= ";

cin >> n;
for (i = 1; i <= n; i++)
{
cout << "data " << i << " = ";
cin >> data[i];
}
cout << "awal = ";
for (i = 1; i <= n; i++)
cout << data[i] << " ";
cout << endl;
for (i = 1; i < n; i++)

{
for (j = 1; j < n; j++)
{
if (data[j] > data[j + 1])
{
simpan = data[j];
data[j] = data[j + 1];
data[j + 1] = simpan;
}
}
}
cout << "hasil= ";

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


cout << data[i] << " ";
return 0;
}
b. Output

Gambar 3. 3 Output latihan 2 bab 3


c. Flowchart

Gambar 3. 4 Flowchart latihan 2 bab 3


d. Penjelasan
Program ini menampilkan keluaran berupa pengurutan data secara
bubble sort ascending, algoritma ini seolah-olah menggeser elemen
satu per satu dari kanan ke kiri atau sebaliknya. Yaitu dengan
menginputkan data angka-angka yang akan diurutkan, dan
menyertakan output data awal sebelum diurutkan dan data setelah
diurutkan. Header yang digunakan adalah iostream untuk
menampilkan cin, cout, endl, dan ends. Tipe data yang digunakan
adalah integer yang menunjukkan sebuah variable. Lalu
menggunakan fungsi perulangan (for) untuk mengulang suatu proses
yang telah diketahui banyaknya. Serta menggunakan fungsi (if) untuk
menyeleksi suatu kondisi yaitu TRUE atau FALSE.

3.4 Tugas
1. Ubahlah script dibawah ini menggunakan bahasa C.
#include <iostream>
using namespace std;
int data[10], data2[10];
int n;
void tukar(int a, int b){
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++)
{
cout << data[i] << " ";
}
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;
}
main()
{
cout << "* Bubble Sort *" << endl;
Input();
cout << "Proses Bubble Sort,,,,,,," << endl;
cout << " " << endl;
Tampil();
bubble_sort();
cout << " " << endl;
}
a. Kode Program
#include <stdio.h>

int data[10];
int n;

void tukar(int a, int b)


{
int t = data[b];
data[b] = data[a];
data[a] = t;
}
void bubble_sort()
{
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (data[j] > data[j + 1])
{
tukar(j, j + 1);
}
}
// Menampilkan proses setiap langkah

for (int k = 0; k < n; k++)


{
printf("%d ", data[k]);
}
printf("\n");
}
}

int main()
{
printf("\n");
printf("Nama : ADITYA NOOR WICAKSONO ");
printf("\nNIM : 32602300071 ");
printf("\n\n");
printf("* Bubble Sort *\n");
printf("Masukkan jumlah data = ");
scanf("%d", &n);

printf("\n");
for (int i = 0; i < n; i++)
{
printf("Masukkan data ke-%d = ", (i + 1));
scanf("%d", &data[i]);
}
printf("\nProses Bubble Sort,,,,,,,\n\n");
for (int i = 0; i < n; i++)
{
printf("%d ", data[i]);
}
printf("\n");

bubble_sort();

printf("\nhasil setelah diurutkan:\n");


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

printf("%d ", data[i]);


}
printf("\n");

return 0;
}
b. Output

Gambar 3. 5 Output tugas 1 bab 3


c. Flowchart

Gambar 3. 6 Flowchart tugas 1 bab 3


d. Penjelasan
Program ini menampilakan keluaran berupa pengurutan data
secara bubble sort. Dengan menginputkan data-data yang akan
diurutkan, kemudian menyertakan pada output berupa masukkan
jumlah data yang diinputkan, proses bubble sort, dan tampil. Header
yang digunakan adalah stdio.h karena dalam bahasa C yang berisi
definisi makro, konstanta, dan deklarasi fungsi serta jenis yang
digunakan untuk berbagai standard input output operasi. Tipe data
yang digunakan adalah void yaitu tipe data yang tidak bertipe dan
memiliki jumlah bit sebanyak 0 bit, void ini digunakan untuk
memanggil sebuah program. Pada bahasa C menggunakan printf
untuk menampilkan keluaran data dan scanf untuk membaca masukan
data.
2. Jalankan program berikut!
Gambar 3. 7 Contoh output tugas 2 bab 3
#include <iostream>
using namespace std;
int cari(int data[], int n, int k, int m)
{
int posisi, i, ketemu, pencacah = 0;
if (n <= 0)
posisi = -1;
else
{
ketemu = 0;
i = 1;
while ((i < n + 1) && !ketemu){
if (data[i] == k)
pencacah++;
cout << "Pencacah " << pencacah << endl;
if (pencacah != m)
{
cout << "Ketemu" << pencacah <<
endl;
posisi = i;
ketemu = 1;
} else
I--;
} else
i++;
if (!ketemu)
}
return posisi;
}
int main()
{
int data[9] = {10, 9, 4, 6, 3, 4, 2, 5, 0};
int dicari;
int ke;

dicari = 4;
ke = 2;
cout << "Posisi " << dicari << " yang ke-" << ke <<
" dalam larik data: " << (cari(data, 8, dicari, ke)) <<
"\n";
ke = 1;
cout << "Posisi " << dicari << " yang ke-" << ke <<
" dalam larik data: " << (cari(data, 8, dicari, ke)) <<
"\n";
dicari = 0;
ke = 1;
cout << "Posisi " << dicari << " yang ke-" << ke <<
" dalam larik data: " << (cari(data, 9, dicari, ke)) <<
"\n";
return 0;
}
a. Kode Program
#include <iostream>
using namespace std;

int cari(int data[], int n, int k, int m){

int posisi = -1, pencacah = 0;

if (n <= 0)
posisi = -1;
else
{
for (int i = 0; i < n; i++)
{
if (data[i] == k)
{
pencacah++;
if (pencacah == m)
{
cout << "ketemu " << m << endl;
posisi = i;
break;
}
}
}
}

if (posisi != -1)
{
cout << "posisi " << k << " yang ke-" << m << "
dalam larik data : " << posisi << endl;
}
else
{
cout << "posisi " << k << " yang ke-" << m << "
dalam larik data : -1" << endl;

return posisi;
}

int main()
{
int data[9] = {10, 9, 4, 6, 3, 4, 2, 5, 7};
int dicari, ke;

cout << "Nama: ADITYA NOOR WICAKSONO" << endl;


cout << "Nim: 32602300071" << endl << endl;

dicari = 4;
ke = 2;
cari(data, 9, dicari, ke);
cout << "Pencacah 1" << endl;
ke = 1;
cari(data, 9, dicari, ke);

dicari = 0;
ke = 1;

cari(data, 9, dicari, ke);

return 0;
}
b. Output

Gambar 3. 8 Output tugas 2 bab 3


c. Flowchart

Gambar 3. 9 Flowchart tugas 2 bab 3


d. Penjelasan
Program ini menampilkan pencacah dan posisi suatu angka pada
sebuah larik. Menginputkan data yang dicari, kemudian pada
outputnya disertakan pencacah, ketemu, dan posisi data pada larik.
Menggunakan perulangan (while) yaitu untuk melakukan proses
perulangan statement terus-menerus selama kondisi ungkapan logika
pada while bernilai benar. Menggunakan fungsi (if) untuk menyatakan
suatu statement (TRUE atau FALSE). Header iostream untuk
menampilkan cin, cout, endl, dan ends. Tipe data integer yang
menunjukkan variable.
3. Ubahlah script pada latihan 1 dengan menggunakan metode insection
sort secara descending.
a. Kode Program
#include <iostream>
using namespace std;

void insertionSort(int data[], int n){

for (int i = 1; i < n; i++) { // Tambahkan kurung


kurawal untuk blok perulangan
int key = data[i];
int j = i - 1;
while (j >= 0 && data[j] > key) { // Ubah
kondisi menjadi data[j] > key
data[j + 1] = data[j];
j = j - 1;
}
data[j + 1] = key;
}
}

int main() {
cout << " " << endl << endl;

cout << "Nama: ADITYA NOOR WICAKSONO" << endl;


cout << "Nim: 32602300071" << endl << endl;

int banyakData;
cout << "Pengurutan Data dengan Algoritma Insertion
Sort\n";

cout << "Masukkan Banyak Data: ";


cin >> banyakData;

int data[banyakData];

for (int i = 0; i < banyakData; i++) {


cout << "Data " << i + 1 << " = ";
cin >> data[i];
}

insertionSort(data, banyakData);

cout << "Hasil Pengurutan Data : ";

for (int i = 0; i < banyakData; i++) {


cout << data[i] << " ";
}
cout << endl;

return 0;
}
b. Output

Gambar 3. 10 Output tugas 3 bab 3


c. Flowchart

Gambar 3. 11 Flowchart tugas 3 bab 3


c. Penjelasan
Program ini menampilkan sorting Array menggunakan metode
insertion sort secara descending (urut turun). Dengan menginputkan
data Array, lalu membuat output berupa program shorting Array, data
sebelum diurutkan, dan data setelah diurutkan secara descending. Tipe
data integer yang menunjukkan variabel, dan tipe data void yang
berarti tipe data yang tidak bisa diisi nilai, tipe data ini digunakan
untuk memanggil sebuah program. Menggunakan fungsi perulangan
(for) untuk mengulang proses yang diketahui banyaknya.
Menggunakan struktur switch case untuk mengevaluasi kondisi dan
memeriksa apakah sama dengan konstanta 1, jika ya maka statement 1
akan dieksekusi hingga kode break.
4. Buatlah program pengurutan data dengan menggunakan semua metode
pengurutan untuk mengurutkan angka secara ascending dan descending.
a. Kode Program
#include <iostream>
#include <vector>
using namespace std;

// Quick Sort
int partition(vector<int> &data, int low, int high, bool
ascending)
{
int pivot = data[high];
int i = (low - 1);

for (int j = low; j <= high - 1; j++)


{
if ((ascending && data[j] < pivot) || (!
ascending && data[j] > pivot))
{
i++;
swap(data[i], data[j]);
}
}
swap(data[i + 1], data[high]);
return (i + 1);
}

void quickSort(vector<int> &data, int low, int high,


bool ascending)
{
if (low < high)
{
int pi = partition(data, low, high, ascending);

quickSort(data, low, pi - 1, ascending);


quickSort(data, pi + 1, high, ascending);
}
}

// Bubble Sort
void bubbleSortAsc(vector<int> &data)
{
int n = data.size();
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (data[j] > data[j + 1])
{
swap(data[j], data[j + 1]);
}
}
}
}

void bubbleSortDesc(vector<int> &data)


{
int n = data.size();
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (data[j] < data[j + 1])
{

swap(data[j], data[j + 1]);


}
}
}
}

// Insertion Sort
void insertionSortAsc(vector<int> &data)
{
int n = data.size();
for (int i = 1; i < n; i++)
{
int key = data[i];
int j = i - 1;
while (j >= 0 && data[j] > key)
{
data[j + 1] = data[j];
j--;
}
data[j + 1] = key;
}
}

void insertionSortDesc(vector<int> &data)


{
int n = data.size();
for (int i = 1; i < n; i++)
{
int key = data[i];
int j = i - 1;

while (j >= 0 && data[j] < key)


{
data[j + 1] = data[j];
j--;
}

data[j + 1] = key;
}
}
// Selection Sort
void selectionSortAsc(vector<int> &data)
{
int n = data.size();
for (int i = 0; i < n - 1; i++)
{
int min_index = i;
for (int j = i + 1; j < n; j++)
{
if (data[j] < data[min_index])
{
min_index = j;
}
}
swap(data[i], data[min_index]);
}
}

void selectionSortDesc(vector<int> &data)


{
int n = data.size();
for (int i = 0; i < n - 1; i++)
{
int max_index = i;
for (int j = i + 1; j < n; j++)
{
if (data[j] > data[max_index])
{
max_index = j;
}
}
swap(data[i], data[max_index]);
}
}

int main()
{
cout << " " << endl
<< endl;

cout << "Nama: ADITYA NOOR WICAKSONO" << endl;


cout << "Nim: 32602300071" << endl
<< endl;

int choice, order, n;


cout << "Pilih Metode Sorting\n";
cout << "1. Bubble Sort\n";
cout << "2. Insertion Sort\n";
cout << "3. Selection Sort\n";
cout << "4. Quick Sort\n";
cout << "Pilih Salah Satu : ";
cin >> choice;

cout << "Pilih Urutan\n";


cout << "1. Ascending\n";
cout << "2. Descending\n";
cout << "Pilih Salah Satu: ";
cin >> order;

cout << "Masukan Banyak Data : ";


cin >> n;

vector<int> data(n);

cout << "Masukan Data:\n";


for (int i = 0; i < n; i++)
{
cout << "Data " << i + 1 << " = ";
cin >> data[i];
}
cout << "Hasil Pengurutan Data :\n";

bool ascending = (order == 1) ? true : false;


switch (choice)
{
case 1:
if (ascending)
{
bubbleSortAsc(data);
}
else
{
bubbleSortDesc(data);
}
break;
case 2:
if (ascending)
{
insertionSortAsc(data);
}
else
{
insertionSortDesc(data);
}
break;
case 3:
if (ascending)
{
selectionSortAsc(data);
}
else
{
selectionSortDesc(data);
}
break;
case 4:
quickSort(data, 0, n - 1, ascending);
break;
default:
cout << "Pilihan tidak valid!" << endl;
return 1;
}

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


{
cout << data[i] << " ";
}
cout << endl;

return 0;
}
b. Output
1. Ascending

Gambar 3. 12 Output tugas 4 ascending, bubble sort

Gambar 3. 13 Output tugas 4 ascending, insertion sort


Gambar 3. 14 Output tugas 4 ascending, selection sort

Gambar 3. 15 Output tugas 4 ascending, quick sort


2. Descending

Gambar 3. 16 Output tugas 4 descending, bubble sort

Gambar 3. 17 Output tugas 4 descending, insertion sort


Gambar 3. 18 Output tugas 4 descending, selection sort

Gambar 3. 19 Output tugas 4 descending, quick sort


c. Flowchart

Gambar 3. 20 Flowchart tugas 4 bab 3


d. Penjelasan
Program ini akan menampilkan sebuah pengurutan data dengan
semua metode pengurutan angka secara descending dan ascending.
Dengan menginputkan banyaknya data dan data yang akan diurutkan,
semua metode yang akan digunakan untuk mengurutkan angka secara
descending atau ascending. Kemudian membuat output berupa
metode-metode pengurutan, data sebelum diurutkan, serta data setelah
diurutkan. Menggunakan fungsi (if) untuk menyeleksi statement
(TRUE atau FALSE). Ada beberapa header yang digunakan yaitu
iostream, vector. Tipe data integer untuk menampilkan variable.
5. Ubahlah script di bawah ini dengan menggunakan bahasa c++
#include <stdio.h>
void tampilkan_larik(int data[], int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d ", data[i]);
printf("\n");
}
int partisi(int data[], int p, int r)
{
int pivot = data[r];
int i = p - 1;
int j;
for (j = p; j < r; j++)
{
if (data[j] <= pivot)
{
i++;
int tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
}
int tmp = data[i + 1];
data[i + 1] = data[r];
data[r] = tmp;
return i + 1;
}
void quick_sort(int data[], int p, int r)
{

int q;
if (p < r)
{
q = partisi(data, p, r);
quick_sort(data, p, q - 1);
quick_sort(data, q + 1, r);
}
}
int main()
{
int jum_data = 9;
int i;
int data[] = {25, 57, 48, 37, 12, 92, 80, 33, 1};

quick_sort(data, 0, jum_data - 1);


printf("hasil pengurutan : \n");
tampilkan_larik(data, jum_data);
return 0;
}
a. Kode Program
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
cout << " " << endl
<< endl;

cout << "Nama: ADITYA NOOR WICAKSONO" << endl;


cout << "Nim: 32602300071" << endl
<< endl;

int jumlahData;
cout << "Masukkan Jumlah Data: ";
cin >> jumlahData;

vector<int> data(jumlahData);

for (int i = 0; i < jumlahData; ++i) {


cout << "Data Ke - " << i + 1 << " : ";
cin >> data[i];
}
sort(data.begin(), data.end());

cout << "Hasil Pengurutan:\n";


for (int i = 0; i < jumlahData; ++i) {
cout << data[i] << " ";
}
cout << endl;

return 0;
}
b. Output

Gambar 3. 21 Output tugas 5 bab 3


c. Flowchart

Gambar 3. 22 Contoh flowchart Tugas 5


d. Penjelasan
Pada Kode program diatas Meminta pengguna untuk
memasukkan jumlah data yang akan diurutkan dan Menggunakan
perulangan for untuk meminta pengguna memasukkan nilai untuk
setiap data sesuai dengan jumlah yang telah ditentukan sebelumnya.
Pengurutan datanya menggunakan fungsi sort() dari C++ STL untuk
mengurutkan vektor yang berisi data. Fungsi sort() ini mengurutkan
data secara ascending. Melalui perulangan for, kode akan
menampilkan setiap data yang telah diurutkan dari yang terkecil ke
yang terbesar. Hasil akhir dari kode ini adalah data yang diurutkan
secara ascending, seperti yang diminta dalam contoh: jika diberikan
data "5, 2, 7", maka hasilnya akan menjadi "2 5 7".

3.5 Kesimpulan
Pada BAB III ini membahas mengenai metode sorting dan searching.
Pengurutan (Sorting) adalah proses menyusun kembali data yang
sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun
secara teratur menurut aturan tertentu. Pengurutan dapat dilakukan secara
ascending (urut naik) dan secara descending (urut turun). Ada beberapa
metode sorting yang dibahas pada BAB ini yaitu Bubble Sort (metode
gelembung), Insertion Sort (metode penyisipan), Selection Sort (metode
seleksi), dan Quick Sort (metode Quick). Sedangkan pencarian (searching)
adalah tindakan untuk mendapatkan suatu data dalam kumpulan data.
Pencarian data dilakukan terhadap data yang secara keseluruhan terdapat
pada memori komputer. Pada BAB ini kita bisa lebih mengetahui dan
mengerti tentang metode sorting (pengurutan) dan metode searching
(pencarian) dalam algoritma. Mengetahui penerapannya pada sebuah
program yang ada pada latihan dan tugas yang ada, baik dalam source code
(kode program) dan hasil output dari kode program tersebut.

Anda mungkin juga menyukai