Pemanfaatan Simulasi dan Grafik di Bidang Industri
Kamis, 19 April 2012
Inheritance Dan Polimorfisme Pada Java
Nama : Meida
Listyaningrum (54410319)
Rekan
Kerja : Annisa Anggi
Ismandia (50410908)
Blog
Rekan Kerja : http://annisa-anggi.blogspot.com/2012/04/inheritance-dan-polimorfisme-pada-java.html
Kelas : 2IA13
Inheritance Dan Polimorfisme
Pada Java
Inheritance
Inheritance
adalah konsep pemrograman berorientasi object yang memungkinkan membuat
hubungan di mana ada class yang
mewarisi semua attribute dan method dari class lain. Class baru yang
lebih spesifik disebut subclass atau class turunan, sedangkan class yang
diturunkan disebut superclass. Salah satu
konsep dasar dari pemrograman berbasis objek pada java adalah Inheritance,
berikut ini saya akan memberikan sedikit gambaran tentang inheritance.
Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau spesifikasi dari superclass.
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau spesifikasi dari superclass.
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Dibawah ini adalah contoh program Java Inheritance :
public
class TipeRumah {
public static void main ( String[]args
) {
rumahindah C = new rumahindah();
C.info();
}
}
class
Rumah {
private String a = " Rumahmewah ";
public void info() {
//System.out.println (" Dipanggil
pada =
"+this);
System.out.println (" ");
System.out.println (" Rumah = "+a);
}
}
class
rumahindah extends Rumah {
private String b =
" tombol alarm ";
public void info(){
System.out.println (" ");
super.info();
System.out.println ("
rumahindah = "+b);
}
}
Simpan dengan nama TipeRumah.java. Dalam program di atas terdapat
dua kelas yaitu kelas Rumah dan kelas rumahindah. Kelas rumahindah mewarisi
sifat dari kelas Rumah. Dari kelas rumahindah dibuat objek bernama C yang
memanggil method info pada kelas rumahindah serta mengoverload method info pada
kelas Rumah.
Untuk menjalankannya, buka Terminal. Masuk ke direktori dimana
anda menyimpan file TipeRumah.java. ketik “javac TipeRumah.java” dan “java
TipeRumah” tanpa tanda kutip. Lalu akan terlihat outputnya sebagai berikut :
OUTPUT
Polomorfisme
Polimorfisme adalah Suatu kemampuan dari sebuah object untuk
membolehkan mengambil beberapa bentuk yang berbeda agar tidak terjadi duplikasi
object. Polimorfisme mengizinkan kelas induk untuk mendefinisikan sebuah method
general (bersifat umum) untuk semua kelas turunanya, dan selanjutnya
kelas-kelas turunan dapat memperbaharui implementasi dari method tersebut
secara lebih spesifik sesuai dengan karakteristiknya masing-masing. Polimorfisme
dimungkinkan karena adanya mekanisme ikatan dinamis (dynamic bindung). Ikatan
dinamis adalah ikatan yang terjadi pada saat program dijalankan (run-time).
Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan dinamis
hanya dapat terjadi antara suatu objek dinamis dengan metode yang dinamis juga,
dalam hal ini metode virtual (maya).
Polimorfisme adalah kemampuan untuk
memperoleh bentuk. Dua objek atau lebih dikatakan polimorfis, bila objek-objek
itu mempunyai antar muka-antarmuka identik namun mempunyai perilaku-perilaku
berbeda. Bentuk ini memungkinkan kita menganggap sekelompok objek dengan
tipe-tipe berbeda seperti dimiliki oleh suatu tipe yang sama. Polimorfisme
merupakan fitur yang terjadi karena interaksi setiap konsep pewarisan dan
dynamic binding. Contohnya pintu dan jendela memiliki perilaku yang sama yaitu
dapat dibuka dan ditutup, namun untuk menutup jendela dilakukan misalnya dari
atas ke bawah (vetikal), sedangkan pintu dari depan ke belakang (horizontal).
Contoh program
java polimorfisme :
public
class StudentInfo{
public static void main(String[] args){
StudentGrad myStudent = new StudentGrad();
myStudent.Write(4839838,
1,"Annisa","Listyaningrum", 2014,"Gunadarma
Univercity");
myStudent.Display();
}
}
class
Student {
public void Write(int ID, int Grad, String
Fname, String Lname) {
m_ID = ID;
m_Graduation = Grad;
m_First = Fname;
m_Last = Lname;
}
public void Display(){
System.out.println("Student ID:
" + m_ID);
System.out.println("Student name :
"+m_First + " " + m_Last);
System.out.println("Graduated:
" + m_Graduation);
}
private int m_ID, m_Graduation;
private String m_First;
private String m_Last;
}
class
StudentGrad extends Student {
public void Write(int ID, int Grad, String
Fname, String Lname, int yrGrad, String unSch) {
super.Write(ID, Grad, Fname, Lname);
m_UndergradSchool = unSch;
m_Grad = Grad;
YearGraduated = yrGrad;
}
public void Display(){
super.Display();
System.out.println("Graduated From:
"+ m_UndergradSchool);
System.out.println("Graduation Year
: "+ YearGraduated);
}
private Integer YearGraduated,m_Grad;
private String m_UndergradSchool;
private String m_Major;
}
OUTPUT
Sumber:
Kamis, 12 April 2012
Enkapsulasi Pada Java
Nama
: Meida Listyaningrum (54410319)
Rekan
Kerja : Annisa Anggi Ismandia (50410908)
Blog Rekan Kerja : http://annisa-anggi.blogspot.com/2012/04/enkapsulasi-pada-java.html
Kelas : 2IA13
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.
Berikut ini keuntungan dari prinsip enkapsulasi
:
- Bersifat
independen. Suatu modul yang terenkapsulasi dengan baik akan bersifat
independen dari yang lain. Sehingga dapat digunakan pada bagian manapun
dari program.
- Bersifat
transparan. Jika Anda melakukan modifikasi pada suatu modul, maka
perubahan tersebut akan dirasakan oleh semua bagian yang menggunakan modul
tersebut.
- Menghindari
dari efek yang diluar perencanaan. Modul yang terenkapsulasi dengan baik
hanya akan berinteraksi dengan bagian program melalui variable input dan
output yang telah didefinisikan sebelumnya. Sehingga dapat mengurangi
kemungkinan bug.
Contoh Program
Enkapsulasi pada Java :
Listing Program
public
class siswa
{
private int nps=0;
public String nama;
public void isinps(int n) {
if (n>=1 && n<=10)
nps=n;
else
System.out.println("Error....!!!");
}
public static void main(String[]args) {
System.out.println("Saya siswa SMA BUDI
UTOMO");
}
}
Output
Logika Pemrograman
public class
siswa
{
Class diatas mendeklarasikan sebuah class
dengan nama. Jika diperhatikan keseluruhan deklarasi class ini diawali dengan {
dan diakhir dengan }. Hal ini berarti bahwa semu yang berada didalam tanda tersebut merupakan bagain dari class ini.
private int
Dalam implementasi class umumnya data selalu dideklarasikan
sebagai private, yaitu hanya dikenal oleh objek dari kelas tersebut. Untuk
implementasi method apabila didefinisikan sebagai public berarti dapat diases
oleh kelas lain, maka apabila didefinisikan sebagai private berarti method
tersebut hanya dapat diases dari dalam kelas tersebut.
public String digunakan untuk mendefinisikan
string yang konstant ( tidak bisa berubah ).
public void isinps Baris ini mengartikan suatu metode bernama isinps.
if (n>=1 && n<=10)
nps=n;
baris diatas mengartikan jika kita memasukan angka 1-10 untuk inputan.
System.out.println("Error....!!!"); baris ini digunakan untuk mencetak output.
Selasa, 03 April 2012
PERBEDAAN PEMROGRAMAN TERSTRUKTUR dan BERORIENTASI OBJEK
Tugas PBO tentang perbedaan pemrograman terstruktur dan berorientasi objek
Nama :
Meida Listyaningrum (54410319)
Rekan Kerja :
Annisa Anggi Ismandia (50410908)
Blog Rekan Kerja :http://annisa-anggi.blogspot.com/2012/04/perbedaan-pemrograman-terstruktur-dan.html
Kelas :
2IA13
Pengertian
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.
Bahasa
pemrograman yang mendukung OOP antara lain:
- Visual Foxpro
- Java
- C++
- Pascal (bahasa pemrograman)
- Visual Basic.NET
- SIMULA
- Smalltalk
- Ruby
- Python
- PHP
- C#
- Delphi
- Eiffel
- Perl
- Adobe Flash AS 3.0
Pengertian
Pemrograman Terstruktur
Pemrograman
Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dalam bentuk program.
Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Prinsip
dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu
titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi
langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah –
langkah untuk proses berulang (Loop).
Bahasa
pemrograman yang mendukung pemrograman terstruktur:
- Cobol Turbo Prolog
- C
- Pascal
- Delphi
- Borland Delphi
Setelah
mengetahu pengertiannya?
dilihat
dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat
seperti :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
berdasarkan
penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul
dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam
hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang –
orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing
program ).
Sementara
itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2.pengubahan
program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang
dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu
database program misalnya.
3.dapat
digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan
obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang
bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit
perubahan atau tanpa perubahan pada kode tersebut.
jadi,
sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali
digunakan dalam kasus pembuatan software yang rumit dan kompleks karena
memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan
diatas.
permodelan
yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang
mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu
sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem
informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran,
serta mudah digunakan, dimengerti dan dipelihara
Perbedaan
mendasar antara OOP dan pemrograman terstruktur adalah:
Dengan
menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat
bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi
objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan
untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang
teratur untuk mengoperasikan data struktur
Untuk
tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian
tersendiri:
object
oriented menggunakan “method” sedangkan terstruktur menggunakan “function”.
Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita
mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada
OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan
nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
Persamaan
kedua pemrogaman
adalah
keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.
Mana
yang lebih baik
tidak
ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi
tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi
si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka
menggunakan yang berorientasikan pada objek maupun pemrograman yang
terstruktur.
Kapan
sama2 baik
Pemrograman
prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan
kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability.
Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan
kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun
mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak
kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti
spagethii code.
Pemrograman
berorientasikan objek dikatakan lebih baik apabila 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.
sumber : http://dendibatinova.wordpress.com/2011/10/24/perbedaan-pemrograman-berorientasi-objek-dan-terstruktur/
Langganan:
Postingan (Atom)