KATA
PENGANTAR
Bismillahirrahmanirrahim.
Assalamu’alaikum Wr.Wb.
Puji Syukur kami panjatkan kehadirat Allah SWT, yang
telah melimpahkan berbagai rahmat dan Karunia-Nya sehingga kami masih diberi
kesempatan untuk meyelesaikan tugas Makalah ini guna memenuhi tugas mata kuliah
Struktur Data. Shalawat serta salam semoga senantiasa tercurahkan kehadirat
Nabi kita Muhammad SAW, Keluarga, Sahabat, dan para Pengikutnya yang tetap
setia menjaga dan mengikuti sunnahnya hingga akhir zaman. Dalam penyusunan Makalah
STD ini, tidak sedikit hambatan yang kami hadapi. Namun
dengan penuh kesabaran dan terutama pertolongan dari Allah SWT akhirnya Makalah
ini dapat terselesaikan, tetapi kami menyadari masih banyak kekurangan dan jauh
dari sempurna, oleh karena itu saran dan kritik yang kontruktif dari semua
pihak terutama dari Bapak Dosen pembimbing mata kuliah ini sangat kami harapkan
demi perbaikan di masa yang akan datang. Semoga Makalah STD
ini, dapat bermanfaat dan berguna untuk para mahasiswa, atas perhatiannya kami
ucapkan terima kasih.
Kendal, Maret 2018
BAB
I
PENDAHULUAN
PENDAHULUAN
A.
Latar Belakang.
Pada
tugas kali ini yang membahas tentang Sorting & Searching, antara lain:
·
Sorting adalah Proses mengurutkan,
menyusun/ memindahkan posisi elemen-elemen/ data dengan tata urut tertentu pada
array.
·
Jenis tampilan berupa Ascending/ proses
menaik dan Discending/ proses menurun.
-
Ascending
Ex: A-Z, 0-9.
-
Discending
Ex: Z-A, 9-0.
·
Beberapa macam metode Sorting yaitu :
-
Bubble sort, exchange sort, selection
sort, merge sort, quick sort, insertion sort, heap sort.
·
Sedangkan Searching adalah Proses
penelusuran/ pencarian posisi elemen-elemen / data pada array.
·
Jenis tampilannya sama berupa Ascending
dan Discending.
·
Terdapat 2 macam metode Searching yaitu
:
-
Sequential Search/ pencarian berurutan
dan Binary Search/ pencarian biner.
B.
Tujuan.
a. Mahasiswa
dapat memahami berbagai macam algoritma pengurutan (sorting) dan pencarian
(searching).
b. mahasiswa
dapat menemukan / menentukan algoritma pengurutan dan pencarian yang paling
cepat dan tepat untuk suatu masalah tertentu.
BAB
II
TUGAS PENDAHULUAN
TUGAS PENDAHULUAN
Pertanyaan
:
1.
Buatlah
algoritma pengurutan data dengan menggunakan beberapa macam metode sorting di
atas.
2.
Buatlah
algoritma pencarian data dengan menggunakan metode binary search dan sequential
search.
Jawab :
1.
Metode Sorting.
a.
Metode Bubble
Sort.
Metode pengurutan
buble sort/ gelembung, prosedur atau algorimatnya adalah sbb:
-
pengecekan dimulai dari data ke-1 sampai dengan data
ke-n.
-
bandingkan data ke-n dengan data sebelumnya (n-1),jika
lebih kecil maka tukar bilangan tersebut dengan data yang ada didepanya satu
persatu (n-1,n-2,n-3,..dst).
-
lakukan langkah ke 2 sampai mendapatkan urutan yang
maksimal.
Berikut
ini kita akan mencoba membuat sebuah program pengurutan data
atau Sorting dengan metode Bubble Sort. kita akan memasukan 15
data yang int
Data[15]={8,1,45,2,5,2,9,6,12,7,8,6,10,11,44}; yang tidak
berurutan. pemrogramanya, serta kita akan meghitung berapa banyak proses
pertukaran posisi data, dan berapa banyak proses perbandingan data. contoh
codingnya adalah sebagai berikut :
ü
Contoh Program Metode Bubble Sort
int
tmp,TK, FB:
void
main () {
int
Data[15]:{8,1,45,2,5,2,9,6,12,7,8,6,10,11,44};
cout<<">>>
Sorting dengan Metode Bubble <<<\n’’;
cout<<"_______________________________________\n":
cout<<"\n\nData
sebelum di Urutkan >> ";
for (int
i=0: i<15; i--) {
cout<Data[i]<<"
";
}
for (int
h=0; h<15; h++){
for (int
i=0; i<15; i--) {
FB++;
if
(Data[i] > Data[i+1]){
tmp=Data[i];
Data[i]=Data[i+1];
Data[i+1]=tmp;
TK--;
}
}
}
cout<<endl<<endl;
cout<<"Data
Sesudah di Urutkan >> ";
for (int
j=0; j<15; j++){
cout<<Data[j]<<"
";
}
cout<<"\n\nJumlah
Proses Pertukaran = "<<TK;
cout<<"\n\nJumlah
Proses Perbandingan = "<<FB;
getch();
}
Output dari porgram tersebut adalah sebagai berikut
:
b. Metode Selection Sort.
Metode pengurutan selection
sort,prosedur atau algorimatnya adalah sbb :
-
pengecekan dimulai dari data ke -1 sampai
dengan data ke –n.
-
tentukan bilangan dengan index terkecil dari data
bilangan tersebut.
-
tukar bilangan dengan index terkecil tersebut
dengan bilangan pertama (I= 1)dari bilangan tersebut.
-
lakukanlah langkah 2 dan 3 untuk bilangan
berikut (I=I+1)sampai dapatkan urutan yang optimal.
c. Metode Merge Sort.
Metode pengurutan
merge sort,prosedur atau algorimatnya adalah sbb:
-
kelompokan 2 deret bilangan menjadi 2 bagian,4 bagian,8
bagian dst.
-
urutkan secara langsung bilangan dalam kelompok
tersebut.
-
lakukanlah langkah diatas untuk kondisi bilangan yang
lain sampai didapatkan urutan yang maksimal.
d. Metode Quick Sort.
Metode pengurutan
Quick sort,prosedur atau algorimatnya adalah sbb:
-
tentukan bilangan batas bawah (lower bound(I =
1)) dan tentukan bilangan batas atas (upper bound(I = N)).
-
syarat
pemindahan adalah LB&UB.
-
Jika LB& UB
lakukan pertukaran diantara dua bilangan tersebut.
-
lakukan langkah 2 dan langkah 3 untuk bilangan selanjutnya sampai mendapat
urutan yang optimal.
e.
Metode Insertion Sort.
Metode pengurutan insertion sort,prosedur atau algorimatnya adalah sbb:
-
pengecekan dimulai dari data ke -1 sampai
dengan data ke –n.
-
Pengurutan dilakukan dengan cara membandingkan
data ke- 1.
-
Bandingkan data ke- 1 dengan data
sebelumnya,jika lebih kecil data tersebut bisa.
-
lakukan langkah 2 dan 3 sampai mendapatkan
urutan yang optimal.
f. Metode Heap Sort.
Metode pengurutan insertion sort,prosedur atau algorimatnya adalah sbb :
-
Buat Heap Maksimum.
-
Jika N lebih besar dari 1 maka tukarkan
Nilai/Prioritas root dengan prioritas simpul
terakhir (simpul ke-N) tetapi jika N sama dengan 1 maka ambil nilai yang ada di root.
-
Kemudian nilai banyak simpul (N) dikurangi 1.
-
Jika N > 1 maka lakukan reorganisasi
heap yaitu proses sift down terhadap root.
Lakukan langkah 2 sampai 4 sampai
simpul habis (N=0).
Komentar
Posting Komentar