Dasar-Dasar Bahasa Pemrograman Java


(DEVELOPMET TUTORIAL)


BAB I
PENDAHULUAN
  1. Latar Belakang
Memasuki era milenium seperti saat ini perkembangan dalam berbagai aspek kehidupan manusia setiap harinya semakin pesat saja. Dimulai dari aspek sosial, budaya, pendidikan, ekonomi, politik, dan teknologi. Perkembangan dalam berbagai aspek kehidupan manusia tersebut menimbulkan perubahan dalam mekanisme setiap aspeknya. Di sisi lain, perubahan dalam mekanisme suatu aspek yang satu ikut mempengaruhi mekanisme aspek yang lain. Hal tersebut dikarenakan adanya saling keterkaitan antara aspek yang satu dengan aspek yang lain. Sebagai salah satu contohnya yaitu terjadi pada aspek teknologi dan aspek pendidikan.
Aspek teknologi mengalami perkembangan yang sangat pesat. Perkembangan dalam aspek teknologi tersebut ikut mempengaruhi perkembangan dalam aspek pendidikan karena saat ini telah banyak hasil produk aspek teknologi yang digunakan dalam aspek pendidikan. Salah satu contoh hasil produk teknologi yang digunakan dalam aspek pendidikan yaitu sebagai media pembelajaran dan sebagai bidang kajian. Adapun salah satu aspek teknologi yang perkembangannya cukup pesat dan juga turut memberikan andil dalam aspek pendidikan adalah teknologi komputer. Perkembangan dalam dunia komputer terbilang cukup cepat mengingat hampir setiap saat bermunculan berbagai macam program-program aplikasi baru.
Diantara banyaknya kehadiran program aplikasi baru tersebut, munculah bahasa pemrograman Java. Java merupakan sebuah bahasa pemrograman berorientasi objek (OOP) yaitu cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Perkembangan Java terbilang cukup pesat semenjak penggunaannya sebagai bahasa standar di dunia internet yang dimulai pada tahun 1995. Perkembangan Java semakin hari akan semakin meningkat lagi mengingat pemakaiannya yang semakin marak di kalangan para pengguna internet.
Oleh karena itu, makalah ini dibuat untuk menjelaskan mengenai bahasa pemrograman Java yang saat ini terbilang cukup banyak penggunanya.
B.    Rumusan Masalah
Dari latar belakang yang telah dijelaskan, penulis dapat merumuskan masalah sebagai berikut:
1.    Apa yang dimaksud dengan Java?
2.    Bagaimana sejarah Java ?
3.    Apa saja karakteristik Java ?
4.    Apa saja komponen utama platform Java ?
5.    Apa saja variabel Java ?
6.    Apa saja versi-versi Java ?
7.    Apa fitur-fitur Java ?
8.    Bagaimana contoh program Java sederhana ?
9.    Bagaimana pemanfaatan teknologi Java ?
10. Apa kelebihan Java ?
11. Apa kelemahan Java ?
  1. Tujuan Penulisan
Adapun tujuan dari penulisan makalah ini antara lain:
1.    Untuk mengetahui pengertian Java
2.    Untuk mengetahui sejarah Java
3.     Untuk mengetahui karakteristik Java
4.    Untuk mengetahui komponen utama platform Java
5.    Untuk mengetahui variabel Java
6.    Untuk mengetahui versi-versi Java
7.    Untuk mengetahui fitur-fitur apa saja yang ada pada Java
8.    Untuk mengetahui contoh program Java sederhana
9.    Untuk mengetahui bagaimana pemanfaatan teknologi Java
10. Untuk mengetahui kelebihan Java
11. Untuk mengetahui kelemahan Java
  1. Metodologi Pengumpulan Data
Dalam penulisan makalah ini, metode pengumpulan data yang penulis gunakan adalah metode kepustakaan. Yaitu dimana penulis mencari referensi melalui internet yang berkaitan dengan pokok bahasan yang penulis kembangkan.
BAB II
PEMBAHASAN
  1. Pengertian Java 

Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram  Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application Programming Interface (API). Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package). Java API telah menyediakan fungsionalitas yang memadai untuk menciptakan appletdan aplikasi canggih. Jadi ada dua hal yang harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java.
Java juga merupakan bahasa pemrograman yang multi platform dan multi device. Apabila pengguna menuliskan sebuah program dengan menggunakan Java, maka pengguna dapat menjalankannya hampir di semua komputer dan perangkat lain yang mendukung Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual Machine. Fungsionalitas dari Java ini dapat berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan non-spesifik.
Java tidak memilii ketergantungan dengan platform, artinya Java dapat dijalankan pada sembarang komputer dan pada sembarang sistem operasi yang sering disebut dengan portabilitas. Yang menariknya portabilitas Java tidak terbatas pada program sumber (source code), melainkan juga pada tingkat bytecode. Dengan demikian suatu program yang sudah anda kompilasi dengan java di OS Windows dapat juga berjalan di Macintosh secara langsung tanpa kompilasi ulang.
Java termasuk bahasa pemrograman yang sederhana. Java juga dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang digantikan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa Java namun harus waspada karena mungkin Java mengambil arah (semantiks) yang berbeda dibanding C++.
Java merupakan bahasa berorientasi objek (OOP) yaitu cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer sebagai kelompok objek yang saling berinteraksi. Deskripsi ringkas OOP adalah mengorganisasikan program sebagai kumpulan komponen, disebut objek. Objek-objek ini ada secara independen, mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerintahkan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu. Kelas bertindak sebagai modul sekaligus tipe. Sebagai tipe maka pada saat jalan, program menciptakan objek-objek yang merupakan instan-instan kelas. Kelas dapat mewarisi kelas lain. Java tidak mengijinkan pewarisan jamak namun menyelesaikan kebutuhan pewarisan jamak dengan fasilitas antarmuka yang lebih elegan. Karena fungsionalitasnya yang memungkinkan aplikasi Java mampu berjalan di beberapa platform sistem operasi yang berbeda, Java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun".
  1. Sejarah Java
Java adalah bahasa pemrograman yang berorientasi objek (OOP). Java diciptakan oleh James Gosling, developer dari Sun Microsystems pada tahun 1991. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source. Sebagai bahasa pemrograman yang berorientasi objek, Java menggunakan kelas untuk membentuk suatu objek. Bahasa pemrograman Java pertama lahir 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, James Gosling dan Bill Joy, 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 hanya dipakai 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.02 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 rilis 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. 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. Karakteristik Java
Terdapat beberapa karakteristik dari Java, diantaranya yaitu:
1. Sederhana (Simple)
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi objek (Object Oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3. Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networkingyang terintegrasi pada Java.
4. Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.
6. Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.
8. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
11. Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.
Hirarki dan Portabilitas Teknologi Java
  1. Komponen Utama Platform Java
Platform dapat diartikan sebagai lingkungan perangkat keras atau perangkat lunak dimana program dijalankan. Umumnya platform berdasarkan nama sistem operasi yang digunakan, misalnya Windows 2000, Linux, Solaris, atau MacOS. Untuk platform Java terdiri dari 2 komponen utama, yaitu:
1.    Java Virtual Machine (JVM)
JVM (Java Virtual Machine) adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih.
Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
2.     Java Application Programming Interface (JAVA API)
Java API merupakan komponen-komponen dan kelas JAVA yang sudah jadi, yang memiliki berbagai kemampuan. Kemampuan untuk menangani objek, string, angka, dsb.  Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh programmer. Java API terdiri dari tiga bagian utama:
a.    Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi desktop dan applets dengan bahasa dasar yang mendukung grafis, keamanan, konektivitas basis data dan jaringan.
b.    Java Enterprose Edition (EE), sebuah inisiatif API untuk merancang aplikasi serverdengan mendukung untuk basis data.
c.    Java Macro Edition (ME), sebuah API untuk merancang aplikasi yang jalan pada alat kecil seperti telepon genggam, komputer genggam dan pager.
  1. Variabel Java
       Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan sifat strongly typed  yang  artinya diharuskan mendeklarasikan tipe data dari semua variabel, dan apabila lupa atau salah mengikuti aturan pendeklarasian variabel, maka akan mendapatkan error  pada saat proses kompilasi.
     Variabel merupakan container  yang  digunakan untuk menyimpan suatu nilai pada sebuah rogram dengan tipe tertentu. Untuk mendefinisikan variabel, kita dapat menggunakan identifier untuk menamai variabel tersebut.
1.    Identifier
Identifier adalah kumpulan karakter yang dapat digunakan untuk menamai variabel, method, lass, interface, dan package. Sebagaimana bahasa pemrograman pada umumnya, Java memiliki peraturan untuk identifier yang valid atau sah. Identifier bisa disebut valid atau sah apabila diawali dengan :
·            Huruf / abjad-
·            Karakter mata uang-
·            Underscore ( _ )
Identifier dapat terdiri dari :
·            Huruf / abjad-
·            Angka-
·            Underscore ( _ ) 
Identifier tidak boleh mengandung @, spasi atau diawali dengan angka. Selain itu, identifier tidak boleh menggunakan keyword atau kata-kata yang memiliki arti atau digunakan dalam pemrograman Java. Daftar keyword Java :
Abstact           double            int                    strictfp
Boolean          flse                  static               super
Break              fxtends            long                switch
Byte                 final                 native              Synchronized
case                 finally              new                 this
catch               float                package          throw
char                 for                   private            throws
class                goto                protected        transient
const               if                       public             try
continue         implements    return             void
default            import            short               volatile
do                    instanceof      interface         while
Selain menggunakan karakter biasa, kita juga dapat menggunakan unicode sebagai identifier.
2.    Deklarasi Variabel
Sintaks dasar :
            [tipe data] [nama variabel]
Menuliskan tipe data dari variabel, contoh :
int bilangan;
char karakter;
float bildesimal;
boolean status;
Setelah mendeklarasikan variabel dengan tipe data, selanjutnya memberikan nilai variabel tersebut dengan tanda = .
bilangan = 20;
 karakter = ‘k’;
 bildesimal = 22.2f;
status = true;
Dapat juga mendeklarasikan dan memberikan nilai dalam satu baris.
int bilangan = 20;
char karakter = ‘k’;
 float bildesimal = 22.2f;
boolean status = true;
Kita dapat membuat variabel menjadi konstanta yang tidak dapat diubah nilainya dengan menambahkan keyword sebelum tipe data dari variabel. Contoh :
final int konstantainteger = 10;
final float pajak = 15.5;
Agar konstanta ini dapat diakses oleh class lain tanpa harus membuat objek terlebih dahulu, maka kita dapat menambahkan modifier public dan keyword static seperti berikut :
public static final konstantainteger = 10;
  1. Versi-Versi Java
Setelah sebelumnya dijelaskan mengenai pengertian, sejarah, karakteristik, dan komponen utama platform Java maka selanjutnya akan membahas mengenai versi-versi pada Java. Dari masa ke masa perkembangan Java sudah semakin canggih dalam setiap fitur-fiturnya. Berikut ini adalah versi-versi Java, mulai dari yang pertama kali diluncurkan hingga versi terbaru yang akan dimunculkan.
1.    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.
2.    Pada tahun 1998, Sun Microsystem memperkenalkan Java versi 1.2 atau lebih dikenal dengan nama Java 2 yang terdiri atas JDK dan JRE versi 1.2. Pada Java 2 ini, java dibagi menjadi 3 kategori:
a)   Java 2 Standart Edition (J2SE)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada level PC (Personal Computer).
b)   Java 2 Enterprise Edition (J2EE)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada lingkungan entriprise dengan menambahkan fungsionalitas-fungsionalitas java semacam EJB (Enterprise Java Bean), Java CORBA, Servlet dan JSP serta Java XML (Extensible Markup Language).
c)    Java 2 Micro Edition (J2ME)
Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi java pada handled devices atau perangkat-perangkat semacam handphone, Palm, PDA, dan Pocket PC. J2ME dirancang untuk dapat menjalankan program Java pada perangkat-perangkat semacam handphone dan PDA, yang memiliki karakteristik yang berbeda dengan sebuah komputer biasa, misalnya kecilnya jumlah memori pada handphone dan PDA. J2ME terdiri atas komponen-komponen sebagai berikut Java Virtual Mac        hine (JVM) dan Java API (Application Programming Interface) serta Tools lain untuk pengembangan aplikasi Java semacam emulator Java Phone dan emulator Motorolla. Dalam J2ME dibagi menjadi dua bagian yang dikenal dengan istilah configuration dan profile. 
3.    Oracle baru saja mengumumkan peluncuran platform Java standard edition 7 (Java SE7). Mereka mengklaim bahwa Java terbaru ini akan memiliki berbagai kemudahan dibandingkan dengan versi-versi sebelumnya.Terdapat tujuh keuntungan Java SE7, yang pertama adalah perubahan bahasa. Perubahan bahasa ini dikatakan Oracle dapat membantu pengembang untuk dapat lebih produkitf dan menghasilkan program dengan sintak yang sederhana sehingga dapat dengan mudah dimengerti. Selanjutnya adalah peningkatan bahasa pendukung dinamis, seperti Ruby, Phyton, dan Javascript. Dengan adanya bahasa pendukung tersebut dapat meningkatkan performance pada JVM. Ketiga adalah multicore API baru yang membuat pengembang lebih mudah untuk mendekomposisi permasalahan menjadi beberapa bagian yang nantinya dapat dieksekusi secara paralel. Selain itu terdapat juga interface I/O yang lebih komprehensif, fitur jaringan dan kemananan baru, support terhadap internasionalisasi, termasuk unicode 6.0, dan yang terakhir adalah tersedia beberapa versi update librari.Java SE7 yang baru pertama kali ini dikembangkan oleh Oracle memiliki kompabilitas dengan versi sebelumnya. Sehingga para pengembang tak perlu susah-susah untuk beradaptasi.
G.   Fitur-Fitur Java
Java memiliki berbagai fitur yang terbilang cukup berguna bagi para programmer. Fitur-fitur yang terdapat dalam Java diantaranya yaitu:
1.    Java Virtual Machine (JVM)
JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang  membuat  aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java diciptakan dengan file teks berekstensi .java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi. class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
2.    Garbage Collection
Banyak bahasa pemrograman lain yang  mengijinkan seorang programmer mengalokasikan  memori  pada  saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut  supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah programmer yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana programmer tersebut alpa untuk mengembalikan  blok memori  sehingga menyebabkan  situasi yang dikenal dengan nama  memory leaks. Program Java melakukan garbage collection  yang berarti program tidak perlu menghapus  sendiri  objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.
3.    Code Security
Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code.
a. Pertama, class-loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas–kelas yang berasal dari local disk dengan kelas–kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas–kelas yang berasal dari local disk yang dimuat terlebih dahulu.
b. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan–aturan dasar bahasa Java.
c. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing.
Java juga menyediakan beragam teknik pengamanan lain, yaitu:

1. Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan programmer handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
2. Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan,  maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela  yang dibuka. Hal ini  mencegah jendela  pop-up menipu sebagai permintaan keterangan username dan password.
H.   Contoh Program Java Sederhana
Untuk lebih mengetahui mengenai bagaimana bahasa pemrograman Java maka penulis memberikan contoh program Java sederhana. Program ini cocok bagi yang baru pertama kali mengenal java . Berikut contoh programnya.

class HelloWorld{
    public static void main (String [] args){
    System.out.println("==Hello World==");
    }
}
Penjelasan Program:
  • Class HelloWorld
Class HelloWorld merupakan sebuah nama kelas yang menampung isi dari program yang akan dijalankan. Di dalamnya bisa berisi atribut/tipe data dan metod untuk menjalankan suatu program. Pada program di atas, file disimpan dengan nama HelloWorld.java . Apabila selain nama file tersebut program tidak akan berjalan atau akan error, karena program java akan membaca nama file sesuai dengan nama kelasnya.
  • Public static void main (String [] args)
Public static void main adalah sebuah metod dengan nama main, yang mana metod ini adalah metod utama untuk menjalankan sebuah program. Tanpa adanya metod main, program tidak akan mengeluarkan hasil apa-apa.
  • System.out.println();
Ini adalah sebuah perintah untuk menampilkan sesuatu, baik berupa angka, karakter, ataupun kalimat. Program di atas adalah program untuk mencetak kalimat, yang di awali dengan tanda petik dua sebagai pengapit huruf-huruf atau karakter yang akan dicetak.
Untuk menjalankan programnya :
    1. Simpan program dengan nama file HelloWorld.java
    2. Jalankan program pada CMD dengan mengetikan javac HelloWorld.java  
    3. Selanjutnya ketikan  java HelloWorld    
Maka hasilnya akan seperti ini :


I.     Pemanfaatan Teknologi Java
Bahasa pemrograman Java digunakan untuk membuat seluruh bentuk aplikasi, dekstop, web dan lainnya, sebagai mana dibuat dengan menggunakan bahasa pemrograman konvensional lainnya. Berikut ini adalah beberapa aplikasi yang merupakan hasil dari pemanfaatan teknologi Java.
  1. Aplikasi Facebook
Facebook termasuk dari salah satu social networking platform yang paling populer. Jejaring seperti Facebook tidak hanya menghubungkan satu orang dengan orang lainnya di dunia tanpa batas, akan tetapi menciptakan komunikasi atas profil, kegemaran, dan terutama pencitraan. Tidak mengherankan apabila jejaring sosial (social networking) seperti Facebook sering dimanfaatkan untuk keperluan promosi, kampanye, bahkan propaganda. Tidak hanya untuk mengkomunikasikan citra individu, akan tetapi termasuk pula kelompok, organisasi, maupun produk. Di tahun 2008 lalu, Facebook bahkan mampu mengalahkan popularitas jejaring sosial ternama lainnya seperti MySpace, Friendster, dan Multiply. Siapapun bisa memanfaatkan ataupun mengoptimalkan Facebook Di sini disediakan dua buah ebook panduan menggunakan Facebook untuk pemula (for Dummies)dan tingkat lanjut (advanced user).
 Aplikasi online Facebook tidak hanya mampu mengkomunikasikan melalui pesan, akan tetapi mampu pula menciptakan komunikasi interaktif online. Di antara situs jejaring sosial, Facebook memiliki fitur yang paling lengkap. Mereka yang memanfaatkan aplikasi jejaring online Facebook tidak hanya individu, akan tetapi kelompok, organisasi, dan bahkan suatu negara. Tentunya kita masih ingat ketika Israel pernah memanfaatkan Facebook (bersama dengan Twitter) untuk membela kepentingan mereka di Jalur Gaza.
  1. Aplikasi Opera Mini
Opera Mini adalah penjelajah web yang dirancang khusus untuk ponsel, dan juga untuk PDA Phone dan SmartphonePenjelajah Web ini tersedia dalam Java , AndroidWindows MobileiOSBlackBerry OS, UIQ3, Symbian, dan Zeebo. Opera Mini adalah sebuah aplikasi yang gratis, didukung melalui kemitraan antara para pengembang, yaitu Opera Software, situs aplikasi gratis Gamejump, situs web Yahoo, dan Mesin Pencari Google. Opera Mini berasal dari penjelajah web Opera untuk komputer pribadi, yang telah tersedia untuk umum sejak 1996. Opera Mini pada awalnya dirancang untuk ponsel yang telah mampu terkoneksi atau tersambung ke jaringan internet. Opera Mini pertama kali diperkenalkan pada tanggal 10 Agustus 2005 sebagai pilot project dalam kerjasama dengan stasiun televisi NorwegiaTV 2. Sehingga pada saat itu, Opera Mini hanya tersedia untuk pelanggan TV 2.
Opera Mini terbaru mempunyai fitur yang tidak ada pada browser bawaan ponsel biasa yaitu mengupload file secara langsung. Opera Mini terkenal akan dengan kecepatan browsingnya yang cukup cepat, biasanya lebih cepat daripada browser bawaan ponsel. Keunggulan lainnya dari Opera Mini adalah tarifnya yang relatif lebih murah dari browser bawaan milik ponsel, ini dikarenakan Opera Mini dapat mengkompres suatu halaman sampai 90%. Keunggulan yang menarik ialah dapat menyimpan halaman website yang dianggap penting atau menarik oleh penggunanya, dan selanjutnya disimpan di folder yang telah dipilih pengguna pada memori telepon atau kartu memori. Opera Mini juga dapat menyinkronkan bookmark, dan tekan cepat ke akun milik anda di Komunitas Opera[2]. Versi Opera Mini 6 menyertakan fitur Share yang memungkinkan pengguna membagikan halaman yang dibaca ke account jejaring sosial FacebookTwitter, dan My Opera[3].
  1. Aplikasi Kamus
Aplikasi Kamus sangat berguna dalam berbahasa, tahap pembelajaran kamus berperan penting dalam memahami kosa kata. Semangat belajar berbahasa tentu dilengkapi fasilitas yang lengkap diantaranya kamus tebal yang di bawa-bawa sepanjang waktu. Penggunanya  tidak perlu repot lagi membawa kamus yang tebal, karena ada solusi jitu yang akan membantu untuk menyelesaikan masalah yang berhubungan dengan bahasa yang sulit untuk dimengerti. Karena dengan menggunakan aplikasi kamus bisa mengurangi kepikunan sebab tanpa kita sadari aplikasi kamus mengajak  agar orang sedikit berfikir dan menganalisa tentang bahasa yang ingin di mengerti. Karena dengan berfikir dan menganalisa itu dapat mengurangi kepikunan dalam usia yang sudah lanjut usia.
Sesuai dengan konsep belajar bahasa yang menyarankan agar kita praktek kapanpun dan dimanapun kita merasa senang untuk belajar Software kamus  ini ada dalam  versi sesuai dengan sistem yang lebih banyak dipakai oleh pengguna aplikasi mobile yaitu dalam bentuk Java.
  1. Aplikasi Game
Bermain game juga ada manfaatnya. Manfaatnya yang selama ini banyaj dirasakan adalah melatih kepekaan, melatih problem solving, berpikir logis dan kreatif, dan yang paling berpengaruh adalah secara tidak langsung para penggunanya belajar bahasa Inggris. Manfaat yang terakhir ini sungguh luar biasa, kita sebagai orang Indonesia sangat buruk dalam mempelajari bahasa Inggris tetapi dengan bermain game mau tidak mau kita harus belajar bahasa Inggris agar kita bisa memecakan permasalahan yang ada didalam pemainan game dan bisa memenangkan game itu. Karena bahasa yang digunakan dalam game pada umumnya adalah bahasa Inggris, dan dialog, pengantar, tips, pilihan yang ada memakai bahasa Inggris, sehingga semakin sering kita bermain game, kita secara tidak langsung telah berlatih bahasa Inggris.
Hasil penelitian menyebutkan bahwa para pemain game ini memiliki fokus yang lebih terhadap apa yang terjadi di sekelilingnya, jika dibandingkan dengan mereka-mereka yang jarang main game, apalagi yang tidak main sama sekali. Manfaat dari bermain game juga dapat dirasakan bagi orang yang sudah tua atau dengan kata lain lanjut usia karena dengan bermain game bisa mengurangi kepikunan sebab tanpa kita sadari game mengajak pemainnya agar sedikit berfikir dan menganalisa bagaimana cara menyelesaikan permain game. Karena dengan berfikir dan menganalisa itu dapat ngurangi kepikun dalam usia yang sudah lansia. Ternyata maksud dari semua pembuat game dan kebanyakan programmer game adalah berusaha melatih kepekaan, problem solving, dan logika pemain ketika dihadapkan pada suatu keadaan yang kurang menguntungkan, dibumbui dengan kejutan-kejutan dan ketegangan yang memompa adrenalin dan emosi. Contohnya : KONAMI, pembuat game SILENT HILL, dan developer game-game yang lain ingin mengatakan bahwa “dalam keadaan serba sulit, asal kita mau berusaha, pasti ada jalan keluarnya”
J.     Kelebihan Java
Terdapat beberapa kelebihan yang dimiliki Java dibanding dengan bahasa pemrograman yang lain, yaitu:
a)    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, LinuxMac OSdan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
b)    OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
OOP tersebut berarti bahwa semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
c)    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 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).
K.    Kelemahan Java
Walaupun memiliki banyak kelebihan, namun Java juga memiliki beberapa kelemahan. Diantaranya yaitu:
a)    Tulis sekali, perbaiki 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.
b)    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.
c)    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)    Proses Compile, program Java harus dicompile terlebih dahulu sebelum dijalankan, berbeda dengan Python yang tidak perlu melakukan compile.
BAB III
PENUTUP
A.  Kesimpulan
Berdasarkan pembahasan pada BAB sebelumnya, penulis dapat mengambil kesimpulan bahwa Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Java diciptakan oleh James Gosling, developer dari Sun Microsystems pada tahun 1991. Sebagai bahasa pemrograman yang berorientasi objek, Java menggunakan kelas untuk membentuk suatu objek. Saat 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.
Komponen platform utama Java terdiri dari dua komponen, yaitu Java Virtual Machine (JVM) dan Java Application Programming Interface (API). Versi-versi Java dimulai dari versi awal Java pada tahun 1996 yang sudah merupakan versi release sehingga dinamakan Java Versi 1.0  lalu pada tahun 1998, Sun Microsystem memperkenalkan Java versi 1.2 atau lebih dikenal dengan nama Java 2 yang terdiri atas JDK dan JRE versi 1.2. Dan yang terakhir peluncuran platform Java standard edition 7 (Java SE7). Pemanfaatan Java pada beberapa aplikasi contohnya pada aplikasi Facebook, Opera Mini, Kamus, dan Game.
DAFTAR PUSTAKA
Indra Saputra, Didi. 2009. Bahasa Pemrograman Java. http://didiindra.wordpress.com/tag/pengertian-java/. 08 Oktober 2013
Anonim. 2013. Sejarah Bahasa Pemrograman Java. http://iqbalpratomo.wordpress.com/2013/01/01/sejarah-perkembangan-bahasa-pemrograman-java/. 08 OKtober 2013
Cahya Aditya, Achmad. 2013. Contoh Program Java Sederhana. http://top-ilmu.blogspot.com/2012/11/contoh-program-java-sederhana.html. 09 Oktober 2013
Dichan, Dina. 2012. Perkembangan Teknologi Java Saat Ini. http://dinapohan17.blogspot.com/2012/07/perkembangan-teknologi-java-saat-ini.html. 09 Oktober 2013
Alfyansyah, Aliev. 2012. Arti Java. http://aalfyansyah.blogspot.com/2012/09/arti-java.html. 09 Oktober 2013
Dichan, Dina. 2012. Software Pendukung Untuk Java. http://dinapohan17.blogspot.com/2012/07/software-pendukung-untuk-java.html. 09 Oktober 2013
Setiawan, Bayu. 2013. Definisi API Application Programming. http://bayusetiawan15.blogspot.com/2013/01/definisi-api-application-programming.html. 10 Oktober 2013
Hidayah, Ivan. Perkembangan Java. http://ivanhidayah.blogspot.com/2012/08/perkembangan-java.html. 10 Oktober 2013
Azizah, Nurul. 2010. Fitur-Fitur Java. http://menulisjava.blogspot.com/2010/12/fitur-fitur-java.html. 10 Oktober 2013
Anonim. Kekurangan dan Kelebihan Java. http://jenigroup.blogspot.com/2009/01/kekurangan-dan-kelebihan-java.html. 11 Oktober 2013
Anonim. 2011. Pengertian Bahasa Pemprograman. http://sutondoscript.blogspot.com/2011/03/pengertian-bahasa-pemrograman-java.html. 11 Oktober 2013

Anonim. Pengertian, Fungsi, dan Kegunaan Paket Package di Java. http://www.termasmedia.com/2012-05-29-02-56-17/java/118-pengertian-fungsi-dan-kegunaan-paket-package-di-java.html. 11 Oktober 2013

Untuk file PPT Java silahkan download di link berikut ini.



EmoticonEmoticon