Selasa, 03 Maret 2015

Tugas 1 - Pengenalan Bahasa Pemrograman Java

Nama/NIM             : Lydia Emeralda Simatupang/1404505062
Jurusan/Fakultas/Perguruan Tinggi   : Teknologi Informasi/Teknik/Udayana
Mata Kuliah           : Pemrograman Berorientasi Objek 
Nama Dosen          :  I Putu Agus Eka Pratama ,ST., MT.

1. Java

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). 
Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

Kelebihan
  •          Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  •          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. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  •          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. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  •          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. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
·         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. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
·         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). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

OOP(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,


Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Penerapan Java

A. 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. 
Jumlah pengguna ponsel pada umumnya lebih banyak ketimbang pengguna internet melalui PC/laptop sehingga pelanggan melalui ponsel lebih banyak bisa dijangkau daripada pengguna yang tidak menggunakan ponsel. Dengan banyaknya pengguna ponsel ini maka semakin besar peluang untuk pengguna ponsel melakukan transaksi jika ponsel mereka bisa bisa digunakan untuk E-Commerce, maka m-commerce semakin banyak dikembangkan karena potensinya yang cukup besar. Contoh aplikasi telah dikembangkan adalah mobile banking, aplikasi untuk transaksi saham,pelelangan barang dan lain sebagainya. Namun pengembangan aplikasi ini tidak terlepas dengan keamanan yang didukung oleh aplikasi tersebut. Oleh karena itu platform yang banyak digunakan adalah WAP dan Java ME baik melalui teknologi seperti Circuit Switched Data (CSD) atau General Packet Radio Service (GPRS).

B. Social Networking

Seperti dijelaskan di atas, manusia merupakan makhluk social yang membutuhkan interaksi dengan sesame. Dengan bahasa Java dimungkinkan untuk membuat aplikasi social networking yang memenuhi kebutuhan user dalam berinteraksi melalui device (tanpa suara tentunya). Contoh terbaru adalah kerjasama antara Facebook dan Snaptu dalam menghasilkan sebuah aplikasi berbasis java. Konsepnya akan seperti Facebook Zero. Pengguna akan bisa mempergunakan aplikasi ini secara gratis 90 hari tanpa perlu dibebani data akses. Namun karena gratis maka hanya bisa dipergunakan di operator yang bekerjasama dengan Facebook. Layanan ini baru tersedia di beberapa negara. Sayangnya operator di Indonesia belum ada yang mendukung layanan ini. Aplikasi ini mirip dengan Facebook di Snaptu sebelumnya. Bisa untuk update status, komentar, melihat foto dll. Alamat untuk mengunduh adalah di m.fb.snaptu.com/f.

C. 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.

Dengan perkembangan penerapan java saat ini java sudah menjadi salah satu bahasa pemrograman yang sangat berpengaruh dalam kehidupan IT di dunia ini.

2.  Pewarisan

Pewarisan (Inheritance) Pewarisan adalah salah satu konsep terpenting pemrograman berorientasi objek dan mempunyai dampak langsung pada merancang dan menulis class. Pewarisan adalah proses penciptaan class baru dengan mewarisi karekteristik class yang telah ada, ditambah karakteristik unik kelas yang telah ada. Subclass mewarisi semua method dan variabel dari superclassnya. Secara praktis berarti bahwa jika superclass telah mendefinisikan perilaku yang kita perlukan, maka kita tidak perlu mendefinis ulang perilaku itu, kita cukup membuat class yang merupakan subclass dari superclass yang dimaksud.

3. Class

Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari  object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. Contoh : Class Person, Vehicle, Tree, Fruit dan lain-lain.

4. Objek

Objek adalah instance dari class. Jika class secara umum merepresentasikan(template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri. membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek
Contoh : Dari class Fruit kita dapat membuat object Mangga, Pisang, Apel dan lainlain

5. Pembungkusan
Pembungkusan (Encapsulation) sering pula disebut pengkapsulan. Artinya, proses membuat paket(memaketkan) data objek bersama dengan metode-metodenya. Berdasarkan kode program, proses memisahkan aspek-aspek objek dilakukan dengan cara pembungkusan. Proses pembungkusan itu sendiri cara atau mekanisme untuk melakukan abstraksi. Dalam pemrograman tradisional, proses semacam ini sering dinamakan dengan penyembunyian informasi(information hidding). Dalam melakukan pembungkusan kode dan data didalam java, terdapat 3 tingkat akses yang perlu anda ketahui, yaitu Private, Protected, dan Public.

Daftar Pustaka
http://id.wikipedia.org/wiki/Java diakses pada tanggal 3 Maret 2015
http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek diakses pada tanggal 3 Maret 2015
http://marianus63.blogspot.com/2012/04/pembungkusan-encapsulation.html diakses pada tanggal 3 Maret 2015
https://pratamasandya.wordpress.com/2013/04/28/perbedaan-kelas-dan-objek/ diakses pada tanggal 3 Maret 2015

https://anantakun.wordpress.com/2011/03/03/penerapan-bahasa-pemrograman-java-di-masa-sekarang/ diakses pada tanggal 4 Maret 2015

Tidak ada komentar:

Posting Komentar