IK481-Pemograman Berorientasi Objek-Materi 1

download IK481-Pemograman Berorientasi Objek-Materi 1

of 41

Transcript of IK481-Pemograman Berorientasi Objek-Materi 1

IK481-PEMOGRAMAN BERORIENTASI OBJEK (PBO)

MATERI 1:PENDAHULUAN

Cakupan Materi Referensi Aturan Kuliah Penilaian

Paradigma Pemograman Berbasis Objek Objek dalam PBO Tipe dasar didalam Java Instruksi dasar didalam Java Anatomi class dan method Pembuatan class Subclass Polymorphism Class Exception GUI pada Java Penerapan OOP pada struktur data/ADT:Queeus dan Stack

Teori di Kelas : Pertemuan 1-12 (Max 14) Praktek di Lab: Sesuai Kebutuhan (oleh asisten lab) Keterlambatan:???

Komponen Penilaian Terdiri dariKomponenUAS UTS QUIS TUGAS MANDIRI TUGAS KELOMPOK

Bobot25% 25% 15% 20% 15%

Konsep Pemrograman

Pemograman Visual

Variabel

Fungsi/ Prosedur

Tipe Data

Pengulangan

Keputusan

Procedural Programming setiap permasalahan akan menjadi fungsi semua fungsi akan dipanggil oleh program utama (main program)

Main Program program utama, merupakan bagian program yang akan dieksekusi pertama dan menjadi pusat dari semua program

Everything in main Program Semua kendali program ada di program utama

Modification --- !!!!! setiap modifikasi akan mempengaruhi semua bagian program bug selalu datang dari adanya perubahan

Pascal

C

Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan batasan-batasan yang tepat. Object bisa mewakili sesuatu yang nyata dalam domain problem kita seperti komputer, barang, konsumen, dapat berupa konsep seperti proses penarikan uang, pembayaran, pengembalian buku dan lain-lain. Dari object-object ini kita bisa mengabstraksikan candidate class yang mungkin terlibat.

Java

C++

Konsep Object

Polymorphism

Kelas

Inheritance/ Pewarisan Sifat

Enkapsulasi

Enkapsulasi

Pada model pemrograman tradisional data dialokasikan pada memori dan diolah oleh program yang ada dalam subrutin atau fungsi Enkapsulasi dapat diibaratkan sebagai bungkusan pelindung program dan data yang sedang diolah. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data agar tidak diakses sembarangan oleh program lain

Inheritansi

Pewarisan berinteraksi dengan enkapsulasi Jika suatu class tertentu mengenkapsulasi sejumlah atribut, maka sub class manapun akan memiliki atribut yang sama ditambah dengan bagian spesialisasinya Sub class yang baru mencakup perilaku dan spesifikasi moyangnya

Polimorfisme

Method pada objek adalah informasi yang dilewatkan sebagai parameter untuk permintaan method. Parameter ini mewakili nilai yang dimasukkan ke suatu fungsi dan harus dikerjakan oleh suatu method Polimorfisme berarti satu objek dengan banyak bentuk, adalah konsep sederhana yang dipilih berdasarkan tipe objek yang dilewatkan pada pengerjaan metode

Java dikembangkan oleh Sun Microsystem pada agustus 1991, dengan nama semula Oak Pada januari 1995, karena nama Oak dianggap kurang komersil, maka diganti menjadi Java.

James Gosling

Ada yang mengatakan bahwa Oak singkatan dari Object Application Kernel.

1995, Sun Microsystem, bhs pemograman baru yang melengkapi teknologi internet

Perkembangan lebih lanjut, teknologi Seluler

Sebuah Bahasa Pemrograman

Sebuah Development Environment

Sebuah Aplikasi

Sebuah Development Environment

Teknik komunikasi standar untuk mengekspresikan instruksi kepada komputer. Layaknya bahasa manusia, setiap bahasa memiliki tata tulis dan aturan tertentu. Memfasilitasi seorang programmer untuk secara spesifik apa yang akan dilakukan oleh komputer selanjutnya, bagaimana data tersebut disimpan dan dikirim, dan apa yang akan dilakukan apabila terjadi kondisi yang variatif. Diklasifikasikan menjadi tingkat rendah, menengah, dan tingkat tinggi. Pergeseran tingkat dari rendah menuju tinggi menunjukkan kedekatan terhadap bahasa manusia.

Bahasa Pemrograman Tingkat Tinggi

ciri-ciri mudah dimengerti karena kedekatannya terhadap bahasa sehari hari. Sebuah pernyataan program diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan compiler. Sebagai contoh adalah : JAVA, C++, .NET Bahasa pemrograman generasi pertama. Bahasa jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Disebut juga dengan bahasa assembly merupakan bahasa dengan pemetaan satu persatu terhadap instruksi komputer. Setiap intruksi assembly diterjemahkan dengan menggunakan assembler. Penggunaan instruksi telah mendekati bahasa sehari hari, walaupun masih cukup sulit untuk dimengerti karena menggunakan singkatan singkatan seperti STO yang berarti simpan (STORE) dan MOV yang artinya pindah (MOVE). Yang tergolong dalam bahasa ini adalah Fortran.

Bahasa Pemrograman Tingkat Rendah

Bahasa Pemrograman Tingkat Menengah

Bahasa Tingkat Tinggi Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain Berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi Windows,Linux, QNX, HP-UX, OS X, Solaris,FreeBSD, dll.

Bersifat open source

Definisi

Software yang di-distribusikan dengan biaya rendah dan source code dapat dilihat, di-modifikasi dan di-distribusi ulang

Keuntungan:

free pada re-distribution tanpa royalti atau biaya license ke pencipta source code Memodifikasi source code Menyebarluaskan source code.

Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya

Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE).

Terdapat dua komponen utama dari Deployment Environment.

JRE, yang terdapat pada paket J2SDK, mengandung kelas kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java.

PortabilitasTingkat portabilitas java tidak hanya sebatas pada program sumber (source code), melainkan juga pada tingkat kode biner yang disebut bytecode Bytecode dapat dijalankan pada berbagai sistem operasi karena kode ini berbeda dengan kode mesin. Kode mesin sangat bergantung pada platform, sedangkan bytecode dapat dimengerti oleh semua platform yang telah dilengkapi dengan interpreter Java.

Sistem Operasi AIX DG / UX Digital OpenVMS Digital Unix HP-UX IRIX Linux MacOs Netware OS/2 OS/390 dan OS/400 Solaris Keluarga Windows IBM

Vendor

Data General Corporation Digital Equitment Corporation Digital Equitment Corporation Hewlett Packard Silicon Graphics Banyak Perusahaan Apple Novell IBM IBM Sun Microsystem Microsoft Corporation

Mengkompilasi program java pada komputer yang bersistem operasi Windows, kita dapat menjalankan hasil kompilasi pada Macintosh secara langsung, tanpa perlu mengkompilasi ulang.

Sederhana (Simple) Berorientasi objek (Object Oriented)Terdistribusi (Distributed)

Bahasa pemrograman Java menggunakan Sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.

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 objek-objek tersebut.

Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.

Interpreted Robust Secure

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.

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.

Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.

Architecture Neutral Portable

Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.

Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.

Performance

Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).

Multithreaded

Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan. Sementara menerima masukan dari keyboard, program menjalankan counter dan menampilkan aplikasi

Dynamic

Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.

MyProgram.java diubah menjadi Myprogram.class oleh compiler My.Program.class dijalankan oleh JVM

Java Virtual Machine (JVM)

Mesin yang melakukan interpretasi java bytecodeMesin virtual yang diimplementasikan oleh software sehingga menyamai mesin yang sebenarnya. Menyediakan spesifikasi platform perangkat keras yang dapat mengcompile semua program Java

Java Application Pogramming Interface (Java API)

Sekumpulan koleksi komponen perangkat lunak yang menyediakan berbagai kemampuan untuk mengembangkan java. Library class

Standart Edition (J2SE)

Bahasa pemrograman java standar Suatu platform java yang digunakan untuk aplikasi desktop suatu platform Java yang bertujuan untuk development aplikasi enterprise,website

Enterprise Edition (J2EE)

Micro Edition (J2ME)

J2ME adalah Platform java yang khusus digunakan untuk membuat aplikasi di mobile device seperti handphone, PDA, dll

Setiap edisi berisikan JDK(Java Development Kit) dan JRE (Java Runtime Environment) JAVA tidak tergantung platfom yang digunakan yang penting terdapat JRE untuk menjalankan programannya dan JDK untuk membangun aplikasinya atau compilernya

Java adalah mendapatkan J2SE (Java 2 Second Edition), JDK (Java Development Kit) dan dokumentasi API (Application Programming Interface)

Java yang dapat didownload dari http://java.sun.com.

Pada JDK telah tersedia compiler Java (javac) yang berfungsi sebagai kompilator source code java menjadi bytecode dan interpreter (java) yang digunakan untuk mengeksekusi bytecode (berupa file berekstensi .class). Selain itu terdapat JRE (Java Runtime Environment), subset JDK.

The Java Runtime Environment (JRE) is what you get when you download Java software. The JRE consists of the Java Virtual Machine (JVM), Java platform core classes, and supporting Java platform libraries.

Avestro Joyce, Pemograman Web ,2007

Alan Shaloway, James R. Trott, Design Paterns Explained, Addison-Wesley, 2005 Steven John Metsker, Design Patterns in Java, Addison-Wesley, 2006 Barbara Liskov, John Guttag, Program Development In Java, Addison-Wesley, 2006 Sun Microsystem, 2007