Algoritma dan Pemrograman 3

advertisement
ALGORITMA DAN
PEMROGRAMAN 3
Java Introduction
Sistem Komputer – S1
Universitas Gunadarma
JAVA
• Java adalah bahasa pemrograman yang multi platform
dan multi device.
• Java juga dikenal dengan bahasa pemrograman yang
berorientasi object.
• Java juga sebuah bahasa pemrograman pada komputer
sama seperti pendahulunya yaitu C++.
LATAR BELAKANG JAVA
• Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick
Naughton dan James Gosling ingin merancang bahasa
komputer untuk perangkat consumer seperti cable TV Box.
• Perangkat tersebut tidak memiliki banyak memori, bahasa
harus berukuran kecil dan mengandung kode yang liat.
• Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang
netral terhadap platform mengantar tim mempelajari
implementasi Pascal yang pernah dicoba.
LATAR BELAKANG JAVA
• Orang-orang di proyek Green berbasis C++ dan bukan
Pascal maka kebanyakan sintaks diambil dari C++, serta
mengadopsi orientasi objek dan bukan procedural.
• 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 terlah ada sebelumnya, kemudian SUN
menggantinya dengan JAVA.
LATAR BELAKANG JAVA
• Nama JAVA terinspirasi pada saat mereka sedang
menikmati secangkir kopi di sebuah kedai kopi yang
kemudian dengan tidak sengaja salah satu dari mereka
menyebutkan kata JAVA yang mengandung arti asal bijih
kopi.
• Produk pertama proyek Green adalah Star 7 (*7), sebuah
kendali jarak jauh yang sangat cerdas.
LATAR BELAKANG JAVA
• Dikarenakan pasar masih belum tertarik dengan produk
consumer 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.
KEGUNAAN JAVA
• Bahasa JAVA dapat digunakan untuk membuat program
berupa:
- Aplikasi berbasis teks maupun window
- Aplikasi yang terdapat berjalan di halaman web (applet)
- Aplikasi untuk perangkat mobile (MIDlet)
JAVA PADA TEKNOLOGI WEB
JAVA MENGADOPSI KELEBIHAN
BAHASA LAIN
• JAVA telah mengakomodasi hampir seluruh fitur penting
bahasa-bahasa
pemrograman
yang
ada
semenjak
perkembangan komputasi modern manusia:
1. SIMULA, bahasa pada tahun 65-an, bahasa yang paling
memengaruhi JAVA sekaligus C++. Dari bahasa ini diadopsi
bentukan dasar dari pemrograman berorientasi objek.
2. LISP, bahasa tahun 55-an. Diadopsi fasilitas garbage collection,
serta kemampuan untuk meniru generic list processing, meski
fasilitas ini jarang yang memanfaatkannya.
JAVA MENGADOPSI KELEBIHAN
BAHASA LAIN
3. Algol, bahasa tahun 60-an, diambil struktur kendali yang
dimilikinya.
4. C++, diadopsi sintaks, sebagian semantics dan exception
handling.
5. ADA, diambil strongly type, dan exception handling.
6. Objective C, diambil fasilitas interface.
7. Bahasa SmallTalk, diambil dari pendekatan single-root class
hierarchie, dimana objek adalah satu kesatuan hirarki pewarisan.
8. Bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian
JDK 1.4.
JAVA MENGADOPSI KELEBIHAN
BAHASA LAIN
3. Algol, bahasa tahun 60-an, diambil struktur kendali yang
dimilikinya.
4. C++, diadopsi sintaks, sebagian semantics dan exception
handling.
5. ADA, diambil strongly type, dan exception handling.
6. Objective C, diambil fasilitas interface.
7. Bahasa SmallTalk, diambil dari pendekatan single-root class
hierarchie, dimana objek adalah satu kesatuan hirarki pewarisan.
8. Bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian
JDK 1.4.
TEKNOLOGI JAVA
• Bahasa Pemrograman
• Sebagai sebuah bahasa pemrograman, Java dapat
membuat seluruh bentuk aplikasi, desktop, web dan lainnya.
• Sebuah Development Environtment
• Sebagai sebuah peralatan pembangun, teknologi JAVA
menyediakan banyak tools: compiler, interpreter, penyusun
dokumentasi, paket kelas dan sebagainya.
TEKNOLOGI JAVA
• Sebuah Aplikasi
• Aplikasi dengan teknologi JAVA secara umum adalah
aplikasi serbaguna yang dapat dijalankan pada seluruh
mesin yang memiliki JAVA Runtime Environtment (JRE).
• Sebuah Deployment Environtment
• JRE, yang terdapat pada paket J2SDK, mengandung kelaskelas untuk semua paket teknologi JAVA yang meliput kelas
dasar dari JAVA, komponen GUI dan sebagainya.
• Komponen yang lain terdapat pada Web Browser
TEKNOLOGI JAVA
• Sun Microsystem telah mengeluarkan beberapa buah
paket yang disebarkan melalui internet.
- JDK (Java Development Kit), berisi compiler maupun
interpreter JAVA
- JRE (Java Runtime Environtment), hanya berisi interpretes
JAVA
- JME (Java Micro Edition), compiler untuk pemrograman
mobile
- Editor, lingkungan visual untuk melakukan koding, ex:
Netbeans, Notepad++, Eclipse
KARAKTERISTIK JAVA
• Sederhana
•
•
•
•
Sintaksnya mirip C++
Menghilangkan pointer yang rumit
Menghilangkan multiple inheritance
Menggunakan automatic memory allocation dan memory
garbage collection
• Berorientasi Objek
• Murni berorientasi objek (program yang reusable)
• Terdistribusi
• Aplikasi terdistribusi secara mudah dengan adanya libraries networking yang
terintegrasi.
KARAKTERISTIK JAVA
• Interpreted
• Program JAVA dijalankan menggunakan interpreter yaitu
JVM sehingga hasil terjemahan source code JAVA yang
berupa bytescodes dapat dijalankan pada platform yang
berbeda-beda.
• Robust
• Compiler pada JAVA mempunyai kemampuan mendeteksi
error secara lebih teliti dibandingkan bahasa pemrograman
lain serta mempunyai runtime-Exception handling untuk
membantu mengatasi error pada pemrograman.
KARAKTERISTIK JAVA
• Secure
• Sebagai bahasa pemrograman untuk aplikasi internet dan
terdistribusi, JAVA memiliki beberapa mekanisme keamanan
untuk menjaga aplikasi tidak digunakan untuk merusak
sistem komputer yang menjalankan aplikasi.
• Architectural Neutral
• Program cukup mempunyai satu buah versi yang dapat
dijalankan pada platform berbeda dengan JVM
KARAKTERISTIK JAVA
• Portable
• Source code maupun program JAVA dapat dengan mudah
dibawah ke platform yang berbeda-beda tanpa harus
dikompilasi ulang.
• Performance
• JAVA dapat ditingkatkan menggunakan kompilasi JAVA lain
seperti buatan Inprise, Microsoft ataupun Symantec yang
menggunakan Just In Time Compilers (JIT).
KARAKTERISTIK JAVA
• Multithreaded
• Fasilitas
pemrograman
pararel
beberapa pekerjaan sekaligus)
(dapat
melakukan
• Dynamic
• Perubahan pada suatu class dengan menambahkan
properties ataupun method dapat dilakukan tanpa
mengganggu program yang menggunakan class tersebut.
FASE PEMROGRAMAN JAVA
COMPILER & INTERPRETER
• Compiler dan Interpreter adalah program yang digunakan
untuk merubah (menerjemahkan) kode program yang mirip
bahasa manusia menjadi bahasa yang dimengerti oleh
mesin (prosesor) agar dapat diproses.
• Compiler menerjemahkan per
sedangkan interpreter per baris.
blok
kode
program,
COMPILER & INTERPRETER
• Contoh Compiler:
- Turbo Pascal (produksi Borland) untuk bahasa Pascal
- Gcc yang berjalan di Linux untuk bahasa C/C++
- Visual Basic (produksi Microsoft) untuk bahasa Basic berbasis
window
• Contoh Interpreter:
- Command.com adalah interpretes DOS produksi Microsoft
- MySQL adalah salah satu interpretes SQL
Tugas.pas
Tugas.exe
Begin
………
………
………
End
Menjadi file
program
berformat
biner berisi
bahasa
mesin
compile
COMPILER & INTERPRETER
DOS / Windows
run
PROCESSOR
DOS / Windows
Tugas.java
Tugas.class
………
………
………
………
………
Menjadi
file
berformat
byte-code
compile
PROCESSOR
Linux
PROCESSOR
MacOS
interpret
PROCESSOR
CONTOH SOURCE CODE JAVA
Public class Hello
{
/** My First Program Java */
public static void main(String[]args){
//Menampilkan kata “Hello World” dilayar
System.out.println(“Hello World!”);
}
}
PENJELASAN SOURCE CODE JAVA
• Public
: program bersifat umum
• Static
: Karakteristik tetap pada kelas ini
• Void
: Fungsi kelas ini tidak mengembalikan suatu nilai
• Main
: Fungsi utama
• String [] args : Fungsi kelas ini dapat menerima argument
ketika dijalankan dan argument ini adalah string yang
berbentuk larik atau bisa lebih dari satu argumen
KOMENTAR PADA PROGRAM
• Menambahkan komentar 1 baris digunakan tanda “//”
Contoh :
//Menampilkan kata “Hello World” dilayar
• Menambahkan komentar lebih dari 1 baris diguanakan tanda “
/* statement */ “
Contoh :
/* ini komentar beberapa kalimat
Atau pernyataan */
COMPILE PROGRAM JAVA
• Pada Command Prompt, Compile
javac namafile.java
• Running Program
java namafile
COMPILE PROGRAM JAVA
KELEBIHAN BAH. PEMROG. JAVA
• Multiplatform
• Dapat dijalankan di beberapa platform/sistem operasi
komputer, sesuai dengan prinsip tulis sekali, jalankan di
mana saja.
• Platform yang didukung sampai saat ini adalah Microsoft
Windows, Linux, Mac OS, dan Sun Solaris.
• Penyebabnya adalah OS menggunakan programnya
sendiri-sendiri (yang dapat diunduh di situs java) untuk
menginterpretasikan bytecode tersebut.
KELEBIHAN BAH. PEMROG. JAVA
• OOP (Object Oriented Programming)
• Metode pemrograman yang berorientasi objek.
• Tujuan
dari
OOP
adalah
untuk
mempermudah
pengembangan program dengan mengikuti model yang
telah ada di kehidupan sehari-hari.
• Jadi, setiap bagian dari suatu permasalahan adalah objek.
• Objek itu sendiri merupakan gabungan dari beberapa
objek yang lebih kecil lagi.
KELEBIHAN BAH. PEMROG. JAVA
• Library/Kumpulan Fungsi Lengkap
• Java terkenal dengan kelengkapan library/perpustakaan
(kumpulan program program yang disertakan dalam
pemrograman java) yang sangat memudahkan dalam
penggunaan oleh para pemrogram untuk membangun
aplikasinya.
• Kelengkapan
perpustakaan
ini
ditambah
dengan
keberadaan komunitas JAVA yang besar yang terus
menerus membuat library JAVA.
KELEBIHAN BAH. PEMROG. JAVA
• Bergaya C++
• Memiliki sintaks seperti bahasa pemrograman C++
sehingga menarik banyak pemrogram C++ untuk pindah ke
JAVA.
• Sebagian besar adalah pemrogram C++ berpindah ke
Java.
KELEBIHAN BAH. PEMROG. JAVA
• Pengumpulan sampah/Pengaturan penggunaan memori
• Memiliki fasilitas pengaturan penggunaan memori sehingga
para pemrogram tidak perlu melakukan pengaturan
memori secara langsung (seperti halnya dalam bahasa
C++ yang dipakai secara luas).
KEKURANGAN BAH. PEMROG. JAVA
• Tulis sekali, jalankan di mana saja
• Masih ada beberapa hal yang tidak kompatibel antara
platform satu dengan platform lain.
KEKURANGAN BAH. PEMROG. JAVA
• Mudah didekompilasi
• Dekompilasi adalah proses membalikan dari kode jadi
menjadi kode sumber.
• Ini dimungkinkan karena kode jadi Java merupakan
bytecode yang menyimpan banyak atribut bahasa tingkat
tinggi, seperti nama-nama kelas, metode, dan tipe data.
• Dengan demikian, algoritma yang digunakan program
akan
lebih
sulit
disembunyikan
dan
mudah
dibajak/direverse-engineer.
KEKURANGAN BAH. PEMROG. JAVA
• Penggunaan memori yang banyak
• Penggunaan memori untuk program berbasis JAVA jauh
lebih besar daripada tingkat tinggi generasi sebelumnya
seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan
Object pascal).
END OF FILE
• Thank You ….
Download