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]; Deklarasi struct)
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; } p[10];*+* ,*
1. Array 1. Linear List 2. Stack 3. Queue 3. Queue 2. List 1. Connected List 2. Circular List 3. Doubly)linked List4. 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 % "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 ( 3% % 012 ( 3% % 012