Pages

Sabtu, 06 Juli 2013

Struktur Organisasi Data

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)



 Ada beberapa contoh soal dari materi yang saya terangkan di atas, untuk download materinya :
    1. ClickHere..!!
    2. ClickHere..!!


           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