Dalam postingan blog saya kali ini saya akan
menjelaskan point-point dari mata kuliah Struktur Organisasi Data 2, berikut
adalah materi-materi perbab yang saya pelajari disemester 4 ini, silahkan
membaca dan mempelajari semoga bermanfaat :
BAB 1. 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 type data dapat dikategorikan menjadi:
1.
Type data sederhana
- Type data sederhana tunggal, misalnya : Integer, real, boolean, dan karakter
- Type data sederhana majemuk, misalnya : String
- Type data sederhana tunggal, misalnya : Integer, real, boolean, dan karakter
- Type data sederhana majemuk, misalnya : String
2.
- Struktur Data, meliputi:
- Struktur data sederhana, misalnya array dan Record
- Struktur data majemuk, yang terdiri:
-Linier : Stack, Queue, serta List dan Multilist
- Struktur data sederhana, misalnya array dan Record
- Struktur data majemuk, yang terdiri:
-Linier : Stack, Queue, serta List dan Multilist
-Non Linier : Pohon Biner dan Graph
Pemakaian struktur 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 dibidang informatika adalah,
Struktur data yang ″standar″ yang biasanya digunakan dibidang informatika adalah,
- ADT , Array , Struk
- List linier (Linked List) dan
variasinya
- Multilist
- Stack (Tumpukan)
- Queue (Antrian)
- Tree (Pohon)
- Graph (Graf)
Tipe
data sederhana :
Ø Integer
Ialah suatu Integer adalah anggota dari
himpunan bilangan : ( …. –(n+1),-n …. , -2 , -1,0,1,2,…….n,n+1,…..)
Operasi dasaranya : + , - , * , :
Dalam integer ada pembagian ( DIV)
hasil pembagian DIV adalah Integer ( menghilangkan bagian pecahan dari hasil
pembagian )
Contoh : 19 DIV 6 = 3
Selain DIV terdapat juga operasi MOD
( sisa pembagian )
Contoh : 19 MOD 6 = 1
Binary Operator : Operator yang bekerja terhadap sepasang integer
(Operand).
Unary Operator : Operator yang hanya bekerja terhadap satu operand saja
misalnya negasi
Ø Real
`Data
real adalah jenis data yang
ditulis menggunakan titik decimal atau koma decimal . Cara penyajian terdiri
atas 2 bagian yaitu mantissa ( pecahan ) dan eksponen .
Contoh :
Dalam system decimal : 123000 =
0,123 * 10
Disini 0,123 adalah mantissa atau
pecahan sedangkan 6 adalah eksponenya
Ø Boolean
Tipe data ini adalah jenis data
logic , iya mempunyai nilai salah satu dari true atau false .
Ada 2 operator yang dikenal pada
Boolean yaitu :
-
Operator Logika : AND , OR dan NOT
Ø Operator AND menghasilkan nilai true jika kedua
operand bernilai true
Ø Operator OR akan menghasilkan nilai true jika salah
satu operand bernilai true
Ø Operator NOT akan merupakan “precedence” dari
operator AND dan OR
-
Operator Relasional , yaitu : > ,
< , >= , <= , <> dan =
Misalnya : 5 < 4 = False
6 > 2 = True
Ø Karakter
Karakter adalah suatu himpunan yang
terdiri atas bilangan abjad dan symbol khusus
( 0 , 1 …. 8,9,A,B …. Y,Z,+,-,*)
String
Barisan higga karakter yang dibentuk
oleh suatu kumpulan dari string .
-
Operator Length :
Jumlah karakter dalam string
-
Operator Concat : Gabungan 2
buah string
-
Operator Substr : Sub bagian
dari string
-
Operator Insert : Menyisipkan
string kedalam string yang lain
-
Operator Delete :
Menghapus karakter dalam string
Lalu juga ada Mapping ke Storage
-
Integer , bentuk mapping ke storage dari integer dapat dilakukan
dengan beberapa cara yaitu :
1 Skema Sign and Magnitude
2 Skema One’s Complement
3 Skema Two’s Complement
Karakter pada umumnya skema yang paling sering digunakan adalah :
1 Extended Binary Coded Decimal
Interchange (EBCDI) : Digunakan kode 8 bit untuk
menyatakan sebuah karakter
2 American Standard Code For
Informtion Interchange ( ASCII)
: Digunakan kode 7 bit untuk menyatakan sebuah karakter .
BAB 2 kita mempelajari tentang ARRAY
Array adalah suatu himpunan hingga
elemen, terurut dan homogen. Contoh dari array dimensi 1 yaitu vector. Bentuk
umumnya N(L:U) à L(Lower Bound), U(Upper Bound).
Contoh dari array dimensi 2 adalah
matriks, yaitu suatu array yang setiap elemennya merupakan tipe data array
pula. Subskrip pertama disebut baris, subskrip kedua disebut kolom.
Pemetaan array ke storage;
Dimensi satu àB + (I-L) * S
Dimensi dua à 1. Row Major Order
> B + (I-L1)*(U2-L2+1)*S+(J-L2)*S
2. Column Major Order >
B+(J-L2)*(U1-L1+1)*S+(I-L1)*S
Keterangan rumus: B = Base Location,
S= setiap elemen dari array perbyte.
Array dimensi tiga adalah array yang
setiap elemennya merupakan tipe data array juga yang merupakan array dimensi
dua.
Cross section adalah pengambilan
salah satu subskrip.
Transpose adalah penulisan baris
menjadi kolom atau kolom menjadi baris.
Triangular array dapat berupa: Upper
Tringular (semua elemen dibawah diagonal utama = 0), dan Lower Tringular (semua
elemen diatas diagonal utama = 0).
Sparse array adalah suatu array yang
sangat banyak elemen nol-nya.
Perbedaan
Array dan Record adalah bahwa Array bersifat Homogen dan Record bersifat
Heterogen .
BAB
3 Kami mempelajari tentang STACK
1.
Linear List
Adalah suatu struktur data umum yang
berisi suatu kumpulan terurut dari elemen. Jumlah elemen dapat berubah-ubah.
Contoh : contohnya : File dengan
elemenya berupa record , buku telfon , stack , queue dan linier link list
2.
Stack
Adalah bentuk khusus dari linear
list, dengan operasi penyisispan dan penghapusan dibatasi hanya pada satu
sisinya, yaitu sebagai puncak atau elemen atas (TOP(S)). Jumlah elemen didalam
stack kita notasikan dengan NOEL(S). operator penyisipan disebut PUSH, dan
operator penghapusan disebut POP. Operasi pada stack adalah LIFO (Last In First
Out), contoh, tumpukan piring yang digunakan di café.
Ada empat operasi dasar pada stack:
- CREATE:
operator yang menunjukan suatu stack kososng dengan nama S.
- ISEMPTY:
operator yang menentukan apakah stack S itu kosong.
- PUSH:
menambahkan elemen E pada puncak stack S.
- POP(stack):
menghapus sebuah elemen dari puncak stack S.
BAB 4 Kami mempelajari tentang QUEUE
Queue adalah bentuk khusus dari linier list , dengan operasi
penyisipan yang hanya diperbolehkan pada satu sisi lalu disebut Rear , sedangkan Front dari list adalah
operasi penghapusan yang hanya diperbolehkan pasa sisi yang lainya. Prinsip kerja pada Queue adalah FIFO
(First in First Out) jadi elemen yang pertama masuk merupakan
elemen yang perteama keluar.
Front : Bagian depan antrean
Rear : Bagian belakang antrean
Noel : Jumlah elemen dalam antrean
Insert : Operator Penyisipan
Remove : Operator Penghapusan
Ada 4 operasi dasar antrean yaitu :
·
Create : Operator yang menunjukan suatu antrean hampa Q
·
Isempty : Operator yang menunjukan apakah antrean Q hampa
·
Insert : Operator yang menginsert elemen E ke dalam antrean Q
·
Remove : Operator yang menghapus elemen bagian depan dari antrean Q
Penyajian dari antrean :
1. One Way List
2. Array
OPERASI-OPERASI
PADA QUEUE
v Create
·
Untuk menciptakan dan menginisialisasi
Queue
·
Dengan cara membuat Head dan Tail =
-1
v IsEmpty
·
Untuk memeriksa apakah Antrian sudah
penuh atau belum
·
Dengan cara memeriksa nilai Tail,
jika Tail = -1 maka empty
·
Kita tidak memeriksa Head, karena
Head adalah tanda untuk kepala
elemen
pertama dalam antrian) yang tidak akan berubahubah
·
Pergerakan pada Antrian terjadi
dengan penambahan elemen
Antrian
kebelakang, yaitu menggunakan nilai Tail
v IsFull
·
Untuk mengecek apakah Antrian sudah
penuh atau belum
·
Dengan cara mengecek nilai Tail,
jika Tail >= MAX-1 (karena MAX-1
adalah
batas elemen array pada C) berarti sudah penuh
v Enqueue(data)
·
Untuk menambahkan elemen ke dalam
Antrian, penambahan
elemen
selalu ditambahkan di elemen paling belakang
·
Penambahan elemen selalu menggerakan
variabel Tail dengan cara
increment
counter Tail
v Dequeue
·
Digunakan
untuk menghapus elemen terdepan/pertama dari Antrian
·
Dengan
cara mengurangi counter Tail dan menggeser semua
elemen
antrian kedepan.
·
Penggeseran
dilakukan dengan menggunakan looping
v Clear
·
Untuk
menghapus elemen-elemen Antrian dengan cara membuat
Tail
dan Head = -1
·
Penghapusan
elemen-elemen Antrian sebenarnya tidak menghapus
arraynya,
namun hanya mengeset indeks pengaksesan-nya ke nilai
-1
sehingga elemen-elemen Antrian tidak lagi terbaca
v Tampil
·
Untuk
menampilkan nilai-nilai elemen Antrian
·
Menggunakan
looping dari head s/d tail
BAB 5 Kita
mempelajari tentang GRAPH
Graph G
adalah pasangan terurut dua himpunan (V(G), E(G)), V(G) himpunan berhingga dan
tak kosong dari obyek-obyek yang disebut himpunan titik
(vertex)
dan E(G)
himpunan berhingga (bolehkosong) sedemikian hingga setiap anggotanya merupakan
pasangan titik-titik di V(G). Himpunan E(G)disebut
himpunan sisi.Contoh :Graph 1G
1
adalah graph dengan
V(G)
= { 1, 2, 3, 4 }
E(G)
= { (1, 2), (1, 3), (2, 3),(2, 4), (3, 4) }Graph 2
Graf Null / Hampa
Ada
beberapa pengertian tentang graf null/hampa. Di sini akan dipakai pengertian
bahwa suatu graf dikatakan graf null/hampa bila graf tersebut tidak mengandung
ruas.
Contoh :
Berdasarkan
derajat simpul, sebuah simpul dapat disebut :
- Simpul
Ganjil, bila derajat simpulnya merupakan bilangan ganjil
- Simpul
Genap, bila derajat simpulnya merupakan bilangan genap
- Simpul
Bergantung / Akhir, bila derajat simpulnya adalah 1
- Simpul
Terpencil, bila derajat simpulnya adalah 0
Dalam
keterhubungan sebuah graf, akan dikenal beberapa istilah-istilah berikut :
- Walk
: barisan simpul dan ruas
- Trail
: Walk dengan ruas yang berbeda
- Path
/ Jalur :
Walk dengan simpul yang berbeda
- Cycle
/ Sirkuit : Trail tertutup dengan derajat setiap simpul = 2
Sumber :
v Modul Diskusi Algotitma & Pemrograman Universitas
Narotama Surabaya oleh Tony Hartono Bagio.
v Modul Stack dan Queue dengan Linked List oleh Harjanto
Sutejo.
Tidak ada komentar:
Posting Komentar