Sorting
- Selection sort adalah salah satu cara pengurutan yang sederhana dari algoritma. Maksudnya melakukan proses pass untuk menyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang terkecil di antara elemen-elemen yang tidak berurutan, disimpan indeksnya, lalu dilakukan proses pertukaran nilai elemen dengan indeks yang disimpan dengan elemen yang paling depan yang tidak berurut. kebaliknya, untuk sorting descending (menurun), elemen yang terbesar yang disimpan indeksnya kemudian ditukar.
- Insertion sort adalah salah satu cara pengurutan data dengan menaruh setiap elemen data pada posisi yang benar dengan cara melakukan perbandingan dengan data – data yang ada. prinsip algoritma dari cara insertion sort ini dapat di ibaratkan sama seperti mengurutkan abjad, dimana jika suatu abjad dipindah tempatkan ke posisi sebenarnya, maka abjad yang lain akan bergeser mundur atau maju sesuai kondisi pemindahanan abjad tersebut. diproses pengurutan data, cara ini dipakai untuk menjadikan bagian sisi kiri array berurutan sampai dengan seluruh array diurutkan dengan benar.
Contoh Program Selection sort:
#include<iostream>
using namespace std;
int main()
{
int a, k, c, d, g;
k
= 10;
int b[10];
printf("\t
=========================================================\n");
printf("\t |
JALURBELAKANG.BLOGSPOT.COM
|\n");
printf("\t
=========================================================\n");
printf("\t | PROGRAM SELECTION SORT |\n");
printf("\t
|=======================================================|\n");
printf("\t |
|\n");
printf("\t | >Ricky satria (140010039) |\n");
printf("\t |
|\n");
printf("\t |
|\n");
printf("\t | Compiled With Visual
Studio |\n");
printf("\t
|========================================================\n");
printf("\t | BA141 |\n");
printf("\t | Sistem Komputer - STIKOM BALI |\n");
printf("\t
=========================================================\n");
printf("\t | Press Any Key To Continue |\n");
printf("\t =========================================================\n");
printf("\t "); getchar();
system("cls");
for (a = 0; a<k; a++)
{
cout
<< "Masukkan
nilai "
<< a + 1 << " : ";
cin >> b[a];
}
for (a = 0; a<k - 1; a++)
{
c
= a;
for (d = a + 1; d<k; d++)
{
if (b[c]<b[d])
{
c
= d;
}
}
g
= b[c];
b[c]
= b[a];
b[a]
= g;
}
cout
<< "\n setelah
disorting akan menjadi : \n";
for (a = 0; a<k; a++)
{
cout
<< b[a] << " \n";
}
system("pause");
return 0;
}
Contoh Program Insertion sort:
#include <iostream>
#include <conio.h>
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 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()
{
printf("\t
=========================================================\n");
printf("\t | JALURBELAKANG.BLOGSPOT.COM |\n");
printf("\t
=========================================================\n");
printf("\t | PROGRAM INSERTION SORT |\n");
printf("\t |=======================================================|\n");
printf("\t |
|\n");
printf("\t | >Ricky satria (140010039) |\n");
printf("\t | |\n");
printf("\t |
|\n");
printf("\t | Compiled With Dev ++ |\n");
printf("\t |========================================================\n");
printf("\t | BA141 |\n");
printf("\t | Sistem Komputer - STIKOM BALI |\n");
printf("\t =========================================================\n");
printf("\t | Press Any Key To Continue |\n");
printf("\t
=========================================================\n");
printf("\t "); getchar();
system("cls");
cout
<< "Masukkan
Jumlah Data : ";
cin
>> n;
cout
<< "\n";
for (int i = 1; i <= n; i++)
{
cout
<< "Masukkan
data ke "
<< i << " : ";
cin
>> data[i];
data2[i]
= data[i];
}
insertion_sort();
cout
<< "\n\n";
//tampilkan data
cout
<< "Data Setelah
di insertion Sort : ";
for (int i = 1; i <= n; i++)
{
cout
<< " " << data[i];
}
cout
<< "\n\nSorting
Selesai\n";
getchar();
system("pause");
}
Sekian
penjelasan tentang Sorting jika ada yang kurang dimengerti silakan bertanya di
kolom komentar.
Searching
Searching (sequential search dan binarry
search)
Searching adalah pencarian data dengan
cara memeriksa data-data yang ada, tempat dicarinya data dapat berupa array
dalam memori (pencarian internal), bisa juga pada file pada external storage
(pencarian external).
sequential search
sequential search Adalah sebuah cara
pencarian data dalam array (1 dimensi) yang akan memeriksa semua elemen-elemen
array dari pertama sampai terakhir, dimana data-data tidak usah diurutkan dulu.
Pencarian berurutan menggunakan prinsip seperti: data yang ada dibandingkan
satu per satu secara berurutan dan data yang kita cari akan dilakukan
pemeriksaan sampai data tersebut ditemukan atau tidak ditemukan.
Binary search
Binary search adalah sebuah cara pencarian
dengan cara membagi data menjadi dua bagian setiap kali terjadi proses
pencarian untuk menemukan nilai tertentu dalam sebuah larik (array) linear.
Sebuah pencarian biner mencari nilai tengah (median), melakukan sebuah
pembandingan untuk menentukan apakah nilai yang dicari ada sebelum atau
sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama.
Contoh Program sequential search:
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
void main()
{
int i;
int cari, ditemukan;
int Array[100];
printf("\t
=========================================================\n");
printf("\t |
JALURBELAKANG.BLOGSPOT.COM
|\n");
printf("\t =========================================================\n");
printf("\t | PROGRAM SEQUENCIAL
SEARCH |\n");
printf("\t
|=======================================================|\n");
printf("\t |
|\n");
printf("\t | >Ricky satria (140010039) |\n");
printf("\t |
|\n");
printf("\t |
|\n");
printf("\t | Compiled With Visual
Studio |\n");
printf("\t
|========================================================\n");
printf("\t | BA141 |\n");
printf("\t |
Sistem Komputer - STIKOM
BALI |\n");
printf("\t
=========================================================\n");
printf("\t | Press Any Key To Continue |\n");
printf("\t =========================================================\n");
printf("\t "); getchar();
system("cls");
cout
<< " Silahkan masukkan 8 buah
data \n\n\n";
for (i = 1; i <= 8; i++)
{
cout
<< "masukkan
data ke - "
<< i << endl;
cin
>> Array[i];
}
cout
<< endl;
cout
<< "Masukkan
data yang ingin anda dicari : ";
cin
>> cari;
ditemukan
= 0;
for (i = 0; i <= 7; i++)
{
if (Array[i] == cari)
{
ditemukan
= 1;
cout
<< "\nData anda
pada indeks ke-"
<< i<< endl;
}
}
if (ditemukan == 0){
cout
<< " Data anda
tidak ditemukan!!!\n";
}
getchar();
system("pause");
}
Contoh Program Binary Search:
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main()
{
int A[10], i, j, k, tkr, top,
bottom, middle, tm;
printf("\t
=========================================================\n");
printf("\t |
JALURBELAKANG.BLOGSPOT.COM
|\n");
printf("\t =========================================================\n");
printf("\t | PROGRAM BINARY SEACRH |\n");
printf("\t
|=======================================================|\n");
printf("\t | |\n");
printf("\t | >Ricky satria (140010039) |\n");
printf("\t |
|\n");
printf("\t |
|\n");
printf("\t | Compiled With Visual
Studio |\n");
printf("\t
|========================================================\n");
printf("\t | BA141 |\n");
printf("\t |
Sistem Komputer - STIKOM BALI |\n");
printf("\t
=========================================================\n");
printf("\t | Press Any Key To Continue |\n");
printf("\t =========================================================\n");
printf("\t "); getchar();
system("cls");
for (i = 0; i<10; i++)
{
printf("Data ke-%d : ", i + 1);
scanf_s("%d", &A[i]);
}
printf("Masukkan data yang
akan dicari : ");
scanf_s("%d", &k);
for (i = 0; i<10; i++)
{
for (j = i + 1; j<10; j++)
{
if (A[i]>A[j])
{
tkr
= A[i];
A[i]
= A[j];
A[j]
= tkr;
}
}
}
tm
= 0;
top
= 9;
bottom
= 0;
while (top >= bottom)
{
middle
= (top + bottom) / 2;
if (A[middle] == k)
{
tm++;
}
if (A[middle]<k)
{
bottom
= middle + 1;
}
else
{
top
= middle - 1;
}
}
if (tm>0)
{
printf("Data %d yang dicari
ada dalam array\n",
k);
}
else
{
printf("Data tidak
diketemukan dalam array\n");
}
getchar();
system("pause");
return 0;
}