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 daftarPengguna;
    private Document dokumen;

    public ListPengguna() {
    }

    public ListPengguna(Document dokumen) {
        this.dokumen = dokumen;
    }

    public ArrayList getDaftarPengguna() {
        return daftarPengguna;
    }

    public void setDaftarPengguna(ArrayList daftarPengguna) {
        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;
    }
}

TestListPengguna


package stream;

import java.io.IOException;

public class TestListPengguna {

    public static void main(String[] args) throws IOException {
      ListPengguna test = new ListPengguna();
      Document dok = new Document("cobaDokumen.txt");
      test.setDokumen(dok);
      test.baca();
      test.simpan();

      
    }

}

StringConstructors (string)

package String;

import java.util.StringTokenizer;

public class StringConstructors {

    public static void main(String args[]) {
        char charArray[] = {'b', 'i', 'r', 't', 'h', ' ', 'd', 'a', 'y'};
        String s = new String("hello");

        String s1 = new String();
        String s2 = new String(s);
        String s3 = new String(charArray);
        String s4 = new String(charArray, 6, 3);

        System.out.println("s1 = " + s1);
        System.out.println("s2 = " + s2);
        System.out.println("s3 = " + s3);
        System.out.println("s4 = " + s4);

        if (s.equals("hello")) {
            System.out.println("s is equals as \"hello\"");
        } else {
            System.out.println("s is not equals as \"hello\"");
        }

        if (s.equalsIgnoreCase("HELLO")) {
            System.out.println("s is equals as \"hello\"");
        } else {
            System.out.println("s is not equals as \"hello\"");
        }

        System.out.println("Compare to : "+s.compareTo("hello"));
        System.out.println("Compare to : "+s.compareTo("hai"));

        if(s3.contains("day")) {
            System.out.println("s3 contains \"day\"");
        } else {
            System.out.println("s3 do not contains \"day\"");
        }

        String s5 = s.concat(" " + s3);
        System.out.println(s5);

        String s6 = s5.replaceAll("hello", "happy");
        System.out.println(s6);

        String[] s7 = new String[3];
        s7 = s6.split(" ");
        for (int i = 0; i < s7.length; i++) {
            System.out.println(s7[i]);
        }

        StringTokenizer tokens = new StringTokenizer(s6);
        System.out.println("Number of Token =" + tokens.countTokens());

        while (tokens.hasMoreTokens()) {
            System.out.println(tokens.nextToken());
        }

    }
}

16 November 2011

Cerita Dochi untuk Dorks Indonesia - #dorksdorks


Tepat hari ini Dorks Indonesia merayakan hari jadinya, dan gw akan bercerita tentang perjalanan Dorks selama ini....
  1. jadi awalnya PWG gak ada fans2an, yg penting manggung rame, selesai manggung banyak temen baru
  2. suatu hari ada radio yg minta kita bikin theme song tentang mau lulus sekolah
  3. Goonies, adalah salah satu film favorit gw masa kecil, dan disitu slogan mereka "Goonies Never Say Die!"
  4. gw mau ngangkat tema orang culun yg berhasil melewati kejamnya high school, jd gw ambil term "Dork" dibanding "Geek"
  5. dan digabung dari semangat Goonies tadi, akhirnya digabung jadi "Dorks Never Say Die"
  6. dl ada temen2 yg sering dtg ke gigs kita, mrk dr sekolah internasional di jakarta selatan dan sering komunikasi di internet
  7. mrk ngasih ide utk namain "perkumpulan teman" itu biar jd identitas, dan lagu "Dorks Never Say Die" plg ngewakilin semangatnya
  8. krn niat mereka adlh utk bersenang-senang, mereka nambahin kata "party" untuk ngelengkapin identitas "dork" nya.. jadi deh "party dork"
  9. akhirnya dipublish dan dijadiin umum, "party dork" bkn lg punya kumpulan teman di sekolah itu tp jd istilah bersama
  10. kita bikin kumpul2 di Gazelle hampir rutin, awalnya puluhan, jadi ratusan, sampe akhirnya RT gak ngijinin kumpul2 lg disitu
  11. gak dikasih ijin krn over capacity dan penuh bgt jalanan dan jadi mengganggu warga krn Gazelle tmptnya di area perumahan
  12. seiring pendewasaan, kita mikir istilah "party" konotasinya lebih ke negatif, apalagi di telinga orang tua :p
  13. jadi "party"nya diliangin, jadi "dorks" aja
  14. "dorks" itu melambangkan semangat. dgn mengakui keculunan tp tetep pede dan semangat dapetin yg kita senengin
  15. ada yg suka melesetin "dorks" jadi "dogs" gpp, ShaggyDog salah satu band idola gw, dan fans mereka namanya Doggies :))
  16. Dork secara harfiah bhs inggris artinya "whale penis" gpp, tau ga penis ikan paus gede bgt? cowo bukannya bangga punya penis besar? ;p
  17. secara istilah, "dork" artinya culun dan punya minat / kesenangan akan satu hal tertentu yg bikin dia beda sm org lain
  18. dorks gak harus keliatan dari luar kok, yg penting km tau didalem ada semangat yg besar, tau apa yg bikin km senang dan pede
  19. dl waktu kecil gw suka beli chiki dan cara makannya diremes sampe jadi bubuk trus dimakan pake sendok, aneh kan? tp gw seneng.
  20. kl makan taro, 1 gw potek jd bagian kecil2, dan ambil 1 lagi utk ditaroh diatasnya jd ky piringnya. aneh? tp gw seneng.
  21. nah udah ngerti kan istilah "dork" artinya apa?
  22. bagi bbrp orang, jauh2 dateng utk ntn band kesukaannya, smp dedikasinya menyita waktu byk bgt, keliatan aneh, tp itu yg bikin seneng kan?
  23. pengertian aneh itu bs dicontohin byk bgt, tp selama itu menyenangkan bgt buat lo dan lo ga takut eksptesiinnya, that's a dork thing to do
  24. tp jangan terlalu fanatik ya, we're still humans :)) jgn tutup kuping utk musik lain, krn byk bgt yg keren!
  25. jangan musuhan jg sama yg beda dgn kalian, kalian "dork" dengan cara kalian masing-masing
  26. sekian cerita #dorksdorks nya.. I'M A DORK!
Heppy Birthday Dorks Indonesia #Dorks3rdAnniversary