Welcome to my blog and I will give you the latest knowledge-information-"warning" if you want to copy and paste you have to include my link  
Topics :

Tuesday, April 30, 2013


INILAH RIWAYAT JAVA DAN SAYA SEBAGAI PENULIS POSTINGAN INI AKAN MEMEBERIKAN INFORMASI SELENGKAP-LENGKAPNYA TENTANG JAVA DAN BILA ANDA INGIN COPAS (COPY PASTE) ANDA HARUS MENCANTUMKAN LINK BLOG SAYA KARENA BLOG SAYA INI SUDAH TERLINDUNGI .SEKIAN DARI SAYA 

Muncul Tahun:
1990-an
Perancang:
kuat, statis
Implementasi:
Banyak
Terpengaruh oleh:
Mempengaruhi:
C#, D, J#, PHP

            Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Java juga merupakan sebuah mesin virtual (virtual machine), dan bahkan java sekarang telah menjadi spesifikasi dan implementasi.

Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995.
           
       Sebagai bahasa pemrograman, java lahir untuk memperbaiki segala kekurangan yang dimiliki oleh C++ (pada saat java lahir C++ lagi ngetrend).

Sama halnya dengan C++ maka java juga merupakan bahasa pemrograman yang berorientasi obyek.

Bahkan java banyak mengadopsi C++ terutama sintaknya. Sehingga orang yang sudah menguasai C++ akan mudah berpindah ke java.

Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin atas bawah yang minimal.
           
        Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). JVM (Java Virtual Machine) akan berfungsi seolah-olah seperti procesor yang akan mengeksekusi bytecode hasil kompilasi dari program java.

Dan setiap platform memiliki JVM sendiri-sendiri Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin.

Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, write once run anywhere "Tulis sekali, jalankan di mana pun" Artinya bahwa java adalah lintas platfrom Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

Sejarah perkembangan Java
            Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak.
Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
            Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
            Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
            Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
            Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
            Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
            Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java".
Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).

 

Perkembangan java


            Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan  pada versi selanjutnya:
  • java.lang          : Peruntukan kelas elemen-elemen dasar.
  • java.io              : Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util           : Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas                     penanggalan.
  • java.net            : Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi                                dengan komputer lain menggunakan jaringan TCP/IP.
  • java.awt           : Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  • java.applet       : Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.  

                Sedangkan saat ini java sudah mulai mempunyai fitur - fitur yang menarik diantaranya sebagai berikut :
  • Applet
    Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih interaktif.
  • Java Networking

Sekumpulan API yang menyediakan fungsi untuk aplikasi-aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Address dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alas an sekuriti dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan Protokol ICMP.
  • Java Database Connectivity(JDBC)

Menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle,
MySQL,PostgreSQL,Microsoft SQL Server.
  • Java Security

Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara High Level datau Low Level, seperti public/private key menegement dan certificates.


  • Java Swing

Menyediakan sekumpulan API untuk membangun aplikasi-aplikasi GUI dan model GUI yang diinginkan bisa bermacam-macam.
  • Java RMI

Java RMI menyediakan sekumpulan API untuk membangun aplikasi-aplikasi Java yang mirip dengan model RPC (remote Procedure Call), jadi objek-objek Java bisa di call secara remote di Jaringan Komputer.
  • Java 2D/3D

Merupakan sekumpulan API untuk membangun grafik-grafik 2D/3D yang menarik dan juga akses ke
printer.
  • Java Server Pages (JSP)

Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi-aplikasi CGI. JSP yang mirip ASP dan
PHP merupakan alternatif terbaik untuk solusi aplikasi internet.
  • JNI (Java Native Interface)

Merupakan sekumpulan API yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan Basic.
  • Java Sound

Menyediakan kumpulan API untuk manipulasi Sound.
  • Java IDL + CORBA

Menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia Networking.
  • Java Card

Java Card utamanya dipakai untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada Handphone.
  • JTAPI (Java Telephony API)

Sekumpulan API untuk memanfaatkan devices-devices telephony, sehingga cocok untuk aplikasi-aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution) PCPBX dan lainnya.

Kelebihan Java
  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan.
Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows.
Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya.
Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java.
Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Kekurangan Java
  • Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain.
Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber.
Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data.
Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal).
Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Contoh Kode Program Sederhana Dalam Java
Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello, world!" and then exits
public class HelloWorld {}
   public static void main(String args[]) {}
       System.out.println("Hello, world!")
Tahap Kompilasi Java
  1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
  2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
  3. Muat. Pemuat kelas memuat bytecodes ke memori.
  4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
  5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’
Integrated Development Environment
Banyak pihak telah membuat IDE (Integrated Development Environment - Lingkungan Pengembangan Terintegrasi) untuk Java.
Yang populer saat ini (Juli 2006) antara lain:
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik.[rujukan?]
Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.
JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.
Cara menginstal Java

JDK atau JRE ?
Agar aplikasi yang dibuat dengan java dapat berjalan maka diperlukan JVM. Jika anda hanya
pengguna aplikasi saja (end user) maka anda hanya perlu menginstal JRE (Java Runtime Environtment). Karena JVM sudah berada dalam paket JRE.

Sedangkan bagi anda yang berkeinginan untuk membuat aplikasi dengan java maka anda membutuhkan JDK (Java Development Kit) terpasang di komputer anda. JDK merupakan paket yang di dalamnya terdapat JRE dan ditambah dengan paket-paket lainnya untuk mendevelope java terutama java compiler.

Sampai saat ini, JDK dan JRE tersedia secara gratis dari Sun Microsystem maupun dari vendor lainnya. Jika anda membutuhkan yang GPL anda dapat menggunakan Balckdown.

Download JDK

            Pada tulisan ini JDK yang digunakan adalah keluaran dari Sun Microsystem versi 1.5 update 4 (JDK 5 update 4). Untuk mendownload versi terbaru anda bisa masuk ke http://java.sun.com/j2se/1.5.0/download.jsp. Usahakan memilih JDK yang tidak dibundle dengan Netbeans. Kemudian pilih dan downloadlah JDK yang sesuai dengan platform komputer yang anda gunakan.

Instal Java di Linux

            Untuk instal java di linux maka JDK yang harus di download adalah JDK untuk linux platform. Jika Linux anda suport paket instalasi RPM (Redhat, Mandrake) maka anda bisa langsung mendownload JDK yang pemaketannya dengan rpm.

Linux yang penulis pakai adalah Debian Sarge untuk keluarga x86 sehingga JDK yang penulis download adalah jdk-1_5_0_04-linux-i586.bin (paket instalasi JDK yang general dan dapat dipakai oleh semua distribusi linux). Adapun cara instalasinya adalah sebagai berikut:

Masuk ke console dengan menggunakan program terminal. Masuk seabagai super user (root) lalu copy file JDK ke direktori dimana JDK tersebut akan diinstal (terserah dimana saja asal jangan di direktori /tmp).

Misalkan penulis ingin menginstal java di direktori /usr/lib dan file jdk-1_5_0_04-linux-i586.bin berada di home direktori.

karno@embedded:~$ su
Password:embedded:/home/karno# cp jdk1_5_0_04linuxi586.bin /usr/lib

Masuk ke direktori /usr/lib.
embedded:/home/karno# cd /usr/lib
embedded:/usr/lib# chmod +x jdk1_5_0_04linuxi586.bin
embedded:/usr/lib# ./jdk1_5_0_04linuxi586.bin

            Pada saat instalasi anda akan diminta untuk menyetujui licensi dari java. Tekan tombol Space beberapa kali sampai muncul pertanyaan yang harus anda jawab.

Ketik yes sebagai jawabannya yang berarti juga anda menyetujui semua yang tertulis di dalam licensi tersebut. Kemudian tunggu sampai instalasi selesai.

Dan setelah selesai hapus file jdk-1_5_0_04-linux-i586.bin pada direktori /usr/lib.

embedded:/usr/lib# rm f jdk1_5_0_04linuxi586.bin

            Sampai tahap ini instalasi telah selasai dan anda bisa kembali ke user biasa dengan mengetik perintah exit pada console. Selanjutnya yang perlu dilakukan adalah memasang PATH environtment sehingga semua perintah java bisa diakses dari mana saja.

Caranya adalah sebagai
berikut :
Sebagai user biasa masukan perintah ini di console.

karno@embedded:~$ export JAVA_HOME=/usr/lib/jdk1.5.0_04
karno@embedded:~$ export PATH=${JAVA_HOME}/bin:${PATH}

Kemudian tes perintah java.
karno@embedded:~$ java version
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04b05) Java HotSpot(TM) Client VM (build 1.5.0_04b05,mixed mode, sharing)
           
            Jika muncul pesan seperti di atas berarti anda telah berhasil menginstall java dengan benar. Selanjutnya agar lebih efektif dalam menjalankan semua perintah-perintah java sebaiknya PATH environtment ditulis dalam file bash_profile atau bashrc yang  terletak di dalam direktori home.

Gunakan editor kesayangan anda (vi, nano, jed, dll) untuk mengedit kedua file tersebut. Misalkan anda ingin menulis PATH environtmentya di dalam bash_profile (penulis familiar dengan editor nano) ,

maka:
karno@embedded:~$ nano .bash_profile
Kemudian ketik tulisan di bawah ini dalam bash_profile.

export JAVA_HOME=/usr/lib/jdk1.5.0_04
export PATH=${JAVA_HOME}/bin:${PATH}

Simpan file tersebut, kemudian jalankan perintah di bawah ini.

karno@embedded:~$ . ./.bash_profile

Dan selamat, anda baru saja selesai menginstal java di linux. Sekarang anda sudah dapat
memanfaatkan java di linux kapanpun anda inginkan. Penulis berharap selain distribusi debian, cara instalasi di atas juga dapat dipakai di semua distribusi linux.

Instal Java di Windows XP

            Instalasi java di windows lebih mudah dari pada di linux. Pertama anda harus mendownload JDK untuk windows yaitu jdk-1_5_0_04-windows-i586-p.exe.

Setelah selesai mendownload maka anda tinggal mendouble-click file tersebut, maka java installer akan muncul. Anda hanya mengikuti installer tersebut sampai selesai.

Mudah sekali bukan......
Selanjutnya anda hanya mengecek apakah PATH environment java di windows sudah terpasang atau belum.

Klik StartRun kemudian ketik cmd maka Dos Prompt akan muncul. Ketik java - version pada dos prompt dan lihat responnya.

 Jika respon menampilkan versi dari java, itu berarti PATH telah terpasang. Jika responnya adalah error (error apa saja) maka itu berarti PATH belum terpasang.
           
       Untuk memasang PATH environtment pada windows xp maka yang harus anda lakukan pertama kali adalah klik kanan My ComputerProperties maka akan muncul window system properties.


            Klik Advance Tab kemudian klik tombol Environtment Variables maka akan muncul window environment variables.


            Anda bisa menambah PATH untuk user variable (hanya user anda yang dapat memanfaatkan PATH tersebut) atau juga untuk system variable (semua user dapat memanfaatkan PATH tersebut). Misalkan anda menginginkan hanya anda yang dapat memanfaatkan PATH tersebut maka klik New pada user variable. Ketik PATH pada Variable name dan untuk Variable value diisi dengan direktori lengkap dimana anda menginstal java.

Editor Java
            JDK yang telah diinstal tidak dilengkapi dengan editor untuk menulis program java. Oleh karena itu anda harus mencari editor java sendiri.

Anda dapat memanfaatkan editor-editor bawaan dari operating system.

Di windows anda dapat menggunakan notepad dan di linux anda dapat memanfaatkan vi, nano, jed, dan editor lainnya.

Namun editor-editor tersebut sangat miskin feature untuk menulis program java.
            Saat ini telah hadir editor untuk menulis program java yang jumlahnya sangat banyak sekali. Editor ini telah dilengkapi pula dengan feature yang mendukung program java.

Editor ini ada yang gratis ada pula yang harus bayar.

Beberapa contoh editor yang gratis dan populer dikalangan programer java adalah eclipse, netbeans, jdeveloper, jcreator lite edition dan masih banyak lagi yang lainnya.

Karakteristik Java

         Program Java dijalankan menggunakan interpreter melalui Java Virtual machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
         Fitur-fitur utama yang lain:
            - Mendukung multithreading.
            - Selalu memeriksa tipe obyek pada saat
               runtime.
         Sangat berorientasi obyek (OOP) dengan implementasi yang sangat baik
         Arsitekturnya yang kokoh dan pemrograman yang aman. Dalam Java program yang kita buat tidak mudah untuk “hang” karena konflik pada memori biasanya diselesaikan dengan mengumpulkan obyek-obyek yang sudah tak terpakai lagi secara otomatis oleh garbage collector.

           Penanganan kesalahan juga dipermudah dalam Java dengan konsep Exception

         Sederhana, semudah C dan seampuh C++: berlawanan dengan anggapan orang-orang bahwa bahasa Java sulit untuk dipelajari, Java gampang untuk dipelajari terutama untuk orang yang sudah mengenal pemrograman tapi belum terlalu terikat pada paradigma pemrograman prosedural.

Tentu saja ini berarti bahwa kita harus siap mempelajari salah satu teknologi yang berkembang paling cepat di dunia dalam dua tahun terakhir ini dengan banyak membaca tentunya baik dari buku maupun melalui web.

         Bukan sekedar bahasa tapi juga platform sekaligus arsitektur. Java
         mempunyai portabilitas yang sangat tinggi. Ia dapat berada pada smartcard, pager, POS (Point of Service), handphone, PDA, palm, TV, Embedded device (PLC, micro controller), laptop, pc, dan bahkan server). Menyadari akan hal ini Sun membagi arsitektur Java membagi tiga bagian, yaitu:
         Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan            beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari      Standar Java
         Standard Java (J2SE), ini adalah yang biasa kita kenal sebagai bahasa Java, dan merupakan fokus kita sekarang.
         Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device/mobile device


 Identifier di dalam bahasa pemograman Java

         Identifier adalah nama yang diberikan kepada variabel, method, kelas, paket, dan interface
         Adapun tatacara penamaan identifier:
            1. Case sensitive, huruf kapital dan kecil dibedakan
            2. Identifier yang diberikan oleh pemrogram tidak boleh sama dengan 
                keyword yang ada di Java
            3. Dimulai dengan huruf atau underscore (garis bawah) atau tanda ($).
                Namun sebisa mungkin diawali dengan huruf karena mungkin 
          identifier dengan awalan underscore dan ($) digunakan unruk 
          pemrosesan internal dan file import
            4. Karakter berikutnya dapat berupa huruf atau angka 0 sampai 9.
                Simbol-simbol seperti ‘+’ dan spasi tidak dapat digunakan

Keyword dalam Java

Keyword adalah identifier yang digunakan Java untuk suatu tujuan khusus. Daftar keyword Java adalah sebagai berikut:
abstract       do         implements      private        this
boolean       double     import            protected   throw
break           else       instanceof        public         throws
byte             extends       int              return          transient
case            false       interface         short           true
catch           final            long            static            try
char             finally        native          strictfp         void
class            float            new            super          volatile
continue       for              null             switch          while
default           if           package      synchronized

Tipe data dalam Bahasa pemograman Java
            Tipe data dalam Java dibagi dalam dua kategori yaitu Sederhana (primitif) dan Komposit (referensi).
·         Tipe data sederhana(Primitif)
            Tipe data sederhana merupakan tipe inti. Tipe sederhana tidak diturunkan dari       tipe lain. Terdapat delapan tipe data primitif di Java:
            - Empat tipe adalah untuk bilangan
               bulat (integer) : byte, short, int, long
            - Dua untuk tipe angka pecahan (floating point): 
              float, double
            - Satu untuk tipe karakter, yaitu char
            - Satu untuk tipe boolean yang berisi nilai
              logika: true/false
Tipe Data
Panjang
Rentang Nilai
Contoh Nilai
byte
8 bit
-27 sampai 27 - 1
(-128 sampai 127 )
(256 kemungkinan nilai)
5
-126
short
16 bit
-215 sampai 215  - 1
(-32.768 sampai 32.767)
(65.535 kemungkinan nilai)
9
-23659
int
32 bit
-231 sampai 231  - 1
( -2.147.483.648  sampai 2.147.483.647)
(4.294.967.296 kemungkinan nilai)
2067456397
-1456398567
long
64 bit
-2-63 sampai 263 - 1
( -9.223.372.036.854.775.808 sampai 9.223.372.036.854.775.807)
(18.446.744.073.709.551.616 kemungkinan nilai)
3L
-2147483648L
67L
Integer :    


Floating Point:
            Tipe data floating point merupakan tipe data untuk untuk variabel yang nilai-nilainya adalah bilangan real (dapat mempunyai pecahan desimal).
Tipe Data
Panjang
Contoh Penulisan Nilai yang Diperbolehkan
float
32 bit
 78F
-34736.86F
6.4E4F ( sama dengan 6,4 x 104 )
double
64 bit
 -2356
3.5E7
67564788965.567
Char:
            Tipe data textual merupakan tipe data untuk variabel yang nilai-nilainya adalah karakter tunggal. Tipe data yang merupakan tipe data textual adalah char yang memiliki panjang 16 bit. Nilai variabel char ditulis dengan diberi tanda kutip tunggal ‘...’.

Berikut
contoh penggunaan tipe data char :
            public char alphabet = ‘A’;
            public char ascii = ‘\111’; // jika dicetak, akan menghasilkan
                               // huruf ‘I’;
Logika (Boolean):
            Tipe data logika adalah tipe data yang hanya memiliki 2 kemungkinan nilai, yaitu true atau false. Hanya satu tipe data logika pada teknologi Java, yaitu boolean. Berikut contoh penggunaan tipe data boolean :
            public boolean status = true;
            public boolean check = 10 < 5 ; // nilai check menjadi                                                   // false

·         Tipe data komposit
                        Tipe data komposit merupakan tipe data yang disusun dari tipe data sederhana atau                       tipe komposit lain yang sudah ada. Tipe ini dapat berupa array, string, kelas, dan                       interface. Khusus untuk String pada Java dikenali sebagai kelas, bukan sebagai array                         of character. String pada Java diapit oleh tanda petik ganda (“.....”), contoh:
                         String s=”Saya makan nasi”;

Promosi dan Casting

Promosi adalah proses pengubahan representasi bit variabel
primitif dari representasi bit yang lebih rendah ke
representasi bit yang lebih tinggi.

Promosi dapat terjadi
apabila :
  1. Jika terjadi assigning nilai dari tipe data dengan representasi bit yang lebih kecil ke tipe data dengan representasi bit yang lebih besar, seperti yang diperlihatkan pada contoh berikut ini:
            short a = 12;
             int b = a ;

b. Jika terjadi assigning nilai dari tipe data integral ke tipe data floating-point, seperti yang diperlihatkan pada contoh
            int a = 30;
            float b = a ;

Casting tipe merupakan proses pengubahan representasi bit variabel primitif dari representasi bit yang lebih tinggi ke representasi bit yang lebih rendah.

Sintak dari type casting adalah sebagai berikut :
            identifier = (target_type) value ;
           
            ket:
        identifier = nama variabel yang menjadi tempat penyimpanan nilai;
        target_type­ = tipe data yang diinginkan menjadi tipe data dari value;
        value = nilai yang akan di­-casting.

Berikut contoh casting tipe
int num1 = 34;
int num2 = 45;
short num3 = (short)(num1 + num2 );
System.out.println(num3);

Operator di Java
·         Operator Unary

Arti Operator
Operator
Contoh Pemakaian
Pre-Increment
++operand
int i = 8 ;
int j = ++i;
i bernilai 9, j bernilai 9
Post-Increment
operand++
int i = 8;
int j = i++;
i bernilai 9, j bernilai 8
Pre-Decrement
--operand
int i = 8 ;
int j = --i;
i bernilai 7 , j bernilai 7
Post-Increment
operand--
int i=8;
int j = i--;
i bernilai 7, j bernilai 8





·         Operator Binary
Arti Operator
Operator
Contoh Pemakaian
Keterangan
Penjumlahan
+
sum=num1 + num2
Pengurangan
-
diff=num1 - num2
Perkalian
*
prod=num1 * num2
Pembagian
/
quot=num1 / num2
jika num1 dan num2 adalah integer, pembagian akan menghasilkan nilai integer tanpa mengikutsertakan sisa, jika terdapat sisa.
Sisa
(modulus)
%
mod=num1 % num2
Hasil operasi modulus adalah sisa dari operasi num1 / num2.
Hasil operasi modulus memiliki tanda ( +/- ) yang sama dengan operand pertama

·         Operator Relasi
Condition
Operator
Example
Is equal to
(atau “is the same as”)
==
int i = 1;
System.out.println(i==1);  // (output : true)
Is not equal to
(atau “is not the same as”)
!=
int i = 1;
System.out.println(i!=1);  // (output : false)
Is less than
<
int i = 1;
System.out.println(i<1);  // (output : false)
Is less than or equal to
<=
int i = 1;
System.out.println(i<=1);  //(output : true)
Is greater than
>
int i = 1;
System.out.println(i>1);  //(output : false)
Is greater than or equal to
>=
int i = 1;
System.out.println(i>=1);  // (output : true)

·         Operator Kondisional

Condition
Operator
Example
If one condition AND another condition
&&
int i = 1;
int j = 2;
System.out.println((i<1)&&(j>0));
// (output : false)
If either condition OR another condition
||
int i = 1;
int j = 2;
System.out.println((i<1)||(j>0));
// (output : true)
NOT
!
int i = 1;
System.out.println(!(i<3));
// (output : false)

Array dalam Java
Dalam bagian ini, kita akan mendiskusikan mengenai array dalam Java. Pertama, kita akan mendefinisikan apa yang dimaksud dengan array, kemudian kita juga akan mendefinisikan bagaimana mendeklarasikannya dan menggunakannya dalam Java.

Pada akhir pelajaran, siswa haruslah mampu untuk :
- Mendeklarasikan dan membuat array
- Mengakses elemen-elemen didalam array
- Menentukan jumlah element didalam sebuah array
- Mendeklarasikan dan membuat array multidimensi

Pengenalan Array

            Dibagian sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian      berbagai macam variabel dengan menggunakan tipe data primitif.

Dalam  pendeklarasian variabel, kita sering menggunakan sebuah tipe data beserta   nama                         variabel atau identifier yang unik, dimana untuk menggunakan variabel tersebut, kita           akan memanggil dengan nama identifier-nya.
            Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki        identifier yang berbeda untuk tiap variabel.

int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;

Seperti yang dapat Anda perhatikan pada contoh diatas, hanya untuk menginisialisasi dan menggunakan variabel terutama pada saat variabel-variabel tersebut memiliki tujuan yang sama, dirasa sangat membingungkan.

Di Java maupun di bahasa pemrograman yang lain, mereka memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array.

Gambar 1: Contoh dari Integer Array


Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot.

Bayangkanlah array adalah sebuah variabel – sebuah lokasi memori tertentu yang memiliki satu nama sebagai identifier, akan tetapi ia dapat menyimpan lebih dari sebuah value.
Pendeklarasian Array
Array harus dideklarasikan seperti layaknya sebuah variabel. Apabila Anda mendeklarasikan array, Anda harus membuat sebuah list dari tipe data, yang diikuti oleh tanda kurung buka dan kurung tutup, yang diikuti oleh nama identifier.
Sebagai contoh,
int []ages;
atau Anda dapat menempatkan kurung buka dan kurung tutupnya setelah identifier. Sebagai contoh,
int ages[];

Setelah pendeklarasian, kita harus membuat array dan menentukan berapa panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai instantiation ( Kata dalam Java yang berarti membuat ).

Untuk meng-instantiate sebuah obyek, kita membutuhkan sebuah konstruktor. Kita akan membicarakan lagi mengenai instantiate obyek dan pembuatan konstruktor pada bagian selanjutnya.

Perlu dicatat, bahwa ukuran dari array tidak dapat diubah setelah Anda menginisialisasinya.

Sebagai contoh,
                      //deklarasi
int ages[];
//instantiate obyek
ages = new int[100];

atau bisa juga ditulis dengan,

//deklarasi dan instantiate obyek
int ages[] = new int[100];

Pada contoh diatas, deklarasi akan memberitahukan kepada compiler Java, bahwa identifier ages akan digunakan sebagai nama array yang berisi data-data integer, dan kemudian untuk membuat atau meng-instantiate sebuah array baru yang terdiri dari 100 elemen.

Selain menggunakan sebuah keyword baru untuk meng-instantiate array, Anda juga dapat secara otomatis mendeklarasikan array, membangunnya, kemudian memberikan sebuah value.

Sebagai contoh,
//membuat sebuah array yang berisi variabel-variabel //boolean pada sebuah identifier. Array ini terdiri dari 4 //elemen yang diinisilisasikan sebagai value //{true,false,true,false}
boolean results[] ={ true, false, true, false };
//Membuat sebuah array yang terdiri dari penginisialisasian //4 variabel double bagi value {100,90,80,75}
double []grades = {100, 90, 80, 75};
//Membuat sebuah array String dengan identifier days. Array //ini terdiri dari 7 elemen.
String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};

Pengaksesan sebuah elemen array

            Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array, Anda harus menggunakan sebuah nomor atau yang disebut sebagai index atau subscript.

Sebuah nomor index atau subscript telah diberikan kepada tiap anggota array, sehingga program dan programmer dapat mengakses setiap value apabila dibutuhkan.

Index selalu dalam integer. Dimulai dari nol, kemudian akan terus bertambah sampai list value dari array tersebut berakhir.

Perlu dicatat, bahwa elemen-elemen didalam array dimulai dari 0 sampai dengan (ukuranArray-1). Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,

//memberikan nilai 10 kepada elemen pertama array
ages[0] = 10;
//mencetak elemen array yang terakhir System.out.print(ages[99]);

            Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang disimpan dalam setiap anggota array akan diinisialisasi sebagai nol.

Oleh karena itu, apabila Anda menggunakan tipe data reference seperti String, ia tidak akan diinisalisasi ke string kosong “”, sehingga Anda tetap harus membuat String array secara eksplisit.

Berikut ini adalah contoh, bagaimana untuk mencetak seluruh elemen didalam array.

Dalam contoh ini digunakanlah loop, sehingga kode kita menjadi lebih pendek.

public class ArraySample{
public static void main( String[] args ){
int[] ages = new int[100];
for( int i=0; i<100; i++ ){
System.out.print( ages[i] );
}
}
}

Petunjuk penulisan program:
1. Biasanya, lebih baik menginisialisasi atau meng-instantiate array setelah Anda mendeklarasikannya. Sebagai contoh pendeklarasiannya
int []arr = new int[100];
lebih disarankan daripada,
int []arr;
arr = new int[100];

2. Elemen-elemen dalam n-elemen array memiliki index dari 0 sampai n-1.

Perhatikan disini bahwa tidak ada elemen array arr[n]. Hal ini akan menyebabkan array-index out-of-bounds exception.

3. Anda tidak dapat mengubah ukuran dari sebuah array

Panjang Array

Untuk mengetahui berapa banyak element didalam sebuah array, Anda dapat menggunakan length (panjang) field dalam array.

Panjang field dalam array akan mengembalikan ukuran dari array itu sendiri. Sebagai contoh,

arrayName.length

Pada contoh sebelumnya, kita dapat menuliskannya kembali seperti berikut ini,

public class ArraySample
                       public static void main( String[] args ){ }
                      int[] ages = new int[100];
for( int i=0; i<ages.length; i++ ){ }

System.out.print( ages[i] );

Petunjuk penulisan program:

1.      Pada saat pembuatan loop untuk memproses elemen-elemen dalam array, gunakanlah length field didalam pernyataan pengkondisian dalam loop.

Hal ini akan menyebabkan loop secara otomatis menyesuaikan diri terhada ukuran array yang berbeda-beda.
              
             2.Pendeklarasian ukuran array di Java, biasanya digunakan constant untuk mempermudah. Sebagai contoh,
final int ARRAY_SIZE = 1000; //pendeklarasian constant
. . .
int[] ages = new int[ARRAY_SIZE];

Array Multidimensi
         Array multidimensi diimplementasikan sebagai array didalam array.
Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array.
Sebagai contoh,
// Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu dimensi.

Misalnya saja, untuk mengakses element pertama dari baris pertama didalam array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan mencetak String “terry” di layar

Pengambilan keputusan dalam Java
Konstruksi if
Konstruksi if merupakan bentuk konstruksi pengambilan
keputusan dengan 2 kemungkinan keputusan.

Kemungkinan-
kemungkinan keputusan itu akan dipilih berdasarkan suatu
kondisi yang diperiksa.

Kondisi tersebut merupakan suatu
ekspresi boolean / boolean­­ expression.
Sintaks dasarnya:
if ( boolean_expression ){ }
code block;

Konstruksi if..else..
Konstruksi if / else digunakan sebagai konstruksi
pengambilan keputusan yang memiliki beberapa
kemungkinan keputusan. Sintak dasarnya adalah seperti
berikut :
                        if ( boolean_expression_1 ){ code block 1 }
                      else if ( boolean_expression_2 ){ code block 2 }
                      else{ code block n}
                                   

Konstruksi Switch
Konstruksi switch adalah konstruksi pengambilan keputusan
yang mengevaluasi kemungkinan-kemungkinan nilai dari
variabel yang dievaluasi.

Bentuk umum syntax konstruksi
switch adalah sebagai berikut:
            switch( variabel ) {
                        case  nilai_literal_1 :
                                    code_block_1;
                                    break;
                        case nilai_literal_2 :
                                    code_block_2;
                                    break;
                        .default:
                        code_block_default;
                        break;

Keterangan:
        switch adalah kata kunci yang mengindikasikan dimulainya konstruksi switch;
        variabel adalah variabel yang nilainya akan dievaluasi. variabel hanya dapat bertipe-data char, byte, short, atau int;
        case adalah kata kunci yang mengindikasikan sebuah nilai yang diuji. Kombinasi kata kunci case dan nilai_literal disebut case label;
        nilai_literal_k adalah nilai yang mungkin akan menjadi nilai variabel. nilai_literal_k tidak dapat berupa variabel, ekspresi, atau method, tetapi dapat merupakan konstanta. k = {default, 1,2,...,n };
        break  adalah pernyataan yang sifatnya opsional, yang mengakibatkan aliran program keluar dari blok switch. Jika setelah code_block_k tidak terdapat pernyataan break, maka aliran program akan masuk ke case berikutnya. k = {default, 1,2,3,...,n};
        default adalah kata kunci yang mengindikasikan code_block­_default akan dieksekusi jika semua case yang diuji tidak sesuai dengan nilai variabel .

Perulangan dalam java
While
Konstruksi while adalah konstruksi pengulangan yang jumlah
perulangannya tergantung pada suatu kondisi logika
tertentu.

Bentuk umum konstruksi while adalah sebagai
berikut :
while(boolean_expression){ code_block} //akhir dari konstruksi while

Pada konstruksi while, langkah-langkah proses perulangannya adalah sebagai berikut :
         Sistem memeriksa boolean_expression.
         Jika nilai boolean_expression adalah true, maka code_block akan dieksekusi. Jika tidak, maka code_block tidak dieksekusi.
         Jika di dalam code_block terdapat pernyataan kondisi yang menyebabkan proses harus keluar dari blok while, maka proses akan keluar dari pengulangan, meskipun boolean_expression masih bernilai true.

Konstruksi for
Bentuk umum dari konstruksi loop menggunakan for adalah :

for(initialize[,initialize];boolean_expression; update[,update]){ code_block}


         bagian  inisialisasi, yang berisi pernyataan pemberian nilai awal untuk suatu variabel parameter;
         bagian boolean_expression, yang berisi pernyataan logika yang akan diperiksa, sebagai syarat pengulangan terus dilanjutkan. Pengulangan akan dilanjutkan jika nilai ekspresi boolean pada segmen ini bernilai true.
         bagian update, yang berisi pernyataan updating parameter ketika satu putaran pada pengulangan selesai dieksekusi.
         bagian inisialisasi dapat diisi dengan lebih dari 1 pernyataan inisialisasi;
         bagian boolean_expression hanya dapat diisi oleh 1 pernyataan logika;
         bagian update dapat diisi dengan lebih dari 1 pernyataan update.





JAVA


INILAH RIWAYAT JAVA DAN SAYA SEBAGAI PENULIS POSTINGAN INI AKAN MEMEBERIKAN INFORMASI SELENGKAP-LENGKAPNYA TENTANG JAVA DAN BILA ANDA INGIN COPAS (COPY PASTE) ANDA HARUS MENCANTUMKAN LINK BLOG SAYA KARENA BLOG SAYA INI SUDAH TERLINDUNGI .SEKIAN DARI SAYA 

Muncul Tahun:
1990-an
Perancang:
kuat, statis
Implementasi:
Banyak
Terpengaruh oleh:
Mempengaruhi:
C#, D, J#, PHP

            Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Java juga merupakan sebuah mesin virtual (virtual machine), dan bahkan java sekarang telah menjadi spesifikasi dan implementasi.

Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995.
           
       Sebagai bahasa pemrograman, java lahir untuk memperbaiki segala kekurangan yang dimiliki oleh C++ (pada saat java lahir C++ lagi ngetrend).

Sama halnya dengan C++ maka java juga merupakan bahasa pemrograman yang berorientasi obyek.

Bahkan java banyak mengadopsi C++ terutama sintaknya. Sehingga orang yang sudah menguasai C++ akan mudah berpindah ke java.

Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin atas bawah yang minimal.
           
        Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). JVM (Java Virtual Machine) akan berfungsi seolah-olah seperti procesor yang akan mengeksekusi bytecode hasil kompilasi dari program java.

Dan setiap platform memiliki JVM sendiri-sendiri Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin.

Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, write once run anywhere "Tulis sekali, jalankan di mana pun" Artinya bahwa java adalah lintas platfrom Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

Sejarah perkembangan Java
            Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak.
Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
            Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
            Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
            Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
            Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
            Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
            Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java".
Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).

 

Perkembangan java


            Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan  pada versi selanjutnya:
  • java.lang          : Peruntukan kelas elemen-elemen dasar.
  • java.io              : Peruntukan kelas input dan output, termasuk penggunaan berkas.
  • java.util           : Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas                     penanggalan.
  • java.net            : Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi                                dengan komputer lain menggunakan jaringan TCP/IP.
  • java.awt           : Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  • java.applet       : Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.  

                Sedangkan saat ini java sudah mulai mempunyai fitur - fitur yang menarik diantaranya sebagai berikut :
  • Applet
    Program Java yang dapat berjalan di atas browser, yang dapat membuat halaman HTML lebih interaktif.
  • Java Networking

Sekumpulan API yang menyediakan fungsi untuk aplikasi-aplikasi jaringan, seperti penyediaan akses untuk TCP, UDP, IP Address dan URL. Tetapi Java Networking tidak menyediakan akses untuk ICMP dikarenakan alas an sekuriti dan pada kondisi umum hanya administrator (root) yang bisa memanfaatkan Protokol ICMP.
  • Java Database Connectivity(JDBC)

Menyediakan sekumpulan API yang dapat digunakan untuk mengakses database seperti Oracle,
MySQL,PostgreSQL,Microsoft SQL Server.
  • Java Security

Java Security menyediakan sekumpulan API untuk mengatur security dari aplikasi Java baik secara High Level datau Low Level, seperti public/private key menegement dan certificates.


  • Java Swing

Menyediakan sekumpulan API untuk membangun aplikasi-aplikasi GUI dan model GUI yang diinginkan bisa bermacam-macam.
  • Java RMI

Java RMI menyediakan sekumpulan API untuk membangun aplikasi-aplikasi Java yang mirip dengan model RPC (remote Procedure Call), jadi objek-objek Java bisa di call secara remote di Jaringan Komputer.
  • Java 2D/3D

Merupakan sekumpulan API untuk membangun grafik-grafik 2D/3D yang menarik dan juga akses ke
printer.
  • Java Server Pages (JSP)

Berkembang dari Java Servlet yang digunakan untuk menggantikan aplikasi-aplikasi CGI. JSP yang mirip ASP dan
PHP merupakan alternatif terbaik untuk solusi aplikasi internet.
  • JNI (Java Native Interface)

Merupakan sekumpulan API yang digunakan untuk mengakses fungsi-fungsi pada library (*.dll atau *.so) yang dibuat dengan bahasa pemrograman yang lain seperti C, C++, dan Basic.
  • Java Sound

Menyediakan kumpulan API untuk manipulasi Sound.
  • Java IDL + CORBA

Menyediakan dukungan Java untuk implementasi CORBA (Common Object Request Broker) yang merupakan model distributed-Object untuk solusi aplikasi besar di dunia Networking.
  • Java Card

Java Card utamanya dipakai untuk aplikasi-aplikasi pada smart card, yang sederhana wujudnya seperti SIM Card pada Handphone.
  • JTAPI (Java Telephony API)

Sekumpulan API untuk memanfaatkan devices-devices telephony, sehingga cocok untuk aplikasi-aplikasi CTI (Computer Telephony Integration) yang dibutuhkan seperti ACD (Automatic Call Distribution) PCPBX dan lainnya.

Kelebihan Java
  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan.
Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows.
Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya.
Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java.
Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Kekurangan Java
  • Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain.
Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber.
Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data.
Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal).
Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Contoh Kode Program Sederhana Dalam Java
Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
// Outputs "Hello, world!" and then exits
public class HelloWorld {}
   public static void main(String args[]) {}
       System.out.println("Hello, world!")
Tahap Kompilasi Java
  1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
  2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
  3. Muat. Pemuat kelas memuat bytecodes ke memori.
  4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
  5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak bisa di pakai‘’
Integrated Development Environment
Banyak pihak telah membuat IDE (Integrated Development Environment - Lingkungan Pengembangan Terintegrasi) untuk Java.
Yang populer saat ini (Juli 2006) antara lain:
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik.[rujukan?]
Eclipse dibuat dari kerja sama antara perusahaan-perusahaan anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland. Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya.
JCreator ditulis dalam C/C++ sehingga lebih cepat (dan menggunakan memori lebih sedikit) dari kebanyakan IDE.
Cara menginstal Java

JDK atau JRE ?
Agar aplikasi yang dibuat dengan java dapat berjalan maka diperlukan JVM. Jika anda hanya
pengguna aplikasi saja (end user) maka anda hanya perlu menginstal JRE (Java Runtime Environtment). Karena JVM sudah berada dalam paket JRE.

Sedangkan bagi anda yang berkeinginan untuk membuat aplikasi dengan java maka anda membutuhkan JDK (Java Development Kit) terpasang di komputer anda. JDK merupakan paket yang di dalamnya terdapat JRE dan ditambah dengan paket-paket lainnya untuk mendevelope java terutama java compiler.

Sampai saat ini, JDK dan JRE tersedia secara gratis dari Sun Microsystem maupun dari vendor lainnya. Jika anda membutuhkan yang GPL anda dapat menggunakan Balckdown.

Download JDK

            Pada tulisan ini JDK yang digunakan adalah keluaran dari Sun Microsystem versi 1.5 update 4 (JDK 5 update 4). Untuk mendownload versi terbaru anda bisa masuk ke http://java.sun.com/j2se/1.5.0/download.jsp. Usahakan memilih JDK yang tidak dibundle dengan Netbeans. Kemudian pilih dan downloadlah JDK yang sesuai dengan platform komputer yang anda gunakan.

Instal Java di Linux

            Untuk instal java di linux maka JDK yang harus di download adalah JDK untuk linux platform. Jika Linux anda suport paket instalasi RPM (Redhat, Mandrake) maka anda bisa langsung mendownload JDK yang pemaketannya dengan rpm.

Linux yang penulis pakai adalah Debian Sarge untuk keluarga x86 sehingga JDK yang penulis download adalah jdk-1_5_0_04-linux-i586.bin (paket instalasi JDK yang general dan dapat dipakai oleh semua distribusi linux). Adapun cara instalasinya adalah sebagai berikut:

Masuk ke console dengan menggunakan program terminal. Masuk seabagai super user (root) lalu copy file JDK ke direktori dimana JDK tersebut akan diinstal (terserah dimana saja asal jangan di direktori /tmp).

Misalkan penulis ingin menginstal java di direktori /usr/lib dan file jdk-1_5_0_04-linux-i586.bin berada di home direktori.

karno@embedded:~$ su
Password:embedded:/home/karno# cp jdk1_5_0_04linuxi586.bin /usr/lib

Masuk ke direktori /usr/lib.
embedded:/home/karno# cd /usr/lib
embedded:/usr/lib# chmod +x jdk1_5_0_04linuxi586.bin
embedded:/usr/lib# ./jdk1_5_0_04linuxi586.bin

            Pada saat instalasi anda akan diminta untuk menyetujui licensi dari java. Tekan tombol Space beberapa kali sampai muncul pertanyaan yang harus anda jawab.

Ketik yes sebagai jawabannya yang berarti juga anda menyetujui semua yang tertulis di dalam licensi tersebut. Kemudian tunggu sampai instalasi selesai.

Dan setelah selesai hapus file jdk-1_5_0_04-linux-i586.bin pada direktori /usr/lib.

embedded:/usr/lib# rm f jdk1_5_0_04linuxi586.bin

            Sampai tahap ini instalasi telah selasai dan anda bisa kembali ke user biasa dengan mengetik perintah exit pada console. Selanjutnya yang perlu dilakukan adalah memasang PATH environtment sehingga semua perintah java bisa diakses dari mana saja.

Caranya adalah sebagai
berikut :
Sebagai user biasa masukan perintah ini di console.

karno@embedded:~$ export JAVA_HOME=/usr/lib/jdk1.5.0_04
karno@embedded:~$ export PATH=${JAVA_HOME}/bin:${PATH}

Kemudian tes perintah java.
karno@embedded:~$ java version
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04b05) Java HotSpot(TM) Client VM (build 1.5.0_04b05,mixed mode, sharing)
           
            Jika muncul pesan seperti di atas berarti anda telah berhasil menginstall java dengan benar. Selanjutnya agar lebih efektif dalam menjalankan semua perintah-perintah java sebaiknya PATH environtment ditulis dalam file bash_profile atau bashrc yang  terletak di dalam direktori home.

Gunakan editor kesayangan anda (vi, nano, jed, dll) untuk mengedit kedua file tersebut. Misalkan anda ingin menulis PATH environtmentya di dalam bash_profile (penulis familiar dengan editor nano) ,

maka:
karno@embedded:~$ nano .bash_profile
Kemudian ketik tulisan di bawah ini dalam bash_profile.

export JAVA_HOME=/usr/lib/jdk1.5.0_04
export PATH=${JAVA_HOME}/bin:${PATH}

Simpan file tersebut, kemudian jalankan perintah di bawah ini.

karno@embedded:~$ . ./.bash_profile

Dan selamat, anda baru saja selesai menginstal java di linux. Sekarang anda sudah dapat
memanfaatkan java di linux kapanpun anda inginkan. Penulis berharap selain distribusi debian, cara instalasi di atas juga dapat dipakai di semua distribusi linux.

Instal Java di Windows XP

            Instalasi java di windows lebih mudah dari pada di linux. Pertama anda harus mendownload JDK untuk windows yaitu jdk-1_5_0_04-windows-i586-p.exe.

Setelah selesai mendownload maka anda tinggal mendouble-click file tersebut, maka java installer akan muncul. Anda hanya mengikuti installer tersebut sampai selesai.

Mudah sekali bukan......
Selanjutnya anda hanya mengecek apakah PATH environment java di windows sudah terpasang atau belum.

Klik StartRun kemudian ketik cmd maka Dos Prompt akan muncul. Ketik java - version pada dos prompt dan lihat responnya.

 Jika respon menampilkan versi dari java, itu berarti PATH telah terpasang. Jika responnya adalah error (error apa saja) maka itu berarti PATH belum terpasang.
           
       Untuk memasang PATH environtment pada windows xp maka yang harus anda lakukan pertama kali adalah klik kanan My ComputerProperties maka akan muncul window system properties.


            Klik Advance Tab kemudian klik tombol Environtment Variables maka akan muncul window environment variables.


            Anda bisa menambah PATH untuk user variable (hanya user anda yang dapat memanfaatkan PATH tersebut) atau juga untuk system variable (semua user dapat memanfaatkan PATH tersebut). Misalkan anda menginginkan hanya anda yang dapat memanfaatkan PATH tersebut maka klik New pada user variable. Ketik PATH pada Variable name dan untuk Variable value diisi dengan direktori lengkap dimana anda menginstal java.

Editor Java
            JDK yang telah diinstal tidak dilengkapi dengan editor untuk menulis program java. Oleh karena itu anda harus mencari editor java sendiri.

Anda dapat memanfaatkan editor-editor bawaan dari operating system.

Di windows anda dapat menggunakan notepad dan di linux anda dapat memanfaatkan vi, nano, jed, dan editor lainnya.

Namun editor-editor tersebut sangat miskin feature untuk menulis program java.
            Saat ini telah hadir editor untuk menulis program java yang jumlahnya sangat banyak sekali. Editor ini telah dilengkapi pula dengan feature yang mendukung program java.

Editor ini ada yang gratis ada pula yang harus bayar.

Beberapa contoh editor yang gratis dan populer dikalangan programer java adalah eclipse, netbeans, jdeveloper, jcreator lite edition dan masih banyak lagi yang lainnya.

Karakteristik Java

         Program Java dijalankan menggunakan interpreter melalui Java Virtual machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
         Fitur-fitur utama yang lain:
            - Mendukung multithreading.
            - Selalu memeriksa tipe obyek pada saat
               runtime.
         Sangat berorientasi obyek (OOP) dengan implementasi yang sangat baik
         Arsitekturnya yang kokoh dan pemrograman yang aman. Dalam Java program yang kita buat tidak mudah untuk “hang” karena konflik pada memori biasanya diselesaikan dengan mengumpulkan obyek-obyek yang sudah tak terpakai lagi secara otomatis oleh garbage collector.

           Penanganan kesalahan juga dipermudah dalam Java dengan konsep Exception

         Sederhana, semudah C dan seampuh C++: berlawanan dengan anggapan orang-orang bahwa bahasa Java sulit untuk dipelajari, Java gampang untuk dipelajari terutama untuk orang yang sudah mengenal pemrograman tapi belum terlalu terikat pada paradigma pemrograman prosedural.

Tentu saja ini berarti bahwa kita harus siap mempelajari salah satu teknologi yang berkembang paling cepat di dunia dalam dua tahun terakhir ini dengan banyak membaca tentunya baik dari buku maupun melalui web.

         Bukan sekedar bahasa tapi juga platform sekaligus arsitektur. Java
         mempunyai portabilitas yang sangat tinggi. Ia dapat berada pada smartcard, pager, POS (Point of Service), handphone, PDA, palm, TV, Embedded device (PLC, micro controller), laptop, pc, dan bahkan server). Menyadari akan hal ini Sun membagi arsitektur Java membagi tiga bagian, yaitu:
         Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan            beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari      Standar Java
         Standard Java (J2SE), ini adalah yang biasa kita kenal sebagai bahasa Java, dan merupakan fokus kita sekarang.
         Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya yang banyak dipakai adalah untuk wireless device/mobile device


 Identifier di dalam bahasa pemograman Java

         Identifier adalah nama yang diberikan kepada variabel, method, kelas, paket, dan interface
         Adapun tatacara penamaan identifier:
            1. Case sensitive, huruf kapital dan kecil dibedakan
            2. Identifier yang diberikan oleh pemrogram tidak boleh sama dengan 
                keyword yang ada di Java
            3. Dimulai dengan huruf atau underscore (garis bawah) atau tanda ($).
                Namun sebisa mungkin diawali dengan huruf karena mungkin 
          identifier dengan awalan underscore dan ($) digunakan unruk 
          pemrosesan internal dan file import
            4. Karakter berikutnya dapat berupa huruf atau angka 0 sampai 9.
                Simbol-simbol seperti ‘+’ dan spasi tidak dapat digunakan

Keyword dalam Java

Keyword adalah identifier yang digunakan Java untuk suatu tujuan khusus. Daftar keyword Java adalah sebagai berikut:
abstract       do         implements      private        this
boolean       double     import            protected   throw
break           else       instanceof        public         throws
byte             extends       int              return          transient
case            false       interface         short           true
catch           final            long            static            try
char             finally        native          strictfp         void
class            float            new            super          volatile
continue       for              null             switch          while
default           if           package      synchronized

Tipe data dalam Bahasa pemograman Java
            Tipe data dalam Java dibagi dalam dua kategori yaitu Sederhana (primitif) dan Komposit (referensi).
·         Tipe data sederhana(Primitif)
            Tipe data sederhana merupakan tipe inti. Tipe sederhana tidak diturunkan dari       tipe lain. Terdapat delapan tipe data primitif di Java:
            - Empat tipe adalah untuk bilangan
               bulat (integer) : byte, short, int, long
            - Dua untuk tipe angka pecahan (floating point): 
              float, double
            - Satu untuk tipe karakter, yaitu char
            - Satu untuk tipe boolean yang berisi nilai
              logika: true/false
Tipe Data
Panjang
Rentang Nilai
Contoh Nilai
byte
8 bit
-27 sampai 27 - 1
(-128 sampai 127 )
(256 kemungkinan nilai)
5
-126
short
16 bit
-215 sampai 215  - 1
(-32.768 sampai 32.767)
(65.535 kemungkinan nilai)
9
-23659
int
32 bit
-231 sampai 231  - 1
( -2.147.483.648  sampai 2.147.483.647)
(4.294.967.296 kemungkinan nilai)
2067456397
-1456398567
long
64 bit
-2-63 sampai 263 - 1
( -9.223.372.036.854.775.808 sampai 9.223.372.036.854.775.807)
(18.446.744.073.709.551.616 kemungkinan nilai)
3L
-2147483648L
67L
Integer :    


Floating Point:
            Tipe data floating point merupakan tipe data untuk untuk variabel yang nilai-nilainya adalah bilangan real (dapat mempunyai pecahan desimal).
Tipe Data
Panjang
Contoh Penulisan Nilai yang Diperbolehkan
float
32 bit
 78F
-34736.86F
6.4E4F ( sama dengan 6,4 x 104 )
double
64 bit
 -2356
3.5E7
67564788965.567
Char:
            Tipe data textual merupakan tipe data untuk variabel yang nilai-nilainya adalah karakter tunggal. Tipe data yang merupakan tipe data textual adalah char yang memiliki panjang 16 bit. Nilai variabel char ditulis dengan diberi tanda kutip tunggal ‘...’.

Berikut
contoh penggunaan tipe data char :
            public char alphabet = ‘A’;
            public char ascii = ‘\111’; // jika dicetak, akan menghasilkan
                               // huruf ‘I’;
Logika (Boolean):
            Tipe data logika adalah tipe data yang hanya memiliki 2 kemungkinan nilai, yaitu true atau false. Hanya satu tipe data logika pada teknologi Java, yaitu boolean. Berikut contoh penggunaan tipe data boolean :
            public boolean status = true;
            public boolean check = 10 < 5 ; // nilai check menjadi                                                   // false

·         Tipe data komposit
                        Tipe data komposit merupakan tipe data yang disusun dari tipe data sederhana atau                       tipe komposit lain yang sudah ada. Tipe ini dapat berupa array, string, kelas, dan                       interface. Khusus untuk String pada Java dikenali sebagai kelas, bukan sebagai array                         of character. String pada Java diapit oleh tanda petik ganda (“.....”), contoh:
                         String s=”Saya makan nasi”;

Promosi dan Casting

Promosi adalah proses pengubahan representasi bit variabel
primitif dari representasi bit yang lebih rendah ke
representasi bit yang lebih tinggi.

Promosi dapat terjadi
apabila :
  1. Jika terjadi assigning nilai dari tipe data dengan representasi bit yang lebih kecil ke tipe data dengan representasi bit yang lebih besar, seperti yang diperlihatkan pada contoh berikut ini:
            short a = 12;
             int b = a ;

b. Jika terjadi assigning nilai dari tipe data integral ke tipe data floating-point, seperti yang diperlihatkan pada contoh
            int a = 30;
            float b = a ;

Casting tipe merupakan proses pengubahan representasi bit variabel primitif dari representasi bit yang lebih tinggi ke representasi bit yang lebih rendah.

Sintak dari type casting adalah sebagai berikut :
            identifier = (target_type) value ;
           
            ket:
        identifier = nama variabel yang menjadi tempat penyimpanan nilai;
        target_type­ = tipe data yang diinginkan menjadi tipe data dari value;
        value = nilai yang akan di­-casting.

Berikut contoh casting tipe
int num1 = 34;
int num2 = 45;
short num3 = (short)(num1 + num2 );
System.out.println(num3);

Operator di Java
·         Operator Unary

Arti Operator
Operator
Contoh Pemakaian
Pre-Increment
++operand
int i = 8 ;
int j = ++i;
i bernilai 9, j bernilai 9
Post-Increment
operand++
int i = 8;
int j = i++;
i bernilai 9, j bernilai 8
Pre-Decrement
--operand
int i = 8 ;
int j = --i;
i bernilai 7 , j bernilai 7
Post-Increment
operand--
int i=8;
int j = i--;
i bernilai 7, j bernilai 8





·         Operator Binary
Arti Operator
Operator
Contoh Pemakaian
Keterangan
Penjumlahan
+
sum=num1 + num2
Pengurangan
-
diff=num1 - num2
Perkalian
*
prod=num1 * num2
Pembagian
/
quot=num1 / num2
jika num1 dan num2 adalah integer, pembagian akan menghasilkan nilai integer tanpa mengikutsertakan sisa, jika terdapat sisa.
Sisa
(modulus)
%
mod=num1 % num2
Hasil operasi modulus adalah sisa dari operasi num1 / num2.
Hasil operasi modulus memiliki tanda ( +/- ) yang sama dengan operand pertama

·         Operator Relasi
Condition
Operator
Example
Is equal to
(atau “is the same as”)
==
int i = 1;
System.out.println(i==1);  // (output : true)
Is not equal to
(atau “is not the same as”)
!=
int i = 1;
System.out.println(i!=1);  // (output : false)
Is less than
<
int i = 1;
System.out.println(i<1);  // (output : false)
Is less than or equal to
<=
int i = 1;
System.out.println(i<=1);  //(output : true)
Is greater than
>
int i = 1;
System.out.println(i>1);  //(output : false)
Is greater than or equal to
>=
int i = 1;
System.out.println(i>=1);  // (output : true)

·         Operator Kondisional

Condition
Operator
Example
If one condition AND another condition
&&
int i = 1;
int j = 2;
System.out.println((i<1)&&(j>0));
// (output : false)
If either condition OR another condition
||
int i = 1;
int j = 2;
System.out.println((i<1)||(j>0));
// (output : true)
NOT
!
int i = 1;
System.out.println(!(i<3));
// (output : false)

Array dalam Java
Dalam bagian ini, kita akan mendiskusikan mengenai array dalam Java. Pertama, kita akan mendefinisikan apa yang dimaksud dengan array, kemudian kita juga akan mendefinisikan bagaimana mendeklarasikannya dan menggunakannya dalam Java.

Pada akhir pelajaran, siswa haruslah mampu untuk :
- Mendeklarasikan dan membuat array
- Mengakses elemen-elemen didalam array
- Menentukan jumlah element didalam sebuah array
- Mendeklarasikan dan membuat array multidimensi

Pengenalan Array

            Dibagian sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian      berbagai macam variabel dengan menggunakan tipe data primitif.

Dalam  pendeklarasian variabel, kita sering menggunakan sebuah tipe data beserta   nama                         variabel atau identifier yang unik, dimana untuk menggunakan variabel tersebut, kita           akan memanggil dengan nama identifier-nya.
            Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki        identifier yang berbeda untuk tiap variabel.

int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;

Seperti yang dapat Anda perhatikan pada contoh diatas, hanya untuk menginisialisasi dan menggunakan variabel terutama pada saat variabel-variabel tersebut memiliki tujuan yang sama, dirasa sangat membingungkan.

Di Java maupun di bahasa pemrograman yang lain, mereka memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array.

Gambar 1: Contoh dari Integer Array


Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot.

Bayangkanlah array adalah sebuah variabel – sebuah lokasi memori tertentu yang memiliki satu nama sebagai identifier, akan tetapi ia dapat menyimpan lebih dari sebuah value.
Pendeklarasian Array
Array harus dideklarasikan seperti layaknya sebuah variabel. Apabila Anda mendeklarasikan array, Anda harus membuat sebuah list dari tipe data, yang diikuti oleh tanda kurung buka dan kurung tutup, yang diikuti oleh nama identifier.
Sebagai contoh,
int []ages;
atau Anda dapat menempatkan kurung buka dan kurung tutupnya setelah identifier. Sebagai contoh,
int ages[];

Setelah pendeklarasian, kita harus membuat array dan menentukan berapa panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai instantiation ( Kata dalam Java yang berarti membuat ).

Untuk meng-instantiate sebuah obyek, kita membutuhkan sebuah konstruktor. Kita akan membicarakan lagi mengenai instantiate obyek dan pembuatan konstruktor pada bagian selanjutnya.

Perlu dicatat, bahwa ukuran dari array tidak dapat diubah setelah Anda menginisialisasinya.

Sebagai contoh,
                      //deklarasi
int ages[];
//instantiate obyek
ages = new int[100];

atau bisa juga ditulis dengan,

//deklarasi dan instantiate obyek
int ages[] = new int[100];

Pada contoh diatas, deklarasi akan memberitahukan kepada compiler Java, bahwa identifier ages akan digunakan sebagai nama array yang berisi data-data integer, dan kemudian untuk membuat atau meng-instantiate sebuah array baru yang terdiri dari 100 elemen.

Selain menggunakan sebuah keyword baru untuk meng-instantiate array, Anda juga dapat secara otomatis mendeklarasikan array, membangunnya, kemudian memberikan sebuah value.

Sebagai contoh,
//membuat sebuah array yang berisi variabel-variabel //boolean pada sebuah identifier. Array ini terdiri dari 4 //elemen yang diinisilisasikan sebagai value //{true,false,true,false}
boolean results[] ={ true, false, true, false };
//Membuat sebuah array yang terdiri dari penginisialisasian //4 variabel double bagi value {100,90,80,75}
double []grades = {100, 90, 80, 75};
//Membuat sebuah array String dengan identifier days. Array //ini terdiri dari 7 elemen.
String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};

Pengaksesan sebuah elemen array

            Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array, Anda harus menggunakan sebuah nomor atau yang disebut sebagai index atau subscript.

Sebuah nomor index atau subscript telah diberikan kepada tiap anggota array, sehingga program dan programmer dapat mengakses setiap value apabila dibutuhkan.

Index selalu dalam integer. Dimulai dari nol, kemudian akan terus bertambah sampai list value dari array tersebut berakhir.

Perlu dicatat, bahwa elemen-elemen didalam array dimulai dari 0 sampai dengan (ukuranArray-1). Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,

//memberikan nilai 10 kepada elemen pertama array
ages[0] = 10;
//mencetak elemen array yang terakhir System.out.print(ages[99]);

            Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang disimpan dalam setiap anggota array akan diinisialisasi sebagai nol.

Oleh karena itu, apabila Anda menggunakan tipe data reference seperti String, ia tidak akan diinisalisasi ke string kosong “”, sehingga Anda tetap harus membuat String array secara eksplisit.

Berikut ini adalah contoh, bagaimana untuk mencetak seluruh elemen didalam array.

Dalam contoh ini digunakanlah loop, sehingga kode kita menjadi lebih pendek.

public class ArraySample{
public static void main( String[] args ){
int[] ages = new int[100];
for( int i=0; i<100; i++ ){
System.out.print( ages[i] );
}
}
}

Petunjuk penulisan program:
1. Biasanya, lebih baik menginisialisasi atau meng-instantiate array setelah Anda mendeklarasikannya. Sebagai contoh pendeklarasiannya
int []arr = new int[100];
lebih disarankan daripada,
int []arr;
arr = new int[100];

2. Elemen-elemen dalam n-elemen array memiliki index dari 0 sampai n-1.

Perhatikan disini bahwa tidak ada elemen array arr[n]. Hal ini akan menyebabkan array-index out-of-bounds exception.

3. Anda tidak dapat mengubah ukuran dari sebuah array

Panjang Array

Untuk mengetahui berapa banyak element didalam sebuah array, Anda dapat menggunakan length (panjang) field dalam array.

Panjang field dalam array akan mengembalikan ukuran dari array itu sendiri. Sebagai contoh,

arrayName.length

Pada contoh sebelumnya, kita dapat menuliskannya kembali seperti berikut ini,

public class ArraySample
                       public static void main( String[] args ){ }
                      int[] ages = new int[100];
for( int i=0; i<ages.length; i++ ){ }

System.out.print( ages[i] );

Petunjuk penulisan program:

1.      Pada saat pembuatan loop untuk memproses elemen-elemen dalam array, gunakanlah length field didalam pernyataan pengkondisian dalam loop.

Hal ini akan menyebabkan loop secara otomatis menyesuaikan diri terhada ukuran array yang berbeda-beda.
              
             2.Pendeklarasian ukuran array di Java, biasanya digunakan constant untuk mempermudah. Sebagai contoh,
final int ARRAY_SIZE = 1000; //pendeklarasian constant
. . .
int[] ages = new int[ARRAY_SIZE];

Array Multidimensi
         Array multidimensi diimplementasikan sebagai array didalam array.
Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array.
Sebagai contoh,
// Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu dimensi.

Misalnya saja, untuk mengakses element pertama dari baris pertama didalam array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan mencetak String “terry” di layar

Pengambilan keputusan dalam Java
Konstruksi if
Konstruksi if merupakan bentuk konstruksi pengambilan
keputusan dengan 2 kemungkinan keputusan.

Kemungkinan-
kemungkinan keputusan itu akan dipilih berdasarkan suatu
kondisi yang diperiksa.

Kondisi tersebut merupakan suatu
ekspresi boolean / boolean­­ expression.
Sintaks dasarnya:
if ( boolean_expression ){ }
code block;

Konstruksi if..else..
Konstruksi if / else digunakan sebagai konstruksi
pengambilan keputusan yang memiliki beberapa
kemungkinan keputusan. Sintak dasarnya adalah seperti
berikut :
                        if ( boolean_expression_1 ){ code block 1 }
                      else if ( boolean_expression_2 ){ code block 2 }
                      else{ code block n}
                                   

Konstruksi Switch
Konstruksi switch adalah konstruksi pengambilan keputusan
yang mengevaluasi kemungkinan-kemungkinan nilai dari
variabel yang dievaluasi.

Bentuk umum syntax konstruksi
switch adalah sebagai berikut:
            switch( variabel ) {
                        case  nilai_literal_1 :
                                    code_block_1;
                                    break;
                        case nilai_literal_2 :
                                    code_block_2;
                                    break;
                        .default:
                        code_block_default;
                        break;

Keterangan:
        switch adalah kata kunci yang mengindikasikan dimulainya konstruksi switch;
        variabel adalah variabel yang nilainya akan dievaluasi. variabel hanya dapat bertipe-data char, byte, short, atau int;
        case adalah kata kunci yang mengindikasikan sebuah nilai yang diuji. Kombinasi kata kunci case dan nilai_literal disebut case label;
        nilai_literal_k adalah nilai yang mungkin akan menjadi nilai variabel. nilai_literal_k tidak dapat berupa variabel, ekspresi, atau method, tetapi dapat merupakan konstanta. k = {default, 1,2,...,n };
        break  adalah pernyataan yang sifatnya opsional, yang mengakibatkan aliran program keluar dari blok switch. Jika setelah code_block_k tidak terdapat pernyataan break, maka aliran program akan masuk ke case berikutnya. k = {default, 1,2,3,...,n};
        default adalah kata kunci yang mengindikasikan code_block­_default akan dieksekusi jika semua case yang diuji tidak sesuai dengan nilai variabel .

Perulangan dalam java
While
Konstruksi while adalah konstruksi pengulangan yang jumlah
perulangannya tergantung pada suatu kondisi logika
tertentu.

Bentuk umum konstruksi while adalah sebagai
berikut :
while(boolean_expression){ code_block} //akhir dari konstruksi while

Pada konstruksi while, langkah-langkah proses perulangannya adalah sebagai berikut :
         Sistem memeriksa boolean_expression.
         Jika nilai boolean_expression adalah true, maka code_block akan dieksekusi. Jika tidak, maka code_block tidak dieksekusi.
         Jika di dalam code_block terdapat pernyataan kondisi yang menyebabkan proses harus keluar dari blok while, maka proses akan keluar dari pengulangan, meskipun boolean_expression masih bernilai true.

Konstruksi for
Bentuk umum dari konstruksi loop menggunakan for adalah :

for(initialize[,initialize];boolean_expression; update[,update]){ code_block}


         bagian  inisialisasi, yang berisi pernyataan pemberian nilai awal untuk suatu variabel parameter;
         bagian boolean_expression, yang berisi pernyataan logika yang akan diperiksa, sebagai syarat pengulangan terus dilanjutkan. Pengulangan akan dilanjutkan jika nilai ekspresi boolean pada segmen ini bernilai true.
         bagian update, yang berisi pernyataan updating parameter ketika satu putaran pada pengulangan selesai dieksekusi.
         bagian inisialisasi dapat diisi dengan lebih dari 1 pernyataan inisialisasi;
         bagian boolean_expression hanya dapat diisi oleh 1 pernyataan logika;
         bagian update dapat diisi dengan lebih dari 1 pernyataan update.





This entry was posted in :

Categories

Blog Archive

Translate