Tugas 1 - BAHASA PEMROGRAMAN JAVA

Nama/NIM : Chatarina Indah Kristina Dewi
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/Teknik/Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (PBO)
Dosen : I Putu Agus Eka Pratama, S.T., M.T.


Bagi anda pecinta dunia teknologi, barangkali sudah pernah mendengar atau sudah menggunakan salah satu bahasa pemrograman yang satu ini, yaitu JAVA. Beberapa orang, terutama bagi orang awam yang kurang tahu mengenai JAVA pasti akan bingung dan bertanya. JAVA merupakan salah satu bahasa pemrograman yang mendukung Pemrograman Berorientasi Objek. Sebelum kita membahas tentang JAVA, ada baiknya kita mengetahui Pemrograman Berorientasi Objek.


1. Pengertian Pemrograman Berorientasi Objek (OOP)

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.


2. 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 atas 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.


3. Bagian-bagian Dalam Java
  • Kelas : kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi objek. 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.
  • Objek : merupakan elemen dasar dari konsep pemrograman, merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun objek lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah objekt. Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh objek yang ada di dunia nyata. Setiap objek memiliki dua karakteristik yang utama yaitu, atribut dan behavior. Atribut merupakan status objek dan behavior merupakan tingkah laku dari objek tersebut.


4. Kelebihan dan Kekurangan Java
  • Kelebihan
  1. 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.
  2. 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.
  3. OOP - (Object Oriented Programming - Pemrogram Berorientasi Objek)
  4. 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.
  5. Pengumpulan sampah otomatis - memiliki fa
  6. silitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
  • Kekurangan
  1. 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.
  2. 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.
  3. 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.


5. Konsep Dasar Pemrograman Berorientasi Objek (OOP)

Konsep dasar dalam OOP meliputi 3 bagian, yaitu :
  1. Inheritance atau pewarisan adalah sebuah kelas mewarisi state dan behaviour dari kelas lain. Contohnya kelas komputer Laptop akan mewarisi state dan behaviour dari kelas komputer. Demikian juga dengan kelas komputer Netbook. Kelas komputer Laptop dan kelas komputer Netbook disebut subkelas, atau kelas anak, dari kelas komputer , yang disebut superkelas,atau kelas Induk. Kegunaan  konsep pewarisan antara lain : a) Dapat membuat superkelas yang hanya mendefinisikan behaviour namun tidak memberi implementasi dari metode-metode yang ada. b) Dapat menggunakan kembali kelas-kelas yang kita buat (sebagai superkelas) dan membuat kelas-kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas.
  2. Enkapsulasi - Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut. Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak. Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.
  3. Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama. 
  4. Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. 

6. Perkembangan Java dan Aplikasi Java menurut Bidang Komunikasi

  • Java telah sukses dikembangkan di berbagai bidang sejak awal pertama kali muncul hingga saat ini. Bahasa Java dalam perkembangannya memegang teguh filosofi sehingga diminati oleh banyak programmer di dunia. Hal yang membuat bahasa Java semakin diminati adalah ketika berbagai device mendukung java dengan J2ME, sehingga banyak praktisi yang berusaha menguasai Java untuk membuat aplikasi yang bisa berjalan di berbagai Mobile Device, PDA, dan Embedded System. Perkembangan Java saat ini hingga menjadi 4 platform utama, yaitu Java Card, Java Micro Edition, Java Standard Edition, dan Java Enterprise Edition.
    • Aplikasi Web - Hal yang umum bahwa aplikasi web saat ini sangat umum digunakan khalayak IT, tidak hanya praktisi tapi juga khalayak umum apalagi dengan adanya social networking di dunia maya melalui browser. Hal ini mungkin dikarenakan manusia merupakan makhluk social sehingga dengan adanya social networking di dunia maya membuat masyarakat umum banyak menggunakan internet sebagai media komunikasi. Java merupakan salah satu bahasa pemrograman yang mendukung aplikasi web karena memang java dibuat untuk memberikan solusi untuk aplikasi yang berbasis jaringan. Diantaranya yang mendukung aplikasi web adalah : 
      • Applet
      • Java (untuk aplikasi web berbasis server)
      • CORBA (untuk aplikasi terdistribusi)
        Selain itu Java juga memiliki SDK (Software Development Kit) yaitu  J2EE (Java 2 Enterprise Edition)



    • Java Web Services - Merupakan aplikasi web berbasis interprise yang mengunakan standart XML dan protocol tertentu dalam bertukar data dengan klien.Teknologi ini meliputi beberapa API yang dirancang untuk bekerja dengan XML seperti Jsva API for XML Based RPC (JAX-RPC), Java API for XML based messaging (JAXM),Java API for XML Processing (JAXP) dan Java API for XML Binding (JAXB). 
      • Penerapan pada Android - Sistem Android saat ini menggunakan Java didalamnya, dimana lapisan di atas kernel adalah Android runtime, termasuk mesin virtual Dalvik (Dalvik VM) dan Java Library. Dalvik VM adalah implementasi Java dari Google, dioptimalkan untuk perangkat mobile. Semua kode yang Anda tulis untuk Android akan ditulis di Java dan dijalankan dalam Virtual Machine. Dalvik berbeda dari Java tradisional dalam dua hal penting:
        • Dalvik VM  menjalankan .dex file, yang dijabarkan pada waktu kompilasi dari standar file .class dan .jar. File .dex adalah lebih kompak dan efisien daripada file .class, suatu pertimbangan penting untuk memori terbatas dan perangkat bertenaga baterai yang berbasis Android.
        • Pustaka Java core yang datang dengan Android berbeda dari pustaka Java Standard Edition (Java SE) dan Java Mobile Edition (Java ME).

7. Penerapan Java
  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. 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).
  2. 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.
  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

  1. Wikipedia. 2014. Pemrograman Berorientasi Objek. http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek. Diakses tanggal 2 Maret 2015. 
  2. Wikipedia. 2014. Java. http://id.wikipedia.org/wiki/Java. Diakses tanggal 2 Maret 2015.
  3. Sembada, Ayub. 2013. Konsep Dasar OOP (Object Oriented Programming) Pada Java. http://tugaskuayub.blogspot.com/2013/03/konsep-dasar-oop-object-oriented.html. Diakses tanggal 2 Maret 2015.
  4. Nugroho, Setyo. 2010. Konsep Enkapsulasi (Encapsulation) pada Object Oriented Programming dengan Java. https://setyonugroho09.wordpress.com/2010/02/17/konsep-enkapsulasiencapsulation-pada-object-oriented-programming-dengan-java/. Diakses tanggal 2 Maret 2015.
  5. Ananta. 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.


Nama Jurusan/Fakultas : Teknologi Informasi/Teknik
Nama Kampus               : Univeristas Udayana
Nama Dosen                  : I Putu Agus Eka Pratama, S.T., M.T.





Komentar

Postingan populer dari blog ini

Tugas 4 - UML E-Commerce

Tugas 4 - Bagian 3 - Use Case & Sequence

Tugas 3 - Bagian 2 - UML & Use Case Diagram