Pengenalan Java
Java sebagai salah satu ahasa pemgraman baru menjajikan pemograman baru menjajikan banyak kemudahan bagi programmer junior maupun senior.
A. Apakah Java?
Java adalah bahasa pemograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991,sebuah perusahaan besar di Amerika Serikat.bahasa ini dikembangkan dengan model yang mirip dengan bahas C++ dan smalltalk,namun dirancang agar lebih mudah dipakai dan platform independent,yaitu dapat dijalankan di berbagai jenis system operasi dan arsistektur computer.
Java memiliki sejumlah mekanisme untuk networking dan system terdestribusi yaitu xocket,remote method inpention (RMI),COBRA,dan mobile agents.
B. Pemograman Java
· Application,yaitu program yang dapat dijalankan dari command prompt suatu system operasi.application yagn 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.application yang berdiri sendiri dapat mengakses resources yang ada pada computer tersebut.networked application dapat menggunakan resources yang ada pada jaringan.distibuted application dapat mengakses obyek yang berjalan pada bebrapa computer melalui jaringan.application yang berdiri sendiri terletak pada hard disk local computer.pada saat di eksekusi maka application ini diambil dari hard diask dan kemudian di eksekusi di memori.
· Applet,yaitu program Java yang di eksekusi di dalam web page.untuk menggunakan aplet diperlukan browser yang mendukung java,seperti MS Internet explorer 4.0,Netscape Navigator 4.0, atau Hot Java.applet mudah digunakan karena untuk menggunakan applet pengguna hanya perlu mengakses web page.applet hanya dapat mengakses resources dari computer host-nya, dan tidak dapat mengakses file-file pada computer yang men-download-nya.
C. Fitur-fitur yang disediakan oleh Java:
· Aksesibilitas dari loasi manapun di dunia:
Java adalah bahasa pemograman untuk internet,sehingga dapat diakses melalui word side yang dapat di akses dari lokasi manapun di dunia.
· System bebas virus:
Java mengimplementasikan 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 terhadap kode asli.
· Aplikasi yang dapat digunakan pada bermacam-macam platform (platform independent application)
Java adalah bahasa pemograman yang platform independent.java compiler meng-compile kode java menjadi inter mediate bytecode yang dapatdibaca oleh JVM (Java Virtual Machine).program java dapat dijalankan pada bermacam-macam hardware dan system operasi,asalkan system ini memiliki internet browser yang mendukung java atau java interpreter.
D. Platform independent
Platform independent berate program yang ditulis dalam bahs java dapat denagn mudah di pindahkan antar berbagai jenis systemoperasi dan berbagi jenis arsistektur computer.hasil dari mengcompile sorce code java bukanlah kode mesin instruksi prosesor yang spesifik terhadap mesin tertentu,melainkan berupa bytecode yagn berupa file berekstensi.class. bytecode dapat langsung anda eksekusi di tiap platform yang dengan menggunakan java Virtual Machine (JVM) sebagai interpreter terhadap bytcode tersebut.
JVM sendiri adalah sebuah aplikas yang berjalan dia atas sebuah system operasi dan menerjemahkan bytecode program java dan mengeksekusinya,sehinnga secara konsep bias dianggap sebagai sebuah interpreter.kompiler dan interpreter untuk program java berbentk java Develoment kit (JDK) yang diproduksi oleh Sun Microsystem. Interpreter untuk program java sendiri disebut java runtime atau Java Virtual Machine.interpreter java,tanpa kompilernya,disebut Java Runtime Environment (JRE).
E. Library
Selain compiler dan interpreter,bahsa 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.
F. OO (Objeck Oriented)
Java adalah bahasa pemograman berorientasi objek. Pemograman berorientasi objek secara gmblang adalah teknik untuk mengorganisir program dan java dapat dilakukan dengan hamper semua bahasa pemograman.
Sedikit perbandingan tambahan dengan bahasa C dan C++,java banyak mewarisi konsep orientsi objek dari C++ namun dengan menghilangkan aspek-aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Di balik kemudaan yang ditawarkan java,luasnya fasilitas library java sendiri membuat seorang programmer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library-library tersebut.
G. Memulai Pemograman Java
Untuk membat program Java,seperti telah disebutkan sebelumnya,anda membutuh kan JDK. Namun untuk menggunakannya perlu memrlukan bebrapa penyesuain dengan system operasi anda. Umumnya yang perlu anda lakukan adalah memasukan path ke 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 perntah SET PATH=C:\jdkl.4\bin pada file autoexec.bat anda.untuk Windows NT/2000/XP anda cukup menambahkan direktori C:\jdkl.4\bin pada variable path di system environment. Caranya : klik kanan ikom My computer,pilih properties. Kemudian pilih tab Advance.lalu klik tombol Environtment Variables, cari variable path,kemudian tambahkan path direktori JDK anda ke dalam variable tersebut. Untuk linux, tambhakan baris perintah SET CLASSPATH=(direktori jdk anda) ke profile anda. Untuk mencoba JDK,ketikan peritah Java dan Javac pada shell prompt (atau DOS Command Prompt).upada shell prompt (atau DOS Command Prompt).upada shell prompt (atau DOS Command Prompt). Untuk kemudahan dan berbagaintuk kemudahan dan berbagai fasilitas tambahan anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa Java sepeti Visual Café dari Symantec atau JBuilder dari Borland.
public class helloworld { Public static void main (string[] args) { System.out.println(“Apa Kabar Dunia?”); } } |
Urutan langkah langkah fasilitas tambahan anda dapat menggunakan Integrated Development Environment (IDE) untuk bahasa Java sepeti Visual Café dari Symantec atau JBuilder dari Borland.
Urutan langkah langkah yang haruus anda lakukan untuk membuat sebuah program Java sederhana adalah:
1. Membuat source code program dengan editor teks apapun.ingat,file tersebtu harus berekstensi. Java dan case sensitive.
2. Mengkopile sorce code dengan perintah javac. Misalnya : javac helloword.java. jika berhasil,hasilnya adalah fille bytecode berakhiran. Class.
3. Mengeksekusinya bytecode dengan perintah java. Parameter dari perintah ini adalah nama file hsil kompilasi tanpa ekstensi .class. contoh: java helloworld.
H. Sorce Code
Berikut kode untuk Helloword.java
prompt>javac Helloworld.java |
Perluu diingat bahwa bahasa java bersifat case sensitive,sehingga anda harus memperhatikan penggunaan hurf besar dan kecil. Selain itu penulisan sorces kode program tidak harus memperhatikan bentuk tertentu,sehinnga anda bias saja menulisakan semua baris sorces code tersebut dalam satu baris asal anada tidak lupa memberikan tanda titik koma (;),atau menulisakan tiap kata dalam satu baris tersendiri.namun anda dianjuurakn mengikuti layout sperti pada contoh agar program anda mudah di baca dan di mengerti.
I. Kompilasi
Setelah itu simpan/save syntax tersebut dengan nama helloword.java (sesuai dengan nama class). Kemudian kita akan mengcompile syntax program tersebut dengan perintah
J. Sintaks Program
Pada listing terdapat pernyataan public class.pernyataan ini adalah pernyataan pembuka sebuah kelas. Kelas sendiri di gunakan untuk menciptakan objek.ingat bahwa java berorientasi objek. Kata public di depannyaberfungsi agar kelas tersebut dapat di akses oleh ssemua program lain.
Kemudian kita menemukan baris pernyataan pembuka sebuah metode. Metode sendiri adalah kumpulan pernyataan untuk melakukan tugas tertentu dalam kelas.kata public di depannya mempunyai fungsi yang sama dengan kata public yang ada di depan baris permulaan kelas.
Pada listing terdapat kata static pada pernyataan pembuka metode main. Hal ini berarti metode main tidak mengubah atau menggunakan objek yang di ciptakan oleh kelas tersebut,sehingga dapat dikatakan berdiri sendiri dan tidak terkait dengan objek. Dalam metode main dalam aplikasi,parameternya adalah selal String [] args,di mana args hanyalah sebuah nama objek array dari string. Array ini nantinya akan berisi parameter-parameter yang di berikan user sebagai argumen command line.
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 dipisahjan oleh titik komadan akan di eksekusin satu persatu.kedua pernyataan pada listing ternyata memanggil sebuah metode lain yaitu metode println.tentunya dapat anda perhatian 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. Ssepasang 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 pritln dari objek out dengan parameter berupa string “Apa Kabar Dunia?”.
K. Eksekusi
Setelah selesai membahas sintaks dasar java dalam listinng tersebut, selanjutna kita akan mencoba mengeksekusinya program ini. Untuk mengeksekusinya kita tinggal mengetikan perintah java Helloworld pada prompt dan pesan apa kabar dunia? Akan tampil di layar (atau mungkin ditempat lain,bergantung sistem operasi anda).
prompt>java Helloworld |
Tipe Data Primitive dan String
Pada Java,terdapat tipe daata sederhana dan tipe data array. Tipe data sederhana terdiri dari: tipe boolean, dan tipe numerik yang trediri dari byte,short,int,long,char,float,dan double.boolean adalah tipe data untuk besaran logika,hanya memiliki dua kemungkinan nilai true atau false. Tipe data numerik dapadirangku pada tabel berikut.
Data Type | Size/Format | Range |
byte | 8-bit | -128 to +127 if signed(-27to 27- 1) |
Short | 16-bit | -32768 to +32768 (-215 to 215- 1) |
Int | 32-bit | -231to 231-1 |
Long | 64-bit | -263to-263-1 |
Float | 32-bit | +/- about -231 |
Double | 64-bit | +/- about -263 |
Char | 16-bit | Sebuah karakter |
Boolean | 1-bit | Nilai Boolean (true atau false) |
Selain adanya variable-variable di atas,java API juga mnyediakan kelas-kelas untuk tipe-tipe variable tersebut, yaitu byte,Short. Interger, long, character, float, double. Kelas-kelas ini secara default di impor saat kompilasi,namun dapat juga secara eksplisit di impor dari package java.lang.
Array adalah kumpulan variable dengan tipe sejenis dengan nama yang sama. Array pada java mempunyai pengertian yang kurang lebih sama dengan array pada bahasa pemoggraman pada umumnya.berikut adalah contoh pendeklarasian dari variable dengan tipe “array of int”:
int vektor[];
indeks array dimulai dari 0 (nol).contoh berikut untuk megalokasikan 5 buah interger 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 bias menginisialisasi array yang sama dengan contoh diatas 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, relsi, dan logika.
1. Operator Aritmetik
Digunakan untuk proses matematis (aljabar)operan harus berupa tipe numeric. Operator ini tidak dapat di gunakan untuk tipe Boolean,tetapi dapat di gunakan 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) |
%= | Persaman modulus |
++ | Penambahan |
-- | Pengurangan |
2. Operator Bitwise
Tipe numeric integer, long, int, short, char, dan byte memiliki kumpulan operator tambahan yang dapat memodifikasi dan memeriksa 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 |
^= | Prnyataan exclusive OR |
>>= | Pernyataan shift kanan |
>>>= | Pernyataan shift kanan, isi dengan nol |
<<= | Pernyataan shift kiri |
3. Operator Logika
Operator logika Boolean pada table di bawah ini bekerja hanya pada operan 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 ternary if-then-else |
Contoh syntax dengan menggunakan tipe data
A. Tipe data
class contohinterger { Public static void main (String args [ ] ) { int nilai ; nilai = 95 ; System.out.println (“Nilai : “ + nilai ); } } |
B. String
class contohinterger { Public static void main (String args [ ] ) { String nama ; nama = “STIKOM BALI ” ; System.out.println (“Nama : “ + nama ) ; } } |
Selasa, 22 Februari 2011
Mengenal Bahasa Pemrograman Java
Java ModernJava telah digunakan dalam banyak hal dan telah membuktikan keberadaannya pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi seperti aplikasi embedded, aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra, game, aplikasi perusahaan terdistribusi yang disebut J2EE dan masih banyak lagi.
Java Virtual Machine (JVM)
Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam bahasa C untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program tersebut diubah menjadi KODE BYTE. Kemudian pada saat eksekusi, JVM membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang dimengerti oleh sistem operasi tempat program tersebut dijalankan.
Karena JVM sangat bergantung pada platformnya (bahasa mesin merupakan bahasa level rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel, tapi tidak dapat dimengerti oleh mesin lain, seperti Macintosh), byte code ini dapat dibuat untuk terbebas dari kungkungan platform tertentu. Code byte yang dihasilkan dalam proses kompilasi bahasa Java akan selalu sama untuk setiap sistem operasi atau jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut menjadi bahasa mesin tujuannya.
Just In Time Compiler (JIT)
Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa pemrograman lainnya. Sun menyediakan kompiler Just In Time Compiler (JIT) untuk mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan dengan eksekusinya. Walaupun demikian, pendekatan JIT ini menghasilkan kemampuan yang lebih dibandingkan dengan interpretasi biasa.
Kelebihan Java
Bahasa pemrograman lain yang telah ada sebelum Java lahir sudah merupakan bahasa yang baik dan mudah dipelajasi oleh programmer profesional. Akan tetapi para programmer ini menginginkan sesuatu yang baru yang memiliki banyak hal yang menyelesaikan masalah mereka. Utamanya adalah keamanan kode mereka. Hal ini melahirkan pikiran yang revolusioner untuk menemukan bahasa pemrograman lain yang disebut Java. Tidak hanya keamanan tapi juga beberapa hal yang sering disebut sebagai Java-Buzzwords. Kata-kata ini menjelaskan berbagai fitur tambahan dan beberapa hal yang membuat Java demikian sukses dan diterima oleh dunia perangkat lunak. Berikut ini adalah penjelasan serta keuntungan dari kata-kata tersebut.Sederhana dan Berorientasi Objek
Seperti diuraikan sebelumnya, Java lahir dari suatu pemikiran mendalam akan bahasa pemrograman yang ada pada saat itu, seperti C dan C++. Hal ini akan memudahkan programmer profesional untuk dapat mengerti lebih jelas tentang Java, fungsionalitas, dan lain sebagainya apabila ia memiliki pengetahuan dasar tentang C++ dan konsep pemrograman berorientasi objek. Tujuannya agar konsep dasar dari teknologi Java dapat dimengerti dengan mudah, dan programmer dapat segera menghasilkan sesuatu sedini mungkin. Tidak hanya ini, penemu Java memastikan bahwa Java juga bermula dari bahasa pemrograman dasar yang sudah ada pada saat itu. Kemudian mereka membuang berbagai fitur yang rumit dan membingungkan.
Bahasa pemrograman Java didesain sejak awal untuk menjadi bahasa yang berorientasi objek. Setelah kira-kira 30 tahun, akhirnya teknologi objek menjadi kenyataan dan diterima oleh sebagian besar komunitas pemrograman. Konsep berorientasi objek memungkinkan pembuatan software yang kompleks, berbasis network, sehingga dapat disimpulkan bahwa teknologi Java menghasilkan platform pembuatan perangkat lunak yang baik dan efisien serta berorientasi objek.
Keuntungan yang Anda dapat dari Java
- Mulai dengan cepat: Java merupakan bahasa pemrograman berorientasi objek, mudah dipelajari, terutama untuk programmer yang sudah menguasai C atau C++
- Tulis lebih sedikit program: Jumlah kelas, jumlah metode, dll, menunjukkan bahwa program yang ditulis dalam bahasa pemrograman Java memiliki jumlah 4 kali lipat lebih kecil dari program sama yang ditulis dalam bahasa C++
- Tulis program lebih baik: Bahasa pemrograman Java menganjurkan praktek membuat program yang baik, dan automatic garbage collection membantu Anda untuk menghindari kebocoran memori. Orientasi objeknya, arsitektur komponen JavaBeans, dan jangkauannya yanga luas, API yang mudah diperluas, memungkinkan Anda menggunakan kode yang ada.
- Membuat program dengan lebih cepat: Bahasa pemrograman Java lebih mudah dari C++, pemrograman akan menjadi 2 kali lipat lebih cepat, dengan jumlah baris yang jauh lebih sedikit.
- Menghindari kebergantungan pada platform tertentu: Anda dapat menjalankan program Anda pada banyak platform dengan TIDAK menggunakan library yang ditulis spesifik untuk platform tertentu.
- Tulis sekali, jalankan di mana saja: Karena aplikasi yang ditulis dalam bahasa Java dikompilasi ke dalam kode byte yang bebas platform, aplikasi yang ditulis dapat jalan secara konsisten pada platform apa saja.
- Distribusikan software Anda dengan mudah: Dengan Java Web Start, pengguna program Anda akan dapat menggunakan aplikasi Anda dengan mudah. Sistem pengecekan versi otomatis pada saat program dimulai menjamin pengguna Anda selalu menjalankan versi terkini. Apabila versi baru tersedia, Java Web Start akan melakukan instalasi secara otomatis.
Cara Membuat “SelamatDatang”
Applikasi SelamatDatang memiliki 4 komponen, yaitu :- definisi paket (package)
- komentar
- definisi kelas (class)
- metode main
package selamatdatang; public class SelamatDatang { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Selamat Datang!"); } }
Definisi paket (package)
package selamatdatang;
Pada contoh aplikasi SelamatDatang di atas, paket ini hanya berisi satu buah file yang isinya terdiri dari satu kelas dan satu metode.
Definisi paket tidak selalu diperlukan, tetapi hal ini merupakan kebiasaan baik untuk melatih kita berfikir secara logis dan sistematis.
Komentar
/** * @param args */ // TODO Auto-generated method stub
- /* text */ — Compiler akan mengabaikan kata kata antara /* dan */
- /** documentation */ — Ini merupakan komentar yang dipergunakan khusus untuk dokumentasi. Kompiler akan mengabaikan komentar dari /* hingga */. Alat bantu javadoc akan memproses komentar dokumentasi untuk membuat dokumentasi secara otomatis dari sumber program.
- // text — Kompiler akan mengabaikan segala sesuatu dari // hingga akhir baris
public class SelamatDatang { ... }
Metode main
Dalam bahasa pemrograman Java, setiap aplikasi harus memiliki satu buah metode main yang bentuknya seperti berikut :
public static void main(String[] args) { ... }
Yang terakhir adalah perintah berikut untuk menampilkan Selamat Datang pada komputer Anda.
System.out.println("Selamat Datang!");
Variabel dan Tipe Data
Nama merupakan hal penting dalam teknik pemrograman. Dalam suatu program, nama digunakan untuk menyebut sesuatu. Untuk menggunakan "sesuatu" tersebut, programmer harus mengerti bagaimana aturan pemberian nama dan aturan untuk menggunakan nama tersebut dalam programnya. Atau dengan kata lain, programmer harus mengerti sintaks dan semantik dari nama.Menurut aturan sintaks Java, nama merupakan rangkaian dari 1 atau lebih karakter. Harus dimulai dengan huruf dan harus terdiri dari huruf, angka atau karakter garis bawah '_'. Berikut ini adalah contoh nama yang diperbolehkan:
N n rate x15 quite_a_long_name HelloWorld
HelloWorld
, helloworld
, HELLOWORLD
, dan heLLOwoRLD
adalah nama yang berbeda-beda. Beberapa kata tertentu merupakan nama yang memiliki kegunaan tertentu oleh Java, dan tidak dapat dipergunakan oleh programmer. Kata-kata ini disebut reserved words (kata-kata cadangan) misalnya: class
, public
, static
, if
, else
, while
, dan lain-lain.Hal lain yang penting adalah compound names atau nama campuran, yaitu yang merupakan nama biasa yang dihubungkan dengan titik, misalnya
System.out.println
. Idenya adalah "sesuatu" pada Java dapat terdiri dari "sesuatu" yang lain. Nama System.out.println
artinya System menampung out dan out menampung println. Kita sebut "sesuatu" sebagai identifier (pengenal) tidak peduli apakah ia berupa nama tunggal atau campuran.Program melakukan manipulasi data yang disimpan dalam memori. Dalam bahasa mesin, data hanya bisa diambil dengan menyebut alamatnya di memori. Dalam bahasa pemrograman tingkat tinggi seperti Java, nama bisa digunakan untk mengganti alamat data tersebut di memori. Tugas komputer adalah untuk melacak di mana data tersebut di simpan, sedangkan programmer menggunakan nama untuk memerintahkan komputer mengambil data tersebut dari memori. Nama yang digunakan seperti ini disebut variable.
Variabel sebenarnya berarti lebih kompleks. Variabel bukan isi dari data, tapi lokasi di memori yang menyimpan data tersebut. Variabel bisa diibaratkan sebagai kotak penyimpanan data, bukan isi kotaknya. Karena data di dalam kotak bisa berubah, variabel hanya dapat dipercaya pada satu saat saja, walaupun tempatnya selalu sama.
Dalam bahasa Java, satu-satunya cara untuk memasukkan data ke dalam variabel adalah dengan menggunakan assignment statement, atau pernyataan pemberian nilai. Pernyataan ini berbentuk:
variable = ekspresi;
ekspresi
menyatakan apapun yang berhubungan dengan nilai suatu data. Ketika komputer menjalankan instruksi ini, komputer akan menghitung dan menyimpan hasilnya ke dalam variabel. Contoh:kecepatan = 40;
kecepatan
dan ekspresinya adalah angka 40. Komputer menghitung pernyataan ini dan menyimpan 40 ke dalam variabel kecepatan
, dan mengganti apapun yang telah disimpan sebelumnya.Sekarang misalnya kita ingin melakukan perhitungan yang lebih kompleks:
jarak = kecepatan * waktu
kecepatan
dan waktu
, melakukan perkalian, dan menyimpan hasilnya dalam jarak
.Variabel dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe data. Kompiler akan menampilkan kesalahan sintax apabila variabel ini dicoba untuk diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa pemrograman bertipe kuat atau strongly typed language.
Ada 8 tipe data primitif dalam bahasa Java.
Jenis Data | Deskripsi | Ukuran | Minimum | Maksimum |
---|---|---|---|---|
boolean | Hanya bisa berisi benar atau salah | 1-bit | ||
char | Karakter Unicode | 16-bit | ||
byte | Bilangan bulat | 8-bit | -127 | 128 |
short | Bilangan bulat | 16-bit | -32768 | 32767 |
int | Bilangan bulat | 32-bit | -2147483648 | 2147483647 |
long | Bilangan bulat | 64-bit | -9223372036854775808 | 9223372036854775807 |
float | Bilangan riil | 32-bit | 1.40129846432481707e-45 | 3.40282346638528860e+38 |
double | Bilangan riil | 64-bit | 4.94065645841246544e-324 | 1.79769313486231570e+308 |
nama_tipe nama_variabel;
float num; String nama; String nama; boolean bol; int x,y;
int num = 1000; char ch = 'e'; float angka = -1.504; boolean bol = true;
Java memiliki beberapa jenis variabel yang dapat dikelompokkan sebagai berikut :
- Instance Variables (tidak statis). Dalam bahasa pemrograman berorientasi objek, objek menyimpan variabel yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat dijelmakan ke dalam beberapa objek. Nilai yang terkandung dalam variabel tak-statis ini berbeda untuk setiap objeknya.
- Class Variables (statis). Variabel ini merupakan bagian integral dari suatu kelas, dan tidak ada satu objek pun yang dapat menyatakan kepemilikan atas variabel ini. Variabel yang dideklarasikan sebagai statis digunakan bersama oleh semua objek. Variabel ini lebih bersifat global yang nilainya sama untuk setiap objek pada kelas yang bersangkutan.
- Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method) atau dalam suatu prosedur. Variabel ini bersifat lokal karena hanya dapat diakses oleh metoda atau prosedur tersebut.
- Parameter. Paramater atau argumen adalah variabel yang digunakan pada saat suatu metoda atau prosedur dipanggil. Parameter berguna untuk memberikan nilai awal untuk diteruskan (pass) ke dalam suatu prosedur atau metoda.
Literal
Pada bagian ini akan dijelaskan tentang literal, yaitu rangkaian kata atau huruf yang menyatakan suatu nilai. Misalnya
int angka = 10;
Literal Bilangan Bulat
Bilangan bulat dapat dilambangkan dalam beberapa bentuk. Bilangan bulat biasa dilambangkan dengan deretan angka yang dimulai dengan angka yang bukan nol.
int angka = -10;
// 22 basis delapan atau 18 dalam desimal int angka = 022;
// 2a heksadesimal atau 42 dalam desimal int angka = 0x2a;
int angka = 22L;
Kita dapat melambangkan suatu karakter dengan tanda petik tunggal misalnya ‘a’ atau ‘3′ atau ‘=’. Suatu karakter dapat juga dilambangkan dengan kode ASCII nya. Caranya dengan memulainya dengan \u00 (garis miring terbalik) kemudian diikuti dengan kode ASCII nya dalam bentuk heksadesimal.
// huruf 'A' dalam ASCII char huruf = '\u0041';
\n = tombol enter atau baris baru.
\r = carriage return.
\t = tombol tab.
\b = tombol backspace.
\\ = karakter \
\’ = karakter ‘
\” = karakter ”
Literal Boolean
Nilai true dan false pada java merupakan literal boolean. Suatu variabel bertipe boolean hanya dapat memiliki nilai true atau false.
boolean ok = true;
Literal Bilangan Riil
Bilangan riil, misalnya -0.00127 atau 415.842, pada java dapat disimpan baik sebagai float atau double. Bilangan real dapat direpresentasikan dalam bentuk desimal biasa, pecahan, atau eksponen (dilambangkan dengan e atau E).
Tipe | Ukuran | Rentang | Presisi (jumlah digit) | |
bytes | bit | |||
float | 4 | 32 | +/- 3.4 x 1038 | 6-7 |
double | 8 | 64 | +/- 1.8 x 10308 | 15 |
double d = 3.27E+32; float f = 4f; float pi = 3.14159;
String merupakan untaian huruf dan angka yang tersusun menjadi satu kalimat. Dalam bahasa java, string bukan merupakan tipe primitif, tetapi merupakan kelas. String pada java tidak disimpan dalam bentuk array seperti pada C. Java menyediakan beberapa metoda untuk melakukan penggabungan, modifikasi, atau perbandingan. String ditulis di antara dua tanda petik ganda seperti contoh berikut.
String salam = "Selamat Datang";
String hallo = "Selamat Datang \"Bapak Presiden\""; System.out.println("Hallo Bambang\nSelamat pagi,\nSemoga hari anda cerah\n";
// Contoh string kosong String teks = ""; // Contoh string berisi " teks = "\""; // String dapat juga dipisah menjadi beberapa baris teks = "ini baris pertama " + "dan ini lanjutannya."
Literal terakhir pada bahasa java adalah literal null. Null merupakan kondisi di mana suatu objek tidak diberi alokasi memori. Pada saat suatu objek dideklarasikan, komputer akan mengalokasikan memori untuk objek tersebut. Apabila objek tersebut telah selesai dipergunakan, kita dapat melepas lokasi memori yang digunakan oleh objek tersebut sehingga memori itu dapat digunakan oleh objek lain. Berikut ini adalah contohnya
obj = null;
Operator Aritmatika
+ Operator penjumlahan (juga sebagai penyambung string)- Operator pengurangan
* Operator perkalian
/ Operator pembagian
% Operator sisa pembagian
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian). Contoh penggunaan :
Simbol | Nama operator | Contoh penggunaan |
+ | Operator penjumlahan | n = n + 1; |
- | Operator pengurangan | n = n - 1; |
* | Operator perkalian | n = n * 1; |
/ | Operator pembagian | n = n / 1; |
% | Operator sisa pembagian | n = n % 1; |
+ | Operator penyambung string | n = "saya "+"tidur"; |
Operator Tunggal
+ Operator plus; menyatakan nilai positif (setiap angka tanpa tanda ini akan dianggap sebagai positif)- Operator minus; menyatakan nilai negatif, dapat pula digunakan untuk menegatifkan suatu bilangan
++ Operator kenaikan; menambah suatu bilangan dengan 1
-- Operator penurunan; mengurangkan suatu bilangan dengan 1
! Operator lawan; membalik nilai suatu boolean
Operator tunggal hanya membutuhkan satu operan untuk melakukan operasinya. Operator ini tidak dapat digunakan untuk variabel final, karena variabel final berupa konstanta yang tidak dapat diubah-ubah. Beberapa jenis operator tunggal diberikan pada tabel di bawah ini.
Simbol | Nama operator | Operasi | Contoh |
+ | Operator plus | menyatakan nilai positif | angka = +1; |
- | Operator minus | menyatakan nilai negatif, dapat pula digunakan untuk menegatifkan suatu bilangan | angka = -1; angka = -angka; // sekarang angka bernilai 1 |
++ | Operator kenaikan | menambah suatu bilangan dengan 1 | angka = ++angka; |
-- | Operator penurunan | mengurangkan suatu bilangan dengan 1 | angka = --angka; |
! | Operator lawan | membalik nilai suatu boolean | ok = !true; |
Operator Pembanding, Boolean dan Kondisi
Operator kondisi (conditional operator) menghasilkan nilai true atau false tergantung dari variabelnya, dalam hal ini operasinya dilakukan pada dua operand. Operator boolean adalah operator kondisi yang kedua operandnya berupa nilai boolean (true atau false), sedangkan Operator Pembanding membandingkan 2 nilai seperti pada operasi matematika.Catatan : Pada objek, seperti String, operasi pembanding akan membandingkan alamat memory tempat objek itu disimpan, bukan membandingkan isinya. Untuk membandingkan isi String, gunakan
equals()
, equalsIgnoreCase()
, dan compareTo()
seperti dibahas pada bagian sebelumnya.Simbol | Nama operator | Contoh |
---|---|---|
== | Sama dengan | b = (1 == 2); |
!= | Tidak sama dengan | b = (1 == 2); |
> | Lebih besar | b = (1 > 2); |
>= | Lebih besar atau sama dengan | b = (1 >= 2); |
< | Lebih kecil | b = (1 < 2); |
<= | Lebih kecil atau sama dengan | b = (1 <= 2); |
&& | Conditional AND | b = true && false; |
|| | Conditional OR | b = true || false; |
! | NOT | b = !true; |
?: | Bentuk pendek dari if-then-else |
Operator kondisi AND menghasilkan "true" apabila kedua operandnya bernilai "true". Jika salah satunya atau keduanya "false", operator ini menghasilkan "false". Berikut ini tabel kebenaran operasi AND.
Op1 atau Exp1 | Op2 atau Exp2 | Hasil |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
Operator kondisi OR
Operator kondisi OR menghasilkan "true" jika salah satu operandnya bernilai "true". Jika keduanya "false", operator ini menghasilkan "false". Berikut ini table kebenaran oeprasi OR.
Op1 atau Exp1 | Op2 atau Exp2 | Hasil |
---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
Operator NOT
Operator NOT ("!") melakukan operasi boolean NOT pada operand atau ekspresi tunggal. Operator ini mengecek nilai boolean dari suatu operand atau expresi kemudian membalik nilainya (dari true ke false atau false ke true). Berikut ini adalah tabel kebenaran operator NOT.
Op1 | Hasil |
---|---|
true | false |
false | true |
kondisi ? jika_benar : jika_salah
Pada dasarnya operator "?:" akan mengevaluasi "kondisi". Apabila kondisi bernilai "true", operator akan mengembalikan "jika_benar", tetapi apabila "kondisi" bernilai "false", operator akan mengembalika "jika_salah". Misalnyax = (1 > 2) ? 10 : 20
Dari contoh di atas, "x" akan memiliki nilai 20, karena ekspresi (1 > 2) adalah salah (atau "false").
Operator Pemberi Nilai & Type Casting
Operator merupakan simbol untuk melakukan perhitungan atau suatu operasi pada satu atau lebih dari satu hal. Setelah kita mendeklarasi dan mengisi suatu variabel, kita dapat menggunakan operator untuk melakukan beberapa hal seperti penambahan, pengurangan dan sebagainya.Operator Pemberi Nilai
= Operator pemberi nilai Operator penugasan dan pemberian nilai merupakan operator yang paling umum dalam semua bahasa pemrograman. Operator ini dilambangkan dengan "=" yang digunakan untuk memberikan nilai kepada suatu variabel di sebelah kiri operator. Jika variabel tersebut telah memiliki nilai, nilainya akan diganti dengan variabel atau angka di sebelah kanan operator.
Operator ini juga dapat digunakan untuk memberikan referensi kepada suatu objek.
Beberapa contoh :
String nama = "Budi"; boolean dewasa = true; // buat objek baru Shape s1 = new Shape(); // beri referensi s1 kepada s2 Shape s2 = s1; // nilai sebelumnya diganti dewasa = false;
x = y = z = 2; x = (y + z);
Pada dasarnya, kedua sisi tanda "=" harus memiliki tipe yang sama. Misalnya
x = A
, x dan A harus memiliki tipe yang sama. Bagaimana jika tidak, misalnyaint A; short B; A = 17; B = (short)A;
Perubahan tipe ini disebut type casting. Kita bisa mengubah tipe apa saja, tetapi karena rentang tiap tipe berbeda, maka nilainya belum tentu sama dengan nilai aslinya. Misalnya
(short)100000
adalah -31072.Untuk perubahan tipe dari bilangan real (float atau double) ke bilangan bulat, Java melakukan type casting dengan memangkas desimalnya. Jadi 3.56 akan diubah menjadi 3 dalam bilangan bulat.
Nilai
char
juga bisa diubah ke dalam bilangan bulat, yaitu dengan menggantinya dengan bilangan Unicode-nya.Selain operasi "=", Java juga memiliki operator pemberian nilai beruntun, dan dapat digunakan oleh semua operator aritmatika, manipulasi bit, atau pergeseran bit. Misalnya pada ekspresi berikut, nilai "x" akan dijumlahkan dengan 2, kemudian hasilnya disimpan kembali ke "x".
x += 2;
Operator | Contoh | Ekspresi setara |
+= | x += y; | x = (x + y); |
-= | x -= y; | x = (x - y); |
*= | x *= y; | x = (x * y); |
/= | x /= y; | x = (x / y); |
%= | x %= y; | x = (x % y); |
&= | x &= y; | x = (x & y); |
|= | x |= y; | x = (x | y); |
^= | x ^= y; | x = (x ^ y); |
< <= | x < <= y; | x = (x < < y); |
>>= | x >>= y; | x = (x >> y); |
>>>= | x >>>= y; | x = (x >>> y); |
package operatorpemberinilai; public class OperatorPemberiNilai { /** * Contoh program menggunakan operator pemberi nilai (assignment operator) * * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int x = 5; int y = 10; x += y; System.out.println("Hasil penjumlahan : " + x); x -= y; System.out.println("Hasil pengurangan : " + x); x *= y; System.out.println("Hasil perkalian : " + x); x /= y; System.out.println("Hasil pembagian : " + x); x %= y; System.out.println("Sisa pembagian : " + x); x &= y; System.out.println("Hasil operasi AND : " + x); x |= y; System.out.println("Hasil operasi OR : " + x); x <<= y; System.out.println("Hasil operasi pergeseran bit ke kiri :"+ x); } }