Wednesday, March 14, 2012

SWING

SWING

             Swing adalah bagian utama Java GUI widget toolkit.Swing adalah bagian dari Oracle's Java Foundation Classes (JFC)-API untuk menyediakan  graphical user interface (GUI) untuk program Java. Swing dikembangkan untuk menyediakan satu set yang lebih canggih dari komponen GUI dari Abstract Window Toolkit (AWT). Swing memberikan tampilan asli dan merasa bahwa mengemulasi tampilan dannuansa dari beberapa platform, dan juga mendukung tampilan yang pluggable dannuansa yang memungkinkan aplikasi untuk melihat dan merasa tidak berhubungan dengan platform yang mendasari. 
           Tidak seperti komponen AWT, Swing komponen tidak diimplementasikan dengan platform kode khususSebaliknya mereka ditulisseluruhnya di Jawa dan karena itu adalah platform-independen. Istilah "ringan" digunakan untuk menggambarkan elemen seperti itu.


contoh :

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
 
public class SwingExample implements Runnable {
    @Override
    public void run() {
        // Create the window
        JFrame f = new JFrame ("Hello, World!");
        // Sets the behaviour for when the window is closed
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // add a label and a button
        f.getContentPane().add(new JLabel("Hello, world!"));
        f.getContentPane().add(new JButton("Press me!"));
        // arrange the components inside the window
        f.pack();
        //By default, the window is not visible. Make it visible.
        f.setVisible(true);
    }
 
    public static void main(String[] args) {
        SwingExample se = new SwingExample();
        // Schedules the application to be run at the correct time in the event queue.
        SwingUtilities.invokeLater(se);
    }
}

AWT


  1. AWT  (Abstract Window Toolkit)

AWT toolkit GUI untukbeberapa profil Java MEMisalnya, profil Perangkat Terhubung Konfigurasimemerlukan runtimes Java pada telepon genggam untuk mendukung AWT. AWTmenyediakan keajaiban mempertahankan tampilan lokal dan nuansa lingkunganpengguna. Karena AWT, aplikasi yang sama program dapat terlihat tepat dalam lingkungan apapun. Misalnya, jika program Anda menggunakan daftar pull-down,daftar itu akan terlihat seperti daftar Windows ketika Anda menjalankan program di bawah Windowsdaftar Macintosh ketika Anda menjalankan program pada Mac,dan daftar Motif ketika Anda menjalankan program pada sistem UNIX bawah Motif.Kode yang sama bekerja pada semua platform. Selain memberikan seperangkatkomponen antarmuka penggunaAWT menyediakan fasilitas untuk memanipul 



contoh penggunaan AWT

import java.awt.*;
public class FlowAp extends Frame{
public static void main(String argv[]){
            FlowAp fa=new FlowAp();
            //Change from BorderLayout default
            fa.setLayout(new FlowLayout());
            fa.setSize(400,300);
            fa.setVisible(true);
    }
    FlowAp(){
                add(new Button("One"));
                add(new Button("Two"));
                add(new Button("Three"));
                add(new Button("Four"));
                add(new Button("Five"));
                add(new Button("Six"));
                add(new Button("Seven"));
                add(new Button("Eight"));
                add(new Button("Nine"));
                add(new Button("Ten"));
        }//End of constructor
}//End of Application
 
maka tampilannya akan seperti di bawah ini 
 
 
import java.awt.*;
import java.awt.event.*;
public class GBCal extends Frame{
    Panel pTimes=new Panel();
    Panel pAps=new Panel();
    TextField txTimes=new TextField("09.00");
    TextField txAps=new TextField("Meet the boss");
    GridBagLayout gbl=new GridBagLayout();
    GridBagConstraints gbc=new GridBagConstraints();
    public static void main(String argv[]){
    GBCal gbc=new GBCal();
    gbc.setLayout(new FlowLayout());
}

public GBCal() {
    pTimes.add(txTimes);
    pAps.add(txAps);
    setLayout(gbl);
    gbc.gridx=0;
    gbc.gridy=0;
    pTimes.setBackground(Color.pink);
    add(pTimes,gbc);
    gbc.gridx=1;
    gbc.gridy=0;
    pAps.setBackground(Color.lightGray);
    add(pAps,gbc);
    setSize(300,300);
    setVisible(true);
    }
} 
 
maka outputnya 

GUI JAVA

GUI JAVA

GUI secara umum adalah Interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik.  
Java GUI mendukung pembangunan melalui Abstract Windowing Toolkit, atau AWT. AWT adalah Java yang setara dengan Microsoft Windows Common Control Library atau Motif widget toolkit. Ini termasuk pendukung untuk pemrograman grafik sederhana serta sejumlah komponen seperti tombol, menu, daftar, dan kelas check box. 

JAVA menyediakan dua graphical library.
AWT (Abstract Windows Toolkit)
Swing
Contoh:
Import java.awt.* ;
Import java.awt.event.* ;
Import javax.swing.* ;


Graphical Object
-Container (tempat), obyek yang dapat menampung komponen grafis dan tempat yang lebih kecil
Contoh: frames, panels
-Component, obyek grafis yang berfungsi untuk menampilkan data, menerima masukan, atau menunjukkan suatu kondisi.
Contoh: buttons, labels, text fields
-Event, obyek yang merepresentasikan suatu kejadian.
Contoh: gerakan mouse, penekanan tombol
-Listener, suatu obyek yang menunggu suatu kejadian khusus dan akan bereaksi (melakukan
sesuatu) jika kejadian tersebut terjadi 

I/O Stream

      I/O (Input/Output) Stream

Pengertian I/O Stream
 I/O          adalah singkatan dari Input / Output dan mengacu pada transfer data ke atau dari 
                aplikasi.
Stream   Keadaan dari sebuah file atau sebuah device yang memungkinkan rangkaian item dapat dibaca atau ditulis


Konsep Stream
Stream adalah suatu abstraksi untuk data input dan output.
Tidak peduli dari mana input berasal atau kemana output akan pergi 
Tipe-Tipe Stream yang Umum Digunakan

            Stream Karakter dan Byte

Seperti yang telah disebutkan sebelumnya, secara umum ada dua tipe dari stream, yaitu
stream karakter dan byte. Kita hanya mengulang perbedaan mendasar antara
keduanya. Stream byte adalah abstraksi file atau alat untuk data biner sedangkan
stream karakter adalah untuk karakter Unicode.
Class InputStream adalah abstraksi class root untuk semua input stream byte sedangkan
class OutputStream adalah class root abstraksi dari semua output stream byte. Untuk
stream karakter, superclasss yang sesuai dari semua class-class secara berturut-turut
adalah class Reader dan the Writer. Kedua class-class ini adalah abstraksi class-class
untuk membaca dan menulis stream karakter.

           Input dan Output Stream


Stream juga dikategorikan berdasarkan apakah mereka digunakan untuk membaca atau
menulis stream.Walaupun ini sudah cukup nyata, Anda diperbolehkan untuk membaca
dari input stream tapi tidak menulisnya. Di lain pihak, Anda diperbolehkan untuk menulis
output streams tapi tidak membacanya.
Class InputStream dan class Reader adalah superclass-superclass dari semua input
stream. Class OutputStream dan class Writer adalah class-class root dari semua output
stream.
Input stream juga dikenal sebagai stream sumber (source stream) sejak kita
memperoleh informasi dari stream ini. sementara itu output stream disebut juga stream
hasil(sink stream).

            Node dan Stream Filter
Kini package java.io membedakan antara node dan stream filter. Sebuah stream node
adalah sebuah stream dengan fungsi dasar berupa fungsi membaca atau menulis dari
sebuah lokasi khusus seperti pada disk atau dari jaringan. Tipe-tipe dari stream node
terdiri atas file, memory dan jalur data. Stream filter, di lain pihak, diletakkan pada layer
stream node diantara threads atau proses untuk menyediakan fungsi tambahan yang
tidak dapat ditemukan dalam stream node oleh stream node itu sendiri. Penambahan
lapisan pada sebuah stream node disebut dengan stream chaining.

Class InputStream
  •  Class-Class Node InputStream
  • Class-class Filter InputStream
Class Output Stream
  • Clas-class Node OutputStream
  • Class-Class Filter OutputStream


CONTOH PENERAPAN
package testjeni_02;
import java.io.*;

/**
 *
 * @author Nadya
 */
public class FileInfoClass {
public static void main(String args[]) {
String fileName = "C://Price Tag.txt";
File fn = new File(fileName);
System.out.println("Name: " + fn.getName());
if (!fn.exists()) {
System.out.println(fileName + " does not exists.");
/* membuat sebuah temporary directory . */
System.out.println("Creating temp directory...");
fileName = "temp";
fn = new File(fileName);
fn.mkdir();
System.out.println(fileName +
(fn.exists()? "exists": "does not exist"));
System.out.println("Deleting temp directory...");
fn.delete();
System.out.println(fileName +
(fn.exists()? "exists": "does not exist"));
return;
}
System.out.println(fileName + " is a " +
(fn.isFile()? "file." :"directory."));
if (fn.isDirectory()) {
String content[] = fn.list();
System.out.println("The content of this directory:");
for (int i = 0; i < content.length; i++) {
System.out.println(content[i]);
}
}
if (!fn.canRead()) {
System.out.println(fileName + " is not readable.");
return;
}
System.out.println(fileName + " is " + fn.length() +
" bytes long.");
System.out.println(fileName + " is " + fn.lastModified()
+ " bytes long.");
if (!fn.canWrite()) {
System.out.println(fileName + " is not writable.");
}
}
}

dan outputnya

Wednesday, November 9, 2011

Project PBO



         Ini adalah projet PBO saya.


      Coding :

rivate void jButton1ActionPerformed(ActionEvent evt) {
Manusia nia = new Manusia ("Nadya Saputri");
jTextArea1.setText("Nama="+nia.tampilkanNama()+"\n"+nia.makan()+"\n"+nia.kerja()+"\n\n"+nia.tidur());
}
private void jButton2ActionPerformed(ActionEvent evt) {
Guru hadi = new Guru ("Pak hadi Java ");
jTextArea1.setText("Nama="+hadi.tampilkanNama()+"\n"+hadi.makan()+"\n"+hadi.kerja()+"\n\n"+hadi.tidur());
}
Siswa novi = new Siswa ("Si Nadya Ayu Saputri");
private void jButton3ActionPerformed(ActionEvent evt) {
jTextArea1.setText("Nama="+novi.tampilkanNama()+"\n"+novi.makan()+"\n"+novi.Kerja()+"\n\n"+novi.tidur());
}

private void jButton8ActionPerformed(ActionEvent evt) {
Manusia[] profesi = new Manusia [3];
profesi[0] = new Siswa ("Angga Darmawan");
profesi[1] = new Siswa ("Hadi Wijaya");
profesi[2] = new Siswa ("Simonchelli");
String statement1="Nama Siswa"+profesi[0].tampilkanNama()+
"\n"+"Nama Guru= "+profesi[1].tampilkanNama()+
"\n"+"Nama Manusia (pembalap)="+profesi[2].tampilkanNama();
String statement2="\n\nPekerjaan Siswa= "+profesi[0].kerja()+
"\nPekerjaan guru= "+profesi[1].kerja()+
"\nPekerjaan pembalap="+profesi[2].kerja();
jTextArea1.setText(statement1+"\n\n"+statement2);
}


Coding:
private void jButton7ActionPerformed(ActionEvent evt) {
Mobil kijang=new Mobil ("Kijang Innova");
jTextArea2.setText(kijang.st+"\n"+kijang.bergerak("depan")+"\n"+kijang.bergerak("belakang",3));
}

private void jButton4ActionPerformed(ActionEvent evt) {
Bentuk3D bentuk=new Bentuk3D(3.5);
jTextArea2.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
}
private void jButton5ActionPerformed(ActionEvent evt) {
Bentuk3D bentuk=new Bentuk3D(3.3 ,2.4);
jTextArea2.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
}
private void jButton6ActionPerformed(ActionEvent evt) {
Bentuk3D bentuk=new Bentuk3D(3.3, 2.4,1.3);
jTextArea2.setText("Panjang = "+bentuk.panjang+"\nLebar = "+bentuk.lebar+"\nTinggi = "+bentuk.tinggi);
}

}



Maaf Belum Selesai,,, 
Kita lanjut di posting mendatang.. :)


OOP

                                        
OOP

Jika ingin mempelajari pemrograman berorientasi objek, belajarlah Java. Sebuah kalimat yang menegaskan jika yang ada dalam Java adalah objek. Objek, sesuatu yang berbentuk dan dapat dikenali. Diri kita, lingkungan kita dipenuhi dengan objek. Berhubungan dengan Java berarti berhubungan dengan objek.
Bagi sebagian besar yang sudah familiar dengan pemrograman prosedural, dibutuhkan usaha untuk mengubah mind-set dalam memahami Java. Prosedural berorientasi kerja sedangkan pemrograman objek  berorientasi benda. Dalam Object Oriented Programming (OOP) kita harus memodelkan sistem menjadi objek-objek.
OBJEK, adalah sesuatu yang nyata mempunyai karakteristik keadaan (state) dan mempunyai tingkah laku (behavior). State digunakan untuk menyimpan informasi objek atau dalam Java dikenal sebagai atribut atau field. Sedangkan behavior menentukan apa saja yang dapat dilakukan oleh objek, dalam java dikenal dengan method.
CLASS (Kelas), adalah cetak biru dari objek. Kelas adalah wadah yang berisi abstraksi (pemodelan) dari suatu objek (benda), yang mendeskripsikan data (sifat karakteristik) dan fungsi yang dimiliki oleh objek tersebut. Karena kelas merupakan wadah yang akan digunakan untuk menciptakan objek.
Hubungan antara kelas dan objek dapat diilustrasikan sebagai resep kue dengan kue-nya, di mana resep kue adalah kelas dan kue adalah objeknya. Sebelum membuat kue, kita harus membaca dan mempelajari resep kue tersebut terlebih dahulu. Di dalam resep disebutkan data mengenai kue, yaitu bahan-bahan yang diperlukan serta fungsi-fungsi yaitu bagaimana cara mengolah bahan tersebut hingga menjadi kue yang siap disajikan.
Dibawah ini adalah contoh kelas Lingkaran dengan method hitungluas dan hitungkeliling :


public class Lingkaran {
int jari2;


c double hitungLuas(int r){
Double luas
public stat i; luas=3.14 * r * r; return luas; }

){
Double kell;
kell=2 * 3.14 * r;
retu
public static double hitungKell(int rrn kell; } public static void main(String[] ar){

ntln(hitungKell(27));
}
}
System.out.println(hitungLuas(14)); System.out.pr
i
Kelas Lingkaran mempunyai variabel jari2 serta mempunyai 2 method yaitu hitungLuas dan hitungKell. Method hitungLuas mempunyai parameter yaitu r dan method ini akan mengembalikan (return) luas dengan tipe data double. Sedangkan method hitungKell akan mengembalikan keliling dengan tipe data double. Dalam proses pemanggilan method disertakan nilai dari parameter 14 untuk hitungLuas dan 27 untuk hitungKell.
Untuk memahami OOP harus tahu apa saja yang  metodologi Dasar OOP,
1. Encapsulation, tidak selamanya harus tahu apa yang sedang digunakan atau dimakan dan itulah prinsip dari encapsulation.Misalkan kue adalah sebuah kelas dan tidak harus mengerti dan tahu cara membuatnya.
2. Penurunan/pewarisan ( Inheritance) – sebuah kelas dapat mewarisi kelas yang ada. Misalkan kelas Kue, dapat diturunkan menjadi kelas  baru kue bolu, kue putu, kue pisang.
3. Polimorfism – kelas berbeda-beda tapi dari satu orang tua tapi mempunyai behavior yang berbeda. Disini dikenal ada istilah overloading dan overiding.
Pelan tapi pasti OOP akan mengubah mind-set prosedural yang masih enggan beralih ke Object Orientied Programming seperti Java.

Wednesday, September 21, 2011

10 Tips Jadi Pinter


Belajar mendadak menjelang ujian memang tidak efektif. Paling nggak sebulan sebelum ulangan adalah masa ideal buat mengulang pelajaran. Materi yang banyak bukan masalah. Ada sepuluh cara pintar supaya waktu belajar kita menjadi efektif.

1. Belajar itu memahami bukan sekedar menghapal
Ya, fungsi utama kenapa kita harus belajar adalah memahami hal-hal baru. Kita boleh hapal 100% semua detail pelajaran, tapi yang lebih penting adalah apakah kita sudah mengerti betul dengan semua materi yang dihapal itu. Jadi sebelum menghapal, selalu usahakan untuk memahami dulu garis besar materi pelajaran.

2. Membaca adalah kunci belajar
Supaya kita bisa paham, minimal bacalah materi baru dua kali dalam sehari, yakni sebelum dan sesudah materi itu diterangkan oleh guru. Karena otak sudah mengolah materi tersebut sebanyak tiga kali jadi bisa dijamin bakal tersimpan cukup lama di otak kita.

3. Mencatat pokok-pokok pelajaran
Tinggalkan catatan pelajaran yang panjang. Ambil intisari atau kesimpulan dari setiap pelajaran yang sudah dibaca ulang. Kata-kata kunci inilah yang nanti berguna waktu kita mengulang pelajaran selama ujian.

4. Hapalkan kata-kata kunci
Kadang, mau tidak mau kita harus menghapal materi pelajaran yang lumayan banyak. Sebenarnya ini bisa disiasati. Buatlah kata-kata kunci dari setiap hapalan, supaya mudah diingat pada saat otak kita memanggilnya. Misal, kata kunci untuk nama-nama warna pelangi adalah MEJIKUHIBINIU, artinya merah, jingga, kuning, hijau, biru, nila dan ungu.

5. Pilih waktu belajar yang tepat
Waktu belajar yang paling enak adalah pada saaat badan kita masih segar. Memang tidak semua orang punya waktu belajar enak yang sama lo. Tapi biasanya, pagi hari adalah waktu yang tepat untuk berkonsentrasi penuh. Gunakan saat ini untuk mengolah materi-materi baru. Sisa-sisa energi bisa digunakan untuk mengulang pelajaran dan mengerjakan pekerjaan rumah.

6. Bangun suasana belajar yang nyaman
Banyak hal yang bisa buat suasana belajar menjadi nyaman. Kita bisa pilih lagu yang sesuai dengan mood kita. Tempat belajar juga bisa kita sesuaikan. Kalau sedang bosan di kamar bisa di teras atau di perpustakaan. Kuncinya jangan sampai aktivitas belajar kita mengganggu dan terganggu oleh pihak lain.

7. Bentuk Kelompok Belajar
Kalau lagi bosan belajar sendiri, bisa belajar bareng dengan teman. Tidak usah banyak-banyak karena tidak bakal efektif, maksimal lima orang. Buat pembagian materi untuk dipelajari masing-masing orang. Kemudian setiap orang secara bergilir menerangkan materi yang dikuasainya itu ke seluruh anggota lainnya. Suasana belajar seperti ini biasanya seru dan kita dijamin bakalan susah untuk mengantuk.

8. Latih sendiri kemampuan kita
Sebenarnya kita bisa melatih sendiri kemampuan otak kita. Pada setiap akhir bab pelajaran, biasanya selalu diberikan soal-soal latihan. Tanpa perlu menunggu instruksi dari guru, coba jawab semua pertanyaan tersebut dan periksa sejauh mana kemampuan kita. Kalau materi jawaban tidak ada di buku, cobalah tanya ke guru.

9. Kembangkan materi yang sudah dipelajari
Kalau kita sudah mengulang materi dan menjawab semua soal latihan, jangan langsung tutup buku. Cobalah kita berpikir kritis ala ilmuwan. Buatlah beberapa pertanyaan yang belum disertakan dalam soal latihan. Minta tolong guru untuk menjawabnya. Kalau belum puas, cari jawabannya pada buku referensi lain atau internet. Cara ini mengajak kita untuk selalu berpikir ke depan dan kritis.

10. Sediakan waktu untuk istirahat
Belajar boleh kencang, tapi jangan lupa untuk istirahat. Kalau di kelas, setiap jeda pelajaran gunakan untuk melemaskan badan dan pikiran. Setiap 30-45 menit waktu belajar kita di rumah selalu selingi dengan istirahat. Kalau pikiran sudah suntuk, percuma saja memaksakan diri. Setelah istirahat, badan menjadi segar dan otak pun siap menerima materi baru.
Satu lagi, tujuan dari ulangan dan ujian adalah mengukur sejauh mana kemampuan kita untuk memahami materi pelajaran di sekolah. Selain menjawab soal-soal latihan, ada cara lain untuk mengetes apakah kita sudah paham suatu materi atau belum. Coba kita jelaskan dengan kata-kata sendiri setiap materi yang sudah dipelajari. Kalau kita bisa menerangkan dengan jelas dan teratur, tak perlu detail, berarti kita sudah paham.