Posts Subscribe to This BlogComments

Follow Us

New Articles

1 2 3 4 5

Rabu, 10 November 2010

Menyebut Angka Terbalik

Menyebut Angka Terbalik

Kita mulai memasuki salah satu bagian favorit saya yaitu “mengkonversi” bilangan menjadi kalimat / kata – kata J. Kita memasuki dulu bagian yang mudahnya, menyebut angka dengan terbalik. Kali ini, kita meminta user untuk mengurangi  bilangan apa pun (yang lebih kecil dari 10.000) dengan 10.000. Misalnya, user memasukkan angka 3456, maka 10.000 – 3.456 tentu saja hasilnya = 6.544, tapi kita mengkonversinya dengan menjadikannya sebagai kalimat tapi dibaca terbalik. Jadi, tampilannya adalah: empat empat lima enam J.
Kodenya adalah:

#include <iostream>
using namespace std;

void sntce (int n) {
      switch (n) {
      case 1: cout << "satu "; break;
      case 2: cout << "dua "; break;
      case 3: cout << "tiga "; break;
      case 4: cout << "empat "; break;
      case 5: cout << "lima "; break;
      case 6: cout << "enam "; break;
      case 7: cout << "tujuh "; break;
      case 8: cout << "delapan "; break;
      case 9: cout << "sembilan "; break;
      case 0: cout << "nol "; break;
      default: break;
      }
}

void reverse (int n) {
      int zero, mod;
      zero = n / 10;
      mod = n % 10;

      if (zero == 0 && mod == 0)
            exit;

      else {
            sntce (mod);
            reverse (zero);
      }
}


void main () {
      int in, reduce;
      const int stay = 10000;

      do {
            cout << "";
            cin >> in;
      } while (in > 10000 || in < 1);

      reduce = stay - in;
      reverse (reduce);
      cout << "\n";
}
                 
Logika:
Dari input yang dimasukan oleh user, dikurangi dengan 10.000 lalu hasilnya mulai dari angka paling terakhir sampai dengan angka pertama dikonversi ke dalam bentuk angka. Cara untuk “mengambil” angka terakhir adalah dengan mengambil modulo / sisa bagi dari hasil pengurangan tersebut dibagi 10. Misalnya, hasilnya 6544 dibagi 10 tentu saja sisanya adalah 4. Kemudian hasil bulat dari 6544 dibagi 10 yang adalah 654 akan di bagi lagi dengan 10 dan akan menghasilkan angka 4. Dan hasil bulat dari 654 dibagi 10 yang adalah 65 kembali dibagi dengan 10 dan sisanya adalah 5. Kemudian yang terakhir, karena nilai 6 yang disimpan kemudian dibagi 10, dan sisanya pasti 6, maka 6 diambil.

Penjelasan kode:
Pada bagian utama program, kita membuat beberapa variabel: reduce, in, dan stay. Variabel reduce sendiri berguna untuk menampung hasil pengurangan dari stay, yang telah kita beri nilai konstan dari awal yaitu 10.000. Tapi, kita mau mencegah agar user tidak memasukkan angka yang “tidak lazim” misalnya angka 0 atau 10.001 dan seterusnya. Maka,  kita memakai fungsi do...while (ini sebenarnya “favorit” saya, karena saya ingin selalu mencegah input yang tidak normal) dengan “aturan” bahwa tampilan tersebut (“”) akan selalu terulang bila user memasukkan angka yang lebih besar dari 10.000 atau lebih kecil dari 1. Kita lalu memasukkan reduce ke reverse, itulah akhir dari program utama. Lalu, seperti yang kita lihat di atas, ada 2 fungsi yang kita buat sejak awal: sntce dan reverse. sntce berfungsi untuk mengkonversi angka menjadi sebuah kata dengan fungsi switch, yang saya rasa sudah cukup jelas, bahwa jika inputnya (dalam hal ini adalah sisa bagi dari 10.000 dikurangi input dari user kemudian dibagi 10) adalah 1, maka yang ditampilkan adalah kata “satu”, bila 2, maka ditampilkan adalah “dua”, dst. Sedangkan reverse untuk menghitung hasil pengurangan dari 10.000 dikurangi dengan input dari user (in). Di sini kita memakai dua kondisi, yaitu jika hasil bulat dari n (reduce) dibagi 10 sama dengan 0 dan juga sisa bagi  (mod) sama dengan 0 (nol), dan kondisi di luat itu (tentu saja ini berarti bahwa masih ada bilangan yang harus di bagi 10 atau bisa saja masih ada sisa bagi yang harus di masukkan ke sntce). Jika yag terjadi adalah kondisi kedua, kita “melempar” variabel mod ke sntce (udah tau kan fungsinya?) lalu memangil kembali reverse dengan menggunakan zero sampai akhirnya tidak ada lagi yang bisa dibagi dan tidak ada lagi sisa pembagian.



Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Read More...

Membuat Baris Ganda

Kali ini Anda diminta untuk membuat / menampilkan berapa banyak baris yang diminta oleh user tapi dengan menggandakan setiap baris yang dicetak di layar. Misalnya, jumlah baris yang diminta adalah 5, maka yang tercetak adalah:
11
2222
333333
44444444
5555555555



Maka kode yang saya buat adalah sebagai berikut:

#include <iostream>
using namespace std;

void main () {
      int in;
      cout << "banyaknya baris: ";
      cin >> in;

      for (int i = 1; i <= in; ++ i) {
            for (int j = 1; j <= i * 2; ++j) {
                  cout << i;
            }
            cout << "\n";
      }
}

Logika:
Logika yang digunakan di sini cukup mirip dengan cara kita mencetak segitiga siku –siku ke layar. Mungkin bisa dibilang ini masih ada “hubungan keluarga” dengan yang tadi J. Disini kita melakukan perulangan untuk mencetak baris yang diminta oleh user. Dalam melakukan perulangan tersebut, kita menampilkan baris yang dicetak pada saat itu. Misalnya jika baris yang sedang dicetak pada saat itu adalah baris kedua, maka yang ditampilkan adalah angka 2. Begitu seterusnya. Perhatikan bahwa angka – angka yang dicetak memiliki sebuah pola. Pada setiap baris yang sedang dicetak pola dari angka –angkanya adalah: baris yang sedang dicetak dikali 2. Misalnya pada baris pertama, jumlah angka / banyaknya  angka yang dicetak adalah 1 X 2 = 2 kali di cetak. Pada baris kedua, banyaknya baris yang di cetak adalah 2 X 2, dst. Hal ini berlanjut sampai baris yang diinginkan oleh user sudah tercetak.

Penjelasan kode:
Pada kode di atas, dibuat variabel untuk menampung berapa banyak baris yang diinginkan oleh user (in), just like usual J. Berdasarkan input dari user tersebut, kita membuat perulangan untuk mencetak baris – baris yang diinginkan user. Dalam perulangan ini, kita “menyisipkan” sebuah perulangan lagi untuk mencetak angka ke layar (dengan menggunakan variabel j). Perulangan ini dilakukan dengan kondisi j lebih kecil atau sama dengan i dikali 2. Dimana, i adalah baris yang sedang dikerjakan dan j adalah berapa banyak perulangan yang dilakukan dalam kondisi j lebih kecil atau sama dengan i.


Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Read More...

Membuat Segitiga Siku - Siku

Gambar segitiga yang akan dibuat adalah seperti  di bawah ini:


                                                                      *
                                                                    **
                                                                  ***
                                                                ****
                                                              *****
                                                            ******
                                                          *******

Seperti yang kita lihat, bahwa terdapat segitiga siku – siku yang dibuat dengan cara membuat simbol “*” mulai dari satu sampai baris ke – n. Misalnya saja, dengan contoh di atas, user ingin menampilkan segitiga dengan jumlah baris 7, maka ditampilkan gambar seperti di atas. Begitu seterusnya. Berikut adalah contoh  kodenya:

#include <iostream>
using namespace std;

void main () {
      int segi1;
      cout << "";
      cin >> segi1;

      for (int j = 1; j <= segi1; ++j) {
            for (int i = 1; i <= segi1; ++i) {
                  if (i <= segi1 - j)
                        cout << " ";

                  else
                        cout << "*";
            }
            cout << "\n";
      }
}
Logika:
Bila diamati baik – baik, akan diketahui bahwa, misalnya, jika ada 7 baris yang diminta, maka ada 6 buah spasi yang dibuat lalu kemudian dicetak tanda asterisk “*”, dan pada baris berikutnya ada 5 buah spasi lalu dicetak dua buah tanda asterisk.  Lalu kemudian pada baris berikutnya ada 4 buah spasi, pada baris berikutnya lagi ada 3 buah spasi, dst. Dapat disimpulkan bahwa jumlah spasi yang dibuat pada baris pertama adalah:
Total baris yang diinginkan – 1

Lalu kemudian pada baris kedua adalah:
Total baris yang diinginkan – 2

Begitu seterusnya.

Dengan demikian diketahui bahwa untuk mecetak spasi menggunakan rumus:
Total baris yang diinginkan – baris yang akan dicetak

Jadi, misalnya baris yang sedang “dikerjakan” adalah baris pertama maka, rumusnya menjadi: total baris yang diinginkan – 1, begitu juga dengan baris kedua menjadi: total baris yang diinginkan – 2, dst. Jika sudah “melewati” keadaan tersebut, dicetak “*”.

Penjelasan kode:
Pada kode di atas, pertama – tama kita membuat sebuah variabel / identifier dengan nama segi1. Dimana segi1, merupakan input dari user untuk menentukan berapa banyak baris segitiga yang akan dicetak. Setelah itu, dilakukan perulangan untuk mencetak banyaknya baris, di sini kita memakai variabel j. Untuk mencetak spasi dan tanda “*” sendiri digunakan variabel i, dengan kondisi:
·        Jika i lebih kecil atau sama dengan segi1 - j, dicetak spasi
Ini karena syarat yang telah dikemukakan sebelumnya, jumlah spasi yang dicetak per baris adalah hasil dari segi1 – j, dimana j adalah baris yang aktual (current) pada saat itu.
·        Jika i lebih besar dari segi1, maka dicetak tanda “*”.
Sebenarnya, jika Anda bisa mengamati dengan cukup seksama, maka Anda akan menemukan bahwa kita selalu mencetak dengan jumlah yang sama. Misalnya jumlah baris yang diinginkan adalah 7, maka sebenarnya dalam setiap baris dari baris pertama sampai baris 7, kita selalu mencetak sebanyak 7 kali pada setiap barisnya. Hanya saja ada “variasi”pada setiap barisnya, yaitu jika dengan dikuranginya segi1 dengan j, maka denga sendirinya jumlah “*” yang tercetak akan semakin banyak dan pada akhirnya sama dengan jumlah baris yang diinginkan. Jadi, cobalah bayangkan bahwa yang kita cetak adalah sebuah persegi / persegi panjang dengan gambaran seperti yang telah disebutkan di atas (bisa, kan? J).
Hal ini terus berlanjut pada setiap baris dan pada ahirnya berhenti pada kondisi dimana j lebih besar dari segi1.



Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Read More...

Membuat Array

Array
Ok, sekarang, masuk ke “permainan” array. Dalam “permainan” ini, kita akan meminta user untuk memasukkan nomor stambuk yangterdiri atas 7 angka. Masing - masing angka (dari nomor stambuk) tersebut akan disimpan dalam sebuah array yang terdapat variabel a. Nilai dari masing – masing array tersebut akan dikalikan jika nilai tersebut bukan 0 (nol) dan “disimpan dalam sebuah variabel sebut saja x. Kemudian dibuat variabel lain sebut saja b yang memiliki 7 array juga. “Isi” variabel b merupakan hasil dari masing – masing array variabel a ditambah x. Berikut ini kodenya:

#include <iostream>
using namespace std;

void main() {
      int a[7], x = 1;
      for (int i = 0; i < 7; ++i) {
            cout << "nomor " << i + 1 << ": ";
            cin >> a[i];
      }

      for (int j = 0; j < 7; ++j) {
            if (a[j] == 0)
                  continue;

            else {
                  x *= a[j];
            }
      }
     
      int b[7];

      for (int k = 0; k < 7; ++k) {
            b[k] = a[k] + x;
            cout << b[k] << "\n";
      }
}


Logika:
Dari semua array (angka – angka) yang ada (sudah dimasukkan), kita melakukan “pencarian”. Jika array tersebut bernilai 0 (nol) maka, array tersebut kita lewati. Jika array tersebut bukan bernilai nol (karena itu tentu saja bernilai lebih dari nol, karena secara logika, tidak ada nomor stambuk yang minus, kan?), maka kita kalikan dengan array berikutnya yang juga tidak bernilai nol. Kemudian setelah itu, kita membuat array lain dari sebuah variabel yang lain (tentunya) untuk “ditempati” masing – masing oleh hasil dari masing – masing array variabel yang satunya ditambah dengan hasil perkalian seluruh nilai tadi.

Penjelasan kode:
Pertama – tama, kita buat sebuah variabel (variabel a) untuk menampung 7 buah array, lalu  variabel x untuk menampung hasil perkalian seluruh array variabel a. Nilai awal x adalah 1, dengan asumsi bahwa tidak ada nomor stambuk yang seluruhnya 0 (nol) (karena klo gitu buat apa dibuatkan nomor stambuk, kan?) sehingga bisa dikalikan dengan seluruh array variabel a dengan memiliki kemungkinan nilai terkecil adalah 1. Lakukan perulangan untuk setiap array variabel a, dengan “menyisipkan” kondisi agar jika nilai array tersebut adalah 0 (nol) maka dilewati (continue), dan apabila nilainya bukan nol, maka dikalikan dengan variabel x. Setelah selesai, dibuat variabel baru dengan array yang sama, yaitu 7. Lalu perulangan dilakukan lagi untuk mengisi semua array tersebut dengan hasil dari x ditambah dengan masing – masing array variabel a.

Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Read More...

Algoritma

Dalam membuat sebuah program, ada beberapa hal yang penting, paling tidak menurut saya, yaitu:
1.      Tujuan pembuatan program,
2.      Algoritma,
3.      Bahasa pemrograman itu sendiri
Dalam kesempatan kali ini, saya ingin membahas mengenai algoritma dalam pemrograman. Hal – hal yang akan disajikan di sini merupakan contoh – contoh program yang ditulis dalam bahasa C++ yang kemudian akan dijelaskan lebih detail. Lebih tepatnya jika saya katakan bahwa tulisan ini merupakan kumpulan contoh algoritma yang pernah dibahas dan cukup “populer” sebagai contoh – contoh algoritma.
Pembahasan yang terdapat disini sebenarnya lebih ditujukan kepada orang – orang yang sudah sedikit mengenal bahasa pemrograman C++ sehingga akan mempermudah dalam memahami konsep algoritma yang dijelaskan di sini.

Sekilas Mengenai Algoritma
Algoritma seperti kata kebanyakan orang, bukanlah sesuatu yang hanya berhubungan dengan dunia komputer saja. Algoritma juga berlaku dalam kehidupan sehari-hari. Kali ini saya mau membahas contoh yang mungkin kedengaran tidak “lazim” digunakan untuk memberi gambaran mengenai algoritma :D.
Beberapa contoh sederhana mengenai algoritma yang dapat ditemui dalam kehidupan sehari – hari misalnya:
1.      Memasak mie instant.
Prosesnya sbb: memanaskan air, membuka pembungkus mie instant (tentunya), memasukkan mie ke dalam air, taruh bumbu di piring, angkat mie jika sudah masak, campurkan dengan bumbu yang sudah ada di piring dengan mie, makan… :D (koq jadi laper? :D)
2.      Menelepon
Prosesnya sbb: angkat telepon, tekan nomor teleponnya:
·        jika diangkat maka mulai berbicara setelah selesai tutup teleponnya
·        jika tidak diangkat, maka tutup teleponnya

Dan masih banyak lagi contoh – contoh sederhana mengenai algoritma yang dapat kita jumpai dalam kehidupan sehari – hari.

Algoritma Pemrograman
Sekarang kita mulai membicarakan mengenai algoritma pemrograman. Pertama – tama, akan saya kutip dulu ciri – ciri dari algoritma seperti yang dipaparkan oleh Donald E. Knuth:
·        Algoritma mempunyai awal dan akhir.
·        Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (ambigu).
·        Memiliki masukan (input) atau kondisi awal.
·        Memiliki keluaran (output) atau kondisi akhir.
·        Algoritma harus efektif; bila digunakan benar – benar menyelesaikan persoalan.

Saya sendiri sebenarnya tidak terlalu setuju dengan hal – hal seperti itu yang terkesan terlalu membatasi. Karena sebenarnya ada banyak cara untuk menghasilkan sesuatu tanpa harus mengikuti aturan yang “baku” / satu aturan saja yang terkesan mengikat, iya kan? Namun jika ada yang mau “bertindak” seperti yang telah dipaparkan di atas, itu sah – sah saja.
Sekarang, kita akan melihat beberapa program, mulai dari yang mudah sampai yang cukup sulit, beserta penjelasannya.


Nilai Terbesar Dari 3 Buah Bilangan
Untuk mencari nilai terbesar dari 3 buah bilangan, dalam C++, kode yang saya gunakan adalah sbb:

#include <iostream>
using namespace std;

void main() {
      int a, b, c, d;
      cout << "nilai 1: ";
      cin >> a;
      cout << "nilai 2: ";
      cin >> b;
      cout << "nilai 3: ";
      cin >> d;

      c = (a > b ? a : b);
     
      cout << "nilai terbesar adalah : " << (c > d ? c : d) << "\n";
}

Logika:
Bandingkan nilai pertama dengan nilai kedua. Kemudian yang lebih besar di antara nilai tersebut di bandingkan dengan nilai berikutnya (nilai ke tiga), sehingga di dapat nilai terbesar di antara ketiga variabel tersebut.

Penjelasan kode:
Seperti yang kita lihat di atas, pertama – tama, kita membuat tiga variabel yaitu, variabel a, b, c, dan d. Kemudian, kita meminta user untuk memasukkan nilai untuk variabel a, b, dan d. Setelah itu, kita membandingkan nilai masing – masing variabel. Disini digunakan variabel c sebagai “alat bantu”. Variabel c sendiri menyimpan nilai terbesar antara variabel a dan b. Kemudian ditampilkan nilai yang terbesar yang didapat setelah membandingkan variabel c dan d.

Jumlah Deret
Yang dimaksud dengan jumlah deret di sini adalah misalnya saja yang diminta adalah 3 suku deret. Maka dikalkulasikan menjadi:
1 – 1/3 + 1/5 – 1/ 7
Perhatikan bahwa dalam proses kalkulasi tersebut tanda + dan – berubah setiap kali dilakukan proses perhitungan. Baiklah, sekarang kita membahas kodenya:

#include <iostream>
using namespace std;

void main () {
      int mp = -1;
      double satu = 1, ulang = 3;
      int masuk;
      cout << "masukan nilai : ";
      cin >> masuk;
     
      for (int ulang2 = 1; ulang2 <= masuk; ++ulang2) {
            satu = satu + ((1 / ulang) * mp);
            mp *= -1;
            ulang += 2;
      }

      cout << satu << "\n";
}

Logika:
Melakukan perhitungan dari suku pertama sampai suku ke – n (jumlah suku yang diminta oleh user). Mungkin yang paling “mengganggu” pemikiran Anda adalah bagaimana cara untuk membuat tanda + dan minus berubah – ubah setiap kali, kan?  Padahal itu bisa saja diatasi hanya dengan mengalikan  -1 dengan -1 sehingga hasilnya bisa menjadi positif , ya kan? Jika sudah begitu, “urusan” berikutnya menjadi beres J.

Penjelasan kode:
Kode di atas juga cukup jelas jika diamati dengan baik. Awalnya kita membuat beberapa “buah” variabel:
·        Yang akan menjadi input bagi / dari user, yaitu masuk
·        Yang akan “menampung” hasil perhitungan, yaitu satu
·        Yang akan menjadi pembagi dan terus dinaikkan nilainya, yaitu ulang
·        Yang akan “merubah” tanda dan jenis perhitungan (dari penjumlahan menjadi pengurangan dan sebaliknya), yaitu mp
Kemudian kita melakukan perulangan dengan menjumlahkan variabel satu yang bernilai 1 (pada awalnya) dengan hasil dari 1 dibagi dengan variabel ulang dimana nilai awalnya adalah 3, dan kemudian ditambah 2 untuk setiap perulangan yang dilakukan kemudian dikalikan dengan variabel mp yang bernilai -1 pada awalnya sehingga menghasilkan perhitungan: 1 –  (1/3).Variabel mp kemudian dikalikan dengan -1 untuk menghasilkan nilai positif sehingga pada perhitungan berikutnya menjadi seperti berikut:
1 – (1/3) + (1/5)
Begitu seterusnya hingga perhitungan mencapai suku ke – n, dan proses perhitungan pun dilakukan sekali lagi dan berhenti. Hasilnya kemudian ditunjukkan oleh variabel satu. Jelas sekali, bukan?


Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Read More...

Dasar-dasar HTML

Ada banyak sekali kode HTML yang ada dan mempunyai fungsi atau kegunaanya masing-masing.
Di antaranya.
<!– blablabla… –>  yaitu untuk memberikan komentar.
<B>Untuk menampilkan tulisan cetak tebal</B>
<I>Untuk menampilkan tulisan cetak miring (italic) </I>
<U>Untuk menampilkan tulisan bergaris bawah (underline) </U>
<BR> digunakan untuk menampilkan baris baru.
lalu, membuat seberapa besar tulisa dengan cara:
<H1>Level – 1 </H1>
<H2>Level – 2 </H2>
<H3>Level – 3 </H3>
<H4>Level – 4 </H4>
<H5>Level – 5 </H5>
<center> Untuk perataan tengah terhadap teks atau gambar</center>
<font>Mengganti jenis, ukuran, warna huruf yang akan digunakan utk teks </font>
<form> Mendefinisikan input form </form>
<frame> Mendefinisikan frame </frame>
<head> Mendefinisikan kepala document </head>
<hr> Membuat garis horizontal
<html> Berarti dokumen html </html>
<img> Image, imagemap atau an animation </img>
<input> Mendefinisikan input field pada form </input>
<map>Mendefinisikan client-side map </map>
<marquee> Membuat teks atau gambar berjalan </marquee>
<p> Ganti paragraf </p>
<pre> Membuat teks dengan ukuran huruf yg sama </pre>
<script> Mendefinisikan awal script </scrift>
<table> Membuat tabel </table>
<td> Kolom pada tabel </td>
<title>  Mendefinisikan title </title>
<tr>  Membuat Baris pada tabel </tr>
<!-- --> Memberi komentar atau keterangan. Kalimat yang terletak pada tag kontiner ini tidak akan terlihat pada browser
<a href> Membuat link ke halaman lain atau ke bagian lain dari halaman tersebut
<a name> Membuat nama bagian yang didefinisikan pada link pada halaman yang sama
<applet> Sebagai awal dari Java applets
<area> Mendefinisikan daerah yang dapat diklik (link) pada image map
<b> Membuat teks tebal
<basefont> Membuat atribut teks default seperti jenis, ukuran dan warna font
<bgsound> Memberi (suara latar) background sound pada halaman web
<big> Memperbesar ukuran teks sebesar satu point dari defaultnya
<blink> Membuat teks berkedip
<body> Tag awal untuk melakukan berbagai pengaturan terhadap text, warna link & visited link
<br> Pindah baris
<caption> Membuat caption pada tabel
<center> Untuk perataan tengah terhadap teks atau gambar
<comment> Meletakkan komentar pada halaman web tidak tidak akan nampak pada browser
<dd> Indents teks
<div> Represents different sections of text.
<embed> Menambahkan sound or file avi ke halaman web
<fn> Seperti tag <a name>
<font> Mengganti jenis, ukuran, warna huruf yang akan digunakan utk teks
Mendefinisikan input form
<frame> Mendefinisikan frame
<frameset>; Mendefinisikan attribut halaman yang akan menggunakan frame
<h1> ... <h6> Ukuran font
<head> Mendefinisikan head document.
<hr> Membuat garis horizontal
<html> Bararti dokumen html
<i> Membuat teks miring
<img> Image, imagemap atau an animation
<input> Mendefinisikan input field pada form
<li> Membuat bullet point atau baris baru pada list (berpasangan dengan tag <dir>, <menu>, <ol> and <ul> )
<map> Mendefinisikan client-side map
<marquee> Membuat scrolling teks (teks berjalan) - hanya pada MS IE
<nobr> Mencegah ganti baris pada teks atau images
<noframes> Jika browser user tidak mendukung frame
<ol> Mendefinisikan awal dan akhir list
<p> Ganti paragraf
<pre> Membuat teks dengan ukuran huruf yg sama
<script> Mendefinisikan awal script
<table> Membuat tabel
<td> Kolom pada tabel
<title> Mendefinisikan title
<tr> Baris pada tabel
<u> Membuat teks bergaris bawah
Catatan :
* diakhir kode program, gunaakan tanda </……>
Read More...

Jumat, 08 Oktober 2010

Jenis-Jenis Topologi Jaringan


Topologi Jaringan

Pengertian topologi Jaringan adalah susunan lintasan aliran data didalam jaringan yang secara fisik menghubungkan simpul yang satu dengan simpul lainnya. Berikut ini adalah beberapa topologi jaringan yang ada dan dipakai hingga saat ini, yaitu:
Ada beberapa jenis topologi jaringan diantaranya yaitu
1. Topologi BUS
2. Topologi STAR
3. Topologi RING
4. Topologi Mesh
5. Topologi peer-to-peer (P2P) atau point-to-point
6.Topologi Tree

TOPOLOGI BUS

Topologi ini mempunyai bentuk, satu kabel utama menghubungkan ke tiap saluran tunggal komputer(membentuk huruf T), kecuali simpul disalah satu ujung kabel utama, yang hanya terhubung ke saluran komputer dan terminator sebagai penutup.
Skema Topologi BUS

Kelebihan dan Kelemahan Topologi BUS
Kelebihan
  • Jumlah Node tidak dibatasi, tidak seperti hub yang dibatasi oleh jumlah dari port (misal : 16 port untuk 16 node)
  • Kecepatan pengiriman data lebih cepat, karena data berjalan searah.
  • Lebih mudah dan murah jika ingin menambah atau mengurangi jumlah node, karena yang dibutuhkan hanya kabel dan konektornya saja

Kekurangan
  • Jika lalulintas data yang diolah terlalu besar dapat mengakibatkan kemacetan
  • Diperlukan repeater untuk menguatkan sinyal pada pemasangan jarak jauh.
  • Jika salah satu node mengalami kerusakan, maka jaringan tidak dapat beroperasi.

TOPOLOGI STAR
Tiap simpul pada masing-masing terminal terhubung ke file server tunggal terpusat, dengan menggunakan segmen kabel sendiri. Keunggulan topologi ini adalah didapatkannya kinerja yang optimal karena lintas kabel dari terminal ke server yang pendek.
Skema/gambar topologi Star




Karakteristik Topologi Star
  • Setiap node berkomunikasi langsung dengan konsentrator (HUB)
  • Bila setiap paket data yang masuk ke consentrator (HUB) kemudian di broadcast keseluruh node yang terhubung sangat banyak (misalnya memakai hub 32 port), maka kinerja jaringan akan semakin turun.
  • Sangat mudah dikembangkan, sebab setiap node hanya terhubung secara langsung ke consentrator.
  • Jika salah satu ethernet card rusak, atau salah satu kabel pada terminal putus, maka keseluruhhan jaringan masih tetap bisa berkomunikasi atau tidak terjadi down pada jaringan keseluruhan tersebut.
  • Tipe kabel yang digunakan biasanya jenis UTP.
Kelebihan dan Kelemahan Topologi STAR
Kelebihan
  • Jika terjadi penambahan atau pengurangan terminal tidak mengganggu operasi yang sedang berlangsung.
  • Jika salah satu terminal rusak, maka terminal lainnya tidak mengalami gangguan
  • Arus lalu lintas informasi data lebih optima l

Kelemahan
  • Jumlah terminal terbatas, tergantung dari port yang ada pada hub.
  • Lalulintas data yang padat dapat menyebabkan jaringan bekerja lebih lambat
TOPOLOGI RING
Setiap komputer terhubung ke komputer selanjutnya dalam ring, dan setiap komputer mengirim apa yang diterima dari komputer sebelumnya. Pesan-pesan mengalir melalui ring dalam satu arah. Setiap komputer yang mengirimkan apa yang diterimanya, ring adalah jaringan yang aktif. Tidak ada akhir pada ring. Layout ini serupa dengan linear bus, kecuali simpul pada ujung kabel utama yang saling terhubung, sehingga membentuk suatu lingkaran dengan penghubungnya menggunakan segmen kabel.
Skema Topologi Ring

Karakteristik Topologi Ring
  • Node-node dihubungkan secara serial di sepanjang kabel, dengan bentuk jaringan seperti lingkaran.
  • Sangat sederhana dalam layout seperti jenis topologi bus.
  • Paket-paket data dapat mengalir dalam satu arah (kekiri atau kekanan) sehingga collision dapat dihindarkan.
  • Problem yang dihadapi sama dengan topologi bus, yaitu: jika salah satu node rusak maka seluruh node tidak bisa berkomunikasi dalam jaringan tersebut.
  • Tipe kabel yang digunakan biasanya kabel UTP atau Patch Cable (IBM tipe 6).
Kelebihan dan Kelemahan Topologi RING
Kelebihan
  • Aliran data mengalir lebih cepat karena dapat melayani data dari kiri atau kanan dari server .
  • Dapat melayani aliran lalulintas data yang p adat, karena data dapat bergerak kekiri atau kekanan.
  • Waktu untuk mengakses data lebih optimal.
Kelemahan
  • Penambahan terminal /node menjadi lebih sulit bila port sudah habis.
  • Jika salah satu terminal mengalami kerusakan, maka semua terminal pada jaringan tidak dapat digunakan.
TOPOLOGI MESH
Topologi ini sering disebut “pure peer-to-peer ”, sebab merupakan implementasi suatu jaringan komputer yang menghubungkan seluruh komputer secara langsung. Saat ini sangat jarang digunakan sebab rumit dan tidak praktis,
Skema topologi Mesh

Karakteristik Topologi Mesh
  • topologi mesh memiliki hubungan yang berlebihan antara peralatan-peralatan yang ada.
  • Susunannya pada setiap peralatan yang ada didalam jaringan saling terhubung satu sama lain.
  • jika jumlah peralatan yang terhubung sangat banyak, tentunya ini akan sangat sulit sekali untuk dikendalikan dibandingkan h anya sedikit peralatan saja yang terhubung.
Kelebihan dan Kelemahan Topologi Mesh
Keuntungan dari penggunaan topologi mesh:
  • Keuntungan utama dari penggunaan topologi mesh adalah fault tolerance.
  • Terjaminnya kapasitas channel komunikasi, karena memiliki hubungan yang berlebih.
  • Relatif lebih mudah untuk dilakukan troubleshoot.
Kerugian dari Penggunaan Topologi Mesh
  • Sulitnya pada saat melakukan instalasi dan melakukan konfigurasi ulang saat jumlah komputer dan peralatan-peralatan yang terhubung semakin meningkat jumlahnya.
  • Biaya yang besar untuk memelihara hubungan yang berlebih.

TOPOLOGI PEER TO PEER (P2P) atau point-to-point
Jaringan kerja titik ke titik merupakan jaringan kerja yang paling sederhana tetapi dapat digunakan secara luas. Begitu sederhananya jaringan ini, sehingga seringkali tidak dianggap sebagai suatu jaringan tetapi hanya merupakan komunikasi biasa. Dalam hal ini, kedua simpul mempunyai kedudukan yang setingkat, sehingga simpul manapun dapat memulai dan mengendalikan hubungan dalam jaringan tersebut. Data dikirim dari satu simpul langsung kesimpul lainnya sebagai penerima, misalnya antara terminal dengan CPU.
skema Topologi peer to peer

Kelebihan
  • Pelaksanaan tidak terlalu mahal
  • Tidak membutuhkan softwear server NOS
  • Tidak membutuhkan administrator yang handal

Kelemahan

  1. Tidak cocok untuk network skala besar, administrator menjadi tidak terkontrol
  2. Tiap user harus dilatih untuk menjalankan tugas administrative
  3. Keamanan kurangsemua mesin yang sharing resource tidak mempengaruhi perfoma

    Topologi Tree
    Topologi Tree pada dasarnya merupakan bentuk yang lebih luas dari topologi star. Seperti halnya topologi star, perangkat (node, device) yang ada pada topologi tree juga terhubung kepada sebuah pusat pengendali (central HUB) yang berfungsi mengatur traffic di dalam jaringan.  Meskipun demikian, tidak semua perangkat pada topologi tree terhubung secara langsung ke central HUB. Sebagian perangkat memang terhubung secara langsung ke central HUB, tetapi sebagian lainnya terhubung melalui secondary HUB (lihat gambar). Pada topologi tree terdapat dua atau lebih HUB yang digunakan untuk menghubungkan setiap perangkat ke dalam jaringan. Keseluruhan HUB tersebut berdasarkan fungsinya terbagi menjadi dua bagian yaitu Active HUB dan Passive HUB. Active HUB berfungsi tidak hanya sekedar sebagai penerus sinyal data dari satu komputer ke komputer lainnya, tetapi juga memiliki fungsi sebagai Repeater.  Sinyal data yang dikirimkan dari satu komputer ke komputer lainnya memiliki keterbatasan dalam hal jarak, setelah berjalan sekian meter maka sinyal tersebut akan melemah. Dengan adanya fungsi Repeater ini maka sinyal data tersebut akan di-generate kembali sebelum kemudian diteruskan ke komputer yang dituju, sehingga jarak tempuh sinyal data pun bisa menjadi lebih jauh dari yang biasanya. Sedangkan Passive HUB hanya berfungsi sebagai penerus sinyal data dari satu komputer ke komputer lainnya. Pada topologi tree, seperti pada gambar, Central HUB adalah selalu sebagai Active HUB sedangkan Secondary HUB adalah Passive HUB. Tetapi pada pelaksanaannya, Secondary HUB bisa juga sebagai Active HUB apabila digunakan untuk menguatkan kembali sinyal data melalui secondary HUB lainnya yang terhubung. Karena pada dasarnya topologi ini merupakan bentuk yang lebih luas dari topologi star, maka  kelebihan dan kekurangannya pada topologi star juga dimiliki oleh topologi tree. Perbedaannya adalah HUB dan kabel yang digunakan menjadi lebih banyak sehingga diperlukan perencanaan yang matang dalam pengaturannya dengan mempertimbangkan segala hal yang terkait, termasuk di dalamnya adalah tata letak ruangan. Meskipun demikian, topologi ini memiliki keunggulan lebih mampu menjangkau jarak yang lebih jauh dengan mengaktifkan fungsi Repeater yang dimiliki oleh HUB.
Read More...

how to make a gif

Reader Community

Share |

Newsletter

Translate This Blog

Indonesian German Dutch Portuguese Italian Russian Greek Brazilian French Spanish Arabic Korean Japanese Chinese English

New Tutorial

Share |

VISITOR

im here

Chat Visitor

ADS

CO.CC:Free Domain CO.CC:Free Domain CO.CC:Free Domain CO.CC:Free Domain

Advertise