Nah, pengertian Struktur Data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
Data adalah
Ada banyak pengertian tentang data, secara sederhana data adalah fakta kasar atau gambaran yang dikumpulkan dari keadaam tertentu yang berisi fakta yang masih kasar dan belum diolah.
Algorithma : barisan langkah-langkah untuk menyelesaikan sebuah program. Inputnya harus data. Sebuah program belum tentu Algoritma, Sebuah Algoritma harus bisa diimplementasikan sebuah program.
Jadi Struktur Data & Algoritma = Program
Data secara umum dapat dikategorikan menjadi:
Tipe data sederhana
1.
Tunggal : Integer, Real,
Boolean, Karakter
2.
Majemuk : String
- Struktur Data1. Sederhana : Array, Record
2. Majemuk :
-Linier : Linier Linked List, Stack, Queue
-Non Linie : Binary Tree, Binary Search Tree, General Tree, Tree, Graf
INTEGER
Suatu
integer adalah anggota dari himpunan bilangan :
{...,
-(n+1), -n, ..., -2, -1, 0, 1, 2, ..., n, n+1, ...}
Operasi
dasar yang ada dalam integer yaitu : +, -, *, /, ^
Pembagian
Integer (DIV)
Hasil
dari pembagian integer DIV adalah sebuah integer (menghilangkan bagian
pecahan
dari hasil pembagian)
Contoh
: 17 DIV 3 = 5
Selain
itu terdapat operasi MOD (Modulo) : sisa dari pembagian
Contoh : 17 MOD 3 = 2
REAL
Data
numerik yang bukan termasuk integer, digolongkan dalam jenis data real. Jenis
data
ini ditulis menggunakan titik desimal (atau koma desimal). Bilangan real
dimasukkan
ke dalam memori komputer memakai sistem floating point, merupakan versi
yang
disebut Scientific Notation. Di sini penyajiannya terdiri atas dua bagian,
yaitu :
mantissa (pecahan) dan eksponen.
Contoh :
Di dalam
sistem desimal, 123000 = 0.123 * 106
di
sini 0.123 adalah mantissa atau pecahan, sedangkan 6 adalah eksponennya.
BOOLEAN
Jenis
data ini disebut juga jenis data logical. Elemen dari jenis data ini
mempunyai nilai salah satu dari true atau false.
KARAKTER
Jenis
data karakter merupakan elemen dari suatu himpunan yang terdiri atas bilangan,
abjad
dan simbol khusus.
(0,1,...,8,9,
A, B, ..., Y,Z, +, -,*,√, ...}
STRING
Barisan
hingga karakter yang dibentuk oleh suatu kumpulan dari karakter.
Karakter
yang digunakan untuk membentuk suatu string disebut alfabet. Dalam
penulisannya,
suatu string berada dalam tanda “aphosthrope”.
OPERASI Dan Operator
1.
Jumlah karakter dalam string LENGTH
2.
Gabungan 2 buah string CONCAT
3.
Sub bagian dari string SUBSTR
4.
Menyisipkan string kedalam string yang lain INSERT
5.
Menghapus karakter dalam string DELETE
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
ARRAY
Array adalah suatu himpunan hingga elemen, terurut dan homogen.
Terurut adalah elemen tersebut dapat diidentifikasikan sebagai elemen pertama,
kedua, sampai dengan elemen ke-n.
Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah
mempunyai tipe data yang sama
.
Pengertian array telah kita kenal sebelumnya dalam Matematika, yang
lebih dikenal sebagai matriks atau tabel. Vektor merupakan array yang paling
sederhana.
ARRAY DIMENSI SATU
Vektor adalah bentuk yang sederhana dari array, yang merupakan array dimensi
satu.
Array N dapat kita bayangkan :
N(1) N(2) N(3) ... N(I)
BENTUK UMUM
Misal : Array N dengan tipe data T dan subskrip bergerak dari L sampai U, maka
array N dapat ditulis :
N(L:U)
di sini L : Lower Bound (Batas Bawah)
U : Upper Bound (Batas Atas)
Banyaknya elemen adalah : U - L + 1
ARRAY DIMENSI DUA
Adalah : suatu array yang setiap elemennya merupakan tipe data array pula.
BENTUK UMUM
Misal : Array B dengan tipe data T, subskrip baris dari L1 sampai U1, subskrip
kolom dari L2 sampai U2, ditulis sebagai berikut :
B(L1:U1,L2:U2)
Banyaknya elemen adalah : (U1 - L1 +1) * (U2 - L2 +1)
PEMETAAN KE STORAGE : ARRAY
DIMENSI SATU
Alamat awal dari memori yang dialokasikan bagi array.
Alamat awal dari array dinyatakan dengan B (Base Location), dan setiap elemen
dari array menduduki S byte.
Alamat awal dari array dengan elemen ke-I adalah :
B
+ (I -L) * S
Contoh
:
A(2:6)
2
3 4 5 6
25
20 10 15 12
Alamat
awal dari A(4) I = 4
B
+ (I - L) * S
B
+ (4 - 2) * S
B
+ 2 * S
DIMENSI DUAMemori komputer adalah linier.
Pelinieran array dimensi banyak dengan cara :
1. ROW-MAJOR ORDERB + (I - L1) * (U2 - L2 + 1) * S + (J - L2) * S
2. COLUMN-MAJOR ORDER
B + (J - L2) * (U1 - L1 + 1) * S + (I - L1) * S
TRIANGULAR ARRAY (ARRAY SEGITIGA)
Triangular array dapat berupa :
1. Upper Triangular
Semua elemen di bawah diagonal utama = 0
2. Lower Triangular
Semua elemen di atas diagonal utama = 0
SPARSE ARRAY
Suatu array yang sangat banyak elemen nol-nya dikenal sebagai sparse array.
STACK(TUMPUKAN)
LINIER LIST
Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen;
jumlah elemen di dalam list dapat berubah-ubah.
Linier list A yang terdiri dari T elemen pada waktu t, dinotasikan sebagai :
A = [ A1, A2, ..., AT]
Jika T = 0, maka A disebut “Empty List” atau “Null List”
Contoh :
1. File, dengan elemennya berupa record
2. Buku telepon
3. Stack
4. Queue
5. Linear link list
STACK
Stack adalah suatu bentuk khusus dari linier list, dengan operasi penyisipan dan
penghapusan dibatasi hanya pada satu sisinya, yaitu puncak stack (TOP).
Elemen teratas dari stack dinotasikan sebagai TOP(S).
Untuk stack S, dengan S = [S1, S2, S3, ..., ST] maka TOP(S) = ST
Jumlah elemen di dalam stack kita notasikan dengan NOEL(S).
NOEL(S) menghasilkan nilai integer.
Untuk stack S = [S1, S2, S3, ..., ST] maka NOEL (S) = T.
Operator penyisipan (insertion) : PUSH
Operator penghapusan (deletion) : POP
Operasi stack : LIFO (Last In First Out), yaitu : yang terakhir masuk yang
pertama keluar.
Jika ada NOEL elemen didalam stack, maka elemen ke NOEL merupakan
elemen puncak (TOP).
Empat operasi dasar yang berlaku pada stack :
1. CREATE(stack)
2. ISEMPTY(stack)
3. PUSH(elemen, stack)
4. POP(stack)
CREATE
adalah operator yang menunjukkan suatu stack kosong dengan nama S.
ISEMPTY
adalah operator yang menentukan apakah stack S kosong.
PUSH
adalah operator yang menambahkan elemen E pada puncak stack S.
Hasilnya merupakan stack yang lebih besar.
POP(stack)
adalah operator yang menghapus sebuah elemen dari puncak stack S.
Hasilnya merupakan stack yang lebih kecil.
APLIKASI STACK
Notasi Postfix
Contoh :
Notasi Infix : ((A+B) * C/D+E^F)/G;
QUEUE (ANTRIAN)
Suatu bentuk khusus dari linear list, dengan operasi penyisipan
(insertion) hanya diperbolehkan pada salah satu sisi, yang disebut
REAR, dan operasi penghapusan (deletion) hanya diperbolehkan
pada sisi yang lainnya, yang disebut FRONT dari list.
Antrean Q = [Q1, Q2, ... , QN]
Front(Q) = Q1 bagian depan antrean
Rear(Q) = QN bagian belakang antrean
Noel(Q) = N jumlah elemen dalam antrean
Operasi Antrean : FIFO (First In First Out)
Elemen yang pertama masuk merupakan elemen yang pertama
keluar.
Operator : Penyisipan : Insert
Penghapusan : Remove
Empat operasi dasar antrean, yaitu :
1. CREATE
2. ISEMPTY
3. INSERT
4. REMOVE
1. CREATE (Q)
Operator yang menunjukkan suatu antrean hampa Q.
2. ISEMPTY (Q)
Operator yang menunjukkan apakah antrean Q hampa.
Operand : tipe data antrean
Hasil : tipe data Boolean
3. INSERT (E, Q)
Operator yang menginsert elemen E ke dalam antrean Q.
E ditempatkan di bagian belakang antrean.
Hasil : antrean yang lebih besar.
4. REMOVE (Q)
Operator yang menghapus elemen bagian depan dari antrean Q.
Hasil : antrean yang lebih pendek.
Pada setiap operasi, Noel (Q) berkurang 1 dan elemen ke-2
menjadi elemen terdepan.
PENYAJIAN DARI ANTREAN
1. One Way List (Linear Linked List)
2. Array
ALGORITMA
1. QINSERT (Memasukkan data ke dalam suatu antrean)
Memeriksa kemungkinan terjadi overflow, yakni dengan melihat
apakah antrean tersebut terisi penuh.
2. QDELETE (Menghapus elemen depan dari antrean)
Memeriksa kemungkinan terjadi underflow, yakni dengan melihat
apakah antrean tersebut kosong.
GRAPH
Untuk melihat ulasan materi graph bisa melihat di link bawah ini:
Saya sedikit menjelaskan bagaimana cara membuat grafik menggunakan paint.
Cekidotttt:)
http://www.scribd.com/doc/152045940/2KA20-MAISAROH-14111257
Dan untuk melihat ulasan materi algoritma graf djkstra bisa buka link dibawah ini:
Algoritma Graf Djikstra, (Universitas Gunadarma)
Referensi:
http://detty.staff.gunadarma.ac.id/Downloads/folder/0.5
Tidak ada komentar:
Posting Komentar