REPRESENTASI FISIK LIST LINEAR
Danang Wahyu Utomo
[email protected] +6285 740 955 623
Danang Wahyu Utomo, M.Kom, M.CS
RENCANA KEGIATAN PERKULIAHAN SEMESTER W
Pokok Bahasan
W
Pokok Bahasan
1 ADT Stack
9
Variasi List Linear
2 ADT Queue
10 Variasi List Linear
3 List Linear
11 Stack dengan Representasi List
4 List Linear
12 Queue dengan Representasi List
5 List Linear
13 List Rekursif
6 Representasi Fisik List Linear
14 Pohon dan Pohon Biner
7 Variasi List Linear
16 Ujian Akhir Semester
15 Multi List
8 Ujian Tengah Semester
Danang Wahyu Utomo, M.Kom, M.CS
Content
Application Memory
Representasi Berkait dengan Pointer
Danang Wahyu Utomo, M.Kom, M.CS
Application Memory
Memori yang dialokasikan pada sebuah program/aplikasi umumnya dibagi menjadi 4 bagian :
Heap / Free Store
Memory yang dapat di request selama program berjalan
Stack
Menyimpan semua informasi tentang Pemanggilan fungsi untuk menyimpan semua Variabel lokal
Static / Global
Menyimpan variable global selama program berjalan
Code (Text)
Menyimpan semua perintah yang akan Dijalankan / dieksekusi Danang Wahyu Utomo, M.Kom, M.CS
Application Memory
Memori yang dialokasikan pada sebuah program/aplikasi umumnya dibagi menjadi 4 bagian :
Heap / Free Store
Bersifat dinamis : ukukran memory dapat Berubah ketika program dijalankan
Stack Static / Global Code (Text)
Bersifat statis : - Ukuran memori ditentukan ketika kompilasi - ukuran memori tidak dapat berubah Danang Wahyu Utomo, M.Kom, M.CS
Application Memory
Memori yang dialokasikan pada sebuah program/aplikasi umumnya dibagi menjadi 4 bagian :
Heap / Free Store Stack
Contoh : Penggunaan malloc pada bahasa C untuk Mengalokasikan sejumlah memory ketika Program dijalankan
Static / Global Code (Text) Danang Wahyu Utomo, M.Kom, M.CS
Representasi Berkait dengan Pointer struct node { int data; struct node * next; };
typedef struct node List; List* head;
Danang Wahyu Utomo, M.Kom, M.CS
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
next;
} curr1->next=curr2->next; curr2->next=curr1; }
Danang Wahyu Utomo, M.Kom, M.CS
Representasi Berkait dengan Pointer int main (){
Stack
Heap
}
main()
Global
Danang Wahyu Utomo, M.Kom, M.CS
Representasi Berkait dengan Pointer int main (){ head = NULL; }
Stack
Heap
main()
Global Head =NULL Danang Wahyu Utomo, M.Kom, M.CS
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 Danang Wahyu Utomo, M.Kom, M.CS
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 main()
3
NULL
2
NULL
100
Global Head =100 Danang Wahyu Utomo, M.Kom, M.CS
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 main()
3
NULL
2
150
100
Global Head =100 Danang Wahyu Utomo, M.Kom, M.CS
Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); insertN(4,1); }
Stack
Heap
insertN(4,1) data = 4
p=1
curr1=200
main()
200 4
NULL
3
NULL
2
150
150 100
Global Head =100 Danang Wahyu Utomo, M.Kom, M.CS
Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); insertN(4,1); }
Stack
Heap
insertN(4,1) data = 4
p=1
curr1=200
main()
200 4
100
3
NULL
2
150
150 100
Global Head =200 Danang Wahyu Utomo, M.Kom, M.CS
Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); insertN(4,1); insertN(5,2); }
Stack
Heap 250
insertN(5,2) data = 5
p=2
curr1=250
NULL
4
100
3
NULL
2
150
200 150
curr2=200 main()
5
100
Global Head =200 Danang Wahyu Utomo, M.Kom, M.CS
Representasi Berkait dengan Pointer int main (){ head = NULL; insertN(2,1); insertN(3,2); insertN(4,1); insertN(5,2); }
Stack
Heap 250
insertN(5,2) data = 5
p=2
curr1=250
100
4
250
3
NULL
2
150
200 150
curr2=200 main()
5
100
Global Head =200 Danang Wahyu Utomo, M.Kom, M.CS
Stack int main() {
Heap 250
head = NULL;
5
100
4
250
3
NULL
2
150
200
insertN(2,1); insertN(3,2); insertN(4,1); insertN(5,2);
150
main()
100
} Global Head =200 Danang Wahyu Utomo, M.Kom, M.CS