Java adalah bahasa pemrograman berorientasi object yang sederhana namun powerful dan memiliki sintaks yang sebagian besar sama dengan C++. Java aslinya dikembangkan di Sun Microsystems, inc pada 1991. Tim pengembangnya terdiri dari James Gosling, Patrick Naughton, Chris Warth, Ed Frank, dan Mike Sheridan. Java dikembangkan untuk menyediakan bahasa pemrograman yang tidak tergantung pada platform tertentu.
Tidak seperti bahasa pemrograman lain termasuk C dan C++, ketika java dikompilasi, hasil kompilasi tidak berupa platform untuk mesin tertentu, namun dikompilasi menjadi code byte yang independent. Code byte ini didistribusikan melalui web dan di interpretasikan oleh Java Virtual Machine (JVM) dimanapun platformnya dijalankan. Java didesain dengan konsep "tulis sekali dan jalankan dimanapun". Java Virtual Machine memegang peranan penting dalam memenuhi konsep ini. JVM adalah lingkungan dimana program java dieksekusi. JVM merupakan software yang di implementasikan di atas hardware dan sistem operasi yang sebenarnya. Ketika sourcecode (file .java) dikompilasi, hasil kompilasinya adalah file binary dengan ekstensi .class. JVM kemudian mengeksekusi file binary tersebut (file .class). Dengan ini file binary java bisa dianggap sebagai bahasa mesin dari JVM. Jadi, JVM harus sudah ditanamkan di dalam sebuah platform, sebelum program hasil kompilasi bisa dijalankan di platform tersebut.Karena java adalah bahasa pemrograman yang berorientasi objek, java memiliki beberapa fitur, antara lain:
- Code yang bisa dipakai berulang kali
- Lebih ditekankan pada data daripada prosedur
- Data tersembunyi dan tidak dapat diakses oleh fungsi eksternal
- Objek bisa berkomunikasi satu sama lain melalui fungsi
- data dan fungsi baru bisa dengan mudah ditambahkan
- Simple
- Portable (tidak bergantung platform)
- Terdistribusi
- Kuat
- Aman
- Performa yang tinggi
- Dinamis
- Terinterpretasi
Pemrograman berorientasi objek adalah sebuah metode penerapan yang mana program-program diatur sebagai sekumpulan objek yang saling bekerja sama. Setiap kumpulan objek tersebut akan membentuk class dan semua class akan membentuk hierarki yang saling berhubungan. Pemrograman berorientasi objek memiliki beberapa konsep, antaral lain:
- Abstraksi (Abstraction)
- Abstraksi menunjukan karakteristik paling penting dari sebuah objek yang membedakannya dari objek lain. Dan mendefinisikan secara singkat batasan konsep-konsep dasar yang bergantung dari sudut pandang pengguna.
- Enkapsulasi (Encapsulation)
- Enkapsulasi maksudnya adalah mengumpulkan menjadi satu elemen-elemen dari abstraksi yang mendasari struktur dan perilakunya. Enkapsulasi berperan untuk mengatur hubungan antar abstraksi berdasarkan ketentuan yang telah di atur. Penerapan dari enkapsulasi antara lain:
- Menyembunyikan detail implementasi dari sebuah class
- Memaksa user menggunakan interface untuk mengakses data.
- Menjadikan code program lebih mudah dirawat.
- Pewarisan (Inheritance)
- Pewarisan adalah proses dimana objek memerlukan sesuatu dari objek lain
- Polimorfisme (Polymorphism)
- Polimorfisme adalah eksitensi dari class atau method meskipun dalam bentuk yang berbeda, atau bisa juga satu nama yang mewakili implementasi yang berbeda.
Seperti yang disebutkan sebelumnya, java adalah bahasa pemrograman yang terdistribusi. Apabila java dilengkapi seperangkat routine tambahan untuk menangani protokol TCP/IP seperti HTTP dan FTP, java bisa membuka dan mengakses dari objek antar jaringan melalui URL.
Dalam bahasa java, beberapa bagian program dapat berjalan scara bersamaan. Hal ini disebut multithread. Salah satu contohnya adalah kita bisa menjalankan beberapa java applet dalam sebuah browser secara bersamaan dan saling berbagi waktu CPU.
Java didesain agar melakukan eksekusi kode yang aman antar jaringan. Untuk membuat java aman, banyak fitur dari C dan C++ yang dihilangkan. Java tidak memiliki Pointer, dan java tidak memiliki akses terhadap alamat memory
Pengumpul sampah (garbage collector) yang otomatis adalah fitur hebat lainnya dari java yang mana mampu mencegah kerusakan dari memory yang tidak disengaja. Serupa dengan C dan C++, java memiliki operator baru untuk mengalokasikan memory pada tumpukan objek-objek baru. Tapi, java tidak menggunakan operator delete untuk membebaskan memory seperti yang dilakukan di C dan C++ ketika sebuah objek tidak dibutuhkan lagi. Proses ini secara otomatis dilakukan oleh garbage collector
Javasudah berkemabng dari bahasa sederhana yang mampu membuat isi dari sebuah web lebih dinamis dan interaktif menjadi bahasa pemrograman paling utama yang cocok untuk pengembangan aplikasi yang berbobot dan berskala besar. Hari ini, java telah digunakan untuk berbagai tipe jenis aplikasi, antara lain: apliaksi berbasis web, apliaksi keuangan, apliaksi game, sistem tertanam, aplikasi terdistribusi antar perusahaan, aplikasi mobile, pengolah gambar, aplikasi desktop dan masih banyak lagi.
Tweet
Terima kasih atas tambahan materinya
BalasHapus