Mouse

Selasa, 27 Februari 2018

2-Pengertian Linked List dan Penggunaan Linked List - Kelvin Ricadson-2101691101



Pengertian Linked List dan Penggunaan Linked List
Linked list adalah sekumpulam elemen bertipe sama,yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian Linked list juga merupakan suatu cara untuk menyimpan data dengan struktur sehingga dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data yang diperlukan. Struktur ini lebih dinamis karena banyaknya elemen dengan mudah ditambah atau dikurangi,berbeda dengan array yang ukurannya tetap. Berikut gambaran kecil mengenai linked list :
                             
Didalam Linked list terdapat beberapa  bagian yaitu :

1.    Single Linked List
Single Linked List Circular (SLLC) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next node pada node terakhir akan menunjuk ke node terdepannya. Berikut contoh gambaran kecil mengenai Single Linked List,


 
Contoh Codingan Single Linked List , yaitu :
struct tnode *curr = head;
// if x is in head node
if ( head->value == x ) {
               head = head->next;
               free(curr);
}
// if x is in tail node
else if(tail->value == x){
               while(curr->next!=tail) curr = curr->next;
               free(tail); tail = curr;
               tail->next = NULL;
}
// if x is not in head node, find the location
else {
               while ( curr->next->value != x ) curr = curr->next;
               struct tnode *del = curr->next;
               curr->next = del->next;
               free(del);
}

2.    Double Linked List
Pengertian secara umumnya DLLC itu Linked List yang menggunakan pointer, dimana setiap node memiliki 3 field,yaitu :
1.      Field pointer yang menunjuk pointer berikutnya “next”,
2.      Field menunjuk pointer sebelumnya “prev”,
3.      Field yang berisi data untuk node tersebut.
Double Linked List Circular pointer next dan prev nya menunjuk kedirinya sendiri secara circular.
Bentuk Node DLLC,






Polynomial Representation
Polinomial atau suku banyak adalah pernyataan matematika yang melibatkan jumlahan perkalian pangkat dalam satu atau lebih variabel dengan koefisien.Sebuah Polinomial dalam satu variabel dengan koefisien  yang konstan.

Circular Linked List
Circular Linked List merupakan suatu linked list dimana tail (node terakhir) menunjuk ke head (node pertama). Jadi tidak ada pointer yang menunjuk NULL Ada 2 jenis Circular Linked List,yaitu :
·        Circular Single Linked List



·        Circular Double Linked List

 

Header Linked List

Header Linked List adalah tipe khusus linked list yang berisi node header di awal daftar. Jadi, dalam sebuah header linked list,start(L) tidak akan mengarah ke simpul pertama dari daftar tapi start (L) akan berisi alamat simpul header.

Selasa, 20 Februari 2018

1-Structure Data,Array,&Linked List-Kelvin Ricadson-2101691101



STRUCTURE DATA
          Struktur data adalah cara menyimpan atau merepresentasikan data didalam 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 :
                Type data sederhana:
·        Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter.
·        Type data sederhana majemuk, misalnyaString
                Struktur Data meliputi :
·        Struktur data sederhana, misalnya array dan record.
·        Struktur data majemuk, yang terdiri dari:
Linier : Stack, Queue, sertaList dan Multilist
Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat didalam 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:
      1. List linier(Linked List)
      2.Array
3.Stack(Tumpukan)
4.Queue(Antrian).
5.Binary Tree
6.Hash Table
     
LINKED LIST
Linked List adalah salah satu bentuk struktur data, berisi kumpulan data
(node) yang tersusun secara sekuensial, saling sambungmenyambung,
dinamis dan terbatas.
- Linked List sering disebut juga Senarai Berantai
- Linked List saling terhubung dengan bantuan variabel pointer
- Masing-masing data dalam Linked List disebut dengan node (simpul) yang
menempati alokasi memori secara dinamis dan biasanya berupa struct
yang terdiri dari beberapa field.


ARRAY
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Array juga merupakan konsep yang penting dalam pemrograman, karna array memungkinkan kita untuk menyimpan data dalam jumlah banyak dan terindeks.
Array sendiri ada yang disebut array 1 dimensi dan array 2 dimensi . Dari namanya saja sepertinya sudah bisa kita tebak maksud dan perbedaan keduanya.
Menurut dimensinya, array dapat dibedakan menjadi :
1.     Array berdimensi satu
·       Setiap elemen array dadpat diakses melalui index.
·       Index array secara default dimulai dari 0.
·       Deklarasi array : Tipe_array nama_array[ukuran].
2.     Array berdimensi dua
·       Array dua dimensi merupakan array yangg terdiri dari m buah baris dan  buah kolom. Bentuknya dapat berupa matriks atau tabel.
·       Deklarasi array : Tipe_array nama_array[baris][kolom].
3.     Array multidimensi
·       Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua.Bentuk Pendeklarasian arrray multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.
·       Deklarasi array : Tipe_array nama_array [ukuran 1][ukuran 2] …. [ukuran N].
~ Perbedaan array dengan tipe data lain :
1.     Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai saja.
2.     Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja.
3.     Selain itu, array dapat berupa  satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.

STACK
Stacks dalam bahasa c biasanya disebut sebagai tumpukan(First in last out or Last in first out),misalnya bola bulu tangkis yang kita beli  pada saat kita ,w memainkannya  makanya kita haru mengambil satu persatu kan ?? ga mungkin kita ngambilnya dari tengah .
QUEVE
Queve dalam bahasa c di istilah kan sebagai antrian (First in first out) ,misalnya dalam pengantrian bank tidak mungkin terakhir datang pertama keluar.Jadi ,kita harus mengantri antara satu persatu.
BINARY TREE
        Binary search tree merupakan sebuah metode pencarian menggunakan tree atau bentuk pohon. binary tree hanya dapat mengorganisasi hirarki dengan 2 child. implementasi binary tree dilakukan dengan mendefinisikan linked list, masing masing node terdiri dari 3 bagian yakni pointer kanan, data info, pointer kiri

tulisan variabel yang berada di tengan merupakan info dari node tersebut dan lingkaran kecil yang berada di kanan dan kiri merupakan sebuah pointer yang menghubungkan ke anak atau child di bawahnya.

berikut adalah pseudecode  dalam membuat algoritma binary search tree




HASH TABLE
Hash Table adalah struktur data yang menyimpan data secara asosiatif. Dalam tabel hash, data disimpan dalam format array dimana setiap nilai data memiliki nilai indeks uniknya sendiri. Akses data menjadi sangat cepat, jika kita mengetahui indeks dari data yang diinginkan


POINTER
Pengertian Pointer
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain.Alamat ini merupaka lokasi dari obyek lain (biasanya variabel lain) di dalam memori.
Contoh: jika sebuah memori berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua.
Operator Pointer ada dua, yaitu :
Pointer dan Array(Pointer to Array),hubungan antara pointer dan array pada bahasa c sangatlah erat, sebab sesungguhnya array secara internal akan diterjemahkan dalam bentuk pointer.

(&) -> Operator disamping digunakan untuk menunjuk ke alamat memory yang ada.
(*)-> Operator di samping digunakan untuk mengakses secara langusng nilai yang terdapat     dalam variabel yang berpointer.
Pertanyaan dari Dosen :
~ Apa itu Deklarasi ??
Deklarasi adalah menyadiakan suatu tempat yang dapat digunakan untuk menyimpan angkayang akan digunakan dalam suatu perhitungan. Dalam pendeklrasian dalam bahasa C dapat
dilakukan dengan dua cara yaitu dengan menggunakan variabel Dan konstanta.

~ Berapa contoh komponen-komponen data structure yang memenuhi ?
1.     Array
2.     Linked list
a.      Single linked list
b.     Double linked ists
3.     Queues(antrian)
First int first out
4.     Stacks(tumpukan)
a.      LIFO(Last In First Out)
b.     FILO(First In Last Out)
5.     Binary trees
6.     Hash tables

            ~ Apa bedanya single pointer sama double pointer dan berapa banyak bintangnya ?           
Menurut saya single pointer itu yang pointernya Cuma satu sedangkan double pointer itu pointernya ada dua.
            Contoh:
            #include<stdio.h>
            Int main()
{
                        Int a=10;
                        Int *b=&a;
                        Int **c=&b;
           
                        Printf(“%d”,c);
           
                        getchar();
                        return 0;
            }

                        Biar lebih ngerti atau lebih jelas kalian boleh mencoba sendri code yang diatas.s

5 - Tree dan Binary Search Tree - Kelvin Ricadson - 2101691101

TREE DAN BINARY SEARCH TREE TREE Merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat ...