Jumat, 12 November 2010

PERANCANGAN PROGRAM NILAI MAHASISWA DENGAN BAHASA PEMROGRAMAN JAVA DAN EDITOR BLUE J LAUNCHER

A. KONSEP OBJECT ORIENTED PROGRAMMING (OOP)
Konsep utama OOP yaitu melakukan pemodelan objek dari kehidupan nyata ke dalam bentuk tipe data abstrak dan merupakan konsep pemrograman untuk memodelkan objek yang kita gunakan dalam kehidupan sehari-hari, sehingga membawa perubahan yang mendasar dalam konsep pemrograman terstruktur.
Setiap objek dalam kehidupan nyata dapat dipandang sebagai kelas, seperti kelas hewan, manusia, tumbuhan, sedangkan objek dari kelas tersebut seperti ayam, ikan,dll (hewan), Andi, Umar, dll (manusia), pohon singkong, tanaman hias (tumbuhan). Dengan menggunakan OOP, maka dapat mengimplementasikan objek data yang tidak hanya memiliki ciri khas (atribut), melainkan juga metode untuk memanipulasi atribut tersebut sehingga mampu mengimplementasikan objek dalam kehidupan nyata. Selain itu realisasi desain perangkat lunak dengan bahasa OOP seperti Java, dapat menyediakan fasilitas untuk mendefinisikan kelas objek.
Ciri khas pemrograman berorintasi objek adalah: Enkapsulasi, Pewarisan dan Polymorphism.
Enkapsulasi
Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem sekaligus menyederhanakan penggunaan system itu sendiri. Akses ke internal sistem diatur sedemikian rupa melalui seperangkat interface. Contoh kasus sepeda motor tadi, pada sistem pemindahan gigi transmisi, maka pengendara tidak perlu tahu detail dari bagaimana proses pemindahan gigi itu dilakukan oleh mesin, cukup tahu bagaimana menekan gigi transmisi itu. Pedal gigi transmisi yang diinjak pengendara itu merupakan interface (antar muka) pengendara dengan sistem transmisi sepeda motor.
Dalam bahasa Java segala sesuatu adalah objek (everything is object). Setiap baris program yang ditulis programmer adalah merupakan bagian dari sebuah objek. Programmer juga dapat membangun sebuah objek yang disusun oleh objek-objek kecil, dimana masing-masing objek yang menyusunnya memiliki fungsi sendiri-sendiri.
Pewarisan (Inheritance)
Sebagai manusia kita sebenarnya terbiasa untuk melihat objek yang berada disekitar kita tersusun secara hierarki berdasarkan class-nya masing-masing. Dari sini kemudian timbul suatu konsep tentang pewarisan yang merupakan suatu proses dimana suatu class diturunkan dari class lainnya sehingga ia mendapatkkan cirri atau sifat dari class tersebut. Perhatikan contoh hirarki berikut ini:

Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang dimiliki oleh binatang, demikian halnya juga Anjing, kucing dan Monyet memiliki seluruh sifat yang diturunkan dari class mamalia. Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup didefinisikan didefinisikan dalam class binatang saja. Class mamalia tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class binatang, karena sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang secara otomatis. Demikian juga dengan class anjing, kucing dan monyet, hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing. Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.

Polymorphism
Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi. Contoh yang konkrit dalam dunia nyata yaitu mobil. Mobil yang ada dipasaran terdiri atas berbagai tipe dan berbagai merk, namun semuanya memiliki interface kemudi yang sama, seperti: stir, tongkat transmisi, pedal gas dan rem. Jika seseorang dapat mengemudikan satu jenis mobil saja dari satu merk tertentu, maka orang itu akan dapat mengemudikan hamper semua jenis mobil yang ada, karena semua mobil tersebut menggunakan interface yang sama. Harus diperhatikan disini bahwa interface yang sama tidak berarti cara kerjanya juga sama. Missal pedal gas, jika ditekan maka kecepatan mobil akan meningkat, tapi bagaiman proses peningkatan kecepatan ini dapat berbeda-beda untuk setiap jenis mobil.

B. BAHASA PEMROGRAMAN JAVA
Java adalah sebuah platform teknologi pemrograman yang dikembangkan oleh Sun Microsystem. Pertama kali di-release tahun 1991 dengan nama kode Oak. Kemudian tahun 1995 nama kode Oak diganti menjadi Java. Yang memotivasi Java dibuat adalah untuk membuat sebuah bahasa pemrograman yang portable dan independent terhadap platform (platform independent). Java dapat membuat perangkat lunak yang dapat ditanamkan (embedded) pada berbagai mesin dan peralatan konsumer, seperti handphone, microwave, remote control, dan lain-lain. Hal ini kemudian Java memiliki konsep yang disebut write once run anywhere.
Untuk membangun perangkat lunak menggunakan Java maka dibutuhkan Java Development Kit (JDK). JDK release pertama tahun 1996 yaitu JDK 1.1 yang diadopsi oleh Netscape. JDK terbaru sekarang (September-tahun 2004, ketika modul ini ditulis) adalah JDK 1.4.2_3. Semua program dan dokumentasi dari JDK ini bisa di-dwonload secara gratis disitus www.sun.java.com.

Karakteristik Java
Sintaks Java merupakan pengembangan dari bahasa C/C++. Berikut adalah beberapa hal tentang pemrograman Java:
1. Bersifat protable dan platform independent. Program Java yang telah ditulis akan dapat dieksekusi di mesin apapun dan sistem operasi apapun tanpa harus mengubah sedikitpun dari program tersebut.
2. memiliki garbage collection yang dapat mendealokasikan memori secara otomatis.
3. menghilangkan sifat pewarisan berganda yang terdapat pafa C++.
4. Mengurangi pointer aritmetika. Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinakn program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan. Untuk mengurangi kemungkinan kesalahan seperti ini penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
5. memiliki array sejati.
6. mengurangi kerancuan antara pemberian nilai pada statement conditional.
Selain itu Java memiliki karakteristik:
1. Berorientasi Objek
2. Robust
3. Portable
4. Multithreading
5. Dinamis
6. Sederhana
7. Tredistribusi
8. Aman
9. Netral secar arsitektur
10. Interpreter
11. Berkinerja tinggi
12. free / bebas licence

Pengenalan Objek: Paradigma Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek (PBO)
Pemrograman Berorientasi Objek dimulai pertama kali dengan bahasa Simula yang dikembangkan di Scandinavia di pertengahan tahun 60-an. Simula utamanya digunakan untuk pemrograman simulasi, dimana adalah alamiah untuk memodelkan suatu entitas eksternal / diluar sistem perangkat lunak dan untuk memilih istilah-istilah untuk entitas-entitas tersebut dan tingkah lakunya. Simula memiliki sintak yang mirip dengan Pascal, tetapi programmer berfikir sedikit lebih berbeda ketika merancang suatu program yang akan dibuat dengan Simula. Sebuah ide dasar yang diperkenalkan dalam Simula adalah inheritance (pewarisan). Dalam Simula juga sudah dikenal objek (entitas) yang ada dalam sistem yang dimodelkan. Ada beberapa objek yang dikumpulkan kemudian disebut ”Class”, dan tugas utama dari seorang perancang program dengan Simula adalah menentukan behaviour dari class tersebut.
Setelah Simula, bahasa berikutnya yang diketahui mendukung untuk mengadopsi pemrograman berorientasi objek adalah Smalltalk yang dikembangkan tahun 70-an di Xerox PARC. Simula dan Smalltalk dirancang secara elegan, dan menawarkan sejumlah konep yang powerful yang memudahkan untuk dipelajari.
Abstraksi
Abstraksi adalah suatu cara melihat suatu objek dalam bentuk yang sederhana. Sebagai contoh jika kita melihat sepeda motor. Kita tidak perlu melihat susunan komponen mesin dan dukungan elektriknya yang cukup kompleks dan rumit, namun kita bisa melihat sepeda motor itu sebagai sebuah entitas / satuan tunggal (single entity) yang merupakan sebuah objek yang mempunyai sifat dan karakteristik tersendiri. Dengan pemikiran yang sederhana ini maka ketika kita mengendarai sepeda motor tersebut kita tidak perlu tahu betapa rumit komponen dan rangkaian yang menyusun sepeda motor. Karena untuk mengendarai sepeda motor yang perlu diketahui adalah bagaimana sepeda motor itu bisa dikendalikan.
Sehingga dengan konsep abstraksi ini kita bisa melihat suatu sistem yang kompleks yang terdiri dari subsistem-subsistem yang rumit dan banyak bisa dipandang menjadi sebuah paket sistem yang sederhana.
Pemahaman objek disekitar kita inilah yang akan mendasari pemahaman tentang pemrograman berorientasi objek. Yang paling penting adalah bagaimana mentransformasikan apa yang anda ketahui tentang suatu objek menjadi suatu program.
Elemen sebuah Objek: state dan behaviour
Setiap objek selalu memiliki state dan behaviour yang dapat mengubah state tersebut. Sebagai contoh manusia memiliki state: umur, tinggi, berat dan sebagainya. Demikian pula manusia memiliki behaviour: menua, meninggi, makan (menambah berat badan) dan sebagainya. Behaviour juga dapat tidak mengubah sama sekali state dari objek tersebut, baik secara langsung maupun tidak langsung. Secara sederhana state bisa dianggap sebagai suatu kata benda karena sifatnya yang pasif, benda tersebut tidak melakukan operasi tetapi justru menjadi target atau bahan operasi. Demikian pul behaviour bisa dianggap sebagai kata kerja, karena ia berfungsi untuk menujukkan operasi apa yang dilakukan.

C. PROGRAM NILAI MAHASISWA
"
/**
* Write a description of class Tugas1 here.
*
* @author (Erwin Rasyad, Firman Danu, Tri Wahyudi)
* @version (1.0)
*/
import javax.swing.JOptionPane;

public class Tugas1
{
// instance variables - replace the example below with your own
private int x;

/**
* Constructor for objects of class Tugas1
*/
public Tugas1()
{
// initialise instance variables
x = 0;
}

public static void main(String[] args) {
int ulang = JOptionPane.YES_OPTION;
while (ulang == JOptionPane.YES_OPTION) {
input();
ulang = JOptionPane.showConfirmDialog(null, "Anda Ingin Mengulang?");
}
}

public static void input() {
String nama = JOptionPane.showInputDialog ("Masukkan Nama Anda : ");
String nim = JOptionPane.showInputDialog ("Masukkan NIM Anda : ");
double nt = new Double(JOptionPane.showInputDialog("Selamat Datang Mas/Mbak "+nama+".\nMasukkan Nilai Tugas Anda:")).doubleValue();
double nl = new Double(JOptionPane.showInputDialog("Masukkan Nilai Lab Anda:")).doubleValue();
double nuts = new Double(JOptionPane.showInputDialog("Masukkan Nilai UTS Anda:")).doubleValue();
double nuas = new Double(JOptionPane.showInputDialog("Masukkan Nilai UAS Anda:")).doubleValue();

double jumlah = nt*0.1 + nl*0.2 + nuts*0.3 + nuas*0.4;
String warna = "";

if (jumlah<55) warna = "red";
else warna = "blue";

JOptionPane.showMessageDialog(null, "html head head body Jadi Nilai Akhir Anda Adalah: "+jumlah+
"

Nilai Konversi Anda Adalah : "+konversi(jumlah)+"
"+
predikat(jumlah)+"
bodyhtml");
}

public static String konversi(double input) {
String result = "E";
if (input>(double)79) result = "A";
else if (input>(double)68) result = "B";
else if (input>(double)55) result = "C";
else if (input>(double)40) result = "D";
return result;
}

public static String predikat(double nilai) {
String result = "Selamat Anda Lulus";
if (nilai<=55) result = "Maaf Anda Tidak Lulus";
return result;
}
}
"

Tidak ada komentar:

Posting Komentar