Selasa, 15 November 2016

MAKALAH “ JAVA”



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 (browserMosaic 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 sebuahcompilerdebuger, 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 HelloWorldhelloworldHELLOWORLD, 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: 
classpublicstatic,ifelsewhile, 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 PrintStreamPrintStream 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.
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.
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.
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.
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.

Google. 1990. “ Java Wikipedia dan Ensiklopedia Bebas”. Diunduh di http://www.wikipedia.com/java.

Tidak ada komentar:

Posting Komentar