Anda di halaman 1dari 21

Pengantar Bahasa Pemrograman Java

Goal:
Mahasiswa mampu menjelaskan, dan memahami tentang
Bahasa pemrograman Java secara umum

AnikVegaVitianingsih
Sub-Pokok Pembahasan

❑ Teknologi Java
❑ Fitur Java
✓ Java Virtual machine
✓ Garbage collection
✓ Code security
✓ Text editor
✓ Pesan Kesalahan (Error)
❑ Fase-fase pemrograman Java
❑ Lingkup pemrograman Java
Arsitektur Program
Java..?

❑ Java pertama didirikan tahun 1991 oleh perusahaan sun


Microsystems, diantaranya:
✓ Produk Sun Microsystem : J2SE, J2ME, J2EE
✓ Produk Borland : Borland Jbuilder
✓ Produk Microsoft : Microsoft Visual J/J++
Java..?
Merupakan Bahasa Pemrograman dengan:
 Object-Oriented
 OOP yang dapat dijalankan pada berbagai platform SO yang bersifat OS
 Class-based Development Environment
 menyediakan banyak tools compiler, interpreter, penyusun dokumentasi, paket
kelas dll
 Concurrent
 Aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki
Java Runtime Environment (JRE)
 General Purpose Deployment Environment
 JRE, ada pada paket J2SDK→mengandung kelas” untuk semua paket
teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dll
 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
 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.
Interpreter dan Compiler
Java/Standard Development Kit (JDK/SDK) Tools

❑merupakan alat‐alat utama bagi programmer untuk


membuat dan menjalankan java
❑Komponen JDK/SDK:
✓ Compiler(javac)
▪ Bertugas untuk melaksanakan kompilasi *.java
▪ menjadi *.class
▪ Syntax umum : javac nama_file.java
✓ Interpreter(java)/Java Virtual Machine/Java Runtime Environment
▪ Bertugas untuk menjalankan bytecode (*.class)
▪ Syntax umum : java nama_file.class
Java/Standard Development Kit (JDK/SDK)

❑Komponen JDK/SDK:
✓ Applet Viewer
▪ Digunakan untuk menjalankan applet viewer, yang saat ini
sudah digantikan oleh browser.
▪ Syntax umum : appletviewer nama_file.html
✓ Java Debugger (jdb)
▪ Bertugas untuk melakukan debugging aplikasi java.
▪ Syntax umum : jdb option
✓ Java Class File Diassembler (javap)
▪ Berfungsi untuk membuat daftar method dan attribute public
dari suatu kelas.
▪ Syntax : javap NamaKelas
Java/Standard Development Kit (JDK/SDK)

❑Komponen JDK/SDK:
✓ Java Header dan Stub Generator (javah)
▪ Berfungsi untuk menerjemahkan bahasa yang ditulis dalam
bahasa Java menjadi bahasa pemrograman C.
▪ Syntax: javah NamaKelas
✓ Java Documentation Generator (javadoc)
▪ Berfungsi untuk menampilkan pustaka kelas, interface,
constructor, dan method standard yang telah dibuat vendor.
▪ Dokumen pada C:\java\docs\api\index.html dan C:\Program
Files\NetBeans3.6\doc\junit\index.html
✓ Source Code Java API
▪ Source code yang dapat diperoleh dari file src.zip.
Fitur Java?
 JVM
 Garbage Collection
 Code Security
Fitur Java →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
Fitur Java→GC:
 Fungsi:
 Mengelola memori secara otomatis

 Membebaskan memori yang sudah tidak


digunakan untuk menghindari kebocoran
memori
 Mengurangi beban pengelolaan memori oleh
pemrogram dan mengurangi atau
mengeliminasi sumber kesalahan terbesar yang
terdapat pada bahasa yang memungkinkan
alokasi dinamis.
 Program tidak perlu menghapus sendiri objek”
yang tidak digunakan lagi
Fitur Java →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.
Lingkungan Pemrograman Java

 Editing source code


 menggunakan editor teks, seperti Notepad atau TextPad

 Compiling
 menggunakan keyword javac melalui command promp
(dapat juga dari editor teks seperti TextPad).
 Executing,
menggunakan :
 Command prompt untuk java application (atau dari editor

teks TextPad)
 Browser atau appletviewer untuk java applet.
Aturan Dalam Pemrograman Java

 Setiap baris yang kita tulis harus dalam ruang lingkup class yang
dideklarasikan
 Program disimpan dengan ekstensi *.java dengan penamaan
mengikuti aturan nama file = nama class.
 Contoh:
class NamaClassKita{
public static void main(String args[]){
System.out.println("Belajar Pemrograman Java");
}
}
Java Token

 Merupakan elemen terkecil di program Java yang memiliki


makna dan arti dalam sintak pemrograman Java
 Java Token:
 Identifier

 keyword

 literal dan tipe data

 operator

 separator
Instalasi Tools

 Java Development Kit (JDK)


 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

 Integrated Development Environment (IDE)


 Text Editor apapun/bebas

 IDE →

 membantu proses developing sampai ke optimasi

 membuat tampilan (layout) dalam Graphical User Interface (GUI)

 IDE→
 OpenJDK
 open source yang dikembangkan oleh GNU General Public License
 https://glot.io/
 Netbeans
 https://netbeans.org/downloads/6.8/

 Intellij
 dikembangkan oleh JetBrains
 https://www.jetbrains.com/idea/download/#section=windows
Kuis

 ???

Anda mungkin juga menyukai