LAPORAN PRAKTIKUM
STRUKTUR DATA
MODUL 4
Oleh :
TRI WIJAYANTO
115410126 / TI
LABORATORIUM TERPADU
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AKAKOM
YOGYAKARATA
2012
PEMBAHASAN MODUL 4
PROGRAM
class Program_Antrian{ à Merupakan
nama kelas yang dibuat dengan
nama kelas Program_Antrian
static
int ekor = -1;
static
int maxEkor = 9;
è
Perintah
di atas berarti mendeklarasikan jumlah space untuk antrian yang akan digunakan. Variable ekor digunakan sebagai
batas yang dapat diisi, karena setiap indeks dimulai dari nol, maka data dapat
diisi dari 0, -1 sebagai pembatas. Dan variable maxEkor merupakan batas maksimum data
dapat diisi. Yakni 9, dan data akan diisi dengan indeks 0 sampai 9 sebanyak 10
data.
public
static void addQueue(String antrian[], String data) {
if
(ekor >= maxEkor)
System.out.println("Maaf,
antrian penuh");
Else {
System.out.println("addQueue:
"+data);
ekor++;
antrian[ekor]
= data;}}
è
Baris
program diatas merupakan pembuatan method addQueue sebagai penambahan antrian.
Didalam method tersebut terdapat sebuah kondisi, dimana, jika ekor atau indeks
melebihi batas maksimal yang sudah ditentukan, maka akan ada peringatan bahwa
antrian tersebut penuh. Namun, jika tidak, maka data akan ditambahkan dalam
antrian dan ekor akan bertambah.
public
static String deQueue(String antrian[]){
String
hasil = "";
if
(ekor < 0)
hasil
= "Maaf, antrian kosong";
else{
hasil = antrian[0];
antrian[0]
= null;
è
Perintah
Berbeda dengan method addQueue sebagai penambahan antrian, method deQueue
merupakan method untuk mengeluarkan antrian. Maka perintah diatas berarti jika
ekor lebih kecil dari 0, maka akan ada pesan bahwa antrian kosong, sehingga
tidak ada data yang perlu dikeluarkan. Dan jika lebih bedar dari 0, maka hasil
akan sama dengan antrian.
for
(int i = 1; i <= ekor; i++){
antrian[i-1]
= antrian [i];
antrian[i]
= null;}
ekor--;}
return
(hasil);}
è Sintaks diatas merupakan
perulangan dimana indek i – 1 dan
akan terus dilakukan penambahan antrian sampai pada nilai i lebih kecil atau sama dengan nilai ekor. Dan antrian akan
ditarik/dikurangi.
public
static void bacaAntrian(String antrian[]){
System.out.println("KONDISI
ANTRIAN : ");
for
(int i = 0; i <= maxEkor; i++){
if
(i == ekor)
System.out.println((i+1)
+ ". " + antrian[i] + " ekor");
else
System.out.println((i+1)
+ ". " + antrian[i]);}}
è
Sintaks
diatas merupakan method yang digunakan untuk membaca antrian yang ada, dengan
menggunakan tipe data string. Dalam
method tersebut terdapat perulangan for,
yaitu untuk mempermudahkan letak ekor dari antrian. dimana nilai dari variabel i = 0, dan akan diulang sampai pada
nilai lebih kecil atau sama dengan nilai yang ada pada maxEkor. Maka nilai i
akan dikerjakan terus atau ditambah satu dengan menggunkan i++. Jika nilai i sama
dengan nilai ekor, maka pada antrian akan ditambahkan tulisan ekor setelah data
ditampilkan. Namun jika tidak, tulisan itu tidak akan muncul dan yang ada hanya
data.
public
static void main(String[] args){
String
antrian[] = new String[100];
addQueue
(antrian, "Mobil A");
addQueue
(antrian, "Mobil B");
addQueue
(antrian, "Mobil C");
addQueue
(antrian, "Mobil D");
System.out.println("
");
bacaAntrian(antrian);
System.out.println("
");
bacaAntrian(antrian); }}
è Dan potongan program diatas
merupakan data atau mobil yang akan masuk dalam antrian, dan mobil yang akan
masuk dalam antrian berjumlah 4 mobil, yaitu mobil A, mobil B, mobil C, dan
mobil D. Dan yang masuk pertama adalah mobil A, maka mobil A merupakan top
dalam antrian yanga ada, hal tersebut ditentukan dari pembacaan antrian, pada
program sebelumnyadan ekor ada pada mobil D. Dari program diatas, mempunyai
array sebanyak 100, artinya data dapat dimuat sebanyak 100, namun karena nilai maxEkor
adalah sebanyak 9, tentu data atau
banyak data yang akan masuk ke dalam antrian hanya 10 mobil (dimulai dari 0 – 10).
Praktikum 1
OUTPUT
Praktikum 2 ( Penambahan 8 Elemen)
addQueue
(antrian, "Mobil E");
addQueue
(antrian, "Mobil F");
addQueue
(antrian, "Mobil G");
addQueue
(antrian, "Mobil H");
addQueue
(antrian, "Mobil I");
addQueue
(antrian, "Mobil J");
addQueue
(antrian, "Mobil K");
addQueue
(antrian, "Mobil L");
è
Sintaks
diatas merupakan perintah untuk menambahkan kedalam antrian, penambahan
dilakukan sebanyak 8 data, mualai dari mobil
E sampai dengan mobil L .Dan
kemudia method bacaAntrian dipanggil kembali.
OUTPUT
Penjelasan :Ada perbedaanPosisiEkordibandingkansebelumnya,
sekarangposisiekorberadapadaposisi10 atau pada mobil j, hal tersebut terjadi karena ada
penambahan sebanyak 8 elemen.
Praktikum 3
Penghapusan 7 elemen àSystem.out.println("deQueue: "+ deQueue (antrian));
è System.out.println("deQueue:
"+ deQueue (antrian));merupakan
baris perintah yang digunakan untuk penarikan data dari antrian. Penghapusan
data dilakukan sebanyak 7.
OUTPUT
Penjelasan :Ada perbedaanPosisiEkordibandingkansebelumnya,
sekarangposisiekorberadapadaposisi3 atau pada mobil j, hal tersebut terjadi karena ada
penghapusan sebanyak 7 elemen. Pengahapusan
dilakukan mulai dari mobil A sampai mobil G , sehingga hanya tersisa 3
mobil.
TUGAS
public class tugasJava4 {
static int ekor = -1;
static
int maxEkor = 9;
public static void addQueue(String antrian[],String data) {
if (ekor >= maxEkor)
System.out.println("Maaf, antrian Penuh");
else {
System.out.println("AddQueue : "+ data);
ekor = ekor+1;
antrian[ekor] = data; } }
public static String deQueue (String antrian[])
{
String hasil="";
if (ekor < 0)
hasil = "Maaf, Antrian Kosong";
else {
hasil = antrian[ekor];
antrian[ekor] = "";
ekor--;}
return (hasil); }
public static void bacaAntrian(String tumpukan[])
{
System.out.println("KONDISI antrian : ");
for (int i=ekor; i>=0; i--)
{ if (i==maxEkor)
System.out.println(i+ ". "+ tumpukan[i] +" ekor");
else
System.out.println(i+ ". "+ tumpukan[i]) }}
public static void main(String[] args) {
String antrian[] = new String[10];
addQueue (antrian, "Mobil A");
addQueue (antrian, "Mobil B");
addQueue (antrian, "Mobil C");
addQueue (antrian, "Mobil D");
addQueue (antrian, "Mobil E");
System.out.println(" ");
bacaAntrian(antrian);
System.out.println("deQueue : "+ deQueue(antrian));
System.out.println("deQueue : "+ deQueue(antrian));
bacaAntrian(antrian);}}
OUTPUT :
0 komentar:
Posting Komentar