Java adalah bahasa pemrograman yang digunakan untuk membuat program perangkat lunak dan aplikasi. Ini adalah bahasa yang sangat kuat yang digunakan untuk membangun semua jenis perangkat lunak, dari program kecil yang berjalan di komputer Anda hingga sistem besar dan kompleks yang berjalan di server dan mendukung situs web serta layanan online lainnya.
Aplikasinya berkisar dari ponsel hingga game, dan sistem navigasi hingga solusi E-commerce.
Pengembang Java adalah salah satu profesional dengan bayaran tertinggi di industri TI karena ketergantungan yang meluas dari banyak bisnis pada bahasa pemrograman Java.
Mari kita mulai memahami Pengertian Java, Ciri Khas, Sejarah, Fitur, Cara Kerja, Konsep dan Arsitekturnya beserta tool penting bahasa pemrograman ini secara lengkap.
Pengertian dan Ciri Khas Java
Java adalah bahasa pemrograman terkenal dan paling banyak digunakan di seluruh dunia. Ini adalah bahasa pemrograman tujuan umum, berbasis kelas, terdistribusi, dan berorientasi objek. Ini dirancang untuk memiliki ketergantungan implementasi yang lebih rendah.
Ciri khas Java
- Java adalah bahasa pemrograman berorientasi objek.
- Ini memiliki pengumpulan sampah otomatis.
- Java menghasilkan bytecode menggunakan kode sumber yang menjadikannya platform-independen.
- Pointer tidak ada di Java. Namun, referensi melakukannya.
- Java tidak mendukung pewarisan berganda menggunakan kelas. Namun, itu dapat dicapai dengan menggunakan antarmuka.
- Kelebihan operator tidak diperbolehkan di Java.
- Java tidak mendukung struktur dan penyatuan seperti C++.
Sejarah Java
Itu dibuat oleh James Gosling pada tahun 1991 di Sun Microsystems (yang sekarang telah diakuisisi oleh Oracle) dan dirilis pada tahun 1995. Ini dirancang untuk memfasilitasi komunikasi melalui jaringan.
Pada tahun 1991, sekelompok insinyur dari Sun Microsystems disebut Proyek Hijau, dipimpin oleh James Gosling, mulai mengerjakan penyatuan perangkat konsumen digital dan komputer.
Mereka mengerjakan demonstrasi pembuatan bahasa baru dengan pengontrol hiburan rumah genggam yang interaktif (awalnya ditargetkan untuk televisi). Sayangnya, konsep ini terlalu maju pada saat itu dan tidak bisa lepas landas.
Kemudian pada tahun 1995, dengan munculnya internet, tim mengumumkan Browser Internet Netscape Navigator untuk menggabungkan Teknologi Java.
Berikut sejarah singkat bahasa pemrograman Java.
Tahun | Perkembangan |
1991 | James Gosling, Mike Sheridan, dan Patrick Naughton memprakarsai proyek Java language Green |
1996 | Sun Microsystems merilis implementasi publik pertama sebagai Java 1.0 |
1998 – 1999 | Munculnya Java 2 (dirilis awalnya sebagai J2SE 1.2) |
1997 | Java 1.1 (versi) dirilis |
1998 | Java 1.2 (versi) dirilis |
2000 | Java 1.3 (versi) dirilis |
2004 | Java 1.4 (versi) dirilis |
2004 | Java 5.0 (versi) dirilis |
2006 | Java 6.0 (versi) dirilis |
2011 | Java SE 7 (versi) dirilis |
2014 | Java SE 8 (versi) dirilis |
2017 | Java SE 9 (versi) dirilis |
2018 | Java SE 10 dan Java 11 (versi) dirilis |
2022 | Java SE 17 LTS |
Fitur Java
Berikut adalah beberapa Fitur Pemrograman Java:
- Berorientasi Objek: Java adalah bahasa pemrograman berorientasi objek, yang artinya didasarkan pada konsep objek dan kelas. Objek berisi data dan metode yang beroperasi pada data tersebut, sementara kelas menentukan objek dan perilakunya.
- Platform-Independen: Karena bytecode Java adalah platform-agnostik, Anda dapat mengkompilasi program Java di satu sistem operasi dan menjalankannya di sistem operasi lain. Misalnya, Anda dapat menulis program Java di mesin Windows dan menjalankannya di mesin Linux tanpa perubahan apa pun.
- Aman: Java memiliki sejumlah fitur keamanan yang dibangun ke dalam bahasa untuk membantu melindungi dari kerentanan umum. Misalnya, Anda dapat menggunakan kata kunci “final” untuk membuat variabel hanya-baca, yang membantu mencegah modifikasi yang tidak disengaja.
- Multithreaded: Di Java, Anda dapat membuat beberapa utas eksekusi dalam satu program untuk memungkinkan pemrosesan bersamaan. Misalnya, Anda dapat membuat utas untuk menangani koneksi jaringan yang masuk dan utas lainnya untuk melakukan pemrosesan data.
- Tingkat Tinggi: Java adalah bahasa pemrograman tingkat tinggi, yang berarti lebih mudah untuk membaca dan menulis dibandingkan dengan bahasa tingkat rendah seperti perakitan. Ini juga memiliki perpustakaan standar besar yang menyediakan banyak fungsi dan struktur data yang berguna.
- Kuat: Java sangat menekankan penanganan pengecualian dan keamanan jenis, yang membantu mencegah kesalahan dan membuat kode lebih kuat. Misalnya, Anda dapat menggunakan blok try/catch untuk menangani pengecualian dan mencegah program mogok. Java juga memiliki pengumpul sampah yang secara otomatis membebaskan memori yang tidak lagi digunakan, yang membantu mencegah kebocoran memori.
Jenis Aplikasi yang dibangun dengan Java
Di bawah ini merupakan beberapa app yang diabngun menggunakan Java:
Aplikasi Web
Contoh nyata dari aplikasi web yang dibangun dengan Java adalah raksasa ritel online Amazon. Situs web Amazon dibangun menggunakan kombinasi Java dan teknologi lainnya, dan menggunakan Java untuk menggerakkan banyak sistem back-endnya.
Aplikasi Seluler
Contoh nyata dari aplikasi seluler yang dibuat dengan Java adalah aplikasi berbagi tumpangan Uber yang populer. Versi Android dari aplikasi Uber dibangun menggunakan Java, dan menggunakan Java untuk mendukung banyak fitur intinya, seperti pelacakan GPS, pemrosesan pembayaran, dan pembaruan waktu nyata.
Aplikasi Desktop
Contoh nyata dari aplikasi desktop yang dibuat dengan Java adalah perangkat lunak pengedit gambar Adobe Photoshop. Photoshop adalah alat yang ampuh untuk mengedit dan memperbaiki foto, dan menggunakan Java untuk menjalankan banyak fiturnya.
Sistem tertanam
Termostat Nest adalah contoh nyata dari sistem tertanam yang dibangun dengan Java. Termostat Nest adalah perangkat rumah pintar yang memungkinkan pengguna mengontrol suhu di rumah mereka dari jarak jauh.
Itu menggunakan Java untuk memberi daya pada antarmuka pengguna dan fitur lainnya.
Data Besar
Mesin pencari Google adalah contoh nyata dari aplikasi data besar yang dibangun dengan Java. Google memproses miliaran kueri penelusuran setiap hari, menggunakan Java untuk menggerakkan banyak sistem back-endnya.
Aplikasi ilmiah
Contoh nyata dari aplikasi ilmiah yang dibangun dengan Java adalah perangkat lunak simulasi ruang angkasa Celestia. Celestia adalah program astronomi 3D yang memungkinkan pengguna untuk menjelajahi alam semesta dan melihat objek langit secara real time, dan menggunakan kekuatan Java untuk grafis dan fitur lainnya.
Game
Contoh nyata dari game yang dibuat dengan Java adalah game seluler Clash of Clans yang populer. Clash of Clans adalah game strategi yang telah diunduh jutaan kali, dan menggunakan Java untuk menjalankan gameplay dan fitur lainnya.
Bagaimana Cara Kerja Java?
Java adalah bahasa pemrograman terkompilasi yang berjalan di Java Virtual Machine (JVM). JVM adalah mesin virtual yang berjalan di atas mesin fisik (seperti komputer atau smartphone) dan mengeksekusi bytecode Java.
Berikut adalah cara kerja prosesnya:
- Pengembang menulis program Java menggunakan editor teks atau Integrated Development Environment (IDE). Program ini ditulis dalam kode sumber, yang merupakan bentuk program yang dapat dibaca manusia.
Kompiler Java mengubah kode sumber menjadi bytecode, yang merupakan format platform-independen yang dapat dijalankan di perangkat apa pun yang memiliki JVM terpasang. - JVM memuat bytecode dan mengeksekusinya. JVM bertanggung Javab untuk mengalokasikan memori, mengelola objek, dan mengeksekusi instruksi dalam bytecode.
- Saat JVM mengeksekusi bytecode, mungkin perlu memanggil Java API, yang merupakan kumpulan pustaka yang menyediakan berbagai fungsi dan struktur data untuk digunakan dalam program Java.
JVM juga mengikuti Spesifikasi Bahasa Java, yang merupakan dokumen yang mendefinisikan sintaks dan semantik bahasa Java. Ini membantu memastikan bahwa program Java ditulis dengan cara yang konsisten dan benar. - Java Community Process (JCP) adalah organisasi yang mengelola pengembangan dan evolusi platform Java, termasuk JVM, Java API, dan Spesifikasi Bahasa Java.
- Java User Groups (JUGs) adalah grup pengembang Java lokal yang bertemu secara rutin untuk membahas topik terkait Java dan berbagi pengetahuan. Ada JUG di seluruh dunia, dan mereka menyediakan sumber daya yang berharga bagi pengembang Java untuk terhubung satu sama lain dan tetap mengetahui perkembangan terbaru dalam ekosistem Java.
Bagaimana Cara Kerja JVM?
Java Virtual Machine (JVM) adalah komponen perangkat lunak yang berjalan di komputer dan memungkinkan program Java dijalankan.
JVM bertanggung jawab untuk menginterpretasikan bytecode Java, yang merupakan bentuk terkompilasi dari kode Java yang dihasilkan saat program Java dibuat.
Inilah cara kerja JVM:
- Saat program Java dijalankan, JVM memuat bytecode untuk program tersebut ke dalam memori.
- JVM kemudian menginterpretasikan bytecode, menerjemahkannya menjadi instruksi yang dapat dipahami dan dijalankan oleh prosesor komputer.
- Saat JVM menginterpretasikan bytecode, ia juga melakukan berbagai tugas seperti mengalokasikan memori untuk program, mengelola utas (yang memungkinkan program melakukan banyak tugas secara bersamaan), dan menangani pengecualian (yang terjadi ketika terjadi kesalahan selama eksekusi).
- JVM juga bertanggung jawab atas pengumpulan sampah, yaitu proses mengklaim kembali memori yang tidak lagi digunakan oleh program.
Singkatnya, JVM memainkan peran penting dalam eksekusi program Java, menyediakan lingkungan runtime yang memungkinkan kode Java dieksekusi pada berbagai perangkat dan platform.
Konsep Kunci Pemrograman Java
Berikut adalah beberapa konsep kunci yang penting untuk dipahami oleh pemula saat mempelajari pemrograman Java:
- Objects and Classes: Di Java, semuanya adalah objek, dan objek dibuat dari kelas. Kelas adalah cetak biru atau templat yang mendefinisikan variabel dan metode (fungsi) yang akan dimiliki objek kelas itu.
Variables: Variabel digunakan untuk menyimpan data dalam program Java. Ada berbagai jenis variabel, termasuk tipe primitif (seperti int dan double) dan tipe referensi (seperti String dan Array).
Methods: Metode adalah fungsi yang didefinisikan dalam kelas dan dapat dipanggil untuk melakukan tugas tertentu. - Control Structures: Struktur kontrol digunakan untuk mengontrol aliran suatu program. Java memiliki beberapa struktur kontrol, termasuk pernyataan if-else, for loop, dan while loop.
- Inheritance: Warisan adalah cara untuk membuat kelas baru yang merupakan versi modifikasi dari kelas yang sudah ada. Kelas baru disebut subclass, dan kelas yang ada adalah superclass.
- Interfaces: Antarmuka adalah seperangkat metode terkait yang dapat diterapkan oleh kelas. Antarmuka memungkinkan Anda membuat serangkaian metode umum yang dapat digunakan oleh banyak kelas, bahkan jika kelas tersebut tidak terkait.
- Exception Handling: Penanganan pengecualian adalah cara untuk menangani kesalahan dan pengecualian yang terjadi selama eksekusi suatu program. Java memiliki mekanisme bawaan untuk menangani pengecualian, yang memungkinkan Anda menulis kode yang dapat pulih dari kesalahan dan terus berjalan.
Ini hanyalah beberapa konsep kunci yang penting untuk dipahami oleh pemula saat mempelajari pemrograman Java.
Masih banyak yang harus dipelajari, tetapi konsep-konsep ini akan memberi Anda dasar yang kuat untuk membangun seiring Anda terus belajar dan mengembangkan keterampilan Anda.
Apa itu Arsitektur Java?
Arsitektur Java secara sederhana dapat dijelaskan dalam langkah-langkah berikut:
- Pertama, kode sumber diubah menjadi bytecode menggunakan compiler Java.
- Kemudian, bytecode diubah menjadi kode mesin oleh Java Virtual Machine (JVM).
- Setelah itu, kode mesin masuk ke CPU untuk diproses dan menghasilkan keluaran.
- Output akan ditampilkan di layar.
Ada beberapa komponen untuk membuat bahasa pemrograman berfungsi. Dalam kasus Java, ini adalah JDK yang merupakan Java Development Kit lengkap. Mari kita pahami singkatnya JDK, JVM, dan JRE.
JDK, JVM and JRE
JDK = Development Tools + (JRE + JVM)
JDK | JRE | JVM |
JDK adalah singkatan dari Java Development Kit. | JRE adalah singkatan dari Java Runtime Environment. | JVM adalah singkatan dari Java Virtual Machine. |
Ini adalah kit pengembangan perangkat lunak yang membantu dalam pengembangan aplikasi di Java. Bersamaan dengan JRE, JDK menyertakan berbagai alat pengembangan lainnya. | Ini adalah sejenis paket perangkat lunak yang menyediakan pustaka kelas Java dengan JVM. Selain itu, termasuk komponen lain untuk menjalankan aplikasi Java. | Ini adalah mesin abstrak platform-independen yang mencakup loader, data runtime, dan mesin eksekusi. Ia juga dikenal sebagai juru bahasa Java. |
JDK bergantung pada platform. Untuk setiap platform OS (Linux, Windows, Mac, dll.) pengguna diharuskan menginstal JDK yang berbeda. | JRE juga bergantung pada platform seperti JDK. | Tidak seperti JDK dan JRE, JVM tidak bergantung pada platform, yang berarti pengguna tidak memerlukan JVM yang berbeda untuk setiap platform OS. |
Ini terdiri dari berbagai alat untuk debugging, pemantauan, dan pengembangan aplikasi java. | Ini berisi berbagai file pendukung untuk JVM dan perpustakaan kelas yang membantu JVM dalam menjalankan program. | JVM khususnya tidak terdiri dari alat apa pun untuk pengembangan perangkat lunak. |
JDK adalah superset dari JRE. | JRE adalah bagian dari JDK. | JVM adalah bagian dari JRE. |
JDK hadir dengan penginstal untuk OS. | JRE hanya berisi lingkungan untuk mengeksekusi kode sumber. |
Tool Penting untuk Pemrogram Java
Tool | Keterangan | Contoh |
Java Development Kit (JDK) | Toolkit untuk mengembangkan aplikasi Java, termasuk kompiler Java dan alat lainnya | Oracle JDK, OpenJDK |
Integrated Development Environment (IDE) | Aplikasi perangkat lunak yang menyediakan serangkaian fitur untuk menulis, men-debug, dan menguji kode Java | Eclipse, NetBeans, IntelliJ IDEA |
Text Editor | Alat sederhana untuk menulis dan mengedit kode | Teks Luhur, Atom, Notepad++ |
Version Control System (VCS) | Alat untuk melacak perubahan yang dilakukan pada basis kode dan berkolaborasi dengan pengembang lain | Git, Mercurial, Subversi |
Build Tool | Alat untuk mengotomatiskan proses kompilasi, pengujian, dan pengemasan aplikasi Java | Apache Maven, Gradle, Semut |
Debugger | Alat untuk mengidentifikasi dan memperbaiki kesalahan dalam kode | JDB, Eclipse Debugger, NetBeans Debugger |
Testing Tools | Alat untuk menguji fungsionalitas dan keandalan kode Java |