Struktur Data TINJAUAN PUSTAKA

Ide algoritma ini hampir mirip dengan QuickSort, yaitu melakukan partisi. Kecuali bahwa algoritma ini melakukan partisi tanpa kriteria. Jadi, data set X[l] ... X[r] di partisi langsung ke du sub data set dengan jumlah data yang sama X[l] ... X[l+r2], dan X[l+r2+1] ... X[r]. Lalu secara rekursif melakukan Merge Sort untuk masing-masing data set. Karena kedua data set itu bisa overlapping tidak seperti pada Quick Sort maka setelah kedua sub data set terurut masih memerlukan proses penggabungan Merging. Merging ini memerlukan ruang tambahan yaitu suatu array yang sama panjangnya dengan panjang kedua subset untuk menyimpan hasilnya Bhalchandra dan Deshmukh 2010. void MergeSortint l,int r { if l r { MergeSortl, l+r2; MergeSortl+r2,r; Merging; } } Algoritma ini memiliki kompleksitas On log n.

2.8. 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 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 Universitas Sumatera Utara - 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. 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. Universitas Sumatera Utara Tabel 2.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. Sumber : Sanjaya, 2001

2.9. Penelitian Terdahulu