STRUCTURE DATA
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.
Secara garis besar type data
dapat dikategorikan menjadi :
Type data sederhana:
·
Type data sederhana tunggal, misalnya Integer,
real, boolean dan karakter.
·
Type data sederhana majemuk, misalnyaString
Struktur Data meliputi :
·
Struktur data sederhana, misalnya array dan record.
·
Struktur data majemuk, yang terdiri dari:
Linier : Stack, Queue, sertaList dan Multilist
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:
1. List linier(Linked List)
2.Array
3.Stack(Tumpukan)
4.Queue(Antrian).
5.Binary
Tree
6.Hash
Table
LINKED
LIST
Linked
List adalah salah satu bentuk struktur data, berisi kumpulan data
(node) yang tersusun secara sekuensial, saling sambungmenyambung,
dinamis dan terbatas.
- Linked List sering disebut juga Senarai Berantai
- Linked List saling terhubung dengan bantuan variabel pointer
- Masing-masing data dalam Linked List disebut dengan node (simpul) yang
menempati alokasi memori secara dinamis dan biasanya berupa struct
yang terdiri dari beberapa field.
ARRAY
Array
adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama. Array juga merupakan konsep yang
penting dalam pemrograman, karna array memungkinkan kita untuk menyimpan data
dalam jumlah banyak dan terindeks.
Array
sendiri ada yang disebut array 1 dimensi dan array 2 dimensi . Dari namanya
saja sepertinya sudah bisa kita tebak maksud dan perbedaan keduanya.
Menurut
dimensinya, array dapat dibedakan menjadi :
1.
Array berdimensi satu
·
Setiap elemen array dadpat diakses melalui index.
·
Index array secara default dimulai dari 0.
·
Deklarasi array : Tipe_array nama_array[ukuran].
2.
Array berdimensi dua
·
Array dua dimensi merupakan array yangg terdiri
dari m buah baris dan buah kolom.
Bentuknya dapat berupa matriks atau tabel.
·
Deklarasi array : Tipe_array
nama_array[baris][kolom].
3.
Array multidimensi
·
Array multidimensi merupakan array yang mempunyai
ukuran lebih dari dua.Bentuk Pendeklarasian arrray multidimensi sama saja
dengan deklarasi array dimensi satu maupun dimensi dua.
·
Deklarasi array : Tipe_array nama_array [ukuran
1][ukuran 2] …. [ukuran N].
~ Perbedaan
array dengan tipe data lain :
1.
Array dapat mempunyai sejumlah nilai, sedangkan
tipe data lain hanya dihubungkan dengan sebuah nilai saja.
2.
Array dapat digunakan untuk menyimpan beberapa
nilai tipe data lain data (char, int, float, double, long, dll) yang sama
dengan satu nama saja.
3.
Selain itu, array dapat berupa satu dimensi
atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.
STACK
Stacks
dalam bahasa c biasanya disebut sebagai tumpukan(First in last out or Last in
first out),misalnya bola bulu tangkis yang kita beli pada saat kita ,w memainkannya makanya kita haru mengambil satu persatu kan
?? ga mungkin kita ngambilnya dari tengah .
QUEVE
Queve
dalam bahasa c di istilah kan sebagai antrian (First in first out) ,misalnya
dalam pengantrian bank tidak mungkin terakhir datang pertama keluar.Jadi ,kita
harus mengantri antara satu persatu.
BINARY
TREE
Binary search tree merupakan sebuah
metode pencarian menggunakan tree atau bentuk pohon. binary tree hanya dapat
mengorganisasi hirarki dengan 2 child. implementasi binary tree dilakukan
dengan mendefinisikan linked list, masing masing node terdiri dari 3 bagian
yakni pointer kanan, data info, pointer kiri
tulisan
variabel yang berada di tengan merupakan info dari node tersebut dan lingkaran
kecil yang berada di kanan dan kiri merupakan sebuah pointer yang menghubungkan
ke anak atau child di bawahnya.
berikut
adalah pseudecode dalam membuat algoritma binary search tree
HASH
TABLE
Hash Table adalah struktur data yang menyimpan data secara asosiatif. Dalam
tabel hash, data disimpan dalam format array dimana setiap nilai data memiliki
nilai indeks uniknya sendiri. Akses data menjadi sangat cepat, jika kita
mengetahui indeks dari data yang diinginkan
POINTER
Pengertian
Pointer
Pointer
(variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu
variabel lain.Alamat ini merupaka lokasi dari obyek lain (biasanya variabel
lain) di dalam memori.
Contoh: jika sebuah
memori berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke
variabel kedua.
Operator
Pointer ada dua, yaitu :
Pointer dan Array(Pointer to Array),hubungan antara
pointer dan array pada bahasa c sangatlah erat, sebab sesungguhnya array secara
internal akan diterjemahkan dalam bentuk pointer.
(&)
-> Operator disamping digunakan untuk menunjuk ke alamat memory yang ada.
(*)->
Operator di samping digunakan untuk mengakses secara langusng nilai yang
terdapat dalam variabel yang
berpointer.
Pertanyaan dari Dosen :
~
Apa itu Deklarasi ??
Deklarasi
adalah menyadiakan suatu tempat yang dapat digunakan untuk menyimpan angkayang
akan digunakan dalam suatu perhitungan. Dalam pendeklrasian dalam bahasa C
dapat
dilakukan
dengan dua cara yaitu dengan menggunakan variabel Dan konstanta.
~
Berapa contoh komponen-komponen data structure yang memenuhi ?
1. Array
2. Linked
list
a. Single
linked list
b. Double
linked ists
3. Queues(antrian)
First
int first out
4. Stacks(tumpukan)
a. LIFO(Last
In First Out)
b. FILO(First
In Last Out)
5. Binary
trees
6. Hash
tables
~
Apa bedanya single pointer sama double pointer dan berapa banyak bintangnya ?
Menurut saya single pointer itu
yang pointernya Cuma satu sedangkan double pointer itu pointernya ada dua.
Contoh:
#include<stdio.h>
Int
main()
{
Int a=10;
Int *b=&a;
Int **c=&b;
Printf(“%d”,c);
getchar();
return 0;
}
Biar lebih ngerti atau
lebih jelas kalian boleh mencoba sendri code yang diatas.s