Minggu, 26 Februari 2017

Pengenalan Java

Java merupakan bahasa pemrograman berorientasi objek (PBO). Pemrograman berorientasi objek atau yang disebut dengan object oriented programming ialah suatu bahasa pemrograman yang dikembangkan untuk membentuk suatu objek-objek. Jadi, java menggunakan kelas untuk membentuk suatu obejek-objek tersebut. Objek-objek  dalam dunia nyata, mempunyai 2 karakteristik khusus yaitu : status dan peilaku. Contohnya, sepeda punya status(jumlah gir, jumlah pedal, dua buah ban) dan perilaku(mengerem, mempercepat, ubah gir).
Java juga memiliki sifat sebagai bahasa portable. Karena java bisa dijalankan disegala macam sistem operasi tanpa harus mengkompilasi ulang. Jadi, ketika java dibuat disistem operasi windows, untuk menjalankannya disistem operasi lain. Oleh karena itu, bahasa pemrograman java akan dimanjakan dengan kemudahan-kemudahan yang tersedia. Adapun beberapa kelebihan dari java yaitu :
·         Aplikasi yang dibuat dengan menggunakan java dapat dijalankan diberbagai OS yang didalamnya sudah terdapat Java Virtual Machine (JVM).
·         Banyak referensi-referensi untuk belajar java, termasuk juga komunitas developer java internet.
·         Banyak contoh program ataupun library yang siap pakai dan dapat digabungkan dengan program yang kita buat.

Konsep pemrograman berorientasi objek sebagai berikut :
A.    Class
Kumpulan atas defenisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk berbagai macam perilaku/turunan dari anjing.

B.     Object
Sebuah entiti yang memiliki keadaan, behaviour dan identias yang tugasnya dirumuskan dalam suatu lingkup masalah dengan baik.

C.     Atribut
Atribut menunjukkan pada elemen data dari sebuah object. Atribut menyimpan informasi tentang object, dikenal juga sebagai member java, variabel instance, properti atau sebuah field data.

D.    Method
Sebuah method menjelaskan behaviour dari sebuah object, method juga dikenal sebagai fungsi atau prosedur. Contohnya, method yang tersedia untuk entiti siswa dan method register.

E.     Abstraksi
Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan.

F.      Enkapsulasi
Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan.

G.    Pewarisan
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka dapat digunakan oleh semua subclass.

Beberapa Fitur Penting Dalam Bahasa Java 
  •          Bahasa Sederhana

o   Explicit pointer manipulation
o   Implicit type casting
o   Structures atau union
o   Operator overloading
o   Templates
o   Header files
o   Multiple inheritance
Java dirancang untuk mudah dipelajari dan digunakan dengan secara efektif. Java tidak mendukung fitur-fitur rumit seperti:
Rancangan bahasa Java telah berdasar teknologi yang telah terbukti dan dikembangkan di bahasa-bahasa pemrograman lainnya.
  •          Bahasa berororientasi objek
Java bukan turunan langsung dari bahasa pemrograman manapun, juga sama sekali tidak kompatibel dengan semuanya. Model objek Java adalah sederhana dan mudah dikembangkan, namun sejalan dengan itu, nilangan dan tipe data sederhana lain dianggap sebagai non-objek berkinerja tinggi.
OOP (object oriented programming) adalah cara ampuh dalam pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program komputer sebagai sekelompok objek yang saling berinteraksi. Objek-objek ini ada secara secara independent yang mempunyai aturan-aturan berkomunikasi dengan objek lain dan untuk memerinthakan objek lain guna meminta informasi tertentu atau meminta objek lain mengerjakan sesuatu.
  •          Bahasa statically typed
Semua objek dideklarasikan terlebih dahulu sebelum digunakan. Melalui fitur ini kode program lebih dapat dioptmasi untuk menghasilkan program berkinerja tinggi.
  •          Bahasa dikompilasi
Sebelum menjalankan program di bahasa Java, program dikompilasi menggunakan Java Compiler. Kompilais akan menghasilkan file “bytecode” yang serupa fungsinya dengan file kode mesin. Program “bytecode” yang dihasilkan dapat di eksekusi di sembarang Java Interpreter. Java Interpreter membaca file “bytecode” dan menterjemahkan perintah “bytecode” menjadi perintah-perintah bahasa mesin yang dapat di eksekusi mesin.
  •          Bahasa yang aman
- Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi      aturan-aturan dasar bahasa Java
- Class loader menangani pemuatan kelas Java ke runtime interpreter.
- Manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program    berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem    windowing.
- Bahasa dirancang untuk mempersulit eksekusi kode perusak
- Program Java dikompilasi menajdi serangkaian bytecode.
- Java mempunyai pengamanan terhadap applet.


Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari Untrusted Java Code. Selain itu Java menyediakan beragam teknik pengaman, yaitu:
  •       Bahasa indpenden terhadap platform
Platform independence merupakan kemampuan program bekerja di sistem operasi atau sistem komputer berbeda. Bahasa Java adalah bahasa yang secara sempurna tidak bergantung platform.
·         Bahasa multithreading
Thread adalah menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kakas untuk menulis program multithread, program mempunyai lebih dari 1 thread eksekusi pada saat yang sama sehingga memungkinkan program menagani beberapa tugas secara konkuren.
  •         Bahasa yang didukung garbage collector
Artinya, program tidak perlu menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkanalokasi dinamis.
  •         Bahasa yang tegar
Java interpreter memeriksa semua akses sistem yang dilakukan. Program java tidak dapat menyebabkan crash terhadap sistem. Java mempunyai mekanisme exception handling yang ampuh. Exception-handling menyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar.