List Berkait(Linked List) Pertemuan : Oleh : Danang Junaedi Jurusan Teknik nformatika Universitas Widyatama Overview Tujuan nstruksional Pendahuluan Pembentukan List Berkait Menampilkan Data pada List Berkait Studi Kasus Tugas ndividu Jurusan Teknik nformatika X- Universitas Widyatama Mahasiswa akan dapat Tujuan nstruksional Menjelaskan pengertian dan manfaat list berkait Menjelaskan pengelolaan list berkait (Membentuk dan Menampilkan data) Mengimplementasikan pengelolaan list berkait (Membentuk dan Menampilkan data) Jurusan Teknik nformatika X- Universitas Widyatama
List atau disebut juga Pointer Pendahuluan () variabel yang berisi alamat memori sebagai nilainya. berisi alamat dari variabel yang mempunyai nilai tertentu. tidak secara langsung berisi suatu nilai tetapi berisi alamat memori dari nilai tersebut Cara pendeklarasian : <tipe data> *<nama variabel list berkait/pointer> Jenis List/Pointer : List Tunggal (Single List) terdiri dari maksimum komponen yaitu komponen yang mencatat alamat dari suatu nilai Jurusan Teknik nformatika X-4 Universitas Widyatama Contoh List Tunggal (Single List) int = ; int *; = &; Pendahuluan () Alamat di memori 00FED4 00FED6 00FED6 00FED4 00FED4 Jurusan Teknik nformatika X- Universitas Widyatama Jenis List/Pointer (Lanjutan): Pendahuluan () List Berkait (Linked List) terdiri dari komponen utama yaitu komponen nilai/info dari list itu sendiri dan komponen yang mencatat alamat dari suatu nilai/list berikutnya. Jenis ini terdiri dari : Single Linked List Contoh nfo Next_List NULL (kosong/list terakhir) Double Linked List Multiple Linked List di bahas pada mata kuliah Struktur Data & Circular Linked List Algoritma Lanjut NULL berarti komponen yang mencatat alamat list berikutnya bernilai kosong Jurusan Teknik nformatika X-6 Universitas Widyatama
Pembentukan List Berkait () Pendeklarasian List struct <Nama List>{ <tipe data> <Nama nfo>; <Nama List> *<Nama Pointer>; Nama nfo Nama Pointer Berisi Nilai dari List Contoh : a. Struct List{ int nfo; List Next; nfo Next Berisi alamat dari list berikutnya Berisi Nilai dari List Atau b. Struct Simpul{ int No_Urut; char Nama[]; float PK; No_Urut Nama PK Berikutnya Simpul *Berikutnya; Berisi Nilai dari List Berisi alamat dari list berikutnya Berisi alamat dari list berikutnya Jurusan Teknik nformatika X-7 Universitas Widyatama Pembentukan List Berkait () Pembentukan List <Nama List > = new <Nama List> Contoh berdasarkan pendeklarasian di atas a. = new List //perintah untuk membuat list baru -> nfo = atau cin>> -> info //Masukan data ke nfo / Nilai yang di-input-kan b. Simpul Anyar = new Simpul //perintah untuk membuat Simpul baru Simpul Anyar -> No_Urut = 00 atau cin>> Simpul Anyar -> No_Urut Simpul Anyar -> Nama = Saya atau cin>> Simpul Anyar -> Nama Simpul Anyar -> PK =.6 atau cin>> Simpul Anyar -> PK 00 Saya.6 Operator -> digunakan untuk menunjukan posisi komponen yang sedang aktif/digunakan Jurusan Teknik nformatika X-8 Universitas Widyatama Pembentukan List Berkait () Penambahan List ke dalam Elemen List List Kosong (/Head = NULL) /. =. =. -> Next = NULL List si Tambah di /Head. -> Next =. = Jurusan Teknik nformatika X-9 Universitas Widyatama
Pembentukan List Berkait (4) List si (lanjutan) Tambah di 4 4. -> Next =. =. -> Next = NULL Jurusan Teknik nformatika X-0 Universitas Widyatama Pembentukan List Berkait () List si (lanjutan) Tambah di Tengah 4 4. Telusuri dari posisi awal sampai ditemukan posisi yang sesuai atau posisi paling akhir (NULL) & gunakan Psbl (Pointer sebelum) dan Pnow (Pointer saat ini) sebagai pointer bantu penelusuran Psbl = NULL ; Pnow = while (Pnow!= NULL && <Posisi belum Sesuai>) {Psbl = Pnow ;Pnow = Pnow -> Next}. Psbl =. -> Next = Pnow Jurusan Teknik nformatika X- Universitas Widyatama PSbl Pnow Menampilkan Data pada List Berkait /Head Pnow Arah Penelusuran/Pergeseran 4 Telusuri dari posisi awal sampai ditemukan posisi paling akhir (NULL), Tampilkan & gunakan Pnow (Pointer saat ini) sebagai pointer bantu penelusuran Pnow = while (Pnow!= NULL) { cout << Pnow -> nfo Pnow = Pnow -> Next } Jurusan Teknik nformatika X- Universitas Widyatama 4
Studi Kasus Buat Program (gunakan list berkait) untuk kasus di bawah ini (pilih salah satu) Data Nilai Mahasiswa Data Barang Data Penjualan Dimana data harus terurut secara Ascending berdasarkan aturan tertentu, kemudian tampilkan datanya Tugas Kelompok Buat Resume mengenai Strategi Algoritma yang terdiri dari : Definisi Jenis Strategi Algoritma + Penjelasan + Contoh Kasus + Penjelasan Kasus + Penyelesaian (Program) Tulis tangan pada kertas ukuran A-4, kumpulkan pada saat UAS Jurusan Teknik nformatika X- Universitas Widyatama Untuk bahan renungan bersama Siapakah orang yang rugi? Orang yang rugi adalah orang yang sudah sampai usia pertengahan namun masih berat untuk melakukan ibadat dan amal-amal kebaikan. Maka hargailah waktumu dan bersegeralah Siapakah orang yang paling cantik/tampan? Orang yang paling cantik/tampan adalah orang yang mempunyai akhlak yang baik. Maka peliharalah akhlakmu dari dosa dan noda Siapakah orang yang mempunyai rumah yang paling luas? Orang yang mempunyai rumah yang paling luas adalah orang yang mati membawa amalamal kebaikan dimana kuburnya akan di perluaskan sejauh mata memandang. Maka beramal shalehlah selagi sempat dan mampu Siapakah orang yang mempunyai rumah yang sempit lagi dihimpit? Orang yang mempunyai rumah yang sempit adalah orang yang mati tidak membawa amalamal kebaikkan lalu kuburnya menghimpitnya. Maka ingatlah akan kematian dan kehidupan setelah dunia Siapakah orang yang mempunyai akal? Orang yang mempunyai akal adalah orang-orang yang menghuni syurga kelak, karena telah menggunakan akal sewaktu di dunia untuk menghindari siksa neraka. Maka peliharalah akal sehatmu dan pergunakan semaksimal mungkin untuk mengharap ridho- Nya Jurusan Teknik nformatika X-4 Universitas Widyatama