Assalamu'alaikum Wr. Wb.
Alhamdulillah, kali ini saya masih bisa untuk membuat postingan sederhana di blog sederhana ini. kali ini, saya akan membahas tentang apa itu Bahasa Pemrograman Java, sejarahnya, kekurangan dan kelebihannya, dan lain-lain masih seputar bahasa pemrograman tersebut. langsung saja, check it out!!!
Java merupakan salah satu jenis bahasa pemrograman yang paling banyak dan umum digunakan oleh para pengembang untuk membuat dan mendevelop suatu aplikasi di dalam berbagai macam platform, dari macam-macam bahasa pemrograman yang ada. Java merupakan bahasa pemrograman tingkat tinggi yang memiliki karakteristik simple, object-oriented, distributed, interpreted, aman, dan memiliki performance yang tinggi. Bahasa pemrograman Java merupakan compiler sekaligus interpreter, dimana sebagai compiler, program yang telah dibuat akan diubah menjadi java bytecodes dan kemudian sebagai interpreter java bytecodes tersebut dijalankan pada komputer.
Java platform memiliki dua komponen yaitu Java Virtual Machine yang berfungsi sebagai jembatan antara bytecode dengan hardware dan Java Application Programming Interface (Java API) yang merupakan komponen -komponen dan kelas java yang telah jadi dan memiliki kemampuan untuk menangani objek, string, angka, dan sebagainya.
Sejarah singkat terciptanya bahasa pemrograman ini ialah pada 1991, sekelompok insinyur Sun merancang bahasa komputer untuk perangkat konsumer tetapi bahasa pemrogramannya harus berukuran kecil dan bahasa harus bebas (netral) dari manufaktur manapun. Proyek ini diberi nama kode ”Green”.
Kebutuhan inilah yang mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin yang disebut dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin.
Kebutuhan inilah yang mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin yang disebut dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin.
Tetapi, karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Pada mulanya bahasa yang dibuat diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada di seberang kantornya, namun nama Oak sendiri merupakan nama bahasa pemrograman yang sudah ada, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka pun sepakat untuk memberi nama bahasa pemrograman tersebut dengan nama Java.
Adapun kelebihan dari bahasa pemrograman Java ini, ialah :
1. Sederhana dan mudah dikembangkan
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki seperti menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Setiap aplikasi/program yang dibuat dengan menggunakan Java memiliki kemampuan yang sangat baik untuk dilakukan pengembangan lebih lanjut. Hal ini sangat membantu para programmer dan developer untuk lebih baik lagi dalam mengembangkan aplikasi yang berbasis Java.
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki seperti menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Setiap aplikasi/program yang dibuat dengan menggunakan Java memiliki kemampuan yang sangat baik untuk dilakukan pengembangan lebih lanjut. Hal ini sangat membantu para programmer dan developer untuk lebih baik lagi dalam mengembangkan aplikasi yang berbasis Java.
2. Bersifat Multiplatform
Kelebihan lainnya dari bahasa pemrograman java yang banyak diminati adalah karena Java adalah salah satu bahasa pemrograman yang sifatnya multi platform, alias universal dan bisa digunakan dalam platform apapun. Mulai dari komputer desktop yang menggunakan Windows, Linux dan sistem operasi lain, hingga smartphone berbasis Android dan Windows Phone mampu untuk menjalankan aplikasi dan program yang dibuat dengan menggunakan bahasa pemrograman Java.
Kelebihan lainnya dari bahasa pemrograman java yang banyak diminati adalah karena Java adalah salah satu bahasa pemrograman yang sifatnya multi platform, alias universal dan bisa digunakan dalam platform apapun. Mulai dari komputer desktop yang menggunakan Windows, Linux dan sistem operasi lain, hingga smartphone berbasis Android dan Windows Phone mampu untuk menjalankan aplikasi dan program yang dibuat dengan menggunakan bahasa pemrograman Java.
3. Berorientasi Objek (Object Oriented)
Bahasa Pemrograman Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
Bahasa Pemrograman Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
4. Aman
Dikarenakan bahasa pemrograman ini untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
Dikarenakan bahasa pemrograman ini untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
5. Dinamis
Sifat dinamis dari bahasa pemrograman Java ini sangat erat kaitannya dengan kemampuan dari bahasa pemrograman Java yang sangat mudah untuk dikembangkan. Struktur kodenya bisa dengan mudah dimodifikasi dan dikembangkan, sesuai dengan kebutuhan oleh pengguna. Sehingga hal ini membuat Java menjadi bahasa pemrograman yang sangat dinamis dan sangat bermanfaat bagi para pengembang aplikasi yang ingin terus mengembangkan aplikasinya hingga bermanfaat bagi para penggunanya.
Namun dibalik kelebihan-kelebihan yang telah dipaparkan di atas, Java juga memiliki beberapa kekurangan, seperti :
Sifat dinamis dari bahasa pemrograman Java ini sangat erat kaitannya dengan kemampuan dari bahasa pemrograman Java yang sangat mudah untuk dikembangkan. Struktur kodenya bisa dengan mudah dimodifikasi dan dikembangkan, sesuai dengan kebutuhan oleh pengguna. Sehingga hal ini membuat Java menjadi bahasa pemrograman yang sangat dinamis dan sangat bermanfaat bagi para pengembang aplikasi yang ingin terus mengembangkan aplikasinya hingga bermanfaat bagi para penggunanya.
Namun dibalik kelebihan-kelebihan yang telah dipaparkan di atas, Java juga memiliki beberapa kekurangan, seperti :
1. Penggunaan memori cukup tinggi
Bahasa pemrograman Java memang menawarkan banyak sekali fitur yang luar biasa, akan tetapi sayangnya, semua kelebihan tersebut harus dibalas dengan kebutuhan memori yang cukup besar. Hal ini menyebabkan beberapa aplikasi Java membutuhkan resource memori yang cukup besar untuk dapat berjalan dengan baik. Begitu pula ketika seorang developer akan mengembangkan aplikasi Java, developer juga membutuhkan memori yang tinggi dalam mengembangkan aplikasi ini. Tentunya komputer yang di pakai harus memiliki kapasitas RAM cukup besar untuk melancarkan develop agar berkinerja lebih optimal.
Bahasa pemrograman Java memang menawarkan banyak sekali fitur yang luar biasa, akan tetapi sayangnya, semua kelebihan tersebut harus dibalas dengan kebutuhan memori yang cukup besar. Hal ini menyebabkan beberapa aplikasi Java membutuhkan resource memori yang cukup besar untuk dapat berjalan dengan baik. Begitu pula ketika seorang developer akan mengembangkan aplikasi Java, developer juga membutuhkan memori yang tinggi dalam mengembangkan aplikasi ini. Tentunya komputer yang di pakai harus memiliki kapasitas RAM cukup besar untuk melancarkan develop agar berkinerja lebih optimal.
2. Tidak mudah dipelajari oleh pemula
Bagi pemula dalam pembelajaran bahasa pemrograman,mungkin akan sedikit kesulitan dalam mempelajari bahasa java, karena sintaksis bahasa yang rumit dan mempunyai konsep OOP(Object Oriented Programming) tentu membawa kesulitan tersendiri, untuk mengerti keseluruhan bahasa java membutuhkan waktu yang tidak sedikit. Berbeda dengan halnya bahasa prosedural contohnya bahasa C yang mudah dipelajari untuk pemula.
Bagi pemula dalam pembelajaran bahasa pemrograman,mungkin akan sedikit kesulitan dalam mempelajari bahasa java, karena sintaksis bahasa yang rumit dan mempunyai konsep OOP(Object Oriented Programming) tentu membawa kesulitan tersendiri, untuk mengerti keseluruhan bahasa java membutuhkan waktu yang tidak sedikit. Berbeda dengan halnya bahasa prosedural contohnya bahasa C yang mudah dipelajari untuk pemula.
3. Mudah dibajak
Mudah dibajak atau bisa disebut dengan istilah dekompilasi. Java merupakan salah satu bahasa pemrograman yang mudah mengalami dekompilasi, karena souce code dan juga script yang dibuat dengan bahasa pemrograman Java dapat dengan mudah diambil dan juga dibajak oleh orang lain, sehingga memunculkan banyak hack dan juga pembajakanan dari aplikasi yang menggunakan bahasa pemrograman Java tersebut.
Bahasa Pemrograman Java juga memiliki beberapa fitur andalannya, seperti :
1. Java Virtual Machine (JVM)
JVM adalah sebuah mesin imajiner (maya) yang menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
JVM adalah sebuah mesin imajiner (maya) yang menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM. Aplikasi program Java ini dikompilasi menghasilkan satu berkas bytecode berekstensi .class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi.
2. Garbage Collection
Banyak bahasa pemrogaman lain yang mengijinkan seorang programmer mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.
Banyak bahasa pemrogaman lain yang mengijinkan seorang programmer mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek–objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh programmer dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.
3. Code Security
Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code. Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media penyimpanan, maka applet tidak diperbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena Java applet dapat membuka jendela browser yang baru, maka jendela mempunyai logo Java dan teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password.