SOD 2
(STRUKTUR ORGANISASI DATA 2)
Struktur Organisasi Data 2 (SOD 2) adalah sebuah mata kuliah yang menjelaskan
tentang
Ø Type – type data (Struktur Data).
Ø Queue (Antrean).
Ø Graph.
Di postingan
saya kali ini akan menjelaskan mengenai Type
data, Queue dan Graph.
Sebelum di mulai, ya mungkin bisa kali perkenalan dulu, buat tidak kaku
yang baca postingan ini. :D.. Nama saya Indra GB, biasa di panggil Indra/
Ghibhay. Saya menuntut ilmu di UNIVERSITAS GUNADARMA, Jurusan SISTEM INFORMASI.
Postingan ini
saya dapat saat pelajaran (Struktur Organisasi Data 2)
Silahkan Baca
dengan teliti ya.. ;D..
Materi yang
pertama akan saya sampaikan adalah Type
Data :
<Materi Pertama>
Type – Type data (Struktur Data).
Struktur
data adalah suatu koleksi atau kelompok data yang di karakterisasikan oleh
organisasi serta operasi yang didefinisikan terhadapnya. Struktur data juga dapat di artikan sebagai 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.
A.
Alogaritma
Alogaritma adalah barisan langkah” untuk menyelesaikan sebuah program
yang inputnya adalah sebuah data. Sebuah program belum tentu alogaritma. Sebuah
alogaritma harus bisa di implementasikan sebuah program.
Jadi
Kesimpulannya “Struktur Data &
Alogaritma = Program”.
Data secara
umum dapat di kategorikan atas :
1. Type Data Sederhana
a. Tunggal : Integer,
real, Boolean dan Karakter
b. Majemuk : String
2. Struktur Data
a. Sederhana : Array,
Record
b. Majemuk :
§ Linier : Linked link list, Stack, Queue
§ Non- Linier : Bineri tree, General Tree, Tree, Graf
A.
Integer
Istilah “INTEGER” digunakan
untuk merujuk kepada tipe data apapun yang
merepresentasikan
bilangan bulat, atau beberapa bagian dari bilangan bulat. Disebut juga sebagai
Integral Data Type. INTEGER adalah
nilai bilangan bulat seperti dalam matematika. Representasi data ini merupakan
cara bagaimana nilainya disimpan di dalam memori komputer.
Tipe data integer terbagi menjadi dua buah kategori, baik itu bertanda (signed) ataupun tidak bertanda (unsigned). Bilangan bulat bertanda
mampu merepresentasikan nilai bilangan bulat negatif, sementara bilangan bulat
tak bertanda hanya mampu merepresentasikan bilangan bulat positif. Operasi
dasar yang ada pada INTEGER adalah (
+ - * / ^ ).
Nama Besaran
dan Kapasitas pada INTEGER :
Ø Tipe Data Inreger
Ø Shortint, batas nilainya
-128 …127
Ø Integer, batas nilanya
-32768 ….32767
Ø Longint, batas nilainya
-2147483648 …2147483647
Ø Byte, batas nilainya 0…255
Ø Word, batas nilainya 0…65535
B.
REAL
REAL adalah bilangan yang berisi
titik desimal. Dalam Pascal paling sedikit harus ada satu digit sebelum dan
sesudah titik desimal, tidak boleh ada koma dan nilainya bisa positif atau
negatif.Dalam Turbo Pascal terdapat lima macam tipe real yaitu real, single,
double, extended dan comp seperti terlihat pada tabel di bawah ini. Operasi
dasar yang ada pada REAL adalah ( +
- * / ^ ).
Nama Besaran
dan Kapasitas pada REAL :
Ø real 2.9 x 10E-39..1.7 x
10E38 11-12 6
Ø single 1.5 x 10E-45..3.4 x
10e38 7-8 4
Ø double 5.0 x 10E-324..1.7 x
10E308 15-16 8
Ø extended 1.9 x 10E-4951..1.1
x 10E4932 19-20 10
Ø comp -2E63 + 1..2E63 – 1
19-20
C.
BOOLEAN
BOOLEAN adalah struktur aljabar
yang mancakup intisari operasi logika AND, OR dan NOT dan juga
teori himpunan untuk operasi union, interseksi dan komplemen. BOOLEAN juga suatu tipe data yang hanya
mempunyai dua nilai. Yaitu true atau false (benar atau salah).
Pada beberapa
bahasa pemograman nilai true bisa digantikan 1 dan nilai false digantikan 0.
1. Operator Logika (AND, OR dan NOT).
Ø Operator AND akan menghasilkan nilai true, jika
kedua operand bernilai true.
Ø Operator OR akan menghasilkan nilai true, jika
salah satu operand bernilai true.
Ø Operator NOT merupakan “Predence” dari operator AND dan OR.
Dalam suatu ekspresi yang
tidak menggunakan tanda kurung, Operator NOT
harus di evaluasi sebelum operator AND
dan OR
2. Operator Rasional , yaitu
(>, <, >=, <=, <> dan =)
Contoh
: 6 < 8 = True
9 > 8 = False
D.
STRING
STRING dalam pemrograman komputer
adalah sebuah deret simbol. Tipe data string adalah tipe data yang digunakan
untuk menyimpan barisan karakter. Barisan hingga karakter yang di bentuk oleh
suatu kumpulan dari karakter. Karakter yang membentuk suatu STRING di sebut alfabet. Dalam
penulisannya, STRING di aptit oleh “Aphostrop (‘ ‘ )”.
Contoh
Penulisan STRING pada program C :
#include
<stdio.h>
int main()
{
char s[100];
/* membuat string dengan panjang maksimum 99 karakter, karena karakter terakhir
harus null */
s = "Hello world";
printf("%s\n",
s);
}
<Materi Kedua>
E.
ARRAY
ARRAY adalah
kumpulandarinilai-nilai data bertipe sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama Nilai-nilai data disuatu array disebut dengan
elemen-elemen array Letak urutan dari elemen-elemen array di tunjukkan oleh
suatu subscript atau indek.
Deklarasi ARRAY
Didalam penulisan bahasa pemograman setiap penggunaan array harus dideklarsikan
terlebih dahulu. Pendeklarasian array diawali dengan nama variabel array
diikuti dengan indeks array yang dituliskan didalam tanda “[]” , diikuti dengan kata cadangan of dan tipe data yang
dibutuhkan.
Bentuk Umum Penulisan :
Tanda_pengenal : array
[..tipe index ..] of tipe data;
1.
Array Berdimensi Dua
ARRAY berdimensi satu dapat
disimpan pada sebuah ARRAY
berdimensi dua. Pendeklarasian ARRAY
berdimensi dua adalah sebagai berikut :
int
data_lulus[4][3];
Nilai
4 untuk menyatakan banyaknya baris dan 3 menyatakan banyaknya kolom. untuk
memudahkan pemahaman tentang array berdimensi dua.
80
540 1032
15
83 301
8 12
15
10
129 257
int
data_lulus[4][3];
ARRAY berdimensi dua Sama halnya pada ARRAY berdimensi satu, data array aka ditempatkan pada memori
yang berurutan.
2.
Array Berdimensi Banyak
ARRAY Dimensi
Banyak memungkinkan untuk membuat ARRAY
yang dimensinya lebih dari dua. Bentuk umum pendeklarasian ARRAY berdimensi banyak :
tipe
nama_var[ukuran 1][ukuran2}…[ukuranN];
sebagai
contoh :
int
data_huruf[2][8][8];
<Materi keTiga>
F.
STACK (TUMPUKAN)
STACK adalah sebuah kumpulan data
dimana data yang diletakkan di atas data yang lain. Dengan demikian stack
adalah struktur data yang menggunakan konsep LIFO. Dengan demikian, elemen terakhir yang disimpan dalam stack
menjadi elemen pertama yang diambil. Dalam proses komputasi, untuk meletakkan
sebuah elemen pada bagian atas dari stack, maka kita melakukan push. Dan untuk
memindahkan dari tempat yang atas tersebut, kita melakukan pop.
Pada saat ukuran stack, kalau kita teruskan menambah data lagi, akan
terjadi overflow. Dengan demikian
perlu data tambahan untuk mencatat posisi ujung STACK. Dengan kebutuhan seperti ini, kita dapat menyajikan stack
dengan menggunakan tipe data struktur (struct)
yang terdiri dari dua field. Field pertama bertipe array untuk
menyimpan elemen stack, medan kedua bertipe integer untuk mencatat posisi ujung
STACK.
Ketrangan –Keterangan pada materi STACK.
Ø Elemen teratas pada STACK di notasikan sebagai TOP(S).
Ø Jumlah Elemen didalam suatu STACK di notasikan sebagai NOEL(S).
Ø Operator Penyisipan
(insertion) : PUSH.
Ø Operator Penghapusan
(Deletion) : POP.
Terdapat Empat operasi dasar
pada STACK :
1. CREATE (Stack)
2. ISEMPTY (Stack)
3. PUSH(Elemen, Stack)
4. POP(Stack)
Definisi dari
ke-Empat operasi dasar pada STACK:
1.
CREATE
Create
adalah operator yang menunjukan suatu stack kosong pada S
Contoh : NOEL(CREATE(S))=0
TOP (CREATE(S)) adalah TIDAK TERDEFINISI.
2.
ISEMPTY
Isempety
adalah operator yang menentukan apakah STACK(S)
kosong.
Operannya
terdiri dari type data STACK.
Hasilnya merupakan type daya BOOLEAN.
Contoh : ISEMPTY(S) = True. Jika S hampa,
yakin bile NOEL(S) = 0
3.
PUSH
Push
adalah Operator yang menambahakan Elemen E pada puncak STACK(S).
Hasilnya
merupakan STACK yang lebih besar.
Contoh : PUSH(E,S). E ditempatkan sebagai
TOP(S).
4.
POP(Stack)
Pop
adalah Operator yang menghapus Elemen E pada puncak STACK(S).
Hasilnya
merupakan STACK yang lebih kecil.
Contoh :
§ POP(S) mengurangi NOEL(S).
§ POP(CREATE(S)) -> Kondisi
Error.
§ POP(PUSH(E, S)) = S
Aplikasi Stack :
Notasi Postfix :
Contoh: Notasi Infix :
((A+B)*C/D+E^F)/G;
Simbol
Yang
diamati
|
(
|
(
|
A
|
+
|
B
|
)
|
*
|
C
|
/
|
D
|
+
|
E
|
^
|
F
|
)
|
/
|
G
|
;
|
TOP dari
STACK
|
(
|
(
(
|
(
(
|
+
(
(
|
+
(
(
|
(
|
*
(
|
*
(
|
/
(
|
/
(
|
+
(
|
+
(
|
^
+
(
|
^
+
(
|
/
|
/
|
||
OUTPUT
|
A
|
B
|
+
|
C
|
*
|
D
|
/
|
E
|
F
|
^+
|
G
|
/
|
<Materi KeEmpat>
G.
QUEUE (ANTREAN)
STACK (tumpukan) sebenarnya secara mudah dapat diartikan sebagai list (urutan) dimana penambahan dan
pengambilan elemen hanya dilakukan pada satu sisi yang disebut top (puncak) dari stack.
Dengan melihat definisi tersebut maka jelas bahwa pada STACK berlaku aturan LIFO (Last In First Out), yaitu elemen yang terakhir masuk akan pertama kali diambil
atau dilayani. Salah satu analogi yang dapat dikemukakan di sini adalah
tumpukan piring atau barang lain. Pada saat kita hendak menumpuk piring-piring
tersebut tentulah yang kita lakukan adalah meletakkan piring pertama pada
tempatnya, selsnjutnya meletakkan piring kedua di atas piring pertama dan
demikian seterusnya. Pada saat kita hendak mengambil satu piring dari tumpukan
tersebut, tentu yang diambil adalah piring teratas (yang terakhir kali ditaruh), bukan yang terbawah (yang pertama kali diletakkan).
Dua operasi dasar pada stack adalah PUSH (operasi pemasukan elemen ke dalam stack)
dan POP (operasi pengambilan satu elemen dari dalam stack). Di bawah ini diberikan contoh pemakaian operasi PUSH dan POP dan isi stack untuk setiap selesai eksekusi satu operasi.
Ø Operator yang ada pada QUEUE:
a. Penyisipan : Insert
b. Penghapusan : Remove
Ø Terdapat Empat Operasi dasar pada QUEUE
:
1.
CREATE
2.
ISEMPTY
3.
INSERT
4.
REMOVE
Ø Definisi dari ke-Empat Operasi dasar pada QUEUE.
1.
CREATE (Q)
Operator
yang menunjukan suatu antrean hampa Q.
Jadi
: NOEL (Q) = 0
FRONT (Q) & REAR (Q) = tiidak terdefinisi
2.
ISEMPTY (Q)
Operator
yang menunjukan apakah antrean Q hampa.
Operand : tidak ada antrean
Hasil : tipe data antrean
Contoh
: ISEMPTY(CREATE(Q)) = TRUE
3.
INSERT (E, Q)
Operator
yang menginput Elemen E pada antrean Q.
E
di tempatkan pada bagian belakang antrean.
Hasil : antrean yang lebih besar.
Contoh : REAR (INSERT (E, Q)) = E
4.
REMOVE
Operator
yang menghapus elemen pada bagian depan antrean Q.
Hasil
: antrean yang lebih pendek.
Contoh :NOEL (Q) = 0 maka Q = hampa.
<Materi KeLima>
H.
GRAPH
Graf atau istilah aslinya Graph merupakan struktur data yang
tersusun atas simpul-simpul atau titik-titik (Node) yang terhubung satu sama
lain dengan garis-garis, yang mana jumlah garis ini tidak tentu. Masing-masing
simpul diberi nama, lihat gambar contoh graf di bawah, nama-nama simpul adalah
abjad A, B, C, .. sampai dengan F. Dan juga masing-masing garis memiliki bobot
atau jarak, dalam gambar, bobot tersebut dinyatakan dengan abjad kecil a, b, c,
.. sampai dengan h.Karena Graf
memiliki dua unsur yang terpisah, yaitu garis
dan simpul, maka masing-masing dalam
program harus dinyatakan dalam struktur data yang berbeda.
Dalam Graph terdapat 2
Himpunan :
1.
Hinpunan V (Vertex) yang
elemennya di sebut simpul (atau point atau node atau titik)
2.
Hinpunan E (Edge) yang
merupakan pasangan tak urut dari simpul, anggotanya disebut ruas (rusuk atau
sisi).
3.
Banyaknya SIMPUL disebut
ORDER.
4.
Banyaknya RUAS disebut SIZE
Contoh dari GRAPH :
Graph G(V,E) dengan:
1. V Terdiri dari 4 simpul,
yaitu simpul A, B, C, D.
2. E terdiri dari 5 ruas, yaitu
e1 = (A, B) e2 = (B, C) e3 = (A, D)
e4 = (C, D)
e5
= (B,D)
Ya Cukup
segini postingan saya tentang “STRUKTUR
ORGANISASI DATA 2”. Jika ada kekurangan dalam materi yang saya posting
silahkan Comment... ;D..
Sumber yang saya dapat dari materi di atas :
Sumber :
ClickHere..!! Modul SOD2 Gunadarma.
Tidak ada komentar:
Posting Komentar