STRUKTUR ORGANISASI DATA 2

Terbaru99 Dilihat

Muhammad Dary Raihan

14118528 / 3KA14

 

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
  2. Struktur Data, meliputi :
    – 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,

– 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. 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. 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

 

  1. 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. 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

  • Create
  • Untuk menciptakan dan menginisialisasi Queue
  • Dengan cara membuat Head dan Tail = -1

 

  • 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

 

  • 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

 

  • 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

 

  • 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

 

  • 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

 

  • Tampil
  • Untuk menampilkan nilai-nilai elemen Antrian
  • Menggunakan looping dari head s/d tail

 

BAB 5. 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

 

Tinggalkan Balasan