LIST BERKAIT(LINKED LIST)

dokumen-dokumen yang mirip
List Berkait(Linked List) Overview. Tujuan Instruksional

BAB IX LINKED LIST (SENARAI BERANTAI)

BAB IX LINKED LIST (SENARAI BERANTAI)

KONSEP POINTER DAN LINKED LIST

SINGLE LINKED LIST (NON CIRCULAR)

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

KONSEP POINTER DAN LINKED LIST

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

SENARAI BERANTAI (LINK LIST)

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

1. Traversing Untuk algoritma traversing sama seperti pada single Link List

3. DOUBLE LINK LIST. Lab. Teknik Informatika Struktur Data 1

KONSEP POINTER DAN LINKED LIST

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul

05. Double Linked List

ALGORITMA DAN STRUKTUR DATA

LIST. Dewi Sartika, M.Kom

Double linked list. Gambar 1. Double linket list dengan empat simpul Deklarasi Double Linked List di dalam Pascal :

Algoritma dan Struktur Data

Lab. Teknik Informatika Struktur Data 1

Single Linked List (1)

Algoritma dan Struktur Data. Ramos Somya

Pada kondisi ini proses penghapusan tidak bisa dilakukan Kondisi linked list memiliki hanya 1 data{satu simpul} Akhir. Akhir

MODUL 6 SINGLE & DOUBLE LINKED LIST

Algoritma Pemrograman & Struktur Data

Pertemuan 7. REVIEW dan QUIS

Algoritma dan Struktur Data. Linked List

STRUKTUR DATA (2) Single Linked List

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

//membuat sebuah tipe data baru yang terdiri dari. //field data bertipe integer //field next merupakan pointer dari list

Praktikum Algoritma dan Struktur Data

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

Struktur Data II. Single Linked List - Non circular

A. TUJUAN PEMBELAJARAN

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

LAPORAN PRAKTIKUM IX. Oleh:

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Jadi satu simpul di double linked list adalah sebagai berikut : Info. Kiri. Kanan

DOUBLE LINKED LIST. Danang Wahyu Utomo Danang Wahyu Utomo, M.Kom, M.CS

PENGENALAN List merupakan sebuah pemikiran/konsep struktur data yang sangat dasar pada pemrograman agar lebih fleksibel. Setiap elemen akan ditambahka

REVIEW ARRAY. Institut Teknologi Sumatera

Gambar 3.1. Circular Single Linked List. Deklarasi bisa dilihat kembali di Single Linked List atau Double Linked List.

A. TUJUAN PEMBELAJARAN

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

STRUKTUR DATA single linked list non circular

ALGORITMA & PEMROGRAMAN

Array VS Linked List

Algoritma Pemrograman & Struktur Data

ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data)

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit

PERTEMUAN KE 11. Linked List. Apa Itu Linked List?

DIG1G3 Implementasi Struktur Data

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

KERUGIAN DAN KEUNTUNGAN LINKED LIST

Algoritma Pemrograman & Struktur Data

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Manage Sort STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 4 : 30 Juni 2015

04. Single Linked List

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 27 Juni 2016

Bab 4 Pointer dan Struktur Data Dinamik 16 BAB IV POINTER DAN STRUKTUR DATA DINAMIK TUJUAN PRAKTIKUM TEORI PENUNJANG

TIPE, NAMA, DAN NILAI

LAPORAN PRAKTIKUM RESMI QUEUE

BAB II Senarai Berantai (Linked List)

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

Linked List. Bandung 2013

Linked List 6.3 & 7.3 NESTED LOOP

Pertemuan 4. Single Linked List non Circular Menggunakan Head dan Tail

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

pada program di atas, akan ditampilkan alamat memori dari variabel x, bukan nilai x.

(3) BAHAN KAJIAN (materi ajar)

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

STL DLL STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 3 : 29 Juni 2015

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul

POINTER. Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN Overview. Definisi Pointer Operasi Pointer Pointer dan Argumen Fungsi

Praktikum Algoritma dan Struktur Data 2010

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

PENGANTAR KOMPUTER & SOFTWARE II

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

Tipe Data dan Operator

Tutorial 08 Pertemuan 12

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

MODUL PRAKTIKUM STRUKTUR DATA. Dosen Pengampu M.Bahrul Ulum, S.Kom., M.Kom. Asisten Lab Mia Kastina PROGRAM STUDI TEKNIK INFORMATIKA

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Double Linked List. Brigida Arie Minartiningtyas, M.Kom

LOGO STRUKTUR DATA QUEUE

BAB 5 PERULANGAN DAN ARRAY

ARRAY/LARIK. Overview. Deskripsi. Tujuan Instruksional. Definisi Array/Larik. Definisi Array/Larik. Deskripsi Tujuan Instruksional Array 1 Dimensi

Transkripsi:

4/9/0 Overview LIST BERKAIT(LINKED LIST) Pertemuan : -4 Dosen Pembina : Danang Junaedi Tujuan Instruksional Pendahuluan Pembentukan List Berkait Menampilkan Data pada List Berkait Studi Kasus Tugas Individu Program Studi Teknik Informatika Universitas Widyatama Tujuan Instruksional Pendahuluan () Mahasiswa akan dapat Menjelaskan pengertian dan manfaat list berkait Menjelaskan pengelolaan list berkait (Membentuk, Menampilkan data, Mencari dan Menghapus data) Mengimplementasikan pengelolaan list berkait (Membentuk, Menampilkan data, Mencari dan Menghapus data) 4 List atau disebut juga Pointer 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 : Algoritma : <nama variabel list berkait/pointer> : ^Data C/C++: <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

4/9/0 Pendahuluan () Pendahuluan () 6 Contoh List Tunggal (Single List) int I = ; I int *IPointer; IPointer IPointer = &I; IPointer I 00FED4 00FED6 00FED6 Alamat di memori I IPointer IPointer 00FED4 00FED4 I Pada umumnya suatu linked list memiliki sejumlah elemen, di mana salah satu elemen yang paling awal (elemen kepala atau head) bersifat agak khusus dan tidak digunakan untuk menyimpan data. 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. Gambar Elemen Dasar Sebuah Linked List Informasi Pointer Struktur ini terdiri atas rangkaian elemen yang saling berhubungan /berkaitan, dimana setiap elemen dihubungkan dengan elemen lainnya, oleh sebuah pointer. Jadi setiap elemen dalam linked list selalu berisi/mengandung pointer. Pointer adalah sebuah sel dalam suatu elemen yang berfungsi sebagai penunjuk letak elemen yang lain (nilainya merupakan alamat elemen yang lain). Pendahuluan (4) Pendahuluan () 7 8 Jenis List/Pointer (Lanjutan): Single Linked List Contoh Info Next_List NULL (kosong/list terakhir) Double Linked List Multiple Linked List Circular Linked List di bahas pada mata kuliah Struktur Data & Algoritma Lanjut NULL berarti komponen yang mencatat alamat list berikutnya bernilai kosong Gambar Contoh sebuah List yang Berisi Beberapa Elemen List Head Info Next Berikut ini diberikan contoh penulisan suatu struktur data list : Algoritma Type simpul= ^mylist mylist = record Info :char Next : simpul End C/C++ typedef struct{ Info : char; Next : simpul; } mylist ; Mylist *simpul;

4/9/0 Pembentukan List Berkait () Pembentukan List Berkait () 9 0 Pendeklarasian List struct <Nama List>{ <tipe data> <Nama Info>; <Nama List> *<Nama Pointer>; }; Contoh : a. Struct List{ int Info; List Next; Info }; Atau b. Struct Simpul{ int No_Urut; char Nama[]; float IPK; Simpul *Berikutnya; }; Next Nama Info Berisi Nilai dari List Nama Pointer Berisi Nilai dari List Berisi alamat dari list berikutnya No_Urut Nama IPK Berikutnya Berisi Nilai dari List Berisi alamat dari list berikutnya Berisi alamat dari list berikutnya Pembentukan List <Nama List > = new <Nama List> Contoh berdasarkan pendeklarasian di atas a. = new List //perintah untuk membuat list baru -> Info = atau cin>> -> info //Masukan data ke Info / 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 -> IPK =.6 atau cin>> Simpul Anyar -> IPK 00 Saya.6 Operator untuk menunjukan posisi komponen yang sedang aktif/digunakan Algoritma : ^. C/C++ : -> Pembentukan List Berkait () Pembentukan List Berkait (4) Penambahan List ke dalam Elemen List List Kosong (/Head = NULL) / List Isi Tambah di /Head. =. =. -> Next = NULL. -> Next =. = List Isi (lanjutan) Tambah di. -> Next =. =. -> Next = NULL

4/9/0 Pembentukan List Berkait () Menampilkan Data pada List Berkait List Isi (lanjutan) Tambah di Tengah PSbl Pnow 4 /Head Pnow Arah Penelusuran/Pergeseran. 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 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 -> Info Pnow = Pnow -> Next } Studi Kasus I Pencarian Data pada List Berkait Buat Algoritma & 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 6 Pnow Secara garis besar, proses untuk mencari data yang terdapat pada suatu list hampir sama dengan proses membaca isi list, tetapi perlu ditambah dengan test untuk menentukan apakah data yang dicari ada pada seranai. Ada Kemungkinan Proses Pencarian a. Data Tidak Terurut Pnow = while (Pnow!= NULL && Cari_Data!= Pnow -> Info) {Pnow = Pnow -> Next} if (Pnow!= NULL) cout<< Data ditemukan else cout<< Data tidak ditemukan Arah Penelusuran/Pergeseran b. Data Terurut Pnow = while (Pnow!= NULL && Cari_Data > Pnow -> Info) { Pnow = Pnow -> Next} if (Pnow->info == Cari_Data) cout<< Data ditemukan else cout<< Data tidak ditemukan 4

4/9/0 Menghapus Data pada List Berkait () Menghapus Data pada List Berkait () 7 8 Dari hasil pencarian data di atas, kemungkinan proses penghapusan data pada List Berkait yaitu : List Kosong (/Head = NULL) printf( LIST KOSONG ); List Isi dan hanya tersisa data ( = ) List Isi dan tersisa > data Hapus di HapusNow. -> Next = NULL. =. HapusNow =. = HapusNow -> Next Menghapus Data pada List Berkait () Menghapus Data pada List Berkait (4) 9 List Isi dan tersisa > data (lanjutan) Hapus di Telusuri Sampai HapusNow->info == Data yang akan dihapus dan jika HapusNow ==, maka langkah penghapusannya adalah :. HapusSbl -> Next = NULL. = HapusSbl 0 List Isi dan tersisa > data (lanjutan) Hapus di Tengah HapusSbl HapusNow HapusSbl HapusNow Telusuri Sampai HapusNow->info == Data yang akan dihapus dan jika HapusNow!=, maka langkah penghapusannya adalah :. HapusSbl -> Next = HapusNow -> Next

4/9/0 Studi Kasus II Untuk bahan renungan bersama Lanjutkan Studi Kasus I dengan menambahkan fungsi-fungsi sebagai berikut: Data Nilai Mahasiswa (data terurut & tidak terurut) Mencari IPK tertinggi dan terendah kemudian tampilkan NIM-nya Menghitung IPK rata-rata Hapus Data Nilai Mahasiswa dengan IPK terendah Data Barang (data terurut & tidak terurut) Mencari Jumlah barang tertinggi dan terendah kemudian tampilkan kode barangnya Menghitung Jumlah Barang rata-rata Hapus Data Barang dengan jumlah barang terendah Data Penjualan (data terurut & tidak terurut) Mencari Jumlah Penjualan tertinggi dan terendah kemudian tampilkan kode sales dan kode barangnya Menghitung rata-rata penjualan Hapus Data Penjualan dengan jumlah penjualan terendah 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 amal-amal 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 6