Kamis, 19 April 2012

Inheritance dan Polymorphism pada Java

Inheritance pada Java
Salah satu bagian penting dalam object oriented programming adalah inheritance / pewarisan. Inheritance adalah proses pewarisan data dan method dari suatu class kepada class yang lain. Secara default inheritance bersifat menyeluruh sehingga semua data dan method diturunkan kepada class yang baru. Kelas yang mewariskan disebut dengan super class sedangkan class turunan disebut dengan sub class.
Keuntungan dari inheritance
• Bersifat reusable. Bayangkan bila anda perlu membuat beberapa class yang mempunyai sifat dasar dan basis class yang sama, dan pada masing masing class tersebut ditambahkan data dan method yang unique. Tanpa inheritance anda harus menyalin semua data dan method dari suatu class. Hal tersebut mungkin masih bisa dilakukan jika basis class anda definisikan sendiri. Namun bagaiman jika anda ingin menggunakan method dari class standard API. Saya rasa itu tidak mungkin.
• Kemudahan dalam me-manage kelas yang memiliki data dan method yang sama. Jika anda ingin melakukan modifikasi suatu data atau method pada semua sub class anda tidak perlu melakukan perubahan pada masing masing sub class. Modifikasi cukup dilakukan pada super class.
Dalam inheritance dikenal dengan istilah overriding. Overidding adalah kemampuan sub class untuk melakukan modifikasi data dan method dari super class. Sebelum anda melakukan overidding terhadap method atau data dari class induk, anda harus memperhatikan aksesibelitas dari data dan method dari super class.[ overidding hanya bisa dilakukan untuk data dan method yang memiliki modifier default, public dan protected.]
Note.
  • Untuk melakukan inheritance digunakan keyword extends
  • Dalam java hanya mendukung single inheritance
  • Data dengan modifier private tidak diwariskan ke sub class
  • Constructor super class tidak diwariskan ke sub class
contoh program :
import java.util.Scanner;

class ling{
Scanner in = new Scanner(System.in);
int r = in.nextInt();
    }

    class ling1 extends ling{
    double jari1;
    }
        class luas1 extends ling1{
            public void Luas(){
            jari1 = super.r;
            double luas = 3.14*jari1*jari1;
            System.out.format("Luas Lingkaran 1 = %.2f", luas);
            }
            }
        class keliling1 extends ling1{
            public void Keliling(){
            jari1 = super.r;
            double keliling = 3.14*2*jari1;
            System.out.format("Keliling Lingkaran 1 = %.2f", keliling);
            }
            }

    class ling2 extends ling{
    double jari2;
    }
        class luas2 extends ling2{
            public void Luas(){
            jari2 = super.r;
            double luas = 3.14*jari2*jari2;
            System.out.format("Luas Lingkaran 2 = %.2f", luas);
            }
            }
        class keliling2 extends ling2{
            public void Keliling(){
            jari2 = super.r;
            double keliling = 3.14*2*jari2;
            System.out.format("Keliling Lingkaran 2 = %.2f", keliling);
            }
            }

public class lingkar{
    public static void main ( String[]args ) {
    System.out.println("Masukkan jari-jari lingkaran");
    luas1 a=new luas1();
    keliling1 b=new keliling1();
    luas2 c=new luas2();
    keliling2 d=new keliling2();
  
    a.Luas();
        System.out.println();
    b.Keliling();
        System.out.println();
    c.Luas();
        System.out.println();
    d.Keliling();
    }
    }

output program : 


Polymorphism pada Java
Setelah inheritance, hal yang penting bagi object oriented programming adalah polymorphism. Secara leksikal polymorphism merupakan sesuatu yang mempunyai banyak bentuk. Dalam pemrograman polymorphism merupakan dapat diartikan suatu modul yang mempunyai nama sama, tapi memiliki behavior yang berbeda sehingga listing code implementasinya berbeda. Dan dalam bahasa yang lain adalah kemampuan dari reference untuk mengubah sifat sesuai dengan object yang dijadiin acuan. Polymorphism menyediakan menyediakan multiobject dari sub class yang berbeda diperlakukan sebagai object tunggal dari super class.

contoh program :
/*disimpan nama Hewan.java*/
class Hewan {
           
            String nama, jenis, bersuara;
     Hewan(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        this.nama=nama;
                        this.jenis=jenis;
                        this.bersuara=bersuara;
    }
    public String toString(){
            return "Ini adalah "+jenis+"\nNamanya "+nama+"\n"+bersuara;
    }
    public void bersuara(){                  
    }
}

/*disimpan nama Polimorfisme.java*/
import java.util.*;
class Polimorfisme{
    public static void main(String args[]){
        Hewan[] hewannya = {
          new Anjing("Broni", "Herder", "Hug Hug Hug......"),
          new Kucing("Kiti", "Persia", "Meong.. Meong... "),
          new Ayam("Toki", "Buras", "kuk kruyu. ")
        };
        Hewan pilihHewan;
       Random pilih = new Random();
        for (int i = 0; i<5 ; i++){
            pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
           System.out.println("\nPilihan Anda:\n" + pilihHewan);
       
           
        }
    }
}

/*disimpan nama Ayam.java*/
class Ayam extends Hewan{
   
    private String nama,jenis,bersuara;
    Ayam(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
            super(nama, jenis, bersuara);
    }
    public void ShowAyam(){
           
            System.out.println("Nama Ayam : "+nama);
            System.out.println("Jenis Ayam : "+jenis);
           
           
//sintaks menampilkan nama dan jenis hewan

    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("kuk kruyu. ");
    }

}

/*disimpan nama Kucing.java*/
class Kucing extends Hewan
{
    private String nama,jenis,bersuara;
    Kucing(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        super(nama, jenis, bersuara);
    }
    public void ShowKucing(){
           
            System.out.println("Nama Kucig : "+nama);
            System.out.println("Jenis Kucing : "+jenis);
           
//sintaks menampilkan nama dan jenis hewan
    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("Meong.. Meong... ");
    }
}

/*disimpan nama Anjing.java*/
class Anjing extends Hewan{
   
    private String nama,jenis,bersuara;
   
   
    Anjing(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        super(nama, jenis, bersuara);
    }
    public void ShowAnjing(){
           
            System.out.println("Nama Anjing : "+nama);
            System.out.println("Jenis Anjing : "+jenis);
           
           
//sintaks menampilkan nama dan jenis hewan

    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("Hug Hug Hug...... ");
    }

}

output program : 


semoga bermanfaat :)
referensi
disini 
disini

BADAL FATAN RAYHAN 51410289
Anggota Kelompok: ALDY HARYADI

Kamis, 12 April 2012

Konsep Deseign New Media

New Media adalah media yang sedang berkembang saat ini dalam konteks teknologi,informasi maupun komunikasi. Media Modern menjadi Payung Kehidupan yang menghubungkan Manusia dengan Manusia, dan Manusia dengan Teknologi pada abad ini.
Teknologi yang paling digambarkan sebagai “media baru” adalah digital, sering memiliki karakteristik yang dimanipulasi, melalui jaringan, padat, kompresibel, dan interaktif [1]. Beberapa contoh mungkin internet, website, multimedia komputer, game komputer, CD-ROM, dan DVD. Media baru tidak termasuk program-program televisi, film, majalah, buku, atau kertas publikasi berbasis -. Kecuali mereka mengandung teknologi yang memungkinkan interaktivitas digital.

Sejarah dan Perkembangan New Media
Penggunaan komputer digital telah mengubah sisa ‘tua’ media, seperti yang disarankan oleh munculnya televisi digital dan publikasi online. Bahkan bentuk media tradisional seperti mesin cetak telah diubah melalui penerapan teknologi seperti perangkat lunak manipulasi gambar seperti Adobe Photoshop dan alat-alat desktop publishing.
Andrew L. Shapiro (1999) berpendapat bahwa “munculnya baru, teknologi digital sinyal pergeseran berpotensi radikal yang mengendalikan informasi, pengalaman dan sumber daya” (Shapiro dikutip dalam Croteau dan Hoynes 2003: 322). W. Russell Neuman (1991) menunjukkan bahwa sementara “media baru” memiliki kemampuan teknis untuk menarik satu arah, kekuatan ekonomi dan sosial tarik kembali dalam arah yang berlawanan
Cendekiawan, seperti serta Lister et al. (2003) dan Friedman (2005), telah menyoroti baik implikasi potensial dan aktual positif dan negatif dari teknologi media baru, menunjukkan bahwa beberapa karya awal ke dalam studi media baru bersalah determinisme teknologi – dimana efek dari media ditentukan oleh teknologi sendiri, daripada melalui menelusuri jaringan sosial kompleks yang diatur pengembangan, pendanaan, pelaksanaan dan pembangunan masa depan teknologi apapun.
Peran new media dalam beberapa aspek
1.Globalisasi dan media baru
Munculnya media baru telah meningkatkan komunikasi antara orang di seluruh dunia dan Internet. Ini telah memungkinkan orang untuk mengekspresikan diri melalui blog, website, gambar, dan lainnya user-generated media.
2.Sebagai alat untuk perubahan sosial
New Media komponen yang mengutip aktivis sebagai alat untuk perubahan yang belum dibahas secara luas seperti itu oleh akademisi. New Media juga menemukan digunakan dengan gerakan sosial yang kurang radikal seperti Kampanye Pelukan Gratis. Menggunakan website, blog, dan video online untuk menunjukkan efektivitas dari gerakan itu sendiri.
3.Keamanan nasional
New Media juga baru-baru menjadi menarik bagi komunitas spionase global karena mudah diakses secara elektronik dalam format database dan karenanya dapat cepat diambil dan sebaliknya direkayasa oleh pemerintah nasional. Terutama yang menarik bagi komunitas spionase adalah Facebook dan Twitter, dua situs di mana orang bebas mengungkapkan informasi pribadi yang kemudian dapat disaring melalui dan diarsipkan untuk penciptaan otomatis berkas pada kedua orang bunga dan rata-rata warga negara.
4.Interaktivitas dan media baru
Interaktivitas telah menjadi istilah untuk sejumlah media baru menggunakan opsi berkembang dari penyebaran cepat dari jalur akses Internet, digitalisasi media, dan konvergensi media. Pada tahun 1984, Rice didefinisikan sebagai media baru teknologi komunikasi yang memungkinkan atau memfasilitasi pengguna-untuk-pengguna interaktivitas dan interaktifitas antara pengguna dan informasi. New Media perubahan terus menerus karena selalu diubah dan didefinisikan ulang oleh interaksi antara pengguna, teknologi baru, perubahan budaya, dll
5.Industri
Industri media saham baru hubungan terbuka dengan segmen pasar banyak di daerah seperti perangkat lunak / desain video game, televisi, radio, dan terutama film, iklan dan pemasaran, di mana industri berusaha untuk mendapatkan keuntungan dari dua arah dialog dengan konsumen terutama melalui Internet. Industri periklanan telah dikapitalisasi pada proliferasi media baru dengan agen-agen besar menjalankan multi-juta dolar iklan interaktif anak.
Pendapat tentang new media
Pada dasarnya new media adalah jembatan antara manusia dengan manusia dan manusia dengan teknologi. Tentu ini merupakan sebuah gagasan atau ide dengan maksud positif. Banyak hal positif dan efisiensi yang sangat menarik dalam beberapa aspek,baik media sosial atau alat elektronika. Misalnya: surat elektronik,lebih mudah,cepat dan lebih efektif. Menurut saya pribadi tidak ada hal atau alasan untuk menyampingkan new media,karena yang saya rasa akan banyak sekali manfaat yang kita dapat.
sumber : disini

Konsep Enkapsulasi

Seperti yg telah kita tahu, Java adalah salah satu bahasa pemrograman berbasis OOP(Object Oriented Programming) . Dalam Pemrograman Berbasis Objek ini yang terdapat beberapa konsep yaitu Objek(object), Kelas(class), Abstraksi(Abstraction), Enkapsulasi/Pengkapsulan(Encapsulation), Polimorfisme, dan Inheritas.

Disini saya akan membahas tentang Enkapsulasi/Pengkapsulan(Encapsulation)


Enkapsulasi/pengkapsulan(Encapsulation)


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.

Adapun contoh implikasi dari enkapsulasi dalam pemrograman java dapat teman-teman lihat dalam contoh LISTING program berikut ini:



import java.text.DecimalFormat;
public class DemoEnkapsulasi
{
public static void main(String[]args)
{
DecimalFormat digitPosisi=new DecimalFormat();
System.out.println("\nDemo Enkapsulasi");
HitungGaji bony=new HitungGaji();
bony.setGaji(250000000);
bony.hitungGaji();
System.out.println("Informasi Gaji Pegawai:");
System.out.println("\nBesar Gaji kotor : "+digitPosisi.format(bony.getgajiKotor()));
System.out.println("\nBesar Gaji yang dibawa pulang : "+digitPosisi.format(bony.getgajiBersih()));
}
}
class HitungGaji
{
private double gajiKotor,gajiSetelahPajak;
public double gajiBersih;
private double potongan=75000000;
public void setGaji(double gaji)
{
gajiKotor=gaji;
}
private void hitungGaji()
{
return gajiSetelahPajak=gajiKotor-(0.2/gajiKotor);
return gajiBersih=gajiSetelahPajak-potongan;
}
public double getgajiKotor()
{
return gajiKotor;
}
public double getgajiBersih()
{
return gajiBersih;
}

public double gethitungGaji()
{
return hitungGaji();
}

}

OUTPUT:
 
 
BADAL FATAN RAYHAN 51410289
Anggota Kelompok: ALDY HARYADI