Kamis, 19 April 2012

Polymorphisme pada Java

Merupakan konsep pokok didalam perancangan orientasi objek. Polymorphisme berarti mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic bila objek-objek itu mempunyai antarmuka-antarmuka yang identik namun mempunyai perilaku-perilaku berbeda. Polymorphisme berupa satu nama tunggal (seperti deklarasi fungsi) dan dapat menyatakan objek-objek kelas-kelas berbeda yang terhubung dengan satu super kelas yang common diantara kelas-kelas itu. Sembarang objek ditandai dengan nama ini akan dapat menanggapi sekumpulan operasi yang common.

Polymorphisme merupakan fitur yang ada karena interaksi konsep pewarisan dan dynamic binding. Polymorphisme merupakan fitur penting dan ampuh bahasa pemrograman orientasi objek. Kepentingannya merupakan peringkat kedua setelah dukungan terhadap abstraksi orientasi objek. Fitur ini merupakan pembeda orientasi objek dari bahasa tradisional yang hanya sampai pada tipr data abstrak. Bahasa yang tidak mendukung polymorphisme belum layak disebut bahasa pemrograman orientasi objek, paling-paling bahasa disebut bahasa berbasis objek bila telah mendukung pengapsulan.

Polymorphisme memungkinkan kita mengenali dan mengeksploitasi keserupaan-keserupaan di antara kelas-kelas berbeda. Ketika kita mengenali bahwa beberapa jenis objek dapat menanggapi pesan yang sama. Kita mengenali tidak adanya pembeda antara nama pesan dan metode. Objek mengirim pesan, jika penerima mengimplementasikan metode dengan penanda sama maka objek itu akan memberi tanggapan khas. Tanggapan-tanggapan berbeda dimungkinkan, metode-metode yang berbeda dari instan kelas-kelas berbeda. Pengiriman cukup menerima pesan, tidak perlu peduli dengan kelas dari objek pertama. Berikut adalah contoh programnya :
  
Inilah kelas utamanya :

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: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
    } 
    private int m_ID, m_Graduation; 
    private String m_First; 
    private String m_Last;
}


-    Ini adalah kelas subkelas nya :

class StudentGrad extends Student {
    public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major)
   {
       super.Write(ID, Grad, Fname, Lname);
       m_UndergradSchool = unSch;
       m_Major = major;
       m_Grad = Grad;
       YearGraduated = yrGrad;
    }
    public void Display(){
        super.Display();
        System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " + YearGraduated);
    }  
    private Integer YearGraduated,m_Grad;
    private String m_UndergradSchool;
    private String m_Major;
}


-   Ini adalah pelengkapnya (info) :

class StudentInfo {
     public static void main (String args[]) {
         StudentGrad myStudent = new StudentGrad();
         myStudent.Write(10,1,"Imam","Febri", 2012,"Gunadarma University","CS");
         myStudent.Display();  
        }
}


-      -    Dan inilah outputnya : 



      Teman Sekelompok : Taufiq Ramadhan (56410837)

Pewarisan (inheritance) pada Java


Pewarisan

Pewarisan adalah salah satu konsep penting dalam pemograman berbasis objek dan mempunyai dampak langsung pada cara merancang dan menulis kelas. Pewarisan merupakan suatu proses penciptaan kelas baru dengan mewarisi karakteristik kelas yang telah ada, ditambah karakteristik unik kelas baru tersebut. Pewarisan adalah mekanisme yang ampuh dengan memungkinkan kelas mewarisi fungsionalitas kelas yang telah ada. Untuk menciptakan kelas baru, kita hanya perlu menspesifikasikan cara kelas itu berbeda dari kelas yang telah ada. Pewarisan merupakan mekanisme yang ampuh dan alami untuk mengorganisasikan program. Dalam terminologi Java, kelas yang diwarisi disebut dengan superkelas,sedangkan kelas yang mewarisi disebut subkelas. dengan demikian, subkelas adalah versi spesial dari superkelas. Subkelas mewarisi semua metode dan variabel superkelasnya. secara praktis berarti jika superkelas telah didefinisikan kelas yang kita perlukan maka kitak tidak harus mendefinisikan ulang source code dari kelas lain. Superkelas secara otomatis memberi perilakunya ke subkelas pewaris. Berikut adalah contoh programnya:

- Pertama kita buat dulu superkelasnya

public class Manusia {

String nama;
int umur;
String pekerjaan;

public Manusia(String nm, int um, String pkj) {
this.nama = nm;
this.umur = um;
this.pekerjaan = pkj;
}

public String tampilkanNama() {
return nama;
}

public int tampilkanUmur() {
return umur;
}

public String tampilkanPekerjaan() {
return pekerjaan;
}

public void olahraga() {
System.out.println("Bernyanyi");
}

public void kerja() {
System.out.println(" ");
}
}

- Kemudian buat subkelas pertama

public class Programmer extends Manusia{

public Programmer(String nm4, int um4, String pkj4) {
super(nm4, um4, pkj4);
}

@Override
public void kerja() {
System.out.println("tik tak tok");
}
}


- kemudian kita buat kelas main nya (kelas utama)

public class main {

public static void main(String args []){
Manusia orang1 = new Programmer("Imam Febriyuwanto", 20, "Programmer");
System.out.println("Nama :"+orang1.tampilkanNama());
System.out.println("Umur :"+orang1.tampilkanUmur());
System.out.println("Profesi :"+orang1.tampilkanPekerjaan());
System.out.print("Hobby: ");
orang1.olahraga();
orang1.kerja();
}
}

outputnya adalah seperti ini:



Teman Sekelompok : Taufiq Ramadhan (56410837)

Selasa, 17 April 2012

PENJELASAN JAVASCRIPT

Pengertian JavaScript
JavaScript adalah bahasa pemrograman berbasis prototipe yang berjalan disisi klien. Jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan khusus untuk di browser atau halaman web agar halaman web menjadi lebih hidup. Kalau dilihat dari suku katanya terdiri dari dua suku kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi objek, sedangkan Script adalah serangkaian instruksi program.

Secara fungsional, JavaScript digunakan untuk menyediakan akses script pada objek yang dibenamkan ( embedded ). Contoh sederhana dari penggunaan JavaScript adalah membuka halaman pop up, fungsi validasi pada form sebelum data dikirimkan ke server, merubah image kursor ketika melewati objek tertentu, dan lain lain.

Yang Harus Diperhatikan Dalam Penulisan JavaScript
Yang harus diperhatikan dalam pengelolaan pemrograman JavaScript, diantaranya JavaScript adalah “case sensitive”, yang artinya JavaScript membedakan huruf besar dan huruf kecil. Jika Anda pernah belajar bahasa pemrograman seperti Turbo C atau C++, maka sama seperti bahasa pemrograman tersebut, dimana huruf T tidak sama dengan huruf t.

Dalam bahasa pemrograman JavaScript juga, sebagai contoh fungsi perintah var tidak boleh ditulis Var dan juga tidak boleh ditulis VAR (huruf besar semua), yang benar adalah var (huruf kecil semua). Perintah lain adalah new Date tidak boleh ditulis new date (huruf kecil semua), dsb.

Kelebihan JavaScript
JavaScript bekerja pada sisi browser. maksudnya begini : untuk menampilkan halaman web, user menuliskan alamat web di address bar url. setelah itu, browser “mengambil” file html ( dengan file jJvaScript yang melekat padanya jika memang ada ) ke server yang beralamat di URL yang diketikan oleh user. Selesai file diambil, file ditampilkan pada browser. Nah, setelah file JavaScript berada pada browser, barulah script JavaScript tersebut bekerja.

Efek dari Javascript yang bekerja pada sisi browser ini, Javascript dapat merespon perintah user dengan cepat, dan membuat halaman web menjadi lebih responsif. JavaScript melakukan apa yang tidak bisa dilakukan oleh HTML, PHP, dan CSS : menangani hal – hal yang membutuhkan respons cepat terhadap aksi dari user.

Contoh : fungsi validasi pada form. ketika anda mengisi sebuah form yang divalidasi menggunakan JavaScript, anda mengetikkan data lalu mengetik submit, sebelum data dikirimkan ke server, data akan “dicek” terlebih dahulu pada browser menggunakan fungsi JavaScript yang ada pada halaman web. sehingga, jika memang data yang anda isikan tidak valid, daripada membuang – buang waktu dengan mengirimkan data ke server baru di validasi di server dan lalu server mengirimkan respons balik mengenai ketidak validan input data anda, lebih baik cek validasi data form dilakukan secara lokal di browser menggunakan fungsi JavaScript.

Lebih Cepat dan Lebih Hemat
Implementasi terpopuler saat ini dari pemrograman JavaScript adalah teknik AJAX. (Asynchronous JavaScript and XMLHTTP ). teknik ini sering digunakan oleh aplikasi berbasis web seperti Gmail, Google Reader, dan lain lain. Teknik yang membuat pertukaran data antara server dan browser terjadi di belakang layar sehingga interaksi antara user dan aplikasi web semakin responsif. Post tersendiri untuk membahas hal ini akan kita siapkan.

Menggunakan Javascript

Sekarang ada ribuan menggunakan untuk bahasa pemrograman Javascript, termasuk item halaman web dekoratif seperti “mengupas” tab di sudut halaman web, mouseover, kejenakaan dirancang untuk membuatnya tampak seolah-olah halaman sebenarnya balik dalam sebuah buku, pop -up iklan, panah yang berbeda dan hewan dan grafis statis lainnya yang muncul untuk bergerak ketika kursor bergerak, gerakan api, awan, bintang berkilauan, dan air berkilauan, script yang membuat salju tampak jatuh, dan glitter tampak berkilau, serta sebagai efek lainnya. Lebih dari sekedar prettying atas halaman, namun ada menggunakan lebih penting untuk Javascript, seperti “berjalan” real-time jam, stasiun cuaca, kalender, kalkulator online, dan pengembangan widget dan script lain yang menangani hal-hal seperti belanja online gerobak untuk e-commerce.

Asosiasi Produsen Komputer Eropa (ECMA)

Netscape melewati pengkodean bahasa mereka untuk JavaScript ke ECMA untuk standarisasi. ECMA menghasilkan standar skrip, mengadaptasi inti dari sintaks perintah JavaScript. Ruang lingkup keseluruhan dan standar ECMA termasuk mengembangkan sintaks dan semantik untuk platform silang dan netral vendor yang bahasa scripting, dan untuk mengevaluasi dan mempertimbangkan proposal untuk teknologi pelengkap atau tambahan untuk meningkatkan bahasa-bahasa dan kode.

Javascript Babak IV

Pada tahun 1997, Netscape dikembangkan dan diperkenalkan bahasa canggih yang disebut DHTML. DHTML menggunakan kombinasi tag HTML milik dan bagian dari coding CSS style sheet baru untuk memberikan programmer kemampuan untuk mengubah gaya untuk komponen dokumen HTML. Pengkodean ini adalah khusus untuk posisi dan visibilitas elemen pada halaman. Pengkodean tidak diadaptasi dengan sangat cepat karena kesetiaan asli, namun sekarang dengan cepat menangkap sebagai standar untuk bahasa pemrograman interaktif.

Elemen Desain di Javascript Pemrograman

Dalam berurusan dengan kode Javascript, elemen banyak dan beragam yang dikategorikan ke dalam sisi-klien, sisi server, dan komponen inti; jendela dan dokumen kontrol; acara dan event handler, penciptaan objek baru dan kelas objek, integrasi teknologi, seperti penggunaan applet, HTML, Java dan Audio Live; keamanan; operand dan variabel, dan bekerja dengan dan mengembangkan bentuk dan frame.

Sumber :
http://kutubuku.web.id/2549/sejarah-javascript
http://id.wikipedia.org/wiki/JavaScript
http://gugling.com/2009/08/24/pengertian-javascript-dan-sejarahnya/

Sejarah Javascript

JavaScript pertama kali dikembangkan oleh Brendan Eich dari Netscape dibawah nama Mocha, yang nantinya namanya diganti menjadi LiveScript, dan akhirnya menjadi JavaScript.

Navigator sebelumnya telah mendukung Java untuk lebih bisa dimanfaatkan para programmer yang non-Java. Maka dikembangkanlah bahasa pemrograman bernama LiveScript untuk mengakomodasi hal tersebut. Bahasa pemrograman inilah yang akhirnya berkembang dan diberi nama JavaScript, walaupun tidak ada hubungan bahasa antara Java dengan JavaScript.

JavaScript bisa digunakan untuk banyak tujuan, misalnya untuk membuat efek rollover baik di gambar maupun teks, dan yang penting juga adalah untuk membuat AJAX. JavaScript adalah bahasa yang digunakan untuk AJAX.

JavaScript pertama kali diperkenalkan oleh Netscape pada tahun 1995. Pada awalnya bahasa yang sekarang disebut JavaScript ini dulunya dinamai “LiveScript”” yang berfungsi sebagai bahasa sederhana untuk browser Netscape Navigator 2 yang sangat populer pada saat itu. Kemudian sejalan dengan sedang giatnya kerjasama antara Netscape dan Sun (pengembang bahasa pemrograman “Java”) pada masa itu, maka Netscape memberikan nama “JavaScript” kepada bahasa tersebut pada tanggal 4 desember 1995.

Pada saat yang bersamaan Microsoft sendiri mencoba untuk mengadaptasikan teknologi ini yang mereka sebut sebagai “Jscript” di browser milik mereka yaitu Internet Explorer 3. JavaScript sendiri merupakan modifikasi dari bahasa pemrograman C++ dengan pola penulisan yang lebih sederhana dari bahasa pemrograman C++.


Lalu mengapa sekarang berubah nama menjadi Javascript?

Pada masa itu bahasa ini banyak di kritik karena kurang aman, pengembangannya yang terkesan buru buru dan tidak ada pesan kesalahan yang di tampilkan setiap kali kita membuatkesalahan pada saat menyusun suatu program. Kemudian Netscape melakukan kerjasama dengan Sun (pengembang bahasa pemrograman “Java” ) pada masa itu, maka Netscape memberikan nama “JavaScript” kepada bahasa tersebut pada tanggal 4 desember 1995.

Pada saat itu pula Microsoft melakukan adaptasi dengan teknologi ini yang diberi nama "Jscript"pada browser Internet Explorer 3.

Javascript adalah bahasa yang berbentuk kumpulan skrip yang pada fungsinya berjalan pada suatu dokumen HTML dan bergantung kepada browser,sepanjang sejarah internet bahasa ini adalah bahasa skrip pertama untuk web. Bahasa ini adalah bahasa pemrograman untuk memberikan kemampuan tambahan terhadap bahasa HTML dengan mengijinkan pengeksekusian perintah perintah di sisi user, yang artinya di sisi browser bukan di sisi server web.

Sumber :

Kamis, 12 April 2012

Enkapsulasi dalam Java

Pada tulisan kali ini saya akan menjelaskan tentang enkapsulasi(pengkapsulan) dalam bahasa pemograman berbasis objek. bahasa pemograman yang saya gunakan adalah bahasa java yang sangat mengimplementasikan OOP(Object Oriented Programming). langsung saja kita mulai.
Enkapsulasi merupakan proses pemaketan data bersama metode-metodenya. Manfaat utama dari enkapsulasi ini adalah meyembunyikan rincian-rincian implementasi dari pemakai. Bagian internal objek mempunyai ketampakan terbatas dibanding bagian eksternal objek. Penyusunan seperti ini menjaga bagian internal dari pengaksesan eksternal yang tidak diinginkan.
Bagian eksternal objek sering disebut antarmuka objek karena berlaku sebagai antarmuka objek terhadap objek lain. Karena objek lain harus berkomunikasi dengan objek itu hanya melalui antarmuka maka bagian internal objek dapat dilindungi dari gangguan luar. Karena program luar tidak dapat mengakses implementasi internal objek, implementasi internal dapat berubah tanpa mempengaruhi bagian-bagian program yang lain.
Enkapsulasi menyediakan duan manfaat utama bagi pemograman, yaitu:
  • Penyembunyian Informasi: Penyembunyian implementasi (implementation hiding) mengacu perlindungan implementasi internal objek. Objek disusun dari antarmuka public dan bagian private yang merupakan kombinasi data dan metode internal. Manfaat utama adalah bagian internal dapat berubah tanpa mempengaruhi bagian-bagian program yang lain.
  • Modularitas (modularity) : Objek dapat dikelola secara independen. Karena kode sumber bagian internal objek dikelola secara terpisah dari antar muka, maka kita bebas melakukan modifikasi yang tidak menyebabkan masalah pada bagian-bagian lain dari sistem. Manfaat ini mempermudah mendistribusikan objek-objek di sistem.
Enkapsulasi pada Java dilakukan dengan pembentukan kelas-kelas, yaitu keyword class. Sedangkan penyembunyian informasi dilakukan dengan pengendalian terhadap pengaksesan pembentuk kelas dengan keyword-keyword untuk kendali pengaksesan default, private, protected, dan public. Penyembunyian informasi dilakukan dengan menerapkan kendali pengaksesan private atau protected pada elemen data.
Berikut ini kita akan coba untuk lebih memahami penggunaan konsep enkapsulasi dengan mengimplementasikan UML berikut :



UML Vehicle class with no hiding
Vehicle class berisi atribut yang mempunyai modifier public(+), sehingga TestVehicle1 sebagai test program mempunyai akses langsung terhadap atribut pada Vehicle.

Listing  Vehicle.java


public class Vehicle{

public double load, maxLoad;




public Vehicle (double maxLoad){

maxLoad = maxLoad + load;




public double getLoad(){

return load;


}

public double getMaxLoad(){


return maxLoad;

}


}


 
Listing Test – TestVehicle.java

public class TestVehicle{

public static void main(String[] args){

System.out.println("Creating a vehicle with a 10,000kg maximum load.");

Vehicle vehicle = new Vehicle(10000.0);


System.out.println("Add box #1 (500kg)");

vehicle.load = vehicle.load + 500.0;

System.out.println("Add box #2 (250kg)");

vehicle.load = vehicle.load + 250.0;


System.out.println("Add box #3 (5000kg)");

vehicle.load = vehicle.load + 5000.0;


System.out.println("Add box #4 (4000kg)");

vehicle.load = vehicle.load + 4000.0;


System.out.println("Add box #4 (300kg)");

vehicle.load = vehicle.load + 300.0;


System.out.println("Vehicle load is = " +vehicle.getLoad() + "kg");

}


}

Compile Vehicle.java dan TestVehicle.java lalu jalankan TestVehicle.java. Seharusnya akan keluar tampilan sebagai berikut :


Analisa program

Kita lihat bahwa pada output program tersebut kita menginisialisasi batas maximum load 10,000 kg,
Vehicle vehicle = new Vehicle(10000.0);
akan tetapi dengan memberikan akses kontrol / modifier public pada atribut class Vehicle
public double load, maxLoad, kita dapat mengakses langsung atribut class yang seharusnya perlu diberi pengecekan agar tidak sampai melebihi maxload
vehicle.load = vehicle.load + 500.0;
maka dapat mengakibatkan masalah(trouble) yakni batas maximum load yang kita buat tidak berpengaruh apapun sehingga terdapat penambahan boxes yang melebihi kapasitas(10050.0kg) dikaernakan tidak ada pengecekan kapasitas maksismum.


UML Vehicle class with hiding
Vehicle class berisi atribut yang mempunyai modi_er public, sehingga TestVehicle1 sebagai test program mempunyai akses langsung terhadap atribut pada Vehicle.

Listing program – Vehicle.java


public class Vehicle1{

private double load, maxLoad;


public Vehicle1 (double max){

this.maxLoad = max;


}

public double getLoad(){


return this.load;

}


public double getMaxLoad(){

return this.maxLoad;


}

public boolean addBox(double weight){


double temp = 0.0D;

temp = this.load + weight;


if(temp <= maxLoad){

this.load = this.load + weight;


return true;

}


else{

return false;


}

}

Listing program – TestVehicle.java


public class TestVehicle1{

public static void main(String[] args){

Senin, 09 April 2012

Macam-Macam Topologi


TOPOLOGI BINTANG
Topologi bintang merupakan bentuk topologi jaringan yang berupa konvergensi dari node tengah ke setiap node atau pengguna. Topologi jaringan bintang termasuk topologi jaringan dengan biaya menengah.
KELEBIHAN
  • Kerusakan pada satu saluran hanya akan memengaruhi jaringan pada saluran tersebut dan station yang terpaut.
  • Tingkat keamanan termasuk tinggi.
  • Tahan terhadap lalu lintas jaringan yang sibuk.
  • Penambahan dan pengurangan station dapat dilakukan dengan mudah.
  • akses Kontrol terpusat.
  • Kemudahan deteksi dan isolasi kesalahan/kerusakan pengelolaan jaringan.
  • Paling fleksibel.
KEKURANGAN
  • Jika node tengah mengalami kerusakan, maka seluruh rangkaian akan berhenti.
  • Boros dalam pemakaian kabel.
  • HUB jadi elemen kritis karena kontrol terpusat.
  • terlalu penting hub sehinga ketika terdapat masalah dengan hub maka jaringan tersebut akan down
  • jaringan tergantung pada terminal pusat
  • jika menggunakan switch dan lalu lintas data padat dapat menyebabkan jaringan lambat.
  • biaya jaringan lebih mahal dari pada bus atau ring
  • lebih gampang digunakan

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. Pada topologi cincin, komunikasi data dapat terganggu jika satu titik mengalami gangguan. Jaringan FDDI mengantisipasi kelemahan ini dengan mengirim data searah jarum jam dan berlawanan dengan arah jarum jam secara bersamaan. 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

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.
Kesulitan utama dari penggunaan kabel sepaksi adalah sulit untuk mengukur apakah kabel sepaksi yang dipergunakan benar-benar matching atau tidak. Karena kalau tidak sungguh-sungguh diukur secara benar akan merusak NIC (network interface card) yang dipergunakan dan kinerja jaringan menjadi terhambat, tidak mencapai kemampuan maksimalnya. Topologi ini juga sering digunakan pada jaringan dengan basis fiber optic (yang kemudian digabungkan dengan topologi star untuk menghubungkan dengan client atau node.).
Pada topologi bus dua ujung jaringan harus diakhiri dengan sebuah terminator. Barel connector dapat digunakan untuk memperluasnya. Jaringan hanya terdiri dari satu saluran kabel yang menggunakan kabel BNC. Komputer yang ingin terhubung ke jaringan dapat mengkaitkan dirinya dengan men tap Ethernetnya sepanjang kabel.
Instalasi jaringan Bus sangat sederhana, murah dan maksimal terdiri atas 5-7 komputer. Kesulitan yang sering dihadapi adalah kemungkinan terjadinya tabrakan data karena mekanisme jaringan relatif sederhana dan jika salah satu node putus maka akan mengganggu kinerja dan trafik seluruh jaringan.
KELEBIHAN
Keunggulan topologi Bus adalah pengembangan jaringan atau penambahan workstation baru dapat dilakukan dengan mudah tanpa mengganggu workstation lain.
KEKURANGAN
Kelemahan dari topologi ini adalah bila terdapat gangguan di sepanjang kabel pusat maka keseluruhan jaringan akan mengalami gangguan.


CIRI-CIRI
  1. Teknologi lama, dihubungkan dengan satu kabel dalam satu baris
  2. Tidak membutuhkan peralatan aktif untuk menghubungkan terminal/komputer
  3. Sangat berpengaruh pada unjuk kerja komunikasi antar komputer, karena hanya bisa digunakan oleh satu komputer
  4. Kabel “cut” dan digunakan konektor BNC tipe T
  5. Diujung kabel dipasang 50 ohm konektor
  6. Jika kabel putus maka komputer lain tidak dapat berkomunikasi dengan lain
  7. Susah melakukan pelacakan masalah
  8. Discontinue Support.

TOPOLOGI JALA
Topologi jala atau Topologi mesh adalah suatu bentuk hubungan antar perangkat dimana setiap perangkat terhubung secara langsung ke perangkat lainnya yang ada di dalam jaringan. Akibatnya, dalam topologi mesh setiap perangkat dapat berkomunikasi langsung dengan perangkat yang dituju (dedicated links).
Dengan demikian maksimal banyaknya koneksi antar perangkat pada jaringan bertopologi mesh ini dapat dihitung yaitu sebanyak n(n-1)/2. Selain itu karena setiap perangkat dapat terhubung dengan perangkat lainnya yang ada di dalam jaringan maka setiap perangkat harus memiliki sebanyak n-1 Port Input/Output (I/O ports).
Berdasarkan pemahaman di atas, dapat dicontohkan bahwa apabila sebanyak 5 (lima) komputer akan dihubungkan dalam bentuk topologi mesh maka agar seluruh koneksi antar komputer dapat berfungsi optimal, diperlukan kabel koneksi sebanyak 5(5-1)/2 = 10 kabel koneksi, dan masing-masing komputer harus memiliki port I/O sebanyak 5-1 = 4 port (lihat gambar).
KELEBIHAN
  • Hubungan dedicated links menjamin data langsung dikirimkan ke komputer tujuan tanpa harus melalui komputer lainnya sehingga dapat lebih cepat karena satu link digunakan khusus untuk berkomunikasi dengan komputer yang dituju saja (tidak digunakan secara beramai-ramai/sharing).
  • 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 memengaruhi koneksi komputer A dengan komputer lainnya.
  • Privacy dan security pada topologi mesh lebih terjamin, karena komunikasi yang terjadi antara dua komputer tidak akan dapat diakses oleh komputer lainnya.
  • Memudahkan proses identifikasi permasalahan pada saat terjadi kerusakan koneksi antar komputer.

KEKURANGAN
  • Membutuhkan banyak kabel dan Port I/O. semakin banyak komputer di dalam topologi mesh maka diperlukan semakin banyak kabel links dan port I/O (lihat rumus penghitungan kebutuhan kabel dan Port).
  • Hal tersebut sekaligus juga mengindikasikan bahwa topologi jenis ini * Karena setiap komputer harus terkoneksi secara langsung dengan komputer lainnya maka instalasi dan konfigurasi menjadi lebih sulit.
  • Banyaknya kabel yang digunakan juga mengisyaratkan perlunya space yang memungkinkan di dalam ruangan tempat komputer-komputer tersebut berada.

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.
Topologi jaringan ini disebut juga sebagai topologi jaringan bertingkat. Topologi ini biasanya digunakan untuk interkoneksi antar sentral dengan hirarki yang berbeda. Untuk hirarki yang lebih rendah digambarkan pada lokasi yang rendah dan semakin keatas mempunyai hirarki semakin tinggi. Topologi jaringan jenis ini cocok digunakan pada sistem jaringan komputer.
Pada jaringan pohon, terdapat beberapa tingkatan simpul atau node. Pusat atau simpul yang lebih tinggi tingkatannya, dapat mengatur simpul lain yang lebih rendah tingkatannya. Data yang dikirim perlu melalui simpul pusat terlebih dahulu. Misalnya untuk bergerak dari komputer dengan node-3 kekomputer node-7 seperti halnya pada gambar, data yang ada harus melewati node-3, 5 dan node-6 sebelum berakhir pada node-7.
KELEBIHAN
Keungguluan jaringan pohon seperti ini adalah, dapat terbentuknya suatu kelompok yang dibutuhkan pada setiap saat. Sebagai contoh, perusahaan dapat membentuk kelompok yang terdiri atas terminal pembukuan, serta pada kelompok lain dibentuk untuk terminal penjualan.
KEKURANGAN
Adapun kelemahannya adalah, apabila simpul yang lebih tinggi kemudian tidak berfungsi, maka kelompok lainnya yang berada dibawahnya akhirnya juga menjadi tidak efektif. Cara kerja jaringan pohon ini relatif menjadi lambat.

TOPOLOGI RUNTUT
Jaringan komputer dengan topologi runtut (linear topology) biasa disebut dengan topologi bus beruntut, tata letak ini termasuk tata letak umum. Satu kabel utama menghubungkan tiap titik sambungan (komputer) yang dihubungkan dengan penyambung yang disebut dengan Penyambung-T dan pada ujungnya harus diakhiri dengan sebuah penamat (terminator). Penyambung yang digunakan berjenis BNC (British Naval Connector: Penyambung Bahari Britania), sebenarnya BNC adalah nama penyambung bukan nama kabelnya, kabel yang digunakan adalah RG 58 (Kabel Sepaksi Thinnet). Pemasangan dari topologi bus beruntut ini sangat sederhana dan murah tetapi sebanyaknya hanya dapat terdiri dari 5-7 komputer.
KELEBIHAN
Keuntungan, hemat kabel, tata letak kabel sederhana, mudah dikembangkan, tidak butuh kendali pusat, dan penambahan maupun pengurangan penamat dapat dilakukan tanpa mengganggu operasi yang berjalan.
KEKURANGAN
Kerugian, deteksi dan isolasi kesalahan sangat kecil, kepadatan lalu lintas tinggi, keamanan data kurang terjamin, kecepatan akan menurun bila jumlah pemakai bertambah, dan diperlukan pengulang (repeater) untuk jarak jauh.