Pointer. Pengertian. Struktur Data Pascal

dokumen-dokumen yang mirip
: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

POINTER. Altien Jonathan Rindengan, S.Si, M.Kom

Lab. Teknik Informatika Struktur Data 1

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

MODUL PRAKTIKUM STRUKTUR DATA

Double Linked List DIKTAT KULIAH. Pertemuan 6

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

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.

QUEUE (ANTRIAN) Struktur Data - Queue

POINTER PADA PASCAL. <nama_var> : ^<tipe_data>; <nama_var> : pointer;

BAB III QUEUE (ANTRIAN)

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

BAB XI Manipulasi Binary Tree

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

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

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Stack.

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

ALGORITMA & PEMROGRAMAN

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

LINKED LIST. Altien Jonathan Rindengan, S.Si, M.Kom

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

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

Praktikum Stuktur Data [MODUL]

LOGO STRUKTUR DATA QUEUE

QUEUE. Struktur data ini banyak dipakai dalam informatika misalnya untuk merepresentasi: antrian job dalam sistem operasi antrian dalam dunia nyata.

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

MODUL 1. Struktur Bahasa PASCAL secara umum

Pertemuan 7. REVIEW dan QUIS

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Daftar field MODUL 13 RECORD

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

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

Queue. Implementasi Queue dengan Array

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

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

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

KONTRAK PRAKTIKUM. Gambaran Umum : Alur bagi peserta praktikum :

JENIS-JENIS DATA DAN STATEMEN INPUT OUTPUT

BAB IV MATRIKS (ARRAY MULTI DIMENSI)

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10] Nilai elemen array Index array Inelemen array

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Linked List. Bandung 2013

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Pengenalan Pascal. Sejarah Singkat Pascal

1. Kompetensi Mengenal dan memahami struktur data Stack (tumpukan) dan Queue (antrian).

BAB II STACK Atau TUMPUKAN

LINKED LIST. TUJUAN UMUM Memahami konsep linked list TUJUAN KHUSUS

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

Dasar Komputer & Pemrogaman 2A

ALGORITMA DAN STRUKTUR DATA

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

BAB 6 Array Dua Dimensi

Teori Algoritma. Struktur Algoritma

Teori Algoritma TIPE DATA

Struktur Data. Queue (Antrian)

Algoritma,Flowchart, Konsep

4. STACK / TUMPUKAN TEORI PENUNJANG

Struktur Data. Pertemuan 2

Variabel dan Tipe Data Kusrini 1, Heri Sismoro 2

Algoritma dan Struktur Data. Pertemuan 7 Linked List

KONSEP DASAR BAHASA PASCAL

LAPORAN AKHIR PRAKTIKUM STRUKTUR DATA

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

Modul 1 Pengantar Bahasa Pascal

TPI4202 e-tp.ub.ac.id. Lecture 5

Algoritma HitungGajiKaryawan Deklarasi NIK,Nama,Jabatan : String Gaji, Tunj, Pajak, Gaber : Real

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

IF32222 STRUKTUR DATA TIPE DATA. Oleh : Andri Heryandi, M.T.

KERUGIAN DAN KEUNTUNGAN LINKED LIST

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

MODUL 1. Struktur Bahasa PASCAL secara umum

List akan disimpan dalam bagian memori komputer yang dinamakan HEAP

BAB II STACK (TUMPUKAN)

KONSEP DASAR BAHASA PASCAL

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

BAB IX LINKED LIST (SENARAI BERANTAI)

BAB 2 BAGAIMANA MENULISKAN PROGRAM PASCAL

M Queue Berprioritas. Amin Arifiyani. Struktur Data M

QUEUE. Queue adalah suatu linear list di mana operasi DELETE terjadi pada sisi depan (FRONT) dan operasi INSERT terjadi pada sisi belakang (REAR).

Dasar Komputer & Pemrograman 2A

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Chapter 3.2 : Tipe, Nama dan Nilai

STRUKTUR PROGRAM. Secara ringkas, struktur suatu program Pascal dapat terdiri dari : 1.Judul Program 2.Blog Program a.

Materi 9 : QUEUE (ANTREAN) Dosen:

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Double Linked List. Brigida Arie Minartiningtyas, M.Kom

BAB IX LINKED LIST (SENARAI BERANTAI)

Algoritma Pemrograman

STRUKTUR KONTROL. Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) :

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian)

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

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

Transkripsi:

Pointer Struktur Data Pascal Pengertian Pada materi sebelumnya telah dijelaskan mengenai variabel bertipe array, suatu tipe data yang bersifat statis (ukuran dan urutannya sudah pasti). Selain itu ruang memori yang dipakai olehnya tidak dapat dihapus bila variabel bertipe array tersebut sudah tidak digunakan lagi pada saat program dijalankan. Untuk memecahkan masalah diatas, kita dapat menggunakan variabel pointer. ipe data pointer bersifat dinamis, variabel akan dialokasikan hanya pada saat dibutuhkan dan sesudah tidak dibutuhkan dapat dialokasikan kembali. 1

abel Perbandingan Kriteria Array Pointer Sifat Statis Dinamis Ukuran Pasti Sesuai kebutuhan Alokasi variabel Saat program dijalankan sampai selesai Dapat diatur sesuai kebutuhuan Deklarasi Bentuk umum : Var <namavar> : <^tipedata> Contoh : Var Jumlahdata : ^integer; ; amasiswa :^string[25]; ilaisiswa :^real; 2

Deklarasi Umum dalam Record Bentuk umum : ipe <namapointer> = <^namarecord>; <namarecord> = record <item1>:<tipedata1>; <item2>:<tipedata2>; <item>:<tipedata>; end; Var <namavar>:<namapointer>; Contoh Program ype Pemployee =^employee; employee = record ame : string[10]; Position : char; Salary : longint; end; var p : pemployee; begin new(p); p^.name:='clark' p^.position:='s'; p^.salary:=3000; writeln(p^.name,' ',p^.position,' ',p^.salary); dispose(p); end. 3

Linked List Apabila setiap kali anda ingin menambahkan data selalu dengan menggunakan variabel pointer yang baru, anda akan membutuhkan banyak sekali variabel pointer(penunjuk). Oleh karena itu ada baiknya jika anda hanya menggunakan satu variabel pointer saja untuk menyimpan banyak data dengan metode yang kita sebut Linked List. Jika diterjemahkan, maka berarti suatu daftar isi yang saling berhubungan Contoh Penggunaan dlm FIFO (queue) program fifo; uses crt; Const=4; ype Point = ^RecPoint; Recpoint = Record nama : string; umur : integer; ext : Point; Var ead, ail, ow : Point; n:string; u,pilih:integer; 4

Create Procedure Create; ead:=nil; ail:=nil; ead:=il; ail:=il il Menginput Procedure ISER(elemen1:string;elemen2:integer); Var ow:point; ew(ow); If head = nil then ead:=now else ail^.next:=now; ail:=ow; ail^.next:=nil; ow^.nama:=elemen1; ow^.umur:=elemen2; 5

Input Insert (35) ew(ow); ead=il then ead:=ow; ail:=ow; ail^.next:=nil; ow^.isi:=35; 35 il Insert (5) ew(ow); ead<>nil then ail^.next:=now; 35 ail:=ow; ail^.next:=nil; 35 il ow^.isi=5; 35 5 il 6

Mengecek Posisi Pointer Procedure Cekpointer; begin Writeln ('nama now ',now^.nama); Writeln ('umur now ',now^.umur); writeln('nama head ',head^.nama); writeln('umur head ',head^.umur); writeln('nama tail ',tail^.nama); writeln('umur tail ',tail^.umur); readln; Pengecekan, Pencarian Function Empty : Boolean; If head = nil then Empty:= true else empty:= false; end; Function Full : Boolean; If head = max then Full:= true else Full:= false; end; 7

Pencarian Procedure Find_First; ow:= head; Procedure Find_ext; If ow^.next <> nil then ow:= ow^.next; Find First Find_First Procedure Find_First; ow:= head; 35 5 9 1 il 8

Find ext Procedure Find_ext; If ow^.next <> nil then ow:= ow^.next; 35 5 9 1 il Menyimpan emp dan Mengupdate Procedure Retrieve; n:= ow^.nama; u:= now^.umur; Procedure Update(elemen1: string; elemen2:integer ); ow^.nama:=elemen1; now^.umur:=elemen2; 9

Update Update(7) Procedure Update(u: ipedata ); ow^.isi:=7; 35 7 9 1 il Delete ow Procedure Deleteow; Var x : point; If now<>head then x:=head; while x^.next<>now do x:=x^.next; x^.next:=now^.next; end else head:= head^.next; dispose(ow); ow:= head; 10

Delete ow Deleteow ow<>head then x:=head; X 35 7 9 1 il X x^.next=now then x^.next:=now^.next; dispose(now); now:=head; 35 7 9 1 il Delete ead Procedure Deleteead; If head<>nil then ow:=head; ead:=ead^.next; Dispose(ow); ow:=ead; 11

Delete ead Deleteead If head<>nil then ow:=head; ead:=ead^.next; 35 9 1 il Dispose(ow); ow:=ead; 35 9 1 il Clearing Procedure Clear; While head <> nil do ow:=head; ead:=head^.next; Dispose(ow); 12