Dianita Struktur data


Struktur data adalah cara menyimpan atau merepresentasikan data di dalam computer agar bisa dipakai secara efisien. Bagaimana dapat digabungkan data yang jenisnya berbeda-beda sebagai satu kesatuan? Array tidak dapat dipakai karena elemen-elemen dari array harus mempunyai tipe yang sama. Yang dapat dipakai adalah struktur. Suatu struktur merupakan kumpulan dari data yang anggota-angotanya dapat mempunyai tipe yang berbeda. Dengan struktur kita dapat membentuk tipe data baru sesuai keinginan kita.Sedangkan data adalah representasi dari fakta dunia nyata.Fakta atau keterangan tentang kenyataan disimpan, direkam, atau direpresentasikan dalam bentuk tulisan, suara, gambar , sinyal atau symbol. Struktur data digunakan untuk memudahkan program dalam melakukan penyimpanan dan pembacaan data.Struktur data yang baik dapat meningkatkan kinerja sebuah program.

Tipe data adalah sebuah kelas dari objek – objek data bersama-sama dengan himpunan operasi untuk membuat dan memanipulasinya. Secara garis besar type data dapat dikategorikan menjadi :

1). Type data sederhana

a. Type data sederhana tunggal , misalnya Integer, real, Boolean, dan karakter.

b. Type data sederhana majemuk , misalnya String.

2). Struktur Data, meliputi

a. Struktur data sederhana, misalnya array dan record.

b. Struktur data majemuk , yang terdiri dari struktur data linier (Stack, Queue, serta List dan Multilist) dan non linier (Pohon Biner dan Graph).

Struktur data linear adalah kumpulan komponen-komponen yang tersusun membentuk satu garis linear. Bila komponen-komponen ditambahkan (atau dikurangi), maka struktur-struktur tersebut berkembang (atau menyusut). Pemakaian sturktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat , sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana. Struktur data yang ‘standar’ yang biasanya digunakan di bidang informatika adalah :

  • Linier List (Linked List) dan variasinya

Linear List adalah suatu struktur data yang merupakan himpunan terurut. Misal didefinisikan suatu linear list A yang terdiri atas T buah elemen sebagai berikut :

A = [a1, a2, ………., aT]

Jika T = 0, maka A dikatakan sebagai “Null List”.

Suatu elemen dari sembarang posisi pada linear list A dapat dihilangkan. Sebaliknya, suatu elemen baru dapat dimasukkan ke dalam list dan dapat menempati sembarang posisi pada list tersebut. Jadi suatu linear list dapat berkurang atau bertambah setiap saat.

Linier List (Linked List) merupakan struktur data dinamis. Data disimpan dalam bentuk rangkaian seperti rangkaian gerbong kereta api. Setiap gerbong disebut node. Setiap node mempunyai dua buah bagian , yaitu medan informasi (tempat data) , dan penyambung (link field) yang berisi alamat node berikutnya.

  • Stack (Tumpukan)

Stack adalah struktur data linear dimana penambahan atau pengurangan komponen dilakukan di satu ujung saja. Stack merupakan suatu bentuk khusus dari linear list di mana operasi penyisipan dan penghapusan atas elemen-elemennya hanya dapat dilakukan pada satu sisi saja yang disebut sebagai “TOP”. Stack juga merupakan struktur data yang seolah olah data ditempatkan di atas data yang lain. Diibaratkan seperti menumpuk piring, maka data yang baru datang akan ditempatkan di atas data yang sebelumnya.

Ada operasi dasar yang didefinisikan pada stack, yaitu :

1). Push : Operator ini berfungsi untuk menambahkan satu elemen ke dalam stack. Notasi yang digunakan adalah : PUSH(E,S) Artinya : menambahkan elemen E ke dalam stack S. Elemen yang baru masuk ini akan menempati posisi TOP. Jadi : TOP(PUSH(E,S)) = E.

Akibat dari operasi ini jumlah elemen dalam stack akan bertambah, artinya NOEL(S) menjadi lebih besar atau stack menjadi tidak kosong (ISEMPTY(PUSH(E,S)) = false).

2). Pop : Operator ini berfungsi untuk mengeluarkan satu elemen dari dalam stack. Notasinya : POP(S)

Elemen yang keluar dari dalam stack adalah elemen yang berada pada posisi TOP. Akibat dari operasi ini jumlah elemen stack akan berkurang atau NOEL(S) berkurang dan elemen pada posisi TOP akan berubah. Operator POP ini tidak dapat digunakan pada stack kosong, artinya : POP(CREATE(S)) = error condition.

  • Queue (Antrian)

Queue (Antrian) adalah struktur data linear dimana penambahan komponen dilakukan di satu ujung, sementara pengurangan dilakukan di ujung lain (yang satu lagi). Queue merupakan struktur data yang seolah olah penempatan datanya seperti orang mengantri di loket. Data yang baru akan datang ditempatkan yang paling akhir. Manfaat dari Queue yaitu :

– digunakan OS untuk mengatur eksekusi task dalam suatu sistem untuk mencapai perlakuan yang “adil” (seringkali queue disebut waiting line)

– untuk mailbox dalam komunikasi antar proses

– untuk buffer dalam mekanisme printspooler, komunikasi data

– untuk simulasi dan modeling (misalnya simulasi sistem pengendali lalu lintas udara) dalam memprediksi performance

  • Tree ( Pohon)

Tree merupakan struktur data yang menempatkan data seperti pohon biner , yaitu pohon yang hanya memiliki 2 cabang. Implementasinya menggunakan pointer dua link field.


Leave a Reply