BAB 2 TINJAUAN PUSTAKA
2.1. Pengertian Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah
dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar Rosa dan Shalahuddin 2010. Kriteria Algoritma yang baik :
a. Tepat, benar, sederhana, standar dan efektif.
b. Logis, terstruktur dan sistematis.
c. Semua operasi terdefinisi.
d. Semua proses harus berakhir setelah sejumlah langkah dilakukan.
e. Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah untuk
diimplementasikan dan tidak menimbulkan arti ganda.
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma
selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau
masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-lankah membuat masakan. Bila langkah -langkahnya
tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia
mengerjakan proses sesuai yang ia baca. Secara umum, pihak benda yang mengerjakan proses disebut pemroses processor. Pemroses tersebut dapat berupa manusia, komputer,
robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau mengeksekusi algoritma yang menjabarkan proses tersebutMunir
2007.
Universitas Sumatera Utara
2.2. Algoritma Pengurutan Sorting
Algoritma merupakan urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Sedangkan pengurutan adalah
proses pengaturan sekumpulan objek berdasarkan urutan atau susunan tertentu, dapat berupa pengurutan menaik ascending atau menurun descending. Sharma at all 2008.
Contoh, sebuah larik atau array terdiri dari kumpulan bilangan : [3,12,1,50,33,5,28]
Hasil pengurutan menaik ascending : [1,3,5,12,28,33,50]
Hasil pengurutan menurun descending : [50,33,28,12,5,3,1]
Sebuah algoritma dikatakan baik jika menghasilkan nilai yang benar, efektif dan efisien. Efektif yaitu tepat sasaran, jelas dan tidak rancu dalam menjalankan aksi-aksinya
serta menghasilkan data yang benar. Efisien yaitu penghematan proses dari sebuah algoritma, seperti running time dan penggunaan memori. Metode atau algoritma pengurutan
dapat diklasifikasikan menjadi : 1.
Metode atau algoritma pengurutan internal, yaitu pengurutan yang dilakukan di dalam larik itu sendiri. Datanya disimpan di dalam memori komputer.
2. Metode atau algoritma pengurutan eksternal, yaitu pengurutan yang datanya
disimpan di dalam disk storage. Metode ini disebut juga pengurutan arsip.
Sedangkan berdasarkan kestabilan stability, algoritma pengurutan dapat dibagi menjadi dua jenis, yaitu :
1. Metode pengurutan stabil stable sorting algorithm, merupakan algoritma
pengurutan yang menjagamempertahankan maintenance urutan dari beberapa elemen array yang bernilai sama.
2. Metode pengurutan tidak stabil non stable sorting algorithm, merupakan metode
pengurutan yang tidak menjagamempertahankan maintenance urutan dari beberapa elemen array yang bernilai sama. Dengan kata lain, urutan beberapa
elemen yang sama berbeda antara sebelum dan sesudah pengurutan.
Universitas Sumatera Utara
Algoritma memiliki dua skema, yaitu iteratif dan rekursif. Iteratif yaitu algoritma yang melakukan perulangan biasa, sedangkan rekursif adalah algoritma yang melakukan
perulangan dengan melakukan pemanggilan terhadap dirinya sendiri. Contoh algoritma pengurutan yang termasuk dalam skema iteratif, yaitu pengurutan apung bubble sort dan
selection sort, Contoh algoritma pengurutan yang termasuk dalam skema rekursif, yaitu pengurutan merge merge sort, pengurutan heap heap sort dan pengurutan cepat quick
sort. Tidak semua algoritma tersebut hanya memiliki satu skema, misalnya algoritma pengurutan seleksi atau selection sort yang dapat menggunakan skema rekursif, namun di
dalam penelitian ini selection sort yang dibahas menggunakan skema iteratif Fanani 2008.
2.3. Kompleksitas Algoritma