REPRESENTASI FISIK LIST LINEAR.

REPRESENTASI FISIK
LIST LINEAR

Danang Wahyu Utomo
danang.wu@dsn.dinus.ac.id
+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;jnext;


}
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

Heap

int main() {
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