Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

REPRESENTASI FISIK LIST LINEAR

Presentasi serupa


Presentasi berjudul: "REPRESENTASI FISIK LIST LINEAR"— Transcript presentasi:

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


Download ppt "REPRESENTASI FISIK LIST LINEAR"

Presentasi serupa


Iklan oleh Google