Data Structures Pertemuan 1

Data stuktur ialah sebuah cara penyusunan, penyimpanan dan pengaturan data dalam computer sehingga data dapat digunakan secara efisien.

 

Struktur data terdiri dari:

  1. Static memory allocation (array)
  2. Dynamic memory allocation (linier dan non linier)

 

Contoh struktur data yang biasa digunakan:

Array

Linked list

Queue

Stacks

binary tree


 

  • ARRAY

-bersifat homogen (memilki tipe data yang sama)

-merupakan kumpulan data yang sejenis

-bisa diakses dengan mudah (contoh: nama[1])

-indeksnya dimulai dari nol “0”

-array juga memiliki alamat yang saling bersebelahan

Screen Shot 2016-02-28 at 5.40.17 PM

1. Store value di array

-inisialisasi

contoh:  int angka[2]={1,2};

 

-input value

contoh:

alamat[10];

for (int i=0; i<10; i++)

scanf(“%d”, &alamat[i]);

 

-assign value

contoh:

int i, arr1[10], arr2[10];

for(i=0; i<10; i++)

arr2[i] = arr1[i];

 

2. Operasi dalam array

Traversal=>passing nilai

Insertion=>memasukkan nilai ke dalam array

Searching=>mencari dalam alamat array\

Deletion=>menghapus

Merging=>menggabungkan array yang satu dengan yang lainnya

Sorting=>mengurutkan array

 

3. Pointer(bersaudaraan dengan array)

Dimana kita memerintahkan pointer untuk menunjuk kepada alamat daru suatu array.

Contoh:

Int a;

Int *b;

b=&a;

maka apabila a mengalami perubahan nilai, b juga akan berubah nilainya menikuti a.

 

*   =single pointer (menunjuk kepada alamat sebuah array)

**  =double pointer yang menunjuk ke pointer

*** =triple pointer yang menunjuk ke double pointer

dan seterusnya.


 

  • LINKED LIST

Merupakan dynamic data struktur, dan setiap elemennya dinamakan node.

Linked list merupakan suatu tipe data yang bersifat acak, berbeda dengan array yang memiliki alamat yang bersebelahan, linked list memiliki alamat yang bersifat berjauhan.

Screen Shot 2016-02-28 at 5.32.20 PM

 

Diilustrasikan melalui gambar diatas, dimana kotak a tidak bias ;angsung mengakses data ke D, namun harus secara bertahap dimana A harus melalui B dan C untuk dapat mengakses ke D.

 


 

  • QUEUE

Elemen yang pertama kali dimasukkan lah yang merupakan elemenyang pertama kali keluar.

Screen Shot 2016-02-28 at 5.37.16 PM

Ketika orang pertama maju, maka front akan berpindah kepada orang ke 2, dan begitulah seterusnya sampai kepada front bertemu dengan rear maka proses tersebut berhenti.

 

  • Circular queue

Screen Shot 2016-02-28 at 5.32.28 PM

Memilliki proses yang sama dengan queue biasa namun perbedaannya terletak kepada: circular queue memiliki kelebihan untuk dapat mulai dari awal lagi setelah front bertemu dengan rear, sehgingga proses tidak angsung berhenti ketika front telah bertemu dengan rear.

 

  • Priority queue

Memiliki proses yang sama juga dengan queue biasa, namun yang memiliki priotitas lah yang merupakan elemen yang pertam kali akan masuk.

Diilustrasukan seperti: ketika antrian di rumah sakit sedang sangat panjang, dan salah seorang yang berada di antrian terakhir merupakan ibu2 yang sedang hamil dan perutnya sudah berkontraksi, maka ibu2 tersebut berhak untuk diprioritaskan untuk tidak mengantri lebih lama lagi.


 

  • STACKS

Stacks dapat direspresentasikan sebagai array linier

Terdiri atas lifo dan filo

Dimana

Lifo(Last In First Out)/fifo(First In Last Out)=>yang terakhir masuk lah yang keluar duluan, dapat diilustrasikan sebagai sebuah beton yang ditumpuk, maka tdak mungkinkan untuk mengeluarkan beton paling bawah terlebih daahulu, namun kita harus mengeluarkannya dari yang paling atas.


 

  • BINARY TREES

Screen Shot 2016-02-28 at 5.32.33 PM

  • BT

Tree yang dimana kita bebas dalam memasukkan angkanya

  • BST

Tree dimana angka yang terletak di cabang sebelah kiri haruslah lebih kecil dan yang di sebelah kanan harus lebih besar.


 

  • DATA TYPE

Merupakan tipe tipe data yang terdapat dalam pemrograman seperti

1. Integer:

Byte

Shortint

Integer

Word

Longint

 

2. Real:

Real

Single

Double

Extended

Comp

 

3. Char


 

  • ABSTRACT DATA TYPE

Merupakan proses representasi data dan program dalam bentuk sama dengan pengertiannya, dengan menyembunyikan rincian dari implementasi.

 

Seperti contohnya pada c dan c++ memiliki yang disebut struct dan class.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

Leave a Reply