www.wikidata.id-id.nina.az
Halaman ini berisi artikel tentang bahasa pemrograman komputer Untuk pulau di Indonesia lihat Jawa Bahasa Java beralih ke halaman ini Untuk bahasa daerah Jawa lihat Bahasa Jawa Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems yang saat ini merupakan bagian dari Oracle dan dirilis tahun 1995 Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin rutin aras bawah yang minimal Aplikasi aplikasi berbasis java umumnya dikompilasi ke dalam p code bytecode dan dapat dijalankan pada berbagai Mesin Virtual Java JVM JavaParadigmaMultiparadigma generik OOP Pemrograman berbasis kelas fungsional imperatif reflektif bersamaanDirancang olehJames GoslingpengembangOracle CorporationRilis perdana23 Mei 1995 28 tahun lalu 1995 05 23 1 Rilis stabilJava SE 20 2 21 Maret 2023 21 Maret 2023 Tipe SistemStatis kuat aman nominatif manifestFormat berkas java class jar jmodWebsitewww wbr oracle wbr com wbr java wbr Implementasi utamaKompiler OpenJDK javac sjavac GNU Compiler for Java GCJ Eclipse Compiler for Java ECJ Mesin virtual OpenJDK JRE Oracle JRockit Azul Zing IBM J9 Excelsior JET Gluon VM Microsoft JVM Apache HarmonyKompiler JIT HotSpot GraalVM Azul Falcon LLVM Terpengaruh olehCLU 3 Simula67 3 Lisp 3 Smalltalk 3 Ada 83 C 4 C 5 Eiffel 6 Mesa 7 Modula 3 8 Oberon 9 Objective C 10 UCSD Pascal 11 12 Object Pascal 13 Mempengaruhi Ada 2005 BeanShell C Chapel 14 Clojure ECMAScript Fantom Gambas 15 Groovy Hack 16 Haxe J Kotlin PHP Python Scala Seed7 Vala JavaScript JS www wbr oracle wbr com wbr java wbr Java merupakan bahasa pemrograman yang bersifat umum non spesifik general purpose dan secara khusus didesain untuk memanfaatkan dependensi implementasi seminimal mungkin 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 Saat ini java merupakan bahasa pemrograman yang paling populer digunakan dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak Oracle dan yang lainnya sangat merekomendasikan untuk menghapus versi lawas dan tidak didukung dari Java karena masalah keamanan yang belum terselesaikan di versi lama 17 Oracle menyarankan para penggunanya untuk segera bertransisi ke versi yang mendukung seperti salah satu versi LTS 8 11 17 Pada Maret 2023 Java 20 adalah versi terbaru sedangkan Java 17 11 dan 8 adalah versi Long term support LTS saat ini Daftar isi 1 Sejarah perkembangan 2 Versi 2 1 Riawayat versi 3 Kelebihan dan kekurangan 3 1 Kelebihan 3 2 Kekurangan 4 Sintaks 4 1 Contoh dengan metode 5 Dokumentasi 6 Tahap kompilasi 7 Integrated Development Environment 8 Referensi 9 Karya dikutip 10 Pranala luarSejarah perkembangan Sunting nbsp Duke si maskot Java nbsp James Gosling pembuat dari Java pada 2008Bahasa pemrograman Java terlahir 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 dan James Gosling 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 dipakai hanya di kalangan akademisi dan militer Mereka menjadikan peramban 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 0a2 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 release Java karena sebuah perangkat lunak lain 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 Konon kopi ini berasal dari Pulau Jawa Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa bahasa Inggris untuk Jawa adalah Java Versi SuntingVersi awal Java pada tahun 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 Riawayat versi Sunting Artikel utama riwayat versi Java Hingga September 2021 update Java 8 11 dan 17 didukung sebagai versi Long Term Support LTS 18 Perilisan utama dari Java bersama dengan tanggal perilisannya Versi TanggalJDK Beta 1995JDK 1 0 23 Januari 1996 19 JDK 1 1 19 Februari 1997J2SE 1 2 8 Desember 1998J2SE 1 3 8 Mei 2000J2SE 1 4 6 Februari 2002J2SE 5 0 30 September 2004Java SE 6 11 Desember 2006Java SE 7 28 Juli 2011Java SE 8 LTS 18 Maret 2014Java SE 9 21 September 2017Java SE 10 20 Maret 2018Java SE 11 LTS 25 September 2018 20 Java SE 12 19 Maret 2019Java SE 13 17 September 2019Java SE 14 17 Maret 2020Java SE 15 15 September 2020 21 Java SE 16 16 Maret 2021Java SE 17 LTS 14 September 2021Java SE 18 22 Maret 2022Java SE 19 20 September 2022Java SE 20 21 Maret 2023Kelebihan dan kekurangan SuntingKelebihan Sunting 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 di atas 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 Penyebabnya 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 Java merupakan salah satu bahasa pemrograman dengan konsep OOP Diarsipkan 2017 01 18 di Wayback Machine Di mana program yang dibangun berorientasikan kepada Object Aplikasi yang dibangun dengan konsep OOP terdiri atas object object yang saling berhubungan 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 Serikat 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 Sunting Tulis sekali jalankan 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 Sintaks SuntingContoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut Outputs Hello world and then exits public class HelloWorld public static void main String args System out println Hello world Semua file sumber harus dinamai setelah berisi public class menambahkan suffix java sebagai contoh HelloWorldApp java Itu harus terlebih dahulu dikompilasi menjadi bytecode menggunakan sebuah kompiler Java membuat sebuah file dengan suffix class HelloWorldApp class dalam kasus ini Hanya dengan begitu itu dapat dieksekusi atau diluncurkan File sumber Java hanya boleh berisi satu public class tapi itu dapat berisi beberapa class dengan pengubah akses non publik dan sejumlah class dalam publik Saat file sumber memiliki beberapa Class perlu untuk membuat satu class diperkenalkan oleh kata kunci b class b publik didahului oleh kata kunci b public b dan beri nama file sumber dengan nama public class itu Contoh dengan metode Sunting Ini adalah dari komen satu baris menggunakan dua garis miring Ini adalah contoh komentar beberapa baris menggunakan garis miring dan tanda bintang Jenis komentar ini dapat digunakan untuk menyimpan banyak informasi atau menonaktifkan kode tetapi sangat penting untuk diingat untuk menutup komentar package fibsandlies import java util Map import java util HashMap Ini adalah contoh komentar Javadoc Javadoc dapat mengkompilasi dokumentasi dari teks ini Komentar Javadoc harus segera mendahului kelas metode atau bidang yang didokumentasikan author Relawan Wikipedia public class FibCalculator extends Fibonacci implements Calculator private static Map lt Integer Integer gt memoized new HashMap lt gt Metode utama yang ditulis sebagai berikut digunakan oleh JVM sebagai titik awal untuk program public static void main String args memoized put 1 1 memoized put 2 1 System out println fibonacci 12 Mendapatkan nomor Fibonacci ke 12 dan print ke konsol Contoh metode yang ditulis dalam Java dibungkus dalam class Diberikan angka non negatif FIBINDEX return angka Fibonacci ke N di mana N sama dengan FIBINDEX param fibIndex Indeks angka Fibonacci return Nomor Fibonacci public static int fibonacci int fibIndex if memoized containsKey fibIndex return memoized get fibIndex int jawaban fibonacci fibIndex 1 fibonacci fibIndex 2 memoized put fibIndex jawaban return jawaban Dokumentasi SuntingArtikel utama Javadoc Javadoc adalah sistem dokumen komprehensif dibuat oleh Sun Microsystems Itu menyediakan pengembang dengan sebuah sistem terorganisir untuk mendokumentasi kode mereka Komentar Javadoc memiliki tanda bintang ekstra di awal yaitu pembatas adalah dan sedangkan komentar multi baris normal di Java dibatasi oleh dan dan komentar baris tunggal dimulai dengan 22 Tahap kompilasi SuntingTulis Ubah Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas java Kompilasi Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas class Muat Pemuat kelas memuat bytecodes ke memori Verifikasi Peng verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java Jalankan Penerjemah menerjemahkan bytecodes ke bahasa mesin tidak bisa di pakai Integrated Development Environment SuntingBanyak pihak telah membuat IDE Integrated Development Environment Lingkungan Pengembangan Terintegrasi untuk Java Yang populer saat ini Juli 2006 antara lain Dr Java program gratis yang dikembangkan olehUniversitas Rice Amerika SerikatUniversitas RiceUniversitas Rice BlueJ program gratis yang dikembangkan olehUniversitas Monash Australia NetBeans open source Common Development and Distribution License CDDL Diarsipkan 2006 07 13 di Wayback Machine NetBeans disponsori Sun Microsystems dan versi terkininya memilki Matisse sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik butuh rujukan Eclipse JDT open source Eclipse Public License Eclipse dibuat dari kerja sama antara perusahaan perusahaan anggota Eclipse Foundation beserta individu individu lain Banyak nama besar yang ikut dalam Eclipse Foundation termasuk IBM BEA Intel Nokia Borland Eclipse bersaing langsung dengan Netbeans IDE Plugin tambahan pada Eclipse jauh lebih banyak dan bervariasi dibandingkan IDE lainnya IntelliJ IDEA ada versi berbayar dengan gratis 30 hari trial dan versi community untuk pengembangan Android Oracle JDeveloper Diarsipkan 2008 05 14 di Wayback Machine gratis Xinox JCreator Diarsipkan 2009 02 28 di Wayback Machine ada versi berbayar maupun gratis JCreator ditulis dalam C C sehingga lebih cepat dan menggunakan memori lebih sedikit dari kebanyakan Referensi Sunting Binstock Andrew May 20 2015 Java s 20 Years of Innovation Forbes Diarsipkan dari versi asli tanggal March 14 2016 Diakses tanggal March 18 2016 Parameter url status yang tidak diketahui akan diabaikan bantuan JDK 20 a b c d Barbara Liskov with John Guttag 2000 Program Development in Java Abstraction Specification and Object Oriented Design USA Addison Wesley ISBN 9780201657685 Chaudhary Harry H 2014 07 28 Cracking The Java Programming Interview 2000 Java Interview Que Ans Diakses tanggal 2016 05 29 Java 5 0 menambahkan beberapa fitur bahasa baru enhanced for loop autoboxing varargs dan anotasi setelah mereka diperkenalkan di tempat yang sama dan bersaing bahasa C 1 Diarsipkan March 19 2011 di Wayback Machine 2 Diarsipkan January 7 2006 di Wayback Machine Gosling James McGilton Henry May 1996 The Java Language Environment Diarsipkan dari versi asli tanggal May 6 2014 Diakses tanggal May 6 2014 Parameter url status yang tidak diketahui akan diabaikan bantuan Gosling James Joy Bill Steele Guy Bracha Gilad The Java Language Specification 2nd Edition Diarsipkan dari versi asli tanggal August 5 2011 Diakses tanggal February 8 2008 Parameter url status yang tidak diketahui akan diabaikan bantuan The A Z of Programming Languages Modula 3 Computerworld com au Diarsipkan dari versi asli tanggal January 5 2009 Diakses tanggal June 9 2010 Parameter url status yang tidak diketahui akan diabaikan bantuan Niklaus Wirth stated on a number of public occasions e g in a lecture at the Polytechnic Museum Moscow in September 2005 several independent first hand accounts in Russian exist e g one with an audio recording Filippova Elena September 22 2005 Niklaus Wirth s lecture at the Polytechnic Museum in Moscow Diarsipkan dari versi asli tanggal December 1 2020 Diakses tanggal November 20 2011 Parameter url status yang tidak diketahui akan diabaikan bantuan that the Sun Java design team licensed the Oberon compiler sources a number of years prior to the release of Java and examined it a relative compactness type safety garbage collection no multiple inheritance for classes all these key overall design features are shared by Java and Oberon Patrick Naughton cites Objective C as a strong influence on the design of the Java programming language stating that notable direct derivatives include Java interfaces derived from Objective C s protocol and primitive wrapper classes 3 Diarsipkan July 13 2011 di Wayback Machine TechMetrix Research 1999 History of Java PDF Java Application Servers Report Diarsipkan dari versi asli PDF tanggal December 29 2010 The project went ahead under the name green and the language was based on an old model of UCSD Pascal which makes it possible to generate interpretive code Parameter url status yang tidak diketahui akan diabaikan bantuan A Conversation with James Gosling ACM Queue Queue acm org August 31 2004 Diarsipkan dari versi asli tanggal July 16 2015 Diakses tanggal June 9 2010 Parameter url status yang tidak diketahui akan diabaikan bantuan In the summer of 1996 Sun was designing the precursor to what is now the event model of the AWT and the JavaBeans component architecture Borland contributed greatly to this process We looked very carefully at Delphi Object Pascal and built a working prototype of bound method references in order to understand their interaction with the Java programming language and its APIs White Paper About Microsoft s Delegates Chapel spec Acknowledgements PDF Cray Inc October 1 2015 Diarsipkan dari versi asli PDF tanggal February 5 2016 Diakses tanggal January 14 2016 Parameter url status yang tidak diketahui akan diabaikan bantuan Gambas Documentation Introduction Gambas Website Diarsipkan dari versi asli tanggal October 9 2017 Diakses tanggal October 9 2017 Parameter url status yang tidak diketahui akan diabaikan bantuan Facebook Q amp A Hack brings static typing to PHP world InfoWorld March 26 2014 Diarsipkan dari versi asli tanggal February 13 2015 Diakses tanggal January 11 2015 Parameter url status yang tidak diketahui akan diabaikan bantuan Why should I uninstall older versions of Java from my system Oracle Diarsipkan dari versi asli tanggal February 12 2018 Diakses tanggal 2021 09 24 Parameter url status yang tidak diketahui akan diabaikan bantuan Oracle Java SE Support Roadmap Oracle September 13 2021 Diarsipkan dari versi asli tanggal 2021 09 19 Diakses tanggal September 18 2021 Parameter url status yang tidak diketahui akan diabaikan bantuan JAVASOFT SHIPS JAVA 1 0 sun com Diarsipkan dari versi asli tanggal March 10 2007 Diakses tanggal 2008 02 05 Parameter url status yang tidak diketahui akan diabaikan bantuan Chander Sharat Introducing Java SE 11 oracle com Diarsipkan dari versi asli tanggal September 26 2018 Diakses tanggal September 26 2018 Parameter url status yang tidak diketahui akan diabaikan bantuan The Arrival of Java 15 Oracle September 15 2020 Diarsipkan dari versi asli tanggal September 16 2020 Diakses tanggal 2020 09 15 Parameter url status yang tidak diketahui akan diabaikan bantuan How to Write Doc Comments for the Javadoc Tool Oracle Technology Network Oracle Diarsipkan dari versi asli tanggal December 18 2014 Diakses tanggal December 18 2014 Parameter url status yang tidak diketahui akan diabaikan bantuan Karya dikutip SuntingGosling James Joy Bill Steele Guy Bracha Gilad Buckley Alex 2014 The Java Language Specification PDF edisi ke Java SE 8 Diarsipkan dari versi asli PDF tanggal October 21 2014 Diakses tanggal November 18 2014 Parameter url status yang tidak diketahui akan diabaikan bantuan Gosling James Joy Bill Steele Guy L Jr Bracha Gilad 2005 The Java Language Specification edisi ke 3rd Addison Wesley ISBN 0 321 24678 0 Diarsipkan dari versi asli tanggal February 14 2012 Diakses tanggal February 8 2019 Parameter url status yang tidak diketahui akan diabaikan bantuan Lindholm Tim Yellin Frank 1999 The Java Virtual Machine Specification edisi ke 2nd Addison Wesley ISBN 0 201 43294 3 Diarsipkan dari versi asli tanggal September 25 2011 Diakses tanggal February 8 2019 Parameter url status yang tidak diketahui akan diabaikan bantuan Pranala luar Sunting Inggris Situs resmi Java Sun Diperoleh dari https id wikipedia org w index php title Java amp oldid 24103085