Dalam istilah ilmu komputer, sebuah struktur data
adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media
penyimpanan komputer sehingga data tersebut dapat digunakan 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.
Konstanta digunakan untuk menyatakan
nilai tetap sedangkan variable digunakan dalam program untuk menyatakan nilai
yang dapat berubah-ubah selang eksekusi berlangsung.
Ada empat istilah data, yaitu:
1. Tipe data
adalah jenis atau macam data di dalam suatu variable dalam bahasa pemrograman.
2. Objek data
mengacu kumpulan elemen, D (domain).
3. Representasi
data : Suatu mapping dari struktur data ‘d’ ke suatu set ke struktur data ‘e’
(d===e) misal bolean di representasikan dalam 0 dan 1.
4. Struktur
data biasa dipakai untuk mengelompokan beberapa
informasi yang terkait menjadi sebuah kesatuan.
Dalam teknik pemrograman, struktur
data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang
tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk
keperluan pemrograman yang tidak tampak oleh pengguna.Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record).
Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya
berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang
lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan
untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk
pengolah kata (word processor) yang kolomnya berubah secara dinamis.
Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet),
pangkal-data (database), pengolahan kata, citra yang dipampat
(dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan
struktur data.
Secara garis besar type data dapat dikategorikan
menjadi:
Type data sederhana :
Type data sederhana :
·
Type data sederhana tunggal, misalnya Integer, real, boolean
dan karakter.
·
Type data sederhana majemuk, misalnya String
Struktur
Data, meliputi:
·
Struktur
data sederhana, misalnya array dan record.
·
Struktur data majemuk, yang terdiri dari:
a) Linier : Stack,
Queue, sertaList dan Multilist
b) Non Linier :
Pohon Biner dan Graph
Pemakaian struktur data yang
tepat didalam 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 dibidang informatika adalah:
Struktur data yang standar yang biasanya digunakan dibidang informatika adalah:
Ø List linier (Linked List) dan
variasinya
Ø Multilist
Ø Stack (Tumpukan)
Ø Queue (Antrian)
Ø Tree ( Pohon)
Ø Graph ( Graf )
B.
PEMBUATAN
STRUKTUR DATA
Untuk
membuat menjadi struktur data, kita harus melakukan dulu aktivitas terhadap
objek data, yaitu :
v Mendeskkripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen
objek data.
v Menunjukan mekanisme kerja operasi-operasi.
Objek data integer ditambah operasi (+ , - , * , / , mod ,cell , floor ,
< , >) dan operasi-operasi lain yang memanipuasi objek data integer
menyatakan struktur data.
Struktur data = Objek data + {
Operasi manipulasi }.
Tahap pembuatan struktur data adalah
:
Ø Tahap pertama : Spesifikasi
Pendeskripsian / spesifikasi struktur data menyatakan apa yang dapat dilakukan
struktur data, bukan cara penerapannya.
Spesifikasi dapat dilakukan dengan
dua cara, yaitu :
·
Spesifikasi secara formal
·
Spesifikasi secara informal
Ø Tahap kedua : Implementasi
Implementasi menyatakan cara penerapan struktur data dengan struktur data
yang telah ada.Implementasi struktur data adalah proses pendefinisian tipe data
abstrak sehingga semua operasi dapat dieksekusi computer. Implementasi struktur
penyinpanan item-item data serta algoritma-algoritma untuk implementasi
operasi-operasi sehingga menjamin terpenuhinya karakteristik struktur data,
relasi item-item data atau invariant pada struktur data itu.
Ø Tahap ketiga : Pemrograman
Pemrograman terstruktur adalah penerjemahan menjadi pernyataan di bahasa
pemrograman tertentu. Prosesnya terdiri dari :
·
Deklarasi yang mendefinisikan objek-objek data dan
hubungannya
·
Pembuatan prosedur / rutin untuk operasi-operasi dasar
yang menjaga invariant pada struktur data itu .
Sesuai dengan relasi yang didefinisikan
di spesifikasi perancangan harus memilih tipe-tipe data yang telah ada untuk
merepresentasikan struktur data.
Struktur data di bangun menggunakan
fasilitas pembentukan atau pembuatan struktur data yang disediakan bahasa
seperti array, record, dan sebagainya atau yang telah di buat seperti stack,
queue, atau himpunan menggunakan linked list.
Pembuatan struktur data adalah pembentukan tipe data lengkap yang mempunyai
empat property berikut :
1.
Nama :
Identifier tipe data
2.
Domain : Domain
/ himpunan semesta nilai di tipe data
3.
Konstanta (penyebutan anggota-anggotanya) : Cara
penyebutan anggota-anggota tipe data
4.
Operasi-operasi terhadap tipe data itu (operator) : Daftar operasi terhadap anggota tipe data
sehingga kelakuan objek data sesuai spesifikasi.
C. ARRAY
·
Pengertian
Array
Array atau larik didefinisikan sebagai pemesanan alokasi memory
berurutan.definisi ini kurang tepat, karena terjadi kerancuan antara struktur
data dan representasinya.Memang benar array hampir selalu di implementasikan
menggunakan memory berurutan tapi tidak selalu demikian. Semua elemem array
bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran
atau jumlah elemen maksimumnya telah diketahui dari awal. Homogen adalah bahwa
setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang
sama.
·
Karakteristik
Array
a) Mempunyai
batasan dari pemesanan alokasi memori (bersifat statis)
b) Mempunyai
tipe data sama (bersifat homogen)
c) Dapat
diakses secara acak.
·
Deklarasi
Array
Ada tiga hal
yang harus di ketahui dalam mendeklarasikan array, yaitu :
a)
Type data
array
b)
Nama
variable array
c)
Subkrip /
index array.
Contoh
deklarasi dari array adalah sebagai berikut :
int A[5] ;
artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe
integer.
·
Operasi
Dasar Pada Array
Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung. Nilai
di masing-masing posisi elemen dapat diambil dan nilai dapat disimpan tanpa
melewati posisi-posisi lain.
Terdapat dua
tipe operasi, yaitu :
1. Operasi
terhadap satu elemen / posisi dari array
2. Operasi
terhadap array sebagai keseluruhan
Dua operasi
paling dasar terhadap satu elemen / posisi adalah
1.
Penyimpanan nilai elemen ke posisi tertentu di array
2.
Pengambilan nilai elemen dari posisi tertentu di array
Operasi-operasi
dasar terhadap array secara keseluruhan adalah :
1. Operasi
penciptaan
2. Operasi
penghancuran
3. Oparasi
pemrosesan traversal
4. Operasi
pencarian (table look-up)
5. Operasi
sorting
·
Penyimpanan
Dan Pengambilan Nilai
Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk penyimpanan
dan pengambilan nilai elemen pada posisi tertentu di array.
Contoh :
A[10] = 78,
berarti penyimpanan nilai 78 ke posisi ke-10 dari array A
C = A[10],
berarti pengambilan nilai elemen posisi ke-10 dari array A
·
Pencarian Di
Array (Table Look-Up)
Pencarian di
array (table look-up) adalah proses pencarian suatu nilai di array. Klasifikasi
pencarian di array adalah :
1) Pencarian
sekuen (sequential searching),yaitu:
a.
Tanpa
Boolean, terbagi:
·
Tanpa
sentinen
·
Dengan
sentinen
b. Menggunakan
boolean
2) Pencarian
secara biner / dikotom (binary = dichotomy searching).
·
Pengurutan
Array
Pengurutan atau sorting adalah proses yang paling sering di lakukan dalam
pengolahan data.pengurutan di bedakan menjadi dua, yaitu :
a.
Pengurutan internal
Pengurutan
dilakukan terhadap sekumpulan data di media memory internal komputer dimana
data dapat di akses elemennya secara langsung.
b.
Pengurutan eksternal
Pengurutan
data di memory sekunder.Biasanya data bervolume besar sehingga tidak mampu dimuat
semuanya di memori utama.
·
Keunggulan
Dan Kelemahan Array
Ø Keunggulan
array adalah sebagai berikut :
1. Array sangat
cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara
langsung tanpa melalui elemen-elemen lain.
2. Jika berada
di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen tetangga,
baik elemen pendahulu atau elemen penerus 3
3. Jika
elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus
terjaga,maka penggunaan penyimpanannya sangat efisien.
Ø Kelemahan
array adalah sebagai berikut :
Array
mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai
aplikasi karena array mempunyai batasan
sebagai berikut :
1. Array harus
bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemenadalah
karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
2. Kebanyakan
bahasa pemrograman mengimplementasikan array statik yang sulitdiubah ukurannya
di waktu eksekusi. Bila penambahan dan pengurangan terjaditerus-menerus, maka
representasi statis :
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak dimungkinkan
Bila
penambahan dan pengurangan terjadi terus menerus, maka representasi statis
(array):
1.
Tidak efisien dalam penggunaan memory
2. Menyiakan
banyak waktu komputasi
3. Pada suatu
aplikasi, representasi statis tidak di mungkinkan.
Diposting
Oleh : EVI IRFAN BUDIANA – A710140033 (FKIP PENDIDIKAN INFORMATIKA)
Referensi :
http://strukturdata18.blogspot.com/2013/05/makalah-struktur-dar.html
(diakses pada 26 Februari 2015 11.00 WIB)