By. Rita Wiryasaputra
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 memerlukan pointer sehingga memudahkan para programmer. menghilangkan multiple inheritance pada c++ dan menggunakan interface yang memiliki kemampuan sama tetapi lebih sederhana.
menghilangkan
banyak kebingungan terjadi apabila terjadi proses assignment(pemberian nilai) pada statemen konditional seperti berikut: if (varnya=5) Kode di atas menyebabkan program Java tidak dapat dikompilasi karena Java membedakan tanda = yang digunakan untuk pemberian nilai dan untuk pengecekan kondisi true atau false yang harus menggunakan 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 dan dealokasi memori secara manual. Garbage collection fasilitas pengaturan penggunaan memori sehingga programmer tidak perlu melakukan pengaturan memori secara langsung (mencegah adanya memory leak) Memory leak masalah yang sering dihadapi programmer c dan c++ dimana memori yang digunakan untuk objek atau variabel yang sudah tidak digunakan tidak didealokasikan sehingga memungkinkan adanya kehabisan memori karena proses alokasi maupun dealokasi 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 Soure
program
tidak
harus
Menerjemahkan secara keseluruhan
ditulis Source program ditulis lengkap
lengkap Bila terjadi kesalahan kompilasi, dapat Bila langsung dibetulkan secara interaktif
terjadi
kesalahan
kompilasi,
source program harus dibenarkan dan proses kompilasi diulang kembali
Tidak menghasilkan objek program
Tidak
menghasilkan
Menghasilkan objek program
executable Menghasilkan
executable
program,
program karena langsung dijalankan sehingga dapat dijalankan di keadaan
pada saat program diinterpretasi
prompt sistem
Proses interpretasi terasa cepat, Proses karena
tiap-tiap
kompilasi
lama,
karena
instruksi sekaligus menerjemahkan seluruh
langsung dikerjakan dan dapat instruksi program dilihat hasilnya Source
program
dipergunakan
karena
terus Source
program
tidak dipergunakan
dihasilkan executable program
sudah lagi
tidak untuk
mengerjakan program
Proses pengerjaan program lebih Proses pengerjaan program lebih lambat, karena setiap instruksi cepat, karena executable program dikerjakan
harus sudah dalam bahasa mesin
diinterprestasikan ulang kembali Keamanan dari program kurang Keamanan terjamin, digunakan program
karena
yang
adalah
dari
program
lebih
selalu terjamin, karena yang dipergunakan source executable program.
Sederhana
menggunakan sintaks c++ berorientasi objek semua adalah objek, terkecuali tipe data primitif dapat didistribusikan dengan mudah tampak sebagai applet dan library yang mampu bekerja dalam jaringan dan bekerja dengan objek terdistribusi (RMI). Saat ini Java juga memiliki kemampuan untuk server side processing yaitu teknologi Java Servlet dan Java Server Pages. Aman library security serta policy yang membatasi akses applet di komputer client.
diinterpretasi
oleh interpreter memerlukan virtual machine yang bertindak sebagai interpreter yang menterjemahkan bytecode (file class) menjadi bahasa mesin yang dimengerti oleh komputer host Portabel dijalankan di berbagai platform tanpa perubahan kode sama sekali Multithreading kemampuan menangani dan menjalankan banyak thread sekaligus Dinamik teknologi yang terus berkembang (library)
netral
terhadap arsitektur hardware dijalankan pada arsitektur berbeda Robust menghasilkan program secara cepat dan handal karena pencegahan memory leaking, meniadakan pointer(yang merupakan keharusan pada programmer c dan c++) serta mencegah berbagai error yang mungkin terjadi dengan adanya berbagai proses pengecekan awal pada kompilasi.
Apa
yang membedakan? Bagaimana Merubahnya?
Procedural Approach Data Structures can be represented as a network of associated structures, referring to one another. Procedures can be represented as a network of routines which call one another, i.e., "call tree"
Object Oriented Approach Collection of discrete objects that incorporate data structures and behavior. Each data structure has, combined with it, the procedures which apply to that data structure. Contrasts with conventional programming in which data structures and behavior are only loosely connected These entities, called objects, can be associated to one another in one network, 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 kesatuan yang lengkap meliputi properti (Karakteristik pasif) dan metode (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 objek lainnya.
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 Layanan Klasifikasi
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), (relationship) dan arti.
kelakuan
(operasi),
hubungan
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 blueprint-nya.
Objek
model eksekusi (timbul saat eksekusi) Class deskripsi statik dari objek (timbul dalam pemodelan analisis dan perancangan serta teks program)
Aktivitas
kuliah pada sistem akademik
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
Case
sensitive, penggunaan huruf kapital dan kecil memiliki arti yang berbeda. Spasi kosong, spasi kosong yang dapat terdiri dari beberapa karakter, tab, dan ganti baris diabaikan dalam java. Kurung kurawal, kurung kurawal adalah simbol yang menandai awal dan akhir suatu blok 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 Java Nama 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 Java VM. Sintaks dasar utama sebuah file program Java adalah 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 static void
main java. string
args
:Salah satu macam modifier. :Tipe method. :Menunjukkan bahwa method tidak mengembalikan nilai atau objek. :Nama method utama dari program :Tipe argumen yang diterima untuk parameter dari command java. :Array argumen yang bisa ditambahkan pada saat menggunakan command java untuk menjalankan program java.
System.out.println ("Hallo apa kabar");
Fungsi menampilkan pada konsol data yang dimasukkan sebagai parameter Tipe data String (diinputkan sebagai parameter pada method println() Untuk menginputkan data karakter atau numerik sebagai String maka diawali dan diakhiri dengan tanda “ ”