Minggu, 31 Oktober 2010

Membuat Jam Digital

Pertama buat kelas ObjectTime

dimana kelas ini adalah data dari waktu yang akan dibuat Object

seperti ini :

Data
Jam : Type Integer;
Menit : Type Integer;
Detik : Type Integer;

Program :

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
* creator mancaem
*/

package maketimer;

public class ObjectTime {

int jam;
int menit;
int detik;

public ObjectTime(){

}

public ObjectTime(int jam, int menit, int detik) {
this.jam = jam;
this.menit = menit;
this.detik = detik;
}

public int getDetik() {
return detik;
}

public void setDetik(int detik) {
this.detik = detik;
}

public int getJam() {
return jam;
}

public void setJam(int jam) {
this.jam = jam;
}

public int getMenit() {
return menit;
}

public void setMenit(int menit) {
this.menit = menit;
}


}

Kemudian buat kelas Time

kelas ini kita akan gunakan untuk menginputkan data waktu dari system ke kelas

Object Time yang telah kita buat tadi.

Program :

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package maketimer;

import java.util.Date;

/**
*
* @author mancaem
*/
public class Time {
Date date;
ObjectTime obj;
public Time(){

}
public ObjectTime getTime(){
date = new Date();
obj = new ObjectTime(date.getHours(),date.getMinutes(),date.getSeconds());
return obj;
}
}

Kemudian kita buat kelas untuk menggerakan waktu atau lebih tepatnya
utility waktu (aktivitas yang akan ditampilkan ke form)

Program :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package maketimer;

/**
*
* @author mancaem
*/
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.Timer;
public class MainCounter {

Timer timer;
JLabel label;
ObjectTime obj;

public MainCounter(JLabel lb){
this.label=lb;
}

void InitialTimer(){
int h,m,s=0;
String nh = "",nm="",ns="";
Time time = new Time();
obj = time.getTime();
h=obj.getJam();
m=obj.getMenit();
s=obj.getDetik();

if(s<=9)
ns="0";
else if(m <= 9)
nm="0";
else if(h <= 9)
nh="0";

label.setText(nh+h+":"+nm+m+":"+ns+s);
}
public Timer getTimer(){
ActionListener act = new ActionListener(){
public void actionPerformed(ActionEvent e) {
InitialTimer();
}

};
timer = new Timer(1000,act);
return timer;
}
}

Selesai sudah membuat aktivitas dari Waktu yang akan kita tampilkan.
tinggal kita buat Formnya.

Note : Disini saya tidak akan menuliskan pembuatan Form, karena saya kira
temen-temen udah pada jago untuk membuatnya.

Setelah selasai pembuatan Form, Lalu panggil kelas MainCounter.

Seperti ini.

MainCounter main = new MainCounter(label_waktu);

setVisible(true);

main.getTimer().start();

Buatlah kelas main untuk menjalankan program.

Program :

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
* creator mancaem
*/

package maketimer;


public class Main {

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Waktu();
}
});
}

}

3-Tier Client-Server

Abstraction

Since published about 15th years ago Client/ Server concepts has grown out from its origin concept. As we know when it published client/ server consists of two main components which are minicomputer as a client and mainframe as a server that can serve the process requested from client and stored the data on its database. That’s why we called it 2-tier client/ server. When internet and networking grown up there are some critical mission that can not be solved with 2-tier client/ server approached. So, we need a new giant method for solving this problem. 3-tier client/ server then introduced as the next generation of client/ server system in the internet era.

15 tahun sejak diperkenalkan client/ server telah menjadi pilihan dalam arsitektur aplikasi. Client/ server diaplikasikan pada aplikasi mainframe yang sangat besar untuk membagi beban proses loading antara client dan server. Sebagai dampaknya client/ server telah mengubah cara/ pola pikir kita dalam men-desain dan membangun aplikasi. Dan ini sangat membantu end-user dalam peng-harapan tentang “the look and feel” dari multiuser software. Dalam perkembangannya, client/ server dikembangkan oleh dominasi perusahaan-perusahaan software besar yaitu Baan, Informix, Lotus, Microsoft, Novell, Oracle, PeopleSoft, SAP, Sun, dan Sybase. Perusahaan-perusahaan ini adalah superstar pada era pertama imunculkannya konsep client/ server. Saat ini perusahaan-perusahaan ini telah menjadi perusahaan komputer yang stabil dan besar.
Saat ini telah terjadi perubahan besar dari konsep client/ server itu sendiri. Awalnya pengertian client/ server yaitu sebuah sistem yang saling berhubungan dalam sebuah jaringan yang memiliki dua komponen utama yang satu berfungsi sebagai client dan satunya lagi sebagai server atau biasa disebut 2-Tier. Dengan adanya internet dan jaringan maka konsep 2-tier ini mulai bergeser dan berkembang menjadi 3-tier.

Apa yang dimaksud dengan Tier?
Awal 1980-an, vendor-vendor minicomputer memperkenalkan pola 3-tier (sebagai arsitektur 3-tier) untuk menjelaskan pembagian secara fisik dari sebuah aplikasi yang melalui terminal (tier ke-1), minicomputer (tier ke-2), dan mainframe (tier ke-3). Ini memberikan kesempatan pada vendor-vendor ini untuk menjual komputer level menengah (mid-range) mereka sebagai front-end untuk mainframe.

Hari ini, kita menggunakan istilah tier untuk menjelaskan pembagian sebuah aplikasi yang melalui client dan server. Pembagian proses kerja adalah bagian uatama dari konsep client/ server saat ini. Jadi saat ini pembagian kerja pada client dan server telah diatur secara lebih spesifik.

  • 2-tier. Membagi proses load kedalam dua bagian. Aplikasi utama secara logika dijalankan/ berjalan pada sisi client yang biasanya mengirimkan request dalam bentuk sintaks SQL ke sebuah database server yang berfungsi sebagai media penyimpanan data. Kita bisa juga menyebutnya dengan arsitektur fat client karena bagian terbesar atau yang utama dari aplikasi berjalan pada sisi client/ komputer client.
  • 3-tier. Membagi proses loading antara 1) komputer client menjalankan
    graphical user interface (GUI) logic, 2) aplikasi server menjalankan business
    logic, dan 3) database dan/ atau legacy application. Karena 3-tier
    memindahkan application logic ke server sehingga sering juga disebut
    sebagai arsitektur fat server.

Dari semua definisi diatas, semua aplikasi client/ server haruslah memiliki paling tidak 2-tier : user interface pada sisi client dan data terdistribusi yang disimpan pada sisi server.
Pembagian kerja ini adalah isu utama yang menjadikan perbedaan terbesar dalam penentuan sukses tidaknya aplikasi yang berhubungan penyelesaian masalah mission-critical.

Keuntungan dan keterbatasan aplikasi 2-tier

Pada sistem 2-tier client/ server, aplikasi logic ditempatkan pada sisi client dengan GUI. GUI dijalankan pada client yang akan mengirimkan SQL, file system calls, atau perintah HTTP melalui jaringan ke server. Kemudian server akan mem-proses request dari client dan mengembalikan hasil proses tersebut kembali ke komputer client. untuk meng-akses datanya, komputer client harus mengetahui bagaimana data tersebut diatur dan kemudian disimpan pada sisi server. Variasi pada pendekatan 2-tier adalah dengan menggunakan stored procedures untuk meng-off-load beberapa
proses pada sisi server. Walaupun pengiriman request SQL melalui jaringan, stored procedures membolehkan kita untuk menjalankan sebuah fungsi yang berjalan tanpa sebuah database.

Kesederhanaan adalah faktor utama yang mengantarkan 2-tier client/ server menjadi populer. 2-tier sangat ideal digunakan jika kita ingin membangun sebuah aplikasi dengan cepat dengan menggunakan bantuan visual builder tools seperti Delphi, VB, dll. Biasanya, hanya aplikasi yang berskala departemen/ bagian-bagian kecil yang menggunakan konsep 2-tier ini seperti sistem pengambilan keputusan (DSS) atau aplikasi berbasis web sederhana.
Mengapa 3-Tier Client/ Server?
Apa yang terjadi sekarang dengan perkembangan internet dan jaringan yang begitu pesat tidak memungkinkan lagi diselesaikan dengan metode 2-tier client/ server sehingga perlu satu perubahan besar untuk menangani masalah ini. Saat ini kita telah mengembangkan aplikasi client/ server berskala luas dan E-Commerce berbasis internet. Konsekuensinya, kita harus meninggalkan dunia tradisional 2-tier client/ server. Sekarang kita sedang menghadapi masalah dunia yang kompleks dimana aplikasi-aplikasi dibagi menjadi beberapa komponen-komponen dan didistribusikan melalui multi prosesor. Yaitu dunia aplikasi 3-tier (dan N-tier).

Saat ini perusahaan-perusahaan besar yang sudah menggunakan client/ server mulai merasakan 2-tier client/ server sudah tidak relevan lagi untuk diimplementasikan di perusahaan mereka. Karena yang terjadi saat ini dengan adanya internet maka dituntut agar aplikasi yang digunakan diperusahaan mereka harus dapat mendukung internet dan semua komponennya, aplikasi tersebut harus dapat melayani ribuan komputer client dimana aplikasi ini seringkali berjalan pada banyak server dan terdiri
dari ratusan komponen-komponen software didalamnya. Dengan adanya internet, server dapat melayani request dari mana saja dengan PC yang terhubung ke internet.

Dalam era internet saat ini, transaksi dapat berasal dari konsumen (melalui aplikasi internet), dari suplier atau distributor ( melalui perusahaan internet – ekstranet).

Kapan kita menggunakan 3-tier?

Saat ini 3-tier menjadi sangat populer dibanding 2-tier arsitektur tapi 2-tier tidak akan bisa ditinggalkan. Masih terdapat banyak aplikasi yang ideal menggunakan arsitektur 2-tier. Lalu bagaimana kita mengetahui model apa yang cocok untuk aplikasi kita dan sesuai dengan karakteristik perusahaan? Berikut ini adalah beberapa kriteria yang bisa digunakan untuk menentukan kapan sebuah aplikasi menggunakan model arsitektur 3-tier client/ server :

  • Banyaknya layanan atau class aplikasi lebih dari 50
  • Program aplikasi di buat atau ditulis dalam beebrapa bahasa pemrograman yang berbeda untuk masing-masing organisasi.
  • Dua atau lebih data source yang heterogen seperti dua DBMs yang berbeda atau DBMs dan file system
  • Suatu aplikasi akan digunakan lebih dari 3 tahun. Apalgi jika kita akan
    merencanakan banyak modifikasi atau penambahan
  • Beban kerja yang sangat tinggi. Lebih dari 50000 transaksi perhari atau lebih dari 300 user yang mengakses ke sistem yang sama pada database yang sama dalam waktu bersamaan
  • Ekspektasi bahwa aplikasi akan terus berkembang sepanjang waktu

Conclusion

Pada akhirnya, saat ini akan sangat mudah dan aman bagi kita untuk meng-
implementasikan arsitektur 3-tier client/ server khususnya jika kita memiliki
infrastruktur yang solid untuk itu. Dalam era intranet dan aplikasi internet sekarang ini, arsitektur 3-tier client/ server menjadi arsitektur paling favorit yang digunakan. 3-tier memberikan kita keleluasaan untuk mengembangkan aplikasi kita mulai dari sistem yang paling kecil hingga kita engembangkannya menjadi sebuah aplikasi berskala enterprise.

MENGENAL DIRI SENDIRI (Ma’rifatul Insan)

SIAPAKAH ANDA SEBENARNYA? Sebuah pertanyaan singkat yang banyak
diremehkan orang. Seseorang akan cenderung menjawab dengan kalimat
singkat sesingkat pertanyaannya. “Saya adalah seorang pekerja, saya adalah
seorang laki-laki, saya adalah ……” dan banyak contoh jawaban yang akan
terlontar dengan nada yang hampir sama yaitu hanya mengungkapkan ciri-ciri
lahiriah saja, ciri-ciri yang tampak oleh mata.
Maksud dari pengenalan diri sendiri sebenarnya mempunyai makna yang dalam
dan luas, mempunyai segi-segi yang perlu dikenali dan direnungkan secara
seksama. Segi-segi atau hal-hal yang harus kita kenali dan direnungkan agar kita
bisa mengenal diri kita adalah :
1. Kedudukan Diri Seseorang Di Hadapan Allah
Sesuai dengan hakikat penciptaan manusia bahwa manusia dilahirkan di
muka bumi ini adalah untuk beribadah,mengabdi kepada Sang Khaliq, Allah
swt. Inilah hal pertama yang harus kita kenal pada diri kita sebab semua kunci
diri manusia, baik buruknya ada di tangan-Nya. Jika Allah memandang baik
seorang hamba maka pandangan sesama makhluk akan baik pula, begitu
pula sebaliknya. Oleh karena itu coba renungkan dan intospeksi diri
bagaimana kedudukan kita di hadapan Allah. Memang hal itu adalah hal gaib,
tapi paling tidak kita bisa merasakan seberapa dekat kita dengan Allah
dengan melihat : Seajauh mana kita telah beribadah ditinjau dari kualitas dan
kuantitasnya, fenomena terkabul tidaknya doa, semangat untuk mendalami
ilmu agama, keikhlasan untuk mengorbankan waktu, tenaga, harta bahkan
nyawa untuk tegaknya dienul Islam.
• Sebaik-baiknya orang di sisi Allah adalah orang yang bertaqwa. (Al
Quran)
• Jika Allah menghendaki kabaikan pada diri seseorang maka Allah akan
memberikan kepahaman terhadap agama. (Al Hadist)
Fitrah yang ada pada diri manusia adalah manusia diciptakan dalam keadaan
suci tanpa membawa dosa keturunan. Dan seharusnya hal itulah yang
seharusnya dipertahankan di hadapan penciptanya yaitu menjaga diri agar
tetap suci dengan tidak mengerjakan dosa dan kemaksiatan dan dengan
selalu memperbaharui tobat kepada Allah swt agar kedudukan di hadapan
Nya tetap mulia, sampai-sampai lebih mulia dari para malaikat, dan jangan
sampai meletakkan diri kita lebih rendah dibanding hewan ternak karena kita
tidak bisa menjaga kesucian fitrah sebagai manusia.
2. Kedudukan Diri Di Mata Sesama Manusia
Manusia selain sebagai makhluk individu adalah juga sebagai makhluk sosial.
Manusia tak akan bisa hidup sendiri tanpa bantuan orang lain. Dia akan selalu
berhubungan dan berkomunikasi dengan masyarakat. Melihat begitu
pentingnya masyarakat atau orang lain maka seorang individu harus bisa
menempatkan diri di dalam masyarakat. Kemulian akhlaq, kepandaian
seseorang menempatkan diri menjadikan dirinya mempunyai harga di mata
orang lain, sehingga seseorang akan dihargai dan dibutuhkan di mata
masyarakat atau minimal tidak mendapat predikat buruk.
• Masyarakat mempunyai hukum tidak tertulis yang terkadang lebih
kejam dari hukum tertulis.
• Kepribadian seseorang dapat diketahui dengan melihat siapa teman
akrabnya.
Oleh karena itu hal-hal di bawah ini harus diperhatikan dalam pengenalan diri
1. Apa hakikat penciptaan jin dan manusia ? (Adz Dzariat : 56)
2. Apa saja kewajiban manusia kepada Penciptanya ?
3. Apakah manusia bisa hidup sendiri ?
4. Apa kewajiban manusia kepada Penciptanya yang berhubungan dengan
sesama manusia ?

Sabtu, 30 Oktober 2010

SIMPLE KONEKSI JDBC

package JavaConnection;

import java.sql.*;

public class MetodeInsert {
private Connection conect=null;
public MetodeInsert(String username, String password){
String insert = "insert into Daftar values('"+username+"','"+password+"')";

Statement state=null;
try {
Class.forName("com.mysql.jdbc.Driver");
}ca
tch(ClassNotFoundException ex){
ex.printStackTrace();
}
try {

conect = DriverManager.getConnection("jdbc:mysql://localhost:3306/Dataman","root","c-net");
state = conect.createStatement(); state.executeUpdate(insert); state.close(); }catch(SQLException ex){
ex.printStackTrace();
}
}

}


package JavaConnection;

import java.io.*;

public class Main {

public static void main(String[]args)throws Exception{
BufferedReader bufer = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Masukan username :");
String nama = bufer.readLine();
System.out.print("Masukan Password :");
String pass = bufer.readLine();
MetodeInsert insert = new MetodeInsert(nama, pass);

}
}

DOWNLOAD SCRIPT DARI INTERNET

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {
public static void main(String args[]) throws Exception {

//Alamat yang akan kita download
URL url = new URL("http://www.google.com");
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();

//Memasukan script yang kita download
InputStream inStrm = httpCon.getInputStream();
System.out.println("\nContent at " + url);
int ch;

//Mencetak seluruh script
while (((ch = inStrm.read()) != -1))
System.out.print((char) ch);
inStrm.close();
}
}

KISI-KISI UJIAN AKHIR SEMESTER

KISI-KISI UJIAN AKHIR SEMESTER

Membuat program mencetak Bilangan Prima


Membuat program mencetak Bilangan Faktorial

Membuat program mencetak Bilangan Fibonanci

Membuat program mencetak Bilangan Ganjil Genap

Membuat program mencetak Deret Aritmatika

Membuat program mencetak Bilangan Pangkat

Membuat Program untuk mengecek validasi nama

Membuat program untuk menentukan huruf vocal konsonan

dll..........

-------SEMOGA MEMBANTU..............

Senin, 25 Oktober 2010

Fungsi Setter dan Getter

Mengapa Harus Ada Setter dan Getter dalam Program Java ???

Dulu ketika saya masih baru umur jagung, atau dibilang masih newbie

hemm...ternyata aku tak begitu memperhatikan penggunaan dari setter dan getter,

namun setelah sekian lama kurang lebih satu tahun aku mengoprek-oprek :-)
programnya eh....ternyata setter dan getter sangat dibutuhkan dalam sirkulasi
aliran data secara object.

jadi gini dalam pemrogramman java yaitu menganut paham OOP (Orientasi Object Programming)

he..he...sesat ga ya :-P

jadi pada intinya data akan dibuat object, kemudian object tersebut di orientasikan
kemudian dipanggil dan dicetak atau disimpan.

untuk memenuhi kebutuhan tersebut maka didalam sebuah kelas harus ada yang namanya method setter dan getter, kenapa harus ada method tersebut.

karena fungsi dari method setter adalah mengisi atau menyajikan tempat ruangan sementara
yang nanti akan di akses oleh method getter, agar method getter dapat mengakses method
setter maka method getter harus dipastikan memiliki method yang mengembalikan nilai.

nah..dari sirkulasi dua method tersebut kita bisa mengimplementasikannya lebih dari 1 kelas
asalkan alur data terstruktur, dan jelas secara logika.

contoh Program :

public class Mahasiswa {

String nama;

int nim;

public Mahasiswa(){

}

public void setNama(String nama){
this.nama=nama;
}

public String getNama(){
return nama;
}

public void setNim(int nim){
this.nim=nim;
}

public int getNim(){
return nim;
}

}

dengan code seperti itu kita telah membuat data yang berbentuk object.
dimana ada dua data, yaitu nama, dan nim.

sekarang tinggal kita implementasikan kelas tersebut dikelas lain.


public class DataMahasiswa{

Mahasiswa mhs;

public DataMahasiswa(){

mhs = new Mahasiswa();
mhs.setNama("SUHERMAN");
mhs.setNim(41080418);

}

void Cetak(){
System.out.println("---------"+"Data Mahasiswa"+"---------");
System.out.println("Nama :" + mhs.getNama());
System.out.println("Nim :" + mhs.getNim());

}

public static void main(String[]args){
DataMahasiswa data = new DataMahasiswa();
data.Cetak();
}

}

Nah,....tinggal jalankan kelas DataMahasiswanya.
sampe disini ada yang ditanyakan ????

Sejarah Berdirinya Programming Java

Bahasa pemrograman Java pertama lahir dari The Green Project, yang
berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992.
Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini
dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill
Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah
satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe
Palrang.Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand
Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup
dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan
sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch
screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7"
(Star Seven).Setelah era Star Seven selesai, sebuah anak perusahaan TV
kabel tertarik ditambah beberapa orang dari proyek The Green Project.
Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton
Avenue, Palo Alto.Perusahaan baru ini bertambah maju: jumlah karyawan
meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang
waktu ini juga ditetapkan pemakaian Internet sebagai medium yang
menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an,
Internet masih merupakan rintisan, yang dipakai hanya di kalangan
akademisi dan militer.Mereka menjadikan perambah (browser) Mosaic
sebagai landasan awal untuk membuat perambah Java pertama yang dinamai
Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada
perkembangan rilis pertama, Web Runner berganti nama menjadi Hot
Java.Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java
versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemeritaan
pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei
1995.Sayang terjadi perpecahan di antara mereka suatu hari pada pukul
04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama
proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama
Marc Andreessen, membentuk Netscape.Nama Oak, diambil dari pohon oak
yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling.
Nama Oak ini tidak dipakai untuk versi release Java karena sebuah
perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga
diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi
murni yang digiling langsung dari biji (kopi tubruk) kesukaan
Gosling.Versi Awal

Versi awal Java ditahun 1996 sudah merupakan versi release
sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak
paket standar awal yang terus dikembangkan pada versi selanjutnya:
java.lang: Peruntukan kelas elemen-elemen dasar.
java.io: Peruntukan kelas input dan output, termasuk
penggunaan berkas.
java.util: Peruntukan kelas pelengkap seperti kelas
struktur data dan kelas kelas penanggalan.
java.net: Peruntukan kelas TCP/IP, yang memungkinkan
berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
java.awt: Kelas dasar untuk aplikasi antarmuka dengan
pengguna (GUI)
java.applet: Kelas dasar aplikasi antar muka untuk
diterapkan pada penjelajah web
Multiplatform. Kelebihan utama dari Java ialah dapat
dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan
prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini
pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah,
dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode)
sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa
perubahan. Kelebihan ini memungkinkan sebuah program berbasis java
dikerjakan diatas operating system Linux tetapi dijalankan dengan baik
di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah
Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah
setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat
diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
OOP (Object Oriented Programming - Pemrogram Berorientasi
Objek) yang artinya semua aspek yang terdapat di Java adalah Objek.
Java merupakan salah satu bahasa pemrograman berbasis oebjek secara
murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object.
Hal ini sangat memudahkan pemrogram untuk mendesain, membuat,
mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java
secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan
Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi
fungsi yang advance seperti komunikasi antara komputer sekalipun.
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan
kelengkapan library/perpustakaan (kumpulan program program yang
disertakan dalam pemrograman java) yang sangat memudahkan dalam
penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan
perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar
yang terus menerus membuat perpustakaan-perpustakaan baru untuk
melingkupi seluruh kebutuhan pembangunan aplikasi.
Bergaya C++, memiliki sintaks seperti bahasa pemrograman
[C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat
ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++
yang pindah ke Java. Universitas-universitas di Amerika juga mulai
berpindah dengan mengajarkan Java kepada murid-murid yang baru karena
lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang
bukan mengambil jurusan komputer.
Pengumpulan sampah otomatis, memiliki fasilitas
pengaturan penggunaan memori sehingga para pemrogram tidak perlu
melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa
C++ yang dipakai secara luas).
Kekurangan
Tulis sekali, perbaiki di mana saja - Masih ada beberapa
hal yang tidak kompatibel antara platform satu dengan platform lain.
Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi
pada Mac OS X.
Mudah didekompilasi. Dekompilasi adalah proses
membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena
koe jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa
tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang
sama juga terjadi pada Microsoft .NET Platform. Dengan demikian,
algoritma yang digunakan program akan lebih sulit disembunyikan dan
mudah dibajak/direverse-engineer.
Penggunaan memori yang banyak. Penggunaan memori untuk
program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi
generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi,
Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi
pihak yang menggunakan teknologi terbaru (karena trend memori terpasang
makin murah), tetapi menjadi masalah bagi mereka yang masih harus
berkutat dengan mesin komputer berumur lebih dari 4 tahun.

Jumat, 22 Oktober 2010

Menampilkan layar penuh di java ternyata tidak sulit.

tinggal panggil kelas GraphicsEnvironment dan diisi dengan method staticnya

yaitu GraphicsEnvironment.getLocalGraphicsEnvironment();

setelah itu panggil satu kelas lagi, yaitu GraphicsDevice

diisi dengan method yang ada di kelas GraphicsEnvironment.

jadi nanti sintaxnya seperti ini.

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();

GraphicsDevice screen = ge.getDefaultScreenDevice();

contoh program lengkap :

import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Window;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class MainClass extends Window {

private BufferedImage pic;

public static void main(String[] args) {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice screen = ge.getDefaultScreenDevice();

if (!screen.isFullScreenSupported()) {
System.out.println("Full screen mode not supported");
System.exit(1);
}

try {
BufferedImage loadedpic = ImageIO.read(new File("your.jpg"));
screen.setFullScreenWindow(new MainClass(loadedpic));
} catch (Exception e) {
System.err.println(e.getMessage());
}
}

public MainClass(BufferedImage pic) {
super(new Frame());

this.pic = pic;

addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
System.exit(0);
}
});
}

public void paint(Graphics g) {
g.drawImage(pic, 0, 0, getWidth(), getHeight(), this);
}
}

Sabtu, 16 Oktober 2010

Swing GlassPane

Glasspane merupakan salah satu keajaiban di swing, karena effect yang ditimbulakan seperti kaca mungkin di package AWT sulit untuk membuat glass seperti ini, andai ada juga mungkin tidak sebaik di swing.

Contoh GlassPane sederhana.

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagLayout;
import javax.swing.JPanel;

/**
*
* @author manjava
*/
public class GlassPane extends JPanel{

private Color color_trans;

public GlassPane(){
setOpaque(false);
color_trans = new Color(255,255,getBackground().getBlue(),20);
this.setBorder(null);
setBackground(Color.BLACK);
}

public GlassPane(GridBagLayout gb){
setLayout(gb);
setOpaque(false);
color_trans = new Color(255,255,getBackground().getBlue(),20);
}

@Override
public void setBackground(Color c){
super.setBackground(c);
color_trans = new Color(getBackground().getRed(),getBackground().getGreen()
,getBackground().getBlue(),20);
repaint();
}
@Override
protected void paintComponent(Graphics g){
super.paintComponent(g);

Graphics2D gd = (Graphics2D) g.create();
gd.setColor(color_trans);
gd.fillRect(0, 0, this.getWidth(), this.getHeight());
gd.dispose();
}
}

Jumat, 15 Oktober 2010

AnimationFrame

Animasi memang sangat diperlukan pada sebuah aplikasi sekarang ini, karena effectnya yang unik dapat memikat pengguna dan tidak cepat bosen dengan model aplikasinya.
untuk itu sangat disarankan dalam pembuatan aplikasi apapun diharapkan ada effect yang dapat melengkapi simulasi bekerjanya suatu aplikasi.

Contoh AnimasiFrame yang bergerak dari atas sampai ketengah.

pertama buat timer untuk menggerakan frame

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package latihan;

import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;

/**
*
* @author manjava
*/
public class Animator implements ActionListener{
ActionFX fx;
int delay=0;
boolean bol;
public Animator(ActionFX fx){
this.fx=fx;
}

public void actionPerformed(ActionEvent e) {
delay++;
int s=10+delay;
int h=10+s;
fx.point.y=+h;

fx.frame.setLocation(fx.point.x,fx.point.y);
if(delay==300){
fx.timer.stop();
}
}

}


kedua buat suatu aksi yang nantinya akan menghubungkan
kinerja dari timer ke frame utama.

package latihan;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.Timer;

/**
*
* @author manjava
*/
public class ActionFX{
Timer timer;
JFrame frame;
Point point;
public ActionFX(){
Animator anm = new Animator(this);
timer = new Timer(000,anm);
timer.addActionListener(anm);

}
public void setAnimation(JFrame frame,Point p){
this.frame=frame;
this.point=p;
}

public void run(){
timer.start();
}
}

ketiga buat frame utama, disini saya buat frame sederhana dan tidak kompleks.

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package latihan;

import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;

public class FXman extends JFrame{
ActionFX fx;
public FXman(){
setLocationRelativeTo(null);
fx = new ActionFX();
Point po = getLocation();
setLocation(new Point(po.x,0));
fx.setAnimation(this, po);

setDefaultCloseOperation(3);
setSize(300,300);
setVisible(true);
fx.run();
}
public static void main(String[]args){
new FXman();
}

}