Jumat, 20 April 2012

INHERITANCE




Inheritance (Pewarisan) adalah salah satu bentuk penggunaan kembali perangkat lunak dimana suatu kelas baru dibuat dari kelas yang sudah ada dengan memakai variabel data fungsi (method) dari kelas yang sudah ada tersebut serta menambah atribut/pelaku yang baru, kelas baru otomatis memiliki variabel atau fungsi yang dimiliki kelas asal.

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.


LISTING

public class nama {
   public static void main ( String[]args )  {
      nama C = new nama();
      C.info();
   }
}
class Rumah {
   private String a = " Andre Pramana ";
   public void info() {
      //System.out.println (" Dipanggil pada  =  "+this);
      System.out.println (" ");
      System.out.println (" Nama          = "+a);
   }
}
class nama extends Rumah {
   private String b    =  "  ";
   public void info(){
      System.out.println (" ");
      super.info();
      System.out.println (" rumah indah  = "+b);
   }
}


OUTPUT

POLIMORFISME


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

 LISTING

public class StudentInfo{
   public static void main(String[] args){
   StudentGrad myStudent = new StudentGrad();
   myStudent.Write(50410727, 1,"Andre","Pramana", 2010,"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;
   }
  
  

Kamis, 12 April 2012

ENKAPSULASI PADA JAVA



Enkapsulasi merupakan teknik yang membuat variabel/field class menjadi bersifat privat dan menyediakan akses ke variabel/field melalui public method. Jika field di deklarasikan sebagai private, maka field ini tidak bisa diakses oleh siapapun diluar class, dengan demikian field disembunyikan di dalam class.

Mari kita ibaratkan suatu kelas itu dienkapsulasi sebagai angkot. nah kursi-kursi di dalamnya itu bersifat private karena hanya bisa diakses orang yang berada di dalam. untuk mengakses kursi tersebut hanya bisa melalui pintu masuk yang bisa kita samakan dengan fungsi setter/getter.

Keuntungan enkapsulasi?
Kembali ke analogi angkot. Dengan enkapsulasi kita bisa memastikan bahwa hanya yang berhak yang dapat masuk dan duduk di kursi angkot. Misalnya di pintu angkot ditaroh kernet yang narikin duit sebelum masuk. Jadi gak bayar = gak bisa masuk. Balik ke java, enkapsulasi mencegah akses data secara langsung dari luar. Untuk mengakses dari luar, disediakan fungsi2 khusus untuk menanganinya (biasanya sih disebut getter/setter). Di fungsi tersebut bisa aja ditambahin aturan data yang boleh masuk yang gimana (di setter). Atau data yang keluar formatnya harus gimana (getter).



Manfaat utama teknik encapsulation adalah kita mampu memodifikasi kode tanpa merusak kode yang telah digunakan pada class lain.
Enkapsulasi memiliki manfaat sebagai berikut:
> Modularitas
    Source code dari sebuah class dapat dikelola secara independen dari source code class yang lain. Perubahan internal pada sebuah class tidak akan berpengaruh bagi class yang menggunakannya.
> Information Hiding
Penyembunyian informasi yang tidak perlu diketahui objek lain.

Contoh program :

public class enkapsulasi {

   private String nama;
   private int umur;

   public int getUmur(){
      return umur;
   }
   public String getNama(){
      return nama;
   }
   public void setUmur( int newUmur){
      umur = newUmur;
   }
   public void setNama(String newNama){
      nama = newNama;
   }
}

Jadi, method public merupakan akses ke field class yang disediakan di luar class. Method yang disediakan diatas adalah method ‘set’ dan ‘get’. Sehingga jika class lain jika ingin mengakses field harus melalui method ‘set’ dan ‘get’.

Variabel – variable yang ada  pada class Enkapsulasi dapat di akses dengan cara berikut.


public class enkapsulasi1{
   public static void main(String[] args){
      enkapsulasi enkap = new enkapsulasi();
      enkap.setNama("Andre Pramana Putra");
      enkap.setUmur(19);
      System.out.println("Nama : " + enkap.getNama());
      System.out.println("Umur : "+ enkap.getUmur());
    }
}

Selanjuntya kitacompile program, berikut langkah compilenya :

-         -   javac enkapsulasi.java
-          - javac enkapsulasi.java
  - java enkapsulasi

berikut outputnya :



Selasa, 10 April 2012

TOPOLOGI JARINGAN

Topologi jaringan komputer adalah suatu cara menghubungkan komputer yang satu dengan komputer lainnya sehingga membentuk jaringan. Dalam suatu jaringan komputer jenis topologi yang dipilih akan mempengaruhi kecepatan komunikasi. Untuk itu maka perlu dicermati kelebihan/keuntungan dan kekurangan/kerugian dari masing - masing topologi berdasarkan karakteristiknya.

Pada umumnya, ada 5 topologi yang paling sering digunakan, yaitu :
-    Topologi bus
-    Topologi ring
-    Topologi star
-    Topologi mesh
-    Topologi tree

Selain dari 5 topologi di atas, masih ada lagi beberapa jenis topologi jaringan.
Berikut penjelasannya :

A.    TOPOLOGI  BUS


Topologi bus merupakan topologi yang banyak dipergunakan pada masa penggunaan kabel sepaksi menjamur. Dengan menggunakan T-Connector (dengan terminator 50ohm pada ujung network), maka komputer atau perangkat jaringan lainnya bisa dengan mudah dihubungkan satu sama lain.

Kelebihan :
-    Topologi yang sederhana
-     Kabel yang digunakan sedikit untuk menghubungkan komputer-komputer atau peralatan-peralatan yang lain
-    Biayanya lebih murah dibandingkan dengan susunan pengkabelan yang lain.
-     Cukup mudah apabila kita ingin memperluas jaringan pada topologi bus.

Kekurangan :
-    Traffic (lalu lintas) yang padat akan sangat memperlambat bus.
-    Setiap barrel connector yang digunakan sebagai penghubung memperlemah sinyal elektrik yang dikirimkan, dan kebanyakan akan menghalangi sinyal untuk dapat diterima dengan benar.
-    Sangat sulit untuk melakukan troubleshoot pada bus.
-     Lebih lambat dibandingkan dengan topologi yang lain.
-    bila terdapat gangguan di sepanjang kabel pusat maka keseluruhan jaringan akan mengalami gangguan.

B.    TOPOLOGI  STAR  ( TOPOLOGI BINTANG )

Topologi star atau bintang adalah bentuk jaringan atau tataletak jaringan di mana semua perangkat berputar di sekitar hub pusat.

Kelebihan :
-    Pemasangan dan pengelolaan dari jaringan bentuk bintang ini sangat mudah dan sangat sederhana dari segi fungsionalitas.
-    Sangan mudah untuk memecahkan masalah, karena semua jenis jaringan computer selalu tergantung pada hub sentral,artinya bahwa setiap masalah dalam pengoperasian jaringan dioperasi dapat ditelusuri ke hub pusat.
-    Dalam topologi star, paket – paket data tidak mesti membuat jalan melalui berbagai node yang akan memastikan transfer data dengan cepat.
-    Paket data akan sampai dengan aman.
-    Sebagai node yang tidak terhubung satu sama lain, setiap masalah dalam satu node tidak mengganggu kinerja node lain dalam jaringan.
-    Menambahkan / mengganti computer baru dalam topolgi sangat mudah dan tidak mengganggu jaringan ke computer lain.

Kekurangan :
-    Sangat bergantung pada hub pusat, jika pusat mengalami gangguan maka semua computer yang terhubung juga terkena dampaknya.
-    Ukuran dari jaringan bergantung pada berapa banyak koneksi dapat dibuat padahub.
-    Jenis jaringan ini membutuhkan lebih banyak kabel.
-    Kinerja jaringan sangat bergantung pada kinerja hub.


C.    TOPOLOGI  RING ( TOPOLOGI CINCIN)

Topologi cincin adalah topologi jaringan berbentuk rangkaian titik yang masing-masing terhubung ke dua titik lainnya, sedemikian sehingga membentuk jalur melingkar membentuk cincin. Topologi ring digunakan dalam jaringan yang memiliki performance tinggi, jaringan yang membutuhkan bandwidth untuk fitur yang time-sensitive seperti video dan audio, atau ketika performance dibutuhkan saat komputer yang terhubung ke jaringan dalam jumlah yang banyak.

Kelebihan :
-    Hemat kabel
-    Tidak akan terjadi tabrakan pengiriman data (collision), karena pada satu waktu hanya satu node yang dapat mengirimkan data

Kekurangan :
-    Peka kesalahan, sehingga jika terdapat gangguan di suatu node mengakibatkan terganggunya seluruh jaringan.
-    Pengembangan jaringan lebih kaku
-    Sulit mendeteksi kerusakan
-    Dapat terjadi collision[dua paket data tercampur]
-    Diperlukan penanganan dan pengelolaan khusus bandels
-    Menambah atau mengurangi komputer akan mengacaukan jaringan.

 

D.    TOPOLOGI TREE / HIERARCHICAL ( TOPOLOGI POHON )


Topologi Pohon adalah kombinasi karakteristik antara topologi bintang dan topologi bus. Topologi ini terdiri atas kumpulan topologi bintang yang dihubungkan dalam satu topologi bus sebagai jalur tulang punggung atau backbone. Komputer-komputer dihubungkan ke hub, sedangkan hub lain di hubungkan sebagai jalur tulang punggung.

Kelebihan :
• Seperti topologi star perangkat terhubung pada pusat pengendali /HUB.
• Tetapi HUB dibagi menjadi dua,central HUB,dan secondary HUB
• Topologi tree ini memiliki keunggulan lebih mampu menjangkau jarak yang lebih jauh dengan mengaktifkan fungsi Repeater yang dimiliki oleh HUB.

Kelemahan :
• Kabel yang digunakan menjadi lebih banyak sehingga diperlukan perencanaan yang matang dalam pengaturannya , termasuk di dalamnya adalah tata letak ruangan.


E.     TOPOLOGI  EXTENDED STAR

Topologi Extended Star merupakan perkembangan lanjutan dari topologi star, karakteristiknya tidak jauh berbeda dengan topologi star. 


Kelebihan :
• Jika satu kabel sub node terputus maka sub node yang lainnya tidak terganggu, tetapi apabila central node terputus maka semua node disetiap sub node akan terputus

Kekurangan :
• Tidak dapat digunakan kabel yang “lower grade” karena hanya menghandel satu traffic node, karena untuk berkomunikasi antara satu node ke node lainnya membutuhkan beberapa kali hops.


F.    TOPOLOGI MESH

 Topologi Mesh Adalah suatu bentuk hubungan antar perangkat dimana setiap perangkat terhubung secara langsung dengan perangkat lainnya yang ada di dalam jaringan.


Kelebihan :
-     Dapat berkomunikasi langsung dengan perangkat tujuan.
-    Data dapat di kirim langsung ke computer tujuan tanpa harus melalui computer lainnya lebih cepat.Satu link di gunakan kusus untuk berkomunikasi dengan computer yang di tuju.
-    Memiliki sifat Robust, yaitu Apabila terjadi gangguan pada koneksi komputer A dengan komputer B karena rusaknya kabel koneksi (links) antara A dan B, maka gangguan tersebut tidak akan mempengaruhi koneksi komputer A dengan komputer lainnya.
-    Mudah dalam proses identifikasi permasalahan pada saat terjadi kerusakan koneksi antar komputer.

Kekurangan :
-    Setiap perangkat harus memiliki I/O port. Butuh banyak kabel sehingga butuh banyak biaya.
-    Instalasi dan konfigurasi lebih sulit karena computer yang satu dengan yang lain harus terkoneksi secara langsung.



G.    TOPOLOGI  HYBRID

Topologi hybrid adalah topologi yang tersusun dari beberapa topologi atau dapat dikatakan topologi hybrid adalah topologi gabungan dari beberapa jenis topologi yang lainnya. Karena tersusun dari beberapa topologi, maka sifat topologi ini mirip dengan topologi yang menyusunnya. Sebuah topologi hybrid memiliki semua karakterisitik dari topologi dasar yang terdapat dalam jaringan tersebut. Topologi hybrid terdiri dari kombinasi dua atau lebih dasar topologi. Jaringan pemetaan ini bertujuan untuk memanfaatkan keuntungan dari masing-masing dari topologi dasar yang digunakan di dalamnya.

Ketika topologi dasar yang berbeda terhubung ke satu sama lain, mereka tidak menampilkan karakteristik dari salah satu topologi tertentu. Ini adalah ketika itu menjadi topologi hibrida. Hal ini dipilih, jika ada lebih dari dua topologi dasar di tempat kerja dan ini harus dihubungkan satu sama lain. Ketika ada suatu topologi bintang yang terhubung topologi bintang ke yang lain, masih tetap merupakan topologi star.

Namun, ketika sebuah topologi bintang dan topologi bus terhubung satu sama lain, ini menimbulkan pembentukan topologi hibrida. Contoh lain adalah gabungan dari topologi ring dan topologi star, atau gabungan antara topologi tree dan topologi star, atau malahan gabungan ketiga-tiga topologi tersebut; star, ring dan tree. Sebenarnya penggabungan ini adalah hasil penggabungan fisik jaringan itu sendiri. Seringkali ketika topologi yang terhubung ke satu sama lain, tata letak dari topologi yang dihasilkan sulit dipahami.Namun, topologi ini bekerja tanpa banyak masalah.



Kelebihan :

-    Fleksibilitas
Topologi ini dirancang, sehingga dapat diterapkan untuk sejumlah lingkungan jaringan yang berbeda. Seringkali ini adalah kombinasi dari konfigurasi yang berbeda, karena ini bekerja sempurna untuk jumlah lalu lintas jaringan yang berbeda. Menambah koneksi periferal lain juga mudah, karena node baru ataupun periferal dapat dihubungkan kedalam topologi dan dapat dikatakan topologi lain dapat dihubungkan dengan topologi hybrid dengan mudah. Kecepatan topologinya konsisten, karena ini menggabungkan kekuatan dari masing-masing topologi dan menghilangkan kelemahannya.

-    Pengelolaan Troubleshooting yang Lebih Baik
Memiliki toleransi kesalahan yang lebih baik karena sejumlah topologi yang berbeda dihubungkan satu sama lain, dalam kasus masalah, itu menjadi agak lebih mudah untuk mengisolasi topologi yang berbeda yang dihubungkan satu sama lain dan menemukan kesalahannya dengan topologi hybrid. Ketika link tertentu dalam jaringan down, ini juga tidak menghambat kerja dari jaringan.

Masalah dengan jaringan hibrida relatif mudah untuk didiagnosa karena titik konsentrasi atau hub jaringan berdekatan dan relatif dalam ukuran kecil dibandingkan dengan ukuran total dari jaringan. Hub atau concentration point yang merupakan sumber masalah dapat dengan mudah diisolasi dari jaringan dan diperbaiki sementara sisa jaringan yang tersisa berfungsi secara normal. Pengguna pada sistem mungkin tidak menyadari jika telah terjadi masalah, yang merupakan keuntungan utama bagi bisnis yang besar dan perusahaan game yang menjalankan game online dengan jutaan pengguna.

-    Efisien
Setiap jenis topologi dapat dikombinasikan dengan yang lain tanpa membuat perubahan apapun pada topologi yang ada. Kecepatan topologi konsisten, karena menggabungkan kekuatan dari masing-masing topologi dan menghilangkan kelemahan. Hal ini juga karena itu, lebih efisien.

-    Pertumbuhan Jaringan yang Mudah
Jaringan Hybrid dibangun secara modular yang memungkinkan untuk integrasi yang mudah dari komponen perangkat keras baru seperti tambahan titik konsentrasi. Hal ini memungkinkan desainer jaringan untuk meningkatkan daya jaringan dan kapasitas penyimpanan hanya dengan menambahkan kabel hub baru kedalam sistem. Konsentrasi poin jaringan hybrid dihubungkan oleh kabel tunggal, membuat proses integrasi yang sederhana seperti memasang telepon rumah.

-    Kustomisasi
Salah satu manfaat utama dari menggabungkan topologi adalah memungkinkan kita untuk menyesuaikan cara pengaturan jaringan. Ini adalah keuntungan besar bagi banyak perusahaan yang memiliki beberapa jaringan yang bekerja sama untuk mencapai satu tujuan. Tergantung pada mesin yang tersedia, keahlian para profesional TI dan kebutuhan perusahaan, membuat kustom topologi jaringan dapat membuat kegiatan berjalan lebih lancar dan meningkatkan efisiensi pada departemen teknologi.

-    Interkonektivitas
Meskipun harus jelas, mengintegrasikan dua topologi yang berbeda memberikan kemampuan untuk mengurangi space jaringan yang terbuang. Daripada menciptakan beberapa jaringan yang terpisah dengan topologi yang terpisah, kita malah dapat membuat jaringan sendiri, yaitu topologi hybrid yang meliputi banyak jaringan. Ini akan memberikan kita komunikasi yang lebih besar dan kecepatan, tapi mungkin membutuhkan beberapa penyesuaian kreatif untuk membuat jaringan berfungsi dengan benar.

Kekurangan :
-     Biaya
Karena topologi yang berbeda datang bersama dalam satu topologi hibrid, pengelolaan topologi ini menjadi sulit. Juga sangat mahal untuk perawatannya. Biaya dari topologi ini lebih tinggi dibandingkan dengan topologi lainnya. Faktor biaya dapat dikaitkan dengan biaya hub, yang lebih tinggi, karena harus terus bekerja dalam jaringan bahkan ketika salah satu dari node turun. Biaya pemasangan kabel juga meningkat, karena banyak kabel harus dihubungkan dalam topologi ini.

-    Instalasi dan Konfigurasi
Instalasi dan konfigurasi topologi ini sulit karena terdapat topologi berbeda yang harus dihubungkan satu sama lain. Pada saat yang sama, kita juga harus memastikan bahwa tidak satupun dari mereka yang boleh gagal. Maka dari itu instalasi dan konfigurasinya sangat sulit.

-    Manajemen Jaringan yang Mahal
Jaringan hub yang dibutuhkan untuk jaringan topologi hybrid mahal, untuk membeli maupun untuk mempertahankannya. Hal ini karena hub harus mengelola beberapa jenis jaringan sekaligus dan tetap harus berfungsi, bahkan ketika satu jaringan dihapus dari sistem. Ini memerlukan tingkat pengolahan yang cerdas yang tidak dapat dicapai tanpa menghabiskan sejumlah besar uang.

-     Memerlukan Banyak Kabel
Kabel diperlukan untuk menghubungkan titik koneksi jaringan, ini juga bagian terpenting dari sistem. Untuk alasan ini, kabel berlebihan (redundansi) dan cincin cadangan sering dibutuhkan untuk mempertahankan standar kehandalan jaringan karena setiap keributan dalam koneksi kabel dapat menyebabkan seluruh jaringan runtuh. Hal ini menyebabkan dibutuhkannya banyak kabel, dan membutuhkan unsur-unsur sistem pendingin tambahan.

 

H.    TOPOLOGI  LINIER (DAISY-CHAIN)

Topologi ini merupakan peralihan dari topologi Bus dan topologi ring, di mana tiap simpul terhubung langsung ke dua simpul lain melalui segmen kabel, tetapi segmen membentuk saluran, bukan lingkaran utuh. Antar komputer seperti terhubung seri.

Kelebihan :
-    hemat kabel
-    tata letak kabel sederhana
-    mudah dikembangkan
-    tidak butuh kendali pusat
-    penambahan maupun pengurangan penamat dapat dilakukan tanpa mengganggu operasi yang berjalan.



Kekurangan :
-    deteksi dan isolasi kesalahan sangat kecil
-     kepadatan lalu lintas tinggi, keamanan data kurang terjamin
-    kecepatan akan menurun bila jumlah pemakai bertambah
-    diperlukan pengulang (repeater) untuk jarak jauh.




Sumber :
http://id.wikipedia.org/wiki/Topologi_linier
http://www.scribd.com/doc/7482755/topologi-jarkom
http://dinikirana.blogdetik.com/2012/02/13/topologi-mesh-tree-hybrid-daisy-chain/
http://id.wikipedia.org/wiki/Topologi_jaringan