REPRESENTASI FISIK LIST LINEAR

Slides:



Advertisements
Presentasi serupa
Stack, Larik dan Pointer
Advertisements

Double Linked List.
Single linked list.
STRUKTUR DATA (7) single linked list circular
STRUKTUR DATA (8.1) double linked list non circular
Pertemuan 2 STRUKTUR DATA LINKED LIST
Mata Kuliah : Struktur Data Pertemuan : V
LINKED LIST Single Linked List.
LINKED LIST.
Linked List Pembuatan Simpul Awal.
Algoritma dan Struktur Data Daniel Riano Kaparang.
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2010
Queue.
Tree Yuliana S.
Pointer Variabel pointer sering disebut sebagai variabel yang menunjuk obyek lain, karena variabel pointer atau pointer adalah variabel yang berisi alamat.
Algoritma & Struktur Data Pointer Evangs Mailoa.
STRUKTUR DATA (6) single linked list non circular
Operasi pada pohon biner
Single Linked List Yuliana Setiowati, S.Kom.
Alokasi Memori Yuliana Setiowati.
Pemrograman Dasar Pointers.
Algoritma & Struktur Data Linked List Evangs Mailoa.
LINKED LIST by Yohana N.
Struktur Data List Linear : Linked List (Double Linkedlist)
Algoritma dan Struktur Data
Algorithm and Data Structures.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Pertemuan ketujuh Struktur data st3telkom.ac.id
Algoritma dan Struktur Data
Struktur Data List Linear : Linked List (Single Linkedlist)
POINTER.
LINKED LIST.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Struktur Data (Data Structure) – IS 2313
1 Pertemuan 3 Data Komposit Linked list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Algoritma dan Struktur Data
LINK LIST “Suatu cara menyimpan data dengan terstruktur sehingga programmer dapat secara otomatis menciptakan suatu tempat baru didalam memori komputer.
Pertemuan 9 Stack dengan Linked-list
Universitas Budi Luhur
ADT DINAMIS : SINGLY LINKED LIST DAN DOUBLE LINKED LIST
Struktur Data Linked List
STRUKTUR DATA Linked List Oleh : Yuli Praptomo PHS, S.Kom.
Defri Kurniawan POHON DAN POHON BINER Defri Kurniawan
Single Linked List.
Defri Kurniawan ADT STACK Defri Kurniawan
Informatique Engineering Ahmad Dahlan University May 17, 2004
Defri Kurniawan QUEUE Defri Kurniawan
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
Algoritma dan Struktur Data
BAB 5 TREE (Pohon) 179.
Defri Kurniawan DOUBLE LINKED LIST Defri Kurniawan
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
Struktur Data – Pertemuan 4 List Linier
Struktur Data Khoiriya Latifa, M.Kom.
Stack.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
STRUKTUR DATA (7) single linked list circular
Defri Kurniawan, M.Kom Pertemuan I Defri Kurniawan, M.Kom
Linked List 6.3 & 7.3 NESTED LOOP.
Algoritma dan Struktur Data
Single Linked List Circular (SLLC)
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
STRUKTUR DATA (8.2) double linked list circular
Defri Kurniawan VARIASI LIST Defri Kurniawan
Variable Static & Linked List
Defri Kurniawan LIST REKURSIF Defri Kurniawan
SINGLE LINKED LIST (SLL)
Defri Kurniawan POINTER Defri Kurniawan
Transcript presentasi:

REPRESENTASI FISIK LIST LINEAR Defri Kurniawan Defri.kurniawan@dsn.dinus.ac.id

RENCANA KEGIATAN PERKULIAHAN SEMESTER W Pokok Bahasan 1 ADT Stack 2 ADT Queue 3 List Linear 4 5 6 Representasi Fisik List Linear 7 Variasi List Linear 8 Ujian Tengah Semester W Pokok Bahasan 9 Variasi List Linear 10 11 Stack dengan Representasi List 12 Queue dengan Representasi List 13 List Rekursif 14 Pohon dan Pohon Biner 15 Multi List 16 Ujian Akhir Semester

Representasi Berkait dengan Pointer Content Application Memory Representasi Berkait dengan Pointer

Application Memory

Application Memory Heap / Free Store Stack Static / Global Code (Text) Memori yang dialokasikan pada sebuah program/aplikasi umumnya dibagi menjadi 4 bagian : Heap / Free Store Stack Static / Global Code (Text) Memory yang dapat di request selama program berjalan Menyimpan semua informasi tentang Pemanggilan fungsi untuk menyimpan semua Variabel lokal Menyimpan variable global selama program berjalan Menyimpan semua perintah yang akan Dijalankan / dieksekusi

Application Memory Heap / Free Store Stack Static / Global Code (Text) Memori yang dialokasikan pada sebuah program/aplikasi umumnya dibagi menjadi 4 bagian : Heap / Free Store Stack Static / Global Code (Text) Bersifat dinamis : ukukran memory dapat Berubah ketika program dijalankan Bersifat statis : Ukuran memori ditentukan ketika kompilasi ukuran memori tidak dapat berubah

Application Memory Heap / Free Store Stack Static / Global Code (Text) Memori yang dialokasikan pada sebuah program/aplikasi umumnya dibagi menjadi 4 bagian : Heap / Free Store Stack Static / Global Code (Text) Contoh : Penggunaan malloc pada bahasa C untuk Mengalokasikan sejumlah memory ketika Program dijalankan

Application Memory Fungsi Malloc Malloc adalah fungsi untuk mengalokasikan memory Prototipe dari fungsi malloc adalah : Void *malloc (size_t size);

Application Memory Contoh dari malloc() : int *x; x = (int*) malloc (3 * sizeof(int)); if(x==NULL) { printf(“Error di malloc\n”); exit(0); } else { printf(“Lakukan operasi memori dinamis”); }

Application Memory Tipe data dan ukuran memori x = (int*) malloc (3 * sizeof(int)); Mengalokasikan memori sebanyak 12 byte Tipe Data Ukuran Memory (Byte) Char 1 Float 4 Double 8 Int

Application Memory Alokasikan ruang memori untuk tipe data double berukuran 8 byte P = (double*)malloc(8);

Representasi Berkait dengan Pointer

Representasi Berkait dengan Pointer struct node { int data; struct node * next; }; typedef struct node List; List* head;

Representasi Berkait dengan Pointer void insertN(int data,int p){ //fungsi insert Node List* curr1 = (List*)malloc(sizeof(List)); curr1->data = data; curr1->next = NULL; if(p==1){ //jika menambahkan Node di awal curr1->next=head; head=curr1; return; } List* curr2 = head; int j; for(j=0;j<p-2;j++){ curr2 = curr2->next; curr1->next=curr2->next; curr2->next=curr1;

Representasi Berkait dengan Pointer int main (){ } Stack Heap main() Global

Representasi Berkait dengan Pointer int main (){ head = NULL; } Stack Heap main() Global Head =NULL

Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); } Stack Heap insertN(2,1) data = 2 p = 1 curr1=100 main() 100 2 NULL Global Head =100

Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); } Stack Heap insertN(3,2) data = 3 p = 2 curr1=150 150 curr2=100 3 NULL main() 100 2 NULL Global Head =100

Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); } Stack Heap insertN(3,2) data = 3 p = 2 curr1=150 150 curr2=100 3 NULL main() 100 2 150 Global Head =100

Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); insertN(4,1); } Stack Heap insertN(4,1) 200 data = 4 p = 1 4 NULL curr1=200 150 3 NULL main() 100 2 150 Global Head =100

Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); insertN(4,1); } Stack Heap insertN(4,1) 200 data = 4 p = 1 4 100 curr1=200 150 3 NULL main() 100 2 150 Global Head =200

Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); insertN(4,1); insertN(5,2); } Stack Heap 250 5 NULL insertN(5,2) 200 data = 5 p = 2 4 100 curr1=250 150 curr2=200 3 NULL main() 100 2 150 Global Head =200

Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); insertN(4,1); insertN(5,2); } Stack Heap 250 5 100 insertN(5,2) 200 data = 5 p = 2 4 250 curr1=250 150 curr2=200 3 NULL main() 100 2 150 Global Head =200

Stack Heap int main() { head = NULL; insertN(2,1); insertN(3,2); } 250 5 100 200 4 250 150 3 NULL 100 main() 2 150 Global Head =200

Contoh Program List Linier

List Linier struct node{ int data; struct node* next; }; typedef struct node Node; Node* head;

List Linier /*Penambahan depan*/ void inserth(int x){ Node* temp=(Node*)malloc(sizeof(Node)); temp->data=x; temp->next=head; head=temp; }

List Linier /*Cetak */ void print(){ Node* temp=head; printf("List of number : "); while(temp!=NULL){ printf(" %d ", temp->data); temp= temp->next; } printf("\n\n");

List Linier int main() { head=NULL; int n,i,x; printf("How many number? \n"); scanf("%d",&n); for(i=0;i<n;i++){ printf("enter number : "); scanf("%d",&x); inserth(x); print(); } return 0;

List Linier Tampilan Program

TERIMA KASIH