16
Urutkan semua bagian kirikanan elemen dari data tersebut. Selanjutnya akan menghasilkan data yang sudah terurut
Kelebihan: Algoritma Quicksort memiliki kompleksitas On log n dimana pada prakteknya lebih
cepat dari algoritma pengurutan lainnya. Kekurangan:
Pada kemungkinan terburuknya, algoritma Quicksort ini dapat memiliki kompleksitas On2. Meskipun ini sangat langka terjadi
2.8.1 Pseudocode Quick Sort 2 Pivot
Algoritma Quick Sort 2 Pivot A,lo,hi is If lo hi then
P:= partition A,lo,hi Quicksort A,lo,P-1
Quicksort A,P+1,hi Algoritma partition A,lo,hi is
Pivot:= A[hi] i:= lo place for swapping
for j:= lo to hi-1 do if A[j] = pivot then
swap A[i] with A[j] i:= i+1
swap A[i] with A[hi] return i
2.9 Struktur Data
Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia
nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau
Universitas Sumatera Utara
17
direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol. Secara garis besar tipe data dapat dikategorikan menjadi :
1. Tipe data sederhanadasar
a. Tipe data sederhana tunggal
Integer Real
Boolean, dan Karakter
b. Tipe data sederhana majemuk misalnya string
2. Struktur data, meliputi :
a. Struktur data sederhana
Array Record
b. Struktur data majemuk, yang terdiri dari:
Linier : Stack, Queue, List dan Multilist No Linier : Pohon Biner tree dan Graph
Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program
secara keseluruhan lebih efesien dan sederhana. Struktur data yang ′′standar′′ yang biasanya digunakan dibidang informatika adalah List, Multilist, Stack Tumpukan,
Queue Antrian, Tree Pohon , Graph Graf . Struktur data yang penulisan bahas dalam tesis ini adalah struktur data sederhana yaitu array dan struktur data majemuk
yaitu list Wahyudi 2004 . a.
Array Array larik adalah struktur data statik yang menyimpan sekumpulan elemen yang
bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks Array larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter.
Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Array merupakan suatu struktur data yang bersifat statis. Array harus dialokasikan terlebih
dahulu di dalam memory sebelum kita memakainya.
Universitas Sumatera Utara
18
b. List
Merupakan suatu struktur data pengembangan dari konsep ADT Abstrak Data Type yang bersifat dinamis. List dapat dimanfaatkan secara effektif sesuai dengan
keperluan. List juga dapat benar – benar dihapus dibersihkan dari memory. List
sebenarnya merupakan suatu type data tersendiri. Di bahasa Visual Studio 2010 Ultimate, List bisa berupa suatu Class ataupun Record. Ciri
– ciri utama dari List adalah, dia mempunyai minimal dua elemen utama. Elemen
– elemen itu adalah data dan pointer untuk menunjukkan ke list berikutnya Sanjaya 2001.
Tabel 1.2 Perbedaan mendetail antara Array dan List
Array List
1. Pengaksesan bersifat Statis
2. volumenya selalu tetap tidak tergantung
pada jumlah data 3.
alokasi memori dilakukan pada saat array didefinisikan.
4. pembebasan memori dilakukan pada saat
program berhenti. 5.
Cara akses bersifat random dengan menggunakan nomor index.
1. Pengaksesan bersifat Dinamis
2. ukurannya berubah-ubah disesuaikan
dengan kebutuhan. 3.
alokasi memori ditentukan pada saat data baru dibuat.
4. pembebasan memori dilakukan setiap
ada penghapusan data. 5.
Cara akses ke masing-masing class data dilakukan secara linier selalu
dimulai dari elemen pertama.
2.10 Penelitian Terdahulu