21 Desember 2011
MainStack
public class MainStack {
public static void main(String[] args) {
Stack test = new Stack();
test.push(40);
test.push(20);
test.push(30);
System.out.println("Stack :" + test.tumpukan.toString());
System.out.println("Ukuran :" + test.size());
System.out.println("Setelah di POP :");
test.pop();
System.out.println("Stack :" + test.tumpukan.toString());
System.out.println("Ukuran :" + test.size());
}
}
Stack
import LinkedLstHead.LinkedList;
import LinkedLstHead.ListNode;
public class Stack {
LinkedList tumpukan;
public Stack() {
tumpukan = new LinkedList();
}
public void push(int data) {
tumpukan.addFirst(data);
}
public int pop() {
return tumpukan.removeFirst();
}
public int size() {
return tumpukan.getSize();
}
public boolean isEmpty() {
if (tumpukan.isEmpty()) {
return true;
} else {
return false;
}
}
}
ListNode
package LinkedListObject;
public class ListNode {
Object element;
ListNode next;
ListNode prev;
public ListNode() {
}
public ListNode(Object element) {
this.element = element;
}
public Object getElement() {
return element;
}
public void setElement(Object element) {
this.element = element;
}
public ListNode getNext() {
return next;
}
public void setNext(ListNode next) {
this.next = next;
}
public ListNode getPrev() {
return prev;
}
public void setPrev(ListNode prev) {
this.prev = prev;
}
}
public class ListNode {
Object element;
ListNode next;
ListNode prev;
public ListNode() {
}
public ListNode(Object element) {
this.element = element;
}
public Object getElement() {
return element;
}
public void setElement(Object element) {
this.element = element;
}
public ListNode getNext() {
return next;
}
public void setNext(ListNode next) {
this.next = next;
}
public ListNode getPrev() {
return prev;
}
public void setPrev(ListNode prev) {
this.prev = prev;
}
}
LinkedList
public class LinkedList {
int size;
ListNode head;
public LinkedList() {
head = new ListNode();
head.next = head;
head.prev = head;
size = 0;
}
private ListNode addBefore(int x, ListNode bantu) {
ListNode baru = new ListNode(x);
baru.next = bantu;
baru.prev = bantu.prev;
bantu.prev.next = baru;
bantu.prev = baru;
size++;
return baru;
}
private int remove(ListNode bantu) {
if (isEmpty()) {
System.out.println("Senarai Kosong");
} else {
bantu.next.setPrev(bantu.getPrev());
bantu.prev.setNext(bantu.getNext());
bantu.setNext(null);
bantu.setPrev(null);
}
size--;
return bantu.getElement();
}
public void addFirst(int x) {
addBefore(x, getHead().getNext());
}
public void addLast(int x) {
addBefore(x, getHead());
}
public int removeFirst() {
return remove(getHead().getNext());
}
public int removeLast() {
return remove(getHead().getPrev());
}
public int remove(int x) {
ListNode bantu = head;
if (isEmpty()) {
System.out.println("Senarai kosong");
} else {
while (bantu.next != head) {
bantu = bantu.next;
if (bantu.element == x) {
remove(bantu);
break;
}
}
}
return bantu.element;
}
public void addSort(int x) {
if (isEmpty()) {
addBefore(x, head.next);
} else {
ListNode bantu = head.next;
while (bantu != head && x > bantu.element) {
bantu = bantu.next;
}
addBefore(x, bantu);
}
}
public String toString() {
String string = new String();
ListNode bantu = head;
while (bantu.next != head) {
bantu = bantu.next;
string += bantu.element + " ";
}
if (isEmpty()) {
return "Senarai Kosong";
} else {
return string;
}
}
public void display() {
ListNode bantu = head;
while (bantu.next != head) {
bantu = bantu.next;
System.out.println(bantu.element);
}
}
public ListNode search(int x) {
ListNode bantu = head;
while (bantu.next != head) {
bantu = bantu.next;
if (bantu.element == x) {
return bantu;
}
}
System.out.println("Tidak ditemukan");
return head;
}
public boolean isEmpty() {
if (head.next == head) {
return true;
} else {
return false;
}
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public ListNode getHead() {
return head;
}
public void setHead(ListNode head) {
this.head = head;
}
}
17 November 2011
RegexSubstitution (string)
public class RegexSubstitution {
public static void main(String args[]) {
String firstString = "Every day is sunday";
String secondString = "Vini pergi ke pasar 3 jam lalu, bersama 4 temannya";
System.out.printf("Original String 1: %s\n", firstString);
firstString = firstString.replaceAll("\\bday\\b", "week there"); // jelaskan
System.out.printf(
"Original string 1 become : %s\n", firstString);
System.out.printf("Original String 2: %s\n", secondString);//%s = diisi dengan string
secondString = secondString.replaceAll("[a]", "o");//jelaskan
System.out.printf(
"Original string 2 become : %s\n", secondString);
System.out.printf("Every word replaced by \"word\": %s\n\n",
firstString.replaceAll("\\w+", "word")); // jelaskan
secondString = secondString.replaceFirst("\\d", "digit");
// jelaskan
System.out.printf("?? %s\n", secondString); //isilah ?? dengan kalimat yang sesuai
String output = "String split at commas: [";
String[] results = secondString.split(",\\s*"); // jelaskan
for (String string : results) // jelaskan sintaks ini
{
output += "\"" + string + "\", ";
}
System.out.println("Hasil split : " + output);
output = output.substring(0, output.length() - 2) + "]";
System.out.println(output);
} // end main
}
ReadDataDemo (stream)
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadDataDemo {
/** Creates a new instance of ReadDataDemo */
public ReadDataDemo() {
}
public static void main(String[] args) {
// write the data out with FileOutputStream
// buat file
File inputFile = new File("latihan.txt");
try{
// buka stream
FileInputStream in = new FileInputStream(inputFile);
// buat buffer pembacaan data
String testInput = new String();
// variabel integer untuk membaca data dari file yang dibuka
int c;
// cek akhir dari file apakah bernilai -1
while((c=in.read())!=-1){
// tambahkan data pembacaan ke buffer
testInput += (char)c;
}
// tutup stream
in.close();
System.out.println(testInput);
} catch (IOException ex){
System.out.println(ex.getMessage());
}
}
}
FileChooserDemo (string)
package String;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.*;
public class FileChooserDemo extends JPanel
implements ActionListener {
static private final String newline = "\n";
JButton openButton, saveButton;
JTextArea log;
JFileChooser fc;
public FileChooserDemo() {
super(new BorderLayout());
//Create the log first, because the action listeners
//need to refer to it.
log = new JTextArea(5,20);
log.setMargin(new Insets(5,5,5,5));
log.setEditable(false);
JScrollPane logScrollPane = new JScrollPane(log);
//Create a file chooser
fc = new JFileChooser();
//Uncomment one of the following lines to try a different
//file selection mode. The first allows just directories
//to be selected (and, at least in the Java look and feel,
//shown). The second allows both files and directories
//to be selected. If you leave these lines commented out,
//then the default mode (FILES_ONLY) will be used.
//
//fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
//fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
//Create the open button. We use the image from the JLF
//Graphics Repository (but we extracted it from the jar).
openButton = new JButton("Open a File...");
// createImageIcon("images/Open16.gif"));
openButton.addActionListener(this);
//Create the save button. We use the image from the JLF
//Graphics Repository (but we extracted it from the jar).
saveButton = new JButton("Save a File...");
// createImageIcon("images/Save16.gif"));
saveButton.addActionListener(this);
//For layout purposes, put the buttons in a separate panel
JPanel buttonPanel = new JPanel(); //use FlowLayout
buttonPanel.add(openButton);
buttonPanel.add(saveButton);
//Add the buttons and the log to this panel.
add(buttonPanel, BorderLayout.PAGE_START);
add(logScrollPane, BorderLayout.CENTER);
}
@Override
public void actionPerformed(ActionEvent e) {
//Handle open button action.
if (e.getSource() == openButton) {
int returnVal = fc.showOpenDialog(FileChooserDemo.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//This is where a real application would open the file.
log.append("Opening: " + file.getName() + "." + newline);
} else {
log.append("Open command cancelled by user." + newline);
}
log.setCaretPosition(log.getDocument().getLength());
//Handle save button action.
} else if (e.getSource() == saveButton) {
int returnVal = fc.showSaveDialog(FileChooserDemo.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//This is where a real application would save the file.
log.append("Saving: " + file.getName() + "." + newline);
} else {
log.append("Save command cancelled by user." + newline);
}
log.setCaretPosition(log.getDocument().getLength());
}
}
/** Returns an ImageIcon, or null if the path was invalid. */
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = FileChooserDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event dispatch thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("FileChooserDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Add content to the window.
frame.add(new FileChooserDemo());
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event dispatch thread:
//creating and showing this application's GUI.
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
//Turn off metal's use of bold fonts
UIManager.put("swing.boldMetal", Boolean.FALSE);
createAndShowGUI();
}
});
}
}
cobaSimpan
import java.io.*;
public class cobaSimpan {
public static void main(String[] args) throws FileNotFoundException, IOException {
Document test = new Document("coba1.txt");
String subjek[] = {"saya", "adik"};
String predikat[] = {"makan", "mimum"};
String objek[] = {"Soto", "susu"};
for (int i = 0; i < subjek.length; i++) {
test.setTeks(test.getTeks() + subjek[i] + "\t" + predikat[i] + "\t" + objek[i] + "\n");
}
test.simpan();
}
}
cobaBaca
import java.io.*;
public class cobaBaca {
public static void main(String[] args) throws FileNotFoundException, IOException {
Document test = new Document("coba1.txt");
test.baca();
String delimiter = "\t";
String temp[] = test.getTeks().split(delimiter);
for (int i = 0; i < temp.length; i++) {
System.out.println(temp[i]);
}
}
}
ListPengguna
package stream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;
import project.Koleksi;
import project.Mahasiswa;
import project.Pengguna;
public class ListPengguna {
private ArrayList
private Document dokumen;
public ListPengguna() {
}
public ListPengguna(Document dokumen) {
this.dokumen = dokumen;
}
public ArrayList
return daftarPengguna;
}
public void setDaftarPengguna(ArrayList
this.daftarPengguna = daftarPengguna;
}
public Document getDokumen() {
return dokumen;
}
public void setDokumen(Document dokumen) {
this.dokumen = dokumen;
}
public boolean isKosong() {
if (daftarPengguna == null) {
return true;
} else {
return false;
}
}
public void baca() throws IOException {
dokumen.baca();
String data = dokumen.getTeks();
System.out.println(data);
StringTokenizer test = new StringTokenizer(data, "[;\n\r]");
// while(test.hasMoreTokens()){
// System.out.println(test.nextToken());
// }
int jumlahAnggota = Integer.parseInt(test.nextToken());
System.out.println("jumlah Anggota : " + jumlahAnggota);
daftarPengguna = new ArrayList
for (int i = 0; i < jumlahAnggota; i++) {
Mahasiswa test2 = new Mahasiswa();
test2.setNim(test.nextToken());
test2.setNama(test.nextToken());
int jumlahPinjaman = Integer.parseInt(test.nextToken());
System.out.println("Jumlah Pinjaman : " + jumlahPinjaman + " ");
for (int j = 0; j < jumlahPinjaman; j++) {
Koleksi test3 = new Koleksi();
test3.setId(test.nextToken());
test3.setJudul(test.nextToken());
test3.setTglPinjam(test.nextToken());
test2.tambahDaftarPinjaman(test3);
}
System.out.println(test2.tampilPinjaman());
daftarPengguna.add(test2);
}
}
public void simpan() {
String result = " ";
result = result + daftarPengguna.size() + ";\n";
for (int i = 0; i < daftarPengguna.size(); i++) {
result = result + daftarPengguna.get(i).getNama() + ";" + daftarPengguna.get(i).getDaftarPinjaman().size();
}
System.out.println("hasil: " + result);
}
public String cetak() {
return null;
}
public void tambah(Pengguna pengguna) {
if (isKosong()) {
daftarPengguna = new ArrayList
daftarPengguna.add(pengguna);
}
daftarPengguna.add(pengguna);
}
public void hapus(Pengguna pengguna) {
// if (isAda(pengguna)) {
// daftarPengguna.remove(pengguna);
// }
}
public boolean isAda(Pengguna pengguna) {
return false;
}
}
Langganan:
Postingan (Atom)