DUNIA BLOGGER

Dunia Blogger

Jumat, 02 Maret 2012

Struktur Data

Pendahuluan
Struktur data adalah cara menyimpan atau merepresentasikan data didalam 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. Struktur data dapat di artikan juga sebagai representasi data pada memory secara logika dan meng-karakterisasikan setiap variabel dalam program secara eksplisit ataupun implisit, Untuk operasi yang dibolehkan/berlaku pada object data tersebut sehingga sangat diperlukan dalam perencanaan Algoritma dan penyusunan program sebagai dasar teknik dari Database
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.
Dalam istilah ilmu komputer, sebuah Struktur adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
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 didapat (dikompres), juga pemanpaatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
Dalam pengertian lain, Struktur Data dapat juga di sebut sebagai suatu kumpulan objek-objek data yang memiliki aturan (terorganisir) yang kemudian di golongkan berdasarkan operasi-operasi untuk memanipulasinya. Contoh objek data tersruktur adalah Array, Record, Stack, Queue, Tree,dll






Dasar Pengelolaan Struktur Data
Dalam mempelajari struktur data hal-hal awal yang perlu kita ketahui adalah tentang konstanta, variable, dan tipe data.
1.      Konstanta
Dalam membuat suatu program, kita perlu menggunakan konstanta agar program kita bisa lebih mudah diperbaiki jika ada suatu kesalahan yang kita buat. Dengan menggunakan konstanta kita bisa memberikan nama yang mudah dimengerti dan dipahami untuk bilangan numerik yang sangat kompleks. Konstanta dideklarasikan pada awal program dan dideklarasikan dengan kata baku const.
Sesuai dengan namanya “konstanta”, maka nilai dalam konstanta selalu konstan atau tetap dan kita tidak dapat merubah nilai dari konstanta pada saat program sedang dijalankan.
2.      Variabel
Variabel adalah lokasi di memori yang kita siapkan dan kita beri nama khas untuk menampung suatu nilai dan atau mengambil nilai kembali tersebut. Bentuk umum dari variable adalah:
Var
NamaVariabel1,
NamaVariabel2,
……………….
NamaVariabel1N : TipeData1;
NamaVariabel1,
NamaVariabel2,
NamaVariabelNN : TipeDataN;
3.      Tipe Data
Atribut penting yang digunakan untuk suatu tipe data terstruktur adalah sebagai berikut :
a. Jumlah Komponen
Berdasarkan jumlah komponen selama eksekusi program, maka dapat dikelompokkan menjadi :
- Struktur Data Statis (Jumlah komponennya tidak berubah)
- Struktur Data Dinamis (Jumlah komponennya dapat berubah)
b. Tipe untuk setiap komponennya
Apabila tipe data untuk seluruh komponennya harus sama, maka disebut Struktur Data Homogen, dan bila dimungkinkan komponennya mempunyai tipe data yang berbeda-beda, maka disebut Struktur Data Heterogen.
c. Nama-nama untuk memilih komponen
Hampir semua struktur data menyediakan operasi untuk mengakses komponen secara individu. Pada suatu array (kumpulan data yang mempunyai tipe sama), hal ini dilakukan dengan sebuah indeks berupa angka.
d. Jumlah maksimum komponen
Tidak semua jenis struktur data harus ditentukan jumlah maksimum komponen, namun untuk sebuah tipe data dinamis mungkin perlu ditentukan dengan jelas.
e. Pengorganisasian semua komponennya
Susunan yang paling umum adalah berupa barisan linier seperti pada array berdimensi 1, record, list, stack dan file. Selanjutnya ada yang dapat dikembangkan menjadi struktur non linier seperti array multi dimensi dan juga pohon/tree.
Jenis tipe data yang biasanya digunakan dalam data terstruktur adalah sebagai berikut :
Integer
Integer adalah tipe data nilainya merupakan bilangan bulat dan terbagi atas beberapa macam. Berikut ini adalaha tabelnya:
Type
Range
Ukuran
Format
ShortIn
Integer
LongInt
Byte
Word
-128…127
-32768..32767
-2147483648..2147483647
0..255
0..65535
1
2
4
1
2
Signed 8-bit
Signed 16-bit
Signed 32-bit
Unsigned 8-bit
Unsigned 16-bit
Boolean
Boolean digunakan untuk merepresentasikan logika. Bolean hanya dapat bernilai True(1) dan False(0). Di bawah ini adalah beberapa tipe data Boolean:
Type
Range
Ukuran
Boolean
ByteBool
WordBool
LongBool
Byte-sized
Byte-sized
Word-sized
Long-sized
1 (8bit)
1 (8bit)
2 (16bit)
4 (32bit)
Real
Real biasanya digunakan untuk merepresentasikan nilai pecahan. Jenis-jenis tipe data real seperti pada tabel berikut ini:
Type
Range
Ukuran
Digit
Real
Single
Double
Extended
Comp
±2.9×10-39..1.7×1038
±1.5×10-45..3.4×1038
±5×10-324..1.7×10308
±3.4×10-4932..1.1×104932
±9.2×1018..9.2×1018
6
4
8
10
8
11-12
7-8
15-16
19-20
19-20
Karakter
Tipe data karakter hanya dapat menampung satu karakter saja dan mengalokasikan satu byte memori. Bentuk umum dari tipe data karakter adalah:
Var
: char;
String
String adalah tipe data gabungan(array) dari karakter sebanyal 256 karakter. Bentuk umum dari string adalah:
Var: string;
Ada juga tipe data lain yang elemennya kita sebutkan satu persatu. Tipe data ini adalah tipe data Enumerasi. Bentuk umum dari tipe data enumerasi adalah:
type : (elemen1, elemen2, elemen3….elemenN);
Referensi:
Sanjaya, Dwi: Bertulang Dengan Struktur Data di Planet Pascal: 2005: Graha Ilmu.
Kumalasari, Erni: Modul Struktur Data

Jenis Struktur Data
  1. Struktur Data Sederhana
    1. Array(Larik)
      Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array adalah Larik, tabel, atau vektor
    2. Record(Catatan)
      ADT adalah definisi tipe dan sekumpulan primitif (operasi dasar) terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang bersangkutan.
  2. Struktur Data Majemuk
    1. Linier
      1. Stack(Tumpukan)
        Stack (tumpukan) adalah list linier yang dikenali elemen puncaknya (top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan “di atas” (top), penghapusan selalu dilakukan pada top). Karena aturan penyisipan dan penghapusan semacam itu, top adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa elemen stack akan tersusun secara LIFO (Last In First Out).
      2. Queue(Antrian)
        Queue (antrian) adalah list linier yang dikenali elemen pertama (head) dan elemen terakhirnya (tail); Aturan penyisipan dan penghapusan elemennya disefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama; Satu elemen dengan elemen lain dapat diakses melalui informasi next.
      3. List dan Multi-List (Daftar)
List linier adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian. sebuah list linier dikenali dengan (1) elemen pertamanya, biasanya melalui alamat elemen pertama yang disebut (first); (2) Alamat elemen berikutnya (suksesor), jika kita mengetahui alamat sebuah elemen, yang dapat diakses melalui field next; (3) Setiap elemen mempunyai alamat, yaitu tempat elemen disimpan dapat diacu. Untuk mengacu sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut informasi yang tersimpan pada elemen list dapat diakses; (4) Elemen terakhirnya.
    1. Non-Linier
      1. Binary Tree (Pohon Biner)
Sebuah pohon biner (binary tree) adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left) dan sub pohon kanan (right) dari pohon biner tersebut. Pohon biner merupakan tipe yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon secara umum.
2.      Graph (Graf)
Graph merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data. Banyak entitas-entitas data dalam masalah-masalah nyata secara alamiah memiliki keterhubungan langsung (adjacency) secara tak terbatas demikian. Contoh: informasi topologi dan jarak antar kota-kota di pulau Jawa. Dalam masalah ini kota X bisa berhubungan langsung dengan hanya satu atau lima kota lainnya. Untuk memeriksa keterhubungan dan jarak tidak langsung antara dua kota dapat diperoleh berdasarkan data keterhubungan-keterhubungan langsung dari kota-kota lainnya yang memperantarainya. Representasi data dengan struktur data linier ataupun hirarkis pada masalah ini masih bisa digunakan namun akan membutuhkan pencarian-pencarian yang kurang efisien. Struktur data graph secara eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straightforward) dilakukan pada strukturnya sendiri.


Istilah penting dalam struktur data :

Data adalah deskripsi dari sesuatu dan kejadian yang kita hadapi(data is the description of things and events that we face). Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian (event) adalah sesuatu yang terjadi pada saat tertentu. Sebagai contoh, dalam dunia bisnis kejadian-kejadian nyata yang sering terjadi adalah perubahan dari suatu nilai yang disebut dengan transaksi. Misalnya penjualan adalah transaksi perubahan nilai barang menjadi nilai uang atau nilai piutang dagang. Kesatuan nyata(fact and entity) adalah berupa suatu obyek nyata seperti tempat, benda dan orang yang betul-betul ada dan terjadi.Sumber dari informasi adalah data. Data merupakan bentuk jamak dari bentuk tunggal data-item. Data merupakan bentuk yang belum dapat memberikan manfaat yang besar bagi penerimanya, sehingga perlu suatu model yang nantinya akan dikelompokkan dan diproses untuk menghasilkan informasi

Database bisa dikatakan sebagai suatu kumpulan dari data yang tersimpan dan diatur atau diorganisasikan sehingga data tersebut bisa diambil atau dicari dengan mudah dan efisien. Sebagai contoh sederhana dari database adalah buku telepon yang mungkin sering Anda lihat.Bagaimana halnya dengan database dengan sistem database dengan menggunakan komputer? Hal tersebut sama saja seperti database yang sifatnya manual (seperti contoh buku telepon di atas) hanya saja dengan adanya komputer maka informasi yang ada di dalam database akan sangat mudah untuk di-update dan sangat cepat untuk dicari. Software atau aplikasi yang bertugas untuk mengatur, menyimpan, memodifikasi data disebut dengan software database engine dan lebih resminya disebut dengan DBMS (Database Management System). Ada banyak sekali aplikasi DBMS ini mulai yang berjalan di komputer personal (PC) sampai ke komputer skala mainframe. Contoh-contoh dari aplikasi database engine misalnya seperti:
  • SQL Server, dibuat oleh Microsoft.
  • MS Access, dibuat oleh Microsoft.
  • Oracle Database, dibuat oleh Oracle.
  • MySQL, dibuat oleh MySQL AB.
  • Firebird, dibuat oleh komunitas open source berdasarkan dari kode Interbase.
  • PostgreSQL, dibuat oleh komunitas open source.
  • DB2, dibuat oleh IBM.

Istilah untuk sekelompok record data yang sama dan saling terhubung dalam memori computer.

Sekelompok bit yang digunakan untuk menggambarkan satu karakter:character data untuk transmisi:trans...

Encapsulation/Enkapsulasi (Pembungkusan)
1.      Variabel dan method yang dipunyai suatu obyek, bisa ditentukan hak aksesnya.
  1. Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi.
  2. Definisi enkapsulasi: menyembunyikan cara kerja dan sistem.
  3. Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.


Tujuan pembentukkan struktur data

Tujuan pembentukan struktur data adalah information hiding atau encapsulation sebagai berikut :
1.      Perubahan implementasi struktur data tidak merubah teks program yang menggunakan struktur data bila interface pada struktur data telah dirancang baik sehingga tidak berubah
2.      Pemakaian dan pembuatan struktur data dapat dilakukan secara terpisah, yang hany perlu kesepakatan mengenai interface pemakai struktur data tersebut
3.      Struktur data merupakan sarana pemrograman modular dan menjadi landasan terbentuknya tim pemrograman


Tahapan Pembuatan Struktur Data :
1.      Tahap
Spesifikasi atau pendeskripsian struktur data menyatakan apa yang dapat dilakukan struktur data, bukan cara penempatannya. Pendeskripsian ini melibatkan level logic sehingga dapat digunakan konvensi matematika untuk menyatakan sifat-sifat struktur data yang dikehendaki.
2.      Tahap Kedua
Implementasi menyatakan cara penerapan struktur data dengan struktur data yang telah ada. Implementasi struktur dataadalah proses pendefinisian tipe data abstark sehingga semua operasi dapat dieksekusi computer. Implementasi berisi dekklarasi struktur penyimpanan item data serta algoritma untuk implementasi operasi, sehingga menjamin terpenuhinya karakteristik struktur data, relasi item data tau invariant pada struktur data tersebut.
3.      Tahap Ketiga
Pemrograman struktur data adalah penterjemahan menjadi pernyataan dalam bahasa pemrograman tertentu.struktur data dibangun menggunakan fasilitas pembentukkan atau pembuatan struktur data yang disediakan bahasa seperti array, record dan lain-lain.









Tidak ada komentar:

Posting Komentar