Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
REPRESENTASI FISIK LIST LINEAR
Defri Kurniawan
2
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
3
Representasi Berkait dengan Pointer
Content Application Memory Representasi Berkait dengan Pointer
4
Application Memory
5
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
6
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
7
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
8
Application Memory Fungsi Malloc
Malloc adalah fungsi untuk mengalokasikan memory Prototipe dari fungsi malloc adalah : Void *malloc (size_t size);
9
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”); }
10
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
11
Application Memory Alokasikan ruang memori untuk tipe data double berukuran 8 byte P = (double*)malloc(8);
12
Representasi Berkait dengan Pointer
13
Representasi Berkait dengan Pointer
struct node { int data; struct node * next; }; typedef struct node List; List* head;
14
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;
15
Representasi Berkait dengan Pointer
int main (){ } Stack Heap main() Global
16
Representasi Berkait dengan Pointer
int main (){ head = NULL; } Stack Heap main() Global Head =NULL
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
Contoh Program List Linier
26
List Linier struct node{ int data; struct node* next; }; typedef struct node Node; Node* head;
27
List Linier /*Penambahan depan*/ void inserth(int x){ Node* temp=(Node*)malloc(sizeof(Node)); temp->data=x; temp->next=head; head=temp; }
28
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");
29
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;
30
List Linier Tampilan Program
31
TERIMA KASIH
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.