- Personal Profile, yaitu profil yang mendefinisikan ulang personal Java sebagai profil yang dapat digunakan sebagai profil dalam J2ME. Profil ini
merupakan hasil perluasan dari Foundation profile. - Remote Method Invocation RMI, yaitu profil yang menambakan dukungan
RMI ke dalam konfigurasi CDC.
2.5.5 Linked List
Linked list lebih tepat disebut sebagai sebuah STRUKTUR DATA, daripada sebagai sebuah tipe data karena linked list berhubungan dengan alokasi penyimpanan
data di memori, bukan melakukan operasi terhadap isi datanya. Secara struktur, linked list hampir sama dengan array larik tersusun dari elemen data yang banyak
dan bersambung. Namun linked list bersifat DINAMIS, sedangkan array bersifat statis. Dikatakan dinamis karena alokasi memori yang dipakai bisa bertambah dan
berkurang sesuai dengan kebutuhan program.
Gambar 2.12 Linked List
2.5.5.1 MANFAAT PENGGUNAAN
Struktur data linked list sering dipakai dalam konsep ADT. Misalkan untuk mendefinisikan merepresentasikan Stack, Queue, Tree, Graph dsb - tentu saja yang
bersifat dinamis.
2.5.5.2 BEBERAPA OPERASI DASAR -
Insert Node memasukkan simpul baru ke dalam linked list
baru = simpul mallocsizeof struct node siapkan lokasi memorinya
baru-info = data masukkan datanya
baru-next = NULL set lokasi data selanjutnya adalah NULL
if head == NULL pengisian data yg pertama kali
head = baru semua pointer menunjuk lokasi memori yg sama
tail = baru else
pengisian data
berikutnya tail-next = baru
sambungkan pointer baru ke pointer tail tail = baru
pointer tail menunjuk alamat yg sama dgn baru
Gambar 2.13 Contoh Proses Insert Linked List
Pada gambar diatas telah dijelaskan setiap langkahnya, mulai dari proses memasukkan data, pengisian data, serta proses yang menghubungkan pointer satu
dengan yang lainnya. -
View Node menampilkan semua isi linked list
temp = head pointer temp dan head menunjuk alamat data yg sama
whiletemp=NULL selama pointer tidak bernilai NULL outputtemp-info tampilkan isi simpul
temp = temp-next lompat baca simpul selanjutnya
Gambar 2.14 Contoh Proses View Linked List
Pada Gambar 2.14 menjelaskan selama pointer tidak bernilai null proses tersebut akan menampilkan isi simpul serta simpul selanjutnya.
- Find Node mencari simpul dengan informasi tertentu dalam linked list
pada gambar 2.15 menjelaskan cara mencari node, mula-mula masukkan data yang akan dicari, arahkan pointer temp ke alamat yang sama dengan head lakukan
pencarian sampai data yang dicari ditemukan lalu ubah pointer temp dengan alamat selanjutnya.
inputcari masukkan data yg akan dicari
temp = head pointer temp diarahkan ke alamat yg sama dgn head whiletemp=NULLtemp-info=cari
cari sampai habis ketemu
temp = temp-next ubah nilai pointer temp dgn alamat selanjutnya iftemp-info == cari
outputData Ditemukan else
outputData Tidak Ditemukan
Gambar 2.15 Contoh Proses find Linked List
- Delete Node menghapus simpul tertentu dari linked list
Pada Gambar 2.16 menjelaskan cara menghapus simpul dari linked list, mula- mula masukkan data yang akan dihapus arahkan pointer temp ke alamat yang
ditunjuk oleh head, proses selanjutnya menemukan data yang akan dihapus dan apabila telah ditemukan proses tersebut akan menghapus alokasi memori yang sudah
tidak terpakai.
inputhapus masukkan data yg akan dihapus temp = head
arahkan pointer temp ke alamat yg ditunjuk oleh head whiletemp=NULLtemp-info=hapus temukan data yg akan dihapus
prev = temp temp = temp-next
iftemp-info == hapus
data ada di dalam linked list iftemp-next = NULL
jika data berada pada posisi tengah prev-next = temp-next
else if head==temp jika data berada pada posisi head head = NULL
else
jika data berada pada posisi tail prev-next = NULL
freetemp
hapus alokasi memori yang sudah tak terpakai }
else outputData Tidak Ditemukan;
Gambar 2.16 Contoh Proses Delete Linked List
2.5.6 Push Registry