Nama / NIM : Putri Isma Oktawiani / 1404505043
Jurusan / Fakultas / Perguruan Tinggi : Teknologi Informasi / Teknik / Universitas Udayana
Jurusan / Fakultas / Perguruan Tinggi : Teknologi Informasi / Teknik / Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, ST., MT.
Sebelum mengenal java, ada baiknya kita mengetahui apa itu Pemrograman Berorientasi Objek. Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Salah satu bahasa pemrograman yang mendukung OOP adalah Java.
Java adalah bahasa pemrograman yang
dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini banyak mengadopsi sintaks yang
terdapat pada C dan C++ namun dengan sintaksis model objek yang
lebih sederhana serta dukungan rutin-rutin atas bawah yang minimal. Java
merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose),
dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal
mungkin.
Kelebihan
- Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja.
- OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
- Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya.
- Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java.
- Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Kekurangan
- Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain.
- Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data.
- Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal).
Bagian
– bagian dalam Java
a. Objek
Baik dalam dunia nyata atau dalam sebuah program, sebuah objek memiliki dua karakteristik, yaitu state dan behaviour.
- State adalah keadaan dari sebuah objek, seperti mobil memiliki state warna, model, tahun pembuatan, kondisi, dll.
- Behaviour adalah kelakuan dari objek tersebut, seperti mobil dapat melaju, membelok, membunyikan klakson, dll.
Objek menyimpan statenya dalam satu atau lebih
variabel, dan mengimplementasikan behaviournya dengan metode. Dengan penjelasan
di atas, dapat disimpulkan bahwa objek adalah bagian software yang dibentuk
dengan variabel-variabel dan metode-metode yang berhubungan dengan variabel
tersebut.
b. Kelas
Kelas adalah semacam cetakan, atau template, untuk membuat objek. Ibaratkan sebuah rancangan rumah yang digunakan untuk membangun ratusan rumah. Rumah yang dibangun tersebut adalah objek dari kelas rancangan rumah. Hal ini dapat dilakukan karena semua objek rumah yang dibangun memiliki karakteristik yang sama, sehingga dapat dibuatkan semacam blueprintnya. Tetapi objek-objek yang dibangun tetap akan memiliki bentuk fisik tertentu sendiri-sendiri, seperti variabel dalam sebuah program, atau pintu sebuah objek rumah. Dengan penjelasan ini, kelas dapat kita definisikan kembali menjadi sebuah blueprint, atau prototipe, yang mendefinisikan variabel dan metode yang sama untuk semua objek sejenis.
Konsep Dasar OOP
Konsep dasar OOP (Object Oriented Programming) pada
pemrograman Java terdiri dari 3 bagian yaitu:
- Pewarisan (Inheritance)
- Enkapsulasi/pengkapsulan (encapsulation)
- Polimorfisme (polimorphism)
- Pewarisan (Inheritance)
- Enkapsulasi/pengkapsulan (encapsulation)
- Polimorfisme (polimorphism)
1. Pewarisan (Inheritance)
Pewarisan
(inheritance) adalah salah satu konsep terpenting dalam OOP dan mempunyai
dampak langsung pada cara merancang dan menulis kelas. Pewarisan adalah proses
penciptaan kelas baru dengan mewarisi karakteristik kelas yang telah ada,
ditambah karakteristik unik kelas baru itu. Pewarisan adalah mekanisme ampuh
yang memungkinkan kelas mewarisi fungsionalitas kelas yang telah ada. Untuk
menciptakan kelas baru, kita hanya perlu menspesifikasikan cara kelas itu
berbeda dari kelas yang telah ada. Pewarisan merupakan mekanisme yang ampuh dan
alami untuk mengorganisasikan program.
2. Enkapsulasi/pengkapsulan (Encapsulation)
Pemrograman
berorientasi obyek memungkinkan kelas untuk mewarisi keadaan umum
digunakan dan perilaku dari kelas lain. Dalam contoh
ini,Sepeda sekarang menjadi superclass
dari MountainBike, RoadBike, dan TandemBike. Dalam
bahasa pemrograman Java, setiap kelas diperbolehkan
untuk memiliki satu superclass langsung, dan
setiap superclass memiliki potensi untuk jumlah yang tidak
terbatas subclass:
2. Enkapsulasi/pengkapsulan (Encapsulation)
Pengkapsulan adalah proses pemaketan data bersama metode-metodenya. Manfaat utama pengkapsulan adalah menyembunyikan rincian-rincian implementasi dari pemakai. Bagian internal object mempunyai ketampakan terbatas dibanding bagian eksternal object. Penyusunan seperti ini menjaga bagian internal dari pengaksesan eksternal yang tidak diinginkan.
Pengkapsulan
(encapsulation) adalah memisahkan aspek-aspek eksternal object yang dapat diakses
dari rincian-rincian implementasi internal. Pengkapsulan dimaksudkan agar
program terhiindar dari menjadi begitu bergantung sehingga menyebabkan
perubahan kecil mempunyai akibt berturutan. Pengkapsulan meredam perubahan
menjadi ke hanya kelas object itu atau sekelompok kecil kelas object yang
terkait erat.
3. Polimorfisme (Polimorphism)
3. Polimorfisme (Polimorphism)
Polimorfisme (polymophism) atau yang disebut juga dengan kebanyak rupaan adalah kemampuan program untuk mengungkap banyak hal berbeda dengan cara yang sama. Polimorphisme adalah konsep yang sangat handal bagi pengembang perangkat lunak untuk pemisahan secara jelas diantara sub sistem yang berbeda. Dengan dimikian sebuah sistem akan bisa dimodifikasi secara mudah karena hanya dibutuhkan interface antar class. Sebagai contoh kita bisa membuat operation 'hitungGaji'. Operation 'hitungGaji' ini bisa dipakai untuk menghitung gaji semua pegawai, baik pegawai tetap, pegawai paruh waktu maupun pegawai kontrak.
Penerapan Java
Penerapan java pada kehidupan sehari - hari, misalnya:
1. m-commerce
E-commerce lebih identik dengan transaksi jual-beli barang dan jasa secara
online, online shop, dan bisnis lain yang dilakukan melalui internet. Transaksi
bisa berupa B2B (Business to Business) maupun B2C (Business to Customer).
E-Commerce tidak hanya dilakukan di dalam browser namun juga dilakukan di dalam
perangkat mobile yang biasa disebut dengan mobile commerce. Mobile Commerce
biasa menggunakan aplikasi berbasis java dalam penerapannya, bahkan browser
pada mobile juga banyak yang menggunakan platform java missal yang banyak
digunakan adalah Opera Mini.
2. Social Networking
Seperti dijelaskan di
atas, manusia merupakan makhluk social yang membutuhkan interaksi dengan sesama.
Dengan bahasa Java dimungkinkan untuk membuat aplikasi social networking yang
memenuhi kebutuhan user dalam berinteraksi melalui device (tanpa suara
tentunya).
3. Games
Penerapan Java pada
games saat ini sudah sangat luas, terutama pada ponsel dan android. Game java
dapat diunduh dimana saja dan sebagian telah mendukung grafis 3D. Dengan
dukungan J2ME pada ponsel memungkinkan game berbasis java dan mesin virtual
Dalvik pada Android
Daftar
Pustaka
- ---------------, 2012. Tutorial Java Bagian 3. http://www.master.web.id/mwmag/issue/06/content/tutorial-java-3/tutorial-java-3.html. Diakses tanggal 28 Februari 2015
- Anantakun, 2011. Penerapan Bahasa Pemrograman Java di Masa Sekarang. https://anantakun.wordpress.com/2011/03/03/penerapan-bahasa-pemrograman-java-di-masa-sekarang/. Diakses tanggal 4 Maret 2015
- Agiptek, 2013. Java. http://agiptek.com/index.php/java/. Diakses tanggal 28 Februari 2015
- Naufal, Herdi. 2013. Inheritance pada Java. http://www.twoh.co/2013/01/inheritance-pewarisan-pada-java/ . Diakses tanggal 28 Februari 2015
- Wijayanto, Agus. 2012. Konsep Program Berbasis Objek. http://aguswijayanto5r.blogspot.com/. Diakses tanggal 4 Maret 2015
- Wikipedia. 2015. Java. http://id.wikipedia.org/wiki/Java. Diakses tanggal 28 Februari 2015
- Wikipedia. 2015. Bahasa Pemrograman. http://id.wikipedia.org/wiki/Bahasa_pemrograman. Diakses tanggal 28 Februari 2015