2. Tujuan Praktikum
1. Mahasiswa memahami konsep pemrograman
berorientasi objek
2. Mahasiswa dapat menerapkan konsep PBO
kedalam bahasa pemrograman.
3. Mahasiswa dapat menerapkan kemampuan
pemrograman dan konsep PBO dalam
pengembangan aplikasi bisnis skala enterprise.
3. Kontrak Kuliah
Tugas 20 %
Mid 30 %
Akhir 50 %
Standar konversi nilai yang direncanakan :
A : 85-99
B : 70-84
C : 60-69
D : 50-59
E : 0-49
Tugas : Tugas Mid (4X) dan Tugas Akhir (4X)
Ujian Mid : Pemrograman dan Presentasi
Ujian Akhir : Pemrograman dan Presentasi
4. Referensi
Kathie Sierra and Bert Bates (2008), Sun Certified
Programmer for Java TM 6 Study Guide.
Java Tutorial, Third Edition: A Short Course on the Basics,
Addison Wesley , 2000.
Ir. Sutarto, M.Si (2009), Mastering Java : Konsep
Pemrograman Java dan Penerapanya untuk Membuat
Software Aplikasi, Elex Media Komputindo, Jakarta.
6. Sejarah Pemrograman Berorientasi
Objek
Sebelum tahun 80-an, teknik fungsional dan prosedural
popular.
Teknik funsional : Pemecahan dengan fungsi matematik
Contoh : LISP
Teknik Prosedural : Pemecahan secara runtun, terdiri dari
subrutin
Contoh : Pascal, Basic, Fotran, dll
Awal 1982-1983, dikembangkanya bahasa pemrograman C++
oleh Prof. Bjarne Stroustrup di laboratorium AT&T.
prinsipnya bahwa data tidaklah bersifat pasif, namun
melakukan suatu aksi/tindakan, mampu memanipulasi dirinya
sendiri, menerima dan menampilkan nilai, atau bahkan
mempengaruhi data lainya
7. Bahasa yang mendukung teknik ini misalnya C++, Smalltalk,
Eiffel, ADA95, Python, Java, dll.
8. Konsep Pemrograman
Berorientasi Objek
Disingkat OOP : merupakan paradigma pemrograman yang
berorientasikan pada objek, semua data dan fungsi di bungkus
dalam kelas-kelas atau objek-objek. Dibandingkan dengan
pemrograman prosedural/terstruktur, setiap objek dapat menerima
pesan, memproses data, dan mengirimkan pesan ke objek lainya.
Model data berorientasi objek dikatakan dapat memberikan
fleksibilitas, kemudahan mengubah program, dan digunakan luas
dalam teknik piranti lunak skala besar.
9. Penekanan Konsep OOP
1. Kelas : kumpulan atas definisi data dan fungsi-fungsi
dalam suatu unit untuk suatu tujuan tertentu
2. Objek : membungkus data dan fungsi bersama menjadi
suatu unit dalam sebuah program
3. Abstraksi : cara melihat suatu objek dalam bentuk yang
sederhana.
4. Enkapsulasi : suatu mekanisme untuk menyembunyikan
atau memproteksi suatu proses dari kemungkinan interfensi
dari luar sistem.
5. Polimorfisme : memungkinkan banyak bentuk objek
dengan cara penggunaan yang sama.
6. Inheritas : Penurunan atribut.
10. Sejarah Bahasa Pemrograman Java
Lahir awal 1991 berawal dari project pengembangan teknologi
*7 (start seven) dimotori oleh James Gosling, menghasilkan
program bernama Oak.
Setelah era Star Seven selesai sebuah anak perusahaan TV kabel
tertarik, dengan ditambah orang dari proyek The Green Project
mereka memusatkan kegiatanya pada sebuah kantor di 100
Hamilton Avenue, Palo Alto. Perusahaan ini bertambah maju.
Pada tahun 1995 untuk pertama kali source code java versi
1.0.2 di buka, kesuksesan mereka diikuti dengan pemberitaan
pertama kali pada surat kabar San Jose Mercury News pada 23
Mei 1995.
Karena tidak mendapat lisensi, nama Oak diganti Java
11. Yang Membedakan Java dengan
Bahasa Lain
1. Bersifat portable, artinya program Java dapat dijalankan
pada platform yang berbeda tanpa perlu adanya kompilasi
ulang
2. Memiliki garbage collection yang berfungsi untuk
mendelokasi memori secara otomatis
3. Menghilangkan pewarisan ganda yang merupakan perbaikan
dari C++
4. Tidak ada penggunaan pointer artinya java tidak
memperbolehkan pengaksesan memori secara langsung.
Teknologi java terdiri dari beberapa komponen
Application Programing Interface (API).
Spesifikasi Mesin Virtual
12. Application Programing Interface
(API)
Merupakan sebuah metode yang menggunakan aplikasi
program untuk mengakses sistem operasi dari komputer.
Sehingga memungkinkan bagi pemrogram untuk
memprogram antarmuka pre-Construct sebagai pengganti
memprogram device atau bagian dari perangkat lunak
secara langsung.
Dalam java terdiri dari 3 bagian :
API Standar : digunakan untuk aplikasi dan applet dengan layanan
bahasa dasar untuk grafik, M/K, utilitas, dan jaringan.
API Enterprise : untuk mendesain aplikasi server dengan layanan
database dan server-side ( dikenal dengan Aplet ).
API untuk device kecil seperti Komputer genggam, pager, dan ponsel
13. Mesin Virtual Java ( JVM )
Terdiri dari sebuah class loader dan java interpreter
yang mengeksekusi architecture-neutral bytecode.
Java interpreter adalah merupakan suatu fasilitas
penterjemah dalam JVM. Fungsi utamanya adalah
untuk membaca isi berkas bytecode (.class) yang di
buat Compilator java saat berkas berada dalam
memory, kemudian menterjemahkanya ke dalam
bahasa mesin. JVM mulai berjalan saat method
main() diajalankan.
14. Compiler dan Interpreter
Sebuah Perintah dalam bahasa pemrograman tingkat tinggi
(high-level language) tidak dieksekusi oleh komputer
secara langsung, sehingga memerlukan suatu proses
translasi ( kompilasi ) menjadi sebuah target program atau
yang biasa disebut bahasa mesin. Dan bahasa mesin inilah
yang dapat di eksekusi oleh komputer melalui sebuah
interpreter.
Compiler adalah sebuah fasilitas dalam bahasa
pemrograman yang berfungsi untuk mentranslasi
sourcecode ke dalam bahasa mesin.
Interpreter adalah fasilitas yang menangani kompilasi dan
mengeksekusi source code secara langsung.
17. Kelebihan
Bahasa Pemrograman java
1. Free Source ( Gratis )
2. Multi platform : dapat dijalankan pada banyak operating system,
penyebabnya adalah setiap operating system memiliki dan menggunakan
programnya sendiri sendiri untuk menginterpretasikan bytecode tersebut.
3. Object Oriented Programing ( berorientasi objek ) : semua aspek
yang ada pada java adalah objek. Java adalah salah satu bahasa
pemrograman yang berorientasi objek murni, hal ini memudahkan
pemrogram untuk mendesain, membuat, mengembangkan dan
mengalokasikan sebuah kesalahan secara cepat, mudah, dan terorganisir.
4. Kepustakaan class yang lengkap
5. Memiliki fasilitas penggunaan memori sehingga pemrogram tidak perlu
melakukan pengaturan memori secara langsung.
18. Kelemahan
Bahasa Pemrograman java
1. Mudah di dekompilasi : dikarenakan kode jadi java
merupakan bytecode yang menyimpan banyak atribut bahasa
tingkat tinggi seperti nama class, metod, tipe data. Oleh
karena itu algoritma yang digunakan program sulit
disembunyikan sehingga mudah dibajak ( reverse engine ).
2. Penggunaan Memori : penggunaan memori untuk program
berbasis java relatif lebih besar dibanding dengan program
generasi sebelumnya seperti C++ dan Pascal, namun hal ini
tidak menjadikan masalah untuk generasi komputer saat ini.
19. Dasar Pemrograman Java
Apa yang dibutuhkan? :
Pemrograman java standart membutuhkan :
Development Kid ( J2SDK ) : berisi compiler dan library
standart
Tool ( NetBeans, TextEditor ).
Untuk pemrograman java ke tingkat profesional membutuhkan
penambahan:
Database Server (mysql, sqlserver ).
Report Tool ( Ireport, InetCrystalClear )
Class-class External ( .class, .jar ).
20. Struktur Program
Import javax.swing.*;
Public class mahasiswa
{
Static int tinggibadan;
public mahasiswa()
{
}
static int getTinggiBadan()
{
}
public static void main(String[] args)
{
}
}
Menyatakan pemanggilan library (API)
deklarasi class
deklarasi Variabel
contructor
Method
Main Program
21. Perbedaan Kelas dan Objek
Kelas Merupakan kumpulan atas definisi data dan
fungsi-fungsi dalam suatu unit untuk suatu tujuan
tertentu. Sebuah class adalah dasar dari modularitas
dan struktur dalam pemrograman berorientasi object
Objek merupakan instance dari kelas
22. Enkapsulasi
Dapat diartikan sebagi bungkusan atau pelindung data
yang sedang diolah, Pembungkus ini mendefinisikan
perilaku dan melindungi program dan data yang
sedang diolah agar tidak diakses oleh objek lain.
Manfaat :
1. Modularitas
2. Informasion Hidding
25. Polimorfisme
Dapat diartikan suatu objek yang memiliki banyak
bentuk yang berbeda, adalah konsep dalam bahasa
pemrograman berorientasi objek yang berarti
kemampuan suatu variabel refferensi objek untuk
memiliki aksi yang berbeda jika method yang sama
dipanggil.
OverLoading
OverRiding
27. Inheritance
Suatu class dapat mewariskan atribut dan
method yang dimilikinya (supper class) kepada
class lain (sub class ) serta membentuk class
yang hirarki.