Tampilkan postingan dengan label Teknologi Informasi. Tampilkan semua postingan
Tampilkan postingan dengan label Teknologi Informasi. Tampilkan semua postingan

Minggu, 10 April 2011

Prinsip Kerja Mikroprosesor

Mikroprosesor
                       Mikroprosesor



            Mikroprosesor biasa juga disingkat menjadi prosesor biasa juga disebut CPU (central processing unit). Komponen ini merupakan sebuah cip. Cip (chip atau IC/Integrated circuit) adalah sekeping silikon berukuran beberapa milimeter persegi yang mengandung puluhan ribu transistor dan komponen elektronik lain.

Prosesor merupakan salah satu komponen terpenting dalam sistem komputer. Prosesor seringkali disebut sebagai otak komputer, meski sebutan ini tidak tepat sepenuhnya. Prosesor hanya bertindak sebagai mesin pemroses tetapi tidak berfungsi sebagai pengingat. Fungsi pengingat ditangani oleh komponen lain yang dinamakan memori.

Sejarah Singkat Mikroprosesor

Mikroprosesor pertama kali diciptakan adalah Intel 4004, yang diperkenalkan tahun 1971. Prosesor ini sangat sederhana, hanya bisa melakukan operasi sebesar 4 bit per waktu. Aplikasi prosesor ini adalah untuk menyusun kalkulator elektronik portabel.
Mikroprosesor pertama yang digunakan untuk keperluan rumahan adalah Intel 8080 yang diperkenalkan pertama kali pada tahun 1974. Prosesor ini berukuran 8 bit. Digunakan pertama kali pada kit Altair. Kit buatan MITS yang diperkenalkan pada tahun 1975 inilah yang dianggap sebagai cikal bakal komputer personal yang pertama. Namun yang dinamakan PC seperti yang sekarang diperkenalkan pertama kali oleh IBM pada tahun 1982, yang disebut IBM PC. Komputer ini menggunakan prosesor Intel 8088 yang sebenarnya telah diperkenalkan pada tahun 1979.
Mikroprosesor yang digunakan pada PC dari waktu ke waktu juga berubah. Secara kronologis, prosesor-prosesor yang digunakan sampai pada tahun 2002 adalah 8088, 80286, 80386, 80486, Pentium, Pentium II, Pentium III, Pentium III, dan Pentium IV. Sebagai bahan perbandingan, prosesor pentium 4 memiliki kecepatan 5000 kali lebih cepat dari pada prosesor 8088.

Prinsip Kerja Mikroprosesor
 

Gambar 3.9 Mikroprosesor Skalar & Superskalar
Gambar 3.9 Mikroprosesor Skalar & Superskalar
CPU terdiri atas dua bagian utama yang dinamakan unit kontrol (Control Unit) dan ALU (Arithmetic and Logic Unit)
  • Unit kontrol berfungsi untuk mengendalikan seluruh komponen dalam sistem komputer, seperti layaknya otak manusia yang mengontrol seluruh syaraf dalam tubuh sehingga seluruh anggota tubuh dapat digerakkan atau dikendalikan. Pengendalian yang dilaksanakan oleh unit ini di dasarkan pada instruksi-instruksi yang terdapat pada program komputer. Setiap instruksi diterjemahkan ke dalam bentuk tindakan yang sesuai dengan maksud instruksi bersangkutan.
  • Unit aritmetika dan logika berperan dalam melaksanakan operasi-operasi perhitungan (aritmetika) seperti pengurangan, penjumlahan, dan pengalian maupun operasi pembandingan (logika) seperti membandingkan suatu nilai bernilai nol atau tidak.
Selain kedua komponen tersebut, CPU memiliki sejumlah register. Register adalah memori dalam CPU yang mempunyai kecepatan sangat tinggi, yang digunakan untuk berbagai operasi dalam CPU. Tipe register bermacam-macam, antara lain yaitu register instruksi, register alamat, dan register akumulator.
Untuk melakukan suatu operasi terhadap data yang berbeda dalam memori utama, data mula-mula disalin dari memori ke register-register dalam CPU. Unit kontrol yang menangani hal ini bisa berarti perintah atau data. Selanjutnya data diterjemahkan dan diproses. Jika terdapat operasi aritmetika atau logika, ALU segera mengambil alih peran tersebut. Hasil sementara permrosesan akan ditaruh pada akumulator dan setelah itu dapat dituangkan dalam bentuk algoritma (urutan proses) seperti berikut:
  1. LOAD nilai dari satu lokasi di memori ke sebuah register;
  2. LOAD nilai dari lokasi lain di memori ke register yang lain;
  3. ADD kedua nilai dan hasilya disimpan dalam register akumulator;
  4. STORE isi akumulator ke dalam suatu lokasi di memori.
  5. Selesai.


Mikroprosesor Superskalar

Prosesor yang dapat memproses satu instruksi dalam sebuah siklus (pulsa dari clock) biasa disebut prosesor skalar atau tradisional. Yang termasuk dalam golongan ini adalah keluarga Intel x86 (misal 80486) yang digunakan pada IBM PC dan kompatibelnya dan keluarga motorola 68000 yang digunakan pada komputer Apple. Adapun CPU yang dapat menjalankan lebih dari satu instruksi per-siklus dinamakan CPU superskalar. Yang termasuk dalam kategori ini adalah prosesor Pentium (Intel), Power PC (INM-Motorola-Apple), K5 (AMD), dan generasi berikutnya, M1 (Cyrix), dan Nx586 (NexGen).
CPU superskalar dapat menjalankan lebih dari satu instruksi per siklus disebabkan adanya lebih dari satu ALU, sebagaimana dalam gambar di bawah ini. Dengan keadaan ini, unit kontrol akan mengevaluasi dua buah instruksi secara berpasangan. Jika kedua instruksi dapat dieksekusi secara serentak maka masing-masing akan dikirim ke ALU yang berbeda. Jika tidak, masing-masing instruksi diproses pada siklus yang berbeda.

Data Warehouse

           Apabila berbagai basis data selama beberapa tahun selalu dipelihara dan dikumpulkan maka kumpulan berbagai data periodik ini bisa disebut sebagai data warehouse. Kumpulan basis data ini dapat menjadi bahan untuk analisis data dan terutama untuk mendukung pengambilan keputusan, dan pada umumnya tidak digunakan oleh organisasi untuk memproses transaksi. Sistem untuk transaksi data harian biasa disebut sebagai On Line Transaction Processing (OLTP), sebagai perbandingan berikut ini disajikan tabel perbedaan Data Warehouse dan OLTP.

TABEL: Perbandingan antara Data Warehouse dan OLAP
Data Warehouse
OLTP
  • Lebih cendrung menangani data masa lalu
  • Data disimpan dalam satu macam platform
  • Melayani permintaan insidentil, tak berstruktur, dan bersifat heuristik
  • Mendukung pengambilan keputusan strategis
  • Data diorganisasi menurut subjek, misalnya menurut produk, supplier
  • Ber-orientasi pada analisis
  • Dapat mendukung kelompok manajerial yang berjumlah sedikit
  • Menangani data masa kini
  • Data bisa saja tersimpan dalam berbagai platform
  • Melayani permintaan yang periodik atau berulang
  • Mendukung pengambilan keputusan operasional (sehari-hari)
  • Data diorganisasi menurut fungsi, misalnya menurut penjualan atau menurut produksi
  • Ber-orientasi pada transaksi
  • Mendukung kelompok kerja operasional, berjumlah banyak

Sumber data dari Data Warehouse adalah data operasional dalam suatu organisasi seperti data pelanggan, data produk, dsb, kemudian ditambah dengan data eksternal misalnya dari Internet seperti data pemasok, dan data komersial lainnya.

Data Warehouse bersifat multidimensional, lebih dari dua dimensi, sementara tabel relasional untuk OLAP hanya berdimensi dua. Sebagai contoh berikut ini adalah tayangan data tiga dimensi dari data pembelian barang selama beberapa tahun.
GAMBAR: Gambaran Data Tiga Dimensi
GAMBAR: Gambaran Data Tiga Dimensi
Berdasarkan susunan data dimensional seperti diatas, analisis data dapat dilakukan misalnya untuk menjawab pertanyaan : “Berapa jumlah barang-1 yang disalurkan oleh pemasok-2 antara tahun (n-3) sampai dengan tahun (n-1)?”. Persoalan utama yang mungkin dihadapi adalah volume data warehouse tentu sangat besar sehingga diperlukan teknologi pemrosesan paralel seperti Symmetric Multi Processor (SMP) atau Massively Parallel Processor(MPP).
Data Warehouse dapat dibangun menggunakan program aplikasi yang dirancang sendiri, tetapi tersedia beberapa perangkat lunak yang dipasarkan khusus untuk membangun data warehouse pada suatu organisasi, antara lain:
  • SourcePoint (Software AG)
  • HP Intelligent Warehouse (Hewlett Packard)
  • FlowMark (IBM)
Laudon dan Laudon (1998) dalam bukunya menuliskan beberapa langkah untuk membangun data warehouse organisasi, yaitu:
  1. Menentukan misi dan sasaran bisnis yang akan dicapai dengan membangun data warehouse.
  2. Melakukan identifikasi komponen data yang diperlukan dari basisdata operasional untuk membangun data warehouse.
  3. Merancang struktur basis data untuk data warehouse.
  4. Membangun kebijakan dalam mengarsipkan data lama sehingga ruang penyimpanan bisa diatur sedemikian rupa agar eksekusi program analisa data tidak terlalu lamban.
  5. Mentransfer data operasional secara periodik ke dalam basis data warehouse.
Selain data warehouse dikenal pula istilah data mart yang tidak merupakan bagian dari data warehouse untuk melayani kebutuhan organisasi dalam lingkup yang lebih sempit, misalnya kebutuhan bagian atau departemen tertentu dalam organisasi. Perbedaan antara data warehouse dan data mart antara lain:
  • Data mart difokuskan untuk keperluan pemakai yang terkait dalam sebuah departemen atau suatu fungsi bisnis.
  • Data mart biasanya mengandung data operasional yang tidak terlalu rinci seperti pada data warehouse.
  • Data mart umumnya mengandung informasi yang lebih sedikit dibanding dengan data warehouse.
Beberapa contoh produk data mart adalah sebagai berikut:
  • SmartMart (IBM)
  • Visual Warehouse (IBM)
  • PowerMart (Informatica)

Sistem Manajemen Basis Data

            Sistem Manajemen Basis-Data (Data Base Management System / DBMS) adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan meng-akses basis data dengan cara praktis dan efisien. DBMS dapat digunakan untuk meng-akomodasikan berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda-beda. DBMS pada umumnya menyediakan fasilitas atau fitur-fitur yang memungkinkan data dapat diakses dengan mudah, aman, dan cepat. Beberapa fitur yang secara umum tersedia adalah:
  • Keamanan : DBMS menyediakan sistem pengamanan data sehingga tidak mudah diakses oleh orang yang tidak memiliki hak akses.
  • Independensi : DBMS menjamin independensi antara data dan program, data tidak bergantung pada program yang meng-akses-nya, karena struktur data-nya dirancang berdasarkan kebutuhan informasi, bukan berdasarkan struktur program. Sebaliknya program juga tidak bergantung pada data, sehingga walaupun struktur data diubah, program tidak perlu berubah.
  • Konkruensi / data sharing : data dapat diakses secara bersamaan oleh beberapa pengguna karena manajemen data dilaksanakan oleh DBMS.
  • Integritas : DBMS mengelola file-file data serta relasi-nya dengan tujuan agar data selalu dalam keadaan valid dan konsisten
  • Pemulihan : DBMS menyediakan fasilitas untuk memulihkan kembali file-file data ke keadaan semula sebelum terjadi-nya kesalahan (error) atau gangguan baik kesalahan perangkat keras maupun kegagalan perangkat lunak.
  • Kamus / katalog sistem : DBMS menyediakan fasilitas kamus data atau katalog sistem yang menjelaskan deskripsi dari field-field data yang terkandung dalam basisdata.
  • Perangkat Produktivitas : DBMS menyediakan sejumlah perangkat produktivitas sehingga memudahkan para pengguna untuk menarik manfaat dari database, misalnya report generator (pembangkit laporan) dan query generator (pembangkit query / pencarian informasi).

Sistem Manajemen Basis-Data (DBMS) memiliki berbagai keunggulan dibandingkan dengan pengelolaan data tanpa DBMS, walaupun tidak terlepas dari beberapa kelemahan.
Keunggulan DBMS antara lain sbb:
  • Mengurangi duplikasi data atau data redundancy
  • Menjaga konsistensi dan integritas data
  • Meningkatkan keamanan data
  • Meningkatkan effisiensi dan effektivitas penggunaan data
  • Meningkatkan produktivitas para pengguna data
  • Memudahkan pengguna dalam menggali informasi dari kumpulan data
  • Meningkatkan pemeliharaan data melalui independensi data
  • Meningkatkan pemakaian bersama dari data
  • Meningkatkan layanan backup dan recovery data
  • Mengurangi konflik antar pengguna data
Kelemahan DBMS antara lain sbb:
  • Memerlukan suatu skill tertentu untuk bisa melakukan administrasi dan manajemen database agar dapat diperoleh struktur dan relasi data yang optimal
  • Memerlukan kapasitas penyimpanan baik eksternal (disk) maupun internal (memory) agar DBMS dapat bekerja cepat dan efisien.
  • Harga DBMS yang handal biasanya sangat mahal
  • Kebutuhan akan sumber daya (resources) biasanya cukup tinggi
  • Konversi dari sistem lama ke sistem DBMS terkadang sangat mahal, disamping biaya pengadaan perangkat keras dan perangkat lunak, diperlukan pula biaya pelatihan.
  • Apabila DBMS gagal menjalankan misinya maka tingkat kegagalan menjadi lebih tinggi karena banyak pengguna yang bergantung pada sistem ini.
Berikut ini disajikan tabel beberapa DBMS yang terkenal.
DBMS Perusahaan
Access Microsoft Corporation
DB2 IBM
Informix IBM
Ingress Computer Associate
mySQL The MySQL Company
Oracle Oracle Corporation
Postgres SQL Postgres
Sybase Sybase Inc.
Visual dBase Borland
Visual FoxPro FoxPro Corporation
DBMS untuk model data berbasis objek biasanya dinamakan sebagai Object Oriented Data Base Management System (OODBMS). Beberapa OODBMS yang terkenal adalah sebagai berikut:
OODBMS
Perusahaan
Gemstone Gemstone System
Matisse ADB Inc.
Versant Versant
Jeevan W3 Apps.
Vision Insyte
Objectivity Objectivity Inc.
ObjectStone Object Design Inc.
Poet Poet Software.
Perlu ditambahkan disini bahwa beberapa DBMS berbasis objek sebenarnya tetap menggunakan file data relasional biasa, dengan kata lain, programnya berbasis objek tetapi datanya masih model relasional biasa. Software seperti ini biasanya disebut sebagai Object Oriented Relational DataBase Management System (OORDBMS), misalnya Visual dBase.
Arsitektur DBMS

Salah satu tujuan dari DBMS adalah untuk menyediakan sarana antar muka (interface) dalam meng-akses data secara efisien tanpa harus melihat kerumitan atau detail tentang cara data direkam dan dipelihara. DBMS memiliki arsitektur untuk melakukan abstraksi dari data sehingga dapat diperoleh independensi data-program.
Pada tahun 1975, badan standarisasi nasional Amerika ANSI-SPARC (American National Standards Institute – Standards Planning and Requirements Committee) menetapkan tiga level abstraksi dalam database, yaitu:
  1. Level Eksternal (external level) atau Level Pandangan (view level)
  2. Level Konseptual (conceptual level)
  3. Level Internal (internal level) atau Level Fisik (physical level)
Level Eksternal adalah level yang berhubungan langsung dengan pengguna database. Pada level ini pengguna (user) hanya bisa melihat struktur data sesuai dengan keperluannya sehingga setiap user bisa memiliki pandangan (view) yang berbeda dari user lainnya. Pada level ini pula dimungkinkan pandangan user berbeda dengan representasi fisik dari data, misalkan untuk data hari secara fisik data direkam dalam bentuk kode (1, 2, 3, dst) sedang user melihat data dalam bentuk teks nama hari (Ahad, Senin, Selasa, …). Data yang dilihat oleh user seakan-akan berasal dari satu file, secara fisik mungkin diambil dari beberapa file yang berelasi.
Arsitektur Sistem Manajemen Basis Data
Arsitektur Sistem Manajemen Basis Data
Level Konseptual adalah level dari para administrator database, pada level ini didefinisikan hubungan antar data secara logik, sehingga diperlukan struktur data secara lengkap. Para administrator database memahami bagaimana satu view dijabarkan dari beberapa file data, demikian pula pada saat perancangan database mereka dapat saja membagi data menjadi beberapa file agar dapat diakses dan disimpan secara efisien.
Level Internal adalah level dimana data disimpan secara fisik dalam bentuk kode, teks, angka, bit. Pada level ini didefinisikan allokasi ruang penyimpanan data, deskripsi data dalam penyimpanan, kompressi data (agar lebih hemat), dan enkripsi data (agar lebih aman).
Agar independensi data dapat dicapai maka disediakan pemetaan antar lapisan (level), yatiu pemetaan eksternal-konseptual dan pemetaan konseptual-internal. Pada pemetaan eksternal-konseptual, DBMS dapat memetakan field-field data dari user-view ke dalam struktur data yang sesungguhnya. Pada pemetaan konseptual-internal, DBMS dapat menemukan rekaman fisik dari data yang didefinisikan pada struktur logik.
Contoh Tiga Level Abstraksi Data Mahasiswa
Contoh Tiga Level Abstraksi Data Mahasiswa

Bahasa DBMS


Implementasi bahasa DBMS bervariasi sesuai dengan variasi perusahaan yang merancangnya, namun pada prinsipnya bahasa ini bisa dikategorikan ke dalam tiga komponen bahasa, yaitu:
  1. Data Definition/Decription Language (DDL)
  2. Data Manipulation Language (DML)
  3. Device Control Media Language (DCML)
DDL adalah komponen bahasa DBMS yang digunakan untuk mendefinisikan struktur data antara lain perintah untuk membuat tabel baru (CREATE) dimana terdefinisi komponen/field data dengan tipe dan panjangnya, mengubah index (INDEX, REINDEX) agar setiap rekord dalam satu file data dapat diakses melalui indeks-nya, mengubah struktur (MODIFY STRUCT) dari file data, dan sebagainya. Komponen bahasa ini banyak digunakan oleh para administrator basisdata pada saat merencanakan atau membangun file-file basisdata.
DML adalah komponen bahasa DBMS yang digunakan untuk memanipulasi data, komponen ini diperlukan oleh para pengguna untuk memanipulasi data, antara lain perintah-perintah untuk melakukan hal-hal berikut ini:
  • mengambil data dari basisdata (LIST, DISPLAY)
  • menambah data kedalam basisdata (INSERT, APPEND)
  • meremajakan data yang ada dalam basisdata (UPDATE)
  • menghapus data yang tidak diperlukan (DELETE)
  • meng-urutkan data (SORT)
  • menghitung frekuensi data (COUNT)
  • mencari data (SEEK, FIND)
        DML dapat dibedakan atas dua macam, yaitu DML Prosedural dan DML Non-Prosedural. Pada DML Prosedural ketika data akan dimanipulasi maka perintah harus disertai dengan perintah-perintah bagaimana data diakses dari file database. Perintah DML Prosedural biasanya termuat dalam bahasa pemrograman tingkat tinggi (high level programming language) seperti COBOL, C, C++ dan sebagainya. Pada DML non-Prosedural data dapat dimanipulasi langsung tanpa harus memerintahkan bagaimana data dibaca dari file. Perintah DML non-Prosedural biasanya digunakan dalam bahasa-bahasa DBMS seperti pada dBase, Access, Paradox, FoxPro, SQL, dan sebagainya.

        DCML adalah komponen bahasa DBMS yang digunakan untuk mengatur perekaman atau penyimpanan data secara fisik. Komponen bahasa DCML digunakan oleh operator-operator sistem basisdata didalam mengatur file-file data secara fisik. Perintah-perintah yang termuat dalam komponen ini, antara lain perintah perintah: merekam (Write Record, Create Table), menghapus (Drop, Delete Table).

Perangkat Interkoneksi

            Perangkat Interkoneksi adalah perangkat yang menghubungkan satu jaringan dengan jaringan yang lain, misalnya antara satu LAN dengan LAN lainnya, atau antara LAN dengan WAN, dsb.
  • Ada dua cara untuk menghubungkan LAN dengan LAN yaitu dengan BRIDGE atau dengan ROUTER.
  • BRIDGE dipakai untuk menghubungkan dua LAN yang persis sama
  • ROUTER dipakai untuk menghubungkan dua LAN yang sifatnya berbeda, juga antara satu LAN yang dikoneksi ke WAN.
  • SWITCH bisa digunakan untuk menghubungkan beberapa LAN yang sama.
  • GATEWAY bisa digunakan untuk menghubungkan dua buah jaringan yang memiliki protokol yang sangat berbeda, misalnya antara jaringan SNA dari IBM dengan jaringan NOVELL Netware.
GAMBAR: Perbandingan HUB-Bridge-Switch
GAMBAR: Perbandingan HUB-Bridge-Switch

Bridge


  • Bridge adalah perangkat yang dirancang untuk menghubungkan dua LAN yang memiliki protokol identik pada lapisan fisik dan data-link. Karena protokol sama maka Bridge tidak memerlukan pengelolaan sinyal yang kompleks.
  • Beberapa alasan utama pemakaian Bridge adalah:
    • Keandalan, dengan membagi jaringan kedalam beberapa segmen yang dihubungkan dengan Bridge maka kegagalan dalam satu segmen tidak perlu menggagalkan operasi pada segmen lain. Apabila seluruh perangkat dipasang hanya dalam satu LAN maka suatu kegagalan dapat menyebabkan seluruh jaringan macet.
    • Kinerja, apabila suatu jaringan memiliki banyak perangkat, maka biasanya kinerja menurun dengan semakin bertambahnya perangkat. Dengan membagi jaringan kedalam beberapa jaringan kecil yang dihubungkan dengan Bridge maka kinerja peralatan bisa lebih baik.
    • Keamanan, jaringan yang terpisah bisa menerapkan sistem keamanan yang berbeda satu sama lain. Misalnya LAN untuk personalia dipisah dengan LAN untuk keuangan, dan tingakat pengamanan untuk LAN personalia dapat dibedakan dengan tingkat pengamanan untuk akses LAN keuangan.
    • Geografis, apabila dua jaringan terpisah secara geografis maka sebaiknya keduanya tidak disatukan dengan kabel tetapi lebih baik terpisah dan dihubungkan dengan Bridge.
GAMBAR: Koneksi Dua LAN Melalui Bridge
GAMBAR: Koneksi Dua LAN Melalui Bridge
Fungsi Bridge pada gambar diatas :
  1. Membaca semua frame data yang ditransmisikan pada A dan menerima frame-frame tersebut yang ditujukan ke terminal pada B.
  2. Menggunakan protokol yang sama untuk A dan B untuk mentransmisikan frame-frame pada B.
  3. Melakukan hal yang sama untuk lalu-lintas data dari B ke A.
GAMBAR: Konfigurasi Bridge Beberapa LAN
GAMBAR: Konfigurasi Bridge Beberapa LAN

Router


  • Seperti halnya sebuah Bridge, Router juga sebuah peralatan hardware atau software yang dipergunakan untuk mengarahkan informasi yang berasal dari protokol pengalamatan (routing ptotocol) sumber informasi ke protokol pengalamatan tujuan. Router melakukan pekerjaan satu langkah lebih maju dari Bridge karena Router akan memeriksa paket data akan ditujukan ke arah mana, bila arah-nya pada LAN yang sama maka Router tidak perlu bekerja lebih lanjut, tetapi arahnya ke LAN yang berbeda maka barulah Router bekerja mengarahkan paket data tersebut.
  • Karakteristik lain dari Router adalah sbb:
    • dapat mencari rute atau jalur yang terbaik antara dua segmen jaringan
    • dapat mengelola dan menangani banyak tugas antar segmen
    • dapat membantu mengelola lalulintas jaringan
    • dapat menghubungkan dua segmen jaringan yang berbeda protokol lapisan fisik dan lapisan data-link, karena bekerja pada lapisan network.
    • dipergunakan pada koneksi ke jaringan MAN dan WAN
  • Protokol pada Router disebut “routing protocol”, antara lain adalah: inter-router protocol, serial-line protocol, dan protocol stack routing and bridging.
  • Inter-router protocol adalah protokol yang mengatur pengarahan paket data antara satu router dengan router lainnya, misalnya: RIP (Routing Information Protocol) dari Novell, dan OSPF (Open Short Path First) dari Internet Engineering Task Force (IETF).
  • Serial-line protocol adalah protokol yang menangani pengarahan paket data yang dikirim melalui koneksi serial seperti sistem dial-up yang menhubungkan router-router yang berbeda, termasuk diantaranya adalah: HDLC, SLIP (Serial Line Interface Protocol), dan PPP (Point-to-Point Protocol).
  • Protocol Stack Routing and Bridging adalah protocol yang memutuskan apakah paket data harus diarahkan (routed) atau hanya diteruskan (bridged).
GAMBAR:Router Menghubungkan Berbagai Jaringan
GAMBAR:Router Menghubungkan Berbagai Jaringan

Switch


  • Gambar berikut ini memperlihatkan perbedaan dari pemakaian “kabel bus” bersama, “hub” bersama dan “switch”.
GAMBAR: Pemakaian Switching HUB
GAMBAR: Pemakaian Switching HUB
Beberapa sifat yang menarik dari Hub yang bersifat Switch adalah sbb:
  • Tidak diperlukan perubahan-perubahan tertentu terhadap software maupun hardware pada perangkat yang terhubung untuk mengubah LAN dengan Hub menjadi LAN dengan Switch.
  • Masing-masing perangkat yang terhubung ke Switch memiliki kapasitas yang sebanding dengan kapasitas yang tersedia pada LAN Hub. Pada Hub Bus kapasitas 10 Mbps sebenarnya dibagi-bagi secara bersama oleh setiap perangkat yang terhubung. Pada Switch setiap perangkat dapat memiliki kapasitas yang sama sebesar 10 Mbps.
  • Hub berdasarkan Switch dapat berkembang dengan mudah.
Contoh sebuah LAN pada sebuah kantor yang memakai HUB dan SWITCH diperlihatkan pada gambar berikut ini.
GAMBAR: Switch dan HUB dalam Jaringan
GAMBAR: Switch dan HUB dalam Jaringan
Perusahaan utama yang memproduksi peralatan jaringan dan interkoneksi-nya antara lain adalah : Cisco, D-Link, ProLink, AT&T, dan Black Box.

Gateway

Gateway adalah perangkat yang mampu menterjemahkan signal dari satu sistem jaringan ke sistem jaringan lainnya yang memiliki protokol berbeda. Sebagai contoh setiap jaringan lokal memiliki gateway untuk berkomunikasi dengan jaringan luar katakanlah dengan internet.
GAMBAR: Gateway Menggabungkan Dua Jaringan yang Tidak Sama
GAMBAR: Gateway Menggabungkan Dua Jaringan yang Tidak Sama

Sabtu, 09 April 2011

Load Balance menggunakan Metode PCC

Load balance pada mikrotik adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu tanggap dan menghindari overload pada salah satu jalur koneksi.

Selama ini banyak dari kita yang beranggapan salah, bahwa dengan menggunakan loadbalance dua jalur koneksi , maka besar bandwidth yang akan kita dapatkan menjadi dua kali lipat dari bandwidth sebelum menggunakan loadbalance (akumulasi dari kedua bandwidth tersebut). Hal ini perlu kita perjelas dahulu, bahwa loadbalance tidak akan menambah besar bandwidth yang kita peroleh, tetapi hanya bertugas untuk membagi trafik dari kedua bandwidth tersebut agar dapat terpakai secara seimbang.

Dengan artikel ini, kita akan membuktikan bahwa dalam penggunaan loadbalancing tidak seperti rumus matematika 512 + 256 = 768, akan tetapi 512 + 256 = 512 + 256, atau 512 + 256 = 256 + 256 + 256.
Pada artikel ini kami menggunakan RB433UAH dengan kondisi sebagai berikut :
1.    Ether1 dan Ether2 terhubung pada ISP yang berbeda dengan besar bandwdith yang berbeda. ISP1 sebesar 512kbps dan ISP2 sebesar 256kbps.
2.    Kita akan menggunakan web-proxy internal dan menggunakan openDNS.
3.    Mikrotik RouterOS anda menggunakan versi 4.5  karena fitur PCC mulai dikenal pada versi 3.24.
Jika pada kondisi diatas berbeda dengan kondisi jaringan ditempat anda, maka konfigurasi yang akan kita jabarkan disini harus anda sesuaikan dengan konfigurasi untuk jaringan ditempat anda.

Konfigurasi Dasar

Berikut ini adalah Topologi Jaringan dan IP address yang akan kita gunakan


/ip address
add address=192.168.101.2/30 interface=ether1
add address=192.168.102.2/30 interface=ether2
add address=10.10.10.1/24 interface=wlan2
/ip dns
set allow-remote-requests=yes primary-dns=208.67.222.222 secondary-dns=208.67.220.220


Untuk koneksi client, kita menggunakan koneksi wireless pada wlan2 dengan range IP client 10.10.10.2 s/d 10.10.10.254 netmask 255.255.255.0, dimana IP 10.10.10.1 yang dipasangkan pada wlan2 berfungsi sebagai gateway dan dns server dari client. Jika anda menggunakan DNS dari salah satu isp anda, maka akan ada tambahan mangle yang akan kami berikan tanda tebal

Setelah pengkonfigurasian IP dan DNS sudah benar, kita harus memasangkan default route ke masing-masing IP gateway ISP kita agar router meneruskan semua trafik yang tidak terhubung padanya ke gateway tersebut. Disini kita menggunakan fitur check-gateway berguna jika salah satu gateway kita putus, maka koneksi akan dibelokkan ke gateway lainnya.

/ip route
add dst-address=0.0.0.0/0 gateway=192.168.101.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.102.1 distance=2 check-gateway=ping


Untuk pengaturan Access Point sehingga PC client dapat terhubung dengan wireless kita, kita menggunakan perintah

/interface wireless
set wlan2 mode=ap-bridge band=2.4ghz-b/g ssid=Mikrotik disabled=no


Agar pc client dapat melakukan koneksi ke internet, kita juga harus merubah IP privat client ke IP publik yang ada di interface publik kita yaitu ether1 dan ether2.

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat out-interface=ether2


Sampai langkah ini, router dan pc client sudah dapat melakukan koneksi internet. Lakukan ping baik dari router ataupun pc client ke internet. Jika belum berhasil, cek sekali lagi konfigurasi anda.


Webproxy Internal
Pada routerboard tertentu, seperti RB450G, RB433AH, RB433UAH, RB800 dan RB1100 mempunyai expansion slot (USB, MicroSD, CompactFlash) untuk storage tambahan. Pada contoh berikut, kita akan menggunakan usb flashdisk yang dipasangkan pada slot USB. Untuk pertama kali pemasangan, storage tambahan ini akan terbaca statusnya invalid di /system store. Agar dapat digunakan sebagai media penyimpan cache, maka storage harus diformat dahulu dan diaktifkan Nantinya kita tinggal mengaktifkan webproxy dan set cache-on-disk=yes untuk menggunakan media storage kita. Jangan lupa untuk membelokkan trafik HTTP (tcp port 80) kedalam webproxy kita.


/store disk format-drive usb1
/store
add disk=usb1 name=cache-usb type=web-proxy
activate cache-usb

/ip proxy
set cache-on-disk=yes enabled=yes max-cache-size=200000KiB port=8080

/ip firewall nat
add chain=dstnat protocol=tcp dst-port=80 in-interface=wlan2 action=redirect to-ports=8080



Pengaturan Mangle

Pada loadbalancing kali ini kita akan menggunakan fitur yang disebut PCC (Per Connection Classifier). Dengan PCC kita bisa mengelompokan trafik koneksi yang melalui atau keluar masuk router menjadi beberapa kelompok. Pengelompokan ini bisa dibedakan berdasarkan src-address, dst-address, src-port dan atau dst-port. Router akan mengingat-ingat jalur gateway yang dilewati diawal trafik koneksi, sehingga pada paket-paket selanjutnya yang masih berkaitan dengan koneksi awalnya akan dilewatkan  pada jalur gateway yang sama juga. Kelebihan dari PCC ini yang menjawab banyaknya keluhan sering putusnya koneksi pada teknik loadbalancing lainnya sebelum adanya PCC karena perpindahan gateway..
Sebelum membuat mangle loadbalance, untuk mencegah terjadinya loop routing pada trafik, maka semua trafik client yang menuju network yang terhubung langsung dengan router, harus kita bypass dari loadbalancing. Kita bisa membuat daftar IP yang masih dalam satu network router dan  memasang mangle pertama kali sebagai berikut


/ip firewall address-list
add address=192.168.101.0/30 list=lokal
add address=192.168.102.0/30 list=lokal
add address=10.10.10.0/24 list=lokal

/ip firewall mangle
add action=accept chain=prerouting dst-address-list=lokal in-interface=wlan2 comment=”trafik lokal”
add action=accept chain=output dst-address-list=lokal


Pada kasus tertentu, trafik pertama bisa berasal dari Internet, seperti penggunaan remote winbox atau telnet dari internet dan sebagainya, oleh karena itu kita juga memerlukan mark-connection untuk menandai trafik tersebut agar trafik baliknya juga bisa melewati interface dimana trafik itu masuk

/ip firewall mangle
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=ether1 new-connection-mark=con-from-isp1 passthrough=yes comment=”trafik dari isp1”
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=ether2 new-connection-mark=con-from-isp2 passthrough=yes comment=”trafik dari isp2”


Umumnya, sebuah ISP akan membatasi akses DNS servernya dari IP yang hanya dikenalnya, jadi jika anda menggunakan DNS dari salah satu ISP anda, anda harus menambahkan mangle agar trafik DNS tersebut melalui gateway ISP yang bersangkutan bukan melalui gateway ISP lainnya. Disini kami berikan mangle DNS ISP1 yang melalui gateway ISP1. Jika anda menggunakan publik DNS independent, seperti opendns, anda tidak memerlukan mangle dibawah ini.

/ip firewall mangle
add action=mark-connection chain=output comment=dns dst-address=202.65.112.21 dst-port=53 new-connection-mark=dns passthrough=yes protocol=tcp comment=”trafik DNS citra.net.id”
add action=mark-connection chain=output dst-address=202.65.112.21 dst-port=53 new-connection-mark=dns passthrough=yes protocol=udp
add action=mark-routing chain=output connection-mark=dns new-routing-mark=route-to-isp1 passthrough=no


Karena kita menggunakan webproxy pada router, maka trafik yang perlu kita loadbalance ada 2 jenis. Yang pertama adalah trafik dari client menuju internet (non HTTP), dan trafik dari webproxy menuju internet. Agar lebih terstruktur dan mudah dalam pembacaannya, kita akan menggunakan custom-chain sebagai berikut :

/ip firewall mangle
add action=jump chain=prerouting comment=”lompat ke client-lb” connection-mark=no-mark in-interface=wlan2 jump-target=client-lb
add action=jump chain=output comment=”lompat ke lb-proxy” connection-mark=no-mark out-interface=!wlan2 jump-target=lb-proxy


Pada mangle diatas, untuk trafik loadbalance client pastikan parameter in-interface adalah interface yang terhubung dengan client, dan untuk trafik loadbalance webproxy, kita menggunakan chain output dengan parameter out-interface yang bukan terhubung ke interface client. Setelah custom chain untuk loadbalancing dibuat, kita bisa membuat mangle di custom chain tersebut sebagai berikut

/ip firewall mangle
add action=mark-connection chain=client-lb dst-address-type=!local new-connection-mark=to-isp1 passthrough=yes per-connection-classifier=both-addresses:3/0 comment=”awal loadbalancing klien”
add action=mark-connection chain=client-lb dst-address-type=!local new-connection-mark=to-isp1 passthrough=yes per-connection-classifier=both-addresses:3/1
add action=mark-connection chain=client-lb dst-address-type=!local new-connection-mark=to-isp2 passthrough=yes per-connection-classifier=both-addresses:3/2
add action=return chain=client-lb comment=”akhir dari loadbalancing”

/ip firewall mangle
add action=mark-connection chain=lb-proxy dst-address-type=!local new-connection-mark=con-from-isp1 passthrough=yes per-connection-classifier=both-addresses:3/0 comment=”awal load balancing proxy”
add action=mark-connection chain=lb-proxy dst-address-type=!local new-connection-mark=con-from-isp1 passthrough=yes per-connection-classifier=both-addresses:3/1
add action=mark-connection chain=lb-proxy dst-address-type=!local new-connection-mark=con-from-isp2 passthrough=yes per-connection-classifier=both-addresses:3/2
add action=return chain=lb-proxy comment=”akhir dari loadbalancing”


Untuk contoh diatas, pada loadbalancing client dan webproxy menggunakan parameter pemisahan trafik pcc yang sama, yaitu both-address, sehingga router akan mengingat-ingat berdasarkan src-address dan dst-address dari sebuah koneksi. Karena trafik ISP kita yang berbeda (512kbps dan 256kbps), kita membagi beban trafiknya menjadi 3 bagian. 2 bagian pertama akan melewati gateway ISP1, dan 1 bagian terakhir akan melewati gateway ISP2. Jika masing-masing trafik dari client dan proxy sudah ditandai, langkah berikutnya kita tinggal membuat mangle mark-route yang akan digunakan dalam proses routing nantinya

/ip firewall mangle
add action=jump chain=prerouting comment=”marking route client” connection-mark=!no-mark in-interface=wlan2 jump-target=route-client
add action=mark-routing chain=route-client connection-mark=to-isp1 new-routing-mark=route-to-isp1 passthrough=no
add action=mark-routing chain=route-client connection-mark=to-isp2 new-routing-mark=route-to-isp2 passthrough=no
add action=mark-routing chain=route-client connection-mark=con-from-isp1 new-routing-mark=route-to-isp1 passthrough=no
add action=mark-routing chain=route-client connection-mark=con-from-isp2 new-routing-mark=route-to-isp2 passthrough=no
add action=return chain=route-client disabled=no

/ip firewall mangle
add action=mark-routing chain=output comment=”marking route proxy” connection-mark=con-from-isp1 new-routing-mark=route-to-isp1 out-interface=!wlan2 passthrough=no
add action=mark-routing chain=output connection-mark=con-from-isp2 new-routing-mark=route-to-isp2 out-interface=!wlan2 passthrough=no



Pengaturan Routing

Pengaturan mangle diatas tidak akan berguna jika anda belum membuat routing berdasar mark-route yang sudah kita buat. Disini kita juga akan membuat routing backup, sehingga apabila sebuah gateway terputus, maka semua koneksi akan melewati gateway yang masing terhubung


/ip route
add check-gateway=ping dst-address=0.0.0.0/0 gateway=192.168.101.1 routing-mark=route-to-isp1 distance=1
add check-gateway=ping dst-address=0.0.0.0/0 gateway=192.168.102.1 routing-mark=route-to-isp1 distance=2
add check-gateway=ping dst-address=0.0.0.0/0 gateway=192.168.102.1 routing-mark=route-to-isp2 distance=1
add check-gateway=ping dst-address=0.0.0.0/0 gateway=192.168.101.1 routing-mark=route-to-isp2 distance=2


Pengujian


Dari hasil pengujian kami, didapatkan sebagai berikut

Dari gambar terlihat, bahwa hanya dengan melakukan 1 file download (1 koneksi), kita hanya mendapatkan speed 56kBps (448kbps) karena pada saat itu melewati gateway ISP1, sedangkan jika kita mendownload file (membuka koneksi baru) lagi pada web lain, akan mendapatkan 30kBps (240kbps). Dari pengujian ini terlihat dapat disimpulkan bahwa

512kbps + 256kbps ≠ 768kbps
Catatan :
* Loadbalancing menggunakan teknik pcc ini akan berjalan efektif dan mendekati seimbang jika semakin banyak koneksi (dari client) yang terjadi.
* Gunakan ISP yang memiliki bandwith FIX bukan Share untuk mendapatkan hasil yang lebih optimal.
* Load Balance menggunakan PCC ini bukan selamanya dan sepenuhnya sebuah solusi yang pasti berhasil baik di semua jenis network, karena proses penyeimbangan dari traffic adalah berdasarkan logika probabilitas. 

Related Posts Plugin for WordPress, Blogger...
Technology News: Teknologi Informasi

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cna certification