Sabtu, 27 Agustus 2016

                                   Pengertian Algoritma dan Pemrograman

1.  Apakah Itu Algoritma

Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
2.  Definisi Algoritma

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
3.  Beda Algoritma dan Program

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a.  Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.
b.  Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c.  Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d.  Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e.  Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f.  Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.
4.  Algoritma Merupakan Jantung Ilmu Informatika

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian.
Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:
*Mengerti setiap langkah dalam algoritma.
*Mengerjakan operasi yang bersesuaian dengan langkah tersebut.



5.  Mekanisme Pelaksanaan Algoritma oleh Pemroses

Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.
Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer.
Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat.
Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.



Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).
6.  Belajar Memprogram dan Belajar Bahasa Pemrograman

Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar :
Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
Bahasa perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasabertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan yang berbeda pula.
Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam :
Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.
Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. Di antaranya adalah :



7.  Menilai Sebuah Algoritma

Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang terbaik?. Beberapa persyaratan untuk menjadi algoritma yang baik adalah :
*Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
*Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
*Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
*Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
*Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
*Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
*Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.
Contoh :   Tambahkan 1 atau 2 pada x.

Instruksi di atas terdapat keraguan.

*Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
*Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.
Contoh :   Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.

*Misal : Hitung akar 2 sampai lima digit di belakang koma.
*Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka pasti terminate?
Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.
Sedangkan kriteria Algoritma menurut Donald E. Knuth adalah :

*Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
*Output: algoritma harus memiliki minimal satu buah output keluaran.
*Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
*Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
*Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Namun ada beberapa program yang memang dirancang untuk unterminatable : contoh Sistem Operasi.
8.  Penyajian Algoritma

Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal.
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di
samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:


Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.
Kaidah-Kaidah Umum Pembuatan Flowchart Program
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu :
*Input,
*Proses pengolahan dan
*Output



Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran :
Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia pemrograman :





Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana.
Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas persegi panjang.
Solusi : Perumusan untuk mencari luas persegi panjang adalah :
L = p . l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.


Keterangan :
Simbol pertama menunjukkan dimulainya sebuah program.
Simbol kedua menunjukkan bahwa input data dari p dan l.
Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L = p. l.
Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.
9.  Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:
Struktur Runtunan
Digunakan untuk program yang pernyataannya sequential atau urutan.
Struktur Pemilihan
Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
Struktur Perulangan
Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.
Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Contoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan
Solusi Pseudo-code :
Masukkan bilangan pertama
Masukkan bilangan kedua
Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
Tampilkan bilangan pertama
Tampilkan bilangan kedua
Solusi Algoritma :
Masukkan bilangan pertama (a)
Masukkan bilangan kedua (b)
if a > b then kerjakan langkah 4
print a
print b
Contoh Lain Algortima dan Pseudo-code :



10.  Tahapan dalam Pemrograman

Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah :
*Definisikan Masalah
*Buat Algoritma dan Struktur Cara Penyelesaian
*Menulis Program
*Mencari Kesalahan
*Uji dan Verifikasi Program
*Dokumentasi Program
*Pemeliharaan Program

Rabu, 24 Agustus 2016

Pengertian Variabel, Konstanta dan Tipe Data

Sebelum memasuki Bahasa pemograman kita harus mengenal, mengetahui dan harus diingat tiga hal. Variabel, Konstanta dan Tipe data tiga hal ini selalu berhubungan dengan bahasa pemograman.
Variabel
1.Pengertian Variabel 

Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier) dan nilai.
Contoh Nama variabel dan nilai. username = “joni”
Nama = “Al-Khawarizmi”
Harga = 2500
HargaTotal = 34000 username, Nama, harga dan HargaTotal adalah nama dari variabel, sedangkan “joni”, “Al-Khawarizmi”, 2500 dan 34000 adalah nilai dari masing-masing variabel. Nilai-nilai ini akan tersimpan di dalam nama variabel masing-masing sepanjang tidak kita rubah.
Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan variabel baru pada kode program akan terjadi waktu tunda karena compiler harus membuat variabel baru. Hal ini memperlambat proses kerja compiler. Bahkan pada beberapa bahasa pemrograman, compiler akan menolak untuk melanjutkan proses kompilasi.
Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman. Aturan-aturan tersebut yaitu:
1.Nama variabel harus diawali dengan huruf.
2.Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_).
3.Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain.
4.Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman
Penanaman Yang Benar   Penanaman Yang Salah
1.namasiswa                        1. nama siswa (salah karena menggunakan spasi)
2.XY12                                 2.12X (salah karena dimulai dengan angka)
3.harga_total                         3.harga.total (salah karena menggunakan karakter .)
4JenisMotor                         4.Jenis Motor (salah karena menggunakan spasi)
5.alamatrumah                         5.for (salah karena menggunakan kata kunci bahasa pemrograman)

2.Pengertian Konstanta

Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta. Sedangkan untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai data. Aturan penamaan variabel juga berlaku untuk penamaan konstanta. Demikian juga aturan penetapan tipe data. konstanta dibagi menjadi 4:
1.Konstanta integer, berupa integer biasa, integer panjang (long int) dan integer tak bertanda                (unsigned integer). Nilainya dapat berupa desimal, oktal atau hexadesimal.
2.Konstanta floating point, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk              pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double, kecuali jika              diakhiri dengan F atau f (menyatakan konstanta float).
3.Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik ganda    (“…“). Juga dapat mengandung karakter yang menggunakan tanda \ yang disebut karakter escape        (escape sequence).
4.Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal (‘…’). Beberapa              konstanta karakter dapat diawali dengan tanda \ (penempatannya setelah tanda petik tunggal).
   Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi          (3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi    sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program              dibanding harus mengetikkan nilai 3.14159 berulang-ulang.
3.Tipe Data

Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi.
Tipe Data dikelompokkan menjadi dua Yaitu primitive dan composite
   1.Tipe Data Primitive :
     * Numeric
     *Character
     *Boolean
   2.Tipe Data Composite :
    *Array
    *Record
    *Image
    *Date Time
    *Lainya (Subrange, Enumerasi, dll)
#Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman. Sedangkan tipe data composite adalah tipe data bentukan yang terdiri dari dua atau lebih tipe data primitive.
#Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya berbeda dalam jenis numeric yang diakomodasi.

Jenis yang termasuk dalam tipe data numeric antara lain integer (bilangan bulat), dan float (bilangan pecahan). Selain jenis, dalam bahasa pemrograman juga diterapkan presisi angka yang digunakan, misalnya tipe data Single adalah tipe data untuk bilangan pecahan dengan presisi yang terbatas, sedangkan tipe data Double adalah tipe data untuk bilangan pecahan dengan presisi yang lebih akurat.
#Tipe data Character. Bersama dengan tipe data numeric, character merupakan tipe data yang paling banyak digunakan. Tipe data character kadang disebut sebagai char atau string. Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada dalam tanda petik dua (“…”) atau petik tunggal (‘…’).
#Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah). Pada sebagian besar bahasa pemrograman nilai selain 0 menunjukkan True dan 0 melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan pada struktur percabangan dengan IF … THEN atau IF … THEN … ELSE.
#Array atau sering disebut sebagai larik adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut..
#Record atau Struct adalah termasuk tipe data komposit. Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++.

Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda-beda (heterogen). . Sebagai ilustrasi array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Sedangkan dalam record, kita bisa menggunakan untuk menampung banyak data dengan tipe data yang berbeda, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean.
Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string dan tanggal lahir bertipe data date.

*Image atau gambar atau citra merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual tipe data ini telah didukung dengan sangat baik.
*Date and Time Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite karena merupakan bentukan dari beberapa tipe data.
*Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.
*Tipe data Enumerasi merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi dan bahasa pemrograman deklaratif seperti SQL.
*Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi dan dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh, apabila kita mempunyai form yang memiliki control Command button yang kita beri nama Command1.
*Tipe data Variant hanya ada di Visual Basic. Tipe ini adalah tipe data yang paling fleksibel di antara tipe data yang lain, karena dapat mengakomodasi semua tipe data yang lain seperti telah dijelaskan.




Selasa, 16 Agustus 2016


CARA CRIMPING KABEL UTP KE RJ-45(STRAIGHT DAN CROSS)

Cara Crimping Kabel UTP ke RJ45 (Straight dan Cross). Setelah mengetahui Berbagai Kabel Jaringan Komputer Lan,  kita akan melakukan crimping terhadap kabel UTP menggunakan konektor RJ-45 agar bisa digunakan untuk menghubungkan hardware komputer.

nah, sebelum kita mulai, bahan-bahan yang harus dipersiapkan adalah kabel utp, konektor RJ-45, dan Tang crimping dan kalo lebih bagus kalo kamu ada Lan Tester untuk menguji kabel, jika tidak, masih bisa menggunakan cara lain untuk menguji nya..

Cara Crimping Kabel UTP ke RG-45
Tang Crimping



Cara Crimping Kabel UTP ke RG-45
Kabel UTP

Cara Crimping Kabel UTP ke RG-45
Lan Tester

Cara Crimping Kabel UTP ke RG-45
RJ-45
Kabel UTP terdiri dari 2 jenis, yaitu Straight dan Cross, kabel straight digunakan untuk menghubungkan dua buah hardware yang berbeda seperti menghubungkan PC ke Switch/Hub, dan kabel Cross digunakan untuk menghubungkan dua buah hardware yang sama seperti dari PC ke PC, Laptop ke Laptop.Cara Crimping Kabel UTP ke RJ-45

Cara Crimping Kabel UTP ke RG-45
Cara Crimping Kabel UTP ke RG-45 
Untuk membuat kabel Straight, susunan warna yang digunakan adalah :
Sususan warna pada ujung 1 = Putih Orange, Orange, Putih Hijau, Biru, Putih Biru, Hijau, Putih Coklat, Coklat
Sususan warna pada ujing 2 sama dengan ujung 1.
Untuk membuat kabel Cross, susunan warna yang digunakan adalah :
Susunan warna pada ujung 1 = Putih Orange, Orange, Putih Hijau, Biru, Putih Biru, Hijau, Putih Coklat, Coklat
Susunan warna pada ujung 2 yaitu = Putih Hijau, Hijau, Putih Orange, Biru, Putih Biru, Orange, Putih Coklat, Coklat Cara Crimping Kabel UTP ke RG-45

LANGKAH LANGKAH CRIMPING KABEL STRAIGHT DAN CROSS.

Cara Crimping Kabel UTP ke RJ-45
1. Kupas kulit kabel selebar 2 cm.
2. Susun rapi delapan kabel yang terdapat didalam sesuai dengan gambar dan penjelasan diatas.
3. Luruskan kabel yang masih kusut.
4. Ratakan ujung kabel dengan memotong nya menggunakan tang crimping.
5. Setelah yakin urutan warna benar dan ujung kabel sudah rata, masukan kabel kedalam konektor RJ-45 , pastikan ujung kabel menyentuh ujung RJ-45, dan jepitlah menggunakan Tang Crimping.
6. Setelah menyelesaikan kedua ujung kabel, uji menggunakan Lan tester, jika semua lampu menyala, berarti kabel tersebut telah di crimping dengan benar dan bisa digunakan.
MACAM/JENIS ALAT DAN BAHAN NETWORKING

A.Jenis - Jenis Alat Networking

 1.MODEM

Modem merupakan device yang mampu membuat computer terkoneksi internet melalui line telepon standar. Modem banyak digunakan computer-komputer rumah dan jaringan sederhana untuk dapat berkomunikasi dengan jutaan komputer lain dalam lalu lintas Internet. Kata modem itu sendiri merupakan kependekan dari modulator/demodulator. Ini berarti modem bekerja mengkonversi informasi digital dari computer ke bentuk sinyal analog yang ditransmisikan melalui line telepon. Modem (pada computer penerima) selanjutnya mengkonversi ulang sinyal analog ke sinyal digital.
Ditinjau dari sisi hardware, terdapat dua jenis modem popular yakni modem eksternal dan modem internal. Sesuai dengan namanya, modem eksternal adalah jenis modem yang perangakatfisiknya terpisah dari computer (CPU). Sebaliknya, modem internal adalah jenis modem yang disertakan satu paket dengan CPU computer. Modem sangat cocok untuk koneksi internet computer-komputer individual dan jaringan sederhana (yang memiliki jumlah PC tidak bagitu banyak), sedang koneksi internet untuk jaringan-jaringan skala besaar-menengah, memakai teknologi wireless merupakan solusi yang lebih reliable.

Gambar Modem Internal Dan External
2. HUB
 
Hub berfungsi untuk menghubungkan dua computer atau lebih atau ketika ingin membangun sebuah jaringan sederhana, sering dihadapkan pada dua pilihan : apakah menggunakan HUB atau tidak. HUB memang tidak selamanya harus diikutkan dalam membangun jaringan. Jika kabel jaringan yang dipakai berjernis coaxial atau coax, HUB tidak dibutuhkan. Namun jika kabel jaringan berjenis UTP, HUB mutlak diperlukan untuk jumlah klien tiga PC atau lebih.
Secara fisik HUB berbentuk kotak kecil persegi panjang. HUB berfuingsi menghubungkan computer-komputer atau device-device jaringan lainnya, sehingga dapat membentuk satu segment jaringan. Melalui HUB, setiap computer dapat saling berkomunikasi secara langsung.
Kebanyakan HUB yang diproduksi saat ini men-support card jaringan (Ethernet) standar. Orang-orang cukup memasukkan salah satu ujung kabel (yang terpasang konektor RJ-45) ke salah satu port yang tersedia pada HUB, sedang ujung lannya ke Ethernet card computer.
HUB berbeda dengan modem. Modem diperlukan agar dapat terkoneksi Internet, sedangkan HUB dibutuhkan agar dapat menghubungkan computer-komputer satu sama lain. Jika seseorang memiliki koneksi Internet melalui modem, dia dapat memakai HUB untuk membuat koneksi tersebut di-sharing oleh semua computer.
HUB-HUB pada awalnya mensupport kecepatan Ethernet 10 Mbps. Namun dewasa ini banyak HUB memiliki kecepatan data 100 Mbps. Untuk membantu user-user yang mentransfer teknologi lama ke teknologi baru, beberapa jenis HUB ada yang mensupport dua kecepatan : 10 mbps dan 100 Mbps. Jenis HUB ini dikenal dengan dual-speed hubs.
Secara teknis, terdapat tiga jenis hub yang beredar :
  1. Passive hubs == Hub-hub passive tidak memperkuat sinyal elektrik dari paket-paket data yang masuk
  2. Active hubs == sebaliknya, Hub-hub active akan memperkuat sinyal paket-paket sebelum mereka dilepas ke network. Fungsi ini dilakukan juga oleh device lain yang dinamakan “repeater”.
  3. Intelligent hubs == merupakan hub-hub yang memiliki fitur extra dari active hubs, di mana sangat cocok untuk kepentingan bisnis. Sebuah hub yang cerdas secara tipikal men-support manajemen secara remote via SNMP dan virtual LAN (VLAN)  


 Gambar HUB
3.Switch

Switch adalah device sederhana yang juga berfungsi menghubungkan multiple computer pada layer protocol jaringan level dasar.
Switch memang identik dengan hub, tetapi switch umumnya lebih “cerdas” dan memiliki performa tinggi dibanding hub (harganya relative lebih mahal). Secara tipikal, beberapa kelebihan switch di antaranya :
  1. Mampu menginspeksi paket-paket data yang mereka terima
  2. Mampu menentukan sumber dan tujuan paket yang melaluinya
  3. Mampu mem-forward paket-paket dengan tepat
Seperti halnya hub, switch utamanya desajikan unruk Ethernet. Switch memiliki konfigurasi jumlah port yang beragam, mulai dari empat-lima port sampai puluhan port – juga men-support Ethernet kecepatan 10 Mbps, 100 Mbps atau keduanya

GAMBAR SWITCH
  
4.Repeater
Repeater bekerja meregenerasi atau memperkuat sinyal-sinyal yan gmasuk. Pada media fisik seperti Ethernet, kualitas transmisi data hanya dapat bertahan dalam range waktu dan jangkauan terbatas, yang selanjutnya mengalami degradasi. Repeater akan berusaha mempertahankan integritas sinyal dan mencegah degradasi sampai paket-paket data menuju tujuan.
Aktualnya, device-device jaringan yang bekerja senagaimana layaknya repeater, seperti active hubs, seringkali disebut “multiport repeaters”.
Adapun kelemahan repeater, perangkat ini tidak dapat melakukan filter traffic jaringan. Data (bits) yang masuk ke salah satu port repeater dikirim ke luar melalui semua port. Dengan demikian data akan tersebar ke segmen-segmen LAN tanpa memperhitungkan apakah data tersebut dibutuhkan atau tidak.
Repeater adalah suatu alat yang berfungsi memperluas jangkauan sinyal WIFI yang belum tercover oleh sinyal dari server agar bisa menangkap sinyal WIFI. Perangkat Repeater harus 2 alat, yakni untuk menerima sinyal dari server (Client) dan untuk menyebarkan kembali sinyal Wifi tersebut (acces point).

Fungsi Repeater
  • Untuk mengcover daerah-daerah yang lemah sinyal dari Server (pemancar)
  • Untuk memperjauh sinyal dari Server (pemancar)
  • Untuk mempermudah akses sinyal Wifi dari Server
Sedikit Cara Kerja Repeater :
Saat PTT HT Ditekan ( ia akan memancar pada Freq A ) Bag RX repeater (frequency :A) menerima informasi dari radio HT tsb, maka bag rx aktif, dan COR akan langsung menggerakkan bag transmit (TX ) yang secara bersamaan informasi yang  diterima tsb dipancarkan kembali oleh bagian TX ( B). dan pancaran tsb dapat diterima oleh HT lain dilapangan pada Frekwensi receive HT ( B )
Demikian pula saat HT lain mengudara untuk menjawab atau memanggil prosedur tsb kembali berulang. Repeater pada umumnya diletakkan disuatu tempat ketinggian ,antennanyapun ditinggikan lagi yang biasanya diletakkan diatas tower sehingga jangkauan pancaran akan lebih jauh.
Semakin tinggi letak repeater, maka akan lebih jauh pula daya jelajahnya.Seringnya repeater diletakkan disuatu lokasi yang  tinggi misalnya di puncak Gunung, atau Bukit , Antennanya pun  di instalasikan ditower yang cukup tinggi.
Memperkirakan jarak jangkau repeater, secara sangat sederhana adalah dengan melihat area dari lokasi tsb dengan mata kita, bila yang terlihat sangat luas, maka hampir dapat dipastikan, sejauh mata kita memandang, sampai sanalah  area yang dapat dicover oleh repeater itu, ( Line Of Sight ) Mengingat keterbatasan daya pandang, dapat saja coveragenya lebih jauh dari pandangan kita.
Peformance sebuah repeater dipengaruhi pula oleh ,daya pancar repeater, sensitivitas, serta seluruh; ektivitas dari repeater itu sendiri. Untuk meningkatkan  kekuatan pancaran, selain meletakkan repeater pada tempat yang tinggi, maka  digunakan pula Antenna dengan penguatan ( gain ) yang besar.

GAMBAR REPEATER
 5.Bridge
Bridge, banyak yang beranggapan bahwa fungsi Switch dan ridge itu hampir sama, tapi sebenarnya fungsinya berbeda. Mari kita lihat, apa itu Bridge.
Bridge adalah sebuah Network Device yang berfungsi untuk memisahkan sebuah jaringan yang luas menjadi segment-segment yang lebih kecil. Bridge membaca alamat MAC (Media Access Control) dari setiap paket data yang diterima yang kemudian akan mempelajari dridging table untuk memutuskan apa yang akan dikerjakan bridge selanjutnya pada paket data tersebut, apakah diteruskan atau di abaikan. jika switch menpunyai Collision Domain sendiri-sendiri disetiap portnya, begitu juga dengan bridge memilikiCollision Domain tetapi ia juga dapat membaginya dari sebuah Collision Domain yang besar menjadi yang lebih kecil, dah bridge hanya akan melewatkan paket data antar segment - segment jika hanya segment itu sangat diperlukan. 
Selain itu ada yang mendefinikan bahwa Bridge adalah sebuah Network Device yang berfungsi sebagai jembatan fisik dan Bridge pun dapat berfungsi juga sebagai jembatan nalar (logical) seperti pembongkaran dan penyusunan paket, penyelematan, buffering dan lain-lain. Dengan demikian bridge dapat dipakai untuk menghubungkan 2 macam jaringan yang berbeda format paketnya ataupun yang berbeda kecepatan transmisinya. Misal dua kantor menggunakan dua jenis sistem jaringan yang berbeda, yang satu menggunakan sistem Ethernet dan yang lainnya menggunakan sistem Arcnet, maka kedua sistem tersebut dapat digabung dengan menggunakan bridge.

Jenis-Jenis Bridge :
1.  Transparent Bridge
Melakukan bridging antara 2 atau lebih segmen LAN. Jenis bridge ini juga dapat melakukan bridging pada jenis media physical layer yang berbeda (UTP, coax, fiber dll). Pengaturan bridge jenis ini dapat dilihat pada dokumen standar IEEE 802.1D.

2.  Translating Bridge
Adalah jenis bridge yang mampu untuk melakukan bridging antar protocol pada data link layer (contoh Ethernet dengan Token Ring). Dengan demikian terjadi proses konversi jenis frame data dan transmission rate masing-masing protocol. Proses ini dilakukan pada preamble dan FCS (frame check sequence).
Pada bagian lain kita akan membahas pula bagaimana menghitung performance network dalam hubungannya dengan penerapan kedua jenis bridge ini.


GAMBAR BRIDGE
 6.ROUTER
Router secara kasar banyak didefinisikan berfungsi untuk membagi 2 Jaringan atau beberapa jaringan, namun sebenarnya Router adalah perangkat jaringan yang digunakan untuk membagi protocol kepada anggota jaringan yang lainnya, dengan adanya router maka sebuah protocol dapat di-sharing kepada perangkat jaringan lain. Contoh aplikasinya adalah jika kita ingin membagi IP Adress kepada anggota jaringan maka kita dapat menggunakan router ini, ciri-ciri router adalah adanya fasilitas DHCP (Dynamic Host Configuration Procotol), dengan mensetting DHCP, maka kita dapat membagi IP Address, fasilitas lain dari Router adalah adanya NAT (Network Address Translator) yang dapat memungkinkan suatu IP Address atau koneksi internet disharing ke IP Address lain.
Jenis-jenis Router
1. Router Aplikasi
2. Router Hardware
3. Router PC 
Router aplikasi adalah aplikasi yang dapat kita instal pad sistem operasi, sehingga sistem operasi tersebut akan memiliki kemampuan seperti router, contoh aplikasi ini adalah Winroute, WinGate, SpyGate, WinProxy dan lain-lain. 
Router Hardware adalah merupakan hardware yang memiliki kemampuan sepertiu router, sehingga dari hardware tersebut dapat memancarkan atau membagi IP Address dan men-sharing IP Address, pada prakteknya Router hardware ini digunakan untuk membagi koneksi internet pada suatu ruang atau wilayah, contoh dari router ini adalah access point, wilayah yang dapat mendapat Ip Address dan koneksi internet disebut Hot Spot Area. Router PC adalah Sistem Operasi yang memiliki fasilitas untuk membagi dan mensharing IP Address, jadi jika suatu perangkat jaringan (pc) yang terhubung ke komputer tersebut akan dapat menikmati IP Address atau koneksi internet yang disebarkan oleh Sistem Operasi tersebut, contoh sistem operasi yang dapat digunakan adalah semua sistem operasi berbasis client server, semisal Windows NT, Windows NT 4.0, Windows 2000 server, Windows 2003 Server, MikroTik (Berbasis Linux), dan lain-lain.
Router PC adalah Sistem Operasi yang memiliki fasilitas untuk membagi dan mensharing IP Address, jadi jika suatu perangkat jaringan (pc) yang terhubung ke komputer tersebut akan dapat menikmati IP Address atau koneksi internet yang disebarkan oleh Sistem Operasi tersebut, contoh sistem operasi yang dapat digunakan adalah semua sistem operasi berbasis client server, semisal Windows NT, Windows NT 4.0, Windows 2000 server, Windows 2003 Server, MikroTik (Berbasis Linux), dan lain-lain.
B. Bahan - Bahan Networking
1. Cat sixs
 
Cat sixs Adalah alat untuk memasangkan dan mlepaskan kabel UTP pada Modular Jac(MJ) ,alt ini dapat juga untuk menandai kulit bagian luar kabel UTP agar nantinya dapat langsung dilepaskan.
2. Tang Crimping 
 
Tang krimping adalah alat untuk memasang kabel UTP ke konektor RJ-45 / RJ-11 tergantung kebutuhan. Bentuknya macam-macam ada yang besar dengan fungsi yang banyak, seperti bisa memotong kabel, mengupas dan lain sebagainya. Ada juga yang hanya diperuntukan untuk crimp RJ-45 atau RJ-11 saja. 
3. Kabel UTP


 
Unshielded Twisted-Pair (disingkat UTP) adalah sebuah jenis kabel jaringan yang menggunakan bahan dasar tembaga, yang tidak dilengkapi dengan shield internal. UTP merupakan jenis kabel yang paling umum yang sering digunakan di dalam jaringan lokal (LAN), karena memang harganya yang murah, kinerja yang ditunjukkannya juga relatif bagus
4. Kabel Fiber Optic


Kabel Fiber optic adalah sebuah kabel yang terbuat dari serat kaca dengan teknologi canggih dan mempunyai kecepatan transfer data yang lebih cepat daripada kabel biasa, biasanya fiber optic digunakan pada jaringan backbone (Tulang Punggung) karena dibutuhakan kecepatan yang lebih dalam dari jaringan ini, namun pada saat ini sudah banyak yang menggunakan fiber optic untuk jaringan biasa baik LAN, WAN maupun MAN karena dapat memberikan dampak yang lebih pada kecepatan dan bandwith karena fiber optic ini menggunakan bias cahaya untuk mentransfer data yang melewatinya dan sudah barang tentu kecepatan cahaya tidak diragukan lagi namun untuk membangun jaringan dengan fiber optic
dibutuhkan biaya yang cukup mahal dikarenakan dibutuhkan alat khusus dalam pembangunannya.
JENIS/TIPE KABEL NETWORKING


Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought,  Cross Over, dan Roll Over Cable – Dalam jaringan LAN, kabel data yang sering digunakan untuk komunikasi antara komputer dengan komputer dan komputer dengan perangkat jaringan lainnya adalah Kabel UTP. Alasan yang membuatnya sering digunakan pada jaringan LAN adalah harganya yang relative murah serta mudah didapat, dan juga kabel UTP ini bisa diandalkan untuk sebatas jaringan LAN.

UTP merupakan kependekan dari Unshielded Twisted Pair. Mengapa disebut Unshielded? Mengapa disebut Twisted Pair? Dinamakan Unshielded karena kabel UTP tidak dilengkapi dengan pelinsung yang memungkinkan kabel tersebut kurang tahan dengan interferensi elektromagnetik. Disebut Twisted Pair karena didalamnya terdapat kabel-kabel yang disusun saling berpasangan spiral atau saling berlilitan.

Jumlah kabel yang ada didalam kabel UTP adalah 8, sehingga terdapat 4 pasang kabel yang saling berlilitan. Fungsi dari lilitan ini adalah sebagai eliminasi dan induksi kebocoran. Dari 8 buah kabel yang ada, yang digunakan untuk pengiriman dan penerimaan data hanya 4 saja (2 pasang). Apabila satu pasang bertindak sebagai pengirim (tx) pada ujung pertama, maka pada ujung kedua pasangan kabel tersebut akan bertindak sebagai penerima data (rx).

Standar EIA/TIA 568 menjelaskan spesifikasi kabel UTP sebagai aturan dalam instalasi jaringan
komputer. EIA/TIA menggunakan istilah kategori untuk membedakan beberapa tipe kabel UTP, berikut adalah katergori dari kabel UTP:

Kabel UTP Category 1
Kabel ini mentransmisikan data dengan kecepatan rendah. Biasanya digunakan untuk komunikasi telepon dan juga menghubungkan modem dengan line telepon.

Kabel UTP Category 2
Mampu mentransmisikan data dengan kecepatan transfer mencapai 4 Mbps. Kabel UTP kategori 2 ini sering digunakan untuk topologi token ring.

Kabel UTP Category 3
Mampu mentransmisikan data dengan kecepatan transfer mencapai 10 Mbps.

Kabel UTP Category 4
Mampu mentransmisikan data dengan kecepatan transfer mencapai 16 Mbps.

Kabel UTP Category 5
Mampu mentransmisikan data dengan kecepatan transfer mencapai 100 Mbps.

Kabel UTP Category 5e (enchanced
Mempu mentransmisikan data dengan kecepatan transfer mencapai 1000 Mbps, dengan freluensi 100 MHz.


Kabel UTP Category 6
Mempu mentransmisikan data dengan kecepatan transfer mencapai 1000 Mbps, dengan freluensi 200 MHz.

Kabel UTP Category 7
Mempu mentransmisikan data dengan kecepatan transfer mencapai 1000 Mbps, dengan freluensi 400 MHz.

Untuk dapat menghubung komputer dengan komputer atau perangkat jaringan lainnya, kabel utp menggunakan konektor RJ-45 sebagaimedia penghubungnya. Karena jumlah kabel ada 8 buah, jadi tidak boleh sembarangan dalam pemasangannya. Karena ada sebuah standard yang mengatur masalah penyusunan kabel UTP, yaitu EIA/TIA 568A dan EIA/TIA 568B. Berikut adalah gambar yang menunjukan susunan kabel UTP berdasarkan EIA/TIA 568A dan EIA/TIA 568B.

Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable

Nah, berdasarkan standard tersebut kita dapat membuat 3 jenis atau tipe penyusunan kabel UTP, yaitu Straight Through Cable, Cross Over Cable, dan Roll Over Cable.

1. Straight Through Cable

Jenis kabel ini menggunakan standar yang sama antara ujung satu dengan ujung yang satunya lagi. Jika pada ujung pertama susunan yang kita pakai adalah EIA/TIA 568A, maka pada ujung yang kedua kita menggunakan susunan yang sama pula yaitu EIA/TIA 568A. Begitu juga bila salah satu ujungnya menggunakan susunan EIA/TIA 568B, maka ujung satunya menggunakan susunan yang sama.

Jadi sederhananya, pin 1 pada salah satu ujung akan terhubung dengan pin 1 pada ujung yang lainnya, lalu pin 2 akan terhubng dengan pin 2, dan seterusnya.

Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable
Kabel straight trought ini biasanya digunakan untuk menghubungkan:

PC dengan Switch
PC dengan HUB
Sitch dengan Rotuter
dll, intinya perangkat tersebut bukan yang sejenis

 2. Cross Over Cable
Penyusunan kaebel Cross Over (Silang) berbeda dengan kabel Straight Trought (Lurus). Jika pada ujung satu menggunakan standar EIA/TIA 568A, maka pada ujung kedua harus menggunakan standar EIA/TIA 568B. Bisa kita lihat bersama pada gambar dibawah ini, kabel yang menyilang merupakan kabel yang berfungsi untuk mengirim dan menerima data, sedangkan dua pasang kabel yang lain susunannya tetap.

Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable
Kabel Cross Over digunakan untuk menghubungkan:

PC dengan PC
Switch Dengan Switch
Hub dengan Hub
Router dengan Router
dll
3. Roll Over Cable
Pada sistem CISCO, ada satu cara lain pemasangan kabel UTP, yang digunakan untuk
menghubungkan sebuah terminal (PC) dan modem ke console Cisco Router atau console switch
managible, cara ini disebut dengan Roll-Over. Kabel Roll-Over tersebut sebelumnya terkoneksi
dengan DB-25 atau DB-9 Adapter sebelum ke terminal (PC).
Anda dapat mengenali sebuah kabel roll-over dengan melihat ke dua ujung kabel. Dimana warna
kabel dari sisi yang satu akan berbalik pada sisi kabel di ujung yang lain. Misalnya kabel putih
orange yang berada pada pin 1 ujung satu, akan berada pada pin 8 ujung lainnya. Berikut adalah ilustrasi yang menggambarkan kegunaan dan pemasangan tipe kabel roll over.
Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable
Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable
Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable
Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable
Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable
Kabel UTP, Penjelasan dan Urutan Tipe Kabel Straight Trought, Cross Over, dan Roll Over Cable

Kabel roll over digunakan untuk menghubungkan:
PC dengan Console Router
PC dengan Console Switch Manage