TOPIK-TOPIK
PERKULIAHAN STRUKTUR DATA
Kali ini saya akan membahas mengenai mata kuliah Praktik
Struktur Data. Menurut saya, topik – topik yang perlu dipelajari selama
perkuliahan, antara lain :
- Membuat aplikasi sederhana untuk menyelesaikan permasalahan yang diberikan sesuai dengan Struktur Data yang telah ditentukan.
- Membandingkan algoritma Struktur Data yang satu dengan yang lainnya.
- Memilih dan mengimplementasikan suatu Struktur Data tertentu ke dalam aplikasi yang sesuai.
CONTOH PENERAPAN
STRUKTUR DATA DALAM KEHIDUPAN SEHAR-HARI
Kemudian, contoh penerapan Struktur Data dalam kehidupan
sehari-hari antara lain :
LIST
List merupakan sebuah kumpulan benda di mana setiap benda
memiliki posisi.
Misalnya:
• Urutan angka pada keyboard komputer.
• Urutan lagu pada playlist Mp3 player, dll.
STACK
Stack adalah merupakan sebuah kumpulan benda dimana hanya
benda yang baru dimasukkan yang dapat diakses atau dilihat. Stack juga
merupakan perintah pengumpulan data secara linier yang disebut “last in, first
out” (LIFO).
Misalnya:
• Setumpuk koran, dimana koran yang paling terakhir
ditambahkan dan ditaruh di atas tumpukan yang dapat dilihat.
• Tumpukan kotak rokok, koin, buku, dll
QUEUE atau ANTRIAN
Queue atau antrian adalah sebuah kumpulan benda di mana
hanya benda yang terakhir dimasukkan yang dapat diakses. Queue atau Antrian
merupakan perintah pengumpulan data yang disebut “first-in, first-out”.
Aplikasi ini meliputi jadwal pekerjaan dalam sebuah operasi
Misalnya:
a. Antrian printer job pada sebuah jaringan
b. Antrian nasabah pada sebuah bank
c. Antrian loket bioskop, dll
CONTOH IMPLEMENTASI
STACK PADA JAVA
Contoh program implementasi
Stack untuk membalikkan suatu kata.
import java.util.Scanner;
class Node {
public
char Data1;
public
Node next;
//
-------------------------------------------------------------
public
Node(char dat1) {
Data1
= dat1;
}
//
-------------------------------------------------------------
public
void tampilNode() {
System.out.print(Data1
+ " ");
}
} // end class Note
////////////////////////////////////////////////////////////////
class LinkList {
private
Node first;
//
-------------------------------------------------------------
public
LinkList() { // constructor
first
= null;
}
//
-------------------------------------------------------------
public
boolean isEmpty() {
return
(first==null);
}
//
-------------------------------------------------------------
public
void insertFirst(char dat1) {
Node
newNode = new Node(dat1);
newNode.next
= first;
first
= newNode;
}
//
-------------------------------------------------------------
public
char hapusFirst() {
char
temp = first.Data1;
first
= first.next;
return
temp;
}
//
-------------------------------------------------------------
public
void tampilList() {
Node
indek = first;
while(indek
!= null) {
indek.tampilNode();
indek
= indek.next;
}
System.out.println("");
}
//
-------------------------------------------------------------
} // end class LinkList
////////////////////////////////////////////////////////////////
class LinkStack {
private
LinkList list;
//--------------------------------------------------------------
public
LinkStack() { // constructor
list
= new LinkList();
}
//--------------------------------------------------------------
public
void push(char dat1) {
list.insertFirst(dat1);
}
//--------------------------------------------------------------
public
char pop() {
return
list.hapusFirst();
}
//--------------------------------------------------------------
public
boolean isEmpty() {
return
( list.isEmpty() );
}
//--------------------------------------------------------------
public
void tampilStack() {
System.out.println("Jika
dibalik hasilnya :");
System.out.print("-->
");
list.tampilList();
}
//--------------------------------------------------------------
} // end class LinkStack
////////////////////////////////////////////////////////////////
class Reverse {
public
static void main(String[] args) {
LinkStack
stack = new LinkStack();
System.out.println("MASUKKAN
KALIMAT TANPA SPASI");
System.out.print("-->
");
Scanner
input = new Scanner(System.in);
String
kata=input.next();
System.out.println("");
for(int
i=0; i<kata.length(); i++){
char
a = kata.charAt(i);
stack.push(a);
}
stack.tampilStack();
} //
end main()
} // end class Reverse
////////////////////////////////////////////////////////////////
Sekian postingan saya kali ini. Terima Kasih.
Sumber :
http://besmart.uny.ac.id/v2/
course : Struktur Data (ADI)
Komentar
Posting Komentar