INILAH RIWAYAT JAVA DAN SAYA SEBAGAI PENULIS POSTINGAN INI AKAN MEMEBERIKAN INFORMASI SELENGKAP-LENGKAPNYA TENTANG JAVA DAN BILA ANDA INGIN COPAS (COPY PASTE) ANDA HARUS MENCANTUMKAN LINK BLOG SAYA KARENA BLOG SAYA INI SUDAH TERLINDUNGI .SEKIAN DARI SAYA
Muncul Tahun:
|
1990-an
|
Perancang:
|
|
kuat, statis
|
|
Implementasi:
|
Banyak
|
Terpengaruh oleh:
|
|
Mempengaruhi:
|
|
Java adalah bahasa pemrograman yang dapat
dijalankan di berbagai komputer termasuk telepon genggam. Java juga
merupakan sebuah mesin virtual (virtual machine), dan bahkan java
sekarang telah menjadi spesifikasi dan implementasi.
Bahasa ini
awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini
merupakan bagian dari Oracle dan dirilis tahun 1995.
Sebagai bahasa pemrograman, java
lahir untuk memperbaiki segala kekurangan yang dimiliki oleh C++ (pada saat
java lahir C++ lagi ngetrend).
Sama halnya
dengan C++ maka java juga merupakan bahasa pemrograman yang berorientasi obyek.
Bahkan
java banyak mengadopsi C++ terutama sintaknya. Sehingga orang yang sudah
menguasai C++ akan mudah berpindah ke java.
Bahasa ini
banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan
rutin-rutin atas bawah yang minimal.
Aplikasi-aplikasi berbasis java umumnya dikompilasi ke
dalam p-code (bytecode)
dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). JVM (Java
Virtual Machine) akan berfungsi seolah-olah seperti procesor yang
akan mengeksekusi bytecode hasil kompilasi dari program java.
Dan
setiap platform memiliki JVM sendiri-sendiri Java merupakan bahasa pemrograman
yang bersifat umum/non-spesifik (general purpose), dan secara khusus
didisain untuk memanfaatkan dependensi implementasi seminimal mungkin.
Karena
fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa
platform sistem operasi yang berbeda, java dikenal pula
dengan slogannya, write once run anywhere "Tulis sekali, jalankan di
mana pun" Artinya bahwa java adalah lintas platfrom Saat ini
java merupakan bahasa pemrograman yang paling populer digunakan, dan secara
luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi
ataupun aplikasi berbasis web.
Sejarah perkembangan Java
Bahasa pemrograman Java
terlahir 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, dan James Gosling, 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 lain 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).
Perkembangan
java
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.
Sedangkan saat ini java sudah mulai mempunyai fitur - fitur yang menarik diantaranya sebagai berikut :- Applet
Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih interaktif.
- Java Networking
Sekumpulan API yang menyediakan fungsi untuk aplikasi-aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Address dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alas an sekuriti dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan Protokol ICMP.
- Java
Database Connectivity(JDBC)
Menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle,MySQL,PostgreSQL,Microsoft SQL Server.
- Java Security
Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara High Level datau Low Level, seperti public/private key menegement dan certificates.
- Java Swing
Menyediakan sekumpulan API untuk membangun aplikasi-aplikasi GUI dan model GUI yang diinginkan bisa bermacam-macam.
- Java RMI
Java RMI menyediakan sekumpulan API untuk membangun aplikasi-aplikasi Java yang mirip dengan model RPC (remote Procedure Call), jadi objek-objek Java bisa di call secara remote di Jaringan Komputer.
- Java 2D/3D
Merupakan sekumpulan API untuk membangun grafik-grafik 2D/3D yang menarik dan juga akses ke printer.
- Java Server Pages (JSP)
Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi-aplikasi CGI. JSP yang mirip ASP dan PHP merupakan alternatif terbaik untuk solusi aplikasi internet.
- JNI (Java Native Interface)
Merupakan sekumpulan API yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan Basic.
- Java Sound
Menyediakan kumpulan API untuk manipulasi Sound.
- Java IDL + CORBA
Menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia Networking.
- Java Card
Java Card utamanya dipakai untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada Handphone.
- JTAPI (Java Telephony API)
Sekumpulan API untuk memanfaatkan devices-devices telephony, sehingga cocok untuk aplikasi-aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution) PCPBX dan lainnya.
Kelebihan Java
- 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)
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 Java
- Tulis sekali, jalankan di mana saja -
Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform
lain.
- 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
// Outputs
"Hello, world!" and then exits
public class
HelloWorld {}
public static void main(String args[]) {}
System.out.println("Hello,
world!")
Tahap Kompilasi Java
- Tulis / Ubah. Pemrogram menulis program dan
menyimpannya di media dalam bentuk berkas '.java'.
- Kompilasi. Pengkompilasi membentuk bytecodes
dari program menjadi bentuk berkas '.class'.
- Muat. Pemuat kelas memuat bytecodes ke
memori.
- Verifikasi. Peng-verifikasi memastikan bytecodes
tidak mengganggu sistem keamanan Java.
- Jalankan. Penerjemah menerjemahkan bytecodes
ke bahasa mesin.tidak bisa di pakai‘’
Integrated
Development Environment
Banyak pihak telah membuat IDE (Integrated Development Environment - Lingkungan Pengembangan
Terintegrasi) untuk Java.
Yang populer saat ini (Juli 2006) antara lain:
- Dr. Java, program gratis yang dikembangkan oleh Universitas Rice, Amerika Serikat
- BlueJ, program gratis yang dikembangkan oleh Universitas Monash, Australia
- NetBeans (open source- Common Development and Distribution License
(CDDL))
NetBeans disponsori Sun Microsystems, dan versi
terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum
merupakan yang terbaik.[rujukan?]
- Eclipse JDT (open source- Eclipse Public License)
Eclipse dibuat dari
kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta
individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse
Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing
langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak
dan bervariasi dibandingkan IDE lainnya.
- IntelliJ IDEA (commercial, free 30-day
trial)
- Oracle JDeveloper (free)
- Xinox JCreator (ada versi berbayar maupun
free)
JCreator ditulis dalam C/C++ sehingga lebih cepat (dan
menggunakan memori lebih sedikit) dari kebanyakan IDE.
Cara
menginstal Java
JDK atau
JRE ?
Agar
aplikasi yang dibuat dengan java dapat berjalan maka diperlukan JVM. Jika anda
hanya
pengguna
aplikasi saja (end user) maka anda hanya perlu menginstal JRE (Java
Runtime Environtment). Karena JVM sudah berada dalam paket JRE.
Sedangkan
bagi anda yang berkeinginan untuk membuat aplikasi dengan java maka anda membutuhkan
JDK (Java Development Kit) terpasang di komputer anda. JDK merupakan paket yang
di dalamnya terdapat JRE dan ditambah dengan paket-paket lainnya untuk mendevelope
java terutama java compiler.
Sampai
saat ini, JDK dan JRE tersedia secara gratis dari Sun Microsystem maupun
dari vendor lainnya. Jika anda membutuhkan yang GPL anda dapat menggunakan
Balckdown.
Download JDK
Pada tulisan ini
JDK yang digunakan adalah keluaran dari Sun Microsystem versi 1.5 update 4 (JDK
5 update 4). Untuk mendownload versi terbaru anda bisa masuk ke http://java.sun.com/j2se/1.5.0/download.jsp.
Usahakan memilih JDK yang tidak dibundle dengan Netbeans. Kemudian pilih dan
downloadlah JDK yang sesuai dengan platform komputer yang anda gunakan.
Instal Java di Linux
Untuk instal java
di linux maka JDK yang harus di download adalah JDK untuk linux platform. Jika
Linux anda suport paket instalasi RPM (Redhat, Mandrake) maka anda bisa
langsung mendownload JDK yang pemaketannya dengan rpm.
Linux yang penulis pakai adalah Debian Sarge untuk keluarga x86
sehingga JDK yang penulis download adalah jdk-1_5_0_04-linux-i586.bin (paket
instalasi JDK yang general dan dapat dipakai oleh semua distribusi linux).
Adapun cara instalasinya adalah sebagai berikut:
Masuk ke
console dengan menggunakan program terminal. Masuk seabagai super user (root)
lalu copy file JDK ke direktori dimana JDK tersebut akan diinstal (terserah
dimana saja asal jangan di direktori /tmp).
Misalkan
penulis ingin menginstal java di direktori /usr/lib dan file jdk-1_5_0_04-linux-i586.bin
berada di home direktori.
karno@embedded:~$
su
Password:embedded:/home/karno#
cp jdk1_5_0_04linuxi586.bin /usr/lib
Masuk ke
direktori /usr/lib.
embedded:/home/karno#
cd /usr/lib
embedded:/usr/lib#
chmod +x jdk1_5_0_04linuxi586.bin
embedded:/usr/lib#
./jdk1_5_0_04linuxi586.bin
Pada saat instalasi anda akan
diminta untuk menyetujui licensi dari java. Tekan tombol Space beberapa
kali sampai muncul pertanyaan yang harus anda jawab.
Ketik yes
sebagai jawabannya yang berarti juga anda menyetujui semua yang
tertulis di dalam licensi tersebut. Kemudian tunggu sampai instalasi
selesai.
Dan
setelah selesai hapus file jdk-1_5_0_04-linux-i586.bin pada direktori /usr/lib.
embedded:/usr/lib#
rm f jdk1_5_0_04linuxi586.bin
Sampai tahap ini instalasi telah
selasai dan anda bisa kembali ke user biasa dengan mengetik perintah exit pada
console. Selanjutnya yang perlu dilakukan adalah memasang PATH environtment
sehingga semua perintah java bisa diakses dari mana saja.
Caranya
adalah sebagai
berikut
:
Sebagai
user biasa masukan perintah ini di console.
karno@embedded:~$
export JAVA_HOME=/usr/lib/jdk1.5.0_04
karno@embedded:~$
export PATH=${JAVA_HOME}/bin:${PATH}
Kemudian
tes perintah java.
karno@embedded:~$
java version
java
version "1.5.0_04"
Java(TM)
2 Runtime Environment, Standard Edition (build 1.5.0_04b05) Java HotSpot(TM)
Client VM (build 1.5.0_04b05,mixed mode, sharing)
Jika muncul pesan seperti di atas
berarti anda telah berhasil menginstall java dengan benar. Selanjutnya agar
lebih efektif dalam menjalankan semua perintah-perintah java sebaiknya PATH
environtment ditulis dalam file bash_profile atau bashrc yang terletak di dalam direktori home.
Gunakan
editor kesayangan anda (vi, nano, jed, dll) untuk mengedit kedua file tersebut.
Misalkan anda ingin menulis PATH environtmentya di dalam bash_profile (penulis
familiar dengan editor nano) ,
maka:
karno@embedded:~$
nano .bash_profile
Kemudian
ketik tulisan di bawah ini dalam bash_profile.
export
JAVA_HOME=/usr/lib/jdk1.5.0_04
export
PATH=${JAVA_HOME}/bin:${PATH}
Simpan
file tersebut, kemudian jalankan perintah di bawah ini.
karno@embedded:~$
. ./.bash_profile
Dan
selamat, anda baru saja selesai menginstal java di linux. Sekarang anda sudah
dapat
memanfaatkan
java di linux kapanpun anda inginkan. Penulis berharap selain distribusi
debian, cara instalasi di atas juga dapat dipakai di semua distribusi linux.
Instal
Java di Windows XP
Instalasi java di windows lebih
mudah dari pada di linux. Pertama anda harus mendownload JDK untuk windows
yaitu jdk-1_5_0_04-windows-i586-p.exe.
Setelah
selesai mendownload maka anda tinggal mendouble-click file tersebut,
maka java installer akan muncul. Anda hanya mengikuti installer tersebut sampai
selesai.
Mudah
sekali bukan......
Selanjutnya
anda hanya mengecek apakah PATH environment java di windows sudah terpasang
atau belum.
Klik Start→Run
kemudian ketik cmd maka Dos Prompt akan muncul. Ketik java -
version pada dos prompt dan lihat responnya.
Jika respon menampilkan versi dari java, itu
berarti PATH telah terpasang. Jika responnya adalah error (error apa saja) maka
itu berarti PATH belum terpasang.
Untuk memasang
PATH environtment pada windows xp maka yang harus anda lakukan pertama kali
adalah klik kanan My Computer→Properties maka akan muncul window
system properties.
Klik Advance Tab kemudian
klik tombol Environtment Variables maka akan muncul window environment
variables.
Anda bisa menambah PATH untuk user
variable (hanya user anda yang dapat memanfaatkan PATH tersebut) atau juga
untuk system variable (semua user dapat memanfaatkan PATH tersebut). Misalkan
anda menginginkan hanya anda yang dapat memanfaatkan PATH tersebut maka klik New
pada user variable. Ketik PATH pada Variable name dan untuk Variable value
diisi dengan direktori lengkap dimana anda menginstal java.
Editor
Java
JDK yang telah diinstal tidak
dilengkapi dengan editor untuk menulis program java. Oleh karena itu anda harus
mencari editor java sendiri.
Anda
dapat memanfaatkan editor-editor bawaan dari operating system.
Di
windows anda dapat menggunakan notepad dan di linux anda dapat memanfaatkan vi,
nano, jed, dan editor lainnya.
Namun
editor-editor tersebut sangat miskin feature untuk menulis program java.
Saat ini telah hadir editor untuk
menulis program java yang jumlahnya sangat banyak sekali. Editor ini telah
dilengkapi pula dengan feature yang mendukung program java.
Editor
ini ada yang gratis ada pula yang harus bayar.
Beberapa
contoh editor yang gratis dan populer dikalangan programer java adalah eclipse,
netbeans, jdeveloper, jcreator lite edition dan masih banyak lagi yang lainnya.
Karakteristik Java
•
Program Java dijalankan menggunakan interpreter
melalui Java Virtual machine (JVM). Hal ini menyebabkan source code Java yang
telah dikompilasi menjadi Java bytecodes dapat dijalankan pada
platform yang berbeda-beda.
•
Fitur-fitur utama yang lain:
- Mendukung
multithreading.
- Selalu
memeriksa tipe obyek pada saat
runtime.
•
Sangat berorientasi obyek (OOP) dengan implementasi
yang sangat baik
•
Arsitekturnya yang kokoh dan pemrograman yang aman.
Dalam Java program yang kita buat tidak mudah untuk “hang” karena konflik pada
memori biasanya diselesaikan dengan mengumpulkan obyek-obyek yang sudah tak
terpakai lagi secara otomatis oleh garbage collector.
Penanganan kesalahan
juga dipermudah dalam Java dengan konsep Exception
•
Sederhana, semudah C dan seampuh C++: berlawanan
dengan anggapan orang-orang bahwa bahasa Java sulit untuk dipelajari, Java
gampang untuk dipelajari terutama untuk orang yang sudah mengenal pemrograman
tapi belum terlalu terikat pada paradigma pemrograman prosedural.
Tentu saja ini
berarti bahwa kita harus siap mempelajari salah satu teknologi yang berkembang
paling cepat di dunia dalam dua tahun terakhir ini dengan banyak membaca
tentunya baik dari buku maupun melalui web.
•
Bukan sekedar bahasa tapi juga platform sekaligus
arsitektur. Java
•
mempunyai portabilitas yang sangat tinggi. Ia dapat
berada pada smartcard, pager, POS (Point of Service), handphone, PDA, palm, TV,
Embedded device (PLC, micro controller), laptop, pc, dan bahkan server).
Menyadari akan hal ini Sun membagi arsitektur Java membagi tiga bagian, yaitu:
•
Enterprise Java (J2EE) untuk aplikasi berbasis web,
aplikasi sistem tersebar dengan beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari Standar Java
•
Standard Java
(J2SE), ini adalah yang biasa kita kenal sebagai bahasa Java, dan merupakan fokus kita sekarang.
•
Micro Java (J2ME)
merupakan subset dari J2SE dan salah satu aplikasinya yang
banyak dipakai adalah untuk wireless device/mobile device
Identifier di dalam bahasa pemograman
Java
•
Identifier adalah nama yang diberikan kepada variabel,
method, kelas, paket, dan interface
•
Adapun tatacara penamaan identifier:
1. Case
sensitive, huruf kapital dan kecil dibedakan
2. Identifier yang
diberikan oleh pemrogram tidak boleh sama dengan
keyword yang ada di Java
3.
Dimulai dengan huruf atau underscore (garis bawah) atau tanda ($).
Namun sebisa mungkin diawali dengan huruf
karena mungkin
identifier dengan awalan
underscore dan ($) digunakan unruk
pemrosesan internal dan
file import
4. Karakter berikutnya
dapat berupa huruf atau angka 0 sampai 9.
Simbol-simbol seperti ‘+’ dan spasi tidak
dapat digunakan
Keyword dalam Java
Keyword adalah
identifier yang digunakan Java untuk suatu tujuan khusus. Daftar keyword Java adalah sebagai berikut:
abstract do implements private this
boolean double
import protected throw
break else instanceof public throws
byte extends int return transient
case false interface short true
catch final long static try
char finally native strictfp void
class float new super volatile
continue for null switch while
default if package synchronized
Tipe
data dalam Bahasa pemograman Java
Tipe data dalam Java dibagi dalam dua kategori
yaitu Sederhana (primitif)
dan Komposit (referensi).
·
Tipe data
sederhana(Primitif)
Tipe data sederhana merupakan tipe inti. Tipe
sederhana tidak diturunkan dari tipe lain.
Terdapat delapan tipe data primitif
di Java:
- Empat tipe adalah untuk bilangan
bulat (integer)
: byte, short, int, long
- Dua untuk tipe angka pecahan
(floating point):
float,
double
- Satu untuk tipe karakter, yaitu
char
- Satu untuk tipe boolean yang berisi nilai
logika: true/false
Tipe Data
|
Panjang
|
Rentang Nilai
|
Contoh Nilai
|
byte
|
8 bit
|
-27 sampai 27 - 1
(-128 sampai 127 )
(256 kemungkinan nilai)
|
5
-126
|
short
|
16 bit
|
-215 sampai 215 -
1
(-32.768 sampai 32.767)
(65.535 kemungkinan nilai)
|
9
-23659
|
int
|
32 bit
|
-231 sampai 231 -
1
( -2.147.483.648
sampai 2.147.483.647)
(4.294.967.296 kemungkinan nilai)
|
2067456397
-1456398567
|
long
|
64 bit
|
-2-63 sampai 263 - 1
( -9.223.372.036.854.775.808 sampai
9.223.372.036.854.775.807)
(18.446.744.073.709.551.616 kemungkinan nilai)
|
3L
-2147483648L
67L
|
Integer :
Floating Point:
Tipe data floating point
merupakan tipe data untuk untuk variabel yang nilai-nilainya adalah bilangan
real (dapat mempunyai pecahan desimal).
Tipe Data
|
Panjang
|
Contoh Penulisan Nilai yang
Diperbolehkan
|
float
|
32 bit
|
78F
-34736.86F
6.4E4F ( sama dengan 6,4 x 104 )
|
double
|
64 bit
|
-2356
3.5E7
67564788965.567
|
Char:
Tipe data textual merupakan tipe
data untuk variabel yang nilai-nilainya adalah karakter tunggal. Tipe data yang
merupakan tipe data textual adalah char yang memiliki panjang 16 bit. Nilai
variabel char ditulis dengan diberi tanda kutip tunggal ‘...’.
Berikut
contoh
penggunaan tipe data char :
public char alphabet = ‘A’;
public char ascii = ‘\111’; // jika
dicetak, akan menghasilkan
// huruf ‘I’;
Logika (Boolean):
Tipe data logika adalah tipe data
yang hanya memiliki 2 kemungkinan nilai, yaitu true atau false. Hanya satu tipe data logika pada teknologi Java, yaitu boolean.
Berikut contoh penggunaan tipe data boolean :
public boolean status = true;
public boolean check = 10 < 5 ;
// nilai check menjadi // false
·
Tipe
data komposit
Tipe data komposit merupakan tipe data yang disusun
dari tipe data sederhana
atau tipe komposit lain yang sudah ada. Tipe ini dapat berupa array, string, kelas, dan interface. Khusus
untuk String pada Java dikenali sebagai kelas, bukan sebagai array of character.
String pada Java diapit oleh tanda petik ganda (“.....”), contoh:
String s=”Saya makan nasi”;
Promosi
dan Casting
Promosi adalah
proses pengubahan representasi bit variabel
primitif dari
representasi bit yang lebih rendah ke
representasi bit
yang lebih tinggi.
Promosi dapat
terjadi
apabila :
- Jika terjadi assigning nilai dari tipe
data dengan representasi bit yang lebih kecil ke tipe data dengan
representasi bit yang lebih besar, seperti yang diperlihatkan pada contoh
berikut ini:
short a = 12;
int b = a ;
b. Jika terjadi assigning
nilai dari tipe data integral ke tipe data floating-point, seperti yang
diperlihatkan pada contoh
int a = 30;
float b = a ;
Casting tipe merupakan proses pengubahan representasi bit variabel
primitif dari representasi bit yang lebih tinggi ke representasi bit yang lebih
rendah.
Sintak dari type
casting adalah sebagai berikut :
identifier = (target_type) value ;
ket:
–
identifier
= nama variabel yang menjadi tempat penyimpanan nilai;
–
target_type
= tipe data yang diinginkan menjadi tipe data dari value;
–
value =
nilai yang akan di-casting.
Berikut contoh casting tipe
int num1 = 34;
int num2 = 45;
short num3 = (short)(num1 + num2 );
System.out.println(num3);
Operator di Java
·
Operator Unary
Arti Operator
|
Operator
|
Contoh Pemakaian
|
Pre-Increment
|
++operand
|
int i = 8 ;
int j = ++i;
i bernilai 9, j bernilai 9
|
Post-Increment
|
operand++
|
int i = 8;
int j = i++;
i bernilai 9, j bernilai 8
|
Pre-Decrement
|
--operand
|
int i = 8 ;
int j = --i;
i bernilai 7 , j bernilai 7
|
Post-Increment
|
operand--
|
int i=8;
int j = i--;
i bernilai 7, j bernilai 8
|
·
Operator Binary
Arti Operator
|
Operator
|
Contoh Pemakaian
|
Keterangan
|
Penjumlahan
|
+
|
sum=num1 + num2
|
|
Pengurangan
|
-
|
diff=num1 - num2
|
|
Perkalian
|
*
|
prod=num1 * num2
|
|
Pembagian
|
/
|
quot=num1 / num2
|
jika num1 dan num2 adalah
integer, pembagian akan menghasilkan nilai integer tanpa mengikutsertakan
sisa, jika terdapat sisa.
|
Sisa
(modulus)
|
%
|
mod=num1 % num2
|
Hasil operasi modulus adalah
sisa dari operasi num1 / num2.
Hasil operasi modulus
memiliki tanda ( +/- ) yang sama dengan operand pertama
|
·
Operator Relasi
Condition
|
Operator
|
Example
|
Is equal to
(atau “is the same as”)
|
==
|
int i = 1;
System.out.println(i==1); // (output : true)
|
Is not equal to
(atau “is not the same as”)
|
!=
|
int i = 1;
System.out.println(i!=1); // (output : false)
|
Is less than
|
<
|
int i = 1;
System.out.println(i<1); // (output : false)
|
Is less than or equal to
|
<=
|
int i = 1;
System.out.println(i<=1); //(output : true)
|
Is greater than
|
>
|
int i = 1;
System.out.println(i>1); //(output : false)
|
Is greater than or equal to
|
>=
|
int i = 1;
System.out.println(i>=1); // (output : true)
|
·
Operator Kondisional
Condition
|
Operator
|
Example
|
If one condition AND another
condition
|
&&
|
int i = 1;
int j = 2;
System.out.println((i<1)&&(j>0));
// (output : false)
|
If either condition OR
another condition
|
||
|
int i = 1;
int j = 2;
System.out.println((i<1)||(j>0));
// (output : true)
|
NOT
|
!
|
int i = 1;
System.out.println(!(i<3));
// (output : false)
|
Array dalam Java
Dalam bagian ini, kita akan mendiskusikan mengenai
array dalam Java. Pertama, kita akan mendefinisikan apa yang dimaksud dengan
array, kemudian kita juga akan mendefinisikan bagaimana mendeklarasikannya dan
menggunakannya dalam Java.
Pada akhir pelajaran, siswa haruslah mampu untuk :
- Mendeklarasikan dan
membuat array
- Mengakses elemen-elemen
didalam array
- Menentukan jumlah
element didalam sebuah array
- Mendeklarasikan dan
membuat array multidimensi
Pengenalan Array
Dibagian
sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam variabel dengan menggunakan
tipe data primitif.
Dalam pendeklarasian
variabel, kita sering menggunakan sebuah tipe data beserta nama
variabel atau identifier
yang unik, dimana untuk menggunakan variabel tersebut, kita akan memanggil dengan nama identifier-nya.
Sebagai
contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap
variabel.
int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;
Seperti yang dapat Anda perhatikan
pada contoh diatas, hanya untuk menginisialisasi dan menggunakan variabel
terutama pada saat variabel-variabel tersebut memiliki tujuan yang sama, dirasa
sangat membingungkan.
Di Java maupun di bahasa
pemrograman yang lain, mereka memiliki kemampuan untuk menggunakan satu
variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya
dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array.
Gambar 1: Contoh dari Integer Array
Sebuah array akan menyimpan beberapa item data yang
memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang
kemudian dibagai menjadi beberapa slot.
Bayangkanlah array adalah sebuah variabel – sebuah
lokasi memori tertentu yang memiliki satu nama sebagai identifier, akan
tetapi ia dapat menyimpan lebih dari sebuah value.
Pendeklarasian Array
Array
harus dideklarasikan seperti layaknya sebuah variabel. Apabila Anda
mendeklarasikan array, Anda harus membuat sebuah list dari tipe data, yang
diikuti oleh tanda kurung buka dan kurung tutup, yang diikuti oleh nama identifier.
Sebagai
contoh,
int []ages;
atau Anda dapat menempatkan
kurung buka dan kurung tutupnya setelah identifier. Sebagai contoh,
int ages[];
Setelah pendeklarasian, kita
harus membuat array dan menentukan berapa panjangnya dengan sebuah konstruktor.
Proses ini di Java disebut sebagai instantiation ( Kata dalam Java yang
berarti membuat ).
Untuk meng-instantiate sebuah
obyek, kita membutuhkan sebuah konstruktor. Kita akan membicarakan lagi
mengenai instantiate obyek dan pembuatan konstruktor pada bagian
selanjutnya.
Perlu dicatat, bahwa ukuran dari
array tidak dapat diubah setelah Anda menginisialisasinya.
Sebagai contoh,
//deklarasi
int ages[];
//instantiate obyek
ages = new int[100];
atau bisa juga ditulis dengan,
//deklarasi dan instantiate obyek
int ages[] = new int[100];
Pada contoh diatas, deklarasi akan memberitahukan
kepada compiler Java, bahwa identifier ages akan digunakan sebagai nama array
yang berisi data-data integer, dan kemudian untuk membuat atau meng-instantiate
sebuah array baru yang terdiri dari 100 elemen.
Selain menggunakan sebuah keyword baru untuk
meng-instantiate array, Anda juga dapat secara otomatis mendeklarasikan array,
membangunnya, kemudian memberikan sebuah value.
Sebagai contoh,
//membuat sebuah array yang
berisi variabel-variabel //boolean pada sebuah identifier. Array ini terdiri
dari 4 //elemen yang diinisilisasikan sebagai value //{true,false,true,false}
boolean results[] ={ true, false,
true, false };
//Membuat sebuah array yang
terdiri dari penginisialisasian //4 variabel double bagi value {100,90,80,75}
double []grades = {100, 90, 80,
75};
//Membuat sebuah array String
dengan identifier days. Array //ini terdiri dari 7 elemen.
String days[] = { “Mon”, “Tue”,
“Wed”, “Thu”, “Fri”, “Sat”, “Sun”};
Pengaksesan sebuah elemen array
Untuk
mengakses sebuah elemen dalam array, atau mengakses sebagian dari array, Anda
harus menggunakan sebuah nomor atau yang disebut sebagai index atau
subscript.
Sebuah nomor index atau subscript telah
diberikan kepada tiap anggota array, sehingga program dan programmer dapat
mengakses setiap value apabila dibutuhkan.
Index selalu dalam integer. Dimulai dari
nol, kemudian akan terus bertambah sampai list value dari array tersebut berakhir.
Perlu dicatat, bahwa elemen-elemen didalam array
dimulai dari 0 sampai dengan (ukuranArray-1). Sebagai contoh, pada array
yang kita deklarasikan tadi, kita mempunyai,
//memberikan nilai 10 kepada
elemen pertama array
ages[0] = 10;
//mencetak elemen array yang
terakhir System.out.print(ages[99]);
Perlu
diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang
disimpan dalam setiap anggota array akan diinisialisasi sebagai nol.
Oleh karena itu, apabila Anda menggunakan tipe data
reference seperti String, ia tidak akan diinisalisasi ke string kosong “”,
sehingga Anda tetap harus membuat String array secara eksplisit.
Berikut ini adalah contoh, bagaimana untuk mencetak
seluruh elemen didalam array.
Dalam contoh ini digunakanlah loop, sehingga kode
kita menjadi lebih pendek.
public class ArraySample{
public static void main( String[]
args ){
int[] ages = new int[100];
for( int i=0; i<100; i++ ){
System.out.print( ages[i] );
}
}
}
Petunjuk penulisan program:
1. Biasanya, lebih baik menginisialisasi atau
meng-instantiate array setelah Anda mendeklarasikannya. Sebagai contoh
pendeklarasiannya
int []arr = new int[100];
lebih disarankan daripada,
int []arr;
arr = new int[100];
2. Elemen-elemen dalam n-elemen array memiliki index
dari 0 sampai n-1.
Perhatikan disini bahwa tidak ada elemen array
arr[n]. Hal ini akan menyebabkan array-index out-of-bounds exception.
3. Anda tidak dapat mengubah ukuran
dari sebuah array
Panjang Array
Untuk mengetahui berapa banyak
element didalam sebuah array, Anda dapat menggunakan length (panjang) field
dalam array.
Panjang field dalam array akan
mengembalikan ukuran dari array itu sendiri. Sebagai contoh,
arrayName.length
Pada contoh sebelumnya, kita
dapat menuliskannya kembali seperti berikut ini,
public class ArraySample
public static void main( String[]
args ){ }
int[]
ages = new int[100];
for( int i=0; i<ages.length;
i++ ){ }
System.out.print( ages[i] );
Petunjuk penulisan
program:
1.
Pada
saat pembuatan loop untuk memproses elemen-elemen dalam array, gunakanlah
length field didalam pernyataan pengkondisian dalam loop.
Hal ini akan menyebabkan loop
secara otomatis menyesuaikan diri terhada ukuran array yang berbeda-beda.
2.Pendeklarasian ukuran
array di Java, biasanya digunakan constant untuk mempermudah. Sebagai contoh,
final int ARRAY_SIZE = 1000;
//pendeklarasian constant
. . .
int[] ages = new int[ARRAY_SIZE];
Array Multidimensi
Array
multidimensi diimplementasikan sebagai array didalam array.
Array multidimensi dideklarasikan
dengan menambahkan jumlah tanda kurung setelah nama array.
Sebagai contoh,
// Elemen 512 x 128 dari integer
array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new
char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{
"terry", "brown" },
{ "Kristin",
"white" },
{ "toby",
"gray"},
{ "fido", "black"}
};
Untuk mengakses sebuah elemen didalam array
multidimensi, sama saja dengan mengakses array satu dimensi.
Misalnya saja, untuk mengakses element pertama dari
baris pertama didalam array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan mencetak String
“terry” di layar
Pengambilan
keputusan dalam Java
Konstruksi if
Konstruksi if
merupakan bentuk konstruksi pengambilan
keputusan dengan
2 kemungkinan keputusan.
Kemungkinan-
kemungkinan
keputusan itu akan dipilih berdasarkan suatu
kondisi yang
diperiksa.
Kondisi tersebut
merupakan suatu
ekspresi boolean
/ boolean expression.
Sintaks
dasarnya:
if ( boolean_expression
){ }
code block;
Konstruksi
if..else..
Konstruksi if
/ else digunakan sebagai konstruksi
pengambilan
keputusan yang memiliki beberapa
kemungkinan
keputusan. Sintak dasarnya adalah seperti
berikut :
if ( boolean_expression_1
){ code block 1 }
else if ( boolean_expression_2 ){ code block 2
}
else{
code block n}
Konstruksi
Switch
Konstruksi switch
adalah konstruksi pengambilan keputusan
yang
mengevaluasi kemungkinan-kemungkinan nilai dari
variabel yang
dievaluasi.
Bentuk umum
syntax konstruksi
switch adalah sebagai berikut:
switch( variabel ) {
case nilai_literal_1 :
code_block_1;
break;
case nilai_literal_2
:
code_block_2;
break;
.default:
code_block_default;
break;
Keterangan:
–
switch adalah
kata kunci yang mengindikasikan dimulainya konstruksi switch;
–
variabel adalah variabel yang nilainya akan dievaluasi. variabel
hanya dapat bertipe-data char, byte, short, atau int;
–
case adalah kata
kunci yang mengindikasikan sebuah nilai yang diuji. Kombinasi kata kunci case
dan nilai_literal disebut case label;
–
nilai_literal_k
adalah nilai yang mungkin akan menjadi nilai variabel.
nilai_literal_k tidak dapat berupa variabel, ekspresi, atau method,
tetapi dapat merupakan konstanta. k = {default, 1,2,...,n };
–
break adalah pernyataan yang sifatnya opsional, yang
mengakibatkan aliran program keluar dari blok switch. Jika setelah code_block_k
tidak terdapat pernyataan break, maka aliran program akan masuk ke case
berikutnya. k = {default, 1,2,3,...,n};
–
default adalah
kata kunci yang mengindikasikan code_block_default akan dieksekusi jika
semua case yang diuji tidak sesuai dengan nilai variabel .
Perulangan
dalam java
While
Konstruksi while
adalah konstruksi pengulangan yang jumlah
perulangannya
tergantung pada suatu kondisi logika
tertentu.
Bentuk umum
konstruksi while adalah sebagai
berikut :
while(boolean_expression){
code_block} //akhir dari konstruksi while
Pada konstruksi
while, langkah-langkah proses perulangannya adalah sebagai berikut :
•
Sistem memeriksa
boolean_expression.
•
Jika nilai boolean_expression
adalah true, maka code_block akan dieksekusi. Jika tidak, maka code_block
tidak dieksekusi.
•
Jika di dalam code_block
terdapat pernyataan kondisi yang menyebabkan proses harus keluar dari blok
while, maka proses akan keluar dari pengulangan, meskipun boolean_expression
masih bernilai true.
Konstruksi for
Bentuk umum dari
konstruksi loop menggunakan for adalah :
for(initialize[,initialize];boolean_expression;
update[,update]){ code_block}
•
bagian inisialisasi, yang berisi pernyataan
pemberian nilai awal untuk suatu variabel parameter;
•
bagian boolean_expression,
yang berisi pernyataan logika yang akan diperiksa, sebagai syarat
pengulangan terus dilanjutkan. Pengulangan akan dilanjutkan jika nilai ekspresi
boolean pada segmen ini bernilai true.
•
bagian update,
yang berisi pernyataan updating parameter ketika satu putaran pada
pengulangan selesai dieksekusi.
•
bagian
inisialisasi dapat diisi dengan lebih dari 1 pernyataan inisialisasi;
•
bagian boolean_expression
hanya dapat diisi oleh 1 pernyataan logika;
•
bagian update
dapat diisi dengan lebih dari 1 pernyataan update.