Kamis, 06 April 2017

Layout Pada Java

Pada pertemuan ke empat kami membuat tampilan layout pada Java yang dimana class tersebut bernama Notepad.java

Pertama,Kami membuat Tampilan JFrame sederhana

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.SocketTimeoutException;

/** * Created by putriramadannia_pc on 4/5/2017. */public class Notepad extends JFrame {
    public Notepad() {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException e) {     //menentukan tampilan dari window//tampilan dari sistem  nya            e.printStackTrace();
        }
         catch(InstantiationException e){
            e.printStackTrace();
        } catch(IllegalAccessException e){
            e.printStackTrace();
        } catch(UnsupportedLookAndFeelException e){
            e.printStackTrace();
        }

        JPanel panel = (JPanel) this.getContentPane(); //cara ngambil content jframa        GridLayout gridLayout = new GridLayout(0, 2);//layout manager        panel.setLayout(gridLayout);

        JTextField field = new JTextField(); //dia buat text field dan area field=satu baris,area banyak baris        JTextArea textArea = new JTextArea(); //layup untuk mengatur        panel.add(field);
        panel.add(textArea);

        this.setTitle("Notepad");

        JMenuBar menuBar = new JMenuBar();
        JMenu file = new JMenu("File"),
                view = new JMenu("View");
        JMenuItem open = new JMenuItem("Open"),
                save = new JMenuItem("Save"),
                saveAs = new JMenuItem("Save As");
        JMenu font = new JMenu("Font");
        JMenuItem size14 = new JMenuItem("14");
        JMenuItem size16 = new JMenuItem("16");
        JMenuItem size18 = new JMenuItem("18");

        file.add(open);
        file.add(save);
        file.add(saveAs);

        //Menu untuk Test Alert Box        JMenuItem test = new JMenuItem("Test");
        test.addActionListener(new ActionListener() {
            @Override            public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(Notepad.this, "Jangan" +
                                "ada sianida diantara kita.",
                        "AWAS!",
                        JOptionPane.WARNING_MESSAGE);

                String jawaban = JOptionPane.showInputDialog(Notepad.this,
                        "Apa Ajawaban Anda?",
                        "Hai sayang!",
                        JOptionPane.WARNING_MESSAGE
                );
                System.out.println(jawaban);
            }
        });
        view.add(test);

        view.add(font);
        font.add(size14);
        font.add(size16);
        font.add(size18);
        menuBar.add(file);
        menuBar.add(view);
        this.setJMenuBar(menuBar);


        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);


        //mENGESET uKURAN mINIIMUM JFrame        this.pack(); //komponen nya jadi 1        this.setMinimumSize(this.getPreferredSize()); //mengupdate ukuran yang pas untuk window itu        this.setVisible(true);
    }

    public static void main(String[] args) {
        Notepad notepad = new Notepad();
    }
}

saat di run



Interface pada Java dan Implementasi Stack and Queue

Pada pertemua ketiga Lab Pemrograman Java kami belajar membuat Interface pada java dan Stack.

Interface adalah sebuah tipe referensi pada Java. Interface secara struktur serupa dengan class. Isi dari interface adalah method abstract, artinya method hanya dideklarasikan tidak ditulis secara utuh. Deklarasi method pada interface serupa dengan method pada class abstract.




Hubungan Antara Class dan Interface

Seperti yang terlihat pada gambar dibawah ini, sebuah class melakukan extends terhadap class  lain, sebuah interface melakukan extends terhadap interface lain, namun sebuah class melakukan implements pada interface.





Hubungan Interface dan Class

Pewarisan Pada Interface

Jika sebuah class tidak diperkenankan melakukan pewarisan (extends) lebih dari 1 class, maka interface diperbolehkan melakukan hal tersebut. Namun sebuah class diperbolehkan melakukan implementasi terhadap lebih dari 1 interface.
Pewarisan Banyak Pada Java

Cara membuat Class Interface yang dimana saat klik kanan pada project -> Klik NEW -> lalu pilih Java Class saat menamakan Class tersebut maka ada option untuk memilih Class,Interface,Enum dan sebagai nya


Bila ingin membuat Interface maka pilih lah Class interface dan Contoh kode program interface melakukan multiple pewarisan adalah sebagai berikut :

Fungsidasar.java

public interface Fungsidasar {

    public void makan();
    public void jalan();
    public void bernafas();

}

Makhlukhidup.java

public abstract class Makhlukhidup { //sebuah kelas dasar yang harus dimiliki oleh sebuah fungsinya 
    public void jalan(){
        System.out.println("Capekk");
    }
    public abstract void bernafas();
}

Manusia.java

public class Manusia extends Makhlukhidup implements Fungsidasar {
    @Override    public void makan() {
        System.out.println("Enakkkkkkk");
    }

    @Override    public void jalan() {
        System.out.println("Jalan");
    }

    @Override    public void bernafas() {
        System.out.println("Fiuuhhhh");

    }
    public static void main(String[] args){
        Manusia a = new Manusia();
                a.makan();
    }
}

dan bila di RUN maka akan keluar seperti gambar di bawah ini :



Stack pada Java


Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut.  Sebuah stack hanya dapat ditambahkan dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of Stack.


Fungsi dalam Stack:
  • Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih kosong.
  • Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.
  • Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak.
  • Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila puncak stack berada pada posisi -1.
  • Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast
  • Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast.
  • Penggunaan STACK :
    • Perhitungan ekspresi aritmatika (posfix)
    •  algoritma backtraking (runut balik)
    •  algoritma rekursif
(cites from http://id.wikipedia.org/wiki/Stack_%28struktur_data%29)Contoh Kode Stack menggunakan TemplateStack.java

Thread dan Socket

Thread Thread adalah rangkaian eksekusi dari sebuah aplikasi java dan setiap program java minimal memiliki satu buah thread. Sebuah thre...