Selasa, 22 Januari 2019

Pemrograman Berorientasi Object

PENGENALAN BAHASA JAVA
Tujuan
Pada bab ini akan dibahas secara singkat tentang sejarah JAVA dan definisi teknologi JAVA. Bab ini juga akan sedikit menyinggung tentang fase fase dalam program JAVA.

Sejarah Singkat JAVA
Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Karena perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur – manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”.

Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering 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.

Karena orang – orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai  kopi kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java.
Produk pertama proyek Green adalah Star 7 (*7), sebuah kendali jarak jauh yang sangat cerdas. Dikarenakan pasar masih belum tertarik dengan produk konsumer cerdas maka proyek Green harus menemukan pasar lain dari teknologi yang diciptakan. Pada saat yang sama, implementasi WWW dan Internet sedang mengalami perkembangan pesat. Di lain pihak, anggota dari proyek Green juga menyadari bahwa Java dapat digunakan pada pemrograman internet, sehingga penerapan selanjutnya mengarah menjadi teknologi yang berperan di web.


Java   telah    mengakomodasi    hampir    seluruh    fitur    penting    bahasa       
bahasa pemrograman yang ada semenjak perkembangan komputasi modern manusia :
1.  Dari SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi
Java sekaligus C++. Dari bahasa ini diadopsi bentukan bentukan dasar dari pemrograman berorientasi objek.
2.  Dari LISP bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta kemampuan untuk meniru generic list processing, meski fasilitas ini jarang
yang memanfaatkannya.
3.  Dari  Algol   bahasa  pada  tahun  60-an,  diambil  struktur  kendali  yang dimilikinya.
4.  Dari C++, diadopsi sintaks, sebagian semantiks dan exception handling
5.  Dari bahasa Ada, diambil strongly type, dan exception handling.
6.  Dari Objective C, diambil fasilitas interface.
7.  Dari  bahasa  SmallTalk,  diambil  pendekatan  single-root  class  hierarchie, dimana objek adalah satu kesatuan hirarki pewarisan
8.    Dari bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK 1.4       


Teknologi JAVA

·         Sebuah Bahasa Pemrograman
Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain.

Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus oada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source.

·         Sebuah Development Environment
Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya.

·         Sebuah Aplikasi

Aplikasi dengan teknologi Java secara umum adalah aplikasi serbt a guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).

·         Sebuah Deployment Environment

Terdapat dua komponen utama dari Deployment Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java.


Karakteristik Java

Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :

1.      Sederhana (Simple)
Bahasa pemrograman Java menggunakan Sintaks mirip dengan C++ namun sintaks        pada Java telah banyak diperbaiki terutama            menghilangkan penggunaan     pointer yang         rumit dan multiple            inheritance.         Java juga menggunakan automatic memory allocation dan memory garbage collection.

2.      Berorientasi objek (Object Oriented)
Java mengunakan 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.

3.      Terdistribusi (Distributed)
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya
libraries networking yang terintegrasi pada Java.

4.      Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.

5.      Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan       mendeteksi                        error               secara lebih       teliti      dibandingkan
bahasa Pemrograman lain. Java mempunyai runtime Exception handling
untuk membantu mengatasi error pada pemrograman.

6.      Secure
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme  keamanan untuk menjaga aplikasi tidak digunakan untuk merusak     system computer yang menjalankan    aplikasi tersebut.

7.      Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.

8.      Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

9.      Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java  dapat  ditingkatkan  menggunakan  kompilasi  Java  lain  seperti  buatan Inprise,  Microsoft  ataupun  Symantec  yang  menggunakan  Just  In  Time Compilers (JIT).

10.    Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.

11.    Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

Fitur dari JAVA

·         Java Virtual Machine (JVM)

JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan 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 diciptakan dengan file teks berekstensi .java. Program 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.

·         Garbage Collection

Banyak bahasa pemrogaman lain yang mengijinkan seorang pemrogram 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. Dalam C, C++ dan bahasa lainnya, adalah pemrogram yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana pemrogram tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks.

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 pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis.

·         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.
1.  Pertama,     class-loader    menangani     pemuatan     kelas    Java   ke
      runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas – kelas yang berasal dari local disk dengan kelas kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas – kelas yang berasal dari local disk yang dimuat terlebih dahulu.
2.  Kedua,    bytecode    verifier     membaca   bytecode    sebelum dijalankan dan menjamin bytecode memenuhi aturan – aturan dasar bahasa Java.
3.  Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan  apakah  program  berhak  mengakses  sumber  daya  seperti sistem file, port jaringan, proses eksternal dan sistem  windowing.

Setelah  seluruh  proses  tersebut  selesai  dijalankan,  barulah  kode  program  di eksekusi.

Java juga menyediakan beragam teknik pengamanan lain :
1.  Bahasa  dirancang  untuk  mempersulit  eksekusi  kode  perusak.  Peniadaan pointer merupakan langkah besar pengamanan. Java tidak mengenal operasi pointer. Di tangan pemrogram handal, operasi pointer merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan.           Namun mode ini dapat              menjadi  petaka di hadapan pemrogram jahat. Pointer merupakan sarana luar biasa untuk pengaksesan tak diotorisasi. Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang lebih aman.
2.  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.


 Fase – fase Pemrograman JAVA

Gambar  dibawah  ini  menjelaskan  aliran  proses  kompilasi  dan  eksekusi  sebuah program Java :



Langkah   pertama    dalam    pembuatan    sebuah    program    berbasis    Java  
adalah menuliskan kode program pada text editor. Contoh text editor yang dapat digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java.

Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan Java Compiler. Hasil dari adalah berupa berkas bytecode dengan ekstensi .class.

Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh Java
Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang digunakan.

Proses
Tool
Hasil
Menulis kode program
Text editor
Berkas berekstensi .java
Kompilasi program
Java Compiler
Berkas berekstensi .class
(Java Bytecodes)
Menjalankan program
Java Interpreter
Program Output

Program Java Pertama
          public class Latihan1
          {
                      /**
                      * My first java program
                      */
                      public static void main(String[] args) {

                      //Menampilkan kata "Selamat Datang di I-Tech" dilayar
                      System.out.println("Selamat Datang di I-Tech ");
                      }
          }

Sebelum menjelaskan apa arti dari program tersebut, cobalah untuk menulis program ini didalam file dan kemudian menjalankannya.

Menggunakan Text editor dan Console
Dalam contoh ini, kita akan menggunakan text editor untuk mengedit program Java. Juga membuka terminal window untuk meng-compile dan meng-execute program Java.

Langkah 1: Memulai text Editor
Langkah 2: Tulislah listing program Java anda dalam text editor.

Langkah 3: Simpanlah program Java anda

Program ini akan disimpan dalam file yang bernamalatihan1.java'', dan disimpan dalam sebuah folder yang bernama LatihanJava.

Langkah 4: Meng-compile program anda
Langkah berikut ini adalah meng-compile program. Untuk melihat isi dari folder tersebut, ketik dir dan kemudian tekan ENTER. Apa yang akan ditampilkan adalah daftar file-file dan folder didalamnya.

Disinilah dapat dilihat folder dengan nama "LatihanJava" yang telah dibuat sebelumnya, dan merupakan tempat dimana kita menyimpan program latihan1.java kita. Kemudian masuklah kedalam direktori tersebut.

Untuk masuk kedalam sebuah direktori, ketiklah perintah :  cd [directory  name]. Perintah ''cd'' digunakan untuk merubah direktori. Dalam hal ini, nama dari direktori kita adalah LatihanJava, maka kita harus mengetik : cd LatihanJava.
Setelah berada didalam folder yang berisi program Java, sudah saatnya untuk memulai meng-compile program Java tersebut. Sebagai catatan, bahwa file yang dimaksud harus ada didalam folder yang dipilih. Periksalah dengan menjalankan perintah ''dir'' lagi untuk melihat bahwa file Anda ada didalam folder tersebut.
Untuk meng-compile program Java, gunakanlah perintah : javac [filename]. Dalam hal ini, ketik perintah : javac Latihan1.Java.

Selama peng-compile-an, javac menambah file kedalam disk yang disebut
[filename].class, atau dalam hal ini, Latihan1.class, yang merupakan kode sebenarnya.

Langkah 5 : Menjalakan Program
Selama proses peng-compile-an, javac menambah file baru kedalam disk yang disebut [filename].class, dalam hal ini, Latihan1.class, yang merupakan kode sebenarnya saat ini, dengan perkiraan tidak ada permasalahan pada saat proses compile (kita akan menyelidiki dan membahas permasalahan yang ditemukan selama proses compile, pada bagian berikutnya), berarti telah siap untuk menjalankan program anda.

Untuk menjalankan program Java, dengan mengetikan perintah : java [filename without the extension], maka dalam hal ini, ketikkan perintah : java

0 komentar:

Posting Komentar