• Tidak ada hasil yang ditemukan

SENARAI & SENARAI BERPAUT

N/A
N/A
Protected

Academic year: 2021

Membagikan "SENARAI & SENARAI BERPAUT"

Copied!
7
0
0

Teks penuh

(1)

SENARAI & SENARAI

BERPAUT

Pengenalan kepada Senarai

Definisi Senarai

Menggunakan Senarai

Pengenalan kepada Senarai Berpaut

Definisi Senarai Berpaut

Menggunakan Senarai Berpaut

UNIT

(2)

3.1 Pengenalan kepada senarai

• Struktur data yang tidak boleh menukarkan saiznya semasa program dilaksanakan

dinamakan struktur data statik.

• Struktur data jenis ini perlu ditetapkan saiznya terlebih dahulu.

• Kelebihannya adalah ia menyediakan cara mencapai ahli-ahli dalam struktur ini dengan

mudah.

3.2 Definisi senarai

• Senarai adalah satu kumpulan koleksi data, elemen, komponen atau objek yang sama

jenis

• Senarai selalunya berbentuk seperti satu rekod.

• Operasi-operasi yang boleh dilakukan ke atas senarai adalah :

- Menambah (insertion) menambah item baru ke dalam senarai

- Menghapus (deletion) menghapuskan satu item daripada senarai. Operasi ini

melibatkan proses mengenalpasti lokasi item seterusnya menghapuskan item tersebut. Selepas itu, item yang berada di bawah perlu dianjakkan ke atas.

- Mencari (retrieval) mengenalpasti item dari senarai dan memaparkannya - Menyenarai (traversal) Semua item akan disenaraikan secara tersusun.

Operasi ini memerlukan satu algoritma ulangan.

3.3 Mengimplementasikan operasi senarai secara tatsusunan

• Senarai boleh diimplementasi secara tatasusunan yang mempunyai item yang

berjujukan

• Jujukan tersebut adalah berdasarkan kepada susunan dimana, item yang pertama

dimasukkan akan berada pada kedudukan pertama dalam tatasusunan, begitulah turutan kedudukan item seterusnya.

3.4 Menggunakan operasi senarai

• Operasi yang terlibat dalam mengimplementasi senarai secara tatasusunan adalah

mencipta, menyemak, menambah dan menghapus item-item dalam senarai.

• Mencipta senarai

- Akan melibatkan proses menentukan bilangan maksimum bagi item yang hendak

digunakan dalam senarai

- Proses yang seterusnya ialah mengenalpasti jenis-jenis item yang diperlukan - Input : Bilangan item dan jenis item

- Proses : Mencipta satu senarai kosong - Output : Senarai tercipta

P0 P1 P2 P3 . . . . Pn

X[0] X[1] X[2] X[3] . . . . X[n] senarai

(3)

- Terbahagi kepada dua cara iaitu:

a) Proses menentukan senarai kosong atau tidak

- Input : Menerima satu senarai

- Proses : Mengenalpasti sama ada item pertama wujud atau tidak - Output : Jika terdapat item pertama, senarai tidak kosong

b) Proses menentukan senarai penuh atau tidak

- Input : Menerima satu senarai

- Proses : Mengenalpasti sama ada item terkahir wujud atau tidak - Jika terdapat item terakhir, senarai penuh

• Menambah item-item dalam senarai

- Melibatkan penerimaan item baru

- Item terakhir dalam senarai dikenalpasti kedudukannya untuk proses menambah

item dalam senarai

- Input : Menerima satu senarai

- Proses : Pastikan senarai tidak penuh. Terima item baru. Tentukan kedudukan item

terakhir. Masukkan item baru.

- Output : Senarai yang telah dikemaskinikan (item baru ditambah)

• Menghapuskan ahli dalam senarai

- Proses menghapuskan item yang terdapat di dalam satu senarai

- Senarai yang diterima perlu disemak untuk menentukan senarai tidak kosong. - Item yang hendak dihapuskan perlu dikenalpasti

- Input : Menerima satu senarai

- Proses : Pastikan senarai tidak kosong. Kenalpasti item. Item disemak dalam senarai

untuk menentukan kedudukan. Proses hapus dan anjak item dilaksanakan

(4)

3.5 Pengenalan kepada senarai berpaut

• Senarai berpaut adalah sejenis struktur data di mana setiap itemnya mempunyai

hubungkait antara item yang lain dalam satu senarai

• Segala operasi yang hendak dilaksanakan ke atas sesuatu item perlulah mengambilkira

item yang berada bersebelahannya

3.6 Definisi senarai berpaut

• Senarai berpaut adalah satu kumpulan item yang dinamik di mana saiznya akan

bertambah dan berkurang bergantung kepada jumlah itemnya.

• Item di dalam senarai berpaut mempunyai dua medan iaitu medan data dan medan

pautan.

• Operasi-operasi yang boleh dilakukan ke atas senarai berpaut adalah :- • Mencipta senarai berpaut

- Menghasilkan satu senarai berpaut baru

• Mencipta nod dalam senarai berpaut

- Menghasilkan satu punca baru untuk menghubungkan antara item-item dalam

senarai berpaut

• Menyemak senarai berpaut : penuh / kosong

- Mengenalpasti sama ada senarai berpaut kosng atau penuh

• Menghapuskan nod dalam senarai berpaut

- Mengenalpasti nod (hubungan item)

- Menghapuskan satu item daripada senarai berpaut

- Operasi melibatkan proses mengenalpasti lokasi item seterusnya memutuskan

pautan

- Selepas itu, item yang berada sebelumnya perlu dipautkan kepada item berikutnya.

• Menambah nod dalam senarai berpaut

- Mengenalpasti nod (hubungan item)

- Menambah satu item ke dalam senarai berpaut

- Operasi melibatkan proses mengenalpasti lokasi item, seterusnya menyelitkan item

baru ke dalam senarai berpaut

3.7 Mengimplementasikan operasi senarai berpaut linear

• Senarai berpaut linear ialah dimana data disusun secara bersiri

• Item-item disusun dalam bentuk mengikut susunan dimana item kedua berada

dibelakang item pertama, item ketiga berada dibelakang item kedua dan seterusnya.

3.8 Menggunakan operasi senarai berpaut linear

• Senarai berpaut adalah satu jenis senarai yang dinamik, bermakna untuk

mengimplementasikannya, penuding adalah perlu.

• Operasi yang terlibat dalam mengimplementasi senarai berpaut adalah :- • Mencipta senarai

- Proses mencipta senarai berpaut memerlukan pengisytiharan struct - Jenis-jenis item yang perlu dimasukkan perlu dikenalpasti terlebih dahulu

(5)

- Output : Senarai tercipta

• Mencipta nod dalam senarai berpaut

- Perlu diimplementasikan dengan menggunakan penuding yang dapat menyediakan

ruang ingatan untuk nod secara dinamik

- Untuk tujuan mencipta nod secara dinamik, fungsi malloc( ) perlu digunakan

- Ini perlu kerana apabaila hendak menambah satu otem baru, item baru tersebut

perlu dipautkan kepada item sebelumnya (item lama) dalam senrai dimana proses ini dilakukan melalui nod

- Input : Menerima satu senarai - Proses : Mencipta satu nod baru

- Output : Satu senarai yang boleh menerima item baru

• Menyemak senarai berpaut

- Untuk mengenalpasti sama ada senarai kosong atau tidak

- Melibatkan pengujian pembolehubah dalam senarai berpaut sama ada ianya kosong

(null) atau tidak

- Input : Menerima satu senarai berpaut

- Proses : Mengenalpasti sama ada pembolehubah null wujud atau tidak - Output : Jika null, senrai berpaut adalah kosong

• Menambah nod dalam senarai berpaut

- Menambah nod ke dalam senarai berpaut boleh terdiri daripada menambah di

bahagian hujung senarai atau di bahagain tengah senarai.

- Input : Menerima satu senrai berpaut

- Proses : Menyemak pembolehubah. Kenalpasti lokasi. Terima item baru. Masukkan

item baru

- Output : Senarai yang telah dikemaskinikan (item baru ditambah) - Menambah nod di hujung senarai

o Untuk menambah nod pada hujung senarai, perlu semak sama ada pembolehubah Null atau tidak

o Jika pembolehubah Null, ini bermaksud senarai kosong dan item akan ditambah pada lokasi pertama.

o Jika pembolehubah tidak Null atau mempunyai nilai, ini bermaksud senrai mengandungi item, maka penambahan dilakukan di lokasi terakhir dalam senarai.

- Menambah nod di tengah senarai

o Lokasi yang hendak ditambah perlu dikenalpasti

o Nod pada lokasi tersebut diputuskan untuk membuat penyambungan nod item baru

• Menghapuskan item dalam senarai berpaut

- Menghapuskan item bermaksud item yang tidak diperlukan akan dibuang atau

dikeluarkan daripada senarai

- Proses menghapuskan item terbahagi kepada 3 iaitu menghapus item tunggal,

menghapus item di tengah senarai dan menghapus item di hujung senarai.

- Senarai yang diterima perlu disemak untuk menentukan ianya bukan satu senarai

kosong

- Item yang hendak dihapuskan perlu dikenalpasti - Item perlu dihapuskan dan dikemaskini

(6)

- Proses : Pastikan senarai tidak kosong. Kenalpasti item. Item disemak dalam senarai

untuk menentukan kedudukannya. Proses hapus dan anjakitem dilaksanakan.

- Output : Senarai yang telah dikemaskini (item telah dihapuskan) - Menghapus item tunggal

Item dalam senarai diuji untuk mengenalpasti pembolehubah x wujud, ini

bermakna item berada di penghujung senarai

○ Pautan pada item diputuskan dan disambung pada pembolehubah Null

Sebelum proses hapus Selepas proses hapus

- Menghapus item dihujung senarai

Item dalam senarai diuji untuk mengenalpasti pembolehubah x wujud, ini

bermakna item berada di penghujung senarai.

Pepaut pada item di[utuskan dan disambung pada pembolehubah x

Sebelum proses hapus

Selepas proses hapus

- Menghapus item di tengah senarai

Item sebelum dan selepas dikenalpasti

Pautan pada item sebelum dan selepas diputuskan dan disambung

Sebelum proses hapus

Selepas proses hapus

DATA X

DATA X

NULL

DATA1 DATA2 DATA3 DATA4 X

DATA1 DATA2 DATA3 X

DATA4 X

DATA1 DATA2 DATA3 DATA4 X

DATA2

(7)

• Keberkesanan penggunaan senarai berpaut

Kebaikan Kelemahan

Saiz senarai yang dinamik Proses pengaturcaraan lebih kompleks Proses tambah dan hapus item tidak

perlukan pergerakan item yang banyak

Penggunaan ingatan dan masa pengkomputeran yang tinggi Masa digunakan untk proses tambah dan

hapus lebih singkat

Tidak sesuai untuk senarai yang ringkas Sesuai digunakan untuk senarai yang besar

(saiz tidak diketahui)

Referensi

Dokumen terkait

Si RELA adalah produk simpanan yangdikelola berdasarkan prinsip Mudharabah, yaitu anggota sebagai sohibul maal (pemilik dan) sedangkan BMT sebagai Mudharib

Contoh dari kelompok obat-obatan biguanida adalah metformin. Obat ini sering diresepkan pada pasien dengan obesitas yang refrakter hiperglikemia, disebabkan oleh

Hasil o dari penelitian tersebut yaitu laba akuntansi tidak memiliki pengaruh terhadap return saham menunjukan bahwa laba akuntansi yang negatif tidak memiliki

Analisis dan pembahasan aspek proteksi terhadap bahaya dalam proses kerja, radiasi dan lingkungan yang ditimbulkan pada penggunaan energi nuklir sebagai sumber

Pembuatan aplikasi ini memberikan alternatif dalam mendapatkan informasi yang ada pada toko buku sehingga pelanggan dapat mengakses informasi tersebut dengan menggunakan

2000 menunjukkan bahwa 67,9% hutan dan 44,4% mangrove di sepanjang pantai telah terkonversi, khususnya untuk pengembangan pemukiman, kawasan industri dan kegiatan

Wawancara psikiatrik yang baik merupakan salah satu modal dasar yang harus dimiliki oleh psikiater karena wawancara selain merupakan alat untuk mendapatkan data juga

7. Bayi perlu disenda4akan dengan *rekuensi yang sering karena kelainan tersebut dapat menyebabkan menelan udara lebih  banyak sehingga menimbulkan rasa tidak