Upload
vuongminh
View
227
Download
5
Embed Size (px)
Citation preview
Pengenalan bahasa Java
Konsep bahasa pemrograman Java
Operator dan assignment
Array
Class
Pewarisan
Encapsulation
Polymorphism
Collection (list, vektor)
J2ME (Pada perangkat bergerak)
J2EE sekarang menjadi JEE (Pada Web based
Aplication)
Java Card (pada penggunaan Smart Card)
...
Enterprise Java (J2EE) aplikasi berbasis
web, aplikasi sistem tersebar dengan
beraneka ragam client berkompleksitas
tinggi. Merupakan superset dari Standar Java
Standar Java (J2SE) biasa dikenal bahasa
Java
Micro Java (J2ME) subset J2SE dan salah
satu aplikasi yang banyak dipakai adalah
untuk wireless device / mobile device
Ide bahasa pemrograman berorientasi
objek yang dirancang agar lebih mudah
dipakai dengan platform independent
(dapat dijalankan di berbagai jenis sistem
operasi dan arsitektur komputer)
1991 lahir Bahasa pemrograman Java dari
The Green Project (James Gosling dkk dari
sun microsystems) dengan Teknologi *7 (Star
Seven)
James Gosling (bahasa pemrograman OAK)
Sun mengubahnya menjadi Java
1996 Sun merilis versi awal java
selanjutnya JDK 1.1,JDK 1.2 ; mulai versi ini
disebut java2
1998-1999 teknologi J2EE(Enterprise
Edition)
J2ME(Micro Edition) diadopsi oleh Nokia,
Siemens, SonyEricsson, Motorola untuk
menghasilkan aplikasi mobile baik games
yang dapat dijalankan diperalatan mobile
(handphone)
Multiplatform dapat dijalankan di
beberapa platform (sistem operasi
komputer); prinsip write once, run every
where
OOP (Object Oriented Programming)
semua aspek pada Java adalah Objek.
Library lengkap kumpulan program yang
disertakan dalam pemrograman java untuk
memudahkan pembanguan aplikasi
Sintaks bahasa pemrograman [C++]
pemrogram C++ untuk pindah ke Java.
menghasilkan program dengan seminimal
mungkin bug garbage collection
memiliki array yang tidak memerlukanpointer sehingga memudahkan paraprogrammer.
menghilangkan multiple inheritance padac++ dan menggunakan interface yangmemiliki kemampuan sama tetapi lebihsederhana.
menghilangkan banyak kebingungan terjadiapabila terjadi prosesassignment(pemberian nilai) pada statemenkonditional seperti berikut:
if (varnya=5)
Kode di atas menyebabkan program Javatidak dapat dikompilasi karena Javamembedakan tanda = yang digunakan untukpemberian nilai dan untuk pengecekankondisi true atau false yang harusmenggunakan tanda = ganda (==).
Java bersifat Neutral Architecture
Compiler java menghasilkan kode yang netral
terhadap seluruh arsitektur mesin komputer
Java bytecode
Umumnya aplikasi komputer (native code)
disesuaikan dengan arsitektur mesin
Java Virtual Machine (JVM)
menginterpretasikan kode-kode bytecode
kedalam native code mesin tersebut
OOP semua aspek di Java adalah objek.
Semua tipe data diturunkan dari kelas dasar
Object.
Keuntungan : memudahkan programmer
untuk mendesain, membuat,
mengembangkan dan mengalokasi kesalahan
program secara cepat, tepat, mudah dan
terorganisir.
Tujuan menghilangkan alokasi memori dandealokasi memori secara manual.
Garbage collection fasilitas pengaturanpenggunaan memori sehingga programmertidak perlu melakukan pengaturan memorisecara langsung (mencegah adanya memoryleak)
Memory leak masalah yang sering dihadapiprogrammer c dan c++ dimana memori yangdigunakan untuk objek atau variabel yangsudah tidak digunakan tidak didealokasikansehingga memungkinkan adanya kehabisanmemori karena proses alokasi maupundealokasi yang tidak diatur dengan baik.
J2SDK: seperangkat
tool (kit) berisi
kompiler dan
interpreter java
(dirilis SUN), bersifat
Free www.sun.com
Nama Program Keterangan
javac Kompiler
java interpreter
jdb debugger
javap Disasembler
appletviewer Penampilan
applet
Javadoc Pembangkit
dokumentasi
javah Pembangkit
berkas header
C
Interpreter Kompiler
Menerjemahkan instruksi per instruksi Menerjemahkan secara keseluruhan
Soure program tidak harus ditulis
lengkap
Source program ditulis lengkap
Bila terjadi kesalahan kompilasi, dapat
langsung dibetulkan secara interaktif
Bila terjadi kesalahan kompilasi,
source program harus dibenarkan dan
proses kompilasi diulang kembali
Tidak menghasilkan objek program Menghasilkan objek program
Tidak menghasilkan executable
program karena langsung dijalankan
pada saat program diinterpretasi
Menghasilkan executable program,
sehingga dapat dijalankan di keadaan
prompt sistem
Proses interpretasi terasa cepat,
karena tiap-tiap instruksi
langsung dikerjakan dan dapat
dilihat hasilnya
Proses kompilasi lama, karena
sekaligus menerjemahkan seluruh
instruksi program
Source program terus
dipergunakan karena tidak
dihasilkan executable program
Source program sudah tidak
dipergunakan lagi untuk
mengerjakan program
Proses pengerjaan program lebih
lambat, karena setiap instruksi
dikerjakan harus
diinterprestasikan ulang kembali
Proses pengerjaan program lebih
cepat, karena executable program
sudah dalam bahasa mesin
Keamanan dari program kurang
terjamin, karena yang selalu
digunakan adalah source
program
Keamanan dari program lebih
terjamin, karena yang dipergunakan
executable program.
Sederhana menggunakan sintaks c++berorientasi objek semua adalah objek,
terkecuali tipe data primitif
dapat didistribusikan dengan mudah
tampak sebagai applet dan library yangmampu bekerja dalam jaringan dan bekerjadengan objek terdistribusi (RMI). Saat iniJava juga memiliki kemampuan untukserver side processing yaitu teknologi JavaServlet dan Java Server Pages.
Aman library security serta policy yangmembatasi akses applet di komputer client.
diinterpretasi oleh interpreter
memerlukan virtual machine yangbertindak sebagai interpreter yangmenterjemahkan bytecode (file class)menjadi bahasa mesin yang dimengertioleh komputer host
Portabel dijalankan di berbagaiplatform tanpa perubahan kode samasekali
Multithreading kemampuan menanganidan menjalankan banyak thread sekaligus
Dinamik teknologi yang terusberkembang (library)
netral terhadap arsitektur hardware
dijalankan pada arsitektur berbeda
Robust menghasilkan program secaracepat dan handal karena pencegahanmemory leaking, meniadakan pointer(yangmerupakan keharusan pada programmer cdan c++) serta mencegah berbagai erroryang mungkin terjadi dengan adanyaberbagai proses pengecekan awal padakompilasi.
Procedural Approach
Data Structures can berepresented as a networkof associated structures,referring to one another.
Procedures can berepresented as a networkof routines which call oneanother, i.e., "call tree"
Object Oriented Approach
Collection of discreteobjects that incorporatedata structures andbehavior.
Each data structure has,combined with it, theprocedures which apply tothat data structure.
Contrasts withconventional programmingin which data structuresand behavior are onlyloosely connected
These entities, calledobjects, can be associatedto one another in onenetwork, rather than two.
Koordinat adalah sebuah variabel bertipe Titik dimana
terdiri atas elemen variabel x dan y
Banyak variabel dengan tipe titik, tetapi tidak dapat
melakukan modifikasi tipe titik (menambahkan
fungsi/prosedur)
Variabel koordinat tidak bisa menyimpan fungsi/prosedur
untuk melakukan modifikasi terhadap data yang di
simpannya
typedef struct {
Int x;
Int y
} Titik
Titik Koordinat;
Koordinat.X=10;
Koordinat.Y=15;
Pendekatan berorientasi objek
memandang sistem yang akan dikembangkan
sebagai suatu kumpulan objek yang
berkorespondensi dengan objek-objek dunia
nyata.
Setiap objek yang dimodelkan terpisah satu
sama lain dengan objek lainnya.
Objek bersiklus hidup: diciptakan,
dimanipulasi, dan dihapus.
Meliputi : Abstraksi objek, kelas, hubungan
antar kelas sampai abstraksi sistem.
Sesuatu dapat disebut sebagai objek apabila ada
ciri-ciri yang tersirat dalam objek tersebut, mampu
menyimpan informasi (status/state) dan
mempunyai operasi (kelakuan/behaviour) yang
dapat diterapkan atau dapat berpengaruh pada
status objeknya.
Penentuan sebuah objek dilakukan secara relatif.
objek adalah instan dari kelas yang dibentuk
secara seketika dari kelas pada saat eksekusi
(seperti halnya deklarasi variabel pemrograman
prosedural )
Objek memiliki ciri-ciri yang relatif umum objek pasti dapat
dispesialisasikan lebih lanjut / diberikan ciri yang lebih khusus.
Misalnya :
Rekening bank dispesialisasikan lagi menjadi rekening
tabungan atau rekening deposito.
Mahluk hidup dispesialisasikan lagi menjadi binatang,
tumbuhan atau manusia
Contoh Objek :
merupakan sesuatu yang real/nyata
Misal : mahluk hidup, alat transportasi, dll
merupakan sesuatu yang abstrak
Misal : rekening bank, sinyal, dll.
Ciri-ciri yang dimiliki sebuah objek :
Karakteristik pasif Ciri-ciri yang secara pasif
menunjukan status keadaan/state dari sebuah objek.
seperti mobil memiliki state warna, model, tahun
pembuatan, kondisi, dll.
Karakteristik aktif Ciri-ciri fungsional yang
menunjukan kemampuan operasional/kelakuan dari
sebuah objek.
seperti mobil dapat melaju, membelok, membunyikan
klakson, dll
Sifat – sifat objek :
Encapsulation / Pembungkusan
Inheritance / Penurunan Sifat
Polymorphism / Perubahan Perilaku
Encapsulation (Pembungkusan) sebagai satu kesatuanyang lengkap meliputi properti (Karakteristik pasif) danmetode (Karakteristik aktif) yang dimiliki objek Bertujuan menyembunyikan kompleksitas operasi pada objek.
Keuntungan:Modularitas
Setiap objek dapat dikelola secara independen
Setiap objek dikemas secara utuh dengan segala kelengkapan.
Setiap objek dengan demikian akan bersifat unik terhadap objeklainnya.
Penyembunyian kompleksitas operasi Kerumitan operasi yang terkandung dalam metode objek menjadi
tersamar.
Terlindungnya kode program dari kemungkinan modifikasi pihak lain.
Inheritance (Penurunan sifat) terjadi dalam 2
tingkatan objek.
Tingkat pertama pendefenisian kelas berbasis
kelas lain yang telah ada sebelumnya.
Tingkat kedua pembentukan instan terhadap
sebuah kelas
Penurunan sifat satu arah dari objek yang lebih
tinggi tingkatannya (sebagai objek parent) ke objek
turunannya (sebagai objek child / instant). Tidak
terjadi sebaliknya.
Polymorphism metode sama yang dapat
menyajikan operasi yang berbeda
Berkaitan dengan defenisi metode dalam setiap
objek.
Memanfatkan overloading terhadap fungsi dan
objek.
Overloading bentuk pendeklarasian ulang fungsi /
operasi untuk menangani beberapa kasus yang berbeda
dengan operasi yang sejenis
Digunakan untuk meningkatkan kemampuan fungsi /
operasi dalam menangani data yang berbeda dengan
perlakuan yang sama.
Atribut ciri (nilai/elemen data) dari
sebuah objek
Dimiliki secara individual oleh sebuah objek
Contoh: berat, warna, jenis, nama, dan
sebagainya
Layanan (Service) Metode/operasi yang
berfungsi untuk memanipulasi objek itu sendiri.
Dapat berasal dari:
model objek
event
aktivitas atau aksi keadaan
fungsi
kelakuan dunia nyata
Contoh: Read, Write, Move, Copy dan
sebagainya.
ADT (Abstract Data Type) Definisi dari
class dimana komponen type menjadi atribut
dan fungsi primitif menjadi
operasi/metode/layanan.
Mesin Objek pasif dengan status yang akan
diaktifkan oleh objek lain.
Proses Objek aktif yang mempunyai
“urutan kendali” (thread of control)
Note: Fungsi primitif pada mesin merupakan
mekanisme transisi yang mengubah suatu
status ke status lain.
Class kumpulan objek berkarakterikstik sama definisi statik
dari himpunan objek yang sama yang mungkin lahir atau
diciptakan dari kelas tersebut.
Misal :
Program simulasi ATM objek-objek Nasabah, Kartu ATM,
Mesin ATM, Rekening
Mempunyai sifat (atribut), kelakuan (operasi), hubungan
(relationship) dan arti.
Dapat diturunkan dari class lain, dimana atribut dari class semula
dapat diwariskan ke class baru.
Ibaratkan sebuah rancangan rumah yang
digunakan untuk membangun ratusan
rumah.
Rumah yang dibangun tersebut objek
dari kelas rancangan rumah.
Hal ini dapat dilakukan karena semua
objek rumah yang dibangun memiliki
karakteristik yang sama, sehingga dapat
dibuatkan semacam blueprintnya.
Objek model eksekusi (timbul saat
eksekusi)
Class deskripsi statik dari objek (timbul
dalam pemodelan analisis dan perancangan
serta teks program)
Secara eksplisit 3 objek :
Dosen memberikan kuliah
Mahasiswa mengikuti kuliah
Materi Kuliah yang disampaikan
Secara implisit 2 objek :
Jadwal kapan kuliah diadakan
Nilai yang didapat mahasiswa dari kuliah yang
sudah diikutinya
Notepad editor standard yang disediakan oleh
windows. Tidak dilengkapi dengan utilitas jumlah baris
(berpengaruh pada pelacakan baris program yang
menyebabkan error kompilasi) contoh Ms Dos Edit,Editor
windows Notepad/Wordpad, mempunyai file otomatis
dengan ekstensi .txt
Beri penambahan ekstensi .java untuk setiap penyimpanan
program java
Gel
1.Editor yang hanya bekerja di windows dan mengenali
reserve keyword dari beberapa bahasa seperti java, html,
C/C++ shg dapat digunakan secara meluas
2.Terdapat fasilitas untuk pelacakan baris program yang
menyebabkan error kompilasi
Editor-editor lain: Eclipse, Netbeans, Jbuilder, Jcreator
dll
1.
Case sensitive, penggunaan huruf kapital dankecil memiliki arti yang berbeda.
Spasi kosong, spasi kosong yang dapat terdiridari beberapa karakter, tab, dan ganti barisdiabaikan dalam java.
Kurung kurawal, kurung kurawal adalahsimbol yang menandai awal dan akhir suatublok program.
Komentar teks yang menerangkan kode,
tetapi tidak dibaca sebagai program.
Tujuan : membantu programmer maupun
orang lain dalam mendefinisikan program.
Komentar berisi hal-hal sebagai berikut:
Tujuan dan fungsi dari program
Hak cipta
Nama pembuat program
Tanggal pembuatan serta perubahan program
Keterangan-keterangan lain yang diperulkan
Dua bentuk komentar, yaitu:Komentar baris (//komentar)
Contoh: //Nama file: hello.java
Komentar paragraf (/* komentar */) Contoh:
/* Nama program: Contoh pemrograman JavaNama file: hello.java */
/*
nama file : hello.java
deskripsi : merupakan program percobaan Java pertama
yang menampilkan Hallo, apa kabar
dibuat oleh : Rita W.
kompilasi: javac hello.java konversi ke class
eksekusi: java hello jalankan dengan nama
*/
package hello;
public class Main //pendefinisian class bernama Main
{
public static void main(String[] args) {
System.out.println ("Hallo, apa kabar");
System.out.print (“test”);
}
}
public class hello{....
}
Pendefinisian class dengan modifier public agar dapat dikompilasi dan dijalankan oleh JavaVM.
Sintaks dasar utama sebuah file program Javaadalah sintaks definisi class seperti berikut :
[modifier] [class] namaclass {....
}
public static void main (String [ ] args)
{
....
}
Kode program ini adalah bagian utama, karena
bagian ini pertama kali dijalankan/tempat
dimulainya program dieksekusi.
Jika tidak ada method ini maka akan keluar pesan
kesalahan:
Exception in thread “main”.java.lang.NoSuchMethodError: main
public :Salah satu macam modifier.
static :Tipe method.
void :Menunjukkan bahwa method tidakmengembalikan nilai atau objek.
main :Nama method utama dari programjava.
string :Tipe argumen yang diterima untukparameter dari command java.
args :Array argumen yang bisa ditambahkanpada saat menggunakan commandjava untuk menjalankan program java.