Selasa, 06 Mei 2014

Sejarah Singkat dan Pengertian Java



Sejarah Singkat dan Pengertian Java
1.      Sejarah Java.
Java dikembangkan pada tahun 1990 oleh insinyur Sun, James Gosling sebagai bahasa pemrograman yang  berperan sebagai otak untuk peralatan pintar (TV interaktif, oven serba bisa). Gosling tidak puas dengan hasil yang ia peroleh ketika menulis program dengan C++, bahasa pemrograman lain, sehingga ia mengasingkan diri di kantornya dan menulis bahasa pemrograman baru agar lebih sesuai dengan kebutuhannya.
Gosling menamakan bahasa pemograman barunya Oak, nama sebuah pohon yang bisa ia lihat dari jendela kantornya; ia kemudian menamainya Green, dan kemudian mengganti namanya menjadi Java, berasal dari kopi Jawa (Java Coffee) , yang katanya banyak dikonsumsi dalam jumlah besar oleh pencipta bahasa ini. Bahasa pemograman ini kemudian menjadi bagian dari strategi Sun untuk menghasilkan uang jutaan dolar ketika TV interaktif menjadi industri bernilai jutaan dolar. Hal itu memang masih belum terjadi hari ini, tetapi sesuatu yang benar-benar berbeda kemudian terjadi pada bahasa pemograman baru Gosling itu.
Secara kebetulan World Wide Web menjadi begitu populer, banyak kelebihan yang membuat bahasa Gosling dapat digunakan dengan baik dan cocok pada proyek maupun alat untuk adaptasi ke Web. Pengembang Sun merancang cara bagi program yang akan berjalan dengan aman dari halaman web dan memilih nama baru yang menarik untuk menemani fokus baru bahasa itu: Java.
Walaupun Java dapat digunakan untuk banyak hal, Web menyediakan tampilan yang dibutuhkan untuk menarik perhatian internasional. Seorang programmer yang menempatkan program Java pada halaman web dapat langsung diakses ke seluruh planet "Web-surfing". Karena Java adalah teknologi pertama yang bisa menawarkan kemampuan ini, Java kemudian menjadi bahasa komputer pertama yang menerima perlakuan bagai bintang di media.
2.      Pengertian Java.
Java adalah bahasa pemrograman untuk berbagai tujuan (general purpose), bahasa pemrogramn yang concurrent, berbasis kelas, dan berorientasi objek, yang dirancang secara khusus untuk memiliki sesedikit mungkin ketergantungan dalam penerapannya. Hal ini dimaksudkan untuk memungkinkan pengembang aplikasi "write once, run anywhere" (WORA), yang berarti bahwa kode yang dijalankan pada satu platform tidak perlu dikompilasi ulang untuk di tempat lain. Java saat ini menjadi salah satu bahasa pemrograman yang paling populer digunakan, terutama untuk aplikasi web client-server, dengan 10 juta pengguna.
3.      Kelebihan dan Kekurangan Java
a.         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 oebjek 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).
b.        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.

4.      Karakteristik Java

1.         Simple (Sederhana).

Java merupakan bahasa pemrograman paling populer saat ini. Sintak bahasa pemrograman Java mirip dengan bahasa pemrograman C++. Bahasa pemrograman Java memang berasal dari bahasa pemrograman C++ yang terlebih dahulu telah mengalami penyederhanaan dan peningkatan. Banyak fitur (feature) bahasa pemrograman C++ yang jarang digunakan dan kurang menguntungkan dihilangkan. Sebagai contoh, bahasa Java tidak mendukung turunan berlapis (multiple inheritance), union dan tipe data pointer.

2.         Object-oriented (Berorientasi obyek).

Bahasa pemrograman berorientasi obyek memandang segala sesuatu yang ada di dunia ini sebagai obyek. Sebagai contoh, lingkaran, orang, meja dan piutang dapat dipandang sebagai obyek di Java. Bahasa pemrograman berorientasi obyek akan menitikberatkan pada pembuatan obyek, pemanipulasian obyek serta memastikan bahwa obyek yang satu dengan yang lain dapat bekerja bersama. Setiap obyek mempunyai data (attribute atau property) dan operasi atau metoda (method) yang digunakan untuk memanipulasi data. Programer dapat membuat obyek dimana metoda merupakan satu-satunya cara untuk memanipulasi data.

3.         Distributed (Terdistribusi).

Terdistribusi melibatkan beberapa komputer untuk dapat bekerja bersama-sama dalam suatu jaringan (network). Secara khusus, bahasa pemrograman Java telah didesain untuk bekerja dalam lingkungan jaringan. Java mempunyai pustaka kelas (Java class library) yang besar untuk berkomunikasi menggunakan protokol TCP/IP termasuk HTTP dan FTP.

4.         Robust (Kuat).

Java memberikan banyak tekanan pada pengecekan awal terhadap kemungkinan kesalahan (error). Kompiler Java dapat mendeteksi lebih dini kesalahan yang mungkin muncul pada waktu program Java dijalankan (execution time). Dalam menulis sebuah program, programer juga dituntut untuk bisa menangani exception yaitu kesalahan yang muncul saat program dijalankan, sehingga program Java tetap dapat berjalan pada eksekusi normal.

5.         Architecture-Neutral (Tidak bergantung pada platform tertentu).

Kode sumber Java (Java source code) yang sudah dirubah ke dalam bytecode Java dapat dijalankan dengan menggunakan interpreter. Keistimewaan ini menjadikan Java tidak bergantung pada platform (platform-independent). Dengan Java Virtual Machine (JVM), Anda hanya menulis program sekali dan dapat menjalankan pada platform berbeda seperti sistem operasi Microsoft Windows, OS/2, Macintosh, UNIX dan IBM AS/400.

6.         Dynamic (Dinamis).

Tidak seperti bahasa pemrograman berorientasi objek C++ yang memerlukan kompilasi ulang secara menyeluruh bila kelas di atasnya (parent class) mengalami perubahan, Java menggunakan metode interfes (interface) untuk menghilangkan ketergantungan ini, sehingga kelas di bawahnya (child class) atau obyek klien (client object) tidak akan terpengaruh pada perubahan tersebut.

Tidak ada komentar:

Posting Komentar