modul perkuliahan pemrograman berorientasi...

137
MODUL PERKULIAHAN Pemrograman Berorientasi Objek Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh FASILKOM Teknik Informatika 1 87023 Tim Dosen

Upload: lythuan

Post on 14-Mar-2018

247 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

1 87023 Tim Dosen 

 

 

Page 2: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

MODUl 1

Paradigma Pemrograman

A. Paradigma Pemrograman

Penggunaan komputer meningkat di hampir setiap bidang usaha.

Perkembangan pesat hardware dan software mampu menurunkan biaya komputasi

secara dramatis. Hal ini dimungkinkan dengan perkembangan teknologi chip silikon.

Teknologi chip silikon memungkin untuk membuat mesin komputasi dari seukuran

kamar menjadi seukuran komputer yang kita kenal sekarang ini. Perkembangan

pesat dalam bidang perangkat keras dan lunak diikuti pula dengan penurunan harga.

Sehingga penggunaan komputer saat ini meningkat di hampir setiap bidang.

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug),

dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis

dalam berbagai bahasa pemrograman.Untuk dapat melakukan pemrograman,

diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman dan

beberapa pengetahuan lainnya sesuai dengan masalah dihadapi.

Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih

algoritma yang saling berhubungan dengan menggunakan sebuah bahasa

pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa

pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula,

metode pemrograman ini biasa disebut paradigma pemrograman.

Selama bertahun-tahun, para programmer belajar metodologi pemrograman

yang disebut pemrograman terstruktur. Pemrograman trustukture atau sering juga

disebut pemrograman prosedural mulai digunakan pada dekade tahun 1970.

Pemrograman trustruktur berkembang sebagai teknik pemrograman yang

menggantika teknik pemrograman tak terstruktur( unstructured programming).

Melalui pemrograman terstruktur akan lebih mudah untuk memahami

pemrograman berorientasi objek yang saat ini menjadi metodologi pemrograman

utama yang digunakan oleh programmer saat ini karena struktur internal mereka

sering dibangun menggunakan teknik pemrograman terstruktur.

Pemrograman berorientasi objek mulai dibicarakan sekitar akhir tahun 60’an.

Pertama kali diperkenalkan oleh Ole Johan Dhal dan Kristen Nygaard dari

Universitas Oslo, Norwegia pada tahun 1966 dalam jurnal dengan judul “SIMULA An

Algol Based Simulation Language”. Jadi OOP bukan hal baru.Pada tahun 1970

bahasa SMALTALK dikembangkan oleh XEROX PARC. Pada saat itu sebagian dari

Page 3: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

dunia menggunaan COBOL dan FORTRAN dengan metode dekomposisi dan

fungsional. Perubahan terjadi selama beberapa dekade sampai dikenalnya faktor

utama berorientasi objek, yaitu :

Konsep dasar berorientasi objek, konsep berorientasi objek mulai populer

dimana memulai Analisis dan Desain menjadi lebih diperhatikan daripada

Coding.

Teknologi dasar pengembangan sistem, coding sangat dipengaruhi oleh

bahasa pemrograman yang tersedia. Untuk pengembangan program

terstruktur lebih mudah dikembangkan dengan pascal, atau C, dan

pembuatan coding berorientasi objek akan lebih mudah dikembangkan

dengan bahasa pemrograman VB.Net, C++, JAVA, PHP.

Kondisi sistem, sistem yang dibagun saat ini berbeda dengan sistem

beberapa tahun yang lalu. Sistem yang sekarang lebih besar, kompleks dan

dapat juga merupakan sistem yang interaktif. Pendekatan berorientasi objek

merupakan cara yang lebih tepat untuk sistem yang berorientasi objek.

Pengenalan model, banyak organisasi mendapatkan bahwa sistem yang

dibangun pada saat ini cendrung berorientasi data dari pada sistem yang

dibangun sekitar tahun 1970 dan 1980. pada waktu itu penggunaan model

telah mendapatkan prioritas lebih besar dibandingkan dengan kompleksitas

fungsional.

Pengembangan berorientasi objek merupakan cara berpikir baru tentang

perangkat lunak berdasarkan abstraksi alam dunia nyata. Hal yang lebih

diutamakan dalam pengembangan berorientasi objek adalah konsep

mengidentifikasi objek dan mengorganisasi domain aplikasi dibandingkan

dengan fokus penggunaan bahasa pemrograman berorientasi objek atau

tidak. Kebanyakan usaha akhir dalam lingkungan berorientasi objek

dipusatkan pada bahasa pemrograman. Pengembangan berorientasi objek

adalah proses konseptual terpisah dari bahasa pemrograman sampai tahap

akhir. Pengembangan berorientasi objek secara mendasar merupakan cara

berpikir baru dan bukan suatu teknik pemrograman. Hal ini dapat berfungsi

sebagai media spesifikasi, analisis, dokumentasi dan interface seperti halnya

pemrograman.

Page 4: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Metodologi berorientasi objek yang diperkenalkan pada tahun 1980,

menggunakan teknik-teknik yang dibutuhkan dalam pengembangan sistem,

yaitu: dynamic dan static object oriented model, state transtion diagram dan

case scenario.Fukus utama metodologi pada objek, dengan melihat suatu

sistem terdiri dari objek yang saling berhubungan. Objek dapat digambarkan

sebagai benda, orang, tempat dan sebagainya yang mempunyai atribut dan

metoda.Metodologi terdiri dari pembuatan model dari domain aplikasi,

kemudian menambahkan rincian implementasi. Tahapan-tahapan metodologi

berdasarkan system development life cycle dengan memperhatikan khusus

berorientasi objek.

B. Pengenalan Java

Java telah menjadi bahasa pilihan untuk menerapkan aplikasi berbasis

internet dan perangkat lunak komunikasi pada jaringan. Perangkat nirkabel , seperti

ponsel, pager dan personal digital assistant (PDA), berkomunikasi melalui internet

menggunakan aplikasi berbasis Java jaringan. Java telah berkembang pesat ke

arena aplikasi skala besar. Hal ini tidak lagi digunakan hanya untuk membuat

halaman Dunia Wide Web. Saat ini java menjadi bahasa pilihan untuk memenuhi

kebutuhan pemrograman enterprise-wide dari banyak organisasi.

Java dipelopori oleh James Gosling, Patrick Naughton, Chris Warth, Ed

Frank, dan Mike Sheridan dari Sun Microsystems, Inc pada tahun 1991.

Mereka membutuhkan kurang lebih 18 bulan untuk membuat versi pertamanya.

Bahasa ini pada awalnya disebut “Oak” tapi kemudian diubah menjadi “Java” pada

tahun 1995 karena nama Oak telah dijadikan hak cipta dan digunakan sebagai bahasa

pemrograman lainnya. Antara pembuatan Oak pada musim gugur 1992 hingga

diumumkan ke publik pada musim semi 1995, banyak orang yang terlibat dalam

desain dan evolusi bahasa ini. Bill Joy, Arthur van Hoff, Jonathan Payne, Frank

Yellin, dan Tim Lindholm merupakan kontributor kunci yang mematangkan

prototipe aslinya.

Java telah digunakan dalam banyak hal dan telah membuktikan keberadaannya

pada abad ke 21. Saat ini, Java digunakan bermacam jenis aplikasi seperti aplikasi

embedded, aplikasi keuangan, desktop, simulasi pesawat, pemrosesan citra,

game, aplikasi perusahaan terdistribusi yang disebut J2EE dan masih banyak lagi.

Java Virtual Machine (JVM)

Page 5: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Java Virtual Machine merupakan aplikasi sederhana yang ditulis dalam

bahasa C untuk mengeksi program yang ditulis dalam bahasa Java. Pada saat

kompilasi (perubahan dari bahasa tingkat tinggi ke bahasa lebih rendah), program

tersebut diubah menjadi KODE BYTE. Kemudian pada saat eksekusi, JVM

membaca kode byte tersebu dan mengubahnya menjadi bahasa mesin yang

dimengerti oleh sistem operasi tempat program tersebut dijalankan. Karena JVM

sangat bergantung pada platformnya (bahasa mesin merupakan bahasa level

rendah yang hanya dimengerti oleh suatu mesin tertentu, misalnya Intel, tapi tidak

dapat dimengerti oleh mesin lain, seperti Macintosh), byte code ini dapat dibuat

untuk terbebas dari kungkungan platform tertentu. Code byte yang dihasilkan dalam

proses kompilasi bahasa Java akan selalu sama untuk setiap sistem operasi atau

jenis mesinnya, tetapi JVM akan mengubah kode byte tersebut menjadi bahasa

mesin tujuannya.Mesin virtual java atau lebih dikenal dalam bahasa Inggris Java

Virtual Machine atau disingkat JVM merupakan mesin virtual yang digunakan

secara khusus mengeksekusi berkas bytecode java. JVM merupakan

perangkat lunak yang dikembangkan secara khusus agar terlepas dari

ketergantungan atas perangkat keras serta sistem operasi tertentu. JVM

menyediakan lingkungan kerja yang dibutuhkan untuk menjalankan aplikasi berbasis

java serta mengotomatisasikan fitur-fitur seperti penanganan kesalahan. JVM

umumnya didistribusikan bersama dengan seperangkat pustaka dasar yang

mengimplementasikan antarmuka pemrograman aplikasi java, Application

Programming Interface' (API) yang dinamai sebagai Java Runtime Environment

(JRE).Program yang dieksekusi oleh JVM merupakan program berbasis bytecode

yang umumnya ditulis dan dikompilasi dengan menggunakan bahasa

pemrograman Java, namun saat ini bisa juga berasal dari bahasa pemrograman

lain seperti: Jython (Python), Groovy, JRuby (Ruby).

Mesin virtual java standarnya dibuat oleh Oracle, namun mesin-mesin virtual java

lainnya yang menggunakan merek dagang "JAVA" boleh dibuat oleh

perusahaan lain sejauh produk- produk tersebut tunduk pada spesifikasi yang

ditetapkan serta kesepakatan atas kontrak obligasi antara perusahaan pembuat

dengan Oracle.

Garbage Collection

Dalam ilmu komputer, Garbage Collection merupakan bentuk manajemen

memori otomatis. Garbage collection akan menghapus isi dari bagian memori

yang dipakai oleh objek, variabel yang tidak lagi digunakan oleh program.

Page 6: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Garbage Collection diciptakan John McCarthy sekitar 1959 untuk memecahkan

masalah dalam bahasa pemrograman Lisp.

Garbage collection digambarkan sebagai kebalikan dari manajemen memori secara

manual dalam mengalokasikan kembali sumber daya memori. Metode yang

digunakan untuk mengelola sumber daya yang dikenal dengan nama

destructors.

Just In Time Compiler (JIT)

Meskipun Java didesain untuk diinterpretasi, secara teknis tidak ada yang

menghalangi Java untuk dikompilasi menjadi bahasa mesin seperti bahasa-bahasa

Page 7: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

pemrograman lainnya. Sun menyediakan kompiler Just In Time Compiler (JIT) untuk

mengkompilasi kode byte itu menjadi bahasa mesinnya pada saat yang bersamaan

dengan eksekusinya. Walaupun demikian, pendekatan JIT ini menghasilkan

kemampuan yang lebih dibandingkan dengan interpretasi biasa.

Bahasa pemrograman lain yang telah ada sebelum Java lahir sudah

merupakan bahasa yang baik dan mudah dipelajasi oleh programmer profesional.

Akan tetapi para programmer ini menginginkan sesuatu yang baru yang memiliki

banyak hal yang menyelesaikan masalah mereka. Utamanya adalah keamanan kode

mereka. Hal ini melahirkan pikiran yang revolusioner untuk menemukan bahasa

pemrograman lain yang disebut Java. Tidak hanya keamanan tapi juga beberapa hal

yang sering disebut sebagai Java-Buzzwords. Kata-kata ini menjelaskan berbagai

fitur tambahan dan beberapa hal yang membuat Java demikian sukses dan diterima

oleh dunia perangkat lunak dengan pertimbangan sederhana dan Berorientasi Objek.

Para programmer yang terbiasa dengan bahasa pemrograman C dan C++

lebih mudah memahami java dan fungsionalitas java sebagai kakas pengembang

perangkat lunak berbasi objek. Dengan demikian tujuannya konsep dasar dari

teknologi Java dapat dimengerti dengan mudah, dan programmer dapat segera

menghasilkan sesuatu sedini mungkin. Tidak hanya ini, penemu Java memastikan

bahwa Java juga bermula dari bahasa pemrograman dasar yang sudah ada pada

saat itu. Kemudian mereka membuang berbagai fitur yang rumit dan

membingungkan.

Bahasa pemrograman Java didesain sejak awal untuk menjadi bahasa yang

berorientasi objek. Setelah kira-kira 30 tahun, akhirnya teknologi objek menjadi

kenyataan dan diterima oleh sebagian besar komunitas pemrograman. Konsep

berorientasi objek memungkinkan pembuatan software yang kompleks, berbasis

network, sehingga dapat disimpulkan bahwa teknologi Java menghasilkan platform

pembuatan perangkat lunak yang baik dan efisien serta berorientasi objek.

Keuntungan yang Anda dapat dari Java.

1. Tulis lebih sedikit program: Jumlah kelas, jumlah metode, dll, menunjukkan

bahwa program yang ditulis dalam bahasa pemrograman Java memiliki jumlah 4

kali lipat lebih kecil dari program sama yang ditulis dalam bahasa C++

2. Tulis program lebih baik: Bahasa pemrograman Java menganjurkan praktek

membuat program yang baik, dan automatic garbage collection sangat membantu

Page 8: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

untuk menghindari kebocoran memori. Orientasi objeknya, arsitektur komponen

JavaBeans, dan jangkauannya yanga luas, API yang mudah diperluas,

memungkinkan Anda menggunakan kode yang ada.

3. Membuat program dengan lebih cepat: Bahasa pemrograman Java lebih

mudah dari C++, pemrograman akan menjadi 2 kali lipat lebih cepat, dengan

jumlah baris yang jauh lebih sedikit.

4. Menghindari kebergantungan pada platform tertentu: jaitu program dapat

dijalankan pada banyak platform dengan TIDAK menggunakan library yang ditulis

spesifik untuk platform tertentu.

5. Tulis sekali, jalankan di mana saja: Karena aplikasi yang ditulis dalam bahasa

Java dikompilasi ke dalam kode byte yang bebas platform, aplikasi yang ditulis

dapat jalan secara konsisten pada platform apa saja.

6. Distribusikan software lebih mudah: Dengan Java Web Start, pengguna

program dapat menggunakan aplikasi dengan mudah. Sistem pengecekan versi

otomatis pada saat program dimulai menjamin pengguna selalu menjalankan versi

terkini. Apabila versi baru tersedia, Java Web Start akan melakukan instalasi

secara otomatis.

Memulai Java

1. Download java

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. Install JDK ( Java Development Kit ) dan ikuti tahapan penginstalannya.

3. Tentukan environment variabel : Path aplikasi Java dengan cara.

1. Buka System Properties (klik Start | klik kanan di Computer | Properties | Klik

Advanced system settings di panel sebelah kiri).

Page 9: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 9 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

2. Klik tab Advance

3. Klik PATH, lalu klik Edit…

4. Tambahkan dibagian akhir, direktori BIN dari Java Development Kit (JDK) sesuai

versi yang di-install, misalnya untuk JDK 7 update 3 pada direktori C:\Program

Files\Java\jdk1.7.0_03\bin.

5. Klik tombol OK.

4. Buka text editor bawaan sistem operasi misal notepad.

5. Ketik program

6. Simpan file dengan ektensi java, misal Hellowrld.java

Page 10: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 10 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

7. Buka windows command

8. Ketik pada c:> javac Helloworld.java

9. Jalankan program java dengan cara mengetik pada c:>java namfile

Soal :

1. Jelaskan pengertian pemrograman berorientasi objek

2. Buat program sederhana untuk menampilkan tulisan berikut

---------------------------------------------------------------------

INI ADALAH PROGRAM PERTAMA SAYA

MENGGUNAKAN

JAVA

----------------------------------------------------------------- 

Page 11: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 11 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 12: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

2 87023 Tim Dosen 

 

 

Page 13: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

MODUL 2

KONSEP PEMROGRAMAN

A. Program Komputer

Program komputer adalah urutan langkah-langkah yang di wujudkan dalam

bentuk intruksi – intruksi pemrogram ( kode program ) yang diberikan kepada

komputer untuk memperoleh hasil penyelesaian suatu masalah sesusia dengan apa

yang di ingikan. Tahapan pemrograman dimulai dari menentukan apa yang jadi

permasalahan, masukan untuk masalah tersebut, rumus penyelesaian

masalah,pemilihan bahasa program yang digunakan, penulisan kode program dan

eksekusi program yang dibuat untuk melihat kesesuaian hasil yang diharapkan.

Dalam pemrograman prosedural sekumpulan instruksi dapat dipandang sebagai

bentuk pengelompokan : input, proses, dan output. Bagian input, proses, dan output

dikerjakan secara sekuensial, dan dalam setiap bagian mungkin akan ada input,

proses, dan output. Elemet pada masing–masing kelompok dapat berupa indentifier

operator, dan operand , struktur data, Instruksi dasar,modul program atau file

eksternal.

B. Indentifier, literal dan type data

Identifier

Digunakan untuk nama class, method, dan variabel. Suatu variabel dapat

berupa urutan tertentu huruf (besar atau kecil), angka, garis bawah, dan tanda dolar.

Tidak boleh diawali oleh angka dan bersifat case sensitive. Java mengikuti aturan

penamaan identifier untuk semua method public dan variabel instans dengan huruf

awal kecil dan menandai bagian kata selanjutnya dengan huruf besar, misalnya

currentItem, currentDate, getTimeOfDay. Untuk variabel private dan lokal identifier

akan berupa huruf kecil semua dikombinasikan dengan garis bawah, misalnya

next_val, temp_val. Untuk variabel final yang mewakili suatu konstanta, digunakan

huruf besar semua, misalnya TOK_BRACE, DAY_FRIDAY.

Literal

Literal adalah nilai variabel atau nilai konstanta atau nilai objek data. Besaran

konstanta pada Java dihasilkan dengan menggunakan literal yang mewakilinya.

Setiap literal merepresentasikan nilai suatu tipe data

Page 14: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Ada tiga besaran literal dalam Java yaitu angka, karakter, dan string. Angka

terdiri dari byte, short, int, long, float, double, dan boolean. Semua variabel dan

konstanta yang akan digunakan harus dideklarasikan terlebih dahulu.

contoh :

int nilai_tugas,nilai_uts,nilai_uas;

Float nilai_ahir;

String nama;

Kata tercadang

Nama literal tidak boleh menggunakan kata tercadang Java. Kata tercadang yang

tidak boleh digunakan sebagai literal adalah sebagai berikut.

abstract boolean break byte byvalue case

cast catch char class const continue

default do double else extends false

final finally float for future generic

goto if implements import inner instanceof

int interface long native new null

operator outer package private protected public

rest return short static super switch

synchroniz

ed

this throw throws transient true

try var void volatile while

A. Variabel dan Type data

Variabel

Variabel adalah satuan dasar penyimpanan dalam program Java. Suatu

variabel didefinisikan dengan kombinasi identifier, tipe, dan cakupan. Bergantung

pada tempat kita mendeklarasikannya, variabel dapat bersifat lokal atau sementara,

misalnya didalam perulangan for, atau dapat juga berupa variabel instans yang dapat

diakses oleh semua method dalam class. Cakupan lokal dinyatakan dalam kurung

kurawal.

Type data

Java merupakan contoh bahasa yang strongly typed language. Hal ini berarti

bahwa setiap variabel harus memiliki tipe yang sudah dideklarasikan. Terdapat 8 tipe

Page 15: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

primitif, 6 diantaranya adalah tipe bilangan ( 4 tipe integer, 2 tipe floating point), 1 tipe

karakter char, digunakan mengawa-sandi (encode) Unicode, dan 1 tipe boolean.

Integer

Floating Point

Char

Tipe char menggunakan tanda kutip tunggal untuk menyatakan suatu char.

Tipe char juga menyatakan karakter dalam upaya mengawa-sandi unicode, yang

merupakan kode 2-byte. Karakter unicode paling sering dinyatakan dalam istilah

skema pengkodean hexadesimal yang dimulai dari \u0000 sampai \uFFFF.

Selain karakter bebas (escape ‘ \u ‘ yang menyatakan karakter unicode di Java

terdapat juga

\b backspace \u0008

\t tab \u0009

\n linefeed \u000a

\r carriage return \u000d

\” double quote \u0022

\’ single quote \u0027

\\ a backslash \u005c

Boolean

Tipe Kebutuhan Range

int 4 byte -2.147.483.648 sampai 2.147.483.647

short 2 byte - 32.768 -i 32.767

long 8 byte - 9.223.372.036.854.775.808L -

9.223.372.036.854.775.807L

byte 1 byte - 128 - 127

Tipe Kebutuhan Range

float 4 byte 3,40282347E+38F ( 7 digit desimal signifikan)

double 8 byte 1,79769313486231570E+308 (15 digit desimal

siignifikan)

Page 16: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Tipe boolean memiliki nilai true dan false. Tipe ini digunakan untul logical

testing dengan menggunakan operator relasional.

B. Struktur Program Java

Setiap kakas pengembang aplikasi memiliki struktur dan cara penulisan kode

programnya sendiri,demikian juga dengan Java. Struktur program java dibagi

menjadi dua bagian jaitu class header dan body.

Struktur class

public class myclass header

{

body

}

Struktur kelas utama ( class main )

public class myclass header

{

public static void main (String[] args)

{

body

}

}

Contoh;

1 // Program : Welcome1.java

2 // Program cetak ucapan selamat datang

3

4 public class Welcome1

5 {

6 // metode main awal eksekusi aplikasi

7 public static void main( String args[] )

Page 17: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

8 {

9 System.out.println( "Welcome to Java Programming!" );

10

11 } // ahir method main

12

13 } // ahir class Welcome1

Penjelasan program :

Baris pertama dimulai dengan dimulai dengan / /, yang menunjukkan bahwa text

berikutnya adalah komentar. Programmer memasukkan komentar ke program

sebagai dokumentasi. Komentar ini membantu orang lain untuk membaca dan

memahami program. Compiler Java mengabaikan komentar sehingga tidak

mengganggu jalannya program. Sebuah komentar yang diawali dengan / / disebut

end-of-line atau single-line komentar. Untuk komentar yang lebih dari satu baris dapat

dituliskan dalam bentuk berikut :

/* Untuk komentar yang lebih dari satu baris

dapat dituliskan dalam

bentuk seperti ini */

Baris kedua merupakan komentar yang menyatakan fungsi/kegunaan dari program.

Baris ketiga sebuah baris kosong. Pemrogram menggunakan baris kosong dan

karakter ruang untuk membuat program lebih mudah dibaca. Baris kosong dan

karakter tab dikenal sebagai white space.

Baris ke empat dimulai dengan deklarasi kelas untuk kelas Welcome1. Setiap

program di Jawa terdiri dari setidaknya satu deklarasi kelas yang didefinisikan oleh.

Baris ke lima menyatakan awal body sebuah class.

Baris ke enam public static void main( String args[] ) merupakan titik awal dari setiap

aplikasi Java. Tanda kurung setelah identifier utama menunjukkan bahwa itu sebuah

blok program yang disebut metode. Deklarasi class Java biasanya berisi satu atau

lebih metode. Untuk aplikasi Java, harus ada satu metode ini, jika tidak JVM tidak

akan mengeksekusi aplikasi.

Baris enam dan tujuh adalah awal dan ahir block class main.

Page 18: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Baris ke sembilan adalah perintah java untuk mencetak teks yang berada di antara

tanda “ “.

1. Ketik Program berikut

// Addition.java

// Addition program

import java.util.Scanner;

public class Addition

{

// main method begins execution of Java application

public static void main( String args[] )

{

// create Scanner to obtain input from command window

Scanner input = new Scanner( System.in );

int number1;

int number2;

int sum;

System.out.print( "Enter first integer: " );

number1 = input.nextInt(); // read first number from user

System.out.print( "Enter second integer: " );

number2 = input.nextInt(); // read second number from user

sum = number1 + number2;

System.out.printf( "Sum is %d\n", sum );

}

}

2. Dengan menggunakan cara yang sama seperti pada soal 1.

Buat program untuk menghitung luas persegi panjang

Buat program untuk menghitung luas segitiga

Buat program untuk menghitung volume balok

Page 19: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 20: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

3 87023 Tim Dosen 

 

 

Page 21: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

MODUL 3

Unit Prosedural

Statement input/output

A. Unit Prosedural

Sebuah program yang kompleks umumnya akan didekomposisi menjadi beberapa

sub program yang lebih sederhana. Sub program itu disebut juga modul terkadang

bersifat independen terhadap program utama. Pemrograman yang menggunakan

modul disebut dengan pemrograman modula. Modul dapat digunakan oleh program

lain yang membutuhkannya. Dalam bahasa pemrograman modul dapat dikategori

menjadi prosedur dan fungsi.

1. Prosedure

Prosedur adalah program yang mengerjakan aktivitas yang spesifik yang

menghasilkan efek netto. Efek netto yaitu perubahan kondisi awal menjadi

kondisi akhir setelah prosedur dijalankan.Prosedur bukan program yang

berdiri sendiri , sehingga untuk menjalankan prosedur dengan dipanggil di

program utama. Prosedur merupakan kumpulan ekspresi-ekspresi algoritma

yang berguna untuk menjalankan proses tertentu. Prosedur sudah banyak

dikenal mulai dari bahasa mesin hingga bahasa level tinggi(Query). Dalam

bahasa Java prosedur biasanya diawali dengan kata “void”. Prosedur dapat

ditulis diatas program utama maupun dibawahnya

2. Fungsi

Fungsi adalah sub program yang mengembalikan (return) sebuah nilai bertipe

data primitif (int, float, double, boolean, string, atau char).Mirip dengan fungsi

dalam matematika yang tugasnya mengubah nilai input menjadi nilai output

Umumnya fungsi disertai penggunaan parameter untuk input data. Parameter

aktual digunakan saat memanggil prosedur, melalui parameter ini data dikirim

baik berupa konstanta atau variable.Parameter formal digunakan pada saat

mendeklarasikan nama prosedur, melalui parameter ini data diterima dari

parameter aktual, selalu berupa variabel, melakukan casting otomatis dengan

urutan.

B. Statement I/O

Page 22: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Salah satu bagian terpenting dalam pemrograman adalah bagaimana

mempelajari bahasa program yang kita gunakan untuk membuat aplikasi yang dapat

menerima input dan menghasilkan output. Input merupakan aksi dari user dalam

mentransfer informasi ke memori utama komputer, dan output sebagai kebalikan

proses input. Aksi input dan output dilakukan melalui bagian program yang dikenal

dengan nama user interface (antarmuka pengguna). Dengan kata lain interaksi

pengguna dengan komputer diakukan lewat interface.

Interface yang paling sederhana, adalah bentuk antar muka berbasis text yang

dikenal dengan nama command line atau console interface.

Pada Java input dan output ditangani oleh objek Streams.Objek ini dapat

digambarkan sebagai pipa yang menghubungkan user dengan kompuer. Data yang

berasal dari user dan melalui pipa ini disebut stream input dan stream output untuk

kebalikkannya.

Setiap program java memiliki tiga strem standart, yaitu 3, System.in, System.out,

and System.err. Sebagian dari hirarki pada class IO java dapat dilihat pada gambar

berikut

Page 23: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Pada java interface dapat dibangun dengan pendekatan prosedur atau fungsi.

Prosedure merupakan sekumpulan satu blok instruksi dengan tugas yang spesifik

dimana blok ini bukan program yang berdiri sendiri dan untuk menjalankan prosedur

dengan dipanggil di program utama. Perbedaan antara prosedur dan fungsi adalah

bahwa prosedure tidak mengembalikan nilai.

C. Input menggunakan BufferedReader

Objek BufferedReader digunakan untuk menangani inputan dari keyboard. Objek ini masuk dalam kelas Reader.

Page 24: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Pada Java semua inputan yang dilakukan melalui keyboard diterima sebagai string.

Sehingga untuk data numerik, type data tersebut harus dikonversi ke bentuk

bilangan menggunakan class wrapper yaitu Integer and Double. Berikut adalah

contoh penggunaan class tersebut.

int m = Integer.parseInt("55");

double num = Double.parseDouble("55.2");

Contoh 1: ......................................................................

String inputString = new String();

System.out.println("How many total miles did you run? ");

inputString = input.readLine(); // Input a String

double miles = Double.parseDouble(inputString); // Konvert

System.out.println("How many minutes did it take you? ");

inputString = input.readLine(); // Input String lainnya

double minutes = Double.parseDouble(inString); // konvert

System.out.println("Your average pace was " + minutes/miles + " minutes per

mile");

............................................................................

Contoh 2:

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.IOException;

public class GetInputFromKeyboard

Page 25: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

{

public static void main( String[] args ){

BufferedReader dataIn = new BufferedReader(new

InputStreamReader( System.in) );

String nama= "";

System.out.print("Ketik Nama Anda:");

try{

name = dataIn.readLine();

}catch( IOException e ){

System.out.println("Error!");

}

System.out.println("Hello " + nama +"!");

}

}

D. Graphical User Interface (GUI)

Saat ini bentuk teks mulai jarang digunakan. Pada kebanyakan aplikasi,

interface program lebih disukai yang berbentuk gafik. Inteface ini dikenal dengan

nama Graphical User Interfaces (GUIs). Pemrograman pada GUI juga

memperhitungkan kemungkinan aksi yang dilakukan oleh user. Aksi ini kemudian

dijadikan sebagai acuan untuk menjalankan suatu modul. Model pemrogman ini

dikenal juga sebagai event-driven programming.Java menyediakan liibrary GUI pada

dalam dua paket terpisah yaitu class Swing dan class AWT. Misal untuk

button di awt ada di class java.awt.Button class dan class javax.swing.JButton

class untuk di Swing. Swing merupakan bagian dari Java Foundation Classes (JFC).

Hirarki paket GUI pada Java dapat dilihat pada gambar berikut;

Page 26: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Umumnya desain interface yang sederhana paling tidak ada tiga jenis

komponen yang biasa digunakan dengan tiga fungsi utama dari antarmuka

pengguna. Komponen untuk fungsi input, output, dan kontrol dapat menggunkan

komponen :

JTextField

JtextField adalah contoh dari komponen input / masukan.

JtextArea

Merupakan komponen output diman pengguna dapat menggunakan

JtextArea untuk menampilkan teks dalam area teks.

JButton Komponen kontrol yang memungkinkan pengguna untuk mengontrol

tindakan program. JButton adalah contoh dari komponen kontrol. Fungsi

kontrol dari buuton dapat dikaitkan dengan tindakan/bagian program harus

dijalankan setiap kali pengguna mengklik objek button.

JLabel

Komponen ini komponen output dan dapat digunakan untuk menampilkan

informasi label objek pada interface.

Page 27: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Ketiga komponen biasanya diletakan pada main window. Komponen yang

digunakan untuk mebuat jendela utama umumnya Jframe. Berikut adalah contoh

penggunaan Jframe

import javax.swing.*;

public class SimpleGUI extends JFrame

{

public SimpleGUI(String title)

{ setSize(200,150);

setLocation(100, 150);

setTitle(title);

setVisible(true); // Displays the JFrame

} // SimpleGUI()

public static void main(String args[])

{ new SimpleGUI("My GUI");

} // main()

} // SimpleGUI class

Gambar berikut mengilustrasikan komponen yang sering digunakan pada interface

berbasis grafik.

Gambar berikut memperlihatkan constructors dan metode public komponen

JTextArea, JTextField, JButton, and JLabel components. Penggalan segemen kode

program berikut adalah ilistrasi penggunaan ketiga jenis konstruktor tersebut.

Page 28: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 9 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

// Deklarasi instance variables

components

private JLabel prompt;

private JTextField inField;

private JTextArea display;

private JButton goButton;

// Instantiate the components

prompt = new JLabel("Nama anda : ");

inField = new JTextField(10); // lebar 10

chars display = new JTextArea(10, 30); //

10 rows x 30 columns

goButton = new JButton("Klik disini");

Setelah komponen inteface dibuat maka, komponen tersebut dapat ditamhkan ke

interface dengan metode add().

JPanel inputPanel = new JPanel();

inputPanel.add(prompt); // Add JLabel to panel

inputPanel.add(inField); // Add JTextField to panel

inputPanel.add(goButton); // Add JButton to panel

contentPane.add("South", inputPanel);/ Add to Jframe

Tahapan diatas baru pada proses pembuatan interface. Tahap berikutnya adalah

menambahkan metode yang diperlukan untuk masing-masing komponen interface.

Metode ini dikenal dengan nama actionPerformed () dan merupakan bagian dari

interface ActionListener.

public abstract interface ActionListener extends EventListener

{

public abstract void actionPerformed(ActionEvent e);

}

Contoh program :

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

Page 29: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 10 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public class GreeterGUI extends JFrame implements ActionListener

{ private JTextArea display;

private JTextField inField;

private JButton goButton;

private Greeter greeter;

public GreeterGUI(String title)

{ greeter = new Greeter();

buildGUI();

setTitle(title);

pack();

setVisible(true);

} // GreeterGUI()

private void buildGUI()

{ Container contentPane = getContentPane();

contentPane.setLayout(new BorderLayout());

display = new JTextArea(10,30);

inField = new JTextField(10);

goButton = new JButton("Click here for a greeting!");

goButton.addActionListener(this);

JPanel inputPanel = new JPanel();

inputPanel.add(new JLabel("Input your name here: "));

inputPanel.add(inField);

inputPanel.add(goButton);

contentPane.add("Center", display);

contentPane.add("South", inputPanel);

} // buildGUI()

public void actionPerformed(ActionEvent e)

{ if (e.getSource() == goButton)

{ String name = inField.getText();

display.append(greeter.greet(name) + "\n");

}

} // actionPerformed()

} // GreeterGUI class

Contoh Menggunakan class inteface diatas

Page 30: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 11 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public class GreeterApplication

{ public static void main(String args[])

{

new GreeterGUI("Greeter");

}

}

Contoh :

// Addition.java

// Addition program menggunakan JOptionPane untuk input dan output.

import javax.swing.JOptionPane; // program menggunakan JOptionPane

public class Addition

{

public static void main( String args[] )

{

// input dari JOptionPane

String firstNumber =

JOptionPane.showInputDialog( "Enter first integer" );

String secondNumber =

JOptionPane.showInputDialog( "Enter second integer" );

// convert String ke Numerik

int number1 = Integer.parseInt( firstNumber );

int number2 = Integer.parseInt( secondNumber );

int sum = number1 + number2; // add numbers

// display result

JOptionPane.showMessageDialog( null, "Jumlah " + sum,

"Sum of Two Integers", JOptionPane.PLAIN_MESSAGE );

}

}

Soal

1. Dengan menggunakan BufferedReader .

Page 31: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 12 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Buat program untuk menghitung luas persegi panjang

2. Dengan menggunakan seperti pada contoh program Addition .

Buat program untuk menghitung luas segitiga

Buat program untuk menghitung volume balok

Page 32: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 13 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 33: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

4 87023 Tim Dosen 

 

 

Page 34: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

DATA

A. Jenis Data

Java merupakan contoh bahasa yang strongly typed language. Hal ini berarti bahwa

setiap variabel harus memiliki tipe yang sudah dideklarasikan. Terdapat 8 tipe

primitif, 6 diantaranya adalah tipe bilangan ( 4 tipe integer, 2 tipe floating point), 1 tipe

karakter char, digunakan mengawa-sandi (encode) Unicode, dan 1 tipe boolean.

Integer Floating Point

Char

Tipe char menggunakan tanda kutip tunggal untuk menyatakan suatu char.

Tipe char juga menyatakan karakter dalam upaya mengawa-sandi unicode, yang

merupakan kode 2-byte. Karakter unicode paling sering dinyatakan dalam istilah

skema pengkodean hexadesimal yang dimulai dari \u0000 sampai \uFFFF.

Selain karakter bebas (escape ‘ \u ‘ yang menyatakan karakter unicode di Java

terdapat juga

\b backspace \u0008\t tab \u0009\n linefeed \u000a\r carriage return \u000d\” double quote \u0022\’ single quote \u0027\\ a backslash \u005c

Tipe Kebutuhan Range int 4 byte -2.147.483.648 sampai 2.147.483.647

short 2 byte - 32.768 -i 32.767long 8 byte - 9.223.372.036.854.775.808L -

9.223.372.036.854.775.807Lbyte 1 byte - 128 - 127

Tipe Kebutuhan Range float 4 byte 3,40282347E+38F ( 7 digit desimal signifikan)

double 8 byte 1,79769313486231570E+308 (15 digit desimal siignifikan)

Page 35: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Boolean

Tipe boolean memiliki nilai true dan false. Tipe ini digunakan untul logical

testing dengan menggunakan operator relasional.

B. Casting type data

Sesekali akan lebih mudah untuk mengkonversi data dari satu jenis ke jenis yang lain. Sebagai contoh, kita mungkin ingin memperlakukan integer sebagai nilai floating point selama perhitungan.Konversi harus ditangani dengan hati-hati untuk menghindari kehilangan/pemenggalan nilai data. Konversi pelebaran adalah contoh konversi yang paling aman, karena konversi ini cenderung untuk meningkatkan type data yang lebih rendah ke tingkat yang lebih tinggi. Sebaliknya pada kasus pengkoversian data dari type data yang lebih tinggi ke tiingkat yang lebih rendah ( konversi penyempitan ) ada kemungkinan terjadi pemenggalan data.Pada Java konversi data dapat terjadi dalam tiga cara:

• assignment conversion

• arithmetic promotion

• casting

Pada assignment conversion terjadi pada saat satu jenis data ditugaskan untuk variabel lain.

public class Geometry

{

public static void main (String[] args)

{

int sisi = 7;

System.out.println ("Bangun dengan " + sisi + " sis.");

sisi = 10; // assignment statement

System.out.println ("Bangun dengan " + sisi + " sis.");

sisi = 12;

System.out.println ("Bangun dengan " + sisi + " sis."); }

}

Page 36: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Pada arithmetic promotion terjadi secara otomatis ketika operator dalam ekspresi mengkonversi operan mereka. Contoh

public class Addition

{

public static void main (String[] args)

{

System.out.println ("24 and 45 concatenated: " + 24 + 45);

System.out.println ("24 and 45 added: " + (24 + 45));

}

}

Output dari program diatas

24 and 45 concatenated: 2445

24 and 45 added: 69

Casting adalah yang paling kuat, dan berbahaya, teknik untuk konversi . Pelebaran dan penyempitan konversi dapat dicapai dengan secara eksplisit.Untuk cast, jenis ini dimasukkan dalam tanda kurung di depan nilai yang dikonversi.Misal jika total dan hitung bilangan bulat, tapi kita menginginkan hasil floating point pada hasil pembagiannya dapat dilakukan sebagai berikut.

hasil = (float) total / hitung;

Casting pada Java :

1. Implicit casting

2. Explicit casting

Implisit casting (konversi pelebaran). Sebuah tipe data ukuran yang lebih rendah (menggunkan lebih sedikit

memori) ditugaskan untuk jenis data ukuran yang lebih besar. Hal ini dilakukan secara implisit oleh JVM.

Contoh :

int x = 10; // membutuhkan 4 bytes

Page 37: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

double y = x; // occupies 8 bytes

Explicit casting (konversi pelebaran). Sebuah tipe data ukuran yang lebih besar (menggunkani lebih banyak

memori) tidak dapat ditugaskan untuk jenis data ukuran rendah. Hal ini tidak dilakukan secara implisit oleh JVM dan harus dilakukan oleh programmer. Contoh Jika dilkukan casting

double x = 10.5;

int y = x;

maka akan terjadi error. Untuk menghindari error didepan variabel x ditambahkan (int) seperti dibawah ini.

double x = 10.5;

int y = (int) x;

C. Format keluaran

Berikut adalah bentuk format keluaran menggunakan class NumberFormat dan

DecimalForma

import java.util.Scanner;

import java.text.NumberFormat;

public class Price

{

public static void main (String[] args)

{

Scanner input = new Scanner( System.in );

final double TAX_RATE = 0.06; // 6% sales tax

int quantity;

double subtotal, tax, totalCost, unitPrice;

System.out.print ("Enter the quantity: ");

quantity = input.nextInt();

System.out.print ("Enter the unit price: ");

unitPrice = input.nextDouble();

subtotal = quantity * unitPrice;

tax = subtotal * TAX_RATE;

Page 38: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

totalCost = subtotal + tax;

NumberFormat money = NumberFormat.getCurrencyInstance();

NumberFormat percent = NumberFormat.getPercentInstance();

System.out.println ("Subtotal: " + money.format(subtotal));

System.out.println ("Tax: " + money.format(tax) + " at "

+ percent.format(TAX_RATE));

System.out.println ("Total: " + money.format(totalCost));

}

}

// format keluaran menggunakan class DecimalFormat .

//********************************************************************

import java.util.Scanner;

import java.text.DecimalFormat;

public class CircleStats

{

public static void main (String[] args)

{

Scanner input = new Scanner( System.in );

int radius;

double area, circumference;

System.out.print ("Enter the circle's radius: ");

radius = input.nextInt();

area = Math.PI * Math.pow(radius, 2);

circumference = 2 * Math.PI * radius;

DecimalFormat fmt = new DecimalFormat ("0.###");

System.out.println ("The circle's area: " + fmt.format(area));

System.out.println ("The circle's circumference: "

+ fmt.format(circumference));

}

}

Page 39: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 40: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

5 87023 Tim Dosen 

 

 

Page 41: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

OPERATOR DAN EKSPRESI

 

A. OPERATOR 

Operator adalah simbol atau karakter khusus yang digunakan dalam suatu ekpresi.

Operator pada java diklasifikasikan dalam dua kelompok. Unary operator , opertor

yang melibatkan satu operand. Binary operator, operator yang melibatkan dua

operand dan tertiary jika melibatkan tiga operand. Jenis operator ini Java

dikelompokan menjadi beberapa kelompok.

Operator penugasan

Operator aritmatika

Operator perbandingan

Operator logika dan Operator bit

 

Operator penugasan ( assigmen ) =

Operator Penulisan Arti

+= X += Y X = X + Y

-= X -= Y X = X – Y

*= X *= Y X = X * Y

/= X /= Y X = X / Y

%= X %= Y X = X % Y

Operator aritmatika

Operator Operation

+ Addition

- Subtraction

* Multiplication

/ Division

% Modulo

Contoh :

Bitwise Operator

Page 42: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Contoh :

public class BitwiseOr

{

public static void main (String[ ] args)

{

int x = 133; // pendefinisian variabel

int y = 35;

int z;

z = x | y;

System.out.println ("Nilai x = " + x);

System.out.println ("Nilai y = " + y);

System.out.println ("x | y = " + z);

}

}_

Unary Operator

Operator Operation

~ Unary NOT

- Minus

++ Increment

-- Decrement

Contoh :

public class IncrementDecrement

{

Operator Operation

& AND

| OR

^ XOR

>> Shift Kanan

<< Shift Kiri

>>> Shift Kanan isi

dengan nol

Page 43: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public static void main (String[ ] args)

{

int a, b, c, d; // pendefinisian variabel

int x = 5;

int y = 10;

a = ++x;

b = x++;

c = -- y;

d = y --;

System.out.println (a);

System.out.println (b);

System.out.println (c);

System.out.println (d);

}

}

Relational Operator

Operator Operation

== Equal To

!= Not Equal To

> Greater Than

< Less Than

>= Greater or Equal

To

<= Less or Equal To

Contoh :

public class Relasi

{

public static void main (String[ ] args)

{

boolean nilai; // pendefinisian variabel

Page 44: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

nilai = 10 > 5;

System.out.println ("10 > 5 " + nilai);

nilai = 10 < 5;

System.out.println ("10 < 5 " + nilai);

nilai = 10 == 5;

System.out.println ("10 == 5 " + nilai);

nilai = 10 != 5;

System.out.println ("10 != 5 " + nilai);

nilai = 10 <= 5;

System.out.println ("10 <= 5 " + nilai);

nilai = 10 >= 5;

System.out.println ("10 >= 5 " + nilai);

}

}

Operator logika

Operator Operation

! Short-circuit NOT

&& Short-circuit AND

|| Short-circuit OR

?: Operator ternary

if-then-else

Urutan eksekusi pada suatu ekpresi yang melibatkan beberapa operator dijalankan

berdasarkan urutan operator (preseden operator ). Berikut adalah urutan eksekusi

dari operator.

Tertinggi

() [] .

++ -- ~ !

* / %

+ -

>> >>> <<

> >= < <=

Page 45: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

== !=

&

^

|

&&

||

?:

= op=

Terendah

Contoh :

 

 

Contoh : 

public class Urutan { public static void main (String[ ] args) { int x, y, z; x = 7 + 2 * 4; y = 9 * 5 % 2; z = 18 / (6-4); System.out.println (x); System.out.println (y); System.out.println (z); } }

Page 46: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

B. EKSPRESI 

Ekpresi adalah bentuk ungkapan yang menghasilkan nilai ( mengembalikan nilai ).

Dalam bentuk yang sederhana ekpresi dapat berupa sebuah literal atau variabel .

Dalam bentuk yang komplek ekpresi dapat terdiri dari operand dan operator.

Contoh :

5-4

Merupakan bentuk ekpresi yang menghasilkan nilai 1. 5 dan 4 disebut operand dan

– berperan sebagai operator.

 

Contoh :

public class Gabung

{

public static void main (String[ ] args)

{

System.out.println (4-5*12);

}

}

Contoh :

public class Gabung

{

public static void main (String[ ] args)

{

String kalimat, satu, dua, tiga;

satu = "Bahasa ";

dua= "Pemrograman ";

tiga = "Java";

kalimat = satu+dua+tiga;

System.out.println (kalimat);

}

Page 47: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 48: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

6 87023 Tim Dosen 

 

 

Page 49: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

 

STRUKTUR KENDALI (CONTROL)

A. Struktur kontrol Program Setiap masalah komputasi dapat diselesaikan dengan menjalankan

serangkaian tindakan dalam urutan tertentu. Sebuah prosedur untuk memecahkan

masalah dalam hal tindakan untuk mengeksekusi dan urutan tindakan mengeksekusi

disebut algoritma. Berikut ini menunjukkan urutan tindakan seseorang.

Misal tahapan seseorang untuk berangkat kerja adalah sebagai beriku :

(1) Bangun dari tempat tidur,(2) melepas baju tidur, (3) mandi, (4) berpakaian, (5)

sarapan, (6) Berangkat kerja.

Apa yang terjadi jiika urutan diatas diubah dalam bentuk berikut

(1) Bangun dari tempat tidur,(2)melepas baju tidur,(3)Berpakaian,(4)Sarapan, (5)

Mandi,(6) Berangkat kerja.

Menentukan urutan pernyataan (tindakan) mengeksekusi dalam sebuah program

yang disebut program kontrol.

Struktur kontrol adalah elemen bahasa yang mengubah aliran kontrol program, misal

pengunaan pernyataan if untuk memilih antara dua atau lebih jalur alternatif dalam

program. Menggunakan struktur loop untuk mengulang pernyataan. Flow dari aliran

program dapat dibagi dalam empat kelompok berikut.

1. Sekuence

2. Pemilihan

Page 50: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

3. Pengulangan

4. Percabangan

1. Struktur sequence

Pada dasarnya eksekuksi yang dilakukan oleh komputer adalah urut sesuai

dengan urutan dalam penulisan kode program. Komputer akan mengeksekusi

dari baris pertama sampai baris terahir.

Contoh :

1 // Addition.java 2 // Addition program that displays the sum of two numbers. 3 import java.util.Scanner; // program menggunakan class scanner 4 5 public class Addition 6 { 7 // main method awal eksekusi program 8 public static void main( String args[] ) 9 { 10 // create Scanner objek scanner 11 Scanner input = new Scanner( System.in ); 12 13 int number1; // first number to add 14 int number2; // second number to add 15 int sum; // sum of number1 and number2

Page 51: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

16 17 System.out.print( "Enter first integer: " ); // prompt 18 number1 = input.nextInt(); // read first number from user 19 20 System.out.print( "Enter second integer: " ); // prompt 21 number2 = input.nextInt(); // read second number from user 22 23 sum = number1 + number2; // add numbers 24 25 System.out.printf( "Sum is %d\n", sum ); // display sum 26 27 } // end method main 28 29 } // ahir class Addition

2. Struktur Kontrol Pemilihan

Struktur kontrol pemilihan digunakan untuk merubah alur eksekusi program dari

bentuk sekuence ke percabangan. Struktur kontrol ini terdiri dari

a. If ...... then

b. select

a. Struktur if ...else

Bentuk umum

If kondisi

Statement

......................

Else

Stetemant

.....................

contoh :

public class PernyataanIf

{

public static void main (String[ ] args)

{

int nilai = 70; // pendefinisian variabel

if (nilai >= 60)

System.out.println ("Nilai = " + nilai + " Lulus ujian");

}

}

Contoh :

// strukturifelse.java

// Contoh penggunaan pernyataan if else

Page 52: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public class strukturifelse

{

public static void main (String[ ] args)

{

int nilai // pendefinisian variabel

nilai = 75;

System.out.println ("Nilai = " + nilai);

if (nilai >= 80)

System.out.println ("Predikat A");

else if (nilai >= 69)

System.out.println ("Predikat B");

else if (nilai >= 56)

System.out.println ("Predikat C");

else if (nilai >= 40)

System.out.println ("Predikat D");

else

System.out.println ("Predikat E");

}

}

IF bersarang ( Nested IF )

If kondisi

statement

else

If kondisi

statement

else

If kondisi

statement

else

If kondisi

statemet

else

statement

Page 53: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

contoh

public class PernyataanIfNested { public static void main (String[ ] args) { int umur = 28; // pendefinisian variabel String pendidikan = "sarjana"; System.out.println ("Umur = " + umur); System.out.println ("Pendidikan = " + pendidikan); if (umur <= 30); { if (pendidikan == "sarjana") System.out.println ("Diterima menjadi karyawan"); } }

}

b. Struktur switch ... case

switch .... case

switch (userInput)

{

case 1:

statement

case 2:

statement

default:

Page 54: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

statement

break;

}

contoh :

public class PernyataanSwitch

{ public static void main (String[ ] args)

{ int userInput; // pendefinisian variabel

userInput = 2;

switch (userInput)

{

case 1:

System.out.println ("Anda mimilih pertama");

break;

case 2:

System.out.println ("Anda mimilih kedua");

break;

case 3:

System.out.println ("Anda mimilih ketiga");

break;

default:

System.out.println ("Salah pilih");

break;

}

}

}

B. Soal

1. Ketik Program Berikut

// Nama file: PernyataanIfIn.java // Dialog box untuk input data integer import javax.swing.*;

public class PernyataanIfIn {

public static void main (String[] args)

Page 55: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

{ int nilai;

String bilangan = JOptionPane.showInputDialog("Masukkan nilai:"); System.out.println("Input angka: " + bilangan); nilai = Integer.parseInt(bilangan); if (nilai >= 60)

System.out.println ("Nilai = " + nilai + " Lulus Ujian"); System.exit(0); }

}

2. Buat program

Buatlah program dengan menggunakan statemen If else dengan melakukan

perhitungan hasil ujian seperti tampilan dibawah ini:

Masukan : Nama, Tugas, Uts,Uas

Keluaran : Hasil ujian, Keterangan

Page 56: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 9 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 57: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

7 87023 Tim Dosen 

 

 

Page 58: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

 

KELAS

1. Konsep Pemrograman Berorientasi Objek

Sejarah PBO

Pemrograman berorientasi objek mulai dibicarakan sekitar akhir tahun 60’an.

Pertama kali diperkenalkan oleh Ole Johan Dhal dan Kristen Nygaard dari

Universitas Oslo, Norwegia pada tahun 1966 dalam jurnal dengan judul

“SIMULA An Algol Based Simulation Language”. Jadi OOP bukan hal

baru.Pada tahun 1970 bahasa SMALTALK dikembangkan oleh XEROX

PARC. Pada saat itu sebagian dari dunia menggunaan COBOL dan

FORTRAN dengan metode dekomposisi dan fungsional. Perubahan terjadi

selama beberapa dekade sampai dikenalnya faktor utama berorientasi objek,

yaitu :

Konsep dasar berorientasi objek, konsep berorientasi objek mulai populer

dimana memulai analisis dan disain menjadi lebih diperhatikan daripada

coding.

Teknologi dasar pengembangan sistem, coding sangat dipengaruhi

oleh bahasa pemrograman yan tersedia. Untuk pengembangan program

terstruktur lebih mudah dikembangkan dengan pascal, atau C, dan

pembuatan coding berorientasi objek akan lebih mudah dikembangkan

dengan bahasa pemrograman C++, JAVA, VB.Net, PHP.

Kondisi sistem, sistem yang dibagun saat ini berbeda dengan sistem

beberapa tahun yang lalu. Sistem yang sekarang lebih besar, kompleks dan

dapat juga merupakan sistem yang interaktif. Pendekatan berorientasi objek

merupakan cara yang lebih tepat untuk sistem yang berorientasi objek.

Pengenalan model, banyak organisasi mendapatkan bahwa sistem

yang dibagngun pada saat ini cendrung berorientasi data dari pada sistem

yang dibagun sekitar tahun 1970 dan 1980. pada waktu itu penggunaan

model telah mendapatkan prioritas lebih besar dibandingkan dengan

kompleksitas fungsional

2. Pengembangan

Pengembangan berorientasi objek merupakan cara berpikir baru tantang

perangkat lunak berdasarkan abstraksi alam dunia nyata.

Page 59: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Hal yang lebih penting dalam pengembangan berorientasi objek adalah

konsep mengidentifikasi objek dan mengorganisasi domain aplikasi

dibandingkan dengan fokus penggunaan bahasa pemrograman

berorientasi objek atau tidak.

3. Abstraksi

Abstraksi suatu cara melihat suatu objek dalam bentuk yang lebih

sederhana, contoh:

Bila kita melihat sebuah mobil bukan sebagai sebuah kumpulan atau

ribuan komponen elektronik , mekanik dengan empat buah ban, besi, jok

stir dan sebagaiya.

Walau kenyataanya demikian namum kita melihat mobil sebagai single

entity yang merupakan suatu objek yang mempunyai sifat dan

karakteristik tersendiri.

Kita tidak perlu tahu bagaimana kompleknya mobil itu, tidak perlu tahu

bagaimana cara bekerja mesin, dll. Kita tidak meihat bagian-bagian dalam

sebuah mobil sebagai suatu bagian yang berdiri sendiri-sendiri, tetapi

sebagai satu kesatuan.

Dengan abstraksi kita melihat suatu sistem yang komplek sebagai

kumpulan subsistem-subsistem yang lebih sederhana, seperti halnya

mobil merupakan suatu sistem yang terdiri atas subsistem-subsistem

4. Elemen – element sebuah objek

Setiap objek selalu memiliki keadaan (State) dan behaviour yang dapat

mengubah state tersebut.

Contoh: Manusia memiliki state umur, tinggi, berat, dll. Demikian pula

behaviour yang dimiliki manusia seperti makan, tidur, bekerja, dll.

Behaviour ini dapat mengubah atau tidak sama sekali state yang dimiliki

oleh suatu objek.

Dalam bahasa Java state akan lebih dikenal dengan nama properties

atau field, sedangkan behavioir akan dikenal dengan nama method.

5. Konsep Berorientasi Objek ( Encapsulation, Inheritance, Polymorphism)

Encapsulation

Enkapuslasi adalah satu mekanisme untuk menyembunyikan atau

memproteksi suatu proses dari kemungkinan interfensi atau penyalahgunaan

dari luar sistem dan sekaligus menyederhanakan sistem itu sendiri, akses ke

internal sistem diatur sedemikian rupa melalui seperangkat interface.

Contoh :

Page 60: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Seperti mobil sistem transmisi didalam mobil, sistem transmisi ini

memyembunyikan dari anda bagaimana cara ia bekerja. Anda sebagai

pengguna hanya cukup memindahkan tongkat transimis untuk mendapat

percepatan yang anda inginkan. Tongkat transmisi inilah yang satu-satunya

yang menjadi interface dalam mengatur transmisi dalam mobil tersebut. Kita

tidak bisa menggunakan pedal rem untuk mengakses sistem transmisi

tersebut, konsep yang sama dapat diterapkan dalam pemrograman

Inheritance

Kita sebenarnya terbiasa melihat objek tesusun secara hierarki berdasarkan

calss-nya masing-masing. Dari sini muncul konsep tentang pewarisan yang

merupakan suatu proses dimana suatu class diturunkan dari class lainnya

sehingga ia mendapatkan ciri atau sifat dari class tersebut.

Polymorphism

Polymorphism berasal dari bahasa yunani yang berarti banyak bentuk. Dalam

OOP konsep ini memungkinkan digunakannya suatu interface yang sama

untuk memerintahkan suatu objek agar melaksanakan suatu aksi atau

tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda.

Contoh yang konkrit kembali ke masalah mobil, mobil yang ada dipasaran

terdiri atas beberapa tipe dan merek, namun semunya memiliki interface

kemudi yang sama, seperti stir, pedal gas dan rem.Harus diperhatikan bahwa

interface yang sama tidak berarti cara kerjanya juga sama. Contoh bila anda

menekan pedal gas maka mobil akan melaju cepat tetapi bagaimana proses

ini terjadi dapat berbeda-beda untuk setiap jenis mobil.Dengan menggunakan

Page 61: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

interface yang sama anda akan mendapatkan hasil yang sama, tetapi

bagaimana proses yang terjadi dari aksi menjadi hasil mungkin saja berbeda.

6. Konsep Class dan Objek

Objek adalah kesatuan entitas (benda), baik yang berwujud nyata ataupun

hanya suatu sistem atau konsep yang memiliki sifat karakteristik dan fungsi.

Class adalah pemodelan dari objek yang berisi informasi (aturan) tentang sifat

karakteristik (data) dan tingkah laku (method yang dimiliki oleh objek

tersebut).

Hubungan antara class dan objek dapat diilustrasikan sebagai resep kue

dengan kuenya, dimana resep kue adalah class dan kue adalah objeknya.

Metode (method) disebut juga service, prosedur atau fungsi seperti yang

terdapat pada bahasa pascal, tetapi cara kerjanya agak berlainan. Method

adalah sub program yang tergabung dalam objek bersama-sama dengan

atribut. Method digunakan untuk pengaksesan terhadap data yang terdapat

dalam objek tersebut.

Atribut menggambarkan data yang dapat memberikan informasi dengan class

atau objek dimana atribut tersebut berada.

Contoh 1

1 // Fig. 3.4: GradeBook.java 2 // Class declaration with a method that has a parameter. 3 4 public class GradeBook 5 {

Page 62: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

6 // display a welcome message to the GradeBook user 7 public void displayMessage( String courseName ) 8 { 9 System.out.printf( "Welcome to the grade book for\n%s!\n", 10 courseName ); 11 } // end method displayMessage 12 13 } // end class GradeBook 1 // Fig. 3.5: GradeBookTest.java 2 // Create GradeBook object and pass a String to 3 // its displayMessage method. 4 import java.util.Scanner; // program uses Scanner 5 6 public class GradeBookTest 7 { 8 // main method begins program execution 9 public static void main( String args[] ) 10 { 11 // create Scanner to obtain input from command window 12 Scanner input = new Scanner( System.in ); 13 14 // create a GradeBook object and assign it to myGradeBook 15 GradeBook myGradeBook = new GradeBook(); 16 17 // prompt for and input course name 18 System.out.println( "Please enter the course name:" ); 19 String nameOfCourse = input.nextLine(); // read a line of text 20 System.out.println(); // outputs a blank line 21 22 // call myGradeBook's displayMessage method 23 // and pass nameOfCourse as an argument 24 myGradeBook.displayMessage( nameOfCourse ); 25 } // end main 26 27 } // end class GradeBookTest

Contoh 2

1 // MaximumFinder.java 2 // 3 import java.util.Scanner; 4 5 public class MaximumFinder 6 { 7 // mencari nilai maximum dari 3 nilai yang di inputkan. 8 public void determineMaximum() 9 { 10 // create Scanner for input from command window 11 Scanner input = new Scanner( System.in ); 12 13 // obtain user input 14 System.out.print(

Page 63: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

15 "Enter three floating-point values separated by spaces: " ); 16 double number1 = input.nextDouble(); // read first double 17 double number2 = input.nextDouble(); // read second double 18 double number3 = input.nextDouble(); // read third double 19 20 // determine the maximum value 21 double result = maximum( number1, number2, number3 ); 22 23 // display maximum value 24 System.out.println( "Maximum is: " + result ); 25 } // end method determineMaximum 26 27 // returns the maximum of its three double parameters 28 public double maximum( double x, double y, double z ) 29 { 30 double maximumValue = x; // assume x is the largest to start 31 32 // determine whether y is greater than maximumValue 33 if ( y > maximumValue ) 34 maximumValue = y; 35 36 // determine whether z is greater than maximumValue 37 if ( z > maximumValue ) 38 maximumValue = z; 39 40 return maximumValue; 41 } // end method maximum 42 } // end class MaximumFinder

1 // MaximumFinderTest.java 2 // Aplikasi test class MaximumFinder. 3 4 public class MaximumFinderTest 5 { 6 // application starting point 7 public static void main( String args[] ) 8 { 9 MaximumFinder maximumFinder = new MaximumFinder(); 10 maximumFinder.determineMaximum(); 11 } // end main 12 } // end class MaximumFinderTest

Page 64: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 65: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

8 87023 Tim Dosen 

 

 

Page 66: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

CLASS 

Pewarisan,Polimorphisme,Interface

1. Pewarisan

Inheritance adalah kemampuan untuk membuat class turunan yang mewarisi

property dan method dari class induk. Ketika kita membuat suatu class

menggunakan inheritance, kita akan mewarisi behavior dan data dari class

induknya (base class / Super Class). Class yang kita buat menggunakan pewarisan

dari class induk disebut subclass atau derived class. Proses pewarisan dari base

class ke subclass disebut deriving.

Inheritance dapat juga dikatakan sebagai proses pewarisan seluruh data

dan method yang dimiliki oleh suatu class kepada class lainnya.

Class yang mewariskan disebut Base Class / Super Class, class yang

diwariskan disebut SubClass.

Page 67: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Shape merupakan kelas induk atau superclass, square,rectangle dan circle adalah

kelas anak. Class anak mewarisa property dan metode class induknya.

Pada bahasa pemrograman java, semua class, termasuk class yang membangun

Java API, adalah subclasses dari superclass Object. Pewarisan adalah keuntungan

besar dalam pemrograman berbasis object karena suatu sifat atau method

didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua

subclasses. Sehingga kode method hanya sekali ditulis dan mereka dapat

digunakan oleh semua subclass. Dengan demikian subclass hanya perlu

mengimplementasikan.

2. Mendefinisikan Superclass dan Subclass

Untuk memperoleh suatu class, kita menggunakan kata kunci extend. Sebagai

ilustrasi, misalkan kita memiliki book sebagai class induk. Kemudian dibuat

class baru dengan nama dictionary yang diturunkan dari kelas book.

Page 68: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

class Book

{

protected int pages;

public Book (int pages)

{

this.pages = pages;

}

public void pageMessage ()

{

System.out.println ("Number of pages: " + pages);

}

}// ahir class book

Perhatikan bahwa atribut pages dideklarasikan sebagai protected, penggunaan

protected ini agar atribut tersebut dapat diakses oleh subclasses dari

superclassess. Jika kita mendeklarasikannya sebagai private, subclasses tidak

dapat menggunakannya. Perlu diingat bahawa semua properti dari superclass

yang dideklarasikan sebagai public, protected dan default dapat diakses oleh

subclasses-nya. Selanjutnya kita membuat class lain bernama Dictionary yang

diturunkan dari class Book. Class Dictionary kita buat dengan hanya meng-

extend class Book. Subclass secara otomatis akan mewariskan semua properti

dan method yang ada pada class Book.

class Dictionary extends Book

{

private int definitions;

public Dictionary (int pages, int definitions)

{

super (pages);

this.definitions = definitions;

}

public void definitionMessage ()

{

System.out.println ("Number of definitions: " + definitions);

Page 69: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

System.out.println ("Definitions per page: " + definitions/pages);

}

} // ahir class dictionary

Ketika object Dictionary di-instantiate, default constructor dari superclass secara

mutlak meminta untuk melakukan inisialisasi yang seharusnya. Setelah itu,

pernyataan di dalam subclass dieksekusi, seperti terlihat pada contoh berikut.

class Words

{

public static void main (String[] args)

{

Dictionary webster = new Dictionary (1500, 52500);

webster.pageMessage();

webster.definitionMessage();

}

}

3. Kata Kunci Super

Pada subclass Dictionary pada contoh diatas memanggil constructor secara

eksplisit dari superclass terdekat melalui construktor super.

public Dictionary (int pages, int definitions)

{

super (pages);

this.definitions = definitions;

}

Pemanggil constructor super dalam constructor dari subclass akan menghasilkan

eksekusi dari superclass constructor yang bersangkutan, berdasar dari argumen

sebelumnya.

4. Overriding Method

Page 70: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Untuk beberapa pertimbangan, terkadang class asal perlu mempunyai

implementasi berbeda dari method yang khusus dari superclass tersebut. Oleh

karena itulah, method overriding digunakan. Subclass dapat mengesampingkan

method yang didefinisikan dalam superclass dengan menyediakan implementasi

baru dari method tersebut. Kemampuan subclass untuk memodifikasi

(mendefinisikan kembali) data dan method dari class induknya. Proses ini akan

mengubah data dan method dari kedua class tersebut, class anak dan induknya.

Ada dua alasan mengapa melakuan overriding:

1. Mendefinisikan kembali method class indunya secara total.

2. Menambahkan behavior tertentu pada method class induknya.

Misal kita memiiki implementasi berikut untuk method message dalam superclass.

class Thought

{

public void message()

{

System.out.println ("Persiapan : " +"Instalasi.");

System.out.println();

}

}

Override method message dalam subclass Advice dapat dituliskan seperti berikut,

class Advice extends Thought

{

public void message()

{

System.out.println ("Peringatan : " + "Baca readme.txt");

System.out.println();

super.message();

}

}

Page 71: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Berikut contoh class pengguna, ke dua class diatas

class Messages

{

public static void main (String[] args)

{

Thought install = new Thought();

Advice readme = new Advice();

install.message ();

readme.message (); // overriding

}

}

5. Metode final dan class final

Java juga memungkinkan untuk mendeklarasikan class-class yang tidak lagi dapat

diturunkan ke class berikutnya.. Class ini dinamakan class final. Untuk

mendeklarasikan class untuk menjadi final kita hanya menambahkan kata kunci

final dalam deklarasi class. Sebagai contoh, jika kita ingin class Book untuk

dideklarasikan final, kita tulis,

public final class Book

{

//area kode

}

Beberapa class dalam Java API dideklarasikan secara final untuk memastikan

sifatnya tidak dapat di-override. Contoh-contoh dari class ini adalah Integer,

Double, dan String. Untuk mendeklarasikan method untuk menjadi final, kita

tambahkan kata kunci final ke dalam deklarasi method. Contoh

public final String getBook()

{

Page 72: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

return name;

}

6. Polimorphisme

Polymorphism adalah penggunaan method dengan nama yang sama pada class-

class yang berbeda dan memungkinkan method yang tepat dieksekusi berdasarkan

konteks yang memanggilnya. Polymorphism dapat diimplementasikan

menggunakan method Overloading dan method Overriding.

Polymorphism memiliki arti “satu nama, banyak bentuk”. Hal ini disebut juga

sebagai overloading yang berarti menggunakan hal yang sama untuk tujuan yang

berbeda. Dengan menggunakan polymorphism kita dapat membuat banyak fungsi

dengan nama yang sama tetapi memiliki dafatr argumen yang berbeda.

Polymorphism dapat diilustrasikan sebagai berikut, perhatikanlah penggunaan

kata “mentah” dalam beberapa kalimat. “sayuran itu masih mentah, belum

dimasak”. “Pukulan petinju itu berhasil dimentahkan oleh lawannya”. “Gagasan

ini masih mentah sehingga perlu dibahas kembali” . Kata “mentah” pada contoh

dapat diaplikasikan pada baebagai objek dan dapat di interpretasikan ke dalam

beberapa makna.

Pada dasarnya polymorphism diimplementasikan melalui dua cara, yaitu

polymorphism berbasis interface dan polymorphism berbasis inheritance. Seperti

terlihat pada contoh berikut.

/**Mendekalrasikan ekspresi gembira yang diturnkan dari ekpresi wajah */

class Gembira extends EkspresiWajah{

public String respons(){

return (“Ha ha ha h ahah .. saya gembira\n”);

}

}

/**Mendekalrasikan ekspresi sedih yang diturnkan dari ekpresi wajah */

class Sedih extends EkspresiWajah{

public String respons(){

Page 73: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 9 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

return (“Hik .. hik... saya sedih\n”);

}

}

/**Mendekalrasikan ekspresi marah yang diturnkan dari ekpresi wajah */

class Marah extends EkspresiWajah{

public String respons(){

return (“Haaaaaaaaaaiiiii... saya marah!!!!\n”);

}

}

public class EkspresiEmosi {

/**Main Method */

public static void main (String[] args) {

System.out.prinln(“\nDEMO POLIMORPHISM”);

System.out.prinln(“--------------------------------\ n”);

//membuat objek-objek dari ekspresi dari wajah

EkspresiWajah objEkspresi = new EkspresiWajah();

Gembira objGembira = new Gembira();

Sedih objSedih = new Sedih();

Marah objMarah = new Marah();

//Menyatakan objek-objek ekspresi tersebut menjadi

//suatu daftar ekspresi

EkspresiWajah[] ekspresi = new EkspresiWajah[4];

ekspresi [0] = objEkspresi;

ekspresi [1] = objGembira;

ekspresi [2] = objSedih;

ekspresi [3] = objMarah;

//Polymorphism membuat EkspresiWajah menjadi terlihat memiliki

//beberapa tingkah laku / kondisi yang berbeda-beda

System.out.prinln(“Ekspresi[0] : “ + ekspresi[0].respons());

System.out.prinln(“Ekspresi[1] : “ + ekspresi[1].respons());

Page 74: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 10 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

System.out.prinln(“Ekspresi[2] : “ + ekspresi[2].respons());

System.out.prinln(“Ekspresi[3] : “ + ekspresi[3].respons());

}

}

7. Interface

Interface mirip dengan class, yang memiliki serangkian property, method dan

event. Bedanya dengan class, intereface tidak memiliki implementasi sedangkan

class dapat diimplementasikan. Berikut cara untuk membuat interface

public interface [InterfaceName]

{

//beberapa method tanpa isi

}

Tujuan untuk membuat dan menggunakan interface dalam aplikasi adalah sebagai

“future proof” dari kode program. Future proof artinya menyiapkan penggunaan

dimasa mendatang untuk menghindari masalah yang mungkin timbul. Disisi lain,

interface tidak dapat diubah setelah dipublikasikan, tetapi implementasi dari

interface dapat berubah. Interface juga menyediakan cara lain untuk

mengimplementasikan polymorphism. Melalui interface kita dapat menentukan

metoda suatu komponen tanpa keharusan untuk menentukan bagaimana metoda

tersebut dimplementasikan. Sehingga interface menyerupai prototype bagi class

lain yang akan dikembangkan. Perhatikan penggalan program berikut

// payable.Java

public interface Payable { double getPaymentAmount(); } //Invoice.Java public class Invoice implements Payable { private String partNumber; private String partDescription;

Page 75: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 11 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

private int quantity; private double pricePerItem; public Invoice( String part, String description, int count, double price ) { partNumber = part; partDescription = description; setQuantity( count ); setPricePerItem( price ); } public void setPartNumber( String part ) { partNumber = part; } public String getPartNumber() { return partNumber; } ....................................................................................... ....................................................................................... { return String.format( "%s: \n%s: %s (%s) \n%s: %d \n%s: $%,.2f", "invoice", "part number", getPartNumber(), getPartDescription), "quantity", getQuantity(), "price per item", getPricePerItem() ); } public double getPaymentAmount() { return getQuantity() * getPricePerItem(); } } //Employee.Java public abstract class Employee implements Payable { private String firstName; private String lastName; private String socialSecurityNumber; public Employee( String first, String last, String ssn ) { firstName = first; lastName = last; socialSecurityNumber = ssn; } public void setFirstName( String first ) { firstName = first; } public String getFirstName() { return firstName; }

Page 76: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 12 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

........................ ........................ } // SalaryEmployee.Java public class SalariedEmployee extends Employee { private double weeklySalary; public SalariedEmployee( String first, String last, String ssn, double salary ) { super( first, last, ssn ); setWeeklySalary( salary ); } public void setWeeklySalary( double salary ) { weeklySalary = salary < 0.0 ? 0.0 : salary; } public double getWeeklySalary() { return weeklySalary; } public double getPaymentAmount() { return getWeeklySalary(); } }

Dari contoh diatas, ada dua class yaitu Invoice dan SalaryEmploye yang

mengimplemtasikan interface yang sama.

Soal :

1. Ketik program berikut

// Nama file: Pegawai.java // Contoh penggunaan overloading constructor class Pegawai { private int noKar; // variabel kelas

Page 77: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 13 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

private String nama, alamat; // constructor dengan beberapa parameter public Pegawai (int k, String n, String a) { this.noKar = k; this.nama = n; this.alamat = a; } // constructor tanpa parameter public Pegawai () { } // constructor dengan satu parameter public Pegawai (String n) { this.nama = n; } public static void main (String[ ] args) { // Membuat objek dengan constructor pertama Pegawai kar1 = new Pegawai(1, "Andi", "Jl Thamrin 10"); // Membuat objek dengan constructor kedua Pegawai kar2 = new Pegawai(); // Membuat objek dengan constructor ketiga Pegawai kar3 = new Pegawai("Rina"); // Menampilkan data System.out.println ("Nomor Pegawai : " + kar1.noKar); System.out.println ("Nama Pegawai: " + kar1.nama); System.out.println ("Alamat Pegawai: " + kar1.alamat); System.out.println ("Nomor Pegawai : " + kar2.noKar); System.out.println ("Nama Pegawai: " + kar2.nama); System.out.println ("Alamat Pegawai: " + kar2.alamat); System.out.println ("Nomor Pegawai : " + kar3.noKar); System.out.println ("Nama Pegawai: " + kar3.nama); System.out.println ("Alamat Pegawai: " + kar3.alamat); } }

Page 78: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 14 Pemrograman Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 79: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

9 87023 Tim Dosen 

 

 

Page 80: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 2 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

MODUL 9

Kelas Dasar

A. Java Lang Package

Math

Kelas Math yang berisi konstanta untuk nilai pi dan e. Kelas ini juga

mendefinisikan metode perhitungan berbagai fungsi matematika, seperti fungsi

trigonometri dan eksponensial. Semua konstanta dan metode tersedia dalam

bentuk statis sehingga dalam penggunaannya kita tidak perlu lagi membuat

sebuah instance dari kelas Math untuk menggunakan konstanta dan metode.

Bahkan, kelas Matematika tidak mendefinisikan konstruktor publik, sehingga

tidak dapat instantiated. Untuk memastikan bahwa metode di kelas ini

memberikan hasil yang konsisten di bawah implementasi yang berbeda dari

Jawa, semua metode menggunakan algoritma dari paket terkenal Math Library

fdlibm yang didistribusikan secara bebas. Paket ini merupakan bagian dari

netlib dan dapat diperoleh melalui http://netlib.att.com.

Berikut adalah beberapa kelas math.

A. Variabel

1. E

public final static double E

2. Phi

public final static double PI

B. Methode

sin

public static double sin(double a)

cos

public static double cos(double a)

tan

public static double tan(double a)

exp

Page 81: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 3 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public static double exp(double a)

log

public static double log(double a) throws ArithmeticException

sqrt

public static double sqrt(double a) throws ArithmeticException

ceil

public static double ceil(double a)

floor

public static double floor(double a)

rint

public static double rint(double a)

pow

public static double pow(double a,ouble b) throws

ArithmeticException

round

public static long round(double a)

random

public static synchronized double random()

abs

public static int abs(int a)

max

public static float max(float a,float b)

min

public static float min(float a, float b)

contoh :

public class fungsiMatematika {

public static void main(String[] args) {

int i = 7;

int j = -9;

double x = 72.3;

double y = 0.34;

System.out.println("i is " + i);

System.out.println("j is " + j);

Page 82: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 4 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

System.out.println("x is " + x);

System.out.println("y is " + y);

System.out.println("|" + i + "| is " + Math.abs(i));

System.out.println("|" + j + "| is " + Math.abs(j));

System.out.println("|" + x + "| is " + Math.abs(x));

System.out.println("|" + y + "| is " + Math.abs(y));

System.out.println(x + " is approximately " + Math.round(x));

System.out.println(y + " is approximately " + Math.round(y));

System.out.println("The ceiling of " + i + " is " + Math.ceil(i));

System.out.println("The ceiling of " + j + " is " + Math.ceil(j));

System.out.println("The ceiling of " + x + " is " + Math.ceil(x));

System.out.println("The ceiling of " + y + " is " + Math.ceil(y));

System.out.println("The floor of " + i + " is " + Math.floor(i));

System.out.println("The floor of " + j + " is " + Math.floor(j));

System.out.println("The floor of " + x + " is " + Math.floor(x));

System.out.println("The floor of " + y + " is " + Math.floor(y));

System.out.println("min(" + i + "," + j + ") is " + Math.min(i,j));

System.out.println("min(" + x + "," + y + ") is " + Math.min(x,y));

System.out.println("min(" + i + "," + x + ") is " + Math.min(i,x));

System.out.println("min(" + y + "," + j + ") is " + Math.min(y,j));

System.out.println("max(" + i + "," + j + ") is " + Math.max(i,j));

System.out.println("max(" + x + "," + y + ") is " + Math.max(x,y));

System.out.println("max(" + i + "," + x + ") is " + Math.max(i,x));

System.out.println("max(" + y + "," + j + ") is " + Math.max(y,j));

System.out.println("Pi is " + Math.PI);

System.out.println("e is " + Math.E);

double angle = 45.0 * 2.0 * Math.PI/360.0;

System.out.println("cos(" + angle + ") is " + Math.cos(angle));

System.out.println("sin(" + angle + ") is " + Math.sin(angle));

double value = 0.707;

System.out.println("acos(" + value + ") is " + Math.acos(value));

System.out.println("asin(" + value + ") is " + Math.asin(value));

System.out.println("atan(" + value + ") is " + Math.atan(value));

System.out.println("exp(1.0) is " + Math.exp(1.0));

Page 83: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 5 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

System.out.println("exp(10.0) is " + Math.exp(10.0));

System.out.println("exp(0.0) is " + Math.exp(0.0));

System.out.println("log(1.0) is " + Math.log(1.0));

System.out.println("log(10.0) is " + Math.log(10.0));

System.out.println("log(Math.E) is " + Math.log(Math.E));

System.out.println("pow(2.0, 2.0) is " + Math.pow(2.0,2.0));

System.out.println("pow(10.0, 3.5) is " + Math.pow(10.0,3.5));

System.out.println("pow(8, -1) is " + Math.pow(8,-1));

for (i=0; i < 10; i++) {

System.out.println(

"The square root of " + i + " is " + Math.sqrt(i));

}

System.out.println("Here's one random number: " + Math.random());

System.out.println("Here's another random number: " + Math.random());

}

}

String

Kontruktor

String ()

Membangun sebuah String kosong baru.

String (String)

Membangun sebuah String baru yang merupakan salinan dari

String tertentu.

String (char [])

Membangun sebuah String baru yang awal nilai adalah array

karakter tertentu.

String (char [], int, int)

Membangun sebuah String baru yang awal nilai adalah array sub

tertentu karakter.

String (byte [], int, int, int)

Page 84: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 6 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Membangun sebuah String baru yang awal nilai adalah array sub

byte tertentu.

String (byte [], int)

Membangun sebuah String baru yang awal nilai adalah array byte

tertentu.

Contoh :

// StringConstructors.java

// String class constructors.

public class StringConstructors

{

public static void main( String args[] )

{

char charArray[] = { 'b', 'i', 'r', 't', 'h', ' ', 'd', 'a' , 'y' };

String s = new String( "hello" );

// use String constructors

String s1 = new String();

String s2 = new String( s );

String s3 = new String( charArray );

String s4 = new String( charArray, 6, 3);

System.out.printf("s1 = %s\ns2 = %s\ns3 = %s\ns4 = %s\n",

s1, s2, s3, s4 );

}

}

Metode

compareTo

public int compareTo(String anotherString)

indexOf

public int indexOf(int ch)

substring

public String substring(int beginIndex)

substring

Page 85: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 7 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public String substring(int beginIndex, int endIndex)

replace

public String replace(char oldChar, char newChar)

toLowerCase

public String toLowerCase()

toUpperCase

public String toUpperCase()

trim

public String trim()

copyValueOf

public static String copyValueOf(char data[],int offset,

int count)

Contoh :

// StringMiscellaneous.java

// This application demonstrates the length, charAt and getChars

// methods of the String class.

public class StringMiscellaneous

{

public static void main( String args[] )

{

String s1 = "hello there";

char charArray[] = new char[ 5 ];

System.out.printf( "s1: %s", s1 );

// test length method

System.out.printf( "\nLength of s1: %d", s1.length() );

// loop through characters in s1 with charAt and display reversed

System.out.print( "\nThe string reversed is: " );

for ( int count = s1.length() - 1; count >= 0; count-- )

System.out.printf( "%s ", s1.charAt( count ) );

// copy characters from string into charArray

s1.getChars( 0, 5, charArray, 0 );

System.out.print( "\nThe character array is: " );

for ( char character : charArray )

Page 86: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 8 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

System.out.print( character );

System.out.println();

}

}

StringBuffer

Setelah object String dibuat, isinya tidak pernah bisa berubah. Untuk dapat

memanipulasi string, java menyediakan fitur kelas StringBuffer. Kelas ini

digunakan untuk menciptakan dan memanipulasi informasi string secara

dinamis. StringBuffer mampu menyimpan sejumlah karakter yang ditentukan

kapasitasnya. Jika kapasitas StringBuffer terlampaui, kapasitas secara otomatis

diperluas untuk mengakomodasi karakter tambahan.

Contoh :

// StringBufferCapLen.java

// StringBuffer length, setLength, capacity and ensureCapacity methods.

public class StringBufferCapLen

{

public static void main( String args[] )

{

StringBuffer buffer = new StringBuffer( "Hello, how are you?" );

System.out.printf( "buffer = %s\nlength = %d\ncapacity = %d\n\n",

buffer.toString(), buffer.length(), buffer.capacity() );

buffer.ensureCapacity( 75 );

System.out.printf( "New capacity = %d\n\n", buffer.capacity() );

buffer.setLength( 10 );

System.out.printf( "New length = %d\nbuf = %s\n",

buffer.length(), buffer.toString() );

}

}

Wrapper

Metode dalam penanganan char kebanyakan metode statis dan dirancang untuk

menjadi metode pemprosesan nilai-nilai char secara individu. Metode ini

mengambil setidaknya argumen karakter dan melakukan tes atau manipulasi

Page 87: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 9 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

karakter. Kelas ini juga mengandung konstruktor yang menerima argumen

char untuk menginisialisasi objek karakter.

Contoh :

// StaticCharMethods.java

// Static Character testing methods and case conversion methods.

import java.util.Scanner;

public class StaticCharMethods

{

public static void main( String args[] )

{

Scanner scanner = new Scanner( System.in ); // create scanner

System.out.println( "Enter a character and press Enter" );

String input = scanner.next();

char c = input.charAt( 0 ); // get input character

// display character info

System.out.printf( "is defined: %b\n", Character.isDefined( c ) );

System.out.printf( "is digit: %b\n", Character.isDigit( c ) );

System.out.printf( "is first character in a Java identifier: %b\n",

Character.isJavaIdentifierStart( c ) );

System.out.printf( "is part of a Java identifier: %b\n",

Character.isJavaIdentifierPart( c ) );

System.out.printf( "is letter: %b\n", Character.isLetter( c ) );

System.out.printf(

"is letter or digit: %b\n", Character.isLetterOrDigit( c ) );

System.out.printf(

"is lower case: %b\n", Character.isLowerCase( c ) );

System.out.printf(

"is upper case: %b\n", Character.isUpperCase( c ) );

System.out.printf(

"to upper case: %s\n", Character.toUpperCase( c ) );

System.out.printf(

"to lower case: %s\n", Character.toLowerCase( c ) );

}

}

Page 88: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 10 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Process

Kontruktor

Process

public Process()

Metode

getOutputStream

public abstract OutputStream getOutputStream()

getInputStream

public abstract InputStream getInputStream()

getErrorStream

public abstract InputStream getErrorStream()

waitFor

public abstract int waitFor() throws InterruptedException

exitValue

public abstract int exitValue()

destroy

public abstract void destroy()

System

Variabel

in

public static InputStream in

out

public static PrintStream out

err

public static PrintStream err

Metode

setSecurityManager

public static void setSecurityManager(SecurityManager s)

arraycopy

public static void arraycopy(Object src,

int src_position,

Page 89: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 11 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Object dst,

int dst_position,

int length)

getProperties

public static Properties getProperties()

exit

public static void exit(int status)

loadLibrary

public static void loadLibrary(String libname)

B. Soal

1. Ketik program berikut

// StringIndexMethods.java

// String searching methods indexOf and lastIndexOf.

public class StringIndexMethods

{

public static void main( String args[] )

{

String letters = "abcdefghijklmabcdefghijklm";

// test indexOf to locate a character in a string

System.out.printf("'c' is located at index %d\n", letters.indexOf( 'c' ) );

System.out.printf("'a' is located at index %d\n", letters.indexOf( 'a', 1 )

);

System.out.printf(

"'$' is located at index %d\n\n", letters.indexOf( '$' ) );

// test lastIndexOf to find a character in a string

System.out.printf( "Last 'c' is located at index %d\n",

letters.lastIndexOf( 'c' ) );

System.out.printf( "Last 'a' is located at index %d\n",

letters.lastIndexOf( 'a', 25 ) );

System.out.printf( "Last '$' is located at index %d\n\n",

letters.lastIndexOf( '$' ) );

// test indexOf to locate a substring in a string

System.out.printf( "\"def\" is located at index %d\n",

Page 90: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 12 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

letters.indexOf( "def" ) );

System.out.printf( "\"def\" is located at index %d\n",

letters.indexOf( "def",7 ) );

System.out.printf( "\"hello\" is located at index %d\n\n",

letters.indexOf( "hello" ) );

// test lastIndexOf to find a substring in a string

System.out.printf( "Last \"def\" is located at index %d\n",

letters.lastIndexOf( "def" ) );

System.out.printf( "Last \"def\" is located at index %d\n",

letters.lastIndexOf( "def", 25 ) );

System.out.printf( "Last \"hello\" is located at index %d\n",

letters.lastIndexOf( "hello" ) );

}

}

 

Page 91: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 13 Pemrograman Berorientas Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 92: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

10 87023 Tim Dosen 

 

 

Page 93: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Exception

1. Eksepsi

Dalam programming dikenal dua jenis error yang umum terjadi. Error pada saat

kompilasi dan error pada saat program berjalan (runtime ). Kesalahan pada saat

kompilasi umummnya terjadi karena kesalahan sintak. Kesalahan yang terjadi

pada saat run time kadang membuat program berhenti,kemudian menampilkan

pesan kesalahan yang terjadi. Kesalahan yang mungkin terjadi tentu saja

bermacam-macam. Misalnya, terjadi pembagian suatu bilangan dengan nol,

hingga memori habis ketika diperlukan untuk memberntuk objek. Program berikut

akan berhenti jika user menginputkan nilai 0 pada deminator.

import java.util.Scanner; public class DivideByZeroNoExceptionHandling { public static int quotient( int numerator, int denominator ) { return numerator / denominator; } public static void main( String args[] ) { Scanner scanner = new Scanner( System.in ); System.out.print( "Please enter an integer numerator: " ); int numerator = scanner.nextInt(); System.out.print( "Please enter an integer denominator: " ); int denominator = scanner.nextInt(); int result = quotient( numerator, denominator ); System.out.printf("\nResult: %d / %d = %d\n", numerator, denominator, result ); } }

Untuk mengatasi kesalahan sewaktu program dieksekusi, Java menyediakan

penanganan eksepsi. Dalam hal ini Java akan “melontarkan” suatu eksepsi

sekiranya terdapat suatu kesalahan sewaktu program dijalankan.

Eksepsi adalah indikasi dari masalah yang terjadi saat suatu program dijalankan.

Eksepsi menyiratkan bahwa telah terjadi masalah yang tidak biasa pada bagian

dari program yang sebelumnya tidak bermasalah. Program yang tangguh dapat

tahan dari kondisi yang tidak biasa atau dalam kondisi "pengecualian". Salah satu

Page 94: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

pendekatan untuk membuat program yang tangguh adalah dengan melihat

kemungkinan masalah yang mungkin terjadi dan menambahkan tes/pengujian

pada program tersebut untuk setiap kemungkinan masalah yang mungkin terjadi.

Akan tetapi pendekatan ini mungkin akan memperbesar kode program yang

dibuat dan akan sangat sulit untuk mengantisipasi segala kemungkinan masalah

yang pada program.

Java memiliki metode terstruktur dan rapi dalam menghadapi masalah yang

mungkin terjadi ketika program dijalankan. Metode ini disebut sebagai

penanganan pengecualian (exception-handling). Penanganan eksepsi pada Java

dapat digunakan untuk hal-hal berikut :

Menangani kesalahan dengan menuliskan kode penangan kesalahan yang

terpisah dengan kode yang akan ditangani. Sejumlah pernyataan dapat

ditangani hanya dengan menggunakan sebuah penangan eksepsi.

Menyediakan mekanisme yang memungkinkan untuk menjalankan

kesalahan yang terjadi dalam sebuah metode ke metode yang melakukan

pemanggilan metode tersebut.

Menangani berbagai jenis kondisi yang tidak normal (jenis kesalahan

dapat diketahui).

2. Menangkap eksepsi

Ketika pengecualian terjadi dalam eksekusi suatu program, kita sebut bahwa

pengecualian tersebut di-lempar-kan (thrown). Ketika ini terjadi, aliran program

terlempar dari jalurnya, dan program berada dalam bahaya akan crash. Akan tetapi

crash bisa dihindari jika pengecualian tersebut ditangkap (catch) dan ditangani

dengan cara tertentu. Suatu pengecualian dapat dilempar oleh satu bagian program

dan ditangkap oleh bagian program lain. Pengecualian yang tidak ditangkap

secara umum akan menyebabkan program berhenti. Agar kesalahan karena

eksepsi dapat dikendalikan, eksepsi perlu “ditangkap”,. Untuk keperluan

menangkap eksepsi, Java menyediakan pernyataan try. Pernyataan ini mempunyai

dua bentuk.

Bentuk pertama :

Page 95: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

try {

//Blok yang akan ditangkap sekiranya terjadi eksepsi }

catch(parameter) {

//Blok yang akan dijalankan kalau terjadi eksepsi }

Bentuk kedua :

try {

//Blok yang akan ditangkap sekiranya terjadi eksepsi }

finally {

//Blok yang akan dijalankan kalau terjadi eksepsi }

Pada bentuk di atas, bagian finally akan dijalankan, tidak tergantung apakah

bagian blok try mengalami eksepsi maupun tidak.

Selain bentuk penganganan kesalahan diatas, Java juga menyediakan berbagai

kelas yang berhubungan dengan eksepsi. Dengan kelas tertinggi kelas Throwable.

Page 96: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Dari gambar diatas terdapat subkelas dengan nama Error dan Exception. Subkelas

Error antara lain digunakan untuk menangani kesalahan seperti memory habis

(OutOfMemoryError) dan stack habis (StackOverflowError). Kesalahan seperti ini

biasanya tidak perlu ditangani; atau dengan kata lain program segera diakhiri

kalau menemukan eksepsi seperti ini. Subkelas Exception antara lain memiliki

subkelas RuntimeException, yang digunakan untuk menangani kesalahan seperti

indeks array yang tidak valid (indeks array melebihi jumlah indeks,

IndexArrayOutOfBounds) dan kesalahan Aritmetika (Arithmetic Exception).

Kesalahan yang tergolong dalam Exception perlu ditangani; misalnya kalau ada

pembagian bilangan dengan nol, program dapat diatur sehingga program tidak

diakhiri (quit program). Berdasarkan kelas diatas jika diketahui berbagai

kemungkinan jenis kesalahan, maka dapat ditangkap berbagai kemungkinan

eksepsi dengan menggunakan catch yang bertingkat dalam catch dan try berikut

ini :

try {

//Blok yang akan ditangkap sekiranya terjadi eksepsi }

catch(RuntimeException r) {

//Blok yang akan dijalankan kalau terjadi RuntimeError } catch(Exception e) {

//Blok yang akan dijalankan kalau terjadi eksepsi Exception } catch(Throwable t) { //Blok yang akan dijalankan kalau terjadi eksepsi yang lain }

3. Melempar eksepsi

Java menyediakan pernyataan yang digunakan untuk melontarkan eksepsi, yaitu

berupa pernyataan throw. Bentuk pernyataan ini :

throw variableObject;

Dalam hal ini variableObject menyatakan variable objek yang merujuk ke suatu

kelas eksepsi, untuk melihat efek throw, perhatikan program berikut :

public class UsingExceptions {

Page 97: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public static void main( String args[] ) { try { throwException(); } catch ( Exception exception ) { System.err.println( "Exception handled in main" ); } doesNotThrowException(); } public static void throwException() throws Exception { try { System.out.println( "Method throwException" ); throw new Exception(); } catch ( Exception exception ) { System.err.println("Exception handled in method throwException" ); throw exception; } finally { System.err.println( "Finally executed in throwException" ); } } public static void doesNotThrowException() { try { System.out.println( "Method doesNotThrowException" ); } catch ( Exception exception ) // does not execute { System.err.println( exception ); } finally { System.err.println("Finally executed in doesNotThrowException" ); } System.out.println( "End of method doesNotThrowException" ); } }

Page 98: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

4. Assertion

Assertions mengijinkan programmer untuk menentukan asumsi yang dihadapi.

Sebagai contoh, sebuah tanggal dengan area bulan tidak berada antara 1 hingga 12

dapat diputuskan bahwa data tersebut tidak valid. Programmer dapat menentukan

bulan harus berada diantara area tersebut. Meskipun hal itu dimungkinkan untuk

menggunakan contructor lain untuk mensimulasikan fungsi dari assertions, namun

sulit untuk dilakukan karena fitur assertion dapat tidak digunakan. Hal yang

menarik dari assertions adalah seorang user memiliki pilihan untuk digunakan

atau tidak pada saat runtime. Penulisan assertions memiliki dua bentuk. Bentuk

yang paling sederhana terlihat sebagai berikut :

assert <expression1>;

dimana <expression1> adalah kondisi dimana assertion bernilai true.

Atau

assert <expression1> : <expression2>;

dimana <expression1> adalah kondisi assertion bernilai true dan

<expression2> adalah informasi yang membantu pemeriksaan mengapa

program mengalami kesalahan.

Contoh :

import java.util.Scanner;

public class AssertTest

{ public static void main( String args[] ) { Scanner input = new Scanner( System.in ); System.out.print( "Enter a number between 0 and 10: " ); int number = input.nextInt(); assert ( number >= 0 && number <= 10 ) : "bad number: " + number; System.out.printf( "You entered %d\n", number ); } } Soal

1. Praktek, ketik program berikut

import java.util.InputMismatchException;

import java.util.Scanner;

Page 99: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public class DivideByZeroWithExceptionHandling

{

public static int quotient( int numerator, int denominator )

throws ArithmeticException

{

return numerator / denominator;

}

public static void main( String args[] )

{

Scanner scanner = new Scanner( System.in );

boolean continueLoop = true;

do

{

try

{

System.out.print( "Please enter an integer numerator: " );

int numerator = scanner.nextInt();

System.out.print( "Please enter an integer denominator: " );

int denominator = scanner.nextInt();

int result = quotient( numerator, denominator );

System.out.printf( "\nResult: %d / %d = %d\n", numerator,

denominator, result );

continueLoop = false; // input successful; end looping

}

catch ( InputMismatchException inputMismatchException )

{

System.err.printf( "\nException: %s\n",inputMismatchException );

scanner.nextLine();

System.out.println("You must enter integers. Please try again.\n" ); }

catch ( ArithmeticException arithmeticException )

{

System.err.printf( "\nException: %s\n", arithmeticException );

Page 100: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 9 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

System.out.println("Zero is an invalid denominator. Please try

again.\n" );

}

} while ( continueLoop );

}

}

 

Page 101: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 10 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 102: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

11 87023 Tim Dosen 

 

 

Page 103: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

MULTITHEAREADING

Sebuah thread merupakan sekumpulan instruksi ( kode program) yang akan

dieksekusi secara independen. Thread sebagai sebuah proses yang akan

dieksekusi didalam sebuah program tertentu. Penggunaan thread didukung

penggunaan sistem operasi modern saat ini memilliki kemampuan untuk

menjalankan beberapa program sekaligus. Misalnya, pada saat kita mengetik

sebuah dokumen di komputer dengan menggunakan text editor .Dalam waktu

yang bersamaan kita dapat pula mendengarkan musik dan menikmati tayangan

video via internet. Eksekusi beberapa kerjaan ini dikenal dengan nama

multitasking.

Pada suatu saat thread berada pada state tertentu dari beberapa state.

Siklus hidup sebuah thread dimulai state new dan akan terus pada state ini

sampai sekumpulan instruksi ini di eksekusi .

Page 104: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

A. Penanganan Thread

Penanganan thread pada java dilakukan melalui mekanisme memperluas

kelas thread atau dengan cara mengimplemtasikan Runnable.

1. Thread menggunakan kelas thread

Class namaKelas extends Thread {

Public void run()

{

....................

..................

}

}

Contoh :

public class FirstThread extends Thread

{

public void run()

{

for (int i=1; i<=10; i++)

{

System.out.println( "Messag from First Thread : " +i);

try

{

Thread.sleep(1000);

}

catch (InterruptedException interruptedException)

{

/*Interrupted exception will be thrown when a sleeping or waiting

* thread is interrupted.

*/

System.out.println( "First Thread is interrupted when it is sleeping"

+interruptedException);

}

}

}

}

Page 105: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Second Thread

public class SecondThread extends Thread

{

//This method will be executed when this thread is executed

public void run()

{

for (int i=1; i<=10; i++)

{

System.out.println( "Messag from Second Thread : " +i);

try

{

Thread.sleep (1000);

}

catch (InterruptedException interruptedException)

{

System.out.println( "Second Thread is interrupted when it is

sleeping" +interruptedException);

}

}

}

}

2. Thread mengimplementasikan Runnable

Page 106: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Runnable adalah sebuah interface, dengan mengimplementasikan

interface ini maka thread dapat diciptkan.

Contoh :

// PrintTask.java

// PrintTask class sleeps for a random time from 0 to 5 seconds

import java.util.Random;

class PrintTask implements Runnable

{

private int sleepTime; // random sleep time for thread

private String threadName; // name of thread

private static Random generator = new Random();

// assign name to thread

public PrintTask( String name )

{

threadName = name; // set name of thread

// pick random sleep time between 0 and 5 seconds

sleepTime = generator.nextInt( 5000 );

} // end PrintTask constructor

// method run is the code to be executed by new thread

public void run()

{

try // put thread to sleep for sleepTime amount of time

{

System.out.printf( "%s going to sleep for %d milliseconds.\n",

threadName, sleepTime );

Thread.sleep( sleepTime ); // put thread to sleep

} // end try

// if thread interrupted while sleeping, print stack trace

catch ( InterruptedException exception )

{

exception.printStackTrace();

Page 107: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

} // end catch

// print thread name

System.out.printf( "%s done sleeping\n", threadName );

} // end method run

} // end class PrintTask

Page 108: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Soal

1. Ketik kelas pengguna

public class ThreadDemo

{

public static void main(String args[])

{

//Creating an object of the first thread

FirstThread firstThread = new FirstThread();

//Creating an object of the Second thread

SecondThread secondThread = new SecondThread();

//Starting the first thread

firstThread.start();

//Starting the second thread

secondThread.start();

}

}

2. Ketik program kelas pengguna

import java.util.concurrent.Executors;

import java.util.concurrent.ExecutorService;

public class RunnableTester

{

public static void main( String[] args )

{

// create and name each runnable

PrintTask task1 = new PrintTask( "thread1" );

PrintTask task2 = new PrintTask( "thread2" );

PrintTask task3 = new PrintTask( "thread3" );

System.out.println( "Starting threads" );

// create ExecutorService to manage threads

Page 109: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

ExecutorService threadExecutor = Executors.newFixedThreadPool(

3 );

// start threads and place in runnable state

threadExecutor.execute( task1 ); // start task1

threadExecutor.execute( task2 ); // start task2

threadExecutor.execute( task3 ); // start task3

threadExecutor.shutdown(); // shutdown worker threads

System.out.println( "Threads started, main ends\n" );

}

}

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 110: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

12 87023 Tim Dosen 

 

 

Page 111: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

PROGRAM JAVA

1. Applet

Applet adalah satu fitur yang paling menarik dalam java. Applet merupakan

program yang dijalankan melalui web browser. Beberapa pokok pembahasan

dalam Applet akan dijelaskan sebagai berikut:

1. Mendefinisikan apa yang dimaksud dengan applet

2. Membuat applet sendiri

3. Mengetahui siklus yang terdapat pada applet

a. init

b. start

c. stop

d. destroy

4. Menggunakan method applet yang lain

a. paint

b. showStatus

c. Method untuk memainkan sebuah audio clip

5. Memahami tag html pada applet

Membentuk Applet

Sebuah applet adalah tipe yang spesial dari program java yang dieksekusi

melalui internet. Secara khusus berjalan pada suatu web browser seperti

Netscape Navigator, Mozilla, atau Microsoft Internet Explorer. Bagaimanapun

juga, jika dibandingkan dengan aplikasi Java yang normal, tidak diperbolehkan

mengakses applet pada komputer yang dijalankan untuk alasan keamanan.

Class Applet adalah sebuah subclass dari class Panel yang didefinisikan dalam

AWT. Cara terbaik untuk memahami bagaimana membuat applet adalah dengan

contoh. Jadi, berikut ini adalah contoh applet sederhana yang menampilkan

"Hello world!".

Contoh program Applet dengan menggunakan awt

import java.applet.*;

import java.awt.*;

/* masukkan bagian ini dalam kode html

Page 112: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

<applet code="AppletDemo" width=300 height=100>

</applet>

*/

public class AppletDemo extends Applet {

public void paint(Graphics g) {

g.drawString("Hello world!", 80, 25);

}

}

Setelah proses kompilasi, usahakan menjalankan contoh ini menggunakan

perintah java. Apa yang terjadi? Ingat bahwa applet adalah aplikasi java yang

spesial. Mereka tidak dieksekusi menggunakan perintah java. Bahkan applet

berjalan pada web browser atau menggunakan applet viewer. Untuk membuka

applet melalui sebuah web browser, secara sederhana buka dokumen HTML

dimana applet terintegrasi ke dalamnya menggunakan applet HTML tag (Perintah

mengeluarkan kode pada contoh Hello World). Cara lain untuk menjalankan

sebuah applet adalah melalui perintah appletviewer. Untuk lebih mudahnya ikuti

syntax berikut ini:

appletviewer <java filename>

appletviewer AppletDemo.java

Tag HTML pada contoh yang diberikan mengindikasikan bahwa sebuah applet

dibuat dengan lebar 300 pixel dan tinggi 100 pixel. Kemudian, method drawString

menggambar string "Hello world!" pada posisi pixel (80,25) menghitung kebawah

dari bagian kanan. Ketika membuat sebuah applet, diharuskan meng-extend

class Applet. Sebagaimana yang disebutkan sebelumnya, classnya dapat

ditemukan dalam package java.applet. Oleh karena itu, mengimport package

java.applet merupakan suatu keharusan. Juga, telah disebutkan sebelumnya

bahwa class Applet adalah subclass dari class Panel. Hal ini mengimplikasikan

bahwa beberapa method dari class applet ditemukan dalam class Panel. Untuk

mengakses method atau field dalam class Panel atau class-class induk,

diperlukan suatu aksi untuk import package java.awt .

Siklus Applet (The Applet Life Cycle)

Page 113: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

1. init()

init adalah method yang dipanggil pertama kali. Yang sebenarnya berisi

permintaan pertama ketika applet di load.

2. start()

Setelah meminta method init, method ini meminta dokumen HTML yang

ditampilkan applet setiap waktu. Eksekusi ringkasan dengan method ini

dilakukan ketika applet ditampilkan kembali.

3. stop()

Ketika web browser meninggalkan dokumen HTML applet,method ini

dipanggil untuk menginformasikan applet bahwa dia harus menghentikan

proses eksekusinya.

4. destroy()

Method ini dipanggil ketika applet perlu dihapus dari memory. Method stop

selalu dipanggil sebelum method ini diminta untuk dijalankan.

Contoh :

import java.awt.*;

import java.applet.*;

/*

<applet code="AudioApplet" width=300 height=100>

</applet>

*/

public class AudioApplet extends Applet {

AudioClip ac;

public void init() {

try {

/*audio clip tersimpan dalam direktori yang sama

seperti kode javanya*/

/* spaceMusic telah terdownload dari java.sun.com */

ac = getAudioClip(getCodeBase(), "spaceMusic.au");

ac.loop();

} catch (Exception e) {

System.out.println(e);

}

}

public void stop() {

Page 114: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

ac.stop();

}

public void paint(Graphics g) {

g.drawString("Playing space music!", 80, 25);

}

}

2. Window

GUI (Graphical User Interface), memungkinkan user untuk berinteraksi dengan

komputer secara lebih baik melalui berbagai elemen grafis,diantaranya: button,

dialog box, menu, dsb. Sejak 1994 Java berupaya untuk membuat perangkat

bergaya desktop yang dikenal sebagai AWT (Abstract Windowing Toolkit).

Kemudian pada tahun 1997, muncul JFC (Java Foundation Class) untuk

kepentingan pembuatan aplikasi Window yang merupakan pengembangan dari

AWT.JFC mempunyai kode swing yang terdapat pada package yang disediakan

pada JAVA SDK versi 1.2 ke atas (JAVA 2)JAVA menyediakan dua graphical

library.

Contoh program windowing pada java :

// TextFieldFrame.java

// Demonstrating the JTextField class.

import java.awt.FlowLayout;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.JFrame;

import javax.swing.JTextField;

import javax.swing.JPasswordField;

import javax.swing.JOptionPane;

public class TextFieldFrame extends JFrame

{

private JTextField textField1; // text field with set size

private JTextField textField2; // text field constructed with text

private JTextField textField3; // text field with text and size

private JPasswordField passwordField; // password field with text

// TextFieldFrame constructor adds JTextFields to JFrame

Page 115: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public TextFieldFrame()

{

super( "Testing JTextField and JPasswordField" );

setLayout( new FlowLayout() ); // set frame layout

// construct textfield with 10 columns

textField1 = new JTextField( 10 );

add( textField1 ); // add textField1 to JFrame

// construct textfield with default text

textField2 = new JTextField( "Enter text here" );

add( textField2 ); // add textField2 to JFrame

// construct textfield with default text and 21 columns

textField3 = new JTextField( "Uneditable text field", 21 );

textField3.setEditable( false ); // disable editing

add( textField3 ); // add textField3 to JFrame

// construct passwordfield with default text

passwordField = new JPasswordField( "Hidden text" );

add( passwordField ); // add passwordField to JFrame

// register event handlers

TextFieldHandler handler = new TextFieldHandler();

textField1.addActionListener( handler );

textField2.addActionListener( handler );

textField3.addActionListener( handler );

passwordField.addActionListener( handler );

} // end TextFieldFrame constructor

// private inner class for event handling

private class TextFieldHandler implements ActionListener

{

// process text field events

public void actionPerformed( ActionEvent event )

{

String string = ""; // declare string to display

Page 116: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

// user pressed Enter in JTextField textField1

if ( event.getSource() == textField1 )

string = String.format( "textField1: %s",

event.getActionCommand() );

// user pressed Enter in JTextField textField2

else if ( event.getSource() == textField2 )

string = String.format( "textField2: %s",

event.getActionCommand() );

// user pressed Enter in JTextField textField3

else if ( event.getSource() == textField3 )

string = String.format( "textField3: %s",

event.getActionCommand() );

// user pressed Enter in JTextField passwordField

else if ( event.getSource() == passwordField )

string = String.format( "passwordField: %s",

new String( passwordField.getPassword() ) );

// display JTextField content

JOptionPane.showMessageDialog( null, string );

} // end method actionPerformed

} // end private inner class TextFieldHandler

} // end class TextFieldFrame

 

Soal

1. Ketik program berikut

// AdditionApplet.java

// Adding two floating-point numbers.

import java.awt.Graphics; // program uses class Graphics

import javax.swing.JApplet; // program uses class JApplet

import javax.swing.JOptionPane; // program uses class JOptionPane

Page 117: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public class AdditionApplet extends JApplet

{

private double sum; // sum of values entered by user

// initialize applet by obtaining values from user

public void init ()

{

String firstNumber; // first string entered by user

String secondNumber; // second string entered by user

double number1; // first number to add

double number2; // second number to add

// obtain first number from user

firstNumber = JOptionPane.showInputDialog(

"Enter first floating-point value" );

// obtain second number from user

secondNumber = JOptionPane.showInputDialog(

"Enter second floating-point value" );

// convert numbers from type String to type double

number1 = Double.parseDouble( firstNumber );

number2 = Double.parseDouble( secondNumber );

sum = number1 + number2; // add numbers

} // end method init

Page 118: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 9 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

// draw results in a rectangle on applet's background

public void paint( Graphics g )

{

super.paint( g ); // call superclass version of method paint

// draw rectangle starting from (15, 10) that is 270

// pixels wide and 20 pixels tall

g.drawRect( 15, 10, 270, 20 );

// draw results as a String at (25, 25)

g.drawString( "The sum is " + sum, 25, 25 );

} // end method paint

} // end class AdditionApplet

2. Ketik program beriku

<html>

<applet code = "AdditionApplet.class" width = "300" height = "65">

</applet>

</html>

 

Page 119: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 10 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 120: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

13 87023 Tim Dosen 

 

 

Page 121: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 2 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

JAVA API

API (Application Programming Interface) adalah sekumpulan perintah, fungsi,

komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa

pemrograman tertentu yang dapat digunakan oleh programmer saat membangun

perangkat lunak. Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk

menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang

lebih terstruktur dan mudah dimengerti oleh programmer.

Keuntungan menggunakan API:

Probabilitas

API dapat digunakan untuk bahasa pemrograman ataupun untuk sistem

operasi mana saja asalkan paket-paket API sudah terpasang.

Lebih Mudah Dimengerti

API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti

daripada bahasa system call. Hal ini sangat penting dalam hal editing dan

pengembangan.

Mudah Dikembangkan

Dengan adanya API, memudahkan programmer untuk mengembangkan

suatu system.

Beberapa API yang tersedia di Java

• java.lang = Basic language classes

• java.util = Utilities and collections classes

• java.applet = The applet API

• javax.swing, java.awt = Swing and 2D graphics

• java.io = Input and output

Java I/O

Semua input dan output (I / O) di Jawa dicapai melalui penggunaan input

stream dan output stream. Pada modul sebelumnya input dan output stream telah

sering digunakan untuk menginputkan data dengan System.in dan kemudian

menampilkannya dengan System.out. Pada gambar dibawah terlihat bahwa

System.out menghubungakan program ( sumber ) ke layar dan input stream

System.in menghubungkan keyboard (sumber) ke program berjalan (destination).

Aliran data ini akan menjadi kunci untuk menghubungkan file ke program.

Page 122: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 3 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Java memiliki berbagai stream untuk melakukan I / O. Mereka didefinisikan dalam

paket java.io, yang harus diimpor oleh setiap program. I/O stream umumnya diatur

dalam hirarki.

Page 123: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 4 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Secara umum, file biner yang diproses oleh subclass dari InputStream dan

OutputStream. File teks yang diproses oleh subclass dari Reader dan Writer,

keduanya merupakan aliran meskipun nama-nama mereka.

1. File

Java memandang setiap file sebagai aliran byte berurutan.Setiap sistem operasi

menyediakan mekanisme untuk menentukan akhir dari sebuah file, seperti penanda

akhir-of-file atau hitungan byte total file yang tercatat dalam struktur data.

Sebuah program Java memproses aliran byte dan selanjutnya menerima indikasi

dari sistem operasi saat rangkaian byte mencapai akhir dari stream. Indikasi ahir

dari stream dapat berupa end-of-file atau nilai kembalian dari sebuah metode

dipanggil.

Java melakukan proses pengolahan file dengan menggunakan kelas dari paket

java.io. Pada paket ini terdapat pendefinisian untuk kelas seperti FileInputStream

(untuk byte berbasis input dari file), FileOutputStream (untuk byte berbasis output

ke file), FileReader (untuk karakter berbasis input dari file) dan FileWriter (untuk

karakter berbasis output ke file). File dibuka dengan cara menciptakan objek dari

kelas-kelas tersebut. Selain itu java juga memiliki kelas yang memungkinkan

programmer untuk melakukan input dan output dari objek atau variabel dari tipe

data primitif. Data akan tetap disimpan sebagai byte atau karakter.Untuk melakukan

input dan output tersebut, objek kelas ObjectInputStream dan ObjectOutputStream

dapat digunakan bersama-sama dengan aliran byte-file berbasis kelas

FileInputStream dan FileOutputStream. Objek file dapat dibuat dengan cara berikut

public File( String name )

atau

public File( File directory, String name )

Page 124: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 5 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Pada penulisan ke dua berisi path absolut berisi semua direktori, dimulai dengan

direktori rootkemuidan mengarah ke file yang dituju.

Contoh :

// FileDemonstration.java

// Demonstrating the File class.

import java.io.File;

public class FileDemonstration

{

// display information about file user specifies

public void analyzePath( String path )

{

// create File object based on user input

File name = new File( path );

if ( name.exists() )

{

System.out.printf(%s%s\n%s\n%s\n%s\n%s%s\n%s%s\n%s%s\n%s%s\n%s%s",

name.getName() " exists",

( name.isFile() ? "is a file" : "is not a file" ),

( name.isDirectory() ? "is a directory" :

"is not a directory" ),

( name.isAbsolute() ? "is absolute path" :

"is not absolute path" ), "Last modified: ",

name.lastModified(), "Length: ", name.length(),

"Path: ", name.getPath(), "Absolute path: ",

name.getAbsolutePath(), "Parent: ", name.getParent() );

if ( name.isDirectory() ) // output directory listing

{

String directory[] = name.list();

System.out.println( "\n\nDirectory contents:\n" );

for ( String directoryName : directory )

System.out.printf( "%s\n", directoryName );

}

}

else

{

System.out.printf( "%s %s", path, "does not exist." );

Page 125: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 6 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

}

}

}

// FileDemonstrationTest.java

// Testing the FileDemonstration class.

import java.util.Scanner;

public class FileDemonstrationTest

{

public static void main( String args[] )

{

Scanner input = new Scanner( System.in );

FileDemonstration application = new FileDemonstration();

System.out.print( "Enter file or directory name here: " );

application.analyzePath( input.nextLine() );

}

}

Soal Latihan

1. Praktek 1

Buat file biner dengan isian berikut ( buat dengan notepad )

Widget 14 3.35

Spoke 132 0.32

Wrap 58 1.92

Thing 28 4.17

Brace 25 1.75

Clip 409 0.12

Cog 142 2.08

dan beri nama inventory.dat

2. Praktek 2 input file

Ketik program berikut

// InventoryItem.java

// Represents an item in the inventory.

import java.text.DecimalFormat;

public class InventoryItem

{

private String name;

Page 126: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 7 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

private int units;

private float price;

private DecimalFormat fmt;

public InventoryItem (String itemName, int numUnits, float cost)

{

name = itemName;

units = numUnits;

price = cost;

fmt = new DecimalFormat ("0.##");

}

public String toString()

{

return name + ":\t" + units + " at " + price + " = " + fmt.format ((units * price));

}

}

Ketik program berikut

// Inventory.java

// Demonstrates the use of a character file input stream.

import InventoryItem;

import java.util.StringTokenizer;

import java.io.*;

public class Inventory

{

public static void main (String[] args)

{

final int MAX = 100;

InventoryItem[] items = new InventoryItem[MAX];

StringTokenizer tokenizer;

String line, name, file="inventory.dat";

int units, count = 0;

float price;

try

{

FileReader fr = new FileReader (file);

BufferedReader inFile = new BufferedReader (fr);

line = inFile.readLine();

while (line != null)

Page 127: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 8 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

{

tokenizer = new StringTokenizer (line);

name = tokenizer.nextToken();

try

{

units = Integer.parseInt (tokenizer.nextToken());

price = Float.parseFloat (tokenizer.nextToken());

items[count++] = new InventoryItem (name, units, price);

}

catch (NumberFormatException exception)

{

System.out.println ("Error in input. Line ignored:");

System.out.println (line);

}

line = inFile.readLine();

}

inFile.close();

for (int scan = 0; scan < count; scan++)

System.out.println (items[scan]);

}

catch (FileNotFoundException exception)

{

System.out.println ("The file " + file + " was not found.");

}

catch (IOException exception)

{

System.out.println (exception);

}

}

}

3. Praktek 3 output file

Ketik program berikut

// TestData.java

// Demonstrates the use of a character file output stream.

import java.io.*;

Page 128: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 9 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public class TestData

{

public static void main (String[] args) throws IOException

{

final int MAX = 10;

int value;

String file = "test.dat";

FileWriter fw = new FileWriter (file);

BufferedWriter bw = new BufferedWriter (fw);

PrintWriter outFile = new PrintWriter (bw);

for (int line=1; line <= MAX; line++)

{

for (int num=1; num <= MAX; num++)

{

value = (int) (Math.random() * 100);

outFile.print (value + " ");

}

outFile.println ();

}

outFile.close();

System.out.println ("Output file has been created: " + file);

}

}

Page 129: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

‘13 10 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com

Page 130: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

 

 

 

  MODUL PERKULIAHAN  

  Pemrograman

Berorientasi Objek   

 

 

 

             

  Fakultas  Program Studi  Tatap Muka  Kode MK  Disusun Oleh   

  FASILKOM  Teknik Informatika 

14 87023 Tim Dosen 

 

 

Page 131: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 2 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

JAVA API

Java Util

API (Application Programming Interface) adalah sekumpulan perintah, fungsi,

komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa

pemrograman tertentu yang dapat digunakan oleh programmer saat membangun

perangkat lunak. Dalam API terdapat fungsi-fungsi atau perintah-perintah untuk

menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang

lebih terstruktur dan mudah dimengerti oleh programmer.

Keuntungan menggunakan API:

Probabilitas

API dapat digunakan untuk bahasa pemrograman ataupun untuk sistem

operasi mana saja asalkan paket-paket API sudah terpasang.

Lebih Mudah Dimengerti

API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti

daripada bahasa system call. Hal ini sangat penting dalam hal editing dan

pengembangan.

Mudah Dikembangkan

Dengan adanya API, memudahkan programmer untuk mengembangkan

suatu system.

Beberapa API yang tersedia di Java

• java.lang = Basic language classes

• java.util = Utilities and collections classes

• java.applet = The applet API

• javax.swing, java.awt = Swing and 2D graphics

• java.io = Input and output

Java Util

Kelas penanggalan, waktu adalah salah satu bagian dari kelas java,util. Beberpa dari

kelas ini adalah :

java.util.Date

Java util.Date memiliki banyak konstruktor dan metode, berikut beberapa metode

dan kostruktornya.

Page 132: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 3 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public Date()

public Date(long n)

public long getTime()

public void setTime(long n)

public String toString()

java.util.Calendar

Java util.Calendar memiliki banyak metode dan konstanta. Berikut beberapa metode

dan konstantanya .

Metode :

public static Calendar getInstance()

public final Date getTime()

public void setTimeInMilis(long milis)

public final void set(int year, int month, int date)

public int get(int field)

Konstanta :

Calendar.YEAR

Calendar.MONTH (zero based)

Calendar.DAY_OF_YEAR

Calendar.HOUR

Calendar.MINUTE

Calendar.SECOND

Calendar.MILLISECOND

Contoh :

import java.util.Date;

import java.io.*;

import java.util.*;

import java.util.TimeZone.*;

public class tanggal {

public static void main(String [] adr){

Calendar c = Calendar.getInstance( ); // today

System.out.println("Year: " + c.get(Calendar.YEAR));

System.out.println("Month: " + c.get(Calendar.MONTH));

System.out.println("Day: " + c.get(Calendar.DAY_OF_MONTH));

Page 133: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 4 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

System.out.println("Day of week = " + c.get(Calendar.DAY_OF_WEEK));

System.out.println("Day of year = " + c.get(Calendar.DAY_OF_YEAR));

System.out.println("Week in Year: " + c.get(Calendar.WEEK_OF_YEAR));

System.out.println("Week in Month: " + c.get(Calendar.WEEK_OF_MONTH));

System.out.println("Day of Week in Month: "

+c.get(Calendar.DAY_OF_WEEK_IN_MONTH));

System.out.println("Hour: " + c.get(Calendar.HOUR));

System.out.println("AM or PM: " + c.get(Calendar.AM_PM));

System.out.println("Hour (24-hour clock): " +c.get(Calendar.HOUR_OF_DAY));

System.out.println("Minute: " + c.get(Calendar.MINUTE));

System.out.println("Second: " + c.get(Calendar.SECOND));

}

}

1. Kerjakanlah latihan soal dibawah ini dengan menggunakan Method Date dan

Timer pada system parker kendaraan Motor, dan kembangkan dengan

menggunakan array untuk melakukan penginputan jumlah kendaraan motor yang

masuk.

Contoh

public class TiketParkir

{

String jenis,plat,petugas,loket;

int jamMasuk,jamKeluar,menitMasuk,menitKeluar,detikMasuk,detikKeluar;

public TiketParkir(String jenis)

{

this.jenis=jenis;

}

public String displayJenis()

{

return "Tiket Parkir " +jenis;

}

}

Nama class:TiketParkirMotor.java

Page 134: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 5 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

public class TiketParkirMotor extends TiketParkir

{

final int HARGA=1000;

public TiketParkirMotor(String loket,String petugas)

{

super("Motor");

this.loket=loket;

this.petugas=petugas;

}

public long hitungHarga()

{

if (jumlahJam()==0)

return (jumlahJam()+1)*HARGA;

else if ((jumlahMenit()>0) || (jumlahDetik()>0))

return (jumlahJam()+1)*HARGA;

else

return jumlahJam()*HARGA;

}

public String toString()

{

String data;

data="\n======================\n"

+displayJenis()+"\n======================"+"\nNo. Plat : " + plat +"\nLoket : " +

loket + "\nPetugas : " + petugas +

"\nJam Masuk :

"+jamMasuk+":"+menitMasuk+":"+detikMasuk+"\nJam Keluar :

"+jamKeluar+":"+menitKeluar+":"+detikKeluar+

"\nLama : " + jumlahJam() + " jam " + jumlahMenit() +" menit "

+ jumlahDetik() +" detik " +"\nHarga :" + hitungHarga();

return data;

}

public int jumlahJam()

Page 135: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 6 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

{

int jam=0;

if (menitKeluar>=menitMasuk)

jam=jamKeluar-jamMasuk;

else

jam=jamKeluar-jamMasuk-1;

return jam;

}

public int jumlahMenit()

{

int menit=0;

if (menitKeluar>=menitMasuk)

menit = menitKeluar-menitMasuk;

else

menit=menitMasuk-menitKeluar;

if (!(detikKeluar>=detikMasuk))

menit=menit-1;

return menit;

}

public int jumlahDetik()

{

int detik=0;

if (detikKeluar>=detikMasuk)

detik = detikKeluar-detikMasuk;

else

{

if (detikMasuk==0)

detik=60-detikKeluar;

else

detik=detikMasuk-detikKeluar;

}

Page 136: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 7 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

return detik;

}

public void setJamMasuk(int jam,int menit,int detik)

{

this.jamMasuk=jam;

this.menitMasuk=menit;

this.detikMasuk=detik;

}

public void setJamKeluar(int jam,int menit,int detik)

{

this.jamKeluar=jam;

this.menitKeluar=menit;

this.detikKeluar=detik;

}

}

Nama class: TiketMotorApp.java

import java.io.*;

import java.util.*;

public class TiketMotorApp

{

public static void main(String args[]) throws IOException

{

TiketParkirMotor motor=new TiketParkirMotor("UMB","Tono");

BufferedReader streami = new BufferedReader(

new InputStreamReader(System.in));

System.out.println("Program Input Tiket Parkir Motor");

System.out.print("No. Plat : ");

motor.plat=streami.readLine();

Date jamMasuk=new Date();

motor.setJamMasuk(jamMasuk.getHours(),jamMasuk.getMinutes(),jamMasuk.getSec

onds());

Page 137: MODUL PERKULIAHAN Pemrograman Berorientasi Objekfasilkom.mercubuana.ac.id/wp-content/uploads/2017/10/Pemrograman … · game, aplikasi perusahaan ... Java Virtual Machine merupakan

 

‘13 8 Pemrogramam Berorientasi Objek Pusat Bahan Ajar dan eLearning

  Tim Dosen http://www.mercubuana.ac.id

 

System.out.print("Tekan Enter Bila Motor Sudah Keluar");

streami.readLine();

Date jamKeluar=new Date();

motor.setJamKeluar(jamKeluar.getHours(),jamKeluar.getMinutes(),jamKeluar.getSec

onds());

System.out.println(motor);

}

}

Daftar Pustaka

1. Dasar Pemrograman Java 2, Abdul Kadir,Penerbit Andi,2005

2. Esensi-esensi Bahasa Pemograman Java oleh Bambang Hariyanto, Ir., MT

3. Java™ How to Program, Deitel H.M , Prentice Hall,2004

4. http:/www.sun.com

5. http://www.java.com