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
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