Selasa, 20 Februari 2018

01 - Introduction to Data Structure - 2101713241 - Claudia Anita M

Data Structure

Struktur data adalah cara menyimpan data-data pada memori komputer maupun file secara efisien. Disebut juga dengan jenis data kompleks.

Beberapa tipe data strukur:

  • Array
- Kumpulan element data yang memiliki tipe data yang sama.
  • Linked lists
- Bersifat dinamik, yang artinya element dapat ditambah atau dihapus secara mudah.
- Setiap element disebut dengan node.

  • Queues
- Elemen yang diinsert pertama akan dikeluarkan pertama juga. (First In, First Out)
- Seperti sistem antrian.
  • Stacks
- Elemen yang diinsert pertama, akan dikeluarkan terakhir. (Last In, First Out)
- Seperti sistem tumpukkan.


  • Binary Trees
- Binary trees adalah sebuah pohon struktur data di mana setiap simpul memiliki paling banyak dua anak.
- Setiap simpul terdiri dari pointer.
  • Hash Tables

Data Type

  • Abstract Data Type
Abstract Data Type (ADT) adalah tipe data yang diatur menggunakan struktur data tertentu sehingga spesifikasi data dan spesifikasi operasinya terpisah dari representasi dan implementasinya.
Contohnya, dalam bahasa C/C++ mempunyai konsep yang disebut dengan class dan struct yang merupakan implementasi dari ADT.




01 - Array dan Pointer - 2101713241 - Claudia Anita M

Array

Array adalah kumpulan dari elemen data yang mempunyai tipe data yang sama. Elemen dari array disimpan dalam lokasi memori yang berurutan yang dinamakan indeks. Indeks array dimulai dari nol.
Menurut dimensinya, array dapat dibedakan menjadi :
- Array berdimensi satu

  • Deklarasi array : tipearray namarray[ukuran];
Contohnya: int arr[5];
  • Setiap elemen array dapat diakses melalui indeks.
- Array berdimensi dua
  • Deklarasi array : tipearray namaarray[ukuran1][ukuran2];
Contohnya: int arr[2][6];
  • Array dua dimensi terdiri dari baris dan kolom. Bentuknya dapat berupa matriks atau tabel.
- Array multidimensi
  • Array multidimensi adalah array yang memiliki ukuran lebih dari dua.
  • Deklarasi array : tipe array namaarray[ukuran1][ukuran2][ukuran3][...];
Contohnya: int arr[4][8][6][10];
Bentuk pendeklarasian array sama saja dengan deklarasi array satu dimensi atau array dua dimensi.

Cara menyimpan nilai array:
- Insialisasi Array

  • Ketika membuat sebuah array, setiap elemen di dalamnya akan diinisialisasi dengan nilai default. Contohnya jika array di definisikan sebagai array dari tipe integer maka nilai defaultnya adalah nol.

Contoh: 
int marks[5] = {1,2,3,4,5};
- Inputting Values
  • Ketika kita memiliki variabel tipe array maka kita dapat merujuk pada elemen tertentu pada array dengan menentukan nama variabel dan indeks yang mewakili elemen dari array tersebut.
  • Dalam array, kita tidak bisa merujuk pada elemen array yang berada di luar batas ukuran maksimal indeks array.
Contoh:
int i, marks[10];
for(i=0; i<10; i++) scanf("%d", &marks[i]);

- Assigning Values
Contoh:
int i, arr1[10], arr2[10];
for(i=0; i<10; i++) arr2[i] = arr1[i];

Terdapat beberapa operasi pada array, yaitu: Traversal, Insertion, Searching, Deletion, Merging, Sorting.

Pointer

Pointer adalah sebuah variabel yang digunakan untuk sebagai penunjuk alamat dari variabel lain.
Operator yang digunakan dalam pointer adalah & dan *. & digunakan untuk menunjukkan alamat dari suatu nilai sedangkan * digunakan untuk menunjukkan nilai.
Contohnya sebagai berikut:

Jika kita mendeklarasi sebuah tipe data sebagai berikut:
int x; -> integer
int *px; -> pointer integer

Jika kita menentukan:
px = &x;

maka, nilai dari px adalah alamat dari x.