Anda di halaman 1dari 11

Algoritma &

Pemrograman 1
Pengantar & Dasar” Pemrograman Java
Java…?
 Sebuah Bahasa PemrogramanOOP yang dapat dijalankan
pada berbagai platform SO yang bersifat OS
 Sebuah Development Environmentpenyedia banyak tools :
compiler, interpreter, penyusun dokumentasi, paket kelas dll
 Sebuah AplikasiAplikasi serba guna yang dapat dijalankan
pada seluruh mesin yang memiliki Java Runtime Environment
(JRE).
 Sebuah Deployment Environmentada 2 komponen:
1. JRE, ada pada paket J2SDKmengandung kelas” untuk semua paket
teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dll
2. Web BrowserHampir seluruh Web Browser komersial menyediakan
interpreter dan runtime environment dari teknologi Java.
Kenapa Belajar Java? (1)
 Sederhana (Simple)
 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.
 Berorientasi objek (Object Oriented)
 Yang membuat program dapat dibuat secara modular dan
dapat dipergunakan kembali
 Terdistribusi (Distributed)
 Java dibuat untuk membuat aplikasi terdistribusi secara
mudah dengan adanya libraries networking yang
terintegrasi pada Java.
Kenapa Belajar Java? (2)
 Interpreted
 dijalankan d/ interpreter Java Virtual Machine (JVM)membuat source
code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan
pada platform yang berbeda”
 Robust
 Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih
teliti dibandingkan bahasa pemrograman lain
 Punya runtime-Exception handling untuk membantu mengatasi error pada
pemrograman.
 Secure
 BP u/ aplikasi internet dan terdistribusipunya mekanisme keamanan untuk
menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang
menjalankan aplikasi tersebut.
 Architecture Neutral
 Punya platform independentProgram cukup mempunyai satu buah versi
yang dapat dijalankan pada platform berbeda dengan JVM
Kenapa Belajar Java? (3)
 Portable
 Source code maupun program Java dapat dengan mudah dibawa ke platform
yang berbeda-beda tanpa harus dikompilasi ulang.
 Performance
 Performance pada Java sering dikatakan kurang tinggi. Namun performance
Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan
J.E.N.I. Pengenalan Pemrograman 1 5
 Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time
Compilers (JIT).
 Multithreaded
 Java mempunyai kemampuan untuk membuat suatu program yang dapat
melakukan beberapa pekerjaan secara sekaligus dan simultan.
 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.
Fase Pemrograman Java
Fitur Java?
 JVM
 Garbage Collection
 Code Security
JVM?
 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
 Proses:
 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 SO
GC:
 Program tidak perlu menghapus sendiri
objek” yang tidak digunakan lagi
 Fungsiu/ mengurangi beban pengelolaan
memori oleh pemrogram dan mengurangi
atau mengeliminasi sumber kesalahan
terbesar yang terdapat pada bahasa yang
memungkinkan alokasi dinamis.
CS
 Pd penggunaan Java Runtime Environment (JRE)
 Menggunakan model pengamanan 3 lapis untuk melindungi sistem dari
untrusted Java Code.
1. 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. bytecode verifier membaca bytecode sebelum dijalankan dan menjamin
bytecode memenuhi aturan – aturan dasar bahasa Java.
3. 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.