Gambar 2.2. Proses palindrom matematika. Sumber : Stephanie Fuehrer, 2009.
2.2. Pemrograman Java
Java dikembangkan pertama kali oleh James Gosling dari Sun Microsystem pada tahun 1990-an. Java pertama kali dikembangkan untuk
memenuhi kebutuhan akan sebuah bahasa computer yang ditulis satu kali dan dapat dijalankan di banyak sistem computer. Dari pertama dikembangkan, Java
telah memiliki tujuh generasi hingga saat ini.
Pembagian kategori Java terjadi sejak generasi ke-2 Java 2 dan terbagi menjadi tiga paket, yaitu :
1. J2EE Java 2 Enterprise Edition
J2EE biasa di gunakan pada pemrograman aplikasi server, atau aplikasi berbasis web server.
2. J2SE Java 2 Standard Edition
Paket ini paling banyak digunakan pada pembuatan aplikasi desktop. 3.
J2ME Java 2 Micro Edition Banyak digunakan untuk pembuatan aplikasi pada wireless device atau
mobile device.
James Gosling, Mike Sheridan, dan Patrick Naughton memulai proyek bahasa Java pada bulan Juni 1991. Bahasa ini awalnya diberi nama Oak yaitu
sebuah pohon “ek” yang berada di luar kantor James Gosling pada waktu itu. Pada tanggal 13 November 2006, Sun Microsystem meluncurkan bahasa java sebagai
bahasa pemrograman open source di bawah ketentuan GNU General Public License GPL. Sekitar tahun 2009-2010 Sun Microsystem diakuisisi oleh Oracle
Corporation dan sekaligus pengembangan bahasa java dilanjutkan oleh perusahaan ini.
Sumber : Irawan, 2011.
Java adalah bahasa pemrograman yang terkenal. Java banyak digunakan untuk membangun program. Pemrograman berorientasi objek object oriented
programming atau OOP adalah suatu pendekatan yang memungkinkan suatu kode yang digunakan untuk menyusun program menjadi lebih mudah untuk
digunakan kembali istilah aslinya reusability, lebih handal, dan lebih mudah
dipahami. Salah satu fitur dalam OOP adalah pewarisan. Fitur inilah yang membuat suatu kode yang telah ditulis dalam bentuk kelas sangat mudah untuk
diwariskan ke kelas lain guna mendukung sifat reusable. Dalam teknologi OOP, kelas adalah suatu cetakan untuk membentuk
objek. Sebagai contoh, Java menyediakan kelas bernama String. Dengan menggunakan kelas tersebut, objek atau terkadang disebut instan kelas yang
berisi nama orang serta objek yang berisi alamat orang bias dibentuk. Sebuah kelas mengandung dua bagian penting yang disebut atribut dan
perilaku. Atribut adalah data yang membedakan satu objek dengan objek lain. Atribut dinyatakan dengan variable instan. Perilaku menyatakan suatu tindakan
yang dikenakan terhadap suatu objek; misalnya untuk mengubah atribut dalam objek. Perilaku diimplementasikan dengan menggunakan metode.
Sumber : Abdul Kadir, 2012.
Fitur penting bahasa java adalah bahasa ditunjukan untuk membuat beragam jenis aplikasi secara seragam, yaitu :
1. Program di lingkungan web browser
Applet, program ini dieksekusi di web browser dari halaman web yang
memuat Java applet. Web browser kemudian menugaskan Java interpreter JRE – Java Runtime Environtment untuk mengeksekusi Java applet yang diterima.
Java applet membuat langkah besar, memungkinkan web menjadi saranamedia interaktif di mana halaman web menjadi dapat bereaksi terhadap masukan atau
tanggapan pemakai.
2. Program di lingkungan web server
Java Server Pages, sebagai web scripting serupa ASP, PHP dan
sebagainya. Program ditempelkan di halaman html. Html ini tidak langsung dikirim ke web browser tapi diolah dulu oleh web server dan hasilnya yang
berupa dokumen html dikirim web server ke web browser. Pemrograman JSP mengakomodasi pemrograman gaya tempelan seperti PHP, gaya tagging seperti
Cold Fusion dan orientasi komponen JavaBeans.
Java Servlet, Komponen ini adalah semacam modul di web server. JSP akan
diterjemahkan menjadi servlet agar mempercepat proses eksekusi.
3. Program mandiri atau biasa disebut stand-alone application.
Java merupakan pilihan bagus untuk membuat applet, sekaligus sebagai bahasa bermaksud umum general-purpose language untuk mengembangkan
semua jenis program yang dapat dijalankan dikomputer, sistem operasi apa pun asalkan terdapat Java interpreter di platform itu. Untungnya hampir seluruh
platform menyediakan Java interpreter karena spesifikasi Java bytecode disebarkan secara terbuka. Filosofi program Java dapat dijalankan di platform
computer dan sistem operasi apapun dikenal sebagai “WORA – write once, run anywhere”. Aplikasi mandiri ini dapat berbasis konsol maupun berbasis grafis.
Sebuah program Java diciptakan dengan file teks ekstensi .java. Program ini dikompilasi menghasilkan satu file bytecode berektensi .class atau lebih. Bytecode
adalah serangkain instruksi serupa kode mesin. Perbedaan kode mesin harus dijalankan sistem computer tertentu, sementara bytecode berjalan di Java
interpreter yang tersedia di semua platform.
4. Program mandiri sebagai pustaka komponen untuk pengembangan
aplikasi. Java menyediakan Bean untuk mendukung RAD rapid application
development yang berbasis visual seperti Visual Basic atau Borland Delphi.
5. Bahasa untuk pengembangan aplikasi objek-objek tersebar skala
enterprise. Terdapat teknologi Java untuk mengembangkan komponen yaitu EJB
Enterprises JavaBeans yang berjalan di application server. EJB mendukung Component-based Software Engineering. Application server adalah middleware
yang bertugas menjadi intermediasi beragam server di aplikasi tersebar skala enterprise. Dukungan java terhadap sistem tersebar berupa spesifikasi J2EE
lengkap meliputi JDBC Java Database Connectivity, RMI Remote Method Invocation, EJB Enterprise Java Beans, JMS Java Messaging System, Socket
Programming, SQLJ SQL di Java dan sebagainya. JavaScript bukan merupakan program java namun sintaks dan
semantiknya seperti bahasa Java. JavaScript tidak termasuk teknologi Java. JavaScript adalah karya Netscape. Awalnya bernama LiveScript. Karena bahasa
Java popular, berubah nama menjadi JavaScript. JavaScript tidak termasuk di teknologi Java Sun Microsystems. Pendekatan Java script ternyata saat ini
berkembang lagi sejak ditemukan penggunaan untuk membuat web lebih responsive, yaitu lewat AJAX Asynchronous JavaScript and XML.
BillJoy mendeskripsikan bahasa Java sebagai berikut : Java adalah bahasa pemrograman orientasi objek yang berukuran kecil, sederhana, aman,
diinterpretasi atau dioptimasi secara dinamis, ber bytecode, netral arsitektur, mempunyai garbage-collector, multithreading mempunyai mekanisme
penanganan kekecualian exception handling, berbasis tipe untuk penulisan program mudah diperluas secara dinamis serta telah diperuntunkan sistem
tersebar. Fitur penting yang perlu dikaji adalah : Bahasa yang sederhana, Bahasa
orientasi objek, Bahasa yang statically typed, Bahasa yang dikompilasi, Bahasa yang kecil dan sederhana, Bahasa yang aman, Bahasa yang independen terhadap
platform. Sumber : Dr. Bambang Hariyanto, 2011.
2.3. Tipe Java