pemrograman - reezeki2011

advertisement
21/09/2013
Pemrograman I
By : Sri Rezeki Candra Nursari
3 + 1 SKS
PEMROGRAMAN
• Pemrograman I  Dasar Java
• Pemrograman II  Java dalam
membaca library
• Pemrograman III  Aplikasi Java
Desktop
• Pemrograman IV  Aplikasi Java
WEB
1
21/09/2013
Penilaian : Gasal TA 2013/2014
UAS
= 30% di lab
UTS
= 25%
ABSEN
= 5%
TUGAS
= 20%
PRAKTIKUM
= 20%
_________________________________
Jumlah
= 100%
Tugas dan praktikum berikan URL Anda pada
github.com\CandraNursari
Batas Tugas & praktikum paling lambat sesuai jadwal UAS
Literatur











H.M Deitel, P.J Deitel, Small Java How to Program-sixth Edition,
Pearson Prentice Hall, 2005
Elliot B. Koffman, Paul A.T. Wolfgang, Objects, Abstraction, Data
Structures and Design Using Java, John Wiley & Sons.Inc, 2005
Ian F. Darwin, Java Cookbook, O’Reilly, 2001
Mark Allen Weiss, Data Structures & Algorithm Analysis in Java,
Addison-Wesley, 1999
Moh.Sjukani, Algoritma & Struktur Data dengan C, C++ dan Java,
Mitra Wacana Media, Agustus 2005
Rangsang Purnama, Tuntunan Pemrograman Java jilid- 1, Prestasi
Pustaka Publisher, Januari 2003
Rangsang Purnama, Tuntunan Pemrograman Java jilid- 2, Prestasi
Pustaka Publisher, Juli 2003
Rangsang Purnama, Tuntunan Pemrograman Java jilid 3, Prestasi
Pustaka Publisher, Maret 2003
Ariesto Hadi Sutopo, Fajar Masya, Pemrograman Berorientasi Objek
dengan Java, Graha Ilmu, 2005
Indrajani, Martin, Pemrograman Berorientasi Objek dengan Java, Elex
Media Komputindo, 2004
Melvin Antonius, Damian Bayu Imam Santoso, Carneles, Membuat
Animasi dengan Java, Elex Media Komputindo, 2004
2
21/09/2013
Materi
1.
2.
3.
4.
5.
6.
7.
8.
Pengertian Java
Setup /Instalasi Java
Version Control (Git)
Anatomi aplikasi Java
Classpath
Variabel dan Tipe Data
Operator
Control Flow (If.... Else,
For/While)
9. Class & Object
10.
11.
12.
13.
14.
15.
16.
17.
18.
Method
Exception
Konsep OOP
Inheritance
Encapsulation
Polymorphism
Abstract Class & Interface
Composition &
Aggregation
Studi Kasus & Presentasi
JAVA
Pertemuan 01
3+1 SKS
3
21/09/2013
PEMROGRAMAN I
• Trik menjadi programmer 
minimal 1 hari coding 10 baris
• Tujuan :
–Memahami Bahasa
Pemrograman Java
JAVA
• Sejarah dan Pengertian Java
• Setup/Instalasi JAVA
• Version Control (Git)
4
21/09/2013
a. Sejarah dan Pengertian JAVA
1.
2.
3.
4.
5.
6.
7.
8.
Asal mula JAVA
Perkembangan teknologi JAVA
Standar JAVA
Perbedaan JavaScript dgn JAVA
JAVA bytecode
Kelebihan JAVA
Karakteristik JAVA
Perbedaan JAVA dengan C/C++
1. Asal Mula JAVA
• di perkenalkan pertama kali oleh sebuah tim Sun
Microsystem.
• dipimpin oleh Patrick Naughton dan James Gosling
• Tahun 1995
• bahasa pemrograman yang bersifat portable dan
platform independent, yang dapat digunakan
untuk membuat peranti lunak yang dapat di
tanamkan (embedded) pada berbagai macam
peralatan elektronik
5
21/09/2013
2. Perkembangan Teknologi JAVA
• Saat ini Sun Microsystem membagi Java
menjadi empat jenis edisi, yaitu :
1. Java Card
• Teknologi Java yag digunakan pada peralatan
elektronik yang memiliki memori sangat terbatas,
misalnya smart card
2. J2ME (Java 2 Platform Micro Edition)
• Merupakan teknologi Java edisi mikro, digunakan
untuk penerapan teknologi Java pada peralatan
elektronik seperti handphone dan PDA
2. Perkembangan Teknologi JAVA
• Setiap edisi Java terdiri dari dua/2
komponen utama, yaitu :
– Java Application Programming Interface (Java
API)
•
Java API terdiri atas kumpulan library yang digunakan untuk
keperluan pemrograman. Dengan adanya API, tidak harus
membuat program dari awal. Misalnya untuk J2SE, sudah
terdapat API untuk pengolahan window dengan Swing dan
AWT (Abstract Window Toolkit)
– Java Run Time Environment (JRE)
•
JRE merupakan lingkungan yang membuat aplikasi Java
dapat dijalankan. Salah satu komponen penting JRE adalah
JVM (Java Virtual Machine)
6
21/09/2013
Perkembangan Versi Pada JAVA adalah
Versi
JAVA
1.0
1.1
1.2
1.3
1.4
5
6
Tahun
1996
1997
1998
2000
2004
2004
2005
Jumlah Class Pada tahun 2006,
Sun Microsystem
menerapkan lisensi
211
open source, yaitu
477
GNU General
Public License
1.524
(GNU GPL)
1.840
sehingga semua
2.723
user semakin
3.279
leluasa
 3.777
menggunakan
teknologi Java
3. Standar JAVA
•
Ada 6 standar Java, adalah sebagai berikut :
1.
Dukungan bahasa
•
2.
Utilitas
•
3.
Kumpulan kelas dan metode yang mendukung fasilitas bahasa pada Java
seperti String, Array, Fungsionalitas tak tergantung sistem, Thread dan
Eksepsi
Kumpulan kelas yang menyediakan fungsi-fungsi utilitas seperti, bilangan
acak, fungsi tanggal dan waktu, serta kelas-kelas penyimpanan vektor
dan hashtable
Masukan/keluaran
•
Kumpulan kelas yang mengambil masukan dari berbagai sumber dan
memanipulasi masukan tersebut dengan sejumlah cara serta
menampilkannya ke berbagai sumber dengan cara yang bervariasi.
Kelas-kelas ini meliputi kelas filter, pengakses file secara sekuensial
maupun acak dan puluhan metode untuk membaca dan menulis semua
jenis tipe data
7
21/09/2013
3. Standar JAVA
•
Ada 6 standar Java, adalah sebagai berikut :
4.
Jaringan
•
5.
Abstract Window Toolkit (AWT)
•
6.
Kumpulan kelas yang digunakan untuk menghubungan komputer dengan
komputer lain dijaringan lokal maupun internet. Kelas-kelas ini meliputi
socket, Internet-Address dan pemrosesan URL (Uniform Resource
Locator)
Kumpulan kelas yang mengimplementasikan antar muka pengguna grafis
(GUI : Graphical User Interface) yang tidak tergantung terhadap
platform.
Applet
•
Kelas yang memungkinkan untuk membuat program Java yang nantinya
didownload dari halaman WEB da dijalankan di browser klien seperti
HotJava atau Netscape
4. Perbedaan Javascript dgn JAVA
•
JavaScript
–
•
merupakan scripting language yang digabungkan dengan HTML,
sehingga memungkinkan suatu web page berinteraksi dengan
penggunanya. JavaScript, tidak memerlukan kompilasi, karena
konsepnya hanya diinterpretasikan, dimana Web Browserlah
yang bertanggung jawab untuk melakukannya.
Java
–
merupakan full programming language, yang secara esensi
sama dengan bahasa pemrograman lainnya seperti VisualBasic,
C++, dan lain-lain. Kode Java dibuat harus dikompilasi menjadi
bentuk yang dapat dieksekusi oleh run-time system Java (Java
Virtual Machine. Program Java yang dibuat sebagai applet tidak
dieksekusi oleh Web Browser, tetapi Web Browser sebagi
komtainer yang memungk inkan applet tersebut dieksekusi
didalamnnya
8
21/09/2013
5. JAVA Bytecode
•
•
•
•
Hasil kompilasi Java adalah berupa bytecode yang
merupakan sekumpulan instruksi yang sangat
teroptimasi.
Agar bytecode dapat dieksekusi seperti program
biasa, maka diperlukan suatu program khusus
yang akan menerjemahkan dan mengeksekusi
setiap baris instruksi bytecode yang ada oleh
microprocesesor secara langsung.
Program khusus ini kita kenal sebagai Java Virtual
Machine (JVM).
Jadi JVM merupakan interpreter dari bytecode
6. Kelebihan JAVA
1. Bersifat portable dan platform independent
–
Program Java yang ditulis dapat dieksekusi di paltform
manapun tanpa memerlukan kompilasi ulang (portable) asalkan
Java Virtual Machine untuk platform tersebut tersedia
2. Memiliki garbage collection
–
Dapat mendealokasi memori secara otomatis. Anda tidak perlu
secara eksplisit membebaskan suatu lokasi memori yang
dipakai karena ini akan dilakukan secara otomatis oleh Java.
3. Menghilangkan pewarisan berganda yang terdapat
pada C++
–
Walaupun kelihatannya sebagai suatu kekurangan, namun
banyak para ahli yang mengakui bahwa bahasa konsep
pewarisan berganda lebih banyak mengakibatkan kerugian dari
pada keuntungan. Java telah didesain sedemikian rupa sehingga
Anda tidak akan memerlukan teknik ini dalam pembuatan
program apapun
9
21/09/2013
6. Kelebihan JAVA
4. Mengurangi pointer aritmetik
– Pengaksesan lokasi memori secara langsung dengan
menggunakan pointer memungkinkan program untuk
melakukan suatu tindakan yang tidak seharusnya atau
tidak boleh dilakukan. Untuk mengurangi dan
menghilangkan kemungkinan kesalahan seperti ini,
penggunaan pointer pada Java telah dibatasi dengan
menggunakan reference
5. Memiliki array sejati
6. Mengurangi kerancuan antara pemberian nilai
pada statemen kondisional.
– Contoh pengguunaan tanda ”=” dengan ”==” pada
kondisi IF
7. Krakteristik JAVA
1. Berorientasi objek
– Java telah menerapkan konsep pemrograman
berorientasi objek yang modern dalam
implementasinya
2. Robust/Kokoh
– Java mendorong pemrograman yang bebas dari
kesalahan dengan bersifat strongly typed dan memiliki
run-time checking. Perangkat lunak yang kuat tidak
mudah menghentikan program karena terdapat bug
atau kesalahan logika didalamnya. Pemrograman pada
umumnya mempunyai keterbatasan termasuk tipe
datadan penggunaan pointer. Java tidak mendukung
aritmatika pointer melainkan Array.
10
21/09/2013
7. Krakteristik JAVA
3. Portable
–
Program Java dapat dieksekusi di paltform manapun selama
tersedia Java Virtual Machine untuk platform tersebut
4. Multithreading
–
Java mendukung penggunaan multihreading yang telah
diintegrasi sacara langsung dalam bahasa Java. Java dapat
digunakan untuk membuat aplikasi dimana beberapa event
berlangsung pada saat yang sama
5. Dinamis
–
Program Java dapat melakukan suatu tindakan yang ditentukan
pada saat eksekusi program dan bukan pada saat kompilasi.
Tidak seperti kode dalam C++ yang memerlukan kompilasi
kembali jika suatu kelas diubah, Java menggunakan metode dari
interface untuk menghilangkan ketergantungan tersebut.
Metode dan variabel dari instance baru dapat digunakan tanpa
mempengaruhi objek pada client
7. Krakteristik JAVA
6. Sederhana
–
Java menggunakan bahasa yang sederhana dan mudah
dipelajari
7. Terdistribusi
–
Java didesain untuk berjalan pada lingkungan yang terdistribusi
seperti halnya internet. Java secara spesifik dirancang untuk
pekerjaan dalam lingkungan jaringan. Java mempunyai banyak
pustaka kelas untuk komunikasi menggunakan protokol internet
TCP/IP, termasuk protokol seperti HTTP dan FTP
8. Aman
–
Aplikasi yang dibuat dengan bahasa Java dapat dipastikan
keamanannya terutama untuk aplikasi internet. Java membatasi
pada pointer sehingga developer tidak dapat mengakses
memori jika tidak diijinkan. Aspek ini membuat Java cukup
aman dalam lingkungan software.
11
21/09/2013
7. Krakteristik JAVA
9. Netral secara arsitektur
– Java tidak terikat pada suatu mesin atau sistem
operasi tertentu. Kompiler Java membuat bytecode
yang dikirim ke browser dan diterjemahkan oleh
browser yang mempunyai interpreter Java. Dengan
demikian dapat dijalankan pada semua komputer
dengan platform yang berbeda
10. Interpreted
– Aplikasi Java dapat dieksekusi pada platform yang
berbeda-beda dengan melakukan interpretasi pada
bytecode. Kompiler Java menerjemahkan file sumber
Java menjadi bytecode yang dapat dijalankan pada
semua komputer yang menjalankan interpreter Java
atau Browser
7. Krakteristik JAVA
11.Berkinerja tinggi
– Bytecode Java telah sangat teroptimasi
sehingga eksekusi program dapat dilakukan
secara cepat sekalipun dilakukan dengan cara
interpretasi terhadap bytecode. Kompilasi Java
termasuk kebebasan menerjemahkan bytecode
ke kode mesin pada platform yang ada. Hal ini
memberikan efisiensi yang sama seperti
kompilasi dan pemrosesan secara tradisional.
12
21/09/2013
8. Perbedaan JAVA dengan C/C++
1. Java tidak mendukung tipe data struct, union dan
pointer
2. Java tidak mendukung typedef atau #define
3. Java berbeda dalam menangani operator tertentu
dan tidak menginjinkan operator overloading
4. Java tidak mendukung multiple inheritance
5. Java mempunyai kelas String yang menjadi bagian
dari paket java.lang
6. Java menangani argumen command-line berbeda
7. Java mempunyai sistem otomatis untuk
mengalokasikan dan membebaskan memori,
sehingga tidak perlu menggunakan fungsi alokasi
dan dealokasi memori
b. Setup/Instalasi JAVA
1. Kebutuhan Software
2. Instalasi JAVA
3. Setting Path
13
21/09/2013
1. Kebutuhan Software
–JAVA SDK 7
–Notepad++
–Git (dan Account Github)
2. Instalasi Java
–JAVA SDK
–Notepad++
–Daftar di GITHUB.COM
–Git (dan Account Github)
14
Download