- Sejarah Singkat Java
James Gosling, Mike Sheridan, dan Patrick Naugthon ditugaskan untuk membentuk project kecil yang diberi nama "Green Project" untuk mengembangkan bahasa java pada juni 1991 dibawah naungan perusahaan "Sun Microsystems". Bahasa Java awalnya bernama "Oak" yang pada tahun 1993 beralaih fokus utama dari support untuk perangkat televisi interaktif berubah ke teknologi yang dikenal sebagai Internet. Akhirnya di tahun 1995, Sun Microsystem secara resmi merilis pemrograman ini sebagai bahasa pemrogaman "Java" karena nama Oak ternyata sudah terdaftar sebagai merk dagang di perusahaan lain, yakni Oak Teknologi. Kata Java sendiri terinspirasi dari "Java Cofee" atau kopi jawa dengan logo berupa gambar secangkir kopi. Bahasa java merupakan pengembangan dari bahasa C dan C++ yang belum memiliki automatic garbage collector atau pelepasan memori secara otomatis supaya terhindar dari kebocoran memori(memory leaks).
- Mengenal Bahasa Pemrograman Java
Bahasa Pemrograman Java merupakan bahasa pemrograman tingkat tinggi atau high level yang sangat populer dan memilliki berberapa karakteristik sebagai berikut :
2.1. Sederhana dan Mudah
Dengan base sintak dari bahasa C dan C++ yang kemudian dikembangkan untuk mengurangi hal hal yang sulit, disamping juga termasuk dalam kategori high level programming language yang perintahnya sudah mengadopsi bahasa manusia menjadikan bahasa java sangat sedehana dan mudah dimengerti.
2.2. Berorientasi Pada Objek(OOP)
OOP atau Object Oriented Programming adalah bahasa yang mendukung pembuatan objek, dengan setiap objek mengandung field dan method(kode untuk mengakses data). Objek - objek ini secara independen mempunyai aturan - aturan berkomunikasi dengan objek lain sehingga dapat meminta maupun memberikan informasi diantara objek sesuai kebutuhan.
2.3. Java Platform Independent, namun JVM platform dependent
Bytecode atau .class file yang merupakan hasil kompilasi dari perintah javac bukanlah kode yang siap dieksekusi, melainkan harus di jalankan secara interpreter diatas JVM (berbeda dengan compilasi bahasa C atau C++ berbentuk .exe yang dependent pada suatu OS). Sedangkan yang dimaksud JVM platform dependent karena proses kerjanya yang begantung dan berbeda di antara satu platform/OS dengan platform/Os yang lainnya(JVM untuk windows tentu berbeda dengan JVM untuk linux maupun Mac OS).
2.4. Architectural Neutral
Pembuatan format file hasil kompilasi yang netral terhadap berbagai arsitektur, sehingga program hanya cukup memiliki satu source/versi saja dan dapat dijalankan di berbagai platform yang sudah memiliki JVM.
2.5. Portability
Sebuah program java dapat dengan mudah dijalankan pada platform berbeda tanpa harus di kompilasi ulang karena adanya platform Independent dan Architectural Neutral. Karekteristik portability ini juga sering dikenal dengan istilah "write once, run anywhere".
2.6. Dinamis
Penambahan atau modifikasi sesuatu dalam baris program( misal penambahan properti maupun method pada suatu class), dapat dilakukan dengan mudah tanpa menganggu program yang menggunakan class tersebut.
2.7. Terdistribusi
Bahasa java di desain untuk lingkungan internet sehingga suatu aplikasi java dapat terdistribusi dengan muda karena adanya libraries networking.
2.8. Terinterpretasi
Interpretasi java terjadi pada byte code atau .class file yang dapat diterjemahkan oleh sistem manapun yang terinstal java, dimana sebagai sebuah platform java terdiri dari JVM dan Java Api.
2.9. Multithreaded atau Concurent
Kemampuan menjalankan tugas secara bersamaan(concurent) dalam beberapa thread sehingga program tereksekusi dengan lebih cepat.
2.10. Tingkat Keamanan Yang Cukup Baik
Kode java memiliki pengamana 3 lapis, yaitu Class loader(memisahkan class yang berasal dari system local dengan class yang diambil dari jaringan), byte code verifier( berperan dalam menguji format pada fragmen code dan mengeceknya agar terhindar dari kode ilegal), dana manajemen keamanan aplikasi( memberikan rule apakah suatu program aplikasi diperbolehkan untuk mengakses sumber daya seperti file sistem, port jaringan dan lain sebagainya.
2.11. Multiplatform
Berikut beberapa platform yang dapat dibuat dengan menggunaka bahasa pemrograman java :
(*) Java Standar Edition (Java SE) yang ditunjukan untuk perangkat komputer desktop atau server.
(*) Java Enterprise Edition (Java EE) yang ditunjukan untuk perangkat aplikasi web skala enterprise untuk perusahaan - perusahaan besar.
(*) Java Micro Edition (Java ME) yang ditujukan untuk membuat aplikasi embedded pada mobile / micro devices, seperti PDA, HP, Barcode Scanner / PDT (Portable Data Terminal) dan lain sebagainya.
Demikianlah sedikit pengenalan tentang bahasa pemrograman java, agar lebih muda memahaminya sebaiknaya terus belajar dan praktek koding langsung dimulai dari materi materi yang fundamental.
2.1. Sederhana dan Mudah
Dengan base sintak dari bahasa C dan C++ yang kemudian dikembangkan untuk mengurangi hal hal yang sulit, disamping juga termasuk dalam kategori high level programming language yang perintahnya sudah mengadopsi bahasa manusia menjadikan bahasa java sangat sedehana dan mudah dimengerti.
2.2. Berorientasi Pada Objek(OOP)OOP atau Object Oriented Programming adalah bahasa yang mendukung pembuatan objek, dengan setiap objek mengandung field dan method(kode untuk mengakses data). Objek - objek ini secara independen mempunyai aturan - aturan berkomunikasi dengan objek lain sehingga dapat meminta maupun memberikan informasi diantara objek sesuai kebutuhan.
2.3. Java Platform Independent, namun JVM platform dependent
Bytecode atau .class file yang merupakan hasil kompilasi dari perintah javac bukanlah kode yang siap dieksekusi, melainkan harus di jalankan secara interpreter diatas JVM (berbeda dengan compilasi bahasa C atau C++ berbentuk .exe yang dependent pada suatu OS). Sedangkan yang dimaksud JVM platform dependent karena proses kerjanya yang begantung dan berbeda di antara satu platform/OS dengan platform/Os yang lainnya(JVM untuk windows tentu berbeda dengan JVM untuk linux maupun Mac OS).
2.4. Architectural Neutral
Pembuatan format file hasil kompilasi yang netral terhadap berbagai arsitektur, sehingga program hanya cukup memiliki satu source/versi saja dan dapat dijalankan di berbagai platform yang sudah memiliki JVM.
2.5. Portability
Sebuah program java dapat dengan mudah dijalankan pada platform berbeda tanpa harus di kompilasi ulang karena adanya platform Independent dan Architectural Neutral. Karekteristik portability ini juga sering dikenal dengan istilah "write once, run anywhere".
2.6. Dinamis
Penambahan atau modifikasi sesuatu dalam baris program( misal penambahan properti maupun method pada suatu class), dapat dilakukan dengan mudah tanpa menganggu program yang menggunakan class tersebut.
2.7. Terdistribusi
Bahasa java di desain untuk lingkungan internet sehingga suatu aplikasi java dapat terdistribusi dengan muda karena adanya libraries networking.
2.8. Terinterpretasi
Interpretasi java terjadi pada byte code atau .class file yang dapat diterjemahkan oleh sistem manapun yang terinstal java, dimana sebagai sebuah platform java terdiri dari JVM dan Java Api.
2.9. Multithreaded atau Concurent
Kemampuan menjalankan tugas secara bersamaan(concurent) dalam beberapa thread sehingga program tereksekusi dengan lebih cepat.
2.10. Tingkat Keamanan Yang Cukup Baik
Kode java memiliki pengamana 3 lapis, yaitu Class loader(memisahkan class yang berasal dari system local dengan class yang diambil dari jaringan), byte code verifier( berperan dalam menguji format pada fragmen code dan mengeceknya agar terhindar dari kode ilegal), dana manajemen keamanan aplikasi( memberikan rule apakah suatu program aplikasi diperbolehkan untuk mengakses sumber daya seperti file sistem, port jaringan dan lain sebagainya.
2.11. Multiplatform
Berikut beberapa platform yang dapat dibuat dengan menggunaka bahasa pemrograman java :
(*) Java Standar Edition (Java SE) yang ditunjukan untuk perangkat komputer desktop atau server.
(*) Java Enterprise Edition (Java EE) yang ditunjukan untuk perangkat aplikasi web skala enterprise untuk perusahaan - perusahaan besar.
(*) Java Micro Edition (Java ME) yang ditujukan untuk membuat aplikasi embedded pada mobile / micro devices, seperti PDA, HP, Barcode Scanner / PDT (Portable Data Terminal) dan lain sebagainya.
Demikianlah sedikit pengenalan tentang bahasa pemrograman java, agar lebih muda memahaminya sebaiknaya terus belajar dan praktek koding langsung dimulai dari materi materi yang fundamental.