MAKALAH
“ JAVA”
Dosen Pengampu :
Septia Lutfi
Disusun Oleh :
Nama : ZAINI MAFTUKHIN
NIM : 2114R0809
STIMIK HIMSYA SEMARANG
TAHUN 2014/2015
KATA PENGANTAR
Alhamdulillah, puji syukur
penulis haturkan kehadirat Allah SWT. Atas rahmat-Nya lah Penulis dapat
menyelesaikan makalah ini tepat pada waktunya.Tak lupa Penulis juga
menghaturkan terima kasih yang sebesar-besarnya kepadasemua pihak yang telah mendukung dan membantu Penulis dalam
menyelesaikan makalah yang berjudul “MAKALAH JAVA” ini.
Penulis menyadari bahwa makalah tersebut masih banyak adanya kekurangan dan
masih jauh dari kesempurnaan. Oleh karena itu penulis berharap akan kritik dan
sarannya dari segenap pembaca. Demikianlah semoga makalah yang telah dibuat
tersebut dapat bermanfaat bagi semuanya. Terimakasih
BLORA,
Oktober 2014
Penulis
Zaini
Maftukhin
BAB I
PENDAHULUAN
A. Latar belakang
Perkembangan teknologi
dari tahun ketahun semakin cepat. Dari mulai handphone, laptop, tablet, dan
berbagai gadget lainnya selalu ada perubahan dan semakin memanjakan pengguna.
Dari tahun ketahun perkembangan teknologi seakan membuat para pengguna menjadi ketergantungan
dan dimanfaatkan teknologi itu sendiri.
Saat ini, yang mempunyai lingkungan yang semakin luas dan banyak diminati,
juga dapat digunakan untuk menghasilkan uang adalah dunia pemrograman
komputer. Dalam dunia pemrograman komputer, dikenal banyak bahasa pemrograman,
seperti C++, Pascal, Basic, Java, dan lain-lain. Di antara banyaknya bahasa
pemrograman, tim penyusun akan membahas seputar Java.
B. Rumusan Masalah
1. Bagaimana sejarah
perkembangan Java?
2. Apa itu Java?
3. Bagaimana kelebihan dan
kekurangan Java?
4. Apa saja variabel dan
tipe data Java?
5. Apa itu String, Objek,
dan Subrutin?
6. Apa saja
istilah-istilah dalam Java?
7. Apa saja aplikasi dan
game yang dibuat oleh java?
C. Tujuan
Tujuan pembuatan makalah ini yaitu agar pembaca dapat
mengenal lebih dalam seputar perkembangan teknologi bahasa pemrograman java
dari mulai sejarah sampai bagaimana pembuatan aplikasi java.
D. Manfaat
Saya
berharap makalah ini dapat bermanfaat bagi para pembaca, yang tadinya belum
mengerti system operasi Android menjadi lebih mengerti apa itu
system operasi Android.
BAB II
PEMBAHASAN
A. Sejarah 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).
B. Pengertian Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya
dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini
merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak
mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta
dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java
umumnya dikompilasi ke dalam p-code (bytecode)
dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). 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
platformsistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis
sekali, jalankan di mana pun". 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.
Java menurut definisi
dari Sun adalah mana untuk sekumpulan teknologi untuk membuat dan menjalankan
perangkat lunak pada computer stand alone ataupun pada lingkungan jaringan.
Java 2 adalah generasi kedua dari java platform. Kata berdiri di atas sebuah
mesin interpreter yang diberi mana Java Virtual Machine (JVM). JVM inilah yang
akan membaca bytecode dalam file.class dari suatu program sebagai representasi
langsung dari program yang berisi bahasa mesin. Oleh karena itu, bahasa java
disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan
pada berbagai sistem operasi, asalkan pada sistem operasi tersebut
terdapat JVM.
Agar sebuah program
Java dapat dijalankan, maka file dengan ekstensi, java harus dikompilasi
menjadi file bytecode. Untuk menjalankan bytecode tersebut dibutuhkan JRE (Java
Runtime Environment) yang memungkinkan pemakai untuk menjalankan program Java,
hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM dan
library Java yang digunakan. Java memiliki beberapa versi library atau
teknologi yang disebut juga sebagai edisi dari bahasa pemrograman Java. Tiga
edisi utama dari library tersebut adalah Micro, Standard, dan Enterprise. J2ME
(Java2 Micro Edition) 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. Teknologi Java memiliki tiga komponen penting, yaitu:
1.
Programming-language
specification
Java2 adalah generasi kedua dari Java platform (generasi
awalnya adalah Java Development Kit). Java berdiri di atas sebuah mesin
interpreter yang diberi nama JVM. JVM inilah yang akan membaca bytecode dalam
file .class dari suatu program sebagai representasi langsung
program yang berisi bahasa mesin. Oleh karena itu, bahasa Java disebut sebagai
bahasa pemrograman yang portable karena dapat dijalankan pada
berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Platform Java
terdiri dari kumpulan library, JVM, kelas- kelasloader yang
dipaket dalam sebuah lingkungan rutin Java, dan sebuahcompiler, debuger,
dan perangkat lain yang dipaket dalam Java Development Kit (JDK).
Java2 adalah generasi yang sekarang sedang berkembang dari platform
Java. Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi
''.java'' harus dikompilasi menjadi file bytecode. Untuk
menjalankan bytecode tersebut dibutuhkan JRE ( Java
Runtime Environment) yang memungkinkan pemakai untuk menjalankan program
Java, hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM
dan libraryJava yang digunakan.
Platform Java memiliki tiga buah
edisi yang berbeda, yaitu J2EE ( Java2 Enterprose Edition), J2ME
( Java2 Micro Edition) dan J2SE (Java2 Second Edition). J2EE
adalah kelompok dari beberapa API (Application Programming Interface)
dari Java dan teknologi selain Java. J2EE sering dianggap sebagai middleware atau
teknologi yang berjalan di server, namun sebenarnya J2EE tidak
hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi yang dapat
digunakan di semua lapisan dari sebuah sistem informasi. Implementasi J2EE
menyediakan kelas dasar dan API dari Java yang mendukung pengembangan dari
rutin standar untuk aplikasi klien maupun server, termasuk aplikasi
yang berjalan di web browser. J2SE adalah lingkungan dasar dari
Java, sedangkan J2ME merupakan edisilibrary yang dirancang untuk
digunakan pada device tertentu sepertipagers dan mobile
phone.
Java merupakan bahasa pemrogrman yang bersifat case sensitive yang
berarti penulisan menggunakan huruf besar ataupun huruf kecil pada kode program
dapat berarti lain. Misalnya penulisan "System" akan diartikan
berbeda dengan "system" oleh interpreter. Java tidak seperti C++,
Java tidak mendukung pemrograman prosedural, tapi mendukung pemrograman
berorientasi objek sehingga ada sintaks class pada kode
programnya
2.
Application-programming
interface
Java API terdiri dari tiga bagian utama:
·
Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi
desktop dan applets dengan bahasa dasar yang mendukung grafis,
M/K, keamanan, konektivitas basis data dan jaringan.
· Java Enterprose Edition
(EE), sebuah inisiatif API untuk merancang aplikasi server dengan mendukung
untuk basis data.
· Java Macro Edition
(ME), sebuah API untuk merancang aplikasi yang jalan pada alat kecil seperti
telepon genggam, komputer genggam dan pager.
3.
Virtual-machine
specification
Java Virtual Machine (JVM) adalah sebuah spesifikasi untuk sebuah komputer
abstrak. JVM terdiri dari sebuah kelas pemanggil dan sebuah interpreter Java
yang mengeksekusi kode arsitektur netral. Kelas pemanggil memanggil file .class
dari kedua program Java dan Java API untuk dieksekusi oleh interpreter Java.
Interpreter Java mungkin sebuah perangkat lunak interpreter yang menterjemahkan
satu kode byte pada satu waktu, atau mungkin sebuah just-intime (JIT) kompiler
yang menurunkanbytecodearsitektur netral kedalam bahasa mesin
untuk host computer.
C. Kelebihan dan Kekurangan Java
Slogan Java adalah
“Tulis sekali, jalankan di manapun”. Sekarang ini Java menjadi sebuah bahasa
pemrograman yang populer dan dimanfaatkan secara luas untuk pengembangan
perangkat lunak. Kebanyakan perangkat lunak yang menggunakan Java adalah ponsel feature dan ponsel pintar atau smartphone.
1. Kelebihan Java
Java mempunyai beberapa
keunggulan dibandingkan dengan bahasa pemrograman lainnya. Keunggulan bahasa
pemrograman Java antara lain:
·
Berorientasi pada objek. Java adalah bahasa
pemrograman yang berorientasi pada objek. Java membagi program menjadi
objek-objek serta memodelkan sifat dan tingkah laku masing-masing dalam
menyelesaikan suatu masalah.
· Java bersifat multiplatform Java dirancang untuk mendukung aplikasi yang dapat beroperasi
di lingkungan jaringan berbeda. Untuk mengakomodasi hal tersebut, Java compiler
membangkitkan bytecodes (sebuah format yang tidak tergantung pada arsitektur
tertentu yang didesain untuk mengirimkan kode ke banyak platform perangkat
keras dan perangkat lunak secara efisien). Java dapat dijalankan oleh banyak
platform seperti Linux, Unix, Windows, Solari, maupun Mac.
· Java bersifat multithread Multithreading adalah kemampuan suatu program
komputer untuk mengerjakan beberapa proses dalam suatu waktu. Thread dalam Java
memiliki kemampuan untuk memanfaatkan kelebihan multi prosessor apabila sistem
operasi yang digunakan mendukung multi prosessor.
· Dapat didistribusi dengan mudah Java memiliki
library rutin yang lengkap untuk dirangkai pada protocol TCP/IP (seperti HTTP
dan FTP) dengan mudah. Kemampuan networking Java lebih kuat dan lebih mudah
digunakan. Java memudahkan tugas pemrograman jaringan yang sulit seperti
membuka dan mengakses sebuah soket koneksi. Java juga mamudahkan pembuatan CGI
(Common Gateway Interface).
· Bersifat dinamis. Java dirancang untuk beradaptasi dengan lingkungan yang sedang
berkembang. Java bersifat dinamis dalam tahap linking. Class yang ada dapat di
link sebatas yang diperlukan, apabila diperlukan modul kode yang baru dapat di
link dari beberapa sumber, bahkan dari sumber dalam jaringan Internet.
· Mirip c++, Mempunyai sintaks yang mirip dengan
bahasa pemrograman c++ . Sehingga para pengguna c++ banyak yang hijrah
menggunakan Java.
· Perkembangan yang luas, Dari game sampai sistem
operasi handphone menggunakan program java . Misalnya Handphone Sonny Ericsson
dan Opera Mini 3 yang bertipe .jar ( Java Archive ).
·
Mempunyai pengumpulan sampah otomatis.
2. Kekurangan Java
· Tulis sekali, jalankan 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.
D. Variabel dan Tipe Data Java
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
Hurus kecil dan huruf
besar dianggap berbeda, sehingga 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 untuk 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;
Di mana 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;
Variable dalam
pernyataan di atas adalah 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
|
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
|
Di sini, * merupakan
operasi perkalian. Komputer mengambil data yang disimpan dalam variabel 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
ataustrongly typed language.
Ada 8 tipe data
primitif dalam bahasa Java.
Suatu variabel baru
dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variabel
digunakan untuk mendeklarasikan satu atau lebih variabel dan memberinya nama.
Ketika komputer mengeksekusi deklarasi variabel, komputer akan menyediakan
ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variabel
yang diberikan. Deklarasi variable berbentuk seperti :
nama_tipe
nama_variabel;
Nama_variabel dapat
berupa sebuah nama variabel atau beberapa nama sekaligus yang dipisah dengan
koma. Gaya pemrograman yang baik yaitu dengan mendeklarasikan satu variabel
dalam satu pernyataan, kecuali variabel tersebut berhubungan erat satu sama
lain. Misalnya:
float num;
String nama;
String nama;
boolean bol;
int x,y;
Atau pendeklarasian
variabel bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada
contoh berikut:
int num = 1000;
char ch = 'e';
float angka = -1.504;
boolean bol = true;
1. Jenis-jenis Variabel
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.
a. Literal
Pada bagian ini akan
dijelaskan tentang literal, yaitu rangkaian kata atau huruf yang menyatakan
suatu nilai. Misalnya
int angka = 10;
Pada pernyataan di
atas, yang dinamakan literal adalah 10, karena 10 berarti bilangan bulat atau
integer. Pada bahasa pemrograman java, terdapat beberapa jenis literal yang
melambangkan bilangan bulat, riil, kalimat, atau boolean.
b. 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;
Bilangan
oktal adalah bilangan bulat berbasis 8, yang berarti hanya dapat terdiri
dari angka-angka 0 hingga 7. Bilangan oktal ditulis seperti bilangan bulat
biasa dimulai dengan 0.
// 22 basis delapan
atau 18 dalam desimal
int angka = 022;
Bilangan
heksadesimal adalah bilangan berbasis 16. Bilangan heksadesimal
dilambangkan dengan 0 hingga 9 dan a hingga f dan dimulai dengan 0x.
// 2a heksadesimal atau
42 dalam desimal
int angka = 0x2a;
Long integer. Seperti
dijelaskan pada bab terdahulu long integer membutuhkan memori sebesar 64bit,
yang artinya kita dapat menyimpan bilangan bulat hingga 2 ^ 64. Untuk
merepresentasikan long integer, tambahkan huruf L pada akhir bilangan.
int angka = 22L;
c. Literal karakter
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';
Selain itu ada beberapa
karakter lain selain alfabet yang dapat dilambangkan dengan escape sequence.
Berikut ini beberapa contohnya.
\n = tombol enter atau
baris baru.
\r = carriage return.
\t = tombol tab.
\b = tombol backspace.
\\ = karakter \
\’ = karakter ‘
\” = karakter ”
d. 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;
Ingat bahwa boolean
true atau false TIDAK menggunakan tanda petik tunggal seperti ekspresi pada
karakter.
e. 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
|
Imbuhan akhir d atau D
dan f atau F dapat pula ditambahkan untuk menentukan tipenya secara eksplisit.
Berikut beberapa contohnya.
double d = 3.27E+32;
float f = 4f;
float pi = 3.14159;
f.
Literal String
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 juga dapat
mengandung karakter spesial seperti dibahas pada literal karakter. Misalnya
String hallo =
"Selamat Datang \"Bapak Presiden\"";
System.out.println("Hallo
Bambang\nSelamat pagi,\nSemoga hari anda cerah\n";
Berikut ini adalah
beberapa contoh lainnya.
// Contoh string kosong
String teks =
"";
// Contoh string berisi
"
teks = "\"";
// String dapat juga
dipisah menjadi beberapa baris
teks = "ini baris
pertama " +
"dan ini
lanjutannya."
g. Literal Null
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;
Literal null berfungsi memberi tahu garbage collector (pemulung
memori) bahwa objek tersebut tidak lagi terpakai. Kemudian memori akan
dilepaskan agar dapat digunakan oleh objek lain.
E. String, Objek, dan Subrutin
Bagian sebelumnya
memperkenalkan 8 jenis tipe data primitif dan tipe data String. Perbedaan mendasar antara tipe primitif dan String adalah : nilai dari tipe String berupa objek.
Subrutin adalah
kumpulan instruksi program yang digabungkan sehingga memiliki fungsi tertentu.
Dalam bahasa Java, setiap subrutin termasuk di dalam bagian suatu kelas atau
objek. Java menyediakan kelas standar yang siap digunakan. Nilai tipe String
adalah objek yang memiliki kumpulan subrutin yang dapat digunakan untuk
memanipulasi String tersebut. Kita bisa memanggil subrutin tersebut tanpa harus
mengerti bagaimana subrutin tersebut bekerja. Sebenarnya ini adalah tujuan
subrutin, yaitu sekumpulan perintah yang memiliki fungsi tertentu tanpa harus
mengetahui secara detail apa yang terjadi di dalam.
Kelas terdiri dari
variabel dan subrutin yang disimpan di dalamnya. Variabel dan subrutin ini
disebut static member (anggota statis). Contohnya adalah pada
program SelamatDatang, kelas SelamatDatang memiliki
anggota main() yang merupakan anggota statis kelas itu.
Anggota yang berupa static member diberi imbuhan static, seperti pada main.
Fungsi kelas yang lain
adalah untuk mendeskripsikan suatu objek. Kelas di sini berfungsi seperti tipe
data. Nilai yang disimpan dalam tipe data itu adalah objek. Misalnya String sebenarnya merupakan nama kelas yang disediakan
bahasa Java. String juga berupa tipe data dan
kalimat seperti "Selamat Datang!" adalah isi dari tipe data String.
Kegunaan kelas baik sebagai gabungan subrutin ataupun sebagai objek sering
membingungkan. Misalnya kelas String juga
menyimpan beberapa subrutin statik selain juga sebagai tipe data. Contoh kelas
standar lainnya adalah Math yang berisi
kumpulan subrutin statik untuk melakukan berbagai perhitungan matematis.
1
1. Kelas Sebagai Tipe Data
Mari mulai dengan
melihat kembali subrutin System.out.print.
Subrutin ini digunakan untuk menampilkan pesan kepada user. Misalnya System.out.print("Selamat datang!") menampilkan
pesan Selamat datang!
System merupakan salah
satu kelas standar Java. Salah satu anggotanya bernama out. Karena variable ini berada di dalam kelas System, kita harus memanggilnya dengan nama lengkapnya
yaitu System.out. Variabel System.out merupakan
suatu objek, dan objek itu memiliki subrutin yang bernama print. Pengenal campuran System.out.print mengacu
pada subrutin print di dalam objek out dalam kelas System.
Untuk melihat dari sisi
lain, sebetulnya System.out merupakan objek dari
kelas PrintStream. PrintStream adalah
salah satu kelas standar Java. Objek dengan tipe PrintStream adalah
objek tempat informasi bisa dicetak. Setiap objek yang bertipe PrintStream memiliki subrutin bernama print yang bertugas untuk mencetak sesuatu ke medium
tersebut. Dalam hal ini System.out adalah tujuan
tempat print dilakukan. Objek lain yang bertipe PrintStream bisa mengirim informasi ke tujuan lain,
misalnya file atau network atau ke komputer lain.
Ini adalah esensi dari
pemrograman berorientasi objek, di mana beberapa hal yang memiliki kesamaan -
dalam hal PrintStream sama-sama sebagai tempat tujuan print - dapat digunakan dengan cara yang sama, yaitu
memanggil subrutin print.
Karena nama variabel,
nama kelas, dan nama subrutin berbentuk hampir sama, ada baiknya untuk
membedakannya sehingga di kemudian hari program dapat dibaca dengan jelas.
Kelas standar Java menggunakan nama yang selalu dimulai dengan huruf besar,
sedangkan nama variabel dimulai dengan huruf kecil. Ini bukan sintaks Java,
tetapi lebih seperti konvensi. Setiap orang bebas menggunakan konvensinya
masing-masing, tetapi apabila pemrograman dilakukan secara bersama-sama,
seperti pada open source programming, konvensi yang sama akan sangat memudahkan
orang lain membaca dan menguji program yang kita buat. Nama subrutin juga
dimulai dengan huruf kecil, sama dengan nama variabel. Tetapi subrutin harus
diikuti dengan tanda buka kurung sehingga masih mudah dibedakan dengan nama
variabel.
2. Kelas Sebagai Kumpulan
Subrutin dan Variabel Statik
Selain sebagai tipe
data, kelas System juga memiliki subrutin statik yang bernama exit. Memanggil System.exit akan
menghentikan jalannya program, dan digunakan apabila karena suatu hal (misalnya
program telah selesai atau adanya error) program harus dihentikan.
Subrutin exit menerima parameter bilangan bulat, misalnya System.exit(0) atau System.exit(1), untuk
memberitahu kepada sistem operasi alasan kenapa program dihentikan. Status 0
berarti program berhenti normal tanpa adanya error, sedangkan status lain
berarti ada sesuatu yang salah yang terjadi di tengah eksekusi program tersebut.
Setiap subrutin
melakukan fungsi tertentu. Beberapa di antaranya melakukan perhitungan lalu
melaporkan hasil perhitungannya. Ada juga yang berfungsi untuk mengambil data
dari tempat tertentu dan melaporkan data yang didapat. Subrutin jenis ini disebut function (fungsi).
Fungsi adalah subrutin yang mengembalikan (return) suatu nilai. Nilai yang
dikembalikan akan digunakan lebih lanjut dalam program.
Sebagai contoh adalah
fungsi untuk menghitung akar kuadrat dari suatu bilangan. Java memiliki fungsi
seperti itu yang disebut Math.sqrt. Fungsi ini merupakan anggota
statik dari kelas yang bernama Math. Jika x adalah
suatu bilangan, makan Math.sqrt(x) menghitung akar
kuadrat dari x dan mengembalikan hasil perhitungannya. Karena Math.sqrt(x) mengembalikan suatu bilangan, kita tidak
bisa memanggil fungsi ini seperti
Math.sqrt(x); //
Tidak masuk akal!
Kita tentunya ingin
menggunakan hasilnya untuk instruksi selanjutnya, misalnya menuliskan hasilnya
di layar seperti
System.out.print(
Math.sqrt(x) ); // Menampilkan akar kuadrat x di layar.atau
menyimpan hasilnya pada variabel lain, seperti
panjangDiagonal = Math.sqrt(x);
3. Kelas Math
Kelas Math memiliki banyak fungsi statik. Beberapa yang
penting di antaranya:
Math.abs(x), menghitung nilai
mutlak (absolut) dari x. Nilai mutlak bilangan negatif adalah bilangan positif,
dan bilangan positif tetap bilangan positif.
Fungsi trigonometri Math.sin(x), Math.cos(x), and Math.tan(x). (Untuk
semua fungsi trigonometri, sudut memiliki satuan radian, bukan derajat)
Fungsi trigonometri inverse, yang mencari sudut dari suatu nilai
trigonometric, kebalikan dari fungsi trigonometri, seperti arcus sin, arcus
cos, dan arcus tangen. Math.asin(x), Math.acos(x), and Math.atan(x).
Math.exp(x), menghitung pangkat
dari bilangan natural e, atau ex. Dan logaritma natural loge x
atau ln x bisa dihitung dengan menggunakan fungsi Math.log(x).
Math.pow(x,y) menghitung xy atau
x pangkat y
Math.floor(x) menghitung
pembulatan ke bawah dari suatu bilangan riil, misalnya 3.84 akan dibulatkan ke
bawah menjadi 3.0
Math.random() memilih bilangan
acak di antara 0.0 dan 1.0. Komputer memiliki algoritma perhitungan tertentu
yang hasilnya bilangan acak (meskipun bulan bilangan yang betul-betul acak,
tetapi cukup untuk kebanyakan fungsi)
Paremeter (nilai di
dalam kurung) fungsi-fungsi di atas bisa bertipe numerik apa saja (misalnya
double, int, dll), tetapi keluarannya bertipe double, kecuali abs(x) yang tipe
keluarannya sama dengan tipe parameternya.
Math.random() tidak
memiliki parameter, tetapi tanda kurungnya harus tetap ditulis untuk membedakan
fungsi dan variabel. Contoh fungsi lain yang tidak memiliki parameter
adalah System.currentTimeMillis() yang berguna untuk
mengambil waktu saat ini dalam satuan milidetik, dihitung sejak 1 Januri 1970
waktu GMT. Satu milidetik sama dengan 1 per 1000 detik. Keluarannya bertipe
long.
Untuk menghitung waktu yang diperlukan untuk menjalankan suatu perintah,
jalankan fungsi System.currentTimeMillis()sebelum dan
sesudah suatu instruksi dijalankan. Perbedaannya adalah waktu yang diperlukan
untuk menjalankan suatu instruksi.
4. Kelas String
Nilai suatu String adalah objek. Objek ini berisi rangkaian huruf
yang membentuk string. Objek tersebut juga berisi subrutin. Misalnya length adalah fungsi yang menghitung panjang suatu
string, atau jumlah karakter dalam suatu string. Misalnya string str yang dideklarasikan sebagai berikut :
String str;
str = "Hari ini cerah sekali!"
Untuk menghitung jumlah
karakter dalam string str, panggil
fungsi str.length() yang keluarannya bertipe int. Fungsi ini tidak membutuhkan
parameter. Fungsi length merupakan anggota
kelas String dan dapat digunakan oleh semua data yang
bertipe String. Dan juga bisa digunakan oleh literal string,
misalnya program berikut menghitung jumlah karakter dalam string
"Indonesia Raya" :
System.out.print("Jumlah
karakter dalam \"Indonesia Raya\"
adalah ");
System.out.print("Indonesia Raya".length());
System.out.println(" karakter");
Kelas String memiliki beberapa fungsi di antaranya :
s1.equals(s2) adalah fungsi
yang mengembalikan nilai boolean (true atau false). Fungsi ini akan menghasilkan true jika s2 sama dengan s1, dan salah jika tidak.
Kesamaan yang diuji adalah kesamaan persis baik kapitalnya maupun urutan
huruf-hurufnya.
s1.equalsIgnoreCase(s2) juga menghasilkan
nilai boolean yang menguji apakah string s2 sama dengan s1 dengan tidakmembandingkan
kapitalnya. "Kucing".equalsIgnoreCase("kucing")
menghasilkan true.
s1.length(). Seperti diulas
sebelumnya, fungsi ini menghitung jumlah karakter dalam string s1.
s1.charAt(N). N adalah integer
(bilangan bulat). Fungsi ini mengembalikan karakter ke-N dari string s1. Karakter
pertama dihitung sebagai posisi ke-0. s1.charAt(0) berarti
mengambil karakter pertama, sedangkan s1.charAt(1) berarti
mengambil karakter ke-2, dan seterusnya. Karakter terakhir memiliki
indeks s1.length() - 1. Fungsi ini akan mengeluarkan
pesan kesalahan apabila N bernilai negatif atau lebih besar dari s1.length() - 1.
s1.substring(N,M), di mana N dan M
bilangan bulat. Fungsi ini mengambil potongan string antara karakter ke-N
hingga karakter M-1. Catatan bahwa karakter ke-M tidak ikut diambil. Misalnya,
"jalan layang".substring(1,4) menghasilkan
"ala".
s1.indexOf(s2) mengembalikan
nilai integer. Fungsi ini mencari string s2 di dalam string s1, dan apabila
ditemukan mengembalikan posisi awal s2 di dalam s1. Jika tidak ditemukan,
fungsi ini akan mengembalikan -1. Fungsi ini bisa juga digunakan untuk mencari
string s2 dalam s1 setelah posisi ke-N dalam string s1. Misalnya, "kelapa muda".indexOf("a")menghasilkan
3, sedangkan "kelapa
muda".indexOf("a",6) menghasilkan 10.
s1.compareTo(s2) membandingkan s2
dan s1. Jika s1 dan s2 sama, hasilnya 0. Jika s1 kurang dari s2, hasilnya
bilangan negatif , dan jika s1 lebih besar dari s2, hasilnya bilangan positif.
"Kurang dari" atau "lebih dari" mengacu pada urutannya dalam
abjad jika keduanya huruf kecil atau keduanya huruf besar. Jika kapitalnya
berbeda, perbandingannya bergantung pada nilai ASCII-nya.
s1.toUpperCase() adalah
fungsi untuk mengubah seluruh huruf dalam s1 menjadi huruf besar.
s1.toLowerCase() berfungsi untuk
mengubah huruf dalam s1 menjadi hurug kecil.
s1.trim() adalah berfungsi
menghapus karakter yang tak bisa dicetak, misalnya spasi, baris baru, enter,
yang ada sebelum atau sesudah suatu kalimat. Misalnya " selamat pagi bu ".trim() menghasilkan
"selamat pagi bu".
Untuk s1.toUpperCase(), s1.toLowerCase(), s1.trim() nilai s1 tidak berubah. Fungsi ini melakukan
perhitungan kemudian mengembalikan string baru hasil perhitungan tersebut.
Kita bisa juga
menggunakan tanda + menyambung 2 string. Misalnya "mata" +
"hari" menjadi "matahari". Nilai yang dapat disambungkan
bukan hanya string dan string, tetapi juga string dan angka, misalnya
"jalan" + 2 menjadi "jalan2".
F. Istilah-istilah Java
1. Pernyataan Switch
Pernyataan Switch satu-satunya jenis pernyataan yang mengimplementasikan
java multiway percabangan. Ketika pernyataan switch dievaluasi, salah satu
jumlah cabang pilihan yang berbeda untuk menjalankan cabang ditentukan dengan
mengendalikan ekspresi yang ditutupi dalam kisaran waktu setelah kata kunci
mengkonfirmasi switch ekspresi harus mengevaluasi ke char, int, pendek, atau
byte. Setiap pernyataan cabang dalam sebuah pernyataan switch diawali dengan
kata cadangan, diikuti oleh sebuah konstanta yang disebut label kasus, diikuti
oleh titik dua, dan kemudian urutan laporan. Setiap kasus harus diberi label dengan jenis kasus yang sama perlu
mengendalikan ekspresi. Label tidak terdaftar atau span interval lengkap. merupakan edisi library
yang dirancang untuk digunakan pada device tertententu seperti pagers dan
mobile phone. J2SE (Java2 Standard Edition) merupakan edisi library yang
dirancang untuk membuat aplikasi desktop atau applet pada web browser. J2EE
(Java2 Enterprise Edition) merupakan edisi librari Java yang dirancang
untuk membuat sebuah aplikasi enterprise yang memerlukan antarmuka dengan
sumber data (data source) atau dapat pula dikatakan bahwa J2EE adalah kelompok
yang lebih besar dengan J2SE di dalamnya.
2. Operator bersyarat
Operator Bersyarat
adalah varian notational dari beberapa bentuk pernyataan istilah. kata lain
disebut juga operator ternary atau aritmetika , contoh
if (n1 > n2) max = n1;
else max = n2;
vs.
max = (n1 > n2) ? n1 : n2;
Ekspresi di sebelah kanan
operator penugasan adalah operator ekspresi dari ekspresi kondisional Boolean. Jika benar, maka ekspresi dievaluasi ke nilai
ungkapan pertama (n1), selain untuk mengevaluasi nilai dari ekspresi kedua (n2)
3. Ekspresi Boolean
Ekspresi Boolean adalah ekspresi
benar atau salah. ekspresi Boolean yang paling sederhana untuk
membandingkan nilai dari dua ekspresi <== myScore yourScore waktu batas. Catatan bahwa Java menggunakan dua tanda sama
dengan (==) untuk pengujian kesetaraan: A sama satu sign (=) digunakan hanya
untuk tugas Ekspresi. Boolean yang ditutupi dalam kurung tersebut
tidak diperlukan, kecuali ia digunakan dalam pernyataan jika
4. Perangkap string
Kesetaraan operator
perbandingan (==) dengan benar dapat menguji dua nilai dari tipe primitive.
Namun ketika diterapkan pada dua benda sebagai obyek uji String kelas (==)
untuk melihat jika mereka disimpan dalam lokasi memori yang sama, bukan apakah
atau tidak mereka memiliki. Untuk sedikit nilai tes yang sama dua tali untuk
melihat apakah mereka memiliki nilai yang sama, menggunakan metode yang serupa
dengan, atau equalsIgnoreCase.
string1.equals(string2)
string1.equalsIgnoreCase(string2)
5. Leksikografis dan
urutan abjad
Leksikografis server sama dengan ASCII server, termasuk huruf, angka, dan
huruf besar lainnya. Semua karakter dalam urutan abjad, dan huruf kecil semua
dalam urutan abjad, tetapi huruf kapital semua datang sebelum huruf kecil. Jika
s1 dan s2 adalah dua variabel jenis String yang telah diberi nilai String,
kemudian s1.compareTo (s2) return angka negatif jika datang sebelum s1 s2 dalam
rangka leksikografis, kembali nol jika kedua string sama, dan kembali angka
positif jika s1 s2. Ketika datang sebelum melakukan perbandingan alfabet dari
string (bukan perbandingan leksikografis), yang terdiri atas campuran huruf
kecil dan huruf besar, gunakan metode tidak compareToIgnoreCase
6. Membuat Ekspresi
Boolean
Ketika dua ekspresi
yang dikombinasikan dengan menggunakan Boolean "dan" (& &)
operator, seluruh ekspresi benar memberikan dua ekspresi benar jika ekspresi
salah. Ketika dua ekspresi yang dikombinasikan dengan menggunakan Boolean
"atau" (| |) operator, yang seluruh ekspresi benar selama satu
ekspresi yang benar dari istilah ini adalah salah hanya jika kedua ekspresi
palsu. Setiap ekspresi Boolean dapat menegasikan menggunakan! Tempat operator
ekspresi dalam tanda kurung dan tempat! Tidak seperti operator di depan notasi
matematika, string dari pertidaksamaan harus bergabung oleh & Gunakan (min
<hasil) & & (hasil <max) daripada min <hasil <maks.
7. Evaluasi Ekspresi
Boolean
Meskipun ekspresi
Boolean yang digunakan untuk mengontrol cabang dan laporan loop, ekspresi
Boolean dapat eksis secara independen atau variable. Boolean dapat diberikan
nilai ekspresi Boolean menggunakan. Boolean Expression tugas laporan dapat
dievaluasi dengan cara yang sama bahwa ekspresi aritmatika dievaluasi.
Satu-satunya perbedaan adalah bahwa ekspresi aritmatika menghasilkan sejumlah
sebagai hasilnya, sementara ekspresi Boolean menghasilkan baik benar atau salah
sebagai akibatnya mereka
boolean madeIt = (time < limit) && (limit < max);
8. Truth Tables , Hubungan singkat dan Evaluasi lengkap
Java dapat mengambil jalan pintas ketika mengevaluasi bagian pertama dari
ekspresi Boolean hasil dari bagian kedua bahwa evaluasi tidak dapat mengubah
disebut sirkuit evaluasi singkat atau evaluasi malas. misalnya, ketika
mengevaluasi dua subexpressions Boolean bergabung oleh & &, jika yang
pertama subexpression mengevaluasi ke false, maka ekspresi akan mengevaluasi
seluruh ke false, tidak peduli nilai subexpression. kedua cara itu, ketika mengevaluasi dua
subexpressions bergabung dengan Boolean | |, jika subexpression pertama
mengevaluasi true, maka ekspresi akan mengevaluasi seluruh menjadi true.
Ada saat-saat ketika menggunakan evaluasi hubung singkat dapat mencegah
kesalahan runtime. contoh berikut, jika jumlah anak-anak adalah
sama dengan nol, maka subexpression kedua tidak akan dievaluasi, sehingga
mencegah membagi dengan nol kesalahan.
Perhatikan bahwa urutan terbalik dari subexpressions tidak akan mencegah
hal ini
if ((kids !=0)
&& ((toys/kids) >=2)) . . .
Kadang-kadang lebih baik untuk selalu mengevaluasi kedua ekspresi, yaitu
permintaan untuk evaluasi yang lengkap. Dalam hal ini, menggunakan & dan |
operator daripada & & dan | |
9. Pendahuluan dan
peraturan Associativity
Boolean dan ekspresi
aritmatika tidak perlu sepenuhnya kurung. Jika beberapa atau semua tanda kurung
dihapus, Java akan mengikuti preseden dan aturan associativity (diringkas dalam
tabel berikut) untuk menentukan urutan operasi.
Jika satu operator
terjadi lebih tinggi dalam tabel dari siapapun lain, memiliki hak yang lebih
tinggi dan dikelompokkan dengan operan sebelum hak operator rendah.
Jika dua operator memiliki hak yang sama, maka aturan associativity untuk
menentukan yang dikelompokkan pertama
10. Mengevaluasi Ekspresi
Secara umum,
kurung dalam ekspresi dapat untuk membantu dokumen programmer. Daripada
mengandalkan aturan protokoler dan associativity, yang terbaik adalah
memasukkan tanda kurung siku, kecuali arti yang diinginkan jelas Binding:
Hubungan dari operan dengan operator mereka. Ekspresi kurung menyelesaikan dan
sepenuhnya mengikat untuk semua operator dalam ekspresi
Side Effects: Bila, selain untuk nilai-nilai, ekspresi mengubah sesuatu,
seperti nilai-nilai dari variable tugas,
meningkatkan dan operator penurunan semua menghasilkan efek samping
11. Aturan Untuk
Mengevaluasi Ekspresi
Tentukan setara.
Sepenuhnya melakukan ekspresi mengikat menggunakan kurung yang benar dan aturan
associativity. Prosiding kiri ke kanan, mengevaluasi apa yang bisa segera
dievaluasi subexpressions. subexpressions
atau metode argumen, misalnya, evaluasi konstan atau variabel numerik untuk setiap operasi
asing dan metode permintaan sesegera semua operator (argumen yaitu) telah
dievaluasi
12. Pengulangan
Loop di Java sama dengan dalam bahasa tingkat tinggi lain. java memiliki
tiga jenis laporan loop: Sementara itu, sementara agenda, dan melaporkan kode
berulang dalam satu lingkaran loop disebut tubuh disebut
tubuh masing-masing loop-loop iterasi putaran
13. Pernyataan While
Sebuah pernyataan yang
sementara digunakan untuk mengulang bagian dari kode tersebut (yaitu, tubuh
loop) berdasarkan evaluasi ekspresi. Ekspresi Boolean Boolean diperiksa sebelum
tubuh loop dijalankan ka
salah, tubuh loop tidak dijalankan sama sekali. Sebelum pelaksanaan setiap loop
iterasi berikut tubuh, ekspresi Boolean diperiksa kembali. Jika itu benar, tubuh loop dijalankan lag, Jika salah, pernyataan itu mengakhiri loop tubuh
loop dapat terdiri dari sebuah pernyataan tunggal, atau pernyataan yang
ditutupi dalam sepasang kurung (())
14. Pernyataan Do- while
Do- while pernyataan
yang digunakan untuk menjalankan beberapa kode (misalnya, tubuh loop), kemudian
ulangi berdasarkan evaluasi ekspresi Boolean dari tubuh loop dieksekusi
sedikitnya satu kali dalam ekspresi. Boolean diperiksa setelah tubuh loop
dijalankan adalah ekspresi Boolean diperiksa setelah setiap iterasi dari tubuhar, tubuh loop dijalankan lagi palsu, pernyataan loop
ujung
Lupa untuk meletakkan titik koma setelah ekspresi Boolean. Sebagai laporan
sementara, tubuh loop dapat terdiri dari pernyataan tunggal, atau pernyataan
yang ditutupi dalam sepasang tanda kurung (())
15. Perancangan Algoritma
Komputer itu bodoh!
Kenapa? Karena sebagai programmer, kita harus memberikan perintah hingga sangat
detail apa yang harus dikerjakan oleh komputer. Programmer adalah orang yang
bertugas untuk menerjemahkan suatu tugas menjadi instruksi detail yang dapat
dimengerti oleh komputer. Komputer hanya melakukan apa yang diperintahkan baris
demi baris, tetapi komputer tidak bisa berfikir bagaimana melakukan suatu tugas
seefisien mungkin.
Untuk itu programmer
baru harus dilengkapi dengan cara berfikir dan peralatan yang memungkinkan
mereka untuk sukses dalam menerjemahkan suatu tugas menjadi rangkaian perintah
yang bisa dimengerti oleh komputer.
Program komputer itu
seperti seni yang memuat suatu ide. Seorang programmer mulai dengan suatu tugas
di kepalanya, misalnya menghitung sisi miring dari segitiga siku-siku. Kemudian
dia akan berfikir tentang apa yang harus dilakukan untuk menyelesaikan tugas
tersebut dalam bahasa manusia. Dalam hal ini misalnya, sisi miring dapat
dihitung dengan mengambil akar kuadrat dari jumlah kuadrat sisi siku-sikunya.
Pemecahan masalah ini kemudian diterjemahkan ke dalam bahasa pemrograman yang
berupa perintah langkah demi langkah bagaimana komputer harus menyelesaikan tugas
tersebut.
Perintah langkah demi
langkah hingga detail ini disebut algoritma. (Secara teknis, algoritma adalah
kumpulan langkah-langkah sederhana yang jelas, tidak membingungkan karena hanya
ada satu cara untuk melakukan langkah sederhana tersebut, dilakukan selama
kurun waktu tertentu. Kita tidak ingin program menghitung selamanya tanpa batas
waktu.)
Program ditulis dalam
bahasa pemgrograman tertentu. Tetapi algoritma ditulis secara umum atau
generic, dalam bahasa manusia, sehingga bisa diimplementasikan menggunakan
bahasa pemrograman apapun. Atau dengan kata lain, algoritma mirip seperti ide
di belakang program yang akan kita tulis. Tetapi ide tersebut harus jelas, dan
memuat langkah demi langkah yang sederhana.
Jadi darimana algoritma
itu datang? Biasanya orang harus membuat algoritma itu. Dengan skill, latihan
dan pengalaman, orang akan lebih mudah membuat suatu algoritma. Di bagian ini
akan dibahas tentang bagaimana membuat suatu algoritma. Jadi bahasa Java akan
kita tinggalkan sementara. Kita akan beralih untuk berfikir secara abstrak.
Misalnya, kita memiliki
suatu tugas di kepala. Salah satu cara untuk menyelesaikan tugas itu adalah
menuliskan penyelesaiannya langkah demi langkah, dan dari sana kita membuat
algoritma untuk menyelesaikan masalah itu. Kemudian dari setiap langkah
tersebut, kita bisa membuat langkah-langkah lain yang lebih detail, sampai kita
bisa menerjemahkan langkah-langkah itu ke dalam bahasa pemrograman. Metode ini
disebut penghalusan bertahap (stepwise refinement), dan sifatnya top-down atau
dari atas ke bawah. Sambil kita menambah detail pada setiap langkah, kita bisa
mulai menuliskan algoritma dalam bentuk pseudocode (kode palsu) yang bentuknya
tidak harus persis atau mengikuti suatu bahasa pemrograman.
Misalnya, kita ambil
contoh untuk menghitung rata-rata dari 5 bilangan. Kita bisa menuliskan
pseudocode dalam bentuk berikut :
ambil input user untuk bilangan pertama
masukkan ke variabel x
ambil input user untuk bilangan kedua
tambahkan variabel x dengan bilangan kedua
ambil input user untuk bilangan ketiga
tambahkan variabel x dengan bilangan ketiga
ambil input user untuk bilangan keempat
tambahkan variabel x dengan bilangan keempat
ambil input user untuk bilangan kelima
tambahkan variabel x dengan bilangan kelima
bagi variabel x dengan 5
tampilkan hasilnya di layar
Algoritma di atas
betul, tetapi terlalu banyak perulangan. Bagaimana jika bilangan yang akan
dirata-ratakan ada 100? Kita bisa udah algoritma di atas dengan pseudocode yang
lebih mudah dimengerti, misalnya
while a kurang dari 5
ambil input user untuk bilangan ke-a
tambahkan nilai x dengan bilangan ke-a
tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Sekarang, ambil input
user bisa dideskripsikan lebih jauh. Kita harus memberikan pertanyaan kepada
user. Dan seperti dipelajari pada bab sebelumnya, input dari user berupa String
yang harus diterjemahkan ke dalam tipe data bilangan untuk bisa dikalkulasi.
Pseudocode di atas dapat ditulis ulang sebagai berikut :
while a kurang dari 5
beri pertanyaan kepada user untuk memasukkan bilangan
ke-a
ambil input user untuk bilangan ke-a
ubah input menjadi bilangan
tambahkan nilai x dengan bilangan ke-a
tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Dan juga dari pelajaran
sebelumnya, untuk mengambil input user, kita bisa dihadapkan pada permasalahan
IO (input output). Selain itu kita juga harus menginisialisasi pembaca dan
tempat meletakkan string sementara. Untuk itu, kita harus mengubah pseudocode
nya menjadi seperti ini
inisialisasi pembaca
inisialisasi tempat string sementara
while a kurang dari 5
beri pertanyaan kepada user untuk memasukkan bilangan
ke-a
"coba" ambil input user untuk bilangan ke-a
jika ada masalah keluar dari
program
ubah input menjadi bilangan
tambahkan nilai x dengan bilangan ke-a
tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Kemudian, perlu
diperhatikan bahwa variabel a dan x tidak diketahui nilai awalnya oleh
komputer. Bayangkan jika nilai a dan x ditentukan oleh komputer secara acak,
bukan saja hasil rata-ratanya menjadi tak tentu, tetapi juga perulangannya
menjadi tak menentu. Untuk itu kita harus tambahkan perintah untuk
menginisialisasi a dan x dengan 0, sehingga pseudocodenya menjadi
inisialisasi x dengan 0
inisialisasi a dengan 0
inisialisasi pembaca
inisialisasi tempat string sementara
while a kurang dari 5
beri pertanyaan kepada user untuk memasukkan bilangan
ke-a
"coba" ambil input user untuk bilangan ke-a
jika ada masalah keluar dari
program
ubah input menjadi bilangan
tambahkan nilai x dengan bilangan ke-a
tambah a dengan 1
bagi variabel x dengan 5
tampilkan di layar
Dari sini kita bisa
menerjemahkan pseudocode tersebut menjadi program Java, yaitu
double x = 0;
int a = 0;
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String strbilangan = null;
while (a < 5) {
System.out.print("Masukkan bilangan ke-" + a +
" : ");
try {
strbilangan = br.readLine();
} catch (IOException ioe) {
System.out.println("Kesalahan IO, program berhenti");
System.exit(1);
}
x = x + Double.parseDouble(strbilangan);
a = a + 1;
}
x = x / 5;
System.out.println("Rata-rata bilangan yang dimasukkan adalah " +
x);
Jangan lupa bahwa
program tersebut membutuhkan paket java.io.*, sehingga kita harus menambah
import java.io.*
16. Pernyataan For
Untuk klaim yang paling
sering digunakan untuk langkah melalui variabel integer tahap yang sama diawali
dengan kata kunci for, diikuti dengan tiga ekspresi dalam kurung yang
menjelaskan apa yang harus dilakukan dengan satu atau lebih variabel untuk
mengontrol ekspresi pertama memberitahu bagaimana variabel kontrol atau
variabel diinisialisasi atau dideklarasikan dan diinisialisasi sebelum iterasi
pertama ekspresi, kedua menentukan waktu loop harus berakhir, berdasarkan
evaluasi ekspresi Boolean sebelum setiap iterasi ekspresi ketiga menceritakan
bagaimana variabel kontrol atau variabel akan diperbarui setelah setiap tubuh
loop iterasi
17. Pernyataan Syntax
For
For (inisialisasi; Boolean_Expression; Update) Badan Pengawas dapat terdiri
dari pernyataan tunggal atau daftar laporan tertutup dalam sepasang tanda
kurung (()). Perhatikan bahwa tiga ekspresi kontrol dipisahkan oleh dua,, bukan
tiga titik koma. Perhatikan bahwa ada tidak ada titik koma setelah kurung tutup
pada awal loop
18. Tanda Koma dari
Pernyataan For
For loop dapat berisi
beberapa inisialisasi tindakan dipisahkan oleh koma Perhatian harus digunakan
ketika menggabungkan sebuah deklarasi dengan beberapa tindakan ini ilegal untuk
menggabungkan beberapa jenis deklarasi dengan beberapa tindakan, seperti untuk
menghindari masalah yang mungkin, yang terbaik adalah untuk menyatakan semua
variabel luar pernyataan for A untuk loop dapat berisi tindakan memperbarui
beberapa, dipisahkan dengan koma juga Hal ini bahkan dimungkinkan untuk
menghilangkan tubuh loop di jalan, namun, untuk loop hanya dapat berisi satu
ekspresi Boolean untuk menguji loop akhir.
G. Aplikasi Java
1. Opera Mini
Aplikasi ini berguna
untuk membuka web di layar ponsel. Aplikasi ini
sangat populer dengan banyak pemakai khususnya Indonesia. Dengan
Opera Mini maka laman web dapat dibuka di layar ponsel dan
dikompres datanya sedemikian rupa sehingga dapat dengan mudah
dibuka karena ringan. Opera Mini dapat diunduh secara gratis tanpa
harus membayar. Dalam hal pendidikan Opera Mini pada prinsipnya sama seperti mozila firefox atau google chrome yang berfungsi mencari informasi apa saja.
sangat populer dengan banyak pemakai khususnya Indonesia. Dengan
Opera Mini maka laman web dapat dibuka di layar ponsel dan
dikompres datanya sedemikian rupa sehingga dapat dengan mudah
dibuka karena ringan. Opera Mini dapat diunduh secara gratis tanpa
harus membayar. Dalam hal pendidikan Opera Mini pada prinsipnya sama seperti mozila firefox atau google chrome yang berfungsi mencari informasi apa saja.
2. Mig33
Aplikasi ini diperuntukkan untuk para penggila chatting di dunia maya.
Dengan Mig33 maka kita akan bertemu dengan banyak kawan baru baik
itu melalui PV (Private Chat) ataupun melalui Room Chat. Mig33 dapat
diperoleh secara gratis dan Indonesia merupakan pengguna terbanyak
Mig33 di dunia.
Dengan Mig33 maka kita akan bertemu dengan banyak kawan baru baik
itu melalui PV (Private Chat) ataupun melalui Room Chat. Mig33 dapat
diperoleh secara gratis dan Indonesia merupakan pengguna terbanyak
Mig33 di dunia.
3. Ebuddy
Selain Mig33 yang handal untuk urusan chatting, ada satu lagi aplikasi
yang patut diunggulkan. Ebuddy adalah aplikasi Java yang support
untuk berbagai akun Instans Massage. Seperti Yahoo Messenger,
Facebook, MSN, Google Talk, dan masih banyak lagi. Aplikasi ini dapat
diperoleh secara gratis.
Selain Mig33 yang handal untuk urusan chatting, ada satu lagi aplikasi
yang patut diunggulkan. Ebuddy adalah aplikasi Java yang support
untuk berbagai akun Instans Massage. Seperti Yahoo Messenger,
Facebook, MSN, Google Talk, dan masih banyak lagi. Aplikasi ini dapat
diperoleh secara gratis.
4. Nimbuzz
Sejatinya, Nimbuzz pada awalnya hanya diperuntukkan bagi pengguna
PC. Namun pada perkembangannya kemudian, Nimbuzz dapat berjalan
di berbagai ponsel. Termasuk ponsel Java. Nimbuzz adalah aplikasi
messenger yang support dengan beberapa akun IM, seperti Yahoo
Messenger, Facebook, Google Talk, Skype, MSN, Jabber, dan masih
banyak lagi. Aplikasi ini dapat diunduh secara gratis.
Sejatinya, Nimbuzz pada awalnya hanya diperuntukkan bagi pengguna
PC. Namun pada perkembangannya kemudian, Nimbuzz dapat berjalan
di berbagai ponsel. Termasuk ponsel Java. Nimbuzz adalah aplikasi
messenger yang support dengan beberapa akun IM, seperti Yahoo
Messenger, Facebook, Google Talk, Skype, MSN, Jabber, dan masih
banyak lagi. Aplikasi ini dapat diunduh secara gratis.
5. Kamus Besar Bahasa
Indonesia Mobile (KBBI)
Aplikasi ini merupakan aplikasi layaknya sebuah kamus bahasa Indonesia.
Perbedaannya, aplikasi ini tidak menjabarkan semua kata dari abjad A sampai Z,
tetapi hanya disuguhkan sebuah kotak pencarian, lalu user menulis kata apa yang
ingin dicari. Aplikasi ini dinilai sangat praktis untuk pembelajaran,
dibandingkan dengan kamus bahasa Indonesia yang cenderung lebih berat untuk
dibawa. Selain itu aplikasi ini juga mudah dicari dan dapat diunduh secara
gratis.
6. PD English-Indonesia
Aplikasi ini juga merupakan aplikasi layaknya sebuah kamus bahasa inggris
Indonesia. Prinsip kerjanya sama dengan KBBI Mobile yakni hanya disediakan
kotak pencarian, lalu user mencari kata yang mau diterjemahkan, dari inggris
Indonesia atau dari Indonesia ke inggris. Aplikasi ini juga mudah dicari dan
dapat diunduh secara gratis.
7. Al-Quran Digital
Al-Quran Digital
merupakan aplikasi Al-Quran yang dibuat untuk mobile, dengan mengedepankan segi
kepraktisan. Aplikasi ini menyuguhkan ayat-ayat Al-Quran sekaligus artinya.
Aplikasi ini juga mudah dicari dan dapat diunduh secara gratis.
H. Macam-macam Game Java
Sebenarnya banyak
sekali game-game mobile yang dibuat oleh java, akan tetapi disini penulis hanya
menjelaskan beberapa game saja, yakni:
1. Sudoku
Game ini merupakan salah satu game java yang sangat sederhana. Akan tetapi
meskipun sederhana game ini cukup susah untuk diselesaikan, karena untuk
menyelesaikan game ini dibutuhkan ketelitian yang luar biasa. Game ini banyak
tersebar di internet dan dapat diunduh secara gratis.
2. Brain Challenge
Game ini merupakan game
asah otak yang mengukur kemampuan otak dalam memcahkan masalah secara cepat.
Game ini layaknya psikotest namun lebih sederhana dan simple. Pertanyaan dan
soal yang disuguhkan berupa logika dan bersifat rasional. Game ini banyak
tersebar di internet dan dapat diunduh secara gratis.
BAB III
PENUTUP
A. Kesimpulan
Kesimpulan
yang dapat ditarik dari pembahasan mengenai java yaitu:
1.
Java dikenal sebagai bahasa pemrograman yang bersifat
strongly, yang berarti diharuskan mendeklarasikan tipe data dari semua variable
yang apabila lupa atau salah dalam mengikuti aturan pendeklarasian variable,
maka akan terjadi error pada saat proses kompilasi.
2.
Sama halnya dengan semua bahasa dapat
dipemrograman, Java juga menyediakan operator-operator aritmatika untuk
memanipulasi data numerik.
3.
Selain operator aritmatika, Java juga mempunyai
operator-operator lain, seperti operator increment dan decrement, operator
assignment (penugasan), operator relasi, operator logical, operator bitwise
(yang terdiri dari and, or, xor, dan complement), dan operator precedence.
B. Saran
Bahasa pemrograman java
merupakan bahasa yang rumit dan cukup susaah untuk dipelajari. Akan tetapi
apabila dapat menguasai maka anda dapat menghasilkan uang banyak. Oleh karena
itu penulis menyarankan pembaca, khususnya pemula untuk belajar sejak dini dan
selalu berlatih.
DAFTAR PUSTAKA
Google. 2009. “Belajar
Java: Kelas Math”. Diunduh pada tanggal 13 Oktober 2013 di http://www.java.lyracc.com/artikel/java-untuk-pemula/kelas-math.
Google. 2009. “Belajar
Java: Kelas Sebagai Kumpulan Subrutin dan Variabel Statik”. Diunduh pada
tanggal 13 Oktober 2013 di http://www.java.lyracc.com/artikel/java-untuk-pemula/kelas-sebagai-kumpulan-subrutin-dan-variabel-statik.
Google. 2009. “Belajar
Java: Kelas Sebagai Tipe Data”. Diunduh pada tanggal 13 Oktober 2013 di http://www.java.lyracc.com/artikel/java-untuk-pemula/kelas-sebagai-tipe-data.
Google. 2009. “Belajar
Java: Kelas String”. Diunduh pada tanggal 13 Oktober 2013 di http://www.java.lyracc.com/artikel/java-untuk-pemula/kelas-string.
Google. 2009. “Belajar
Java: Perancangan Algoritma”. Diunduh pada tanggal 13 Oktober 2013 di http://www.java.lyracc.com/artikel/java-untuk-pemula/perancangan-algoritma.
Google. 2009. “Belajar
Java: String, Objek, dan Subrutin”. Diunduh pada tanggal 13 Oktober 2013 di http://www.java.lyracc.com/belajar/java-untuk-pemula/string-objek-dan-subrutin.
Tidak ada komentar:
Posting Komentar