Tugas Rangkuman 2 (Pencabangan)

1.PENCABANGAN
a.if-else
If(boolean-expression) statement 1; (else statement2)

Klausa else boleh ditulis boleh tidak.Setiap statement dapat berupa kumpulan pernyataan yang dibatasi dengan kurung kurawal.Biasanya untuk amannya kurung kurawal ini tetap digunakan,walaupun hanya ada satu statement.berikut contoh pemakaiannya:

Int dataTersedia;
//...
If (dataTersedia > 0)
{
ProsesData();
dataTersedia=n;
}
Else
{
Tunggu Data Berikut();
}

Contoh coding;
Class praktek 1
{
Public static void main (string args[])
{
Int nilai;
Nilai=70;
System.out.println(“==============”);
System.out.println(“Nama : Duo Maxwell”);
System.out.println(“Nilai : ”+nilai);
If(nilai>90)
System.out.println(“Ket : istimewa euy!”);
else
System.out.println(“Ket : Tidak istimewa”);
System.out.println(“=============”);
}
}

b.break

Proses break memerintahkan runtime untuk menjalankan program di belakang blok tertentu.Untuk dapat di tunjuk, sebuah blok di beri nama,dan java memiliki bentuk tabel untuk menyatakan nama suatu blok. Berikut contoh penggunanya :
Class Break {
Public static void main (string args []) {
Boolean t=true ;
a: {
b: {
c: {
system.out.println(“sebelum break”);
if (t)
break b;
system.out.println(“pernyataan ini tidak akan pernah dieksekusi”);
}
System.out.println(“ini juga tidak akan pernah dieksekusi”);
}
System.out.println(“ini setelah b”);
}
}
}
Sebagai catatan,break juga dapat digunakan tanpa tael untuk keluar dari suatu loop.
C. Switch-case
Bentuk umumnya adalah sebagai berikut:
Switch (expression) {
Case value1 :
Statement1;
Break;
Case value2:
Statement2;
Break;
Case valueN:
statementN;
break;
default:
statement default;
}
Nilai expression di bandingkan dengan setiap nilai pada pernyataan case (value). Jika ada yang cocok, maka urutan statement yang ada di belakang pernyataan case akan dieksekusi. Jika menuliskan break, maka eksekusi akan dilanjutkan ke case selanjutnya.
Contoh cooding
Class pratek2
{
Public static void main (string args [] )
{
Int nilai ;
Nilai=6;
System.out.println(“===============================”);
System.out.println(“Nama : Helena Peacecraft”);
System.out.println(“Nilai : “ + nilai );
Switch (nilai) {
Case 10:
Case9:
System.out.println(“Ket : Istimewa “);
Break;
Case8:
Case7:
System.out.println (“Ket : Bagoese”);
Break;
Case6:
System.out.println (“Ket : Cukup”);
Break;
Default:
System.outy.println (“Ket : Kurang”);
}
System.out.println (“=======================”);
}
}
D.return
Return menyebabkan eksekusi menyambang kembali ke pemanggil method. Contoh pemakaian return berikut menyebabkan eksekusi kembali ke pemanggilnya, dalam hal ini adalah runtime Java.
Class ReturnDemo {
Public static main void (string args[]) {
Boolean t=true;
System.out.println (“pernyataan ini tidak akan pernah dieksekusi”);
}
}

Tugas Rangkuman Tentang Java

Apakah Java ?

Java adalah bahasa pemograman berorientasi objek yang dikembangkan
Oleh Sun Microsystem sejak tahun 1991, sebuah perusahaan besar di
Amerika serikat. Bahasa ini dikembangkan dengan model yang mirip dengan
Bahasa c++ dan smalltalk, namun dirancang agar lebih mudah dipakai dan
Platform independent, yaitu dapat dijalankan di berbagai jenis system operasi
Dan arsitektur computer. Bahasa ini juga dirancang untuk pemerograman
Di internet sehingga dirancang agar aman dan portable. Dalam beberapa tahun
Terakhir, java telah merambah dunia mobile dengan J2ME (Micro Edition:
MIDlet, dipakai dalam mobile phone, PDA, smart phone dan sebagainya).
Java juga dipakai dalam aplikasi server dengan J2EE (Enterprise Edition: JSP,
Servlet).

Java memiliki sejumlah mekanisme untuk networking dan system
Terdistribusi , yaitu socket ,remote methode internation (RMI),CORBA, dan
mobile agent . pada perkembangannya, banyak vendor-vendor seperti
Oracle (http://www.oracle.com/), Nokia (http://www.nokia.com/), Siemens
(http://mobile.siemens.com/), Yahoo portal (http://www.tibco.com/) yang
menggunakan java untuk pengembangan aplikasinya. Java memang sangat
popular pada level enterprise application dan mobile application . hingga
saat ini, sun telah merilis java versi 2.


B. Program Java

program – program java dapat dikategorikan menjadi2 yaitu :
Application , yaitu program yang dapat dijalankan dari command prompt
Suatu sistem operasi. Application yang berdiri sendiri dapat berupa
Window – based application atau console application. Window - based
Application menggunakan antar muka grafikal sedangkan console
Application menggunakan karakter- karakter tanpa antar muka grafikal.
Application yang berdiri sendiri dapat mengakses resources yang ada
Pada computer tersebut. Networked application dapat menggunakan
Resources yang ada pada jaringan ,.distributed applications dapat
Mengakses obyek yang berjalan pada pada beberapa computer melalui
Jaringan . application dapat membaca dan menuliskan file pada computer
Local, dapat juga membuat koneksi jaringan ,mengakses resources melalui
jaringan dan me”launched” application melalui jaringan . application yang
berdiri sendiri terletak pada hard disk local computer. Pada saat akan
dieksekusi maka application ini diambil dari hard disk dan kemudian
dieksekusi dimemori .

Applet , yaitu program java yang dieksekusi di dalam web page. Untuk
Menggunakan applet maka diperlukan browser yang mendukung java,
Seperti MS Internet Explorer 4.0 , Netscape Navigator 4.0 atau HotJava.
Applet di”load” dan dieksekusi pada saat user me-“load” web page
Menggunakan web browser. Pada saat web page yang berisi applet
Ditampilkan, pengguna sebenarnya berinteraksi dengan applet. Applet
Mudah digunakan , karena untuk menggunakan applet pengguna hanya
Perlu mengakses web page. Sedangkan application harus didownload
Dahulu pada computer local sebelum dapat dieksekusi. Applet juga
Mempunyai antar muka grafikal. Applet hanya dapat mengakses
Resources dari dari computer host-nya dan tidak dapat mengakses file-
File pada computer yang mendownload-nya.


C. Fitur-fitur yang disediakan oleh Java :

Aksebilitas dari lokasi manapun didunia:
Java adalah bahasa pemrograman untuk internet , sehingga dapat
Diakses melalui world wide web yang dapat diakses dari lokasi
manapun didunia.

Sistem bebas virus :
Java mengiplementasikan strong type checking pada computer
Pengguna , perubahan pada program akan ditandai sebagai error dan
Program tidak akan dijalankan . type checking adalah proses
Pengecekan kode untuk mengetahui apakah ada perubahan yang
dibuat kode untuk mengetahui apakah ada perubahan yang dibuat
terhadap kode asli.

Aplikasi yang dapat digunakan pada bermacam - macam platform (
Platform independent application)
Java adalah bahasa pemerograman yang flatform independent. Java
Complier meng-compile kode java menjadi intermediate bytecode
Yang dapat dibaca oleh JVM ( Java Virtual Machine). Java interpreter
Pada browser yang mendukung java dapat mengeksekusi bytecode
Ini. Dengan proses kompilasi bytecode dan interpretasinya oleh web
Browser, program java dapat dijalankan pada bermacam - macam
Hardware dan system operasi, asalkan system ini memiliki internet
Browser yang mendukung Java atau Java interpreter


D. Sejarah Java

Nama java kebetulan sama dengan dengan pulau yang ada di Indonesia yaitu
Jawa. Namun proses kelahirannya tidak ada hubunganya secara fisik dengan
Indonesia atau pulau Jawa.
Bahasa java mulai dikenalkan pada tahun 1991 ketika Sun Microsystems
Memulai proyek penelitian yang diberi nama kode Green. Proyek ini
bertujuan untuk membangun sebuah system yang memungkinkan computer
berperan dalam peralatan rumah tangga. Mereka mengangankan peralatan
cerdas yang dapat saling berkomunikasi serta dapat diperintah oleh manusia
hanya dengan sentuhan tombol dari jarak jauh.
Sun memfokuskan proyek mereka pada peralatan untuk TV kabel yang
Disebut set-top box. Tujuannya adalah agar pemirsa TV dapat berinteraksi
Dengan industri. Misalnya kita dapat memesan film, membeli barang, dan
Sebagainya.

Untuk merealisasikannya proyek ini, mereka merencanakan untuk membangun
Sebuah system operasi yang dibangun dengan bahasa c++. Tetapi, james
Gosling salah satu anggota pengembang proyek green merasa tidak puas
Dengan bahasa c++. Kemudian ia memutuskan untuk membuat sendiri
Bahasa pemerograman baru yang diberi nama oak. Nama ini diambil dari
Nama pohon yang terlihat dari jendela kantornya. Bahasa baru ini dibuat
berdasarkan syntax C++. Tetapi oak lebih sederhana dari c++, lebih
stabil, lebih mendukung network programming. C++ dapat dikatakan tidak
murni obyek oriented. Selain itu bahasa oak dibuat sebagai bahasa yang tidak terikat
pada suatu platform ( cross flatform atau multiflatform). Hal ini didasarkan
pada kenyataan berbagai peralatan elektronik rumah tangga dibuat oleh
berbagai pabrik dengan memakai berbagai macam jenis processor.

Dua tahun berikutnya sampai tahun 1994 proyek bisnis Green yang
Kemudian diperbesar oleh sun menjadi proyek Firstperson, mengalami
Kegagalan menyusul penolakan pasar terhadap ide TV interaktif ( bahkan
Sekarang TV interaktif tidak berkembang). Selanjutnya, Sun
Mengalami kegagalan pada impian peralatan cerdasnya, melihat celah lain di
Dalam dunia web . Bahasa oak yang dibuat sebagai bahasa multiflatform serta
diajukan untuk pemerograman interaktif dan distributed, dirasa sangat cocok
Untuk digunakan dalam dunia web, yang waktu itu mulai tumbuh pesat.

Nama oak kemudian harus diganti karena telah ada produk lain yang
Mematenkan nama tersebut. Pada tahun1995, nama oak diganti dengan
Nama Java. Pemilihan ini ( yang dikenal oleh para pekerja sun sebagai
Nama jenis kopi). Sama sekali tidak didasarkan atas kedekatan mereka dengan
Indonesia atau pulau (atau orang) jawa . nama java dipilih mengalahkan
Nama nama lainnya, sekedar karena mereka merasa bahwa nama ini sangat
Bagus. Bersamaan dengan lahirnya nama java, sun juga mengganti nama
Web browser mereka menjadi hotjava (semula bernama webrunner).
Sun kemudian mengumumkan bahasa java adalah bahasa yang mampu
Menjalankan web secara interaktif dan aman. Pertengahan tahun 1995,
Netscape mengumumkan akan mengadopsi Java didalam browser mereka.
Kemudian, java secara de facto menjadi bahasa standar didunia maya
Internet.

E . Flatform independent

Platform independent berarti program yang ditulis dalam bahasa java dapat
Dengan mudah dipindahkan antar berbagai jenis system operasi dan berbagai
Jenis arsitektur computer, aspek ini sangat penting untuk dapat mencapai
Tujuan java sebagai bahasa pemerograman Internet Di mana sebuah program
Akan dijalankan oleh berbagai jenis computer dengan berbagai jenis system operasi.
Sifat ini berlaku untuk level source code binary code dari program java.

Hasil dari dari mengkompile source code java bukanlah kode mesin atau intruksi prosesor
yang spesifik terhadap mesin tertentu , melainkan berupa bytecode yang berupa file
berekstensi . class. Bytecode tersebut dapat langsung anda eksekusi di tiap
platform yang dengan menggunakan Java Virtual Machine ( JVM) sebagai
interprenter terhadap bytecode tersebut.

JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi
Dan menterjemahkan bytecode program java dan mengeksekusi nya
sehingga secara konsep bisa dianggap sebagai sebuah interpreter
Kompiler dan interpreter untuk program java berbentuk java development
Kit (JDK) yang diproduksi oleh sun Microsystem .
Interpreter untuk program java sendiri sering juga disebut
Java Runtime atau Java Virtual Machine. Interpreter java, tanpa
Kompilernya, disebut Java Runtime Environtment (JRE) dapat didownload juga
Di situs yang sama. Untuk mengembangkan program java dibutuhkan JDK,
Sementara jika hanya ingin menjalankan bytecode java cukup dengan JRE
Saja.

F. Library

Selain compiler dan interpreter, bahasa java sendiri memiliki library yang
cukup besar yang dapat mempermudah anda dalam membuat sebuah
aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain user
interface, kriptografi, jaringan ,suara,database, dan lain-lain.

G. OO (Objeck Oriented)

Java adalah bahasa pemrograman berorientasi objek pemerograman
Berorientasi objek secara gamblang adalah teknik untuk mengorganisir
Program dan dapat dilakukan dengan hampir semua bahasa pemerograman.
Namun java sendiri mengimplementasikan berbagai fasilitas agar
Seorang programer dapat mengoptimalkan teknik pemerograman berorientasi
Objek.

Sedikit perbandingan tambahan dengan bahasa C dan C++ , java banyak
Mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan
Aspek-aspek kerumitan dalam bahasa mengurangi kekuatannya.
Hal ini mempermudah programer mempelajari java namun
Mengurangi keleluasannya programer berpengalaman dalam mengutak – atik
Sebuah program. Di balik kemudahan yang ditawarkan java, luasnya fasilitas
Library java sendiri membuat seorang programer membutuhkan waktu yang
Tidak singkat untuk dapat menguasai penggunaan library-library tersebut.


H. Memulai Pemrograman Java

Untuk membuat program java, seperti telah disebutkan namanya, Anda
Membutuhkan JDK. Proses instalasi JDK tersebut sangat mudah dan tidak
Membutuhkan pengetahuan tertentu . namun untuk menggunakannya Anda
Perlu melakukan beberapa penyesuaian dengan sistem operasi anda.
Umumnya yang perlu anda lakukan adalah memasukkan path direktori
JDK Anda ke setting path pada system operasi Anda. Misalkan direktori JDK
Anda adalah C: \ jdkl.4 maka pada Windows 98 Anda cukup
Menambahkan baris perintah SET PATCH=C : \ jdkl . 4 \bin pada file
Autoexec. bat Anda . untuk Windows NT /2000/XP Anda cukup menambahkan
Direktori C : \ jdkl.4 \ bin pada variabel path di System Environtment
Caranya : klik kanan ikon My computer , pilih Properties. Kemudian pilh tab
Advanced. Lalu klik tombol Environtment Variables, cari variabel path,
Kemudian tambahkan path direktori JDK anda ke variabel tersebut.
Untuk Linux, tambahkan baris perintah SET CLASSPATH= (direktori
jdk Anda ) ke file profile Anda. Untuk mencoba JDK , ketikkan perintah
java dan javac pada shell prompt (atau DOS Commad prompt). Jika
perintah tersebut sudah dikenali maka program java atau javac akan
menampilkan sintaks penggunaan. Untuk kemudahan dan berbagai fasilitas
tambahan anda dapat menggunakan Integrated Development Environtment
(IDE) untuk bahasa java seperti Visual Café dari Symantec atau JBuilder dari
Borland.
Urutan langkah-langkah yang harus Anda lakukan untuk membuat sebuah
program java sederhana adalah :
Membuat source code program dengan editor teks apapun. Ingat, file
Tersebut harus berekstensi. Java dan case sensitive.

Mengkompile source code dengan perintah javac. Misalnya: javac
HelloWorld . java. Jika berhasil, hasilnya adalah file bytecode
Berakhiran . class.

Mengeksekusi bytecode dengan perintah java. Parameter dari perintah
Ini adalah nama file hasil kompilasi tanpa ekstensi .class. contoh: java
HelloWord

I.Source Code
Berikut kode untuk HelloWorld . java:


public class HelloWorld
{
public static void main (string[ ] args)
{
System.out.println (“Apa Kabar Dunia?” ) ;
}
}

Perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga Anda harus
Memperhatikan penggunaan huruf besar dan kecil. Selain itu penulisan
Source code program tidak harus memperhatikan bentuk tertentu, sehingga
Anda bisa saja menuliskan semua baris source code tersebut dalam satu baris
Asal Anda tidak lupa membubuhkan tanda titik koma (;), atau menuliskan tiap
Kata dalam satu baris tersendiri. Namun dianjurkan Anda mengikuti layout
Seperti pada contoh agar program Anda mudah dibaca dan dimengerti.


J. Kompilasi

Setelah itu simpan/save syntax tersebut dengan nama HelloWorld . java
(sesuai dengan nama class). Kemudian kita akan meng-compile syntax
Program tersebut dengan perintah:

prompt > javac HelloWorld . java




K. Sintaks program

Sekarang kita akan mencoba membahas elemen-elemen dalam source code
tersebut.
Pada listing terdapat pernyataan public class. Pernyataan ini adalah
Pernyataan pembuka sebuah kelas. Kelas sendiri digunakan untuk
Menciptakan objek. Ingat bahwa java berorientasi objek. Kata public di
Depannya berfungsi agar kelas tersebut dapat diakses oleh semua program
Lain. Untuk saat ini anggaplah objek sebagai suatu item yang dapat
dimanipulasi oleh sebuah program.
Kemudian kita menemukan baris pernyataan public static void
main ( string[ ] args) . perintah ini merupakan pernyataan pembuka
sebuah metode . metode sendiri adalah kumpulan pernyataan untuk
melakukan suatu tugas tertentu dalam kelas. Dalam setiap aplikasi harus
ada sebuah metode yang bernama main yang akan dieksekusi pertama
kali saat program tersebut dieksekusi. Kata public di depannya
mempunyai fungsi yang sama dengan kata public yang ada didepan baris
permulaan kelas. Namun nantinya Anda akan menemukan juga bentuk lain
seperti private dan protect yang akan kita bahas nanti.
Pada listing terdapat kata static pada pernyataan pembuka metode
main. Hal ini berarti metode main tidak mengubah atau menggunakan
objek yang diciptakan oleh kelas tersebut, sehingga dapat dikatakan berdiri
sendiri dan tidak terikat dengan objek. Dalam metode main dalam aplikasi,
parameternya adalah selalu string. Array ini nantinya akan berisi
parameter-parameter yang diberikan user sebagai argumen command line.
Sementara anda tidak perlu mengert mengenai parameter tersebut, cukup diingat bahwa bentuk metode main harus selalu demikian.
Kemudian di dalam metode pada listing tersebut, kita menemukan sebuah
Pernyataan. Anda tentu dapat saja meletakan lebih dari satu pernyataan
Dalam sebuah metode. Setiap pernyataan dalam sebuah metode dipisahkan
Oleh titik koma dan akan dieksekusi satu persatu. Kedua pernyataan pada
Listing ternyata memanggil sebuah metode lain yaitu metode println.
Tentunya dapat Anda dapat perhatikan bahwa untuk memanggil sebuah metode
Diperlukan tiga komponen yaitu :

1.Objek yang ingin kita pakai. Dalam hal ini objek system. Out
2.Nama metode yang ingin kita pakai. Dalam hal ini println
3.Sepasang tanda kurung yang berisi informasi tambahan yang Diperlukan oleh metode yang dipanggil, yaitu parameter.

Dalam listing, pernyataan system.out.println(“Apa Kabar Dunia?” ) :
Berarti carilah objek out dalam kelas system kemudian panggil metode
Println dari objek out dengan parameter berupa string “Apa Kabar
Dunia?”.

L. Eksekusi

Setelah selesai membahas sintaks dasar Java dalam listing tersebut, selanjutnya
Kita akan mencoba mengeksekusi program ini. Untuk mengeksekusinya kita tinggal
Mengetikan perintah java HelloWord pada prompt dan pesan Apa Kabar Dunia?
Akan tampil di layar (atau mungkin di tempat lain, bergantung system operasi
Anda).

prompt> java HelloWorld


Tipe Data Primitive dan String
Pada java , terdapat tipe data sederhana dan tipe data array. Tipe data sederhana
Terdiri dari: tipe boulean, dan tipe numerik yang terdiri dari byte short, int,long,
Char,float, dan double. Boolean adalah tipe data untuk besaran logika, hanya
Memiliki dua kemungkinan nilai, true atau false.

java API juga menyediakan kelas-
Kelas untuk tipe-tipe variabel tersebut , yaitu Byte, Short,Integer, Long,
Character , Float, Double. Kelas-kelas ini secara default di-impor dari package
Java.lang.
Agar tidak bertanya-tanya tentang variabel yang menampung lebih dari
Satu karakter, Java menyediakan String untuk menampung data yang
Lebih dari satu karakter. Sebetulnya string bukan tipe data, melainkan
Objek yang berisi kumpulan karakter (char). Penggunaan string, tidak
Beda dengan dengan penggunaan tipe data yang lain.
Array adalah kumpulan variabel dengan tipe sejenis dengan nama yang
sama. Array pada java mempunyai pengertian yang kurang lebih sama
dengan array pada bahasa pemrograman pada umumnya. Berikut adalah
contoh pendeklarasian dari variabel dengan tipe “array of int” :
int vektor [ ] ;
index array dimulai dari 0(nol). Contoh berikut untuk mengalokasikan 5
buah integer ke dalam array:
vektor = new int [ 5] ;
selanjutnya untuk mengisi elemen-elemen array adalah sebagai berikut :
vektor [ 0 ] = 4 ;
vektor [ 1 ] = 3 ;
vektor [ 2 ] = 7 ;
vektor [ 3 ] = 5 ;
vektor [ 4 ] = 4 ;

Anda juga bisa menginisialkan array yang sama dengan contoh di atas
Dengan cara yang lebih singkat sebagai berikut :
Int vektor [ ]= {4,3,7,5,4 } ;


Operator dalam Java

Java memiliki 44 operator, yang terbagi dalam 4 jenis dasar , yaitu
Operator aritmetik, bitwise, relasi, dan logika

Operator aritmetik
Digunakan untuk proses matematis ( al jabar), operan harus berupa
Tipe numerik . operator ini tidak dapat digunakan unuk tipe Boolean,
Tetapi dapat digunakan untuk tipe char, karena char adalah anggota
Himpunan int .

Operator Hasil
+ penjumlahan
+= persamaan penjumlahan
- pengurangan ( juga untuk unary minus)
-= persamaan pengurangan
* perkalian
*= persamaan perkalian
/ pembagian
/= persamaan pembagian
% modulus ( sisa pembagian )
%= persamaan modulus
++ penambahan
__ pengurangan




Operator Bitwise

Tipe numeric integer, long , int, short, char, dan byte memiliki Kumpulan operator tambahan yang dapat memodifikasi dan
bit-bit yang menyusun nilainya.


Operator Hasil

~ unary NOT
& AND
| OR
^ exclusive OR
>> shift kanan
>>> shift kanan, isi dengan nol
<< shift kiri &= pernyataan AND |= pernyataan OR ^= pernyataan exclusive OR >>= pernyataan shift kanan
>>>= pernyataan shift kanan , isi dengan nol
<<= pernyataan shift kiri Operator Relasi Untuk menbandingkan dua buah nilai, Java memiliki kumpulan Operator relasi berikut ini untuk menyatakan kesamaan dan urutan. Operator Hasil == sama dengan != tidak sama dengan > lebih dari
< kurang dari >= lebih dari atau sama dengan
<= kurang dari atau sama dengan


Operator Logika

Operator logika boolean pada tabel dibawah ini bekerja hanya pada
operator boolean . Semua operator ini mengkombinasikan dua besaran
boolean untuk menghasilkan besaran Boolean.

Operator Hasil


& logika AND
| logika OR
^ logika XOR
|| hubungan – singkat OR
&& hubungan – singkat AND
! hubungan - singkat NOT
&= pernyataan AND
|= pernyataan OR
^= pernyataan XOR
== sama dengan
!= tidak sama dengan
?: operator ternaly if-then-else


Contoh syntax dengan menggunakan tipe data

Tipe data

Class contoh integer
{
public static void main ( string agrs[ ] )
{
int nilai ;

nilai = 95 ;
System . out . println (“nilai : “ + nilai ) ;
}




String

class contohstring
{
public static void main ( string agrs [ ] )
{
String nama ;

nama = “ STIKOM BALI” ;

System . out . println (“ nama : “ + nama ) ;
}
}


Contoh Penggunaan Operator

class contoh0pl
{
public static void main ( String agrs [ ] )
{
String nama , nim ;
int nilai

nama = “ Lutung Kesarung” ;
nim = “ 0400103350” ;

nilai = 95 ;
nilai + = 5 ;

System.out.println ( “= = = = = = = = = = = = = = =” ) ;
System.out,println (“ Nama : “ + nama ) ;
System.out.println (“ Nim : “ + nim ) ;
System.out.println (“ Nilai : “ + nilai ) ;
System.out.println (“= = = = = = = = = = = = = = =” ) ;

}
}


Dari contoh diatas, nilai akan ditampilkan berubah menjadi 100. Hal
Tersebut dikarenakan nilai 95 mengalami penambahan 5 angka , yaitu nilai += 5
Atau sama dengan operasi : nilai = nilai+5. Output yang dihasilkan dari eksekusi
Program dapat anda lihat pada layar dibawah :

= = = = = = = = = = = = = = = = = = = = = = = = =
Nama : lutung kasarung
Nim : 040010350
Nilai : 100
= = = = = = = = = = = = = = = = = = = = = = = = =

Cara Menginstal Java

Dalam postingan ini, saya ingin membagikan beberapa program java yang sederhana. Bukan bermaksud untuk mengajari sobat semua, tapi hanya berbagi pengetahuan dari pemikiran sederhana. Disini saya menggunakan software java jdk1.6.0_14, type software ini untuk windows dan sobat semua bisa mendownload versi terbaru nya di klik disini. Setelah sobat sudah mendapat sofwarenya maka, install saja seperti menginstal software biasanya. Nah, jika sudah restart computer sobat dan untuk langkah terakhir sobat harus membuat PATH agar java yang sudah diinstal tadi bisa anda gunakan.
Berikut caranya :
NB: Sistem operasi yang saya gunakan adalah windows dan saya instal di directory D,

1. Buka windows explorer (Logo windows + E) >> klik dimana lokasi Drive system operasi anda mis, saya di drive D.

2. Pilih program files >> Java >> Jdk1.6.0_14 >> bin

3. Lalu pada address windows anda copy isi address tersebut, jika pada computer saya
D:\Program Files\Java\jdk1.6.0_14\bin;

4. Kemudian klik kanan My computer >> pilih properties >>Tab Advanced, maka akan tampil kotak dialog seperti berikut ini:


5. Pilih Environment Variables, maka akan tampil kotak dialog, dan pada tabel User variable klik New maka akan muncul kotak seperti dibawah ini, kemudian pada variable name ketik PATH dan pada variable name paste alamat yang telah sobat copy tadi lalu klik Ok.


6. Sekarang, untuk membuktikan apakah sobat berhasil menginstal Java dengan benar, Start >> Run (Logo windows + R) kemudian ketik cmd >> klik Ok
7. Maka kotak CPrompt akan muncul, kemudian sobat ketik javac dan jika hasilnya seperti gambar dibawah ini maka saya ucapkan SELAMAT, sobat telah berhasil untuk menginstal java.

Sejarah Netbeans

NetBeans mengacu pada dua hal, yakni platform untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun menggunakan platform NetBeans.
Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut ‘modul’. Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java untuk berinetraksi dengan NetBeans Open API dan file manifestasi yang mengidentifikasinya sebagai modul. Aplikasi yang dibangun dengan modul-modul dapat dikembangkan dengan menambahkan modul-modul baru. Karena modul dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga secara mudah dan powerful.
Pengembangan NetBeans diawali dari Xelfi, sebuah proyek mahasiswa tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika Universitas Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsystem pada tahun 1999. Sun kemudian menjadikan NetBeans open source pada bulan Juni tahun 2000. Sejak itu komunitas NetBeans terus berkembang.

Dasar Belajar Java

Cara termudah untuk membuat thread adalah membuat kelas turunan dari java.lang.Thread, yang memiliki semua metode untuk membuat dan menjalankan thread. Metode paling penting adalah run(), yang bisa kita beban-lebihkan untuk melakukan tugas yang kita butuhkan. Atau dengan kata lain run() adalah metode yang akan dijalankan bersamaan dengan thread lain.
Contoh berikut membuat 5 thread, masing-masing memiliki nomor identifikasi unik yang dibuat dengan menggunakan variabel statik. Metode run() dibebanlebihkan untuk menghitung mundur hingga hitungMundur bernilai nol. Setelah metode run() selesai dijalankan, thread akan mati secara otomatis.
(Contoh-contoh pada bagian ini bisa diunduh untuk diimport ke dalam Eclipse. Lihat akhir halaman ini untuk tautannya)
package com.lyracc.threaddasar1;

public class ThreadDasar extends Thread {
private int hitungMundur = 5;
private static int jumlahThread = 0;

public ThreadDasar() {
super("Thread ke-" + ++jumlahThread);
start();
}

public void run() {
while (true) {
System.out.println( getName() + " : " + hitungMundur );
if (--hitungMundur == 0)
return;
}
}

/**
* @param args
*/
public static void main(String[] args) {
for(int i = 0; i < 5; i++)
new ThreadDasar();
}
}
Pada contoh program di atas, objek thread diberi nama melalui argumen pada konstruktornya. Nama ini dipanggil ketika metode run() melakukan penghitungan mundur, yaitu dengan menggunakan metode getName().
Metode run() pada thread biasanya memiliki perulangan internal yang akan terus menerus dipanggil hingga tidak lagi digunakan. Kita harus membuat suatu kondisi sehingga bisa keluar dari perulangan tersebut (misalnya pada contoh di atas, perulangan akan selesai jika hitungMundur bernilai 0). Seringkali, run() dijalankan di dalam perulangan yang tak pernah berhenti (kita akan lihat nanti bagaimana menghentikan suatu thread dengan aman).
Pada metode main(), thread dibuat beberapa kali kemudian dijalankan. Metode start() pada kelas Thread digunakan untuk melakukan tugas tertentu sebelum metode run() dijalankan. Jadi, langkah-langkahnya adalah : konstruktor dipanggil untuk membuat objek, kemudian memanggil start() untuk melakukan konfigurasi thread, dan kemudian metode run() dijalankan. Jika kita tidak memanggil start() maka metode run() tidak akan pernah dijalankan.
Keluaran dari program ini akan berbeda setiap kali dijalankan, karena penjadwalan thread tidak dapat ditentukan dengan pasti (non-deterministik). Bahkan, kita bisa melihat perbedaan yang sangat jelas ketika kita menggunakan versi JDK yang berbeda. Misalnya, JDK lama tidak melakukan pembagian waktu lebih cepat, artinya, 1 thread mungkin bisa melakukan tugasnya dengan cepat hingga selesai sebelum thread lain dijalankan. Pada JDK lain kita akan melihat program akan mencetak 5 untuk seluruh thread hingga 1 untuk seluruh thread. Artinya pembagian waktunya lebih baik, karena setiap thread memiliki kesempatan yang sama untuk menjalankan program. Karenanya, untuk membuat suatu program multi-threading, kita tidak boleh terpaku pada keluaran suatu kompiler. Program kita harus dibuat seaman mungkin.
Ketika objek Thread dibuat pada metode main(), kita lihat bahwa kita tidak menyimpan referensi ke objek tersebut. Pada objek biasa, tentunya objek ini akan langsung ditangkap oleh pemulung memori karena objek ini tidak direferensikan di manapun. Akan tetapi pada thread, objek hanya bisa diambil oleh pemulung memori jika metode run() selesai dijalankan. Pada contoh di atas, program masih bisa berjalan seperti biasa, dan objek Thread akan diberikan kepada pemulung memori setelah mencetak angka 1.
Yielding (menghasilkan)
Jika kita tahu bahwa kita telah mendapatkan hasil yang kita inginkan pada metode run(), kita bisa memberi tahu penjadwal thread bahwa kita telah selesai dan memberi jalan kepada thread lain untuk mendapatkan kesempatan pada CPU. Akan tetapi ini hanya sebagai petunjuk, yang artinya belum tentu dijalankan oleh penjadwal thread.
Misalnya pada contoh di atas, kita bisa mengganti isi metode run() dengan
public void run() {
while (true) {
System.out.println( getName() + " : " + hitungMundur );
if (--hitungMundur == 0)
return;
yield();
}
}
Secara umum, yield mungkin berguna untuk situasi yang agak langka, dan kita tidak bisa menggunakannya secara serius untuk memperbaiki kinerja aplikasi kita.
Tidur (sleeping)
Cara lain untuk mengatur perilaku thread kita adalah dengan memanggil sleep untuk menunda eksekusi thread selama waktu tertentu (dalam mili detik). Misalnya pada kode berikut, kita ubah metode run() menjadi seperti :
public void run() {
while (true) {
System.out.println( getName() + " : " + hitungMundur );
if (--hitungMundur == 0)
return;
try {
sleep(100);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
Ketika kita memanggil sleep(), metode ini harus diletakkan di dalam blok try karena sleep() bisa melemparkan pengecualian, yaitu jika tidurnya diganggu sebelum waktunya selesai. Hal ini terhadi misalnya apabila thread lain yang memiliki referensi ke thread ini memanggil interrupt() pada thread ini. Pada contoh di atas, kita lemparkan lagi pengecualian yang terjadi dengan pengecualian lain bertipe RuntimeException, karena kita tidak tahu bagaimana pengecualian ini harus ditangani, dan membiarkan metode yang memanggilnya menangkap pengecualian baru ini.
Metode sleep() tidak digunakan untuk mengatur bagaimana thread akan berjalan menurut urutan tertentu. Metode ini hanya menghentikan eksekusi suatu thread sementara. Yang dijamin adalah bahwa thread akan tidur selama paling sedikit 100 mili detik (atau mungkin sedikit lebih lama hingga thread jalan kembali). Urutan thread diatur oleh penjadwal thread yang memiliki mekanisme sendiri tergantung dari keadaan thread lain atau bahkan aplikasi lain di luar Java, oleh karena itu sifatnya disebut non-deterministik.
Jika kita harus mengatur thread mana dahulu yang harus dijalankan, cara terbaik mungkin tidak menggunakan thread sama sekali, atau mendesain agar suatu thread memanggil thread lain dengan suatu urutan tertentu. Tentunya cara terakhir lebih rumit dari yang dibayangkan.
Prioritas
Prioritas suatu thread digunakan untuk memberi tahu penjadwal thread tentang prioritas thread tersebut. Tetap saja urutannya tidak bisa ditentukan karena sifatnya yang non-deterministik. Jika ada beberapa thread yang sedang diblok dan menunggu giliran untuk dijalankan, penjadwal thread akan cenderung menjalankan thread dengan prioritas tertinggi terlebih dahulu. Akan tetapi, tidak berarti thread dengan prioritas rendah tidak akan pernah dijalankan, hanya lebih jarang dijalankan ketimbang thread dengan prioritas tinggi.
Perhatikan contoh berikut :
package com.lyracc.prioritasthread;

public class PrioritasThread extends Thread {
private int hitungMundur = 5;
private volatile double d = 0; // No optimization

public PrioritasThread(int prioritas) {
setPriority(prioritas);
start();
}

public void run() {
while (true) {
for(int i = 1; i < 100000; i++)
d = d + (Math.PI + Math.E) / (double)i;
System.out.println(this.toString() + " : " + hitungMundur);
if (--hitungMundur == 0)
return;
}
}

/**
* @param args
*/
public static void main(String[] args) {
new PrioritasThread(Thread.MAX_PRIORITY);
for(int i = 0; i < 5; i++)
new PrioritasThread(Thread.MIN_PRIORITY);
}
}
Pada contoh di atas, kita ubah konstruktornya untuk mengeset prioritas kemudian menjalankan thread. Pada metode main() kita buat 6 thread, yang pertama dengan prioritas maximum, dan yang lain dengan prioritas minimum. Perhatikan keluarannya, bagaimana thread pertama dijalankan lebih dulu sedangkan thread-thread lain berjalan seperti biasa dalam kondisi acak karena memiliki prioritas yang sama.
Di dalam metode run() kita lakukan perhitungan matematika selama 100.000 kali. Tentunya ini perhitungan yang memakan waktu sehingga setiap thread harus menunggu giliran di saat thread lain sedang dijalankan. Tanpa perhitungan ini, thread akan dilaksanakan sangat cepat dan kita tidak bisa melihat efek dari prioritas thread.
Prioritas suatu thread bisa kita set kapan saja (tidak harus pada konstruktor) dengan metode setPriority(int prioritas) dan kita bisa membaca prioritas suatu thread dengan menggunakan metode getPriority().
Meskipun JDK memiliki 10 tingkat prioritas, akan tetapi sistem operasi memiliki tingkat prioritas yang berbeda-beda. Windows misalnya memiliki 7 tingkat dan Solaris memiliki 231 tingkat prioritas. Yang lebih pasti adalah menggunakan konstanta MAX_PRIORITY, NORM_PRIORITY, dan MIN_PRIORITY pada kelas thread.
Thread Daemon
Thread daemon adalah thread yang bekerja di belakang layar yang memberikan layanan umum kepada thread-thread lain selama program berjalan, akan tetapi thread ini bukan bagian penting dari suatu program. Artinya ketika semua thread yang bukan daemon selesai dijalankan, program akan berhenti, dan jika masih ada thread non-daemon yang masih dieksekusi, program tidak akan berhenti.
Perhatikan contoh program berikut ini.
package com.lyracc.threaddaemon;

public class ThreadDaemon extends Thread {
public ThreadDaemon() {
setDaemon(true); // Harus dipanggil sebelum start
start();
}

public void run() {
while (true) {
try {
sleep(100);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println(this);
}
}

/**
* @param args
*/
public static void main(String[] args) {
for (int i = 0; i < 5; i++)
new ThreadDaemon();
}

}
Perintah setDaemon() sebelum metode start() dipanggil. Pada metode run(), thread diperintahkan untuk tidur selama 100 mili detik. Ketika semua thread dimulai, program langsung berhenti sebelum thread bisa mencetak dirinya. Ini karena semua thread kecuali main() adalah thread daemon. Hanya thread non-daemon saja yang bisa mencegah program untuk terus berjalan.
Untuk mengetahui suatu thread adalah thread daemon atau bukan, kita bisa menggunakan perintah isDaemon(). Suatu thread daemon akan membuat thread yang juga merupakan thread daemon.
Menggabungkan thread
Perintah join() bisa digunakan pada thread lain untuk menunda eksekusi hingga thread lain tersebut selesai dijalankan. Misalnya, jika thread a memanggil t.join() pada thread t, maka eksekusi thread a akan terhenti sementara hingga thread t selesai dijalankan (atau ketika t.isAlive() bernilai false).
Kita bisa juga memanggil join() dengan argumen waktu (baik dalam mili detik, ataupun milidetik dan nanodetik), yaitu jika thread target tidak selesai dalam kurun waktu tersebut, eksekusi pada thread induk akan kembali dilakukan.
Panggilan join() bisa dibatalkan dengan memanggil interrupt() pada thread induk, sehingga klausa try ... catch diperlukan pada metode join().
Mari kita lihat contoh berikut ini.
package com.lyracc.joindemo;

class ThreadPemalas extends Thread {
private int waktu;

public ThreadPemalas(String namaThread, int waktuTidur) {
super(namaThread);
waktu = waktuTidur;
start();
}

public void run() {
try {
sleep(waktu);
} catch (InterruptedException e) {
System.out.println(getName() + " dibangunkan. "
+ "isInterrupted(): " + isInterrupted());
return;
}
System.out.println(getName() + " sudah bangun.");
}
}

class ThreadPenggabung extends Thread {
private ThreadPemalas sleeper;

public ThreadPenggabung(String namaThread, ThreadPemalas pemalas) {
super(namaThread);
this.sleeper = pemalas;
start();
}

public void run() {
try {
sleeper.join();
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println(getName() + " selesai setelah " + sleeper.getName());
}
}

public class JoinDemo {
/**
* @param args
*/
public static void main(String[] args) {
ThreadPemalas brr = new ThreadPemalas("brr", 2000);
ThreadPemalas grr = new ThreadPemalas("grr", 2000);

ThreadPenggabung saya = new ThreadPenggabung("saya",brr);
ThreadPenggabung anda = new ThreadPenggabung("anda",grr);

grr.interrupt();
}

}
Hasil keluarannya adalah seperti pada gambar berikut.

ThreadPemalas adalah thread yang akan ditidurkan sepanjang waktu yang diberikan pada konstruktornya. Metode run() bisa berhenti jika waktu tidur sudah habis atau ada interupsi yang terjadi. Di dalam klausa catch, interupsi akan dilaporkan. Fungsi isInterrupted() melaporkan apakah thread ini diinterupsi atau tidak. Akan tetapi ketika thread ini diinterupsi, kemudian pengecualiannya ditangkap oleh klausa catch, misalnya, maka tanda interupsi akan segera dihapus. Oleh karenanya isInterrupted() akan selalu bernilai false pada program di atas. Tanda interupsi akan digunakan pada situasi lain yang mungkin berada di luar pengecualian.
ThreadPenggabung adalah thread yang menunggu hingga ThreadPemalas selesai dengan tugasnya, yaitu dengan memanggil join() ke objek ThreadPemalas pada metode run()-nya.
Pada metode utama main(), setiap ThreadPemalas tersambung pada ThreadPenggabung. Dan kita lihat pada keluarannya, jika ThreadPemalas selesai bekerja, baik karena dibangunkan melalui interupsi atau karena waktu sudah selesai, ThreadPenggabung yang tersambung juga akan menyelesaikan tugasnya.
Variasi Kode
Pada contoh-contoh di atas, semua objek thread yang kita buat diturunkan dari kelas Thread. Kita hanya membuat objek yang berfungsi sebagai thread dan tidak memiliki tugas dan fungsi lain. Akan tetapi, kelas kita mungkin saja merupakan kelas turunan dari kelas lain. Karena Java tidak mendukung pewarisan berganda, kita tidak bisa menurunkan kelas tersebut bersamaan dengan kelas Thread.
Dalam hal ini, kita bisa menggunakan cara alternatif yaitu dengan mengimplementasi interface Runnable. Runnable hanya memiliki satu metode untuk diimplementasi, yaitu metode run().
Contoh berikut mendemonstrasikan contoh penggunaannya :
package com.lyracc.runnablesederhana;

public class RunnableSederhana implements Runnable {
private int hitungMundur = 5;

public void run() {
while (true) {
System.out.println(Thread.currentThread().getName() + " : " + hitungMundur);
if (--hitungMundur == 0)
return;
}
}

public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
// Buat thread baru dan jalankan
Thread a = new Thread(new RunnableSederhana(), "Thread ke-" + i);
a.start();
}
}
}
Satu-satunya yang dibutuhkan oleh kelas RunnableSederhana adalah metode run(), akan tetapi jika kita ingin melakukan hal lainnya, seperti getName(), sleep(), dan lainnya, kita harus secara eksplisit memberikan referensi dengan menggunakan Thread.currentThread().
Ketika suatu kelas mengimplementasikan interface Runnable, artinya kelas ini memiliki metode bernama run(), akan tetapi tidak berarti bahwa kelas ini bisa melakukan sesuatu seperti kelas Thread atau kelas-kelas turunan yang kita buat dari kelas ini. Kita harus membuat objek Thread sendiri seperti ditunjukkan dalam metode main() di atas, kemudian menjalankan start() sendiri.
Kemudahan yang ditawarkan oleh interface Runnable adalah kemungkinan untuk menggabungkannya dengan kelas dan interface lain. Misalnya kita ingin membuat kelas baru yang merupakan kelas turunan dari suatu kelas lain. Kita cukup menambahkan impement Runnable pada definisi kelasnya untuk membuat kelas yang bisa kita jadikan thread. Dengan cara ini, kita masih bisa mengakses anggota kelas induk secara langsung, tanpa melalui objek lain. Akan tetapi, kelas dalam (inner class) juga bisa mengakses anggota kelas luar (outer class). Kadang-kadang kita ingin juga membuat kelas dalam yang merupakan turunan dari kelas Thread.
Perhatikan beberapa variasi untuk mendeklarasikan dan menggunakan thread pada contoh berikut ini.
package com.lyracc.variasithread;

// Kelas dalam bernama
class KelasDalamBernama {
private int hitungMundur = 5;
private Dalam dalam;

// Kelas Dalam adalah kelas dalam (inner class) yang
// merupakan kelas turunan kelas Thread
private class Dalam extends Thread {
Dalam(String nama) {
super(nama);
start();
}

public void run() {
while (true) {
System.out.println(getName() + " : " + hitungMundur);
if (--hitungMundur == 0)
return;
try {
sleep(10);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
} // akhir Dalam

// Konstruktor KelasDalamBernama
// Membuat objek baru yang merupakan instansi kelas Dalam
public KelasDalamBernama(String nama) {
dalam = new Dalam(nama);
}
} // akhir KelasDalamBernama

// Kelas dalam anonim
class KelasDalamAnonim {
private int hitungMundur = 5;
private Thread t;

// Konstruktor KelasDalamAnonim
public KelasDalamAnonim(String nama) {
// Kelas anonim turunan Thread
t = new Thread(nama) {
public void run() {
while (true) {
System.out.println(getName() + " : " + hitungMundur);
if (--hitungMundur == 0)
return;
try {
sleep(10);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
}; // akhir kelas anonim
t.start();
}
} // akhir KelasDalamAnonim

// Kelas dalam implementasi runnable bernama
class KelasRunnableBernama {
private int hitungMundur = 5;
private Dalam dalam;

// Kelas Dalam adalah kelas dalam (inner class) yang
// merupakan kelas yang mengimplementasi Runnable
private class Dalam implements Runnable {
Thread t;

Dalam(String nama) {
t = new Thread(this, nama);
t.start();
}

public void run() {
while (true) {
System.out.println(t.getName() + " : " + hitungMundur);
if (--hitungMundur == 0)
return;
try {
Thread.sleep(10);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
} // akhir kelas Dalam

// Konstruktor KelasRunnableBernama
// Membuat objek baru yang merupakan instansi kelas Dalam
public KelasRunnableBernama(String nama) {
dalam = new Dalam(nama);
}
} // akhir KelasRunnableBernama

// Kelas dalam implementasi runnable anonim
class KelasRunnableAnonim {
private int hitungMundur = 5;
private Thread t;

public KelasRunnableAnonim(String nama) {
t = new Thread(new Runnable() {
public void run() {
while (true) {
System.out.println(Thread.currentThread().getName() + " : " + hitungMundur);
if (--hitungMundur == 0)
return;
try {
Thread.sleep(10);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}

}, nama); // akhir kelas dalam anonim
t.start();
}
} // akhir KelasRunnableAnonim

// Menjalankan thread dari dalam metode dan kelas anonim
class ThreadViaMetode {
private int hitungMundur = 5;
private Thread t;
private String nama;

public ThreadViaMetode(String nama) {
this.nama = nama;
}

public void runThread() {
if (t == null) {
// Definisi kelas anonim dari dalam metode
t = new Thread(nama) {
public void run() {
while (true) {
System.out.println(getName() + " : " + hitungMundur);
if (--hitungMundur == 0)
return;
try {
sleep(10);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
}; // akhir kelas dalam anonim
t.start();
}
}
} // akhir ThreadViaMetode

public class VariasiThread {
public static void main(String[] args) {
new KelasDalamBernama("KelasDalamBernama");
new KelasDalamAnonim("KelasDalamAnonim");
new KelasRunnableBernama("KelasRunnableBernama");
new KelasRunnableAnonim("KelasRunnableAnonim");
new ThreadViaMetode("ThreadViaMetode").runThread();
}
}
Jika kita menggunakan Runnable, pada dasarnya kita menyatakan bahwa kita ingin membuat suatu proses -- yang implementasinya berada di dalam metode run() -- bukan suatu objek yang melakukan proses tertentu. Tentunya hal ini tergantung dari cara pandang kita, apakah kita ingin menganggap suatu thread sebagai objek atau sesuatu yang sama sekali berbeda, yaitu proses.
Jika kita menganggap suatu thread sebagai proses, tetntunya kita akan terbebas dari cara pandang berorientasi objek yaitu "semuanya adalah objek". Artinya juga, kita tidak perlu membuat seluruh kelas menjadi Runnable jika hanya kita ingin memulai proses di bagian tertentu program kita. Karenanya, mungkin lebih masuk akal untuk menyembunyikan thread di dalam kelas kita menggunakan kelas dalam.
KelasDalamBernama[.code] membuat kelas dalam yang merupakan kelas turunan dari kelas Thread, dan membuat instansi kelas ini di dalam konstruktornya. Cara ini baik jika kita ingin kelas dalam tersebut memiliki suatu kemampuan tertentu (metode lain) yang ingin kita gunakan. Akan tetapi, seringkali kita membuat thread hanya untuk memanfaatkan [code]Thread saja, artinya kita mungkin tidak perlu membuat kelas yang memiliki nama.
KelasDalamAnonim adalah alternatif dari KelasDalamBernama di mana kelas dalamnya merupakan kelas anonim yang merupakan kelas turunan dari kelas Thread. Kelas anonim ini dibuat di dalam konstruktor dan disimpan dalam bentuk referensi t bertipe Thread. Jika metode kelas lain membutuhkan akses ke t, maka kita bisa menggunakannya seperti Thread biasa tanpa perlu mengetahui tipe objek sesungguhnya.

Sejarah 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 pemberitaan 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. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).

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.

Kelebihan

  • 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 objek 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 Serikat 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 kode 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.

Contoh Kode Program Sederhana Dalam Java

Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello, world!" and then exits
public class HelloWorld {
   public static void main(String args[]) {
       System.out.println("Hello, world!");
   }
}

Tahap Kompilasi Java

  1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
  2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
  3. Muat. Pemuat kelas memuat bytecodes ke memori.
  4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
  5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’

Pengertian Java

Java adalah bahasa pemrograman yang awalnya dikembangkan oleh James Gosling di Sun Microsystems (yang sekarang menjadi anak perusahaan dari Oracle Corporation ) dan dirilis pada tahun 1995 sebagai komponen inti dari Sun Microsystems ' platform Java . Bahasa yang banyak berasal sintaks dari C dan C + + tetapi yang lebih sederhana model objek dan lebih sedikit rendah tingkat fasilitas. . aplikasi Java biasanya disusun untuk bytecode ( file class ) yang dapat berjalan pada Java Virtual Machine (JVM) terlepas dari arsitektur komputer . . Java adalah tujuan-umum, konkuren, kelas berbasis bahasa berorientasi objek yang khusus dirancang untuk memiliki sebagai dependensi pelaksanaan sesedikit mungkin. . Hal ini dimaksudkan agar para pengembang aplikasi "tulis sekali, jalankan di mana saja". Java merupakan salah satu bahasa pemrograman paling populer digunakan, dan digunakan secara luas dari perangkat lunak aplikasi ke aplikasi web. Asli dan acuan pelaksanaan Jawa kompiler mesin virtual,, dan perpustakaan kelas yang dikembangkan oleh Sun dari 1995. Pada Mei 2007, sesuai dengan spesifikasi dari Java Community Process , Lain juga telah mengembangkan alternatif implementasi teknologi tersebut Sun, seperti Kompilator GNU untuk Java , GNU Classpath , dan Dalvik (perangkat lunak) .