!
!
1. ditulis dengan notasi khusus
2. notasi mudah dimengerti
!
!
"
% & ' '
! "# ' & & %()
• ( ) : mengunjungi setiap elemen SD
• ( ) : menemukan elemen/lokasi pad
SD
• ( ) : menambah elemen baru pada SD
!"
#
•
KELEBIHAN
) Struktur Data paling mudah
) Memori ekonomis, bila semua elemen terisi ) Waktu akses sama ke setiap elemen
KEKURANGAN
) Boros memori jika banyak elemen yang tidak
digunakan
&!%
'
? 1 ? 3 ? 5
%
'
13 5 7 2 9 4 7
(
)
•
Array : penampung sejumlah data sejenis (yang
memiliki type data yang sama) dengan
menggunakan satu identifier
•
Elemen array dapat diakses dengan
menggunakan index, dari nol sampai n)1 (n:
jumlah elemen array)
jumlah elemen array)
Contoh :
int x[5];
(
)
•
Struct: struktur data yang menggabungkan
beberapa data dengan tipe yang berbeda, tetapi
berkaitan
•
Elemen struct dapat diakses dengan
)
Gabungan beberapa variable dengan tipe yang
berbeda
学籍番号 名前 生年月日 学籍番号 名前学籍番号 名前struct NILAI {
char nama[100]; float math; float biology; 生年月日 体重 身長 名前 生年月日 体重 身長 名前 生年月日 体重 身長 nama Nilai math Nilai biology Nilai geography Nilai English Nilai Bhs.Indonesia Nilai rata)rata float biology; float geography; float english; float bi; float ratarata; };
struct NILAI p[10];
)
Gabungan beberapa variable dengan tipe yang
berbeda
学籍番号 名前 生年月日 学籍番号 名前学籍番号 名前学籍番号struct NILAI {
*+*
,*
1. Array
1. Linear List
2. Stack
3. Queue
3. Queue
2. List
1. Connected List
2. Circular List
3. Doubly)linked List
4. Multi list structure
*
•
Sekumpulan elemen yang diatur secara terurut
+ −
•
Linear List tidak sama dengan Connected)List
$ *
-
*
+ (&
! "# $ !% "$ $ ! % $ $# &#
" % $ $# &#
" % $ $# &#
! ' % $ $ $# &#
$ $( $# $ %
!% # $! ! $ $ ) ( $ %
"$ !% "$ $# $! ! $!% "
* $ !% "$
.
) / * *
• Tidak semua operasi list diperlukan pada setiap program
▫ Penentuan struktur data didasarkan pada operasi yang diperlukan saja agar bisa berjalan dengan efisien
• Pada sebuah Linear List, penyisipan dan penghapusan elemen dapat dijalankan di sebarang posisi
• Pada sebuah Linear List, penyisipan dan penghapusan elemen dapat dijalankan di sebarang posisi
• Bentuk khusus linear list:
Penambahan elemen dan penghapusannya
dilakukan di posisi terdepan atau
posisi terbelakang saja
+ #
,% %
.
) / * *
• Pada sebuah Linear List, penyisipan dan penghapusan elemen dapat dijalankan di sebarang posisi
• Penambahan dan penghapusan elemen pada stack/queue dilakukan di posisi terdepan atau posisi terbelakang saja
-+ #
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out)
• Operasi : Menambahkan elemen pada sebuah stack
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out)
• Operasi : Menambahkan elemen pada sebuah stack
)/,0 *
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
ditambahkan
• Nama lain: LIFO (Last In First Out)
• Operasi : Menambahkan elemen pada sebuah stack
)/,0 !* *
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out) • Nama lain: LIFO (Last In First Out)
• Operasi : Menambahkan elemen pada sebuah stack
)/,0
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out)
• Operasi : Menambahkan elemen pada sebuah • Operasi : Menambahkan elemen pada sebuah
stack
)/,0
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out)
• Operasi : Menambahkan elemen pada sebuah • Operasi : Menambahkan elemen pada sebuah
stack
)/,0
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out)
• Operasi : Menghapus sebuah elemen dari sebuah • Operasi : Menghapus sebuah elemen dari sebuah
stack
)()
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out)
• Operasi : Menghapus sebuah elemen dari sebuah • Operasi : Menghapus sebuah elemen dari sebuah
stack
)()
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out) • Nama lain: LIFO (Last In First Out)
• Operasi : Menghapus sebuah elemen dari sebuah stack
)()
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out) • Nama lain: LIFO (Last In First Out)
• Operasi : Menghapus sebuah elemen dari sebuah stack
)()
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out) • Nama lain LIFO (Last In First Out)
• Operasi : Menghapus sebuah elemen dari sebuah stack
)
• Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan
• Yang dihapus adalah elemen yang paling terakhir ditambahkan
• Nama lain: LIFO (Last In First Out)
• Operasi : Menghapus sebuah elemen dari sebuah • Operasi : Menghapus sebuah elemen dari sebuah
stack
)()
)
) $(* 0 1
) ! -* 0 1
• Stack Overflow
Menambahkan data pada sebuah stack yang telah penuh • Stack Underflow
• Stack Underflow
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out)
• Operasi : menambahkan data pada sebuah list
1+./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out) • Nama lain: FIFO (First In First Out)
• Operasi : menambahkan data pada sebuah list
1+./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out)
• Operasi : menambahkan data pada sebuah list
1+./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out)
• Operasi : menambahkan data pada sebuah • Operasi : menambahkan data pada sebuah
list
1+./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out)
• Operasi : menambahkan data pada sebuah list
1+./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out) • Nama lain: FIFO (First In First Out)
• Operasi : menambahkan data pada sebuah list
1+./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out) • Nama lain: FIFO (First In First Out)
• Operasi ! : menghapus data pada sebuah list 21./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out) • Nama lain: FIFO (First In First Out)
• Operasi ! : menghapus data pada sebuah list
21./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out) • Nama lain: FIFO (First In First Out)
• Operasi ! : menghapus data pada sebuah list
21./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out) • Nama lain: FIFO (First In First Out)
• Operasi ! : menghapus data pada sebuah list
21./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out) • Nama lain: FIFO (First In First Out)
• Operasi ! : menghapus data pada sebuah list
21./1/1
/ * *
• Penambahan data dilakukan pada sebuah ujung sebuah list, sedangkan penghapusan data dilakukan pada ujung yang lain
• Data yang dihapus adalah data yang paling awal ditambahkan
• Nama lain: FIFO (First In First Out) • Nama lain: FIFO (First In First Out)
• Operasi ! : menghapus data pada sebuah list
21./1/1
/ * *
% "0 12 % "0 12
2
• Gambarkan kondisi stack setelah dilakukan operasi berikut:
% "0 12 * 012
% "0 12
* 012
% "0 12
3% % 0 12
3% % 0 12
3% % 0 12
3
• Gambarkan kondisi queue setelah dilakukan operasi berikut:
3% % 0 12 ( 3% % 012
3% % 0 12