Java: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
NikolasKHF (bicara | kontrib)
k Perbaikan beberapa salah ketik yang berhubungan dengan kapitalisasi.
 
(Satu revisi perantara oleh satu pengguna lainnya tidak ditampilkan)
Baris 14:
| latest preview version = {{wikidata|property|edit|reference|P548=Q51930650|P348}}
| dialects =
| influenced_by = [[CLU (bahasa pemrograman)|CLU]],<ref name="BarbaraLiskov">{{cite book |title=Program Development in Java - Abstraction, Specification, and Object-Oriented Design|url=https://archive.org/details/programdevelopme0000lisk|author=[[Barbara Liskov]] with [[John Guttag]]|isbn=9780201657685|publisher=USA, Addison Wesley|year=2000}}</ref> [[Simula67]],<ref name="BarbaraLiskov"/> [[Lisp (bahasa pemrograman)|Lisp]],<ref name="BarbaraLiskov"/> [[Smalltalk]],<ref name="BarbaraLiskov"/> [[Ada (bahasa pemrograman)|Ada 83]], [[C++]],<ref>{{cite web|url={{Google books|0rUtBAAAQBAJ|page=PA133|plainurl=yes}}|title=Cracking The Java Programming Interview :: 2000+ Java Interview Que/Ans|first=Harry H.|last=Chaudhary|access-date=2016-05-29|date=2014-07-28}}</ref> [[C Sharp (bahasa pemrograman)|C#]],<ref>Java&nbsp;5.0 menambahkan beberapa fitur bahasa baru ([[foreach loop|enhanced for loop]], [[object type (object-oriented programming)#Autoboxing|autoboxing]], [[variadic function|varargs]] dan [[Anotasi Java|anotasi]]), setelah mereka diperkenalkan di tempat yang sama (dan bersaing) bahasa
[[C Sharp (bahasa pemrograman)|C#]]. [http://www.barrycornelius.com/papers/java5/] {{Webarchive|url=https://web.archive.org/web/20110319065438/http://www.barrycornelius.com/papers/java5/|date=March 19, 2011}} [http://www.levenez.com/lang/] {{Webarchive|url=https://web.archive.org/web/20060107162045/http://www.levenez.com/lang/|date=January 7, 2006}}</ref> [[Eiffel (programming language)|Eiffel]],<ref>{{cite web|author1=Gosling, James|author2=McGilton, Henry|title=The Java Language Environment|date=May 1996|url=https://www.oracle.com/technetwork/java/langenv-140151.html|access-date=May 6, 2014|archive-url=https://web.archive.org/web/20140506214653/http://www.oracle.com/technetwork/java/langenv-140151.html|archive-date=May 6, 2014|url-status=live|df=mdy-all}}</ref> [[Mesa (bahasa pemrograman)|Mesa]],<ref>{{cite web|author1=Gosling, James|author2=Joy, Bill|author3=Steele, Guy|author4=Bracha, Gilad|title=The Java Language Specification, 2nd Edition|url=https://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html#237601|access-date=February 8, 2008|archive-url=https://web.archive.org/web/20110805051057/http://java.sun.com/docs/books/jls/second_edition/html/intro.doc.html#237601|archive-date=August 5, 2011 |url-status=live |df=mdy-all}}</ref> [[Modula-3]],<ref>{{cite web|url=http://www.computerworld.com.au/index.php/id;1422447371;pp;3;fp;4194304;fpid;1|title=The A-Z of Programming Languages: Modula-3|publisher=Computerworld.com.au|access-date=2010-06-09|url-status=dead|archive-url=https://web.archive.org/web/20090105145818/http://www.computerworld.com.au/index.php/id%3B1422447371%3Bpp%3B3%3Bfp%3B4194304%3Bfpid%3B1|archive-date=January 5, 2009|df=mdy-all}}</ref> [[Oberon (programming language)|Oberon]],<ref>[[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: {{cite web|author=Filippova, Elena|title=Niklaus Wirth's lecture at the Polytechnic Museum in Moscow|date=September 22, 2005|url=http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1155|access-date=November 20, 2011|archive-date=December 1, 2020|archive-url=https://web.archive.org/web/20201201054813/http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1155|url-status=live}}), 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{{snd}} all these key overall design features are shared by Java and Oberon.</ref> [[Objective-C]],<ref>[[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 [[Objective-C#Protocols|protocol]]) and primitive wrapper classes. [http://cs.gmu.edu/~sean/stuff/java-objc.html] {{Webarchive|url=https://web.archive.org/web/20110713014816/http://cs.gmu.edu/~sean/stuff/java-objc.html|date=July 13, 2011}}</ref> [[UCSD Pascal]],<ref>{{cite web|url=http://www.fscript.org/prof/javapassport.pdf|quote=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.|title=History of Java|work=Java Application Servers Report|author=TechMetrix Research|year=1999|url-status=dead|archive-url=https://web.archive.org/web/20101229090912/http://www.fscript.org/prof/javapassport.pdf|archive-date=December 29, 2010|df=mdy-all}}</ref><ref>{{cite web|url=http://queue.acm.org/detail.cfm?id=1017013|title=A Conversation with James Gosling – ACM Queue |publisher=Queue.acm.org|date=August 31, 2004|access-date=2010-06-09|archive-url=https://web.archive.org/web/20150716194245/http://queue.acm.org/detail.cfm?id=1017013|archive-date=July 16, 2015|url-status=live|df=mdy-all}}</ref> [[Object Pascal]]<ref>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.[https://web.archive.org/web/20120627043929/http://java.sun.com/docs/white/delegates.html White Paper About Microsoft's Delegates]</ref>
| influenced = [[Ada (bahasa pemrograman)|Ada 2005]], [[BeanShell]], [[C Sharp (bahasa pemrograman)|C#]], [[Chapel (bahasa pemrograman)|Chapel]],<ref name="chplspec">{{cite web|title=Chapel spec (Acknowledgements)|url=http://chapel.cray.com/spec/spec-0.98.pdf|date=2015-10-01|access-date=2016-01-14|publisher=Cray Inc.|archive-url=https://web.archive.org/web/20160205114946/http://chapel.cray.com/spec/spec-0.98.pdf|archive-date=February 5, 2016|url-status=live|df=mdy-all}}</ref> [[Clojure]], [[ECMAScript]], [[Fantom (bahasa pemrograman)|Fantom]], [[Gambas]],<ref name="gambas">{{cite web|url=http://gambaswiki.org/wiki/doc/intro?nh&l=en|title=Gambas Documentation Introduction|publisher=Gambas Website|access-date=2017-10-09|archive-url=https://web.archive.org/web/20171009041815/http://gambaswiki.org/wiki/doc/intro?nh&l=en|archive-date=October 9, 2017|url-status=live|df=mdy-all}}</ref> [[Groovy (bahasa pemrograman)|Groovy]], [[Hack (bahasa pemrograman)|Hack]],<ref>{{cite magazine|url=http://www.infoworld.com/article/2610885/facebook-q-a--hack-brings-static-typing-to-php-world.html|title=Facebook Q&A: Hack brings static typing to PHP world|magazine=InfoWorld|date=March 26, 2014|access-date=2015-01-11|archive-url=https://web.archive.org/web/20150213220946/http://www.infoworld.com/article/2610885/facebook-q-a--hack-brings-static-typing-to-php-world.html|archive-date=February 13, 2015|url-status=live|df=mdy-all}}</ref> [[Haxe (bahasa pemrograman)|Haxe]], [[J Sharp|J#]], [[Kotlin (bahasa pemrograman)|Kotlin]], [[PHP]], [[Python (bahasa pemrograman)|Python]], [[Scala (bahasa pemrograman)|Scala]], [[Seed7]], [[Vala (bahasa pemrograman)|Vala]], [[JavaScript]], [[JS++]]
Baris 20:
}}
 
'''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 (bahasa pemrograman)|C]] dan [[C++]] namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis javaJava umumnya dikompilasi ke dalam [[p-code]] (''bytecode'') dan dapat dijalankan pada berbagai [[Mesin virtual java|Mesin Virtual Java (JVM)]].
 
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 javaJava mampu berjalan di beberapa platform [[sistem operasi]] yang berbeda, javaJava dikenal pula dengan slogannya, "''Tulis sekali, jalankan di mana pun''". Saat ini javaJava merupakan bahasa pemrograman yang paling populer digunakan{{Butuh rujukan}}, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak.
 
[[Oracle Corporation|Oracle]] (dan yang lainnya) sangat merekomendasikan untuk menghapus versi lawas dan tidak didukung dari Java, karena masalah keamanan yang belum terselesaikan di versi lama.<ref>{{Cite web|title=Why should I uninstall older versions of Java from my system?|url=https://www.java.com/en/download/faq/remove_olderversions.xml|publisher=Oracle|archive-url=https://web.archive.org/web/20180212011608/https://java.com/en/download/faq/remove_olderversions.xml|archive-date=February 12, 2018|access-date=2021-09-24|url-status=live}}</ref> Oracle menyarankan para penggunanya untuk segera bertransisi ke versi yang mendukungdidukung, 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.
Baris 31:
[[Berkas:Duke (Java mascot) waving.svg|jmpl|Duke, si [[maskot]] Java|100px]]
[[Berkas:James Gosling 2008.jpg|jmpl|200px|James Gosling, pembuat dari Java, pada 2008]]
[[Bahasa pemrograman]] Java terlahir dari [[The Green Project]], yang berjalan selama 18 bulan, yaitu dari awal tahun 1991 hingga musim panas 1992. Proyek tersebutini awalnya diciptakan untuk televisi interaktif <ref>{{Webarchive|url=https://web.archive.org/web/20100210225651/http://www.java.com/en/javahistory/|title=The History of Java Technology|date=10 Februari 2010}}</ref>, belumdimana menggunakanawalnya versibahasa yangini 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, California|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 PDAperangkat [[asisten digital pribadi]] 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 [[Internetinternet]] sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internetinternet 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.
Baris 45:
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]].
 
NamaPada Oakawalnya, bahasa ini dinamakan sebagai Oak yang diambil dari pohon [[Pasang (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 ==
Versi awal Java pada tahun 1996 sudah merupakan versi releaserilis sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
* <code>java. Lang</code>: Peruntukan kelas elemen-elemen dasar.
* <code>java.io</code>: Peruntukan kelas ''input'' dan ''output'', termasuk penggunaan berkas.
* <code>java.util</code>: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas -kelas penanggalan.
* <code>java.net</code>: Peruntukan kelas [[TCP/IP]], yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
* <code>java.awt</code>: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
Baris 58:
=== Riawayat versi ===
{{Main|riwayat versi Java}}
{{As of|2021|09}}, Java 8, 11, dan 17 didukung sebagai versi [[Long-term support|Long-Term Support]] (LTS).<ref>{{cite web|date=September 13, 2021|title=Oracle Java SE Support Roadmap|url=https://www.oracle.com/java/technologies/java-se-support-roadmap.html|publisher=Oracle|archive-url=https://web.archive.org/web/20210919090451/https://www.oracle.com/java/technologies/java-se-support-roadmap.html|archive-date=2021-09-19|access-date=September 18, 2021|url-status=live}}</ref>
 
Perilisan utama dari Java, bersama dengan tanggal perilisannya: