Antrian Dengan Array Ika Menarianti.

Slides:



Advertisements
Presentasi serupa
KOMPONEN DALAM DELPHI Form
Advertisements

STRUKTUR DATA Struktur Data - Gerlan A. Manu, ST.,MKom 1.
PERTEMUAN VI Penggunaan Array.
Penggunaan Kontrol Array
Penggunaan Struktur Kontrol IF
PROSEDUR 1 Prosedur Adakalanya ketika kita membuat program, ada beberapa kode program yang ditulis berulang-ulang. Hal ini tentu saja menyita waktu dan.
Rahmat Deddy Rianto Dako, ST, M.Eng
STRUKTUR DATA PERTEMUAN 6
Kondisional Inti dari sebuah program adalah bagaimana mengambil keputusan berdasarkan masukan yang ada Pengambilan keputusan dilakukan dengan eksekusi.
STRUKTUR DATA PERTEMUAN 5
BAB III KONTROL PROGRAM
Algoritma dan Struktur Data
STACK (Tumpukan).
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
PERTEMUAN IX Penggunaan Array.
-Tipe Bilangan Bulat > 1,4,40,100 -Tipe bilangan real > 1.50,3.234, Tipe Boolean > True, False -Tipe Karakter > A, B, X, y -Tipe String > Nama,
Chapter 12 Antrian (Queue) Program Studi Ekstensi DTE FTUI Slides©2007.
PERTEMUAN III SINTAK LANJUT VB
LOOPING dan array Tinaliah, S. Kom.
KOMPONEN DALAM DELPHI Form
Mempelajari tipe data queue dan bagaimana menggunakan fungsi insert, remove, is_empty dan is_full. Mempelajari bagaimana mengimplementasikan queue dengan.
Circular Queue.
Proses Berurutan Pemrograman Visual.
Perulangan Ari Pambudi.
ANTRIAN ( QUEUE ) Fajrizal.
Penggunaan Data dan Variabel
Stack.
PROCEDURE AND FUNCTION
NAMA : siti hajar NIM : UNIT : b NO.hp : 0852 –
Algoritma & pemrograman 1b
Menggunakan Form Pertemuan Ke-3.
Program Studi Teknik Informatika
ELEMEN-ELEMEN PROGRAM
Stack.
QUEUE Denny Agustiawan,M.pd
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Program Studi Teknik Informatika
Pengantar Pemrograman
Antrian (Queue).
Perulangan.
Bahasa Pemrograman 1 STRUKTUR KONTROL VB Chapter 03 bimocahyo.
STRUKTUR DATA – Pertemuan 6
Queue (Antrian).
Struktur Organisasi Data 2
P e r t e m u a n 1 Membuat Workbook dengan Macro
STACK (Tumpukan).
QUEUE (ANTRIAN ) Disusun Oleh : Kelompok 2 Siti Hajar ( )
Program Studi Teknik Informatika
Bahasa Pemrograman 1 ACTIVE X DAN MDI Chapter 05 bimocahyo bimocahyo.
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
Program Studi Teknik Informatika
NAMA : SITI HAJAR NIM : UNIT : B NO.HP : 0852 – 2000 – 3786.
Dasar Struktur Data Ika Menarianti.
Pengenalan Visual Basic
Nama : Siti Hajar Nim : Unit : B/III No.Hp : 0852 –
Tumpukan Dengan Array Ika Menarianti.
Program Studi Teknik Informatika
Senarai Berantai Ika Menarianti.
Menambah dan Menghapus Data Via Array
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
AP2A Perulangan & Array PJ : Wawan Setiawan 07
STRUKTUR DATA TUMPukAN (STACK).
STRUKTUR DATA PERTEMUAN 7
STRUKTUR DATA PERTEMUAN 4
Dasar Struktur Data Ika Menarianti.
Komputer 3 Dian C. Rini N, M.Kom
Menggunakan Form Pertemuan Ke-3.
Rahmady Liyantanto liyantanto.wordpress.com
QUEUE (Antrian).
Transcript presentasi:

Antrian Dengan Array Ika Menarianti

Mengenal Struktus Data Antrian Antrian (queue) adalah struktur data yang mempunyai sifat bahwa data yang masuk duluan akan diproses lebih dulu. Struktur data ini mempunyai sifat FIFO (First-In-First-Out). Antrian kosong Depan A B C Depan Belakang B C Depan Belakang B C D E Belakang

Operasi dalam antrian Insert menyatakan operasi untuk memasukkan data kedalam antrian. Dinyatakan dengan Insert(A, d) atau Insert(d). A menyatakan antrian dan d menyatakan item data yang dimasukkan ke dalam antrian. Remove menyatakan operasi untuk mengambil data dari antrian. Dinyatakan dengan Remove(A). Penggunaan Remove dituangkan dalam bentuk pernyataan Data:= Remove(A);

Implementasi Antrian dengan array Pilih menu File dan Save project As.. Simpan unit dengan nama FAntrian Simpan project dengan nama Pantrian atur properti form sebagai berikut: Name : FormAntrian Caption: Antrian

Menambahkan kode untuk mendeklarasikan tipe dan variabel Ketikkan kode berikut diatas kata type const Makselemen = 10; Di bawah baris type, sisipkan kode berikut: TQueue = record Data : array [1..Makselemen] of String; Depan, Belakang : 0 ..Makselemen; end; Buat baris kosong dibawah {private declarations} dan ketikkan: Antrian : TQueue;

const Makselemen = 10; Untuk membuat konstanta bernama Makselemen yang bernilai 10. TQueue = record Data : array [1..Makselemen] of String; Depan, Belakang : 0 ..Makselemen; end; Digunakan untuk membuat tipe Tqueue yang menyatakan struktur data tumpukan. Tipe ini mengandung tiga buah field yait Data, Depan dan Belakang. Data berupa array yang mengandung Makselemen buah elemen. Depan menyatakan posisi depan antrian dan Belakang menyatakan posisi belakan antrian. Antrian : TQueue; Dimaksudkan untuk membuat variabel instan bernama antrian yang bertipe Tqueue.

Berikut variabel antrian dan field yang terkandung didalamnya 1 2 3 4 5 6 7 8 9 10 Antrian Data Menyatakan data paling depan Depan Belakang Menyatakan data paling belakang

Nilai Depan dan Belakang yang sama menyatakan bahwa antrian dalam keadaan kosong, tidak peduli sedang menunjuk posisi apapun. 1 2 3 4 5 6 7 8 9 10 Depan 1 Belakang 1 Nilai yang sama pada Depan dan Belakang menyatakan antrian kosong

Contoh berikut menunjukkan keadaan setelah dua data dimasukkan ke dalam antrian: Data paling depan 1 2 3 4 5 6 7 8 9 10 Depan 1 Nara Fadhilah Data paling belakang Belakang 3 Dua data setelah ditambahkan

Menambahkan komponen string grid, edit dan button

Komponen Properti Nilai String Grid Name StringGridAntrian ColCount 1 (lebarkan sesuai grid) ScrollBars ssVertical (hanya scrollbar vertikal yang ditampilkan) Edit EditAntrian Text Kosongkan Button 1 ButtonInsert Caption &Insert Button 2 ButtonRemove &Remove Button 3 ButtonKeluar &Keluar

Menambahkan prosedur untuk menampilkan data Tambahkan baris berikut di atas kata private procedure TampilkanData; Tuliskan kode berikut di atas end. yang paling bawah. procedure TFormAntrian.TampilkanData; var i : integer; Ket: String; begin StringGridAntrian.RowCount:= Makselemen + 1; StringGridAntrian.Cells[0,0] := 'Isi Antrian'; for i:=1 to Makselemen do

begin //keterangan tambahan if Antrian. Belakang = Antrian begin //keterangan tambahan if Antrian.Belakang = Antrian.Depan then if Antrian.Belakang = i then Ket := '{Depan dan Belakang}' else Ket := '' if Antrian.Depan = i then Ket := '{Depan}' Ket := '{Belakang}' Ket := ''; end; StringGridAntrian.Cells[0,i] := Antrian.Data[i] + Ket; Pastikan tidak ada kesalahan dengan tekan F9 dan simpan

StringGridAntrian.Cells[0,i] := Antrian.Data[i] + Ket; Pernyataan if bertingkat digunakan untuk mengatur variabel Ket. Untuk setiap elemen dalam antrian akan di isi dengan string kosong ‘{Depan}’, ‘{Belakang}’ atau ‘{Depan dan Belakang}’ Isi variabel Ket selanjutnya ditambahkan ke setiap elemen dalam antrian melalui pernyataan: StringGridAntrian.Cells[0,i] := Antrian.Data[i] + Ket;

Menambahkan kode pada OnCreate Klik Event pada Object Inspector, pilih OnCreate dan klik ganda, kemudian ketikkan kode dibawah ini: procedure TFormAntrian.FormCreate(Sender: TObject); var i : Integer; begin Antrian.Depan := Makselemen; Antrian.Belakang := Makselemen; //kosongkan data for i := 1 to Makselemen do Antrian.Data[i] := ''; TampilkanData; end; Tambahkan kode yang berwarna merah pada baris program OnCreate

Tampilan setelah program di compile

Menambahkan prosedur Insert Diatas kata private ketikkan kode berikut procedure Insert(x : String); Di atas baris end. Paling bawah ketikkan kode berikut: procedure TFormAntrian.Insert(x:string); var PosisiBelakang : 1..Makselemen; begin //geser belakang ke posisi berikutnya

if Antrian.Belakang = Makselemen then PosisiBelakang := 1 else PosisiBelakang := Antrian.Belakang + 1; //cek belakang apa sama dengan depan if PosisiBelakang = Antrian.Depan then ShowMessage('Antrian Penuh') begin Antrian.Belakang := PosisiBelakang; //Masukkan data Antrian.Data[Antrian.Belakang] := x; end end; Pastikan tidak ada kesalahan dengan tekan F9 dan simpan

Tambahkan kode untuk menambahkan data ke dalam antrian Klik ganda pada tombol Insert dan secara otomatis kejadian OnClick akan diaktifkan jika tombol di klik. Tuliskan kode berikut: procedureTFormAntrian.ButtonInsertClick(Sender: TObject); begin //periksa kalau data kososng if Trim(EditAntrian.Text) = '' then ShowMessage('Data harap diisi'); Exit; end; Insert(EditAntrian.Text); TampilkanData;

Keterangan.. Isi EditAntrian akan di cek dulu, apakah dalam keadaan kosong atau tidak. Jika kosong maka pernyatan Exit membuat eksekusi terhadap prosedur diakhiri setelah muncul “Data Harap di isi”. Jika komponen edit tidak kosong maka perintah Insert(EditAntrian.Text); TampilkanData; Akan dijalankan. Pernyataan pertama memanggil prosedur Insert untuk memasukkan data pada antrian. Prosedur TampilkanData akan membuat data yang dimasukkan terlihat di String Grid.

Tampilan jika edit tidak di isi

Tampilan jika edit di isi Isikan data sebanyak 9 kali, dan lihat apa yang terjadi.

Menambahkan fungsi Empty Tambahkan kode berikut di atas private function Empty():Boolean; Ketikkan program berikut di tas end. Simpan program. function TFormAntrian.Empty():Boolean; begin if Antrian.Depan = Antrian.Belakang then Empty := True else Empty := False; end;

Menambahkan fungsi remove Tambahkan kode berikut diatas private function Remove(): String; Tulis kode berikut di atas end. function TFormAntrian.Remove():String; begin if Empty() then ShowMessage('Antrian Ksong'); Remove:= ''; Exit; end; if Antrian.Depan = Makselemen then Antrian.Depan := 1 else Antrian.Depan := Antrian.Depan + 1; Remove := Antrian.Data[Antrian.Depan];

Keterangan.. Pada awalnya dilakukan pemeriksaan terhadap isi antrian. Jika antrian kosong maka pesan “antrian kosong” akan ditampilkan. Apabila antrian tidak kosong, akan diperiksa apakah Depan bernilai sama dengan Makselemen. Kalau ya maka Depan diberi nilai 1 yang menyatakan bahwa data berada pada indeks 1. Jika tidak maka data yang dimasukkan berada satu posisi sesudahnya. Kemudian Remove := Antrian.Data[Antrian.Depan]; memberikan nilai balik pada fungsi remove.

Tambahkan kode pada tombol Remove Klik ganda pada tombol remove Ketikkan kode berikut: procedure TFormAntrian.ButtonRemoveClick(Sender: TObject); var Data : String; begin Data := Remove; TampilkanData; if Data <> '' then ShowMessage('Data yang diambil: ' + Data); end;

Uji program dengan menambahkan data ke dalam antrian dan kemudian ambil data dari antrian.

Tekan tombol remove Lakukan remove untuk semua data dan lihat apa yang terjadi.

Menampilkan data antrian dari depan ke belakang Ubah program pada prosedur TampilkanData dengan kode dibawah ini: procedure TFormAntrian.TampilkanData; var i, JumData, Nomor : integer; begin //Hitung jumlah data if Antrian.Depan = Antrian.Belakang then JumData := 0 else // kalau tidak nol if (Antrian.Depan < Antrian.Belakang) then JumData := Antrian.Belakang - Antrian.Depan else JumData := Makselemen - Antrian.Depan + Antrian.Belakang;

//tentukan jumlah baris dalam string grid dan judul StringGridAntrian //tentukan jumlah baris dalam string grid dan judul StringGridAntrian.RowCount:= JumData + 1; StringGridAntrian.Cells[0,0] := 'Isi Antrian'; //salin data ke string grid dari depan ke belakang if Antrian.Depan = Antrian.Belakang then for i:=1 to Makselemen do StringGridAntrian.Cells[0,i]:= '' else //kalau tidak nol if (Antrian.Depan < Antrian.Belakang) then begin Nomor:=1; for i:= Antrian.Depan + 1 to Antrian.Belakang do StringGridAntrian.Cells[0,Nomor] := Antrian.Data[i]; Nomor:= Nomor +1; end

else begin Nomor:=1; for i:=Antrian else begin Nomor:=1; for i:=Antrian.Depan + 1 to Makselemen do StringGridAntrian.Cells[0,Nomor] := Antrian.Data[i]; Nomor:= Nomor+1; end; for i := 1 to Antrian.Belakang do StringGridAntrian.Cells[0,Nomor]:=Antrian.Data[i]; Nomor:=Nomor+1; end

Evaluasi

Soal 1 Apa yag dimaksud dengan antrian? Mengapa antrian dikatakan mempunyai sifat FIFO?

Soal 2 Gambarkan keadaan antrian untuk setiap pemanggilan operasi berikut: Insert(‘A’) Insert(‘B’) Insert(‘C’) Remove Insert(‘X’) Insert(‘Y’) Insert(‘Z’)

Soal 3 Berdasarkan contoh program sebelumnya, jika suatu antrian terbentuk menggunakan array dengan 20 elemen maka hanya bisa digunakan 19 elemen saja. Benarkah? Mengapa begitu? Jelaskan!

Soal 4 Suatu antrian diimplementasikan dengan array yang mengandung 6 elemen dengan keadaan sebagai berikut: 7 1 2 3 4 5 6 10 12 Depan 5 3 Belakang 10

Berapa jumlah data dalam antrian tersebut? Bagaimana urutan antriannya? Bila terjadi sebuah operasi Remove, gambarkan keadaan akhirnya!