Pengertian Java dan Contoh Program Java

APAKAH JAVA?

Java adalah sebuah bahasa pemrograman dan juga sebuah platform. Sebagai sebuah bahasa pemrograman tingkat tinggi, Java adalah sebuah bahasa berorientasi objek (object oriented programming). Jika anda pernah memprogram dengan bahasa pemrograman OOP , seperti C++ atau Smalltalk , mungkin anda ingat betapa menyenangkannya memprogram dengan konteks objek.

Anda merancang beberapa objek satu demi satu dengan mendefinisikan berbagai property yang dimiliki object tersebut dan pekerjaan (task) yang dapat ditangani oleh objek tersebut. Kemudian anda merangkai semua objek tersebut dengan mendefinisikan relasi antar objek tersebut seperti halnya membangun sebuah mobil dari komponen-komponennya. Belakangan ini , mungkin anda akrab dengan slogan "reusable of code". "Reuse of code" ini bukanlah cut & paste ( tapi harus diakui cut & paste memang sangat menyenangkan ). Yang dimaskud dengan "reuse of code" ini adalah suatu keadaan dimana para programmer untuk membangun sebuah objek dengan mengextend objek-objek yang telah ada secara mudah. Secara mudah disini adalah , programmer itu mungkin tidak perlu tahu dengan kode-kode dari objek yang ingin ia extend , yang ia butuhkan hanyalah pengetahuan mengenai property dari objek itu dan hal-hal yang dapat dilakukan oleh objek itu.

Kemudahan itu dapat diwujudkan dengan inheritance dan encapsulation. Selain itu Java, sebagai bahasa pemrograman, akan mempermudah tugas kita dalam merancang sebuah program yang mendukung multithreading. Ada banyak kasus dimana kita benar-benar membutuhkan multithreading atau dimana multithreading dapat membuat pemecahan masalah menjadi lebih efisien.

Sebagai contoh sederhana adalah dalam aplikasi mail client yang anda pakai. Saat anda mendowload mail dari server, anda mungkin tidak ingin menunggu sampai semua mail berhasil didownload, baru anda dapat membacanya. Beberapa mail client memungkinkan anda untuk membaca-baca dan membrowsing mail-mail yang sudah berhasil didownload. Dan pada saat yang bersamaan , program itu tetap mendownload mail-mail yang tersisa di server. Bahkan pada saat yang itu juga anda dapat melihat animasi bumi berotasi di pojok layar anda. Semua itu, mendownload mail – membrowsing mail – dan animasi, adalah proses-proses kelas ringan (ligthweight process) dalam aplikasi mail client itu. Proses-proses itu dikenal dengan istilah thread. Ide multithreading adalah membagi-bagi waktu pemrosesan CPU dan menjadwalkannya bagi masing-masing thread itu. Jika system operasinya dapat memanfaatkan multi-processor, maka thread-thread akan didistribusikan kepada semua prosesor, dan semua proses itu akan berjalan paralel.

Satu lagi yang ditawarkan oleh Java, dan tampaknya sampai saat ini baru Java yang memiliki ini, adalah sifat portabilitas dan independensi terhadap arsitektur dari program-program yang ditulis
dengan 100% Java. Yang dimaksud dengan portabilitas dan independensi terhadap arsitektur adalah : sebuah program yang dibuat dengan Java akan dapat dijalankan pada semua mesin / komputer yang mempunyai Java Virtual Machine.

Kita mengenal 2 jenis bahasa pemrograman , interpreted dan compiled. Contoh bahasa interpreted adalah bahasa-bahasa script seperti Perl, dan JavaScript. Sedangkan contoh bahasa compiled adalah C, Pascal, C++, dll.

Pada bahasa interpreted ada sebuah interpreter yang bertindak untuk menerjemahkan baris-baris kode dari suatu program ke dalam bentuk kode-kode yang dapat dimengerti oleh komputer dimana program itu dijalankan. Proses menerjemahkan itu berlangsung pada saat program itu dijalankan. Hal yang perlu dicatat dari bahasa interpreted adalah, proses menerjemahkan itu berlangsung setiap kali program tersebut dijalankan.

Sedangkan pada bahasa compiled, kode-kode program kita terlebih dahulu diubah ke dalam bentuk kode-kode biner oleh sebuah compiler. Untuk selanjutnya, komputer dapat membaca langsung dari kode-kode biner tersebut. Berbeda dari bahasa interpreted, proses kompilasi ini hanya perlu dilakukan sekali saja. Seperti telah dibahas di atas, compiler mengubah baris-baris kode yang kita ketik ke dalam bentuk biner. Yang menjadi permasalahan adalah, sistem kode biner untuk masing-masing platform secara umum tidaklah sama. Sistem kode biner pada Macintosh tidak sama dengan sistem kode biner pada IBM Compatible PC (dengan MS.Windows-nya). Hal inilah yang membatasi portabilitas dari sebuah program yang dibuat dari bahasa-bahasa compiled seperti C, dan Pascal. Jadi bila kita hendak membuat program yang dapat berjalan di banyak platform, sebutlah PC-Windows—Macintosh—Sun Solaris—dll, kita harus melakukan kompilasi untuk masing-masing platform itu. Kalau kita ingin menawarkan aplikasi kita ke seluruh dunia, kita akan menemui kesulitan mengetahui platform apa saja yang ada di seluruh dunia. Contoh : kita ingin menawarkan aplikasi yang bisa dilihat/dijalankan lewat web, yang berarti ada kemungkinan besar aplikasi kita itu akan dijalankan oleh sembarang orang di seluruh dunia yang menggunakan platform yang berbeda-beda. Kita tidak mungkin mengetahui secara persis semua platform itu dan kita juga tidak ingin dipusingkan dengan itu.
Bagaimanapun keunggulan bahasa compiled adalah , bahasa compiled menawarkan kecepatan eksekusi yang jauh lebih tinggi dibandingkan dengan bahasa interpreted (sehubungan dengan kode-kode biner itu).

Java adalah bahasa compiled dan interpreted. Setelah kita selesai menulis kode dengan bahsa Java, kita lakukan proses kompilasi. Keluaran dari proses kompilasi itu adalah, sebuah Java Binary Code. Anda dapat memikirkan Java Binary Code sebagai ekuivalen dari kode biner yang kita bicarakan diatas. Sistem operasi / komputer / mesin itu sendiri tidak dapat mengerti Java Binary Code. Maka diperlukan sebuah Java Interpreter yang akan menerjemahkan Java Binary Code itu ke dalam bentuk kode biner yang dapat dimengerti oleh operasi / komputer / mesin yang bersangkutan. Interpreter itu dikenal dengan sebutan Java Virtual Machine.

Implementasi dari Java Virtual Machine bisa berupa perangkat lunak (software) atau perangkat keras (hardware).

Contoh paling luas dari perangkat lunak yang mengimplementasikan Java Virtual Machine adalah Web Browser. Kita sebagai pemrogram bertanggung jawab sampai tahap kompilasi. Proses selanjutnya menjadi tanggung jawab Java Virtual Machine. Sebagai contoh, jika kita menulis aplikasi yang bisa dijalankan melalui web (dikenal dengan sebutan applet), yang kita berikan ke web browser adalah Java Binary Code hasil keluaran proses kompilasi yang kita lakukan sebelumnya. Sepanjang web browser itu mengimplementasikan Java Virtual Machine, ia akan dapat memahami Java Binary Code itu.

Implementasi dari Java Virtual Machine dalam bentuk perangkat keras juga tidak sedikit. Semenjak beberapa bulan yang lalu, sudah beredar mikrochip yang mendukung Java / mengerti Java Binary Code. Salah satu merk dari mikrochip itu adalah picoJava™ produksi sun microsystem. Beberapa produsen komputer telah menyertakan picoJava™ itu ke dalam komputer buatan mereka. Sebagai JVM elektronis, picoJava™ itu dapat melakukan proses interpretasi dengan kecepatan yang lebih baik dari JVM perangkat lunak. Beberapa Network Computer ( dengan konsep thin client-nya ), telah menggunakan picoJava™. Penggunaan chip-chip ini tidak terbatas pada komputer saja. Chip-chip ini akan dipasangkan pada perangkat-perangkat elektronis lainnya, seperti telepon, televisi, mobil, oven mikrowave, bahkan smartcard. Beberapa produk masa depan itu telah beredar saat ini, perusahaan Schlumberger telah menggunakan teknologi Java dalam produk-produk smartcard mereka. Perusahaan Hitachi juga telah menggunakan Java dalam beberapa produk televisi mereka.

Aspek yang juga cukup penting dari Java adalah sifat tersebar (distributed). Sifat ini sangat mendukung pengembangan sistem aplikasi yang tidak dibatasi oleh sebuah komputer saja. Dengan kata lain, mendukung pembuatan sistem aplikasi jaringan / tersebar dengan relatif mudah. Perangkat pemrograman Java standar (Java core API) telah menyediakan pustaka-pustaka yang memadai untuk komunikasi data dalam jaringan komputer. Pustaka networkingnya mencakup TCP socket, UDP socket, URL, dan IP Address.

Perkembangan Java tidak bisa lepas dari peranan beberapa vendor web browser seperti Netscape Corporation. Netscape Corp. telah mengimplementasikan Java Virtual Machine pada browser Netscape™ 3.0 mereka. Pada saat itu, Netscape Corp. menguasai pasaran browser di seluruh dunia, dan Netscape™ berjalan di beberapa sistem operasi terkenal , salah satunya adalah Microsoft Windows™ yang merajai pasaran sistem operasi di dunia. Hal itu memungkinkan applet-applet yang memperkaya fungsionalitas webpage yang ditulis dengan Java dapat dijalankan oleh jutaan orang di seluruh dunia. Karena Java berhasil dengan cepat memperoleh reputasi, maka hampir semua vendor sistem operasi dan browser berlomba-lomba untuk membuat Java Virtual Machine bagi sistem operasi / browser mereka. Yang pada gilirannya , semakin mempercepat perkembangan Java dan memperluas jangkauan Java sebagai bahasa pemrograman.

Versi Awal
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.

Kelebihan
* 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) yang artinya 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.

* 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).

Kekurangan
* 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.

* 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 Membuat Text File dengan Java
import java.io.BufferedReader;
02import java.io.File;
03import java.io.FileReader;
04import java.io.FileNotFoundException;
05import java.io.IOException;
06
07public class ReadTextFileExample {
08 public static void main(String[] args) {
09 File file = new File("test.txt");
10 StringBuffer contents = new StringBuffer();
11 BufferedReader reader = null;
12
13 try {
14 reader = new BufferedReader(new FileReader(file));
15 String text = null;
16
17 // ulangi sampai semua baris terbaca
18 while ((text = reader.readLine()) != null) {
19 contents.append(text)
20 .append(System.getProperty("line.separator"));
21 }
22 } catch (FileNotFoundException e) {
23 e.printStackTrace();
24 } catch (IOException e) {
25 e.printStackTrace();
26 } finally {
27 try {
28 if (reader != null) {
29 reader.close();
30 }
31 } catch (IOException e) {
32 e.printStackTrace();
33 }
34 }
35
36 // tampilkan isi file
37 System.out.println(contents.toString());
38 }
39}
Sumber :
http://id.wikipedia.org/wiki/Java
http://ryanscan.blogspot.com/2008/04/pengertian-java.html
http://komputasi.wordpress.com/2009/08/14/java-contoh-membaca-file-teks/

 

About Me

Foto Saya
Nama saya Nur Cholis, Seorang Newbie di Dunia Internet, sekarang Saya masih belajar di salah satu Akademi komputer di Semarang, blog ini sengaja saya buat guna memenuhi tugas-tugas yang diberikan Bapak dosen, kiranya ada pihak yang tidak berkenan, saya pribadi meminta maaf yang sebesar -besarnya, dan Semoga blog ini bermanfaat terima kasih

Pengikut

Buku Tamu


ShoutMix chat widget
Kembali Ke Halaman Paling Atas