Selasa, 27 Februari 2018

Linked List Implementation I (L)


·     

Linked List Implementation I (L)





          Linked List
Linked List adalah struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpang alamat/referensi dari record selanjutnya.
·       Single Linked List
Tipe data dari Single Linked List harus sama, misalnya menggunakan char, maka tidak boleh menggunakan tipe data lain.
·      
Single Linked List : Insert
Untuk Insert (memasukan nilai baru), kita harus mengalokasikan node yang memberikan nilai dan menghubungkannya dengan list yang ada.
Single Linked List menu Insert terdapat 4 macam :
1. Penyisipan di depan
2. Penyisipan sebelum nodes
3. Penyisipan sesudah nodes
4. Penyisipan di belakang

Single Linked List : Delete
Pertama-tama kita harus mencari lokasi/letak dari nodes yang ingin kita hapus untuk menghapus sebuah nilai. Apabila sudah di dapatkan, hapus nilai tersebut dan hubungkan list yang tersisa.

Polynomial Representation
Polynomial terdiri dari 2 bagian, yaitu coefficient & power.

Circular Single Linked List
Circular Single Linked LIst adalah suatu linked list yang tidak memiliki nilai/NULL untuk medan sambungannya.

Doubly Linked List
Sama seperti Single Linked List yang memiliki sebuah pointer penghubung, tetapi untuk doubly linked list memiliki 2 pointer penunjuk arah yaitu ke arah sebelum node dan sesudah node.

Doubly Linked List : Insert
Sama seperti Single Linked List, kita alokasikan node dan menghubungkan dengan list yang ada.

Doubly Linked List : Delete
Terdapat 4 kondisi yang perlu diperhatikan ketika menghapus node :
1. Merupakan satu-satunya node yang ada di dalam linked list
2. Merupakan Head dari linked list
3. Merupakan Tail dari linked list
4. Bukan head atau tail dari linked list

Circular Doubly Linked List
Sama seperti Circular Single Linked List, tetapi yang membedakan adalah total pointer yaitu 2 pointer setiap node.

Header Linked List.
-> Header linked list merupakan header spesial yang terdiri dari node headernya. Jadi, linked list jenis ini tidak menunjuk pada node pertama (head) namun hanya menyimpan alamat dari node headernya.

PERTEMUAN PERTAMA - RIFQI FADHLULLOH - 2101712213



ARRAY

Array adalah sekumpulan beberapa data dengan tipe data yang sama. Data ini disimpan dalam bentuk indeks. Indeks sendiri selalu dimulai dari 0 sampa n-1. Array dibedakan menjadi berbagai dimensi sesuai dengan kebutuhannya.


1. Array 1 dimensi

Deklarasinya 
- int arr[5];

Bila dalam bentuk ini maka indeks tersebut dimulai dari 0 sampai 4. Sampai 4 karena nilai pada indeks ke 5 adalah null


bila :

- arr[0] = 3;
- arr[1] = 7;
- arr[2] = 4;
- arr[3] = 2;
- arr[4] = 6;

Maka nilai pada int arr indeks ke 0 adalah 3, pada int arr indeks ke 1 adalah 7 dan seterusnya.


2. Array 2 dimensi
Deklarasinya
- int arr[3][3];

Bila dalam bentuk ini maka indeks tersebut dimulai dari 0 sampai 2. Sampai 2 karena nilai pada indeks ke 3 adalah null. sedangkan bentuknya di tulis 2 kali karena fungsinya untuk bila [3] bagian pertama untuk menentukan panjang kolom sedangkan [3] yang kedua untuk menentukan panjang baris.


bila :

- int arr[3][3];

bentuknya :


         [0]      [1]      [2]


[0]      3        5        6


[1]      2        9        1


[2]      4        7        8


Maka nilai indeks pada kolom  ke 0 baris ke 0 adalah 3, nilai indeks pada kolom  ke 0 baris ke 1 adalah 5,nilai indeks pada kolom  ke 0 baris ke 2 adalah 6, dan begitu seterusnya.



3. Array multi dimensi
Deklarasinya
- int arr[3][4][5][6];

untuk mengaksesnya sama seperti array dimensi 1 dan array dimensi 2.



Macam - macam operasi yang dapat digunakan dalam array :
•  Traversal
•  Insertion
•  Searching
•  Deletion
•  Merging
•  Sorting

Pointer
pointer adalah tipe data yang nilainya mengacu pada nilai - nilai yang disimpan di tempat lain dalam memori komputer menggunakan alamatnya.

terdapat 2 operator yang digunakan
1. & = operator yang digunakan untuk menunjukan alamat
2. *  = operator yang digunakan untuk menunjukan nilai


Data Structure
Struktur data adalah susunan data, baik dalam memori komputer maupun pada penyimpanan disk.

beberapa contoh umum dari struktur data meliputi :
1. Array
2. Linked lists
3. Queues
4. Stacks
5. Binary trees
6. Hash tables

·        perbedaan antara single pointer dan double pointer adalah pointer hanya menunjuk target pointer sekali sedangkan double pointer akan menunjuk target pointer dua kali.

·        Perbedaan array 2 dimensi dan array 3 dimensi adalah jika array 2 dimensi dapat berbentuk matrix sedangkan 3 dimensi tidak dapat membentuk matrix karna terdiri dari 3 data.
·        Jumlah maksimum multidimensional array adalah 225.

·     
·