Anda di halaman 1dari 21

MAKALAH

STRUKTUR DATA

Dosen Pengampu:

Abdul Hamid, S.Kom

Disusun Oleh:

Heldawana

NIM: 1902020

PRODI TEKNIK INFORMATIKA

STKOM SAPTA KOMPUTER

TAHUN AJARAN 2021

1
KATA PENGANTAR

Puji syukur saya panjatkan ke hadirat Tuhan Yang Maha Esa, karena dengan karunianya
penulis dapat menyelesaikan makalah yang berjudul “Queue” ini. Tujuan penulisan makalah
ini adalah untuk menyelesaikan tugas mata kuliah Algoritma dan Struktur Data.
Saya menyadari bahwa makalah ini masih jauh dari sempurna, oleh karena itu kritik dan
saran dari semua pihak yang bersifat membangun selalu saya harapkan demi kesempurnaan
makalah ini.
Akhir kata, saya sampaikan terima kasih kepada semua pihak yang telah berperan serta dalam
penyusunan makalah ini dari awal sampai akhir. Semoga Tuhan Yang Maha Esa senantiasa
meridhoi segala usaha kita. Aamiin.

2
DAFTAR ISI
KATA PENGANTAR...........................................................................2
DAFTAR ISI..........................................................................................3
BAB I PENDAHULUAN......................................................................4
1.1. LATAR BELAKANG.................................................................4
1.2. RUMUSAN MASALAH..............................................................4
1.3. TUJUAN.......................................................................................5
BAB II PEMBAHASAN.......................................................................5
A. QUEUE / ANTRIAN…………………………………………………….………5
B. PROCEDURE CLEAR…………………………………………………………..7
C. IMPLEMENTASI QUEUE DENGAN CIRCULAR ARRAY………………….7
D. PENGERTIAN STRUKTUR DATA………………………………..…………...8
E. MACAM – MACAM TIPE STRUKTUR DATA……………………………….14
BAB III. PENUTUP..............................................................................20
KESIMPULAN.......................................................................................20
SARAN...................................................................................................20
DAFTAR PUSTAKA………………………………………………….21

3
BAB I
PENDAHULUAN

A. Latar Belakang

Dalam kehidupan sehari-hari kita pasti pernah menjumpai atau melakukan yang nama
antrian, misal saat mengantri di loket kereta, di teller bank, di rumah sakit, dll. Kita pasti
melakukan yang namanya antrian. Oleh karena itu di sini akan dibahas tentang antrian di
pemrograman java yang tujuannya memudahkan dan membantu kita pada kehidupan sehari-
hari.

Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom
data, baik itu kolom yang tampak oleh pengguna (user ) atau pun kolom yang
hanyadigunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap
baris darikumpulan kolom-kolom tersebut dinamakan catatan (record ). Lebar kolom untuk
data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai
masukandari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah
struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan
datakeuangan) atau untuk pengolah kata (word processor ) yang kolomnya berubah
secaradinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar
(spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres),
juga penempatan berkas dengan teknik tertentu yang memanfaatkan struktur data. Dalam
istilah ilmu komputer, sebuah struktur data adalah carapenyimpanan, penyusunan dan pengaturan
data di dalam media penyimpanankomputer sehingga data tersebut dapat digunakan secara
efisien.SedangkanData adalah representasi dari fakta dunia nyata. Fakta atau keterangantentang
kenyataan yang disimpan, direkam atau direpresentasikan dalambentuk tulisan, suara, gambar,
sinyal atau simbol.Konstanta digunakan untuk menyatakan nilai tetap sedangkan variabledigunakan
dalam program untuk menyatakan nilai yang dapat berubahubahselang eksekusi berlangsung.Ada
empat istilah data, yaitu: 1.Tipe data adalah jenis atau macam data di dalam suatu variabledalam
bahasa pemrograman.2.Objek data mengacu kumpulan elemen, D (domain).3.Representasi data :
Suatu mapping dari struktur data ‘d’ ke suatuset ke struktur data ‘e’ (d===e) misal bolean di
representasikandalam 0 dan 1.4.Struktur data biasa dipakai untuk mengelompokan
beberapainformasi yang terkait menjadi sebuah kesatuan.Dalam teknik pemrograman, struktur data
berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna
(user) atau pun struktur data yang tepat didalam proses pemrograman akan menghasilkanalgoritma

4
yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebihefisien dan
sederhana.Struktur data yang standar yang biasanya digunakan dibidang informatika adalah:ØList
linier (Linked List) dan variasinyaØMultilistØStack (Tumpukan)ØQueue (Antrian)ØTree
( Pohon)ØGraph ( G Struktur data biasa dipakai untuk mengelompokan beberapainformasi yang
terkait menjadi sebuah kesatuan.Dalam teknik pemrograman, struktur data berarti tata letak data
yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom
yang hanyadigunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna.Setiap baris
darikumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data
dapatberubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari
pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuahstruktur data dapat
diterapkan untuk pengolahan database (misalnya untuk keperluan datakeuangan) atau untuk
pengolah kata (word processor) yang kolomnya berubah secaradinamis.

B. Rumusan Masalah

Dari uraian latar belakang di atas dapat ditarik rumusah masalah yaitu :

1. Apakah Queue itu ?

2. Bagaimana implementasi Queue dengan Linear Array ?

3. Bagaimana implementasi Queue dengan Circullar Array ?

4. bagaimana penggunaan struktur data dalam teknik pemrograman dengan struktur – struktur
yang ada ?

C. Tujuan

5
1. Mengetahui apa Queue.

2. Mengetahui cara mengimplementasi Queue dengan Linear Array.

3. Mengetahui cara mengimplementasi Queue dengan Circullar Array

4. Mengetahui dan memahami macam – macam struktur data

BAB II PEMBAHASAN

A. QUEUE / ANTRIAN

Secara harfiah queue dapat diartikan sebagai antrian. Queue merupakan kumpulan data
dengan penambahan data hanya melalui satu sisi, yaitu belakang (tail) dan penghapusan data
hanya melalui sisi depan (head). Berbeda dengan stack yang bersifat LIFO maka queue
bersifat FIFO (First In First Out), yaitu data yang pertama masuk akan keluar terlebih dahulu
dan data yang terakhir masuk akan keluar terakhir. Berikut ini adalah gambaran struktur data
queue.

Elemen yang pertama kali masuk ke dalam queue disebut elemen depan (front/head of
queue), sedangkan elemen yang terakhir kali masuk ke queue disebut elemen belakang
(rear/tail of queue). Perbedaan antara stack dan queue terdapat pada aturan penambahan dan
penghapusan elemen. Pada stack, operasi penambahan dan penghapusan elemen dilakukan di
satu ujung. Elemen yang terakhir kali dimasukkan akan berada paling dekat dengan ujung
atau dianggap paling atas sehingga pada operasi penghapusan, elemen teratas tersebut akan
dihapus paling awal, sifat demikian dikenal dengan LIFO. Pada queue, operasi tersebut
dilakukan di tempat yang berbeda. Penambahan elemen selalu dilakukan melalui salah satu
ujung, menempati posisi di belakang elemen-elemen yang sudah masuk sebelumnya atau
menjadi elemen paling belakang. Sedangkan penghapusan elemen dilakukan di ujung yang
berbeda, yaitu pada posisi elemen yang masuk paling awal atau elemen terdepan. Sifat yang
demikian dikenal dengan FIFO.

Operasi operasi standar pada queue adalah:

6
1. Membuat queue atau inisialisasi.

2. Mengecek apakah queue penuh.

3. Mengecek apakah queue kosong.

4. Memasukkan elemen ke dalam queue atau InQueue (Insert Queue).

5. Menghapus elemen queue atau DeQueue (Delete Queue).

Disebut juga queue dengan model fisik, yaitu bagian depan queue selalu menempati posisi
pertama array. Queue dengan linear array secara umum dapat dideklarasikan sebagai berikut:

Const

MaxQueue = {jumlah}; Type

TypeQueue = byte; Var

Queue : Array[1..MaxQueue] of TypeQueuel Head, Tail : Byte;

Operasi operasi queue dengan linear array:‐

1. Create

Procedure create berguna untuk menciptakan queue yang baru dan kosong yaitu dengan cara
memberikan nilai awal (head) dan nilai akhir (tail) dengan nol (0). Nol menunjukan bahwa
queue masih kosong.

Function empty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data.
Hal ini dilakukan dengan mengecek apakah tail bernilai nol atau tidak, jika ya maka kosong.

Function Empty : Boolean; Begin

Empty := False; End;

3. Full

Function Full : Boolean; Begin

7
If Tail = MaxQueue then Full := true

Else

Full := False End;

4. EnQueue

Procedure EnQueue berguna untuk memasukkan 1 elemen ke dalam queue. Procedure


Enqueue(Elemen : Byte);

Begin

Begin

Procedure DeQueue berguna untuk mengambil 1 elemen dari Queue, operasi ini sering
disebut juga SERVE. Hal ini dilakukan dengan cara memindahkan semua elemen satu
langkah ke posisi di

depannya, sehingga otomatis elemen yang paling depan akan tertimpa dengan elemen yang
terletak dibelakangnya.

Procedure DeQueue; Var I : Byte;

Begin

If Not Empty then Begin

B. Procedure clear

berguna untuk menghapus semua elemen dalam queue dengan jalan mengeluarkan semua
elemen tersebut satu per satu sampai kosong dengan memanfaatkan procedure DeQueue.
Procedure Clear;

Begin

End;

8
C. Implementasi Queue dengan Circular Array

Salah satu variasi array adalah array melingkar (circular array), artinya array dapat diakses
mulai dari sembarang indeks (indeks awal) ke arah indeks terakhir (maksimum array), lalu
memutar ke indeks pertama hingga kembali ke indeks awal. Circular array adalah array yang
dibuat seakan-akan merupseakan-akan sebuah lingkaran dengan titik awal dan titik akhir
saling bersebelahan jika array tersebut masih kosong. Jumlah data yang dapat ditampung oleh
array ini adalah besarnya ukuran array dikurangi 1. Misalnya besar array adalah 8, maka
jumlah data yang dapat ditampung adalah 7.

Dengan circular array, meskipun posisi terakhir telah terpakai, elemen baru tetap dapat
ditambahkan pada posisi pertama jika posisi pertama dalam keadaan kosong. Jika
akhir=MAX dan awal=1, nilai head dan tail mencapai maksimum, maka akan dikembalikan
ke posisi awal. Operasi-operasi yang terdapat pada circular array tidak jauh berbeda dengan
Operasi-operasi pada linear array. Operasi operasi queue dengan circular array:‐

1. Create

3. Full

Function Full : Boolean; Var X : 1 .. Max_queue; Begin

X := (Tail Mod Max_queue)+1;

If (x Mod Max_queue) + 1 = head then

Procedure EnQueue (Elemen : TypeElemen); Begin

If Not Full Then Begin.

D. Pengertian Struktur Data

Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan,
penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data
tersebut dapat digunakan secara efisien. Sedangkan Data adalah representasi dari fakta dunia
nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau
direpresentasikan dalambentuk tulisan, suara, gambar , sinyal atau simbol. Konstanta

9
digunakan untuk menyatakan nilai tetap sedangkan variable digunakan dalam program untuk
menyatakan nilai yang dapat berubah-ubah selang eksekusi berlangsung. Ada empat istilah
data, yaitu: 1. Tipe data adalah jenis atau macam data di dalam suatu variabledalam bahasa
pemrograman. 2. Objek data mengacu kumpulan elemen, D (domain) 3. Representasi data :
Suatu mapping dari struktur data ‘d’ ke suatu set ke struktur data ‘e’ (d===e), misal bolean di
representasikan dalam 0 dan 1. 4. Struktur data biasa dipakai untuk mengelompokan beberapa
informasi yang terkait menjadi sebuah kesatuan. Struktur data adalah suatu koleksi /
kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang di definisikan
terhadapnya. Dalam teknik pemrograman, struktur data berarti tata letak yang berisi
kolomkolom data baik itu kolom yang tampak oleh pengguna (user) ataupun kolom yang
hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna.
Struktur data adalah basis dari tipe data abstrak. Tipe data abstrak mendefinisikan bentuk logis
dari sebuah tipe data sementara struktur data mengimplementasikan bentuk fisik dari tipe data
tersebut.[1]

Masing-masing jenis struktur data yang berbeda cocok untuk penggunaan-penggunaan yang
berbeda, dan beberapa jenis memang dispesialisakian untuk tugas tertentu. Contohnya, basis
data relasional biasanya menggunakan indeks B-tree untuk data retrieval,sedangkan
implementasi kompilator biasanya menggunakan tabel hash untuk menemukan pengidentifikasi

Struktur data memberikan cara mengelola data yang banyak secara efisien untuk berbagai
penggunaan, misalnya untuk basis data yang besar dan layanan pengindeksan internet.
Biasanya, struktur data yang efisien adalah kunci untuk mendesain algoritme yang efisien.
Beberapa metode desain formal dan bahasa pemrograman menekankan struktur data, bukan
pada algoritme, sebagai faktor kunci dalam mengatur desain perangkat lunak. Struktur data bisa
digunakan untuk mengatur penyimpanan dan pengambilan informasi yang disimpan baik di
dalam memori utama maupun memori sekunder.

Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan
algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan
lebih efisien dan sederhana. Struktur data standar yang biasanya digunakan dibidang
informatika adalah :
- ADT, Array, Struk
- List linear (Linked List) dan variasinya
- Multilist
- Stack

10
- Tree
- Graph
- Queue

PEMBUATAN STRUKTUR DATA Untuk membuat menjadi struktur data, kita harus
melakukan dulu aktivitas terhadap objek data, yaitu :
- Mendeskkripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen objek data
- .Menunjukan mekanisme kerja operasi-operasi.

Objek data integer ditambah operasi (+, -, *, /, mod ,cell, floor, ) dan operasi-operasi lain
yang memanipulasi objek data integer menyatakan struktur data. Struktur data - objek
data + { operasi manipulasi }. Tahap Pembuatan Struktur Data adalah, sebagai berikut : 

Tahap Pertama : Spesifikasi Pendeskripsian / spesifikasi struktur data menyatakan apa


yang dapat dilakukan struktur data, bukan cara penerapannya.

Pendeskripsian ini melibatkan level logic sehingga dapat digunakan konvensi


matematika untuk menyatakan sifat-sifat struktur data yang dikehendaki. Spesifikasi
dapat dilakukan dengan dua cara, yaitu dengan Spesifikasi secara formal dan informal.

 Tahap Kedua : Implementasi 1mplementasi menyatakan cara penerapan struktur data


dengan struktur data yang telah ada. 1mplementasi struktur data adalah proses pendefinisian
tipe data abstrak sehingga semua operasi dapat dieksekusi komputer. 1mplementasi struktur
penyinpanan item-item data serta algoritma-algoritma untuk implementasi operasi-operasi
sehingga menjamin terpenuhinya karakteristik struktur data, relasi item-item data atau
invariant pada struktur data itu.

 Tahap Ketiga : Pemrograman Pemrogramanter struktur adalah penerjemahan menjadi


pernyataan di bahasa pemrograman tertentu. Prosesnya terdiri dari :

-Deklarasi yang mendefinisikan objek -objek data dan hubungannya


- Pembuatan prosedur / rutin untuk operasi – operasi dasar yang menjaga invariant pada
struktur data itu.

11
2.2 Class & Object Pengertian Class adalah struktur dasar dari OOP (Object Oriented
Programming). Terdiri dari dua tipe yaitu : field (attribute/property) dan method (behavior).
Class digunakan untuk mendeklarasikan sebuah variabel yang berupa objek atau dinamakan
“referensi objek (object reference)”. Sedangkan pengertian Object adalah Setiap Object
(obyek) dibangun dari sekumpulan data (atribut) yang disebut "variabel" (untuk menjabarkan
karakteristik khusus dari obyek) dan juga terdiri dari sekumpulan method (menjabarkan
tingkah laku dari obyek). Obyek merupakan sebuah instance (keturunan) dari class. Variabel
dan method diketahui sebagai variabel instance dan method instance. Class dan Object
merupakan fitur yang sangat membantu untuk mendirikan sebuah program besar, menjadikan
sebuah code program yang ditulis oleh programmer mudah untuk dimengerti, lebih
terstruktur, dan juga mudah dalam pemeliharaan program. Terdapat banyak fasilitas yang
disediakan oleh class, yaitu dapat menampung member variabel, function, constructor,
desctructor, overloading dan lain-lain. Diluar definisi class kita juga dimungkinkan untuk
membuat relalasi seperti inheritance dan overriding.

A. FIELD (attribute/property) Berlaku sebagai data

Didefinisikan oleh class, individu, berbeda satu dengan lainnya. Menggambarkan tampilan,
status, kualitas dari object dan didefinisikan dalam class dengan menggunakan variabel.
Contoh : class motorcycle attribute-nya : Color = [red, green, silver] Style = [cruiser, sport
bike, standart] Make = [Honda, BMW]

B. BEHAVIOR Berlaku sebagai method (operasi).

Menggambarkan bagaimana sebuah instance class beroperasi misal bagaimana reaksi dari
class jika diminta untuk melakukan sesuatu hal. Untuk menentukan behavior dari object
harus membuat Methods. Contoh : class Motorcycle { String make; String color; boolean
engineState; void startEngine() { if (engineState == true) System.out.println("The engine is
already on."); else { engineState = true; System.out.println("The engine is now on."); } } void
showAtts() { System.out.println("This motorcycle is a " + color + " " + make); if (engineState
== true) System.out.println("The engine is on."); else System.out.println("The engine is
off."); } public static void main (String args[]) { Motorcycle m = new Motorcycle(); m.make
= "Yamaha RZ350"; m.color = "yellow"; System.out.println("Calling showAtts...");

12
m.showAtts(); System.out.println("------");

System.out.println("Starting engine..."); m.startEngine(); System.out.println("------");


System.out.println("Calling showAtts..."); m.showAtts(); System.out.println("------");
System.out.println("Starting engine..."); m.startEngine(); } }

C. Modifier Modefier adalah sifat yang dimiliki oleh setiap atribut, method maupun kelas
dalam java. Modifier akses adalah modifier yang selalu digunakan untuk member tanda hak
akses pada resource tertentu. Modifier akses terdiri dari Private, Default, Protected, dan
Public dan beberapa Modifier lainnya yaitu Static dan Final. Ini sering di implementasikan
pada class, method, variable 

Static, yaitu modifier yang digunakan agar suatu atribut maupun method dapat diakses oleh
objek atau kelas lain meski tanpa dilakukan instansiasi terhadap kelas dimana atribut maupun
method itu berada. Method main adalah salah satu contoh method modifier static yang sering
digunakan

Final, yaitu modifier yang digunakan untuk mencegah kemungkinan modifikasi terhadap
atribut maupun method. Dengan modifier suatu atribut akan berlaku sebagai konstanta.

 Public, yaitu semua unsur yang terdapat dalam suatu class (method,object,dll) bisa diakses
secara bebas oleh semua class lain yang berada dalam satu package ataupun tidak.

 Protected, yaitu semua unsur yang terdapat dalam suatu class (method,object,dll) bisa
diakses secara oleh semua class lain yang berada dalam satu package dan class
bagian/turunan dari class awal meski berbeda package.

 Default, yaitu semua unsur yang terdapat dalam suatu class (method,object,dll) bisa diakses
secara oleh semua class lain yang berada dalam satu package.

 Private, yaitu semua unsur yang terdapat dalam suatu class (method, object, dll) bisa

13
diakses oleh class itu sendiri.

D. Cara Mendirikan Class dan Object Untuk mendirikan Class kita membutuhkan keyword
class yang dilanjutkan dengan pemberian nama dari deklarasi class tersebut. lalu dilanjutkan
dengan meletakan tanda { dan } untuk mengapit definisi dari class. Class termasuk sebuah
pernyataan maka dari itu akhir dari deklarasi class diwajibkan untuk mengakhiri class
menggunakan tanda titik-koma “;” Mendirikan class seperti halnya kita membuat sebuah
kerangka atau blueprint untuk object. Dan terdapat dua cara untuk mendirikan object pada
class, yaitu : 

Mendirikan object di dalam deklarasi Class : Seperti contoh sebelumnya, bahwa kita dapat
membuat object setelah definisi dari class yaitu tepat di antara tanda } dan ;. Memberi object
setelah definisi class tidak diharuskan, tapi dapat dilakukan dan kita bisa membuat object
lebih dari satu dengan memisahkan masing-masing object dengan tanda koma ,.

Mendirikan object di luar deklarasi Class : Mendirikan object sama seperti kita mendirikan
variabel, yang berbeda adalah nama dari class akan digunakan sebagai tipe data dari object.

2.3 Bitset Sebuah kelas BitSet menciptakan jenis khusus array yang memegang nilainilai bit.
The BitSet array dapat meningkatkan ukuran sesuai kebutuhan. Hal ini membuat mirip
dengan vektor bit. Ini adalah kelas warisan tetapi telah sepenuhnya kembali direkayasa di
Jawa 2, versi 1.4. The BitSet mendefinisikan dua konstruktor yang ditunjukkan di bawah ini.

1. BitSet(),

Konstruktor ini membuat objek bawaan.

2. BitSet(intsize),
Konstruktor ini memungkinkan Anda untuk menentukan ukuran awal, yaitu, jumlah bit yang
dapat terus. Semua bit diinisialisasi ke nol.

A. Metode – metode dalam Bitset BitSet mengimplementasikan antarmuka Cloneable dan


mendefinisikan metode yang tercantum di bawah ini:

14
 Void and (BitSet BitSet), AND isi memohon dengan BitSet objek dengan yang ditentukan
oleh BitSet. Hasilnya ditempatkan ke dalam obyek memohon.

 Void and not (BitSet BitSet), Untuk setiap 1 bit di BitSet, bit yang sesuai di BitSet
memohon dibersihkan.

 Int cardinality (), Mengembalikan jumlah set bit dalam objek memohon.

 Void clear (), Nol semua bit.

 Void clear(Int index), Angka nol bit yang ditentukan oleh indeks.

 Void clear (int startIndex, int endIndex), Zero bit dari startIndex ke endIndex.1.

 Object clone (), Duplikat objek BitSet memohon.

 Boolean equals (Object BitSet), Mengembalikan nilai true jika set memohon bit setara
dengan satu disahkan pada BitSet. Jika tidak, metode ini kembali palsu.

 Void flip (int index), Membalikkan bit yang ditentukan oleh indeks.

 Void flip (int startIndex, int endIndex), Membalikkan bit dari startIndex ke endIndex.1.

 Boolean get (int index), Mengembalikan keadaan saat bit pada indeks tertentu.

 Bitset get (int startIndex, int endIndex), Mengembalikan BitSet yang terdiri dari bit dari
startIndex ke endIndex.1. Objek invoking adalah tidak berubah.

 Int hashCode (), Mengembalikan kode hash untuk objek memohon.

 Boolean intersects (BitSet BitSet), Mengembalikan nilai true jika setidaknya satu pasangan
dari bit yang sesuai dalam objek memohon dan BitSet adalah 1.

15

Boolean isEmpty (), Mengembalikan nilai true jika semua bit dalam objek memohon adalah
nol.

 Int length (), Mengembalikan jumlah bit yang diperlukan untuk menahan isi BitSet
memohon. Nilai ini ditentukan oleh lokasi yang terakhir 1 bit.

 Int nextClearBit (int startIndex), Mengembalikan index dari bit dibersihkan berikutnya,
(yaitu, nol bit berikutnya), mulai dari indeks yang ditentukan oleh startIndex

 Int nextSetBit (int startIndex), Mengembalikan index dari set bit berikutnya (yaitu,
berikutnya 1 bit), mulai dari indeks yang ditentukan oleh startIndex. Jika tidak ada bit diatur,
0,1 dikembalikan.

 Void or (BitSet BitSet), OR isi memohon dengan BitSet objek dengan yang ditetapkan oleh
BitSet. Hasilnya ditempatkan ke dalam obyek memohon.

 Void set (int index), Menetapkan bit yang ditentukan oleh indeks.

 Void set (int index, boolean v), Menetapkan bit ditentukan oleh indeks dengan nilai yang
disahkan pada v. Benar set bit, palsu membersihkan bit.

 Void set (int startIndex, int endIndex), Set bit dari startIndex ke endIndex.1.

 Void set (int startIndex, int endIndex, boolean v), Set bit dari startIndex ke endIndex.1,
dengan nilai yang disahkan pada v. Benar menetapkan bit, palsu membersihkan bit.

 Int size (), Mengembalikan jumlah bit dalam objek BitSet memohon.

 String toString (), Mengembalikan setara string objek memohon BitSet.

 Void XOR (BitSet BitSet), ORs isi menerapkan objek BitSet dengan yang ditetapkan oleh

16
BitSet. Hasilnya ditempatkan ke dalam obyek memohon.

B. Contoh Program dan Outputnya import java.util.BitSet; public class BitSetDemo { public
static void main(String args[]) { BitSet bits1 = new BitSet(16); BitSet bits2 = new BitSet(16);
// set some bits for(int i=0; i

E. Macam – macam Tipe Struktur Data

tipe struktur data, ini kurang lebih ada 6 yaitu tipe Graph, Tree, Queue, Stack, Linked List
dan Array. Penjelasan singkat keenam tipe tersebut ialah sebagai berikut.

1.Tipe Graph

Tipe Graph ini adalah tipe yang cukup sering digunakan dalam berbagai kesempatan. Graph
sendiri merupakan struktur data yang non-linear dan terdiri dari kumpulan node. Node-node
tersebut disambungkan oleh suatu garis tertentu.

Garis yang dimaksud bisa memiliki arah atau justru sebaliknya. Contoh untuk tipe ini yang
sangat mudah Anda amati ialah jalur network di sebuah LAN, jalur telepon di suatu kota dan
lain sebagainya.

2.Tipe Tree

Seperti namanya, tipe yang kedua ini bisa diibaratkan dengan akar di suatu pohon. Jadi, tipe
ini bisa dimaknai sebagai kumpulan node dan masing-masing node tersebut tersusun dari
value dan juga berbagai referensi lainnya. Nah, Tree yang terdiri atas maksimal 2 anak akan
disebut sebagai Binary Tree.

Jika Anda lihat, Binary Tree mempunyai dua sub Tree yang terletak di bagian kiri serta
kanan. Ciri-cirinya adalah bagian kiri mempunyai nilai root yang lebih kecil dibandingkan
dengan bagian yang kanan.

17
Untuk mengakses data dalam Tree ini ada 3 cara yang bisa Anda lakukan, yaitu postorder,
pre-order dan inorder.

3.Tipe Queue

Tipe struktur data yang lainnya ialah Queue. Ini adalah struktur data yang bersifat LIFO
atau Last In First Out. Dalam Queue ini juga ada 3 operasi sekaligus yang bisa Anda lakukan
yakni peek atau melihat data yang paling awal dari suatu Queue, dequeue atau menghapus
data yang pertama dari Queue dan enqueue atau memasukkan data dalam Queue.

4.Tipe Stack

Stack ini adalah tipe yang mirip seperti Queue. Tipe ini juga mempunyai sifat LIFO karena
termasuk struktur data yang linear. Selayaknya Queue, dalam Stack ini juga ada 3 jenis
operasi sekaligus yang bisa dilakukan.

Operasi pertama ialah Peek atau memantau data teratas Stack. Operasi kedua ialah Push atau
yang bisa diartikan sebagai memasukkan suatu data baru dalam Stack, dan operasi yang
terakhir ialah Pop atau menghapus data yang paling atas dalam Stack.

5.Tipe Linked List

Jika diartikan secara kasar, maka Linked List berarti daftar yang terhubung. Ya, sesuai
dengan namanya, tipe satu ini memang berupa potongan-potongan aneka macam data yang
tersimpan secara acak.

Berbagai potongan data tersebut akan ada dalam memori komputer dan data yang dimaksud
memiliki referensi yang saling menunjuk satu sama lain.

Jadi, sudah paham bukan kenapa tipe ini disebut sebagai Linked List? Dalam tipe satu ini,
data yang pertama biasa disebut sebagai head, sementara data yang terakhir akan disebut
sebagai tail.

18
Jika melihat jumlah data yang diinput atau dimasukkan, Linked List memiliki kemampuan
untuk terhubung baik itu secara singly linked list ataupun doubly linked list.

Maksud dari singly linked list ialah data bisa diakses hanya dengan arah maju mulai dari data
pertama atau head ke data terakhir atau tail. Data tersebut tidak bisa diakses sebaliknya, yakni
dari tail ke head.

Sementara untuk doubly linked list, data bisa diakses dari dua arah yakni dari head ke tail
atau sebaliknya, dari tail ke head. Dengan kata lain, aksesnya bisa dibuat bolak balik.

6.Tipe Array

Selanjutnya ialah tipe Array. Ini adalah tipe yang memiliki kumpulan elemen dan elemen-
elemen tersebut jaraknya saling berdekatan dalam memori.

Dalam Array ada beberapa jenis operasi yang dipakai yaitu replace, sort, delete, insert, search
dan lain sebagainya. Tipe ini juga mempunyai dua jenis dimensi, yaitu 1 dimensi dan juga
multi-dimensi.

BAB III PENUTUP

KESIMPULAN

19
Struktur data merupakan salah satu bahan dasar pembuatan program. Pemakaian struktur data yang
tepat di dalam proses pemrograman, akan menghasilkan algoritma yang jelas dan tepat sehingga
menjadikan program secara keseluruhan lebih sederhana. Array merupakan bagian dari struktur
data yaitu termasuk kedalam struktur data sederhana yang dapat di definisikan sebagai pemesanan
alokasi memory sementara pada komputer.Apabila kita membuat program dengan data yang sudah
kita ketahui batasnyamaka kita menggunakan Array (type data statis), namun apabila datanya belum
kita ketahui batasnya maka gunakan pointer (type data dinamis).
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom
data, baik itu kolom yang tampak oleh pengguna (user ) atau pun kolom yang
hanyadigunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap
baris darikumpulan kolom-kolom tersebut dinamakan catatan (record ). Lebar kolom untuk
data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai
masukandari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah
struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan
datakeuangan) atau untuk pengolah kata (word processor ) yang kolomnya berubah
secaradinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar
(spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres),
juga penempatan berkas dengan teknik tertentu yang memanfaatkan struktur data.

SARAN

Demikianlah makalahini saya buat. Semoga dapat berguna bagi saya pribadi dan pembaca
umumnya. Saya menyadari bahwa makalah ini masih jauh dari kata sempurna. Oleh karena
itu, saya sangat mengharapkan kritik dan sarannya.
Bagi pembaca di harapkan mengamalkan ilmu yang di dapat setelah membaca makalah ini.
  Dan jika makalah saya ada kata – kata yang tidak berkenan di hati anda saya minta maaf.

DAFTAR PUSTAKA

https://pdfcoffee.com/makalah-struktur-data-8-pdf-free.html

20
https://id.scribd.com/document/403648520/MAKALAH-STRUKTUR-DATA-docx https://

https://qwords.com/blog/apa-itu-struktur-data/

file:///C:/Users/My%20Study/Downloads/section%20class%201%20struktur%20data.-
dikonversi.pdf

21

Anda mungkin juga menyukai