Download 03_Pendahuluan_JAVA

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
PEMROGRAMAN TERSTRUKTUR
PENDAHULUAN JAVA
By
Nia Saurina SST.,M.Kom
Latar Belakang
• Pada 1991, sekelompok insinyur SUN dipimpin
oleh Patrick Naughton dan James Gosling ingin
merancang bahasa komputer untuk perangkat
konsumer seperti cable TV Box. Dikarenakan
perangkat tersebut tidak memiliki banyak
memori, bahasa harus berukuran kecil dan
mengandung kode yang transparan. Juga karena
perusahaan berbeda memilih processor yang
berbeda pula, maka bahasa harus bebas dari
manufaktur manapun. Proyek diberi nama kode
”Green”.
• 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 telah ada sebelumnya, kemudian
SUN menggantinya dengan JAVA.
• Nama JAVA sendiri 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. Akhirnya mereka sepakat untuk
memberikan nama bahasa pemrograman tersebut
dengan nama JAVA .
Pengenalan JAVA
• Menurut definisi Sun adalah nama untuk sekumpulan
teknologi untuk membuat dan menjalankan perangkat lunak
pada komputer standalone ataupun pada lingkungan
jaringan.
• Java2 adalah generasi kedua dari Java platform (generasi
awalnya adalah Java Development Kit)
• Java berdiri di atas sebuah mesin interpreter yang diberi
nama java Virtual Machine (JVM)
• JVM inilah yang akan membaca bytecode dalam file . Class
dari suatu program sebagai representasi langsung program
yang berisi bahasa mesin
• Sehingga Java disebut sebahai bahasa pemrograman yang
portable karena dapat dijalankan pada berbagai sistem
operasi, asalkan pada sistem operasi tersebut terdapat JVM
Platform Java #1
• Platform Java terdiri dari kumpulan library, JVM,
kelas-kelarisi JVM dan library s loader yang dipaket
dalam sebuah lingkungan ruti Java, dan sebuah
compiler, debuger dan perangkat lain yang dipaket
da;am Java Development Kit (JDK)
• Agar sebuah program Java dapat dijalankan, maka
file dengan ekstensi .java harus dikopilasi menjadi
file bytecode
• Untuk menjalankan bytecode tersebut dibutuhkan
JRE (Java Runtime Environtment) yang
memungkinkan pemakai untuk menjalankan
program Java, tidak untuk membuat kode baru lagi.
Platform Java #2
• Platform Java memiliki tiga buah :
▫ J2EE (Java2 Enterprise Edition)
▫ J2ME (Java2 Micro Edition)
▫ J2SE (Java2 Second Edition)
• J2EE adalah kelompok dari beberapa API Java,
menyediakan kelas dasar dan API yang mendukung
pengembangan dan rutin standar untuk aplikasi
klien maupun server, termasuk web browser.
• J2SE dirancang untuk digunakan pada device
seperti pager dan mobile phone.
• Java merupakan bahasa pemrograman yang
bersifat case sensitive yang berarti penulisan
menggunakan huruf besar ataupun huruf kecil
pada kode program dapat berarti lain, misalnya
penulisan “System” akan diartikan berbeda
dengan “system” oleh interpreter.
Karakteristik
• Sederhana, Bahasa pemrograman Java
menggunakan sintaks mirip dengan C++ namun
sintaks pada Java telah banyak diperbaiki terutama
menghilangkan penggunaan pointer yang rumit dan
menggunakan garbage collection.
• Berorientasi objek (Object Oriented), Java
mengunakan pemrograman berorientasi objek yang
membuat program dapat dibuat secara modular dan
dapat dipergunakan kembali. Pemrograman
berorientasi objek memodelkan dunia nyata
kedalam objek dan melakukan interaksi antar objekobjek tersebut.
• Dapat didistribusi dengan mudah, dengan adanya
libraries networking yang terintegrasi pada Java.
• Interpreter, Program Java dijalankan menggunakan
interpreter yaitu Java Virtual Machine (JVM). Hal ini
menyebabkan source code Java yang telah dikompilasi
menjadi Java bytecodes dapat dijalankan pada platform
yang berbeda-beda.
• Robust, Java mempuyai reliabilitas yang tinggi.
Compiler pada Java mempunyai kemampuan
mendeteksi error secara lebih teliti dibandingkan bahasa
pemrograman lain. Java mempunyai runtime-Exception
handling untuk membantu mengatasi error pada
pemrograman.
• Aman, Sebagai bahasa pemrograman untuk
aplikasi internet dan terdistribusi, Java memiliki
beberapa mekanisme keamanan untuk menjaga
aplikasi yang tidak merusak sistem komputer yang
menjalankan aplikasi tersebut.
• Architecture Neutral, Program Java merupakan
platform independent. Program cukup mempunyai
satu buah versi yang dapat dijalankan pada platform
yang berbeda dengan Java Virtual Machine.
• Portabel, Source code maupun program Java dapat
dengan mudah dibawa ke platform yang berbedabeda tanpa harus dikompilasi ulang.
• Multithreaded, Java mempunyai kemampuan
untuk membuat suatu program yang dapat
melakukan beberapa pekerjaan secara sekaligus
dan simultan.
• Dinamis, Perubahan pada suatu class dengan
menambahkan properties ataupun method
dapat dilakukan tanpa menggangu program
yang menggunakan class tersebut.
Garbage Collection
• Program Java melakukan garbage collection
yang berarti program tidak perlu menghapus
sendiri objek–objek yang tidak digunakan lagi.
Fasilitas ini mengurangi beban pengelolaan
memori oleh programmer dan mengurangi atau
mengeliminasi sumber kesalahan terbesar yang
terdapat pada bahasa yang memungkinkan
alokasi dinamis.
Keamanan Java
• Java menggunakan model pengamanan 3 lapis
untuk melindungi sistem.
▫ class-loader yang menyediakan pengamanan dengan
memisahkan kelas– kelas yang berasal dari local disk
dengan kelas–kelas yang diambil dari jaringan.
▫ bytecode verifier membaca bytecode sebelum
dijalankan dan menjamin bytecode memenuhi
aturan–aturan dasar bahasa Java.
▫ manajemen keamanan menangani keamanan
tingkat aplikasi dengan mengendalikan apakah
program berhak mengakses sumber daya seperti
sistem file, port jaringan, proses eksternal dan sistem
windowing.
Code Security
• Terdapat tiga bagian utama yaitu:
1.
2.
3.
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.
bytecode verifier membaca bytecode sebelum dijalankan
dan menjamin bytecode memenuhi aturan–aturan
dasar bahasa Java.
manajemen keamanan menangani keamanan tingkat
aplikasi dengan mengendalikan apakah program berhak
mengakses sumber daya seperti sistem file, port
jaringan, proses eksternal dan sistem windowing.
• Java juga menyediakan beragam teknik pengamanan lain :
1.
2.
Bahasa dirancang untuk mempersulit eksekusi kode perusak.
Peniadaan pointer merupakan langkah besar pengamanan. Java tidak
mengenal operasi pointer. Di tangan programmer handal, operasi
pointer merupakan hal yang luar biasa untuk optimasi dan
pembuatan program yang efisien serta mengagumkan. Namun mode
ini dapat menjadi petaka di hadapan programmer jahat. Pointer
merupakan sarana luar biasa untuk pengaksesan tak diotorisasi.
Dengan peniadaan operasi pointer, Java dapat menjadi bahasa yang
lebih aman.
Java memiliki beberapa pengaman terhadap applet. Untuk mencegah
program bertindak mengganggu media penyimpanan, maka applet
tidak diperbolehkan melakukan open, read ataupun write terhadap
berkas secara sembarangan. Karena Java applet dapat membuka
jendela browser yang baru, maka jendela mempunyai logo Java dan
teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah
jendela pop-up menipu sebagai permintaan keterangan username dan
password.
Fase – fase Pemrograman JAVA
• Langkah pertama dalam pembuatan sebuah program berbasis Java adalah
menuliskan kode program pada text editor. Contoh text editor yang dapat
digunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang
dibuat kemudian tersimpan dalam sebuah berkas berekstensi .java.
• Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode
program tersebut dengan menggunakan Java Compiler. Hasil dari kompilasi berupa
berkas bytecode dengan ekstensi .class. Berkas yang mengandung bytecode tersebut
kemudian akan dikonversikan oleh Java
• Interpreter menjadi bahasa mesin sesuai dengan jenis dan platform yang
digunakan.
Ringkasan Fase dari sebuah Program Java
Penanganan Kesalahan (Error)
• Sering seorang programmer setelah melakukan
kompilasi mengalami perngatan adanya
kesalahan pada kode program yang dibuat.
• Jangan panik, cek kembali kode program yang
telah dibuat dan memperbaiki kesalahan pada
kode program sesuai dengan pesan kesalahan
yang muncul
• Sangat penting membaca dan mencoba mengerti
pesan kesalahan yang muncul.
Hello Dunia
• class hello {
• public static void main (String[] args) {
•
system.out.printin(“Hello Dunia”)
•
}
• }
Pesan Kesalahan
• Tampilan pada JDK
▫ Hello.java:5: ‘;’ expected }
• Tampilan pada GCC
▫
▫
▫
▫
HelloDunia.cpp: In Function
‘ int main () ‘ :
HelloDunia.cpp:7: error:
Expected ‘;’ before “return”
• 1 error
• Jika bingung bagian mana yang membuat
sebuah kode program error saat dieksekusi,
maka dapat dimanfaatkan komentar.
Komentar
• Komentar merupakan bagian kode program
yang tidak diekskusi oleh saat program
dijalankan. Komentar dianggap penting untuk
memperjelas program agar lebih mudah
dimengerti dan memberikan informas-informasi
dari kode program yang diperlukan.
Fungsi komentar
• Memberikan informasi pembuatan kode
program
• Memberikan informasi tujuan dibuatnya sebuah
prosedur, fungsi atau metode
• Memberikan informasi fungsi variabel atau
konstanta
• Memberikan informasi langkah-langkah
jalannya program
Pengenalan Pustaka (Library)
• Pustaka atau Library adalah kumpulan program
atau fungsi yang telah ada pada compiler atau
interpreter untuk memudahkan pemrograman
membuat program dan tidak perlu mengakses
langsung sistem komputer untuk memprogram.
• Import java.math.*
• Pustaka yang disediakan bergantung pada bahasa
pemrograman yang digunakan maupun compiler
atau interpreter yang digunakan, untuk mengetahui
pustaka apa saja yang ada perlu dilakukan
eksplorasi terhadap bahasa pemrograman yang
digunakan
• Setiap pustaka menyediakan fungsi-fungsi tertentu
yang dapat mendukung pemrograman, sehingga
lakukan eksplorasi terlebih dahulu, jika fungsi telah
ada pada pustaka kita tidak perlu lagi membuatnya
sendiri, cukup menggunakan fungsi-fungsi yang ada
pada pustaka.
Tipe data
• Tipe data adalah pengelompokan data berdasarkan
isi dan sifatnya
• Biasanya data disimpan dalam sebuah variabel yang
harus dideklarasikan terlebih dahulu agar dapat
dikenali oleh compiler atau interpreter.
• Variabel merupakan tempat untuk menyimpan data
dengan tipe tertentu yang isinya bisa diubah-ubah
sesuai dengan tipenya
• Pendeklarasiannya adalah untuk memesan tempat
pada memori agar dapat digunakan untuk
menyimpan sebuah nilai.
• Konstanta adalah sebuah tempat untuk
menyimpan sebuah nilai sesuai dengan tipe
datanya.
• Perbedaan dengan variabel, konstanta hanya
boleh diisi sekali, dan tidak boleh dirubah-rubah
• int cangkir = 1; // contoh deklarasi variabel
Algoritma di JAVA
• Algoritma berarti solusi. Algoritma harus dibuat secara
runut agar komputer mengerti dan mampu
mengeksekusinya.
• Contoh  membuat secangkir susu panas
1.
2.
3.
4.
5.
Menyiapkan cangkir dan sendok
Menyiapkan susu bubuk atau susu kental manis
Menyiapkan gula
Menyiapkan air panas
Memasukkan susu bubuk atau susu kental manis ke
dalam cangkir
6. Memasukkan air panas ke dalam cangkir
7. Mengaduk susu panas dalam cangkir
8. Susu panas siap untuk dinikmati
No
1
Bahasa Manusia
Kondisi awal susu panas
belum siap
Menyiapkan cangkir dan
sendok
Bahasa Algoritmik
Integer susupanas <- 0
Keterangan
Susu panas belum siap
Integer cangkir <- 1
Integer sendok <- 1
3
Menyiapkan susu bubuk
atau susu kental manis
Integer susu <- 1
4
Menyiapkan gula
Integer gula <- 1
5
Menyiapkan air panas
Integer air panas <- 1
Cangkir dan sendok yang
semula tidak ada menjadi ada,
oleh karena itu cangkir diset
dengan angka 1
Susu yang semula tidak ada
menjadi ada, sehingga susu
diset 1
Gula yang semula tidak ada
menjadi ada, sehingga gula
diset 1
Air panas yang semula tidak
ada menjadi ada, sehingga air
panas diset 1
2
6
Memasukkan susu bubuk atau
susu kental manis ke dalam
cangkir
cangkir <- cangkir + susu
7
Memasukkan gula ke dalam
cangkir
cangkir <- cangkir + gula
8
Memasukkan air panas ke dalam
cangkir
cangkir <- cangkir + airpanas
9
Mengaduk susu panas dalam
cangkir
While gula = 1 AND susu = 1
Do
Cangkir < - cangkir + sendok
If cangkir = 50 then
gula < - 0
susu <- 0
(end if)
(end while)
10
Susu panas siap dinikmati
susupanas <-1
Susu dimasukkan ke dalam cangkir
sehingga dapat dianggap pada
cangkir dengan isi keadaan
sebelumnya ditambahkan dengan
susu
Gula dimasukkan ke dalam cangkir
sehingga dapat dianggap pada
cangkir dengan isi keadaan
sebelumnya ditambahkan dengan
gula
Air panas dimasukkan ke dalam
cangkir sehingga dapat dianggap
pada cangkir dengan isi keadaan
sebelumnya ditambahkan dengan air
panas
Selama gula dan susu belum larut
maka dilakukan pengadukan, sebagai
tanda berhenti jika nilai cangkir telah
mencapai 50 setelah terus
ditambahkan dengan sendok dalam
arti diaduk, maka dianggap gula dan
susu telah larut dan diset dengan 0
sehingga proses pengadukan
berhenti dan susu panas selesai
dibuat.
Susu panas siap dinikmati
No Tahapan
Algoritma
1 Deklarasi
2
Inisialisasi
Keterangan
Mendeklarasikan semua variable atau pemesanan tempat untuk menyimpan
data, untuk lebih jelasnya mengenai arti variable dapat dilihat pada bab dua.
Integer susupanas
Integer cangkir
Integer sendok
Integer susu
Integer gula
Integer airpanas
Merupakan tahapan mempersiapkan proses yang akan dikerjakan untuk
menyelesaikan masalah misalnya mengisi nilai-nilai variable yang nantinya
akan dipergunakan pada proses penyelesaian dan memerlukan adanya nilai
awal
susupanas <- 0
cangkir <- 1
sendok <- 1
susu <- 1
gula <- 1
airpanas <- 1
3
Proses penyelesaian masalah
4
Finalisasi
Merupakan tahapan penyelesaian masalah untuk memenuhi tujuan
sebuah algoritma dibuat
cangkir <- cangkir + susu
cangkir <- cangkir + gula
cangkir <- cangkir + airpanas
While gula = 1 AND susu = 1 do
cangkir <- cangkir + sendok
If cangkir = 50 then
gula <- 0
susu <- 0
(end if)
(end while)
Merupakan tahapan bersih-bersih atau tahap akhir misalnya menghapus
alokasi data atau mengeset variable yang butuh diset pada akhir
algoritma
susupanas <- 1
Terima kasih