Sabtu, 06 Juli 2013

V-CLASS M3 ULASAN MATERI SOD2

Saya akan menjelaskan ringkasan materi SOD (struktur organisasi data) yang dalam semester 4 saya pelajari.
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 Data
1. 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 DUA
Memori komputer adalah linier.
Pelinieran array dimensi banyak dengan cara :
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

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