Java: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Achmatim (bicara | kontrib)
periksa terjemahan, tambahi info
Baris 1:
:''Ini adalah artikel bahasa pemrograman komputer. Untuk Pulau di Indonesia, lihat [[Jawa]]''
{{paragraf pembuka}}
 
{{Infobox programming language
|name = Java
Baris 13 ⟶ 16:
 
== Sejarah perkembangan Java ==
 
[[Bahasa pemrograman]] Java pertama lahir 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, [[James Gosling]] dan Bill Joy, beserta sembilan pemrogram lainnya dari [[Sun Microsystems]]. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
 
Baris 31 ⟶ 33:
 
== Versi Awal ==
 
Versi awal Java ditahun [[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:
* <code>java.lang</code>: Peruntukan kelas elemen-elemen dasar.
* <code>java.io</code>: Peruntukan kelas ''input'' dan ''output'', termasuk penggunaan fileberkas.
* <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 antar mukaantarmuka dengan pengguna (GUI)
* <code>java.applet</code>: Kelas dasar aplikasi antar muka untuk diterapkan pada webbrowserpenjelajah web.
 
<!-- tag tak netral dipindah ke bagian yang tak netral (bagian IDE) -->
 
== Kelebihan ==
* '''''Multiplatform'''''. Kelebihan utama dari Java ialah dapat dijalankan di beberapa ''platform'' / sistem operasi komputer, sesuai dengan prinsip ''writetulis oncesekali, runjalankan di everymana wheresaja''. Dengan kelebihan ini pemrogram cukup menulis sebuah program javaJava 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]]''', singkatan dari (''Object Oriented Programming'' - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah [[objek (pemrograman)|Objek]]. Java merupakan salah satu bahasa pemrograman berbasis objectoebjek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut ''Object''. Hal ini sangat memudahkan programmerpemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis javaJava secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan javaJava sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
* ''Multiplatform''. Kelebihan utama dari Java ialah dapat dijalankan di beberapa ''platform'' / sistem operasi komputer, sesuai dengan prinsip ''write once, run every where''. 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]].
 
* '''LibraryPerpustakaan Kelas SangatYang Lengkap''' {{fact}}, Java terkenal dengan kelengkapan ''library''/[[perpustakaan (pemrograman)|perpustakaan]] (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para programmerpemrogram untuk membangun aplikasinya. Kelengkapan ''library''perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat ''libraryperpustakaan-library''perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
* '''[[OOP]]''', singkatan dari ''Object Oriented Programming'' yang artinya semua aspek yang terdapat di Java adalah objek. Java merupakan salah satu bahasa pemrograman berbasis object murni. Semua tipe data diturunkan dari kelas dasar Object. Hal ini sangat memudahkan programmer 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.
 
* '''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.
* '''Library Kelas Sangat Lengkap''' {{fact}}, Java terkenal dengan kelengkapan ''library'' (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para programmer untuk membangun aplikasinya. Kelengkapan ''library'' ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat ''library-library'' baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
 
* '''Bergaya[[Pengumpulan C++sampah]]''' otomatis, memiliki sintaksfasilitas sepertipengaturan bahasapenggunaan pemrograman C++memori sehingga menarikpara banyakpemrogram programmertidak C++perlu untukmelakukan pindahpengaturan kememori Java.secara Saatlangsung ini(seperti penggunahalnya javadalam sangat banyak, sebagian besar adalah programmerbahasa C++ yang pindahdipakai kesecara Javaluas).
 
* '''''[[Garbage Collection]]''''', memiliki fasilitas pengaturan penggunaan memori sehingga programmer tidak perlu melakukan pengaturan memori secara langsung.
 
== Kekurangan ==
* ''Write'Tulis oncesekali, debugperbaiki di mana everywheresaja''' - AdaMasih 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 executablekode codejadi menjadi sourcekode codesumber. Ini dimungkinkan karena executablekoe jadi Java merupakan ''bytecode'' yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, methodmetode, 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/di''reverse-engineer''.
* ''Write once, debug everywhere'' - 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 executable code menjadi source code. Ini dimungkinkan karena executable Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, method, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan.
 
* '''HeavyPenggunaan memorymemori yang usagebanyak'''. 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 desktopkomputer berumur lebih dari 4 tahun.
 
== Contoh Kode Program Sederhana Dalam Java ==
Contoh program [[Hello Worldworld|Halo dunia]] yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut:
 
class HelloWorldHaloDunia
{
public static void main(String[] argsargumen)
{
System.out.println("HelloHalo WorldDunia");
}
}
 
== Tahap Kompilasi Java == <!-- bahasanya masih perlu diindonesiakan -->
#Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
#Kompilasi. KompilerPengkompilasi membentuk kode bit''bytecodes'' dari program menjadi bentuk berkas '.class'
#LoadMuat. ClassPemuat loaderkelas meloadmemuat ''bytecodes'' ke memori
#VerifyVerifikasi. VerifierPeng-verifikasi memastikan ''bytecodes'' tidak mengganggu sistem sekuritikeamanan Java
#Jalankan. InterpreterPenerjemah menerjemahkan ''bytecodes'' ke bahasa mesin
 
 
== Integrated Development Environment == <!-- haruskah diganti ke lingkungan pengembangan terintegrasi ? -->
 
Banyak pihak telah membuat [[IDE]] (''Integrated Development Environment'' - Lingkungan Pengembangan Terintegrasi) untuk Java. Yang populer saat ini (Juli 2006) antara lain:
* [http://www.drjava.org Dr. Java, program gratis yang dikembangkan oleh [[Universitas Rice]], [[AS]]]
* [http://www.bluej.org BlueJ, program gratis yang dikembangkan oleh [[Universitas Monash]], [[Australia]]]
* [http://www.netbeans.org/products/ide/ NetBeans] (open source- [http://www.netbeans.org/about/legal/license.html Common Development and Distribution License (CDDL)])
NetBeans disponsori Sun Microsystems, dan versi terkininya memilki Matisse, sebuah GUI Editor yang menurut pendapat umum merupakan yang terbaik. {{fact}}