Pada post kali ini saya akan memaparkan beberapa Abstract Data Type (Collection) yang tergolong dalam Linear Collection. Ketiga Liniear Collection ini mirip dengan Array. Kenapa? Karena ketiganya dapat menyimpan beberapa kumpulan data yang seragam, seperti pada Array, namun yang membedakannya dengan Array adalah pengoperasinya.
Berikut adalah beberapa method dari Stack, variabel dan objek yang digunakan akan disesuaikan dengan potongan program dibawah
List (ArrayList)
ArrayList adalah Liniear Collection yang operasi atau penggunaannya mirip dengan Array, namun dengan ukuran yang dinamis. Pada saat mendeklarasikan variabel Array kita perlu menyebutkan berapa jumlah maksimum elemen yang ditampung misalkan ukurannya N, dan saat Array tersebut digunakan, indeks yang dipanggil tidak lebih dari N-1 (terhitung dari indeks 0), itu artinya kita tidak bisa memanggil bahkan menambahkan Array tersebut pada indeks ke N. Untuk mengatasinya kita gunakan ArrayList, dimana secara otomatis kita dapat meng-expand ukuran elemennnya.
Selain Automatic Expansion, ArrayList mempunyai karakteristik:
Perlu untuk diketahui, ArrayList ini berada pada package java.util.ArrayList, jadi kita perlu meng-import package tersebut terlebih dahulu sebelum menggunakann ArrayList.
Berikut adalah beberapa method dari ArrayList, variabel dan objek yang digunakan akan disesuaikan dengan potongan program dibawah
Selain Automatic Expansion, ArrayList mempunyai karakteristik:
- Dapat diadaptasikan pada for-loop (seperti iteraror pada C/C++)
- ArrayList mempunyai method utama: inserting, deleting dan searching
- Kompleksifitas waktu: Akses Element = O(1), Inserting dan Deleting = O(N)
Perlu untuk diketahui, ArrayList ini berada pada package java.util.ArrayList, jadi kita perlu meng-import package tersebut terlebih dahulu sebelum menggunakann ArrayList.
Berikut adalah beberapa method dari ArrayList, variabel dan objek yang digunakan akan disesuaikan dengan potongan program dibawah
ArrayList<E> arr = new ArrayList<E>()
Method | Nilai Balik | Deskripsi |
---|---|---|
arr.add(E) | void | Mengisi arr dengan element E (dimulai dari indeks terakhir) |
arr.add(i,r) | void | Mengisi arr dengan element E pada indeks ke-i (jika sebelumnya terdapat elemen pada indeks ke-i, maka elemen tersebut akan digeser posisinya ke kanan) |
arr.set(i,E) | E | Mengeset elemen indeks ke-i dengan nilai E |
arr.get(i) | E | Mengembalikan elemen indeks ke-i |
arr.remove(i) | E | Menghapus elemen indeks ke-i |
arr.clear() | void | Menghapus seluruh elemen |
arr.contains(E) | boolean | Mengembalikan nilai boolean TRUE apabila ArrayList berisi elemen E, atau FALSE apabila sebaliknya |
arr.size() | int | Mengembalikan ukuran (jumlah elemen) ArrayList arr |
arr.toArray() | E[] | Mengembalikan ArrayList yang dikonversi menjadi Array |
LIFO Queue (Queue)
Queue memiliki karakteristik yang sama dengan ArrayList, hanya saja pengoperasiannya jauh lebih sederhana. Queue hanya memungkinkan untuk melakukan penambahan data pada indeks pertama (front) dan penghapusan data pada indeks terakhir (back) atau bisa dikatakan Stack memiliki konsep pengoperasian Last-in-First-out (LIFO). Namun pada implementasinya, method dari class Queue memungkinkan kita untuk menambah dan menghapus elemen pada indeks pertama ataupun indeks terakhir. Package Queue bisa kita import di java.util.Queue
Berikut adalah beberapa method dari Queue, variabel dan objek yang digunakan akan disesuaikan dengan potongan program dibawah
Berikut adalah beberapa method dari Queue, variabel dan objek yang digunakan akan disesuaikan dengan potongan program dibawah
Queue<E> arr = new Queue<E>()
Method | Nilai Balik | Deskripsi |
---|---|---|
arr.add(E) | boolean | Mengisi Queue arr dengan element E (diletakkan pada indeks terakhir / back), dan mengembalikan nilai boolean TRUE apabila pengisian berhasil dilakukan |
arr.element() | E | Mengembalikan elemen terakhir (back) pada Queue arr (bila ada) |
arr.peek() | E | Mengembalikan elemen pertama (front) pada Queue arr (bila ada) |
arr.poll() | E | Menghapus elemen pertama (front) pada Queue arr (bila ada), dan mengembalikan elemen tersebut |
Pushdown Stack (Stack)
Pengoperasian Stack jauh lebih sederhana lagi (dibandingkan Queue), Stack hanya memungkinkan untuk melakukan penambahan dan penghapusan data pada indeks awal elemen atau front element atau bisa dikatakan Stack memiliki konsep pengoperasian First-in-First-out (FIFO atau pushdown) serta hanya memungkinkan untuk mengembalikan elemen pada indeks tertentu melainkan hanya pada indeks pertama. Package Stack berada bisa kita import di java.util.StackBerikut adalah beberapa method dari Stack, variabel dan objek yang digunakan akan disesuaikan dengan potongan program dibawah
Stack<E> arr = new Stack<E>()
Method | Nilai Balik | Deskripsi |
---|---|---|
arr.push(E) | E | Mengisi elemen pertama (front) pada Stack arr dengan element E, dan elemen tersebut |
arr.peek() | E | Mengembalikan elemen pertama (front) pada Stack arr (bila ada) |
arr.pop() | E | Menghapus elemen pertama (front) pada Stack arr (bila ada), dan mengembalikan elemen tersebut |
gan gak kebalik ya yang Queues itu FIFO sementara Stack itu LIFO.
ReplyDeleteCMIIW baru belajaran hehe
Konsep FIFO itu seperti tumpukan. Didalam sebuah tumpukan, jika dilakukan penambahan maka akan ditempatkan di atas, dan jika dilakukan pengambilan elemen maka elemen yang diambil harus pula elemen yang berada di atas. "First in, First Out" - Stack
DeleteSementara LIFO, mempunyai konsep seperti antrian. Dimana elemen urutan pertama (Front/First element) yang terlebih dahulu keluar, dan elemen yang masuk akan ditempatkan di belakang (Rear/Last element). "Last In, First Out" - Queue
Lah kebalik gan
DeleteFIFO = Pertama masuk berarti dialah yang pertama keluar.
Kalo modelnya kaya tumpukan, berarti itu barang kan yang baru masuk ada dibawah dan kalo mau keluar nunggu barang yang diatas (yang terakhir masuk) keluar dulu, baru barang yang dibawah (yang pertama masuk) bisa keluar.
Ibaratkan agan numpuk buku di kardus, agan masukin MERAH lalu BIRU lalu HIJAU, berarti kita dapati bahwa yang FIRST IN = MERAH , dan yang LAST IN = HIJAU
kalo agan mau ngerluarin semua itu buku, pasti HIJAU yang pertama kali keluar ?
maka tumpukan itu LIFO = Yang terakhir masuk, itu yang terakhir keluar
This comment has been removed by the author.
ReplyDeleteyuhuu....bermanfaat sekali
ReplyDeletelampu servis hp led