Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
PROGRAM SIMULASI ROUTING IP PADA JARINGAN LOKAL
SKRIPSI
Diajukan Untuk Memenuhi Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
oleh :
Tri Prasetyo Adi
NIM : 045314056
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA
YOGYAKARTA 2008
IP ROUTING SIMULATION PROGRAM OF LOCAL AREA NETWORK
A THESIS
Presented as Partial Fulfillment of the Requirements To Obtain Informatics Engineering Degree In Informatics Engineering Department
by:
Tri Prasetyo Adi
NIM : 045314056
INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SAINS AND TECHNOLOGY SANATA DHARMA UNIVERSITY
YOGYAKARTA 2008
ii
Kesempurnaan
yang bisa dicapai
manusia adalah
bentuk dari usaha terbaik
yang kita bisa lakukan (Mario teguh)
v
INTISARI
Tulisan ini dibuat dengan tujuan untuk membuat program simulasi routing
pada jaringan lokal, sehingga dengan program ini mahasiswa teknik informatika
dapat belajar mengenai proses pengiriman data melalui router.
Program ini mampu memberikan sederhana gambaran tentang setting ip
address pada komputer, dan koneksi antara komputer dengan router, dan berlatih
mengisi tabel routing pada router, dan memberikan visualisasi pengiriman paket
pada saat menalkukan pengujian konektivitas
Program ini dikembengakan dengan menggunakan Macromedia Flash 8
dan Action Script 2.0
vi
ABSTRACT
This writing was made in the purpose of making routing simulation
program in the local network. By using this program, the Informatics students
could learn about data sending process through router.
This program is able to give some simple descriptions about setting ip
address in computer, and the connection between computer and router, and
practicing filling routing table to the router, and give a package sending
visualization when doing connectivity test.
This program was developed by using Macromedia Flash 8 and Action
Script 2.0.
vii
KATA PENGANTAR
Puji syukur saya ucapkan ke hadirat Tuhan Yang Maha Esa atas berkat
dan limpahan kasih karunia yang telah diberikan-Nya sehingga saya dapat
menyelesaikan skripsi ini dengan judul “ PROGRAM SIMULASI ROUTING IP
PADA JARINGAN LOKAL”.
Dorongan serta nasihat dari berbagai pihak sangat membantu sampai
tersusunnya skripsi ini. Untuk itu, saya ingin mengucapkan terima kasih kepada :
1. Bapak dan ibu yang sepenuhnya memberi dukungan moral, spiritual dan
finansial dalam penyusunan skripsi.
2. Kedua Kakaku(EKO dan DWI), keponakanku(Bunga dan Salsa)
3. Romo Ir. Greg. Heliarko SJ, S.S., B.S.T., M.A., M.Sc. selaku Dekan
Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
4. Bapak Puspaningtyas Sanjoyo Adi, S.T., M..T. selaku Ketua Jurusan Teknik
Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma
Yogyakarta.
5. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Dosen Pembimbing
Akademik Angkatan 2004 Jurusan Teknik Informatika Fakultas Sains dan
Teknologi Universitas Sanata Dharma Yogyakarta.
6. Bapak DS. Bambang Soelistijanto, ST.,MSc selaku Dosen Pembimbing
pertama dan Bapak Agung Hernawan, ST selaku Dosen Pembimbing kedua
Skripsi. Terimakasih telah membimbing dan menyediakan waktu dalam
memberikan pengarahan selama penulisan skripsi ini.
viii
7. Kepada teman teman seperjuangan : SI Celep, Si Bhe, MB, Kunto, Bendot,
Susi, Agnes dan teman-teman Mahasiswa TI 04
Akhirnya skripsi ini terselesaikan, disadari bahwa skripsi ini jauh dari
sempurna. Untuk itu penulis dengan rendah hati mengharapkan kritik dan saran
yang dapat memberikan kesempurnaan pada penulisan skripsi ini. Akhir kata,
semoga skripsi ini dapat bermanfaat bagi penulis, juga pihak yang membutuhkan.
Yogyakarta, 24 November 2008
Penulis
ix
PERNYATAAN KEASLIAAN KARYA
Saya menyatakan dengan sesungguhnya bahwa Tugas Akhir yang saya
tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah
disebutkan dalam kutipan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 26 November 2008
Penulis
Tri Prasetyo Adi
x
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Tri Prastyo Adi Nomor Mahasiswa : 045314056
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul : PROGRAM SIMULASI ROUTING PADA JARINGAN LOKAL beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, me-ngalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini yang saya buat dengan sebenarnya. Dibuat di Yogyakarta Pada tanggal : 26 November 2008 Yang menyatakan (Tri Prasetyo Adi)
xi
DAFTAR ISI
Halaman
HALAMAN JUDUL ......................................................................................... i
HALAMAN JUDUL ......................................................................................... ii
HALAMAN PERSETUJUAN PEMBIMBING ............................................. iii
HALAMAN PENGESAHAN ........................................................................... iv
MOTTO ......................................................................................... v
INTISARI ......................................................................................... vi
ABSTRACT ......................................................................................... vii
KATA PENGANTAR ....................................................................................... viii
HALAMAN KEASLIAN KARYA .................................................................. x
LEMBAR PERNYATAAN .............................................................................. xi
DAFTAR ISI ..................................................................................................... xii
DAFTAR GAMBAR .................................................................................... xxii
DAFTAR TABEL ........................................................................................ xxix
DAFTAR LISTING ..................................................................................... xxxiv
DAFTAR LAMPIRAN ................................................................................ xxxv
BAB I PENDAHULUAN .................................................................................. 1
1.1. Latar Belakang Masalah ....................................................................... 1
1.2. Rumusan Masalah ................................................................................. 2
1.3. Batasan Masalah ................................................................................... 2
1.4. Tujuan Penelitian ................................................................................... 3
1.5. Metodologi Penelitian ........................................................................... 3
1.6. Sistematika Penulisan ............................................................................ 4
xii
BAB II LANDASAN TEORI................................................................................6
2.1. Multimedia…………………………………………………………….…….6
2.2. CAI……………………………………………………………………….….6
2.3. Simulasi..............................……………………………………………….…8
2.4. IMK……………………………………………………………………….…8
2.5. Metodologi Pengembangan Multimedia…………………………………….9
2.5.1.Konsep………………………………………………………………….……9
2.5.2.Desain………………………………………………………………………10
2.5.3.Pengumpulan Material……………………………………………………..11
2.5.4.Pembuatan………………………………………………………………….12
2.5.5.Testing……………………………………………………………………...12
2.5.6.Distribusi…………………………………………………………………...13
2.6. Diagram Alur Sistem……………………………………………………….13
2.7. Jaringan Komputer…………………………………………………………14
2.8. Protokol…………………………………………………………………….14
2.9. Internet Protocol……………...……………………………………………15
2.9.1 Definisi dan karakteristik ……………………………………………….15
2.9.2 IP Address……………………………………………………………………..…17
2.9.2.1 Format Penulisan IP Address…………………………………………….…….17
2.9.2.2 Pembagian Kelas IP Address…………………………………….………….18
2.9.2.3 Address Khusus………………………………………………………..20
2.9.2.4 Subnetting…………………………………………………………..…23
xiii
2.9.2.4.1 Representasi Subnet Mask……………………………………………..26
2.9.2.4.2 Menentukan alamat Network Identifier………………………………..29
2.9.2.5 Routing………………………………………………………………....29
2.9.2.5.1 Static Routing…………………………………………………………..30
2.6.2.5.2 Table Routing…………………………………………………………..30
2.9.3 Protokol ICMP…………………………………………………………..31
2.9.3.1 Definisi dan karakteristik………………………...................................31
2.9.3.2 Timbulnya ICMP……………………………………………………...32
2.9.3.3 ICMP Message………………………………………………………...32
2.9.3.4 ICMP error message ………………………………………………….33
2.9.3.5 ICMP Query Messages ……………………………………………….35
2.10. Router………………………………………………………………………36
2.11. Packet Internet Groper (PING)…………………………………………….28
2.8.1 Ping bekerja dengan mengirimkan sebuah paket ………………………..36
2.8.2 Contoh proses pengiriman data………………………………………….36
BAB III ANALISA DAN DESAIN SISTEM ................................................. ..47
3.1. Analisa Sistem..........................................................................................47
3.1.1. Analisa Masalah....................................................................................48
3.2. Desain Sistem............................................................................................48
3.2.1. Flowchart Sistem....................................................................................49
3.2.2. Flowchart Proses Uji Konektivitas ( echo request)................................50
3.2.3. Pemodelan Class....................................................................................53
xiv
3.2.4. Spesifikasi Perangkat Sistem.................................................................53
3.2.5. Rancangan Struktur Navigasi.................................................................54
3.2.6 Peancangan Tampilan............................................................................55
3.2.6.1. Perancangan Menu Simulasi...............................................................55
3.2.6.2. Form Add PC......................................................................................56
3.2.6.3. Form Add Network.............................................................................57
3.2.6.4. Form Add Router................................................................................57
3.2.6.5. Form Properties PC.............................................................................58
3.2.6.6. Form Properties Network....................................................................58
3.2.6.7. Form Properties Router.......................................................................59
3.2.6.8. Form Koneksi Network ke Router......................................................59
3.2.6.9. Form Routing Table............................................................................60
3.2.6.10. Form Uji Konektivitas.......................................................................60
3.2.6.11. Form IP Kalkulator...........................................................................61
3.2.6.12. Form Error Message.........................................................................61
3.2.6.13. Rancangan Tutorial...........................................................................62
BAB IV IMPLEMENTASI.................................................................................63
4.1. Implemtasi Program..................................................................................63
4.1.1. Menu Simulasi.......................................................................................63
4.1.1.1. Halaman Simulasi...............................................................................63
4.1.1.2. Form Add PC......................................................................................64
4.1.1.3. Form Add Network.............................................................................65
4.1.1.4. Form Add Router................................................................................66
xv
4.1.1.5. Form Properties PC.............................................................................67
4.1.1.6. Form Properties Network....................................................................68
4.1.1.7. Form Properties Router.......................................................................68
4.1.1.8. Koneksi...............................................................................................69
4.1.1.9. Form Routing Tabel............................................................................70
4.1.1.10. Form Uji Konektivitas.......................................................................71
4.1.1.11. Form Error Message..........................................................................72
4.1.2 Menu Tutorial.........................................................................................73
4.2. Pengujian Sistem dan Analisa...................................................................73
4.2.1. Konfigurasi 1..........................................................................................74
4.2.2. Konfigurasi 2..........................................................................................77
4.2.3 Konfigurasi 3..........................................................................................77
4.3. Listing dan Penjelasanya...........................................................................77
4.3.1. Class PC.................................................................................................78
4.3.2. Class Network........................................................................................78
4.3.3. Class Router...........................................................................................79
4.3.4. Class Koneksi.........................................................................................79
4.3.5. Fungsi Hitung IP....................................................................................80
4.3.6. Fungsi Uji Konektivitas(PING).............................................................81
4.4 Analisa Hasil Pengujian Sistem.................................................................84
BAB V KESIMPULAN DAN SARAN...............................................................90
5.1. Kesimpulan ............................................................................................ ..90
5.2. Kelebihan dan Kekurangan.......................................................................90
xvi
5.3. Saran.........................................................................................................91
DAFTAR PUSTAKA ....................................................................................... ..92
LAMPIRAN....................................................................................................
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1 Tahap Pengembangan Multimedia 9
2.2 Format datagram IP 15
2.3 Format IP Address 18
2.4 IP Addres kelas A 19
2.5 IP Addres kelas B 19
2.6 IP Addres kelas C 20
2.7 Struktur IP Address Kelas Multicast Address 22
2.8 Subnetting 16 bit pada IP Address kelas A 24
2.9 jaringan dengan 3 router. 31
2.10 Timbulnya ICMP 33
2.11 Format ICMP Message 33
2.12 Destination unreachable 34
2.13 Pesan destination unreachable 34
2.14 Echo request dan echo reply 35
2.15 pesan echo request dan echo reply ICMP 35
2.16 Jaringan 1 router 38
2.17 Hasil perintah PING 39
xvii
3.1 Flowchart Sistem 49
3.2 Flowchart Proses Uji Konektivitas (echo request) 50
3.3 Jaringan 1 router 52
3.4 Class class yang dibutuhkan 53
3.5 Struktur Navigasi Menu 55
3.6 Halaman utama simulasi 55
3.7 Form add PC 56
3.8 Form add Network 57
3.9 Form add router 57
3.10 Form Properties PC 58
3.11 Form Properties Network 58
3.12 Form Properties Router 59
3.13 Form Koneksi Nework ke Router 59
3.14 Form Routing table 60
3.15 Form Uji konektivitas 60
3.16 Form IP Kalkulator 61
3.17 Form error message 61
3.18 Halaman Tutorial 62
4.1 Halaman Utama Simulasi 63
4.2 Form isian untuk menambah PC 64
4.3 Form isian untuk menambah Network 65
4.4 Form isian untuk menambah Router 66
xviii
4.5 PC, Network, Router 67
4.6 Tampilan PC Properties 67
4.7 Tampilan Network Properties 68
4.8 Tampilan Router Properties 68
4.9 Koneksi PC ke Network 69
4.10 Koneksi Network ke Router 69
4.11 Form Connect Network ke Router 70
4.12 Form Routing Table 70
4.13 Form Uji Konektivitas 71
4.14 Visualisasi 71
4.15 Error message 72
4.16 konfigurasi pada pengujian sistem 73
4.19 Pie chart jawaban pertanyaan survey 1 bagian 1 85
4.20 Pie chart jawaban pertanyaan survey 2 bagian 1 85
4.21 Pie chart jawaban pertanyaan survey 3 bagian 1 86
4.22 Pie chart jawaban pertanyaan survey 1 bagian 2 86
4.23 Pie chart jawaban pertanyaan survey 2 bagian 2 87
4.24 Pie chart jawaban pertanyaan survey 3 bagian 2 87
4.25 Pie chart jawaban pertanyaan survey 4 bagian 2 88
4.26 Pie chart jawaban pertanyaan survey 5 bagian 2 88
4.27 Pie chart jawaban pertanyaan survey 6 bagian 2 89
xix
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 Simbol diaram alur sistem 13
22 Beberapa kombinasi IP address, netmask dan network
address
25
2.3 Prefix 27
2.4 Tabel routing untuk gambar 2.9 28
2.5 Penjelasan setiap tipe dan code ICMP 33
2.6 Nilai kode untuk pesan destination unreachable 34
4.1 Deskripsi Konsep Sistem 48
4.2 Hasil pengujian pda uji konektivitas 74
4.3 Pengujian dengan Gateway pada PC1 dihapus atau diganti. 77
4.4 Pengujian dengan tabel routing pada R1 dihapus. 77
xx
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Saat ini pembangunan jaringan komputer seakan sudah menjadi hal wajib
dalam sebuah organisasi baik perusahaan, instansi pemerintahan ataupun
universitas. Komunikasi data yang cepat, mudah akses dan memiliki validitas
yang tinggi hanya bisa dilakukan jika organisasi tersebut memiliki jaringan
komputer yang baik pula. Salah satu alat yang penting dalam pembangunan
jaringan adalah router. Router adalah alat yang berfungsi untuk mengatur lalu
lintas dan komunikasi data pada jaringan yang berbeda.
Pembelajaran mengenai routing adalah salah satu bab yang penting pada
mata kuliah jaringan komputer. Selama ini pembelajaran jaringan dan routing
dikelas hanya menggunakan penjelasan dipapan tulis, sehingga mahasiswa sulit
untuk membayangkan bagaimana konfigurasi dan proses kerja sebuah jaringan
terutama mengenai proses routing.
Dari latar belakang masalah diatas maka penulis mengambil judul untuk
menerapkan aplikasi “Program simulasi routing IP pada jaringan lokal”. Aplikasi
ini bisa memberikan gambaran mengenai jaringan sederhana, disana user dapat
bereksperimen dengan konfigurasi jaringan yang dikehendaki selain itu juga ada
visualisasi proses pengiriman data, user juga akan dibimbing melalui tutorial
yang akan menyediakan informasi seputar jaringan dan router. Jadi dengan
1
2
program bantu pembelajaran routing user dapat belajar mengenai jaringan dan
routing secara interaktif dan menarik.
1.2 Rumusan Masalah
Bagaimana membuat suatu program simulasi routing IP pada jaringan
lokal yang interaktif dan menarik.
1.3 Batasan Masalah
Untuk membatasi ruang lingkup dari permasalahan yang ada, serta agar
mencapai tujuan dan sasaran berdasarkan pada rumusan masalah diatas, maka
diberikan beberapa batasan masalah yaitu :
a. Router pada program bantu ini mensimulasikan sebuah komputer yang di
upgrade menjadi komputer multi homed host dan maksimum 3 ethernet.
b. Program bantu ini dibatasi menggunakan 5 network , 4 router dan 6 PC
c. Program bantu ini dibatasi hanya untuk routing statis
d. Pengujian konektivitas menggunakan perintah ping mengadopsi cara kerja
PING (pada sistem operasi windows) dan ICMP.
e. Visualisasi hanya untuk echo request dan echo reply
f. Menggunakan IPv4.
g. Hanya membahas proses yang berlangsung di network layer
h. Tidak membahas kualitas koneksinya, prioritas jalur (metric), time to live
dan roundtrip time
i. Tidak menyediakan fasilitas penyimpanan data
3
j. Program bantu dibuat dengan menggunakan Macromedia Flash 8 dan
Action Script 2.0
1.4 Tujuan Penelitian
Merancang sebuah program bantu pembelajaran routing IP pada jaringan
lokal yang interaktif sebagai media alternatif untuk mengetahui proses routing.
1.5 Metodologi Penelitian
Metodologi yang digunakan untuk menyelesaikan penulisan ini adalah
metodologi pengembangan multimedia (Luther, 1994) :
1. Konsep
Pada tahap ini dilakukan identifikasi masalah dan tujuan pembuatan
program
2. Desain
Pada tahap ini dilakukan analisa kebutuhan pembuatan program.
Kemudian diakukan perancangan sistem sesuai rancangan sistem hasil
analisa yang telah dilakukan. Rancangan tersebut meliputi rancangan
user interface dan rancangan program.
3. Pengumpulan bahan
Pada tahap ini dilakukan pengumpulan bahan seperti gambar serta
bahan-bahan lain yang diperlukan untuk tahap berikutnya.
4
Pengumpulan bahan dapat dilakukan secara paralel atau bersamaan
dengan tahap implementasi/pembuatan.
4. Implementasi
Pada tahap ini dilakukan proses pembuatan program berdasarkan
desain, yaitu menerjemahkan desain ke dalam bahasa pemrograman
action script.
5. Pengujian
Pada tahap ini dilakukan pengujian program untuk mencari kesalahan
dan kemudian dilakukan perbaikan.
6. Distribusi
Pada tahap ini didefinisikan bagai mana program nantinya akan
didistribusikan
1.6. Sistematika Penulisan
BAB I Pendahuluan
Pada bab ini dibahas mengenai latar belakang masalah,
rumusan masalah, batasan masalah, metode penelitian, tujuan
penelitian dan sistematika penulisan.
BAB II Landasan Teori
Pada bab ini akan dibahas mengenai pengertian jaringan,
IP, ICMP, PING, router, routing statis, actionscript dan
Macromedia Flash 8.
5
BAB III Analisa dan perancangan sistem
Pada bab ini akan dibahas mengenai analisa kebutuhan
sistem dan perancangan program beserta penjelasan mengenai
kebutuhan perangkat lunak dan perangkat keras dari program
tersebut.
BAB IV Implementasi
Pada bab ini akan dibahas penjelasan mengenai pembuatan
program.
BAB V Kesimpulan dan saran.
Pada bab ini berisi kesimpulan dan saran dari seluruh
penulisan.
Daftar Pustaka
BAB II
LANDASAN TEORI
2.1. Multimedia
Istilah multimedia digunakan dalam banyak hal, seperti sistem informasi
multimedia, computer multimedia, perangkat lunak multimedia dan lain-lain.
Dalam buku Multimedia interaktif dengan Flash dikatakan bahwa ‘Multimedia
adalah suatu teknologi untuk perangkat keras (hardware) dan perangkat lunak
(software) yang membawa media teks, ilustrasi, gambar, suara, animasi dan video
sebuah computer.’.
Satu definisi yang mudah untuk menjelaskan definisi dari multimedia
adalah penggabungan beberapa media seperti data, audio dan video menjadi satu.
Pada umumnya, multimedia merupakan perantara dalam pembelajaran
yang mengkombinasikan teks, video, suara dan animasi dalam sebuah perangkat
lunak komputer yang interaktif (Sutopo, 2003).
2.2. CAI (Computer-Assisted Instruction)
Perkembangan komputer baik dalam segi kuantitas, kualitas, maupun
teknologinya cenderung sangat pesat belakangan ini. Hal ini menyebabkan
semakin banyaknya jumlah kepemilikan perangkat komputer dengan aplikasi
yang semakin bervariasi pula. Akan tetapi penggunaan komputer dalam
pendidikan khususnya yang berkaitan dengan proses belajar mengajar sangatlah
terbatas. Padahal komputer sangat potensial untuk dipakai sebagai alat bantu
pengajaran Salah satu bentuk pemanfaatan komputer sebagai alat bantu
pengajaran adalah program CAI (computer-assisted instruction)
CAI adalah suatu model instruksional yang melibatkan siswa dengan
komputer secara langsung. Komputer berperan untuk menyampaikan isi pelajaran,
memberikan latihan-latihan dan mengetes kemajuan belajar siswa.
Komputer dalam bentuk program CAI ternyata lebih efektif dibanding
dengan alat bantu lainnya. dalam studi metaanalisisnya, ternyata dengan program
6
7
CAI siswa dapat belajar lebih cepat, lebih banyak, dan lebih bersemangat.
Memperhatikan karaktristik pembelajaran berbasis komputer seperti CAI sangat
mendukung namun masih ada dukungan teoritik maupun riil dilapangan, maka
model ini menjadi well-estabilited dalam sistem pendidikan kita. Model
pembelajaran berbasis komputer adalah penggerak dan unggul untuk membantu
siswa belajar melakukan tugas-tugas secara mandiri maupun secara kelompok,
menggunakan sumber-sumber dari dunia maya maupun lokal dalam menambah
wawasan berpikir siswa. Pembelajaran dengan sistem komputer akan lebih efektif
dan menguntungkan sebagai model pembelajaran (Herman, 2006).
Manfaat CAI antara lain :
1. Sebagai alat bantu bagi guru dalam menyampaikan materi ajar kepada
peserta didik.
2. Akan lebih mempercepat proses penyampaian pembelajaran, karena siswa
dapat berinteraksi dengan sistem.
Jenis Aplikasi CAI :
1. Latih & Praktek (Drill & Practice) : menguji tingkat pengetahuan siswa.
2. Penjelasan (tutorial) : untuk materi ajaran baru, disini siswa dapat
berinteraksi dengan komputer.
3. Simulasi : digunakan untuk mengkaji permasalahan yang rumit.
4. Permainan (game) : agar bisa mendapat pengetahuan dengan cara santai.
Kelebihan CAI antara lain sebegai berikut berikut :
1. Meningkatkan interaksi.
2. Individualisasi.
3. Kelebihan secara administratif dan biaya.
4. Motivasi.
5. Umpan balik segera/cepat
6. Mudah menyimpan data.
7. Integritas pembelajaran. Kendali siswa.
8
Keterbatasan CAI antara lain sebagai berikut :
1. Perangkat Keras (Hardware) yang mahal.
2. Kesulitan untuk me-review materi.
3. Bergantung pada kemampuan membaca dan visual.
4. Grafik yang tidak realistik.
5. Butuh keterampilan pengembangan tambahan.
6. Waktu pengembangan yang lama.
7. Persepsi hanya dari input yang telah terprogram .
2.3. Simulasi
Simulasi adalah peniruan nyata beberapa hal, keadaan, atau proses.
Perbuatan dari simulasi umumnya memerlukan suatu yang mewakili karakteristik
tertentu atau kunci perilaku yang dipilih sistem fisik atau abstrak. Simulasi
digunakan dalam banyak konteks, termasuk modeling sistem alam atau sistem
manusia untuk mendapatkan informasi tentang mereka berfungsi. konteks lain
termasuk simulasi teknologi untuk optimasi performa, keselamatan rekayasa,
pengujian, pelatihan dan pendidikan. Simulasi dapat digunakan untuk
menunjukkan sikap yang nyata efek dari alternatif kondisi dan program aksi
(Indrianto,2003).
2.4. IMK (Interaksi Manusia dan Komputer)
Ketika komputer pertama kali diperkenalkan secara komersial pada tahun
50-an, mesin ini sangat sulit dipakai dan sangat tidak praktis. Hal demikian karena
waktu itu komputer merupakan mesin yang sangat mahal dan besar, hanya dipakai
dikalangan tertentu, misalnya para ilmuwan atau ahli-ahli teknik. Setelah
komputer pribadi (PC) diperkenalkan pada tahun 70-an, maka berkembanglah
penggunaan teknologi ini secara cepat dan mengagumkan ke berbagai penjuru
kehidupan (pendidikan, perdagangan, pertahanan, perusahaan, dan sebagainya).
Kemajuan-kemajuan teknologi tersebut akhirnya juga mempengaruhi
9
rancangan sistem. Sistem rancangan dituntut harus bisa memenuhi kebutuhan
pemakai, sistem harus mempunyai kecocokkan dengan kebutuhan pemakai atau
suatu sistem yang dirancang harus berorientasi kepada pemakai. Pada awal tahun
70-an ini, juga mulai muncul isu teknik antarmuka pemakai (user interface) yang
diketahui sebagai Man-Machine Interaction (MMI) atau Interaksi Manusia-Mesin.
Para peneliti akademis mengatakan suatu rancangan sistem yang
berorientasi kepada pemakai, yang memperhatikan kapabilitas dan kelemahan
pemakai ataupun sistem (komputer) akan memberi kontribusi kepada interaksi
manusia-komputer yang lebih baik. Maka pada pertengahan tahun 80-an
diperkenalkanlah istilah Human-Computer Interaction (HCI) atau Interaksi
Manusia-Komputer.
Bidang ilmu interaksi manusia dan komputer adalah ilmu yang
mempelajari tentang bagaimana mendesain, mengevaluasi, dan
mengimplementasikan sistem komputer yang interaktif sehingga dapat digunakan
oleh manusia dengan mudah. Interaksi adalah komunikasi 2 arah antara manusia
(user) dan sistem komputer. Interaksi menjadi maksimal apabila kedua belah
pihak mampu memberikan stimulan dan respon (aksi & reaksi) yang saling
mendukung (Shneiderman, 1980).
2.5. Metodologi Pengembangan Multimedia
Multimedia dilakukan berdasarkan 6 tahap, yaitu konsep, perancangan,
pengumpulan bahan, pembuatan, testing dan distribusi (Luther,1994).
Gambar 2.1 Tahap Pengembangan Multimedia
10
2.5.1. Konsep
Pada tahap ini terdiri dari beberapa langkah meliputi :
a. Tujuan Aplikasi (informasi, hiburan, pelatihan, dan lain-lain)
b. Identifikasi Pengguna
c. Bentuk Aplikasi (presentasi, interaktif, dan lain-lain)
d. Spesifikasi Umum (ukuran aplikasi, dasar perancangan, target yang ingin
dicapai, dan lain-lain)
2.5.2.Desain
Desain (perancangan) adalah membuat spasifikasi secara rinci mengenai
struktur aplikasi multimedia yang akan dibuat, gaya dan kebutuhan bahan
(material) untuk aplikasi. Spesifikasi dibuat cukup rinci sehingga pada tahap
berikutnya, yaitu tahap pengumpulan bahan dan pembuatan tidak dibutuhkan
keputusan baru, melainkan menggunakan apa yang telah ditetapkan pada tahap
desain. Namun demikian, sering terjadi penambahan atau pengurangan bahan,
bahkan ada perubahan pada bagian aplikasi pada awal pengerjaan multimedia.
Tahap desain multimedia sering melibatkan kegiatan:
a. Pembuatan Bagan Alir (Flow Chart), yaitu menggambarkan struktur
aplikasi multimedia yang disarankan.
b. Pembuatan Storyboard, yaitu pemetaan elemen-elemen atau bahan
(material) multimedia pada setiap layar aplikasi multimedia.
Cara menentukan urutan atau hubungan dalam merancang Bagan Alir (Flow
Chart) atau Peta Konsep:
a. Ikuti hirarki alami materi.
b. Berdasarkan minat pengguna.
c. Dari yang sudah dikenal sampai yang belum dikenal.
d. Dari yang konkret sampai yang abstrak.
e. Dari yang umum sampai yang spesifik.
11
f. Berdasarkan pertimbangan topik pembahasan.
g. Secara kronologis didasarkan pada pemakaian atau kinerja.
Storyboard digunakan untuk:
a. Memungkinkan tim dan klien (pengguna) memeriksa, menyetujui, dan
meningkatkan rancangan.
b. Menjadi panduan bagi programmer dan graphics designer.
c. Mengetahui elemen (material) multimedia yang dipakai.
d. Menjaga konsistensi di sepanjang aplikasi multimedia.
e. Memungkinkan rancangan diimplentasikan pada platform yang berbeda,
karena storyboard bersifat platform independent.
Storyboard perlu mengandung:
a. Nama aplikasi (program) atau modul dan nomor halaman atau nomor
layar.
b. Gambar sketsa layar atau halaman beserta rincian objek-objek yang ada
pada layar, meliputi: Teks, Gambar, Animasi, Audio, Narasi, Video,
Warna, penempatan, ukuran gambar, jika penting, Warna dan font dari
teks.
c. Interaksi: pencabangan dan aksi-aksi lainnya (tombol).
Perancangan Antarmuka Pemakai:
a. Graphics Designer merancang antarmuka pemakai berdasarkan
storyboard.
b. Antarmuka pemakai harus : menggapai “look and feel” dari organisasi
klien, memproyeksikan yang sesuai bagai pemakai, tidak boleh lebih kuat
daripada pesan yang ingin disampaikan, tetapi harus mendukung
pesannya.
12
2.5.3 Pengumpulan Material
Pada tahap ini dilakukan beberapa langkah antara lain :
a. Melakukan pengumpulan bahan (material) seperti: clipart, image, animasi,
audio, berikut pembuatan grafik, foto, audio, dan lain-lain yang diperlukan
untuk tahap berikutnya.
b. Bahan yang diperlukan dalam multimedia dapat diperoleh dari sumber-
sumber seperti: library, bahan yang sudah ada pada pihak lain, atau
pembuatan khusus yang dilakukan oleh pihak luar.
c. Pengumpulan material dapat dilakukan paralel dengan tahap pembuatan
(assemby).
2.5.4 Pembuatan
Pada tahap ini dilakukan beberapa langkah antara lain :
a. Tahap pembuatan (assembly) merupakan tahap dimana seluruh objek
multimedia dibuat atau diintegrasikan.
b. Pembuatan aplikasi berdasarkan flow chart, storyboard, struktur navigasi
atau diagram objek yang berasal dari tahap disain.
c. Dapat menggunakan perangkat lunak authoring yang mempunyai fitur
pembuatan flow chart dan disain, misal: Microsoft Frontpage,
Macromedia, dan lain-lain.
2.5.5 Testing
Pada tahap ini dilakukan beberapa langkah antara lain :
a. Tahap testing dilakukan setelah tahap pembuatan dan seluruh bahan
(material) telah dimasukkan.
b. Biasanya pada tahap awal dilakukan testing secara modular untuk
memastikan apakah hasilnya seperti yang diinginkan.
13
c. Aplikasi yang telah dihasilkan harus dapat berjalan dengan baik di
lingkungan pengguna (klien), dimana pengguna dapat merasakan adanya
kemudahan dan manfaat dari aplikasi tersebut serta dapat menjalankan
sendiri terutama untuk aplikasi yang interaktif.
2.5.6 Distribusi
Pada tahap ini dilakukan beberapa langkah antara lain :
a. Bila aplikasi multimedia akan digunakan dengan mesin yang berbeda,
penggandaan menggunakan floppy disk, CD-ROM, tape, atau distribusi
dengan jaringan sangat diperlukan.
b. Tahap distribusi juga merupakan tahap evaluasi terhadap suatu produk
multimedia, diharapkan akan dapat dikembangkan sistem multimedia yang
lebih baik di kemudian hari.
2.6. Bagan Alir Sistem(Flowchart)
Bagan Alir sistem menggambarkan arus data dalam sistem (Jogianto,
1999). Simbol-simbol yang digunakan dalam diagram alur sistem akan dijelaskan
dalam table 2.1 berikut:
Tabel 2. 1 Simbol diaram alur sistem
Document symbol
Menunjukkan dokumen yang digunakan untuk
input dan output baik secara manual, mekanik
maupun komputerisasi.
Manual action symbol
Menunjukkan pekerjaan yang dilakukan secara
manual
14
Process symbol
Menunjukkan kegiatan proses operasi program
computer.
Keyboard (terminal)
symbol
Input/output yang menggunakan online keyboard
Flow lines symbol
Menunjukkan arus dari proses
Display symbol
Output yang ditampilkan di layar monitor.
2.7 Jaringan Komputer
Jaringan komputer adalah sekelompok komputer otonom yang saling
dihubungkan satu dengan yang lainnya menggunakan protokol komunikasi
melalui media komunikasi, sehingga dapat saling berbagi data dan informasi,
aplikasi-aplikasi, SI dan program-program lainnya, berbagi pakai perangkat keras
seperti printer, harddisk dan sebagainya.
Proses dasar sistem jaringan sangat sederhana, yaitu proses pengiriman
data atau informasi dari pengirim ke penerima dengan prosedur tertentu, melalui
suatu media komunikasi tertentu secara cepat dan tepat, tanpa adanya
kesalahan(Dharma Oetomo, 2003).
15
Protokol
Protokol komunikasi komputer adalah Aturan-aturan dan perjanjian yang
mengatur pertukaran informasi antar komputer melalui suatu medium jaringan.
Internet Protocol
Definisi dan karakteristik
Internet Protocol (IP) berfungsi menyampaikan paket data ke alamat yang
tepat. Oleh karena itu Internet Protocol memegang peranan yang sangat penting
dari jaringan TCP/IP.
IP merupakan protocol pada network layer yang bersifat :
1) Connectionless, yakni setiap paket data yang dikirim pada suatu saat akan
melalui rute secara independen. Paket IP (datagram) akan melalui rute
yang ditentukan oleh setiap router yang dilalui oleh datagram tersebut. Hal
ini memungkinkan keseluruhan datagram tiba di tempat tujuan dalam
urutan yang berbeda karena menempuh rute yang berbeda pula.
2) Unreliable atau ketidakandalan yakni IP tidak menjamin datagram yang
dikirim pasti sampai ke tempat tujuan. Ia hanya akan melakukan best effort
delivery yakni melakukan usaha sebaik-baiknya agar paket yang dikirim
tersebut sampai ke tujuan.
Suatu datagram bisa saja tidak sampai dengan selamat ke tujuan karena
beberapa hal berikut:
a. Adanya error bit pada saat pentransmisian datagram pada suatu medium.
b. Putusnya rute ke tujuan untuk sementara waktu akibat adanya router yang
down Terjadinya kekacauan routing, sehingga datagram mengalami
looping
Sebagai contoh, agar datagram IP dapat menemukan tujuannya,
diperlukan informasi tambahan yang harus dicantumkan pada header ini. Struktur
header datagram protokol IP dapat dilihat pada gambar berikut.
16
Version(Vers)i
(4 bit) 0
Header
length
(Tajuk
panjang)
(4 bit)
Service type
(Jenis
Layanan )
(8 bit)
Total length (Total panjang)
(16 bit)
Identification (Identifikasi)
(16 bit)
Flag
(Bendera)
(3 bit)
Fragment offset
(Selisih Fragmen)
(13 bit)
Time to live
( Waktu untuk hidup) (8 bit)
Protocol
(8 bit)
Header checksum
(16 bit)
Source IP address
(Sumber alamat IP) (32 bit)
Destination IP address
(Tujuan alamat IP) (32 bit)
Data
Gambar 2.2 Format datagram IP
Setiap paket IP membawa data yang terdiri atas :
a. (Version), yaitu versi dari protokol IP yang dipakai.
b. (Header Length), berisi panjang dari header paket IP dalam hitungan 32
bit word.
c. (Type of Service), berisi kualitas service yang dapat mempengaruhi cara
penanganan paket IP.
d. (Total length Of Datagram), panjang IP datagram total dalam ukuran byte.
17
e. (Identification, Flags, dan Fragment Offset), berisi data yang berhubungan
fragmentasi paket.
f. Time to Live, berisi jumlah router/hop maksimal yang dilewati paket IP
(datagram). Nilai maksimum field ini adalah 255. Setiap kali paket IP
lewat satu router, isi dari field ini dikurangi satu. Jika TTL telah habis dan
paket tetap belum sampai ke tujuan, paket ini akan dibuang dan router
terakhir akan mengirimkan paket ICMP time exceeded. Hal ini dilakukan
untuk mencegah paket IP terus menerus berada dalam network.
g. Protocol mengandung angka yang mengidentifikasikan protokol layer atas
pengguna isi data dari paket IP ini.
h. Header Checksum, berisi nilai checksum yang dihitung dari jumlah
seluruh field dari header paket IP. Sebelum dikirimkan, protokol IP
terlebih dahulu menghitung checksum dari header paket IP tersebut untuk
nantinya dihitung kembali di sisi penerima. Jika terjadi perbedaan, maka
paket ini dianggap rusak dan dibuang.
i. Source address dan destination address, isi dari masing-masing field ini
cukup jelas, yakni alamat pengirim dan alamat penerima dari datagram.
Masing-masing field terdiri dari 32 bit, sesuai panjang IP address yang
digunakan dalam internet. Destination address merupakan field yang akan
dibaca oleh setiap router untuk menentukan kemana paket IP tersebut akan
diteruskan untuk mencapai destination address tersebut. Struktur IP
address ini secara lebih jelas akan diuraikan pada bagian selanjutnya
(Purbo, 2008)
IP Address
IP address digunakan sebagai alamat dalam hubungan antar host di
internet sehingga merupakan sebuah sistem komunikasi yang universal karena
merupakan metode pengalamatan yang telah diterima di seluruh dunia. Dengan
menentukan IP address berarti kita telah memberikan identitas yang universal
bagi setiap interface komputer. Jika suatu komputer memiliki lebih dari satu
18
interface (misalkan menggunakan dua ethernet) maka kita harus memberi dua IP
address untuk komputer tersebut masing-masing untuk setiap interface nya.
Format Penulisan IP Address
IP address terdiri dari bilangan biner 32 bit yang dipisahkan oleh tanda
titik setiap 8 bitnya. Tiap 8 bit ini disebut sebagai oktet. Bentuk IP address dapat
dituliskan sebagai berikut :
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Jadi IP address ini mempunyai range dari
00000000.00000000.00000000.00000000
sampai
11111111.11111111.11111111.11111111.
Notasi IP address dengan bilangan biner seperti ini susah untuk
digunakan, sehingga sering ditulis dalam 4 bilangan desimal yang masing-masing
dipisahkan oleh 4 buah titik yang lebih dikenal dengan “notasi decimal bertitik”.
Setiap bilangan desimal merupakan nilai dari satu oktet IP address. Contoh
hubungan suatu IP address dalam format biner dan desimal :
Gambar 2.3 Format IP Address
Pembagian Kelas IP Address
Jumlah IP address yang tersedia secara teoritis adalah 255x255x255x255 atau
sekitar 4 milyar lebih yang harus dibagikan ke seluruh pengguna jaringan internet
di seluruh dunia. Pembagian kelas-kelas ini ditujukan untuk mempermudah
alokasi IP address, baik untuk host/jaringan tertentu atau untuk keperluan tertentu.
IP address dapat dipisahkan menjadi 2 bagian, yakni bagian network (net ID) dan
bagian host (host ID). Net ID berperan dalam identifikasi suatu network dari
network yang lain, sedangkan host ID berperan untuk identifikasi host dalam
suatu network. Jadi, seluruh host yang tersambung dalam jaringan yang sama
19
memiliki net ID yang sama. Sebagian dari bit-bit bagian awal dari IP address
merupakan network bit/network number, sedangkan sisanya untuk host. Garis
pemisah antara bagian network dan host tidak tetap, bergantung kepada kelas
network. IP address dibagi ke dalam lima kelas, yaitu kelas A, kelas B, kelas C,
kelas D dan kelas E. Perbedaan tiap kelas adalah pada ukuran dan jumlahnya.
Contohnya IP kelas A dipakai oleh sedikit jaringan namun jumlah host yang dapat
ditampung oleh tiap jaringan sangat besar. Kelas D dan E tidak digunakan secara
umum, kelas D digunakan bagi jaringan multicast dan kelas E untuk keperluan
eksperimental. Perangkat lunak Internet Protocol menentukan pembagian jenis
kelas ini dengan menguji beberapa bit pertama dari IP Address. Penentuan kelas
ini dilakukan dengan cara berikut :
1) Kelas A
Bit pertama IP address kelas A adalah 0, dengan panjang net ID 8 bit dan
panjang host ID 24 bit. Jadi byte pertama IP address kelas A mempunyai range
dari 0-127. Jadi pada kelas A terdapat 127 network dengan tiap network dapat
menampung sekitar 16 juta host (255x255x255). IP address kelas A diberikan
untuk jaringan dengan jumlah host yang sangat besar, IP kelas ini dapat
dilukiskan pada gambar berikut ini:
Gambar 2.4. IP Addres kelas A
2) Kelas B
Dua bit IP address kelas B selalu diset 10(baca:satu nol dalam formal
biner) sehingga byte pertamanya selalu bernilai antara 128-191. Network ID
adalah 16 bit pertama dan 16 bit sisanya adalah host ID sehingga jika ada
komputer mempunyai IP address 167.205.26.161, network ID = 167.205 dan host
ID = 26.161. Pada. IP address kelas B ini mempunyai range IP dari 128.0.xxx.xxx
20
sampai 191.255.xxx.xxx, yakni berjumlah 65.255 network dengan jumlah host
tiap network 255 x 255 host atau sekitar 65 ribu host.
Gambar 2.5. IP Addres kelas B
3) Kelas C
IP address kelas C mulanya digunakan untuk jaringan berukuran kecil
seperti LAN. Tiga bit pertama IP address kelas C selalu diset 111. Network ID
terdiri dari 24 bit dan host ID 8 bit sisanya sehingga dapat terbentuk sekitar 2 juta
network dengan masing-masing network memiliki 256 host.
Gambar 2.6. IP Addres kelas C
4) Kelas D
IP address kelas D digunakan untuk keperluan multicasting. 4 bit pertama
IP address kelas D selalu diset 1110 sehingga byte pertamanya berkisar antara
224-247, sedangkan bit-bit berikutnya diatur sesuai keperluan multicast group
yang menggunakan IP address ini. Dalam multicasting tidak dikenal istilah
network ID dan host ID.
5) Kelas E
21
IP address kelas E tidak diperuntukkan untuk keperluan umum. 4 bit
pertama IP address kelas ini diset 1111 sehingga byte pertamanya berkisar antara
248-255(Mansfield,2002).
Address Khusus
Selain address yang dipergunakan untuk pengenal host, ada beberapa jenis
address yang digunakan untuk keperluan khusus dan tidak boleh digunakan untuk
pengenal host. Address tersebut adalah:
1) Network Address.
Address ini digunakan untuk mengenali suatu network pada jaringan
Internet. Misalkan untuk host dengan IP Address kelas B 167.205.9.35. Tanpa
memakai subnet, network address dari host ini adalah 167.205.0.0. Address ini
didapat dengan membuat seluruh bit host pada 2 segmen terakhir menjadi 0.
Tujuannya adalah untuk menyederhanakan informasi routing pada internet.
Router cukup melihat network address (167.205) untuk menentukan ke router
mana datagram tersebut harus dikirimkan. Analoginya mirip dengan dalam proses
pengantaran surat, petugas penyortir pada kantor pos cukup melihat kota tujuan
pada alamat surat (tidak perlu membaca seluruh alamat) untuk menentukan jalur
mana yang harus ditempuh surat tersebut.
2) Broadcast Address.
Address ini digunakan untuk mengirim/menerima informasi yang harus
diketahui oleh seluruh host yang ada pada suatu network. Seperti diketahui, setiap
datagram IP memiliki header alamat tujuan berupa IP address dari host yang akan
dituju oleh datagram tersebut. Dengan adanya alamat ini, maka hanya host tujuan
saja yang memproses datagram tersebut, sedangkan host lain akan
mengabaikannya. Bagaimana jika suatu host ingin mengirim datagram kepada
seluruh host yang ada pada network nya ? Tidak efisien jika ia harus membuat
replikasi datagram sebanyak jumlah host tujuan. Pemakaian bandwidth akan
22
meningkat dan beban kerja host pengirim bertambah, padahal isi datagram-
datagram tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host
cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network
akan menerima datagram tersebut. Konsekuensinya, seluruh host pada network
yang sama harus memiliki broadcast address yang sama dan address tersebut
tidak boleh digunakan sebagai IP address untuk host tertentu. Jadi, sebenarnya
setiap host memiliki 2 address untuk menerima datagram : pertama adalah IP
addressnya yang bersifat unik dan kedua adalah broadcast address pada network
tempat host tersebut berada. Broadcast address diperoleh dengan membuat bit-bit
host pada IP address menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35
atau 167.205.240.2, broadcast addressnya adalah 167.205.255.255 (2 segmen
terakhir dari IP address tersebut dibuat berharga 11111111.11111111, sehingga
secara desimal terbaca 255.255). Jenis informasi yang dibroadcast biasanya
adalah informasi routing.
3) Multicast Address.
Kelas address A, B dan C adalah address yang digunakan untuk
komunikasi antar host, yang menggunakan datagram-datagram unicast. Artinya,
datagram/paket memiliki address tujuan berupa satu host tertentu. Hanya host
yang memiliki IP address sama dengan destination address pada datagram yang
akan menerima datagram tersebut, sedangkan host lain akan mengabaikannya.
Jika datagram ditujukan untuk seluruh host pada suatu jaringan, maka field
address tujuan ini akan berisi alamat broadcast dari jaringan yang bersangkutan.
Dari dua mode pengiriman ini (unicast dan broadcast), muncul pula mode ke tiga.
Diperlukan suatu mode khusus jika suatu host ingin berkomunikasi dengan
beberapa host sekaligus (host group), dengan hanya mengirimkan satu datagram
saja. Namun berbeda dengan mode broadcast, hanya host-host yang tergabung
dalam suatu grup saja yang akan menerima datagram ini, sedangkan host lain
tidak akan terpengaruh. Oleh karena itu, dikenalkan konsep multicast. Pada
konsep ini, setiap group yang menjalankan aplikasi bersama mendapatkan satu
23
multicast address. Struktur kelas multicast address dapat dilihat pada Gambar
berikut.
Gambar 2.7. Struktur IP Address Kelas Multicast Address
4) Unicast Address
Paket yang dikirim oleh satu host menuju sebuah host yang lain
menggunakan alamat unicast di mana pada paketnya terdapat alamat asal dan
alamt tujuan. Komunikasi ini juga disebut oneto- one. Alamat unicast dimiliki
kelas A, B dan C saja.
5) Loopback Address
Alamat IP yang dimulai dengan desimal 127 digunakan sebagai loopback
address. Alamat ini digunakan untuk menguji perangkat lunak pada komputer
atau host.
Subnetting
Untuk beberapa alasan yang menyangkut efisiensi IP address, mengatasi
masalah topologi network dan organisasi, network administrator biasanya
melakukan subnetting. Essensi dari subnetting adalah “memindahkan” garis
pemisah antara bagian network dan bagian host dari suatu IP Address. Beberapa
bit dari bagian host dialokasikan menjadi bit tambahan pada bagian network.
Address satu network menurut struktur baku dipecah menjadi beberapa
subnetwork. Cara ini menciptakan sejumlah network tambahan, tetapi mengurangi
jumlah maksimum host yang ada dalam tiap network tersebut. Router IP dapat
mengintegrasikan berbagai network dengan media fisik yang berbeda hanya jika
24
setiap network memiliki address network yang unik. Selain itu, dengan
subnetting, seorang network administrator dapat mendelegasikan pengaturan host
address seluruh departemen dari suatu perusahaan besar kepada setiap
departemen, untuk memudahkannya dalam mengatur keseluruhan network. Suatu
subnet didefinisikan dengan mengimplementasikan masking bit (subnet mask)
kepada IP address. Struktur subnetmask sama dengan struktur IP address, yakni
terdiri dari 32 bit yang dibagi atas 4 segmen. Bit-bit dari IP address yang
“ditutupi” (masking) oleh bit-bit subnet mask yang aktif dan bersesuaian akan
diinterpretasikan sebagai network bit. Bit 1 pada subnet mask berarti
mengaktifkan masking ( on ), sedangkan bit 0 tidak aktif ( off ). Sebagai contoh
kasus, mari kita ambil satu IP Address kelas A dengan nomor 44.132.1.20.
Ilustrasinya dapat dilihat gambar berikut :
Gambar 2.8 Subnetting 16 bit pada IP Address kelas A
Dengan aturan standard, nomor network IP address ini adalah 44 dan
nomor host adalah 132.1.20. Network tersebut dapat menampung maksimum lebih
dari 16 juta host yang terhubung langsung. Misalkan pada address ini akan akan
diimplementasikan subnet mask sebanyak 16 bit 255.255.0.0.( Hexa =
25
FF.FF.00.00 atau Biner = 11111111.11111111.00000000.00000000 ). Perhatikan
bahwa pada 16 bit pertama dari subnet mask tersebut berharga 1, sedangkan 16 bit
berikutnya 0. Dengan demikian, 16 bit pertama dari suatu IP address yang
dikenakan subnet mask tersebut akan dianggap sebagai network bit. Nomor
network akan berubah menjadi 44.132 dan nomor host menjadi 1.20. Kapasitas
maksimum host yang langsung terhubung pada network menjadi sekitar 65 ribu
host. Subnet mask di atas identik dengan standard IP address kelas B. Dengan
menerapkan subnet mask tersebut pada satu network kelas A, dapat dibuat 256
network baru dengan kapasitas masing-masing subnet setara network kelas B.
Penerapan subnet yang lebih jauh seperti 255.255.255.0 ( 24 bit ) pada kelas A
akan menghasilkan jumlah network yang lebih besar ( lebih dari 65 ribu network )
dengan kapasitas masing-masing subnet sebesar 256 host. Network kelas C juga
dapat dibagi-bagi lagi menjadi beberapa subnet dengan menerapkan subnet mask
yang lebih tinggi seperti untuk 25 bit (255.255.255.128), 26 bit
(255.255.255.192), 27 bit ( 255.255.255.224) dan seterusnya.
Subnetting dilakukan pada saat konfigurasi interface. Penerapan subnet
mask pada IP address akan mendefinisikan 2 buah address baru, yakni network
address dan broadcast address. Network address didefinisikan dengan menset
seluruh bit host berharga 0, sedangkan broadcast address dengan menset bit host
berharga 1. Seperti yang telah dijelasakan pada bagian sebelumnya, network
address adalah alamat network yang berguna pada informasi routing. Suatu host
yang tidak perlu mengetahui address seluruh host yang ada pada network
yanglain. Informasi yang dibutuhkannya hanyalah address dari network yang akan
dihubungi serta gateway untuk mencapai network tersebut. Ilustrasi mengenai
subnetting, network address dan broadcast address dapat dilihat pada tabel
dibawah. Dari tabel dapat disimpulkan bagaimana nomor network standard dari
suatu IP address diubah menjadi nomor subnet / subnet address melalui
subnetting.
Tabel 2. 1 Beberapa kombinasi IP address, netmask dan network address
26
IP
ADDRESS
NETWORK
ADDRESS
STANDAR
T
SUBNET
MASK
INTERPRESTAS
I
BROADCAST
ADDRESS
44.132.1.2
0
44.0.0.0 255.255.0.0 Host 1.20 pada
subnet 44.132.0.0
44.132.255.25
5
81.150.2.3 81.0.0.0 255.255.255.
0
Host 3 pada
subnet 81.150.2.0
81.150.2.0
Subnetting hanya berlaku pada network lokal. Bagi network di luar
network lokal, nomor network yang dikenali tetap nomor network standard
menurut kelas IP address.
Subnet Mask
subnet mask yang disebut juga sebagai sebuah address mask sebagai sebuah
nilai biner 32-bit yang digunakan untuk membedakan network identifier dari host
identifier di dalam sebuah alamat IP. Bit-bit subnet mask yang didefinisikan,
adalah sebagai berikut:
1) Semua bit yang ditujukan agar digunakan oleh network identifier diset ke
nilai 1.
2) Semua bit yang ditujukan agar digunakan oleh host identifier diset ke nilai 0.
Setiap host di dalam sebuah jaringan yang menggunakan TCP/IP
membutuhkan sebuah subnet mask meskipun berada di dalam sebuah jaringan
dengan satu segmen saja. Entah itu subnet mask default (yang digunakan ketika
memakai network identifier berbasis kelas) ataupun subnet mask yang
dikustomisasi (yang digunakan ketika membuat sebuah subnet atau
supernet(Manfield,2002).
Representasi Subnet Mask
27
Ada dua metode yang dapat digunakan untuk merepresentasikan subnet mask,
yakni:
1) Notasi Desimal Bertitik
2) Notasi Panjang Prefiks Jaringan
Desimal Bertitik
Sebuah subnet mask biasanya diekspresikan di dalam notasi desimal
bertitik (dotted decimal notation), seperti halnya alamat IP. Setelah semua bit
diset sebagai bagian network identifier dan host identifier, hasil nilai 32-bit
tersebut akan dikonversikan ke notasi desimal bertitik. Perlu dicatat, bahwa
meskipun direpresentasikan sebagai notasi desimal bertitik, subnet mask bukanlah
sebuah alamat IP.
Subnet mask default dibuat berdasarkan kelas-kelas alamat IP dan
digunakan di dalam jaringan TCP/IP yang tidak dibagi ke alam beberapa subnet.
Tabel di bawah ini menyebutkan beberapa subnet mask default dengan
menggunakan notasi desimal bertitik. Formatnya adalah:
<alamat IP www.xxx.yyy.zzz>, <subnet mask www.xxx.yyy.zzz>
Tabel 2.2 Subnet format decimal bertitik
Kelas alamat Subnet mask (biner) Subnet mask (desimal)
Kelas A 11111111.00000000.00000000.00000000 255.0.0.0
Kelas B 11111111.11111111.00000000.00000000 255.255.0.0
Kelas C 11111111.11111111.11111111.00000000 255.255.255.0
Perlu diingat, bahwa nilai subnet mask default di atas dapat dikustomisasi
oleh administrator jaringan, saat melakukan proses pembagian jaringan
28
(subnetting atau supernetting). Sebagai contoh, alamat 138.96.58.0 merupakan
sebuah network identifier dari kelas B yang telah dibagi ke beberapa subnet
dengan menggunakan bilangan 8-bit. Kedelapan bit tersebut yang digunakan
sebagai host identifier akan digunakan untuk menampilkan network identifier
yang telah dibagi ke dalam subnet. Subnet yang digunakan adalah total 24 bit
sisanya (255.255.255.0) yang dapat digunakan untuk mendefinisikan custom
network identifier. Network identifier yang telah di-subnet-kan tersebut serta
subnet mask yang digunakannya selanjutnya akan ditampilkan dengan
menggunakan notasi sebagai berikut:
138.96.58.0 , 255.255.255.0
Representasi panjang prefiks (prefix length) dari sebuah subnet mask
Ada sebuah cara yang digunakan untuk merepresentasikan sebuah subnet
mask dengan menggunakan bit yang mendefinisikan network identifier sebagai
sebuah network prefix dengan menggunakan notasi network prefix seperti
tercantum di dalam tabel di bawah ini.
Tabel 2.4 Prefix
Kelas
alamat Subnet mask (biner)
Subnet mask
(desimal)
Prefix
Length
Kelas A 11111111.00000000.00000000.00000000 255.0.0.0 /8
Kelas B 11111111.11111111.00000000.00000000 255.255.0.0 /16
Kelas C 11111111.11111111.11111111.00000000 255.255.255.0 /24
29
Sebagai contoh, network identifier kelas B dari 138.96.0.0 yang memiliki
subnet mask 255.255.0.0 dapat direpresentasikan di dalam notasi prefix length
sebagai 138.96.0.0/16.
Karena semua host yang berada di dalam jaringan yang sama maka semua
host yang berada di dalam jaringan yang sama harus menggunakan network
identifier yang sama yang didefinisikan oleh subnet mask yang sama pula.
Sebagai contoh, notasi 138.23.0.0/16 tidaklah sama dengan notasi 138.23.0.0/24,
dan kedua jaringan tersebut tidak berada di dalam ruang alamat yang sama.
Network identifier 138.23.0.0/16 memiliki range alamat IP yang valid mulai dari
138.23.0.1 hingga 138.23.255.254; sedangkan network identifier 138.23.0.0/24
hanya memiliki range alamat IP yang valid mulai dari 138.23.0.1 hingga
138.23.0.254 (Lukas, 2006).
Menentukan alamat Network Identifier
Untuk menentukan network identifier dari sebuah alamat IP dengan
menggunakan sebuah subnet mask tertentu, dapat dilakukan dengan menggunakan
sebuah operasi matematika, yaitu dengan menggunakan operasi logika
perbandingan AND (AND comparison). Di dalam sebuah AND comparison, nilai
dari dua hal yang diperbandingkan akan bernilai true hanya ketika dua item
tersebut bernilai true; dan menjadi false jika salah satunya false. Dengan
mengaplikasikan prinsip ini ke dalam bit-bit, nilai 1 akan didapat jika kedua bit
yang diperbandingkan bernilai 1, dan nilai 0 jika ada salah satu di antara nilai
yang diperbandingkan bernilai 0.
Cara ini akan melakukan sebuah operasi logika AND comparison dengan
menggunakan 32-bit alamat IP dan dengan 32-bit subnet mask, yang dikenal
dengan operasi bitwise logical AND comparison. Hasil dari operasi bitwise alamat
IP dengan subnet mask itulah yang disebut dengan network identifier.
Contoh:
30
Alamat IP 10000011 01101011 10100100 00011010 (131.107.164.026)
Subnet Mask 11111111 11111111 11110000 00000000 (255.255.240.000)
------------------------------------------------------------------ AND
Network ID 10000011 01101011 10100000 00000000 (131.107.160.000)
Routing
adalah sebuah proses untuk meneruskan paket-paket jaringan dari satu jaringan ke
jaringan lainnya melalui sebuah internetwork. Routing juga dapat merujuk kepada
sebuah metode penggabungan beberapa jaringan sehingga paket-paket data dapat
hinggap dari satu jaringan ke jaringan selanjutnya. Untuk melakukan hal ini,
digunakanlah sebuah perangkat jaringan yang disebut sebagai router. Router-
router tersebut akan menerima paket-paket yang ditujukan ke jaringan di luar
jaringan yang pertama, dan akan meneruskan paket yang ia terima kepada router
lainnya hingga sampai kepada tujuannya. Fungsi ini merupakan fungsi terpenting
dari Internet Protocol (IP). Sebagai protokol yang bersifat connectionless, proses
routing sepenuhnya ditentukan oleh jaringan. Pengirim tidak memiliki kendali
terhadap paket yang dikirimkannya untuk bisa mencapai tujuan. Router-router
pada jaringan TCP/IP lah yang sangat menentukan dalam penyampaian datagram
dari penerima ke tujuan (Dharma Oetomo,2003).
Static Routing
Static routing adalah salah satu dari mekanisme koordinasi routing dimana
menggunakan static routing dalam sebuah jaringan berarti mengisi setiap entry
tebel routing di setiap router yang berada di jaringan tersebut. Bisa juga disebut
dengan pengaturan routing paling sederhana yang dapat dilakukan pada jaringan
komputer.
Table Routing
Suatu algoritma perutean menggunakan table perutean yang menyimpan
informasi mengenai kemungkinan tujuan yang dapat dicapai & cara
pencapaiannya. Karena baik host maupun gateway merutekan datagram, maka
31
keduanya memiliki tabel perutean. Untuk pengefisienan table routing tidak semua
informasi mengenai kemungkinan tujuan akan disimpan. Alamat IP-pun tidak
perlu ditulis lengkap Biasanya tabel routing terdiri dari pasangan network &
gateway (N,G) dimana N menunjukkan jaringan tujuan & G merupakan gateway
berikutnya untuk sampai di jaringan N. Tabel perutean akan selalu menunjuk ke
gateway yang dapat ditempuh langsung dalam satu jaringan. Semua gateway yang
terdaftar di mesin tabel perutean mesin M harus terletak dalam satu jaringan.
Ketika suatu datagram akan meninggalkan mesin M makan perangkat lunak IP
akan mencari alamat IP tujuan dan menggunakan bagian networknya untuk
membuat keputusan perutean, pemilihan gateway dan pengiriman secara
langsung.
Gambar 2.9 jaringan dengan 3 router.
Ada 4 jaringan dengan 3 gateway yang menghubungkannya. Pada gambar
di atas bila
gateway G memiliki tabel perutean maka berisi :
Tabel 2.5 tabel routing untuk gambar 2.9
Ukuran tabel routing tergantung pada jumlah jaringan yang terhubung.
Kapasitasnya akan bertambah jika jumlah jaringan yang terhubung bertambah
tanpa tergantung pada host yang terhubung. Metode lain untuk menghemat ukuran
tabel routing adalah menjadikan masukkan-masukkan tertentu dalam bentuk
default. Prinsip dari metode ini : perangkat lunak IP akan melihat dahulu isi tabel
routing untuk jaringan tujuan, jika tidak ada jalur yang terlihat dalam tabel maka
32
dikirimkan datagram ke default gateway. Metode ini sangat berguna untuk
jaringan dengan jumlah alamat lokal tidak terlalu banyak & hanya satu koneksi
menuju internet(Lukas,2006).
Protokol ICMP
Definisi dan karakteristik
ICMP (Internet Control Message Protocol) adalah protokol yang bertugas
mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan perhatian
khusus. Pesan / paket ICMP dikirim jika terjadi masalah pada layer IP (Mulia,
2005)
Karakteristik dari ICMP adalah :
a. ICMP merupakan bagian internal dari IP
b. ICMP digunakan untuk menyediakan feedback tentang beberapa error
pada sebuah proses datagram.
c. Tidak ada respon ICMP yang dikirimkan untuk menghindari adanya
perulangan tak terbatas, kecuali respon dari query message
Timbulnya ICMP
Gambar 2.10 Timbulnya ICMP
H0 melakukan pengiriman paket kepada H1 dan terdapat masalah pasa
Router R1 maka pesan ICMP dibangkitkan oleh router R1, sebagai respon dari
33
pesan yang dikirimkan dari H0 ke H1 dan ICMP message dikembalikan ke H0
(Fairhurst, 2008)
ICMP Message
ICMP message dikirimkan didalam IP datagram. Format ICMP message
dapat dilihat pada gambar dibawah ini. Dari gambar terlihat bahwa nomor
protokol selalu 1 (ICMP) dan Type of Service selalu nol.
Gambar 2.11 Format ICMP Message
ICMP error message
Setiap ICMP error message terdiri dari Internet Header (IP) dan
sekurangnya 8 data octet (byte) pada datagram. Pada field Type menspesifikasikan
tipe dari message, sementara error code pada datagram dilaporkan oleh ICMP
message pada field Code. Pengertian setiap code bergantung dari tipe message.
Tabel 2.6 Penjelasan setiap tipe dan code ICMP
KODE KETERANGAN
0 Echo reply
3 Destination unrecable
8 Echo request
Pada kondisi normal protokol IP berjalan baik. Namun ada beberapa
kondisi dimana koneksi IP terganggu, misalnya karena router yang crash,
putusnya kabel atau matinya host tujuan. Pada saat ini ICMP berperan membantu
menstabilkan kondisi jaringan. Hal ini dilakukan dengan cara memberikan pesan-
pesan tertentu, sebagai respon atas kondisi tertentu yang terjadi pada jaringan
tersebut.
34
Contoh diatas hanya sebagian dari jenis pesan ICMP. Ada dua tipe pesan
yang dapat dihasilkan oleh ICMP yaitu ICMP error message dan ICMP query
message. ICMP error message sesuai namanya dihasilkan jika terjadi kesalahan
pada jaringan. Sedangkan ICMP query message ialah jenis pesan yang dihasilkan
oleh protokol ICMP jika pengirim paket menginginkan informasi tertentu yang
berkaitan dengan kondisi jaringan.
ICMP error message dibagi menjadi beberapa jenis diantaranya :
Destination unreachable, Pesan ini dihasilkan oleh router jika pengiriman
paket mengalami kegagalan akibat masalah putusnya jalur, baik secara fisik
maupun secara logic. Destination unreachable ini dibagi menjadi beberapa tipe.
Beberapa tipe yang penting adalah:
a. Network unreachable, jika jaringan tujuan tak dapat dihubungi.
b. Host unreachable, jika host tujuan tak bisa dihubungi.
Gambar 2.12 Destination unreachable
Gambar diatas menunjukkan router yang menerima paket yang tidak dapat
dikirim. Paket tidak terkirim karena tidak mengetahui jalur ke tujuan. Oleh sebab
itu, router mengirimkan pesan ICMP host unreachable ke asal.
35
Gambar 2.13 Pesan destination unreachable
Gambar di atas menunjukkan header pesan destination unreachable. Nilai
3 dari field tipe menunjukkan pesan destination unreachable. Nilai kode
menunjukkan alasan paket unreachable. nilai code 0 berarti jaringan
unreachable.
Tabel 2.7 Nilai kode untuk pesan destination unreachable
KODE KETERANGAN
0 Net unrecable
1 Host unrecable
ICMP Query Messages
Protokol ICMP dapat digunakan untuk melakukan testing ke tujuan.
Gambar di bawah menunjukkan pesan echo request ke device tujuan. Jika tujuan
menerima echo request ICMP, ia memformulasikan pesan echo reply mengirim
balik ke asal. Jika pengirim menerima echo reply, ini berarti bahwa tujuan dapat
dicapai menggunakan protokol IP.
Gambar 2.14. Echo request dan echo reply
36
Gambar 2.15 pesan echo request dan echo reply ICMP
Gambar di atas menunjukkan format pesan echo request ICMP dan echo
reply. Tipe yang cocok dan nomor kode ditunjukkan di tiap-tiap tipe pesan. Field
identitas dan field sequence number sifatnya unik untuk pesan echo request dan
echo reply. Field-field itu digunakan mencocokkan echo reply dengan echo
request. Field data berisi informasi tambahan yang mungkin bagian dari echo
reply atau echo request. (CCNA 8, 2008)
Router
Router adalah alat yang dapat menghubungkan dua atau lebih jaringan
komputer yang berbeda. Pada dasarnya router adalah sebuah alat pada jaringan
komputer yang bekerja di network layer pada lapisan OSI. Pada router terdapat
routing table yaitu tabel yang berisi alamat-alamat jaringan yang dibutuhkan
untuk menentukan tujuan dari paket-paket data yang akan
dilewatkan(Mansfield,2003).
2.11. Packet Internet Groper (PING)
Adalah sebuah program utilitas yang digunakan untuk memeriksa
konektivitas jaringan berbasis teknologi Transmission Control Protocol/Internet
Protocol (TCP/IP). Dengan menggunakan utilitas ini, dapat diuji apakah sebuah
komputer terhubung dengan komputer lainnya. Hal ini dilakukan dengan cara
mengirim sebuah paket kepada alamat IP yang hendak diuji coba konektivitasnya
dan menunggu respons darinya. Nama "ping" datang dari sonar sebuah kapal
selam yang sedang aktif, yang sering mengeluarkan bunyi ping ketika
menemukan sebuah objek(Pete, 2001)
37
2.11.1 Ping bekerja dengan mengirimkan sebuah paket
Paket yang dimaksud disebut dengan Internet Control Message Protocol
(ICMP) echo request. Paket ICMP ini biasanya digunakan untuk mengirimkan
informasi tentang kondisi jaringan antara dua host (komputer). Jika sebuah host
menerima echo request ini, dia harus merespon dengan mengirimkan echo reply,
dengan menempatkan echo request ke bagian data pada echo reply. Penggunaan
ping cukup sederhana, kita tinggal mengetikkan : ping nama host, dimana nama
host adalah nama atau nomor IP dari host yang kita tuju. Banyak sekali versi dari
ping, tetapi jika anda menggunakan ping milik Linux, maka output nya akan
menjadi seperti berikut :
$ ping www.silvia.com
PING silvia.com (198.168.0.2): 56 data bytes
64 bytes from 198.168.0.2: icmp_seq=0 ttl=253 time=0.398 ms
64 bytes from 198.168.0.2: icmp_seq=1 ttl=253 time=0.552 ms
64 bytes from 198.168.0.2: icmp_seq=2 ttl=253 time=0.554 ms
64 bytes from 198.168.0.2: icmp_seq=3 ttl=253 time=0.553 ms
64 bytes from 198.168.0.2: icmp_seq=4 ttl=253 time=0.554 ms
64 bytes from 198.168.0.2: icmp_seq=5 ttl=253 time=0.551 ms
64 bytes from 198.168.0.2: icmp_seq=6 ttl=253 time=0.552 ms
64 bytes from 198.168.0.2: icmp_seq=7 ttl=253 time=0.554 ms
64 bytes from 198.168.0.2: icmp_seq=8 ttl=253 time=0.554 ms
64 bytes from 198.168.0.2: icmp_seq=9 ttl=253 time=0.553 ms
^C
----localhost PING Statistics----
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max = 0.398/0.537/0.554 ms $
Proses yang terjadi ketika kita melakukan ping ke www.silvia.com adalah
kita mengirim satu paket ICMP echo request, setiap detik ke host tersebut. Ketika
program ping kita memperoleh echo reply dari host yang kita tuju
(www.silvia.com), dia akan mencetak respon tersebut ke layar yang
38
menunjukkan ke kita beberapa informasi : yang pertama adalah nomor IP dari
mana ping memperoleh echo reply, biasanya IP ini adalah IP dari host yang kita
tuju (www.silvia.com), yang kedua adalah nomor urut (ICMP sequence), yang
dimulai dari 0 dan seterusnya, yang ketiga adalah Time To Live (TTL) dan yang
terakhir adalah berapa mili detik waktu yang diperlukan untuk program ping
mendapatkan balasan. Nomor urut yang didapat menandakan paket ping yang
keberapa yang dibalas, jika nomor yang didapat tidak berurutan, berarti ada paket
yang drop, dengan kata lain entah itu echo request atau echo reply hilang di
tengah jalan. Jika jumlah paket yang hilang sedikit (kurang dari satu persen), hal
ini masih normal. Tapi jika paket yang hilang banyak sekali, berarti ada masalah
pada koneksi jaringan kita.
Informasi berikutnya adalah Time To Live, setiap paket data yang
dikirimkan melalui jaringan memiliki informasi yang disebut TTL, biasanya TTL
ini diisi dengan angka yang relatif tinggi, (paket ping memiliki TTL 255). Setiap
kali paket tersebut melewati sebuah router maka angka TTL ini akan dikurangi
dengan satu, jika TTL suatu paket akhirnya bernilai 0, paket tersebut akan di drop
atau dibuang oleh router yang menerimanya Kegunaan utama dari TTL ini
supaya paket-paket data yang dikirim tidak ‘hidup’ selamanya di dalam jaringan.
Kegunaan yang lain, dengan informasi ini kita dapat mengetahui kira-kira berapa
router yang dilewati oleh paket tersebut, dalam hal ini 255 dikurangi dengan N,
dimana N adalah TTL yang kita lihat pada echo reply.
Jika TTL yang kita dapatkan sewaktu kita melakukan ping berbeda-beda,
ini menandakan bahwa paket-paket ping yang kita kirim berjalan melewati router
yang berbeda-beda, hal ini menandakan koneksi yang tidak baik.
Informasi waktu yang diberikan oleh ping adalah waktu perjalanan pulang
pergi ke remote host yang diperlukan oleh satu paket. Satuan yang dipakai adalah
mili detik, semakin kecil angka yang dihasilkan, berarti semakin baik (baca :
cepat) koneksinya. Waktu yang dibutuhkan suatu paket untuk sampai ke host
tujuan disebut dengan latency. Jika waktu pulang pergi suatu paket hasil ping
menunjukkan variasi yang besar (diatas 100) itu berarti koneksi kita ke host
39
tersebut jelek. Tetapi jika selisih tersebut hanya terjadi pada sejumlah kecil paket,
hal tersebut masih dapat ditoleransi.
Untuk menghentikan proses ping, tekan Ctrl+C, setelah itu ping akan
mencetak informasi tentang berapa paket yang telah dikirimkan, berapa yang
diterima, persentasi paket yang hilang dan angka maksimum, minimum serta
rata-rata dari waktu yang dibutuhkan oleh paket tersebut untuk melakukan
perjalanan pulang pergi. Seperti yang anda lihat, ping berguna untuk melakukan
tes konektivitas pada jaringan dan untuk memperkirakan kecepatan
koneksi(Humris, 2008).
2.11.2 Contoh proses pengiriman data
Gambar 2.16 Jaringan 1 router
Pada contoh ini, seorang user di PC1 1 melakukan ping ke alamat IP PC2
40
Gambar 2.17 Hasil perintah PING
Mari kita cermati langkah demi langkah perjalanan datanya:
Tabel 2.8 proses PING
N0 Node Activity
0 PC1 Preparing to send ICMP (Ping) packet
Keterangan:
Persiapan, 1. Internet Control Message Protocol (ICMP)
menciptakan sebuah payload (data) echo request.
ICMP menyerahkan payload tersebut ke Internet Protocol (IP),
yang lalu menciptakan sebuah paket. Paling sedikit, paket ini berisi
sebuah alamat asal IP, sebuah alamat tujuan IP. Setelah paket dibuat,
IP akan menentukan apakah alamat IP tujuan ada di network local
atau network remote(diluar jaringan)
Dengan membandingkan net ID kedua alamat
Desimal Biner
IP Asal 192.168.0.1 11000000 10101000 00000000
00000001
Logika
and
& &
Subnet
asal
255.255.25
5.0
11111111 11111111 11111111
00000000
Net Id 192.168.0.0 11000000 10101000 00000000
00000000
Desimal Biner
IP
Tujuan
192.168.10.
1
11000000 10101000 00001010
00000001
Logika
and
& &
41
Net ID berbeda berarti bukan satu jaringan(local network)
Subnet
asal
255.255.255
.0
11111111 11111111 11111111
00000000
Net Id 192.168.10.
0
11000000 10101000 00001010
00000000
1 PC1 Route found in the routing table
0.0.0.0 | 0.0.0.0 | 192.168.0.10
Keterangan:
Karena IP menentukan bahwa ini adalah permintaan untuk
network remote, maka paket perlu dikirimkan ke default gateway
agar paket dapat di route ke network remote. Registry di Windows
dibaca untuk mencari default gateway yang telah di konfigurasi.
2 PC1 Unable to find MAC Address in ARP Cache for 192.168.0.10
Keterangan:
Setelah itu, cache ARP dicek untuk melihat apakah alamat IP dari
default gateway sudah pernah di resolved (diterjemahkan) ke sebuah
alamat hardware. Tidak ditemukan MAC dari ARP Cache untuk
192.168.0.10
3 PC1 Sending ARP_REQUEST
Arp Layer
Source IP: 192.168.0.1
Source MAC: 00-50-BA-74-7C-E6
Destination IP: 192.168.0.10
Keterangan:
PC1 mengirimkan ARP request untuk mendapatkan MAC dari
192.168.0.10
42
4 Router 0 Received ARP_REQUEST packet from 192.168.0.1
Keterangan:
Router 0 menerima paket ARP request dari 192.168.0.1
5 Router 0 Sending ARP_REPLY
Source MAC: 00-E0-A3-11-7D-ED
Source IP: 192.168.0.1
Destination IP: 192.168.0.10
Keterangan :
Router melakukan respon pada permintaan tersebut dan
menyerahkan alamat hardware dari ethernet 1, dan host akan
menyimpan (cache) alamat ini. Router juga akan melakukan cache
alamat hardware dari PC 1 di ARP cache nya.
6 PC1 Received ARP_REPLY packet from 192.168.0.10
Keterangan:
Router 0 Menerima ARP_REQUEST paket dari 192.168.0.1
7 PC1 IP does not exists in ARP cache
Adding 192.168.0.10 : 00-E0-A3-11-7D-ED to ARP cache
Keterangan:
PC1 memasukan 192.168.0.1 kedalam ARP cache
8 PC1 Sending ICMP (Ping) packet
ICMP Layer
Type: 8 (echo request), Code: 0
IP Layer
Protocol: (ICMP), Header Length: 20
Header Checksum: 0x83BD, Time To Live: 128
Source IP: 192.168.0.1
43
Destination IP: 192.168.10.1
Keterangan:
Paket ICMP echo request dikirimkan dari 192.168.0.1 kepada
192.168.10.1
9 Router 0 Received ICMP (Ping) request packet from 192.168.0.1
Keterangan:
Router 1 menerima ICMP request dari 192.168.01
10 Router 0 Route found in the routing table
192.168.10.0 | 255.255.255.0 | 192.168.10.10
Keterangan:
Pada tabel routing ditemukan 192.168.10.0/255.255.255.0 dan
192.168.10.10 untuk sebagai gatewaynya
Pada router terdapat entry routing yang otomatis dibuat pada
saat mengisi ethernet router yaitu, route ke jaringan- jaringan yang
terkoneksi langsung dengan ethernetnya.
Proses pembacaan tabel routing:
1. Jika tujuan datagram tidak terletak dalam satu jaringan,
periksa semua ethernet router dan bandingkan dengan
alamat IP tujuan datagram.
2. Jika ada entri yang sama, kirim frame menuju host asal.
3. jika tidak terdapat entri host yang cocok pada tabel routing,
gunakan alamat tujuan datagram yang telah di-mask pada
langkah 1 untuk mencari kesamaan di tabel routing. Periksa
apakah ada network/subnetwork di tabel routing yang sama
dengan alamat network tujuan datagram. Jika ada entri yang
sama, kirim frame ke router menuju network/subnetwork
tersebut.
44
Contoh perhitungan manualnya sebagai berikut:
Jika tujuan datagram adalah 192.168.10.10 dan terdapat
entry 192.168.10.0/255.255.255.0 maka menghitung
broadcast didapatakan 192.168.10.255 maka dicek apakah
tujuan datagram berada dalam range 192.168.10.0 hingga
192.168.10.255. dan begitu juga untuk entry selanjutnya.
4. jika tidak terdapat entri host ataupun entri
network/subnetwork yang sesuai dengan tujuan datagram,
host mengirimkan frame ke router default dan menyerahkan
proses proses routing selanjutnya kepada router default.
11 Router 0 Found MAC adddress in ARP Cache
192.168.10.1 -> 00-E0-A3-6B-95-4D
Keterangan:
Ditemukan Mac address di ARP cache router 0 karena sebelumnya
pernah melakukan ARP(proses pencarian sama seperti langkah 3)
12 Router 0 Forwarding ICMP (Ping) packet through port 2
ICMP Layer
Type: 8 (echo request), Code: 0
IP Layer
Protocol: (ICMP), Header Length: 20
Header Checksum: 0x83BD, Time To Live: 127
Source IP: 192.168.0.1
Destination IP: 192.168.10.1
Keterangan :
ICMP echo request oleh router 0 diteruskan kepada 192.168.10.1
13 PC2 Received ICMP (Ping) packet from 192.168.0.1
Keterangan:
PC2 menerima paket ICMP dari 192.168.0.1
14 PC2 Preparing to send ICMP (Ping) reply packet
45
Keterangan:
PC2 akan melakukan proses yang sama seperti PC 1 dengan
mengirimkan echo reply sebagai balasan dari echo request yang
diterima
15 PC2 Route found in the routing table
0.0.0.0 | 0.0.0.0 | 192.168.10.10 | 192.168.10.1
16 PC2 Unable to find MAC Address in ARP Cache for 192.168.10.10
17 PC2 Sending ARP_REQUEST
Source IP: 192.168.0.1
Source MAC: 00-E0-A3-6B-95-4D
Destination IP: 192.168.0.1
18 Router 0 Received ARP_REQUEST packet from 192.168.10.1
19 Router 0 Sending ARP_REPLY
Source MAC: 00-E0-A3-6B-95-4D
Source IP: 192.168.10.10
Destination IP: 192.168.10.10
20 PC2 Received ARP_REPLY packet from 192.168.10.10
21 PC2 IP does not exists in ARP cache
Adding 192.168.10.10 : 00-E0-A3-6B-95-4D to ARP cache
22 PC2 Send ICMP (Ping) reply packet
ICMP Layer
Type: 8 (echo reply), Code: 0
IP Layer
Protocol: (ICMP), Header Length: 20
Header Checksum: 0x83BD, Time To Live: 128
Source IP: 192.168.10.1
Destination IP: 192.168.0.1
23 Router 0 Received ICMP (Ping) reply packet from 192.168.10.1
24 Router 0 Route found in the routing table
46
192.168.0.0 | 255.255.255.0 | 192.168.0.10 | 192.168.0.10
25 Router 0 Found MAC adddress in ARP Cache
192.168.0.1 -> 00-E0-A3-11-7D-ED
26 Router 0 Forwarding ICMP (Ping) packet through port 1
ICMP Layer
Type: 8 (echo request), Code: 0
IP Layer
Protocol: (ICMP), Header Length: 20
Header Checksum: 0x83BD, Time To Live: 127
Source IP: 192.168.10.1
Destination IP: 192.168.0.1
27 PC1 Received ICMP (Ping) reply packet from 192.168.10.1
2.12 Macromedia Flash 8
Flash adalah salah satu program pembuatan animasi yang sangat handal.
Kehandalan Macromedia Flash 8 dibandingkan dengan program yang lain adalah
dalam hal ukuran file dari hasil animasinya yang kecil. Untuk itu animasi yang
dihasilkan oleh program Flash banyak digunakan untuk membuat sebuah web atau
sebuah profile company agar menjadi tampil lebih interaktif(herlambang,2007).
2.13 ActionScript
ActionScript adalah bahasa yang menjembatani antara bahasa yang kita
kenal dengan bahasa yang dikenal oleh Flash. ActionScript mengijinkan kita
membuat instruksi berorieantasi action (lakukan perintah) dan orientasi
berorientasi logic atau analisa masalah sebelum melakukan perintah
Sama seperti bahasa pemrograman lain ActionScript berisi banyak elemen
yang berbeda-beda strukturnya sehingga harus ada rangkain yang benar agar
perintah sesuai dengan yang kita inginkan. (herlambang,2007).
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem
3.1.1. Analisa Masalah
Jaringan komputer adalah mata kuliah yang penting, hal ini dikarenakan
hampir setiap perusahaan, instansi pemerintahan dan universitas menggunakan
jaringan komputer agar supaya dapat dilakukan komunikasi data antar setiap
komputer disetiap unit kerja, sehingga dirasa perlu untuk mengajarkan jaringan
komputer ini secara lebih mendalam, agar lulusan dapat menguasai teknik - teknik
dan ilmu-ilmu mengenai pembangunan sebuah jaringan.
Alasan utama dari pembuatan aplikasi ini adalah agar mahasiswa memiliki
gambaran yang nyata mengenai bagaimana setting sebuah jaringan, seperti
mengisi IP address, Net Id, subnet/prefix, default gateway selain itu juga
bagaimana langkah yang benar untuk setting router, mengetahui atribut atribut
yang digunakan untuk entry routing table hingga dapat menguji koneksi yang
telah dibangun menggunakan uji konektivitas, dan akan dimunculkan jalanya
paket data pada saat pengiriman data, sehingga mahasiswa dapat mengetahui
router atau jaringan mana saja yang dilewati untuk sampai pada IP yang dituju.
Pada sistem yang akan dibangun ini yang dimaksud router mensimulasikan
sebuah PC yang di upgrade menjadi multi homed host dan form yang akan
ditampilkan pada saat setting adalah IP dan subnet/prefix dan sebuah jaringan
(network) disimulasikan sebagai sebuah benda seperti halnya router dan PC
47
48
sehingga user dapat membuat, setting dan menghapus, sehingga network mutlak
dibutuhkan untuk menhubungkan antar device (router dan PC)
3.2. Konsep
Tahap konsep (concept) adalah tahap penentuan tujuan, termasuk
identifikasi audiens dalam hal ini adalah user yang dituju, macam aplikasi, tujuan
dan spesifikasi aplikasi secara umum. Dalam tahap inilah dasar aturan
perancangan ditentukan. Adapun deskripsi konsep dari sistem dapat dilihat pada
tabel berikut ini:
Tabel 3.1. Deskripsi konsep sistem
Judul Simulasi routing
User Mahasiswa teknik Informatika yang
sudah memahami dasar-dasar routing.
Durasi Sesuai kebutuhan audiens atau user
Image Menggunakan image PNG dan GIF
Video Tidak menggunakan
Audio Tidak menggunakan
Animasi Animasi jalanya paket data
Interaktif Setting IP,mengisi tabel routing dan
menguji konektivitas
3.3. Desain Sistem
Pada tahap ini akan dibuat bagian bagian penting yang digunakan sebagai
dasar pembuatan program,antara lain sebagai berikut:
49
3.3.1.Flowchart Sistem
Flowchart program merupakan bagan yang menjelaskan secara rinci
langkah-langkah dari proses program secara logika. Berikut ini flowchart dari
aplikasi yang dikembangkan adalah sebagai berikut :
Gambar 3.1 Flowchart sistem
3.3.2.Flowchart Proses Uji Konektivitas ( echo request)
Flowchart proses Uji Kenektivitas (echo request) disajikan pada gambar
berikut:
50
Gambar 3.2 Flowchart Proses Uji Konektivitas (echo request)
Penjelasan:
Pada uji konektivitas ada dua proses penting, yang pertama proses
pengiriman paket (echo request) dan jika echo request tersampaikan dan diterima
tujuan maka selanjutnya proses jawaban dari destination(echo reply), pada
dasarnya cara kerja keduanya sama dan hasil dari masing-masing proses yang
51
akan menentukan hasil akhir dari proses uji konektivitas secara keseluruhan. Pada
program bantu ini tidak membahas mekanisme kerja ARP maka proses ARP akan
digabungkan dengan pengiriman ICMP.
Nilai input yang dimasukan adalah IP destination, kemudian menghitung
Net ID dari destination dengan cara IP destination di-And-kan dengan subnet
source. Kemudian proses selanjutnya mengambil IP address, dan subnet dari PC
source yang digunakan untuk input proses hitung Net ID source apabila hasil
perhitungan Net ID source dan Net ID destination sama berati satu network,
proses pencarian dilakukan dalam network itu sendiri.
Jika dari hasil perhitungan didapatkan Net ID yang berbeda, itu berarti
jaringan berada diluar network dan dibutuhkan router, proses selanjutnya
membaca gateway pada PC asal kemudian proses mencari router, jika gateway
kosong atau tidak ditemukan router maka akan menuju ke proses echo request
gagal dan proses selesai, tetapi jika ditemukan proses selanjutnya diserahkan
kepada router. Router akan membaca tabel routing dan mencari entry yang cocok
jika ditemukan maka akan dicek apakah gateway yang digunakan itu merupakan
salah satu ethernet dari router ,jika benar maka menuju proses pencarian tujuan
karena IP destination masih berada disalah satu network yang terkoneksi
denganya, jika salah maka akan dicari router yang memiliki IP address yang sama
dengan gateway yang digunakan, dan kemudian akan diulang proses seperti
sebelumnya.
Jika tabel tidak ditemukan maka menuju ke echo request gagal dan proses selesai.
52
Gambar 3.3 Jaringan 1 router
Untuk lebih memahami jalanya flowchart maka digunakan contoh sebuah
jaringan seperti gambar 3.3. User melakukan Ping dari PC1 dengan tujuan
192.168.10.1. Hitung Net ID Secara manual prosesnya sebagai berikut:
IP Asal 192.168.0.1 11000000 10101000 00000000 00000001
Subnet asal 255.255.255.0 11111111 11111111 11111111 00000000
-------------------------------------AND-------------------------
Net Id 192.168.0.0 11000000 10101000 00000000 00000000
IP Tujuan 192.168.10.1 11000000 10101000 00001010 00000001
Subnet asal 255.255.255.0 11111111 11111111 11111111 00000000
----------------------------------------AND------------------------
Net Id 192.168.10.0 11000000 10101000 00001010 00000000
Dari hasil perhitungan diatas didapatkan Net ID yang berbeda, itu berarti
jaringan berada diluar network dan dibutuhkan router, maka akan membaca
gateway pada PC asal kemudian mencari router, didapatkan router 0 . Proses
selanjutnya dilakukan oleh router 0, sesuai dengan gambar diatas pada router 0
terdapat entry routing adalah:
Destination 127.0.0.0/8 gateway 127.0.0.1
Destination 192.168.0.0/24 gateway 192.168.0.10
53
Destination 192.168.10.0/24 gateway 192.168.10.10
Didapatkan 192.168.10.0/24 dan informasi untuk melewatinya melalui
192.168.10.10 yaitu eth 1, kemudian router 0 meneruskan paket ICMP kepada
PC2 dan PC 2 menerima ICMP echo request untuk proses selanjutnya PC2
melakukan ICMP echo reply, prosesnya sama dengan pada saat pengiriman echo
request.
3.3.3.Pemodelan Class
Class yang diperlukan dalam implementasi sistem antara lain:
Gambar 3. 4 Class class yang dibutuhkan
3.3.4.Spesifikasi perangkat sistem
Agar suatu sistem yang dibuat dapat berjalan dengan baik maka
dibutuhkan alat-alat yang mendukung dan yang paling utama adalah komputer.
Komputer adalah alat yang memiliki komponen berupa perangkat keras
(hardware) dan perangkat lunak (software), kedua komponen tersebut merupakan
sistem yang tidak terpisahkan.
54
Untuk bisa menjalankan aplikasi ini dibutuhkan beberapa perangkat keras
dan perangkat lunak pendukung.
Adapun komponen-komponen pendukungnya adalah sebagai berikut:
1. Prosesor Pentium III atau lebih baik
2. Memori minimal 128 MB atau lebih baik
3. Harddisk 4 GB
4. Monitor VGA
5. Keyboard, Mouse
6. Sistem Operasi Microsoft Windows XP
7. Flash Player 8 atau lebih baik
8. Internet Explore (untuk membaca help dan tutorial).
3.3.5.Rancangan Struktur Navigasi
Navigasi berfungsi untuk menjelajah bagian bagian movie melalui media
link. Navigasi ini berkaitan erat dengan suatu sistem menu dan struktur isi suatu
movie. Struktur perancangan navigasi menu yang pada aplikasi akan dibuat, terdiri
dari beberapa halaman tampilan yang disusun menggunakan spoke and hub model.
Struktur tersebut fleksibel untuk menghubungan satu halaman dengan beberapa
halaman lainya, pada struktur ini terdapat menu awal halaman pembuka yang juga
sebagai halaman penghubung dengan halaman lainya. Rangkaian menu tersebut
akan dilengkapi dengan perintah menu yang nantinya bila diklik akan menjalankan
aksi tertentu. Sehingga keseluruhan halaman menu dapat dilihat pada gambar 3.4
berikut ini:
55
Gambar 3. 5 Struktur Navigasi menu
3.3.6.Perancangan Tampilan
3.2.6.1.Rancangan Menu Simulasi
Gambar 3.6 Halaman utama simulasi
Menu
• Start : Fasilitas untuk menampilkan menu
• PC : Fasilitas untuk menampilkan form tambah PC
56
• Network : Fasilitas untuk menampilkan form tambah network
• Router : Fasilitas untuk menampilkan form tambah router
• Connect : Fasilitas untuk membuat koneksi
• Disconnect : Fasilitas untuk memutuskan koneksi
• Delete : Fasilitas untuk menghapus device
• Exit : Fasilitas untuk menuju halaman menu awal
• View :Fasilitas untuk menampilkan device properties
• IP Kalkulator :Fasilitas untuk menampilkan IP kalkulator
3.2.6.2. Form Tambah PC
Gambar 3.7 Form add PC
Pada form tambah PC ini user mengisi Nama PC, IP address,
subnet/prefix dan default gateway.
57
3.2.6.3. Form Tambah Network
Gambar 3.8. Form add Network
Pada form tambah network ini user mengisi Nama network, Net ID dan
subnet/prefix.
3.2.6.4. Form Tambah Router
Gambar 3.9. Form tambah router
Pada form tambah router ini user hanya mengisi nama router saja dan
untuk IP dilakukan pada router properties.
58
3.2.6.5. Form Properties PC
Gambar 3.10. Form Properties PC
Pada form ini user dapat mengubah konfigurasi PC, text field yang bisa
dirubah adalah nama, IP address, subnet/prefix dan default gateway, kemudian
menekan save. Tombol Command untuk menampilkan form uji konektivitas.
3.2.6.6. Form Properties Network
Gambar 3.11. Form Properties Network
Pada form ini user dapat mengubah konfigurasi network, text field yang
bisa dirubah adalah nama, Net ID dan subnet/prefix kemudian menekan tombol
save untuk menyimpan.
59
3.2.6.7. Form Properties Router
Gambar 3.12. Form Properties Router
Pada form properties router, user dapat mengisi dan mengubah IP address
dan subnet/prefix pada Ethernet yang telah disediakan. Tombol routing table
untuk menampilkan form routing table.
3.2.6.8. Form Koneksi
Gambar 3.13. Form Koneksi Nework ke Router
Form koneksi network router muncul ketika Sebuah network dikoneksikan
dengan router atau sebaliknya, dan user dapat memilih ethernet router mana yang
akan digunakan sebagai interface koneksi dengan network dan menekan tombol
connect.
60
3.3.6.9. Form Routing
Gambar 3.14. Form Routing table
Pada form routing, user data mengisi network destination, subnet/prefix
dan gateway kemudian menekan Add Route untuk menyimpan.
3.3.6.10. Form Uji Konektivitas
Gambar 3.15. Form Uji konektivitas
61
Pada form Uji konektivitas user mengisi field destination dan
kemudian menekan tombol PING dan kemudian akan muncul pesan pada text
area dibawahnya.
3.2.6.11. Form IP Kalkulator
Gambar 3.16. Form IP Kalkulator
Pada form IP user mengisi IP dan kemudian menekan Tombol
Hitung.
3.2.6.11. Form Error Message(pesan kesalahan)
Gambar 3.17 Form error message
Form ini akan muncul bila terjadi kesalahan dalam pengisian form .
62
3.2.6.12. Rancangan Tutorial
Pada menu ini akan ditampilkan materi tentang routing dan penggunaan
program simulasi.
Gambar 3.18. Halaman Tutorial
Halaman tutorial berupa HTML dan pada menu disajikan pilihan materi,
dan pada materi akan ditampilkan materi yang dipilih.
3.3 Pengumpulan Material
Pengumpulan material adalah suatu tahapan dimana pemgumpulan bahan
dilakukan. Komponen atau elemen yang dibutuhkan untuk pembuatan program,
antara lain yaitu:
1. Gambar atau grafik ilustrasi dan text(router, PC, network dan icon-
icon lainya)
2. Warna (merah,kuning,biru)
3. Suara (suara klik, music opening)
4. Animasi (gambar paket bergerak)
BAB IV
IMPLEMENTASI DAN ANALISA HASIL
4.1 Implementasi Program
Program ini dibuat untuk membantu pengajaran jaringan komputer dan
routing, program ini memberikan gambaran mengenai setting jaringan sederhana
dan mengisi routing table selain itu juga memberikan visualisasi tentang paket.
Hasil dari implementasi tersebut dapat di gambarkan melalui capture
screen langkah-langkah penggunaan program ini.
4.1.1 Menu Simulasi
4.1.1.1 Halaman Utama Simulasi
Ini adalah halaman utama simulasi .halaman ini akan ditampilkan pertama kali
setelah kita masuk menu simulasi.
Gambar 4.1 Halaman Utama Simulasi
63
64
Dengan menekan tombol start akan muncul menu-menu pilihan yang
dapat digunakan disana akan ada tombol-tombol yang digunakan untuk simulasi,
pada kanan bawah terdapat tombol view untuk menampilkan device properties,
mode simulasi dan IP kalkulator
4.1.1.2 Form Tambah PC
Gambar 4.2 Form isian untuk menambah PC
Pada halaman diatas user membuat PC dengan cara click gambar PC pada
menu dan akan muncul form input, isi lengkap form sebagai berikut:
Nama : Diisi dengan huruf dan angka atau kombinasinya
Contoh: PC1
IP : Diisi dengan IP format notasi desimal
Contoh: 192.168.0.1
Prefix: Diisi dengan angka dua digit dari 1 sampai 32
Contoh: 24
65
Subnet: Diisi dengan subnet format notasi desimal
Contoh: 255.255.255.0
Gateway : Diisi dengan gateway format notasi desimal
Contoh: 192.168.20.1
Mac: Otomatis akan terisi dan tidak bisa dirubah
Tekan tombol OK maka akan muncul gambar PC ditengah. Bila format
pengisian data salah atau tidak lengkap akan muncul pesan error.
4.1.1.3 Form Tambah Network
Gambar 4.3 Form isian untuk menambah Network
Pada halaman diatas user membuat network dengan cara click gambar network
pada menu dan akan muncul form input, isi lengkap form sebagai berikut:
Nama : Diisi dengan huruf dan angka atau kombinasinya
Contoh: N0
Net id : Diisi dengan Net id format notasi desimal
Contoh: 192.168.0.0
Prefix: Diisi dengan angka dua digit dari 1 sampai 32
Contoh: 24
Subnet: diisi dengan subnet format notasi desimal
66
Contoh: 255.255.255.0
Tekan tombol OK maka akan muncul gambar Network ditengah. Bila
format pengisian data salah atau tidak lengkap akan muncul pesan error.
4.1.1.4 Form Tambah Router
Gambar 4.4 Form isian untuk menambah Router
Pada halaman diatas user membuat Network dengan cara click gambar
Network pada menu dan akan muncul form input, isi lengkap form sebagai
berikut:
Nama : Diisi dengan huruf dan angka atau kombinasinya
Contoh: R0
Tekan tombol OK maka akan muncul gambar Router ditengah. Bila format
pengisian data salah atau tidak lengkap akan muncul pesan error.
67
Gambar 4.5 PC, Network, Router
4.1.1.5 Form PC Properties
Gambar 4.6 Tampilan PC Properties
Pada form ini user dapat melakukan perubahan data nama, IP, subnet/prefix
dan gateway pada PC kemudian menekan tombol save(gambar disk) untuk
menyimpan, Bila format pengisian data salah atau tidak lengkap akan muncul
pesan error. untuk menampilkan form uji konektivitas dengan menekan tombol
simbol command disebelah kiri disket.
68
4.1.1.6 Form Network Properties
Gambar 4.7 Tampilan Network Properties
Pada form ini user dapat melakukan perubahan data nama, Net ID dan
subnet/prefix pada network kemudian menekan tombol save(gambar disket)
untuk menyimpan, Bila format pengisian data salah atau tidak lengkap akan
muncul pesan error.
4.1.1.7 Form Router Properties
Gambar 4.8 Tampilan Router Properties
Pada form ini user dapat melakukan perubahan atau mengisi data nama, IP dan
subnet/prefix pada router kemudian menekan tombol save(gambar disket) untuk
69
menyimpan, Bila format pengisian data salah atau tidak lengkap akan muncul
pesan error. untuk menampilkan form pengisian tabel routing dengan menekan
tombol routing table disebelah kiri disket
4.1.1.8 Koneksi
Gambar 4.9 Koneksi PC ke Network
User dapat menghubungkan PC ke network dengan menekan tombol connect
dan akan muncul garis merah yang mengikuti mouse kemudian kita click diatas
network jika konfigurasi IP address pada PC masuk dalam domain network maka
akan tersambung. Bila IP address tidak masuk dalam domain network maka akan
muncul pesan error dan koneksi secara otomatis akan terputus.
Gambar 4.10 Koneksi Network ke Router
70
User dapat menghubungkan network ke router dengan menekan tombol
connect dan akan muncul garis merah yang mengikuti mouse kemudian kita click
diatas router lalu akan muncul form koneksi.
Gambar 4.11 FormConnect Network ke Router
User diijinkan memilih ethernet pada router yang akan disambungkan.
Jika ethernet belum dipakai dan IP Address eth router masuk dalam domain
network maka akan tersambung. Dan bila tidak cocok maka muncul pesan error.
User juga dapat membatalkan dengan menekan tanda silang pada pojok kanan
atas.
4.1.1.9 Form Routing Table
71
Gambar 4.12 Form Routing Table
Setelah menambah router pada halaman kerja maka user dapat mengisi
routing table dengan cara memasukan IP address destination, subnet mask dan
default gateway pada field yang sudah disediakan kemudian menekan add route
untuk menyimpan. User dapat menghapus entry melalui tombol silang disebelah
kanan entry. Selain itu user dapat mengisikan destination network dengan 0.0.0.0
/0 itu sama saja dengan perintah any net.
4.1.1.10 Form Uji Konektivitas
Gambar 4.13 Form Uji Konektivitas
Setelah semua konfigurasi selesai user dapat dapat menguji konektivitas
dengan fasilitas uji konektivitas. Pilih PC hingga muncul bayangan merah
kemudian pada PC properties tombol command akan muncul uji konektivitas
disana user dapat source (sumber) dan destination(tujuan) IP dan klik Enter untuk
mengeksekusinya lalu pada information window akan muncul konfirmasi dan
pada layar utama akan ditampilkan visualisasinya seperti gambar dibawah ini.
72
Gambar 4.14 Visualisasi
4.1.1.11 Error Message
Gambar 4.15 Error message
Pesan ini akan muncul bila data masukan belum lengkap.
73
4.1.2. Menu Tutorial
Gambar 4.16 Tutorial
Menu ini menyediakan materi mengenai jaringan user dapat memilih
materi dengan klik pada tombol materi dan memilih materi yang diinginkan.
4.1.2. Menu Simulasi
4.1.2.1 Class PC class PC {
var nama:String;
var ip:String;
var subnet:String;
var gateway:String;
var net_id:String;
var broadcast:String;
var mac:String;
var x:Number;
var y:Number;
function PC(nama:String, ip:String, subnet:String,
gateway:String, net_id:String, broadcast:String, mac:String,
x:Number, y:Number) {
this.nama = nama;
74
this.ip = ip;
this.subnet = subnet;
this.gateway = gateway;
this.net_id = net_id;
this.broadcast = broadcast;
this.mac = mac;
this.x = x;
this.y = y;
}
}
4.1.2.2. Class Network class Network {
var nama:String;
var net_id:String;
var subnet:String;
var broadcast:String;
var x:Number;
var y:Number;
function Network(nama:String, net_id:String, subnet:String,
broadcast:String, x:Number, y:Number) {
this.nama = nama;
this.net_id = net_id;
this.subnet = subnet;
this.broadcast = broadcast;
this.x = x;
this.y = y;
}
}
4.1.2.3. Class Router class Router {
var nama:String;
var ip_array:Array;
var routing_array:Array;
var subnet_array:Array;
var net_id_array:Array;
var broadcast_array:Array;
var eth_array:Array;
75
var x:Number;
var y:Number;
var destination:String;
var subnet_destination:String;
var via:String;
function Router(nama:String, ip_array:Array,
subnet_array:Array, net_id_array:Array, broadcast_array:Array,
x:Number, y:Number) {
this.nama = nama;
this.ip_array = new Array(ip_array[0], ip_array[1],
ip_array[2]);
this.subnet_array = new Array(subnet_array[0],
subnet_array[1], subnet_array[2]);
this.net_id_array = new Array(net_id_array[0],
net_id_array[1], net_id_array[2]);
this.eth_array = new Array(eth_array[0], eth_array[1],
eth_array[2]);
this.broadcast_array = new Array(broadcast_array[0],
broadcast_array[1], broadcast_array[2]);
this.routing_array = new Array();
this.x = x;
this.y = y;
this.destination = destination;
this.subnet_destination = subnet_destination;
this.via = via;
}
}
4.1.2.4. Class Koneksi
Kelas Koneksi adalah kelas yang berguna untuk menampung data koneksi
antara Device class Koneksi {
var koneksi_array:Array;
function Koneksi(obj_1:Object, obj_2:Object) {
koneksi_array = new Array();
koneksi_array.push(obj_1);
koneksi_array.push(obj_2);
76
}
}
4.1.2.5. Fungsi Hitung IP
Fungsi hitung ip adalah fungsi yang berguna untuk menghitung network
identifier dan broadcast dari parameter input masukan yaitu IP dan prefix. Listing
fungsi hitung IP disajikan di bawah ini: for (var i = 0; i<subnet_mask; i++) {
binari = binari+'1';
}
for (var i = 0; i<32-subnet_mask; i++) {
binari = binari+'0';
}
for (j=0; j<4; j++) {
subnet[j] = parseInt(strbinary.substr(n, 8), 2);
net_id_array.push(ip[j] & subnet[j]);
net_id_binari_array.push(hitungbiner(ip[j] & subnet[j]));
n = n+8;}
for (var i = 0; i<32-subnet_mask; i++) {
broadcast_binari = broadcast_binari+'1';
}
m = 0;
for (j=0; j<4; j++) {
broadcast_array[j] =
parseInt(broadcast_binari.substr(m, 8), 2);
m = m+8;
}
Penjelasan :
IPbertipe data array dan prefix bertipe data string, yang pertama kali
dilakukan adalah konversi prefix dari string menjadi biner,dari proses ini
dihasilkan prefix berupa biner 32 digit, kemudian prefix biner dipotong masing
masing menjadi 8 digit kemudian hasilnya di-And-kan dengan ip dan hasilnya
berupa net id di masukan dalam suatu array.
77
Langkah berikutnya adalah menghitung broadcast dengan cara
memotong dan mengambil Net ID sebanyak jumlah prefix. Kemudian
ditambahkan digit 1 dibagian belakang sebanyak 32 dikurangi prefix. sehingga
akan dihasilkan broadcast.
Semua hasil perhitungan dimasukan dalam object bernama hasilku dan
dijadikan nilai balik dari fungsi hitung ip.
4.1.2.6. Fungsi Uji Konektivitas
Fungsi uji konektivitas adalah fungsi utama dalam program ini listing
untuk fungsi ping disajikan di bawah ini:
Fungsi uji konektivitas adalah fungsi yang digunakan untuk pencarian,
paramenter input yang digunakan adalah ip destination bertipe data
String,langkah pertama yang dilakukan adalah dengan membaca semua data yang
ada pada pc yang digunakan untuk menjalankan perintah ping, data tersebut
meliputi ip, prefix, net id, default gateway dan mac address, setelah semua data
dibaca pc melakukan proses penghitungan dimana ip destination di-And-kan
dengan prefix untuk menghasilkan net id proses tersebut dijalankan pada
potongan listing dibawah ini _root.hitung_ip(_root.Pecah_ip(destination),_root.Networks[network
].subnet);
Dari hasil perhitungan bila Net ID hasil perhitungan sama dengan Net
ID dari PC Source maka IP destination berada pada satu jaringan dan kemudian
akan mencari didalam network itu sendiri pencarian dilakukan pada potongan
listing dibawah ini: for (var i = 0; i<_root.Koneksis.length; i++) {
var nol_id =
_root.Koneksis[i].koneksi_array[0].id;
var nol_tipe =
_root.Koneksis[i].koneksi_array[0].tipe;
var satu_id =
_root.Koneksis[i].koneksi_array[1].id;
var satu_tipe =
_root.Koneksis[i].koneksi_array[1].tipe;
78
if ((nol_id == network) && (nol_tipe ==
"Network")) {
device_id =
_root.Koneksis[i].koneksi_array[1].id;
device_tipe =
_root.Koneksis[i].koneksi_array[1].tipe;
if (device_tipe == 'PC') {
if (_root.PCs[device_id].ip == destination) {
_root.pesan_ping = "reply";
_root.trace_array.push({tipe:'PC', id:device_id});
break;
}
} else {for (var p = 0; p<3; p++) {
if
(_root.Routers[device_id].ip_array[p] == destination) {
_root.pesan_ping = "reply";
_root.trace_array.push({tipe:'Router', id:device_id});
break;
Koneksis adalah array dari class yang menyimpan data-data mengenai
koneksi .dan class-class terebut memiliki object yang yang berisi tipe dan id dari
device yang terkoneksi. Listing diatas terdiri dari looping sebanyak isi dari array
koneksis dan mencari data dari array koneksis yang berisi network mana yang
terkoneksi dengan pc, setelah ketemu maka akan melakukan push yang berisi
network dan tipenya pada trace_array. Trace_array adalah array yang nantinya
akan diisi data device yang dilewati dan digunakan sebagai panduan jalur-jalur
yang dilalui paket data yang dikirimkan. Proses diatas dilakukan pada satu
network tetapi bila net id hasil perhitungan tidak sama dengan net id pc source
maka proses akan membaca default gateway yang dimiliki oleh pc source dan
kemudian mencari router yang terkoneksi dengan pc source dan kemudian
mencocokan apakah router tersebut memiliki IP yang sesuai dengan default
gateway pada pc source. Proses tersebut dilakukan pada potongan listing dibawah
ini:
79
for (var i = 0; i<_root.Koneksis.length; i++) {
var nol_id = _root.Koneksis[i].koneksi_array[0].id;
var nol_tipe = _root.Koneksis[i].koneksi_array[0].tipe;
var satu_id = _root.Koneksis[i].koneksi_array[1].id;
var satu_tipe = _root.Koneksis[i].koneksi_array[1].tipe;
if ((nol_id == network) && (nol_tipe == "Network")) {
device_id = _root.Koneksis[i].koneksi_array[1].id;
device_tipe = _root.Koneksis[i].koneksi_array[1].tipe;
var eth; for (var p = 0; p<3; p++) {
var f = _root.Routers[device_id].eth_array[p];
if (f == network) {eth = p;
break;}}
if (_root.Routers[device_id].ip_array[eth] == gateway_source) {
router = device_id;
butuh_router = true;
break;
Dari proses diatas akan menghasilkan pesan true berarti router ditemukan
atau false artinya tidak ada router yang digunakan sebagai default gateway dari pc
source. Proses selanjutnya adalah memanggil fungsi router_cari_dilengan fungsi
ini sendiri berguna untuk mencari semua device baik pc ataupun router yang
terkoneksi dengan sebuah router, pemanggilan fungsi ini dilakukan seperti
potongan listing dibawah ini: if (butuh_router) {
var tujuan = destination;
var ceking_tabel:Object = new Object();
ceking_tabel = _root.router_cari_dilengan(router, tujuan);
tabel = ceking_tabel.baca_tabel;
}
Proses diatas akan menghasilkan pesan ditemukan atau tidak. Pesan
ditemukan berarti ditemukan device baik berupa PCataupun router yang memiliki
IP destination, pesan tidak ditemukan berarti router harus memanggil fungsi
routing_cari_network_via, fungsi routing_cari_network_via sendiri berguna untuk
80
membaca setiap entry dari table routing yang dimiliki router tersebut. Fungsi
routing_cari_network_via akan menghasilkan nilai balik berupa gateway jika
ditemukan network yang sesuai dengan IP destination dan akan menghasilkan
undefined bila tida ada entri table routing yang sesuai.
Fungsi routing_cari_network_via menentukan apakah proses berlanjut
atau tidak , jika gateway ditemukan maka router akan memanggil fungsi
router_cari_dilengan_cari_gateway yang berguna untuk mencari router yang
memiliki Ethernet yang IP dan prefixnya sesuai dengan nilai balik dari fungsi
routing_cari_network_via.jika ditemukan maka router yang ditemukan itu akan
mengulang proses pencarian yang sama seperti yang dilakukan router sebelumnya
4.3 Pengujian Sistem dan Analisa
Pengujian dan analisa akan dilakukan pada program bantu simulasi routing
dengan konfigurasi sebagai berikut:
Gambar 4.17 konfigurasi pada pengujian sistem
Berdasarkan konfigurasi (Gambar 4.14 atau Gambar 4.16 )diatas akan
dilakukan pengujian terhadap sistem yang telah dikembangkan. Dilakukan
pengujian sistem dengan uji konektivitas dan kemudian menganalisa hasilnya
sebagai berikut:
4.3.1 Konfigurasi 1
Pada konfigurasi ini dipastikan bahwa setiap device terkoneksi dengan
benar dan pegisian tabel routing juga benar.
81
Tabel 4.1 Hasil pengujian pada uji konektivitas
Source Destination Output Analisa
PC1(192.168.40.1) 192.168.40.10 Reply PC1 menghitung
192.168.40.10 di-And-kan
dengan subnet dari PC1
255.255.255.0 didapatkan
net id 192.168.40.0 itu
berarti sama dengan net id
PC1 dan kemudian proses
PC1 melakukan echo
request dalam network itu
sendiri dan didapatkan echo
reply dari 192.168.40.10
(router 2)
PC1(192.168.40.1) 192.168.40.2 Request
Time Out
PC1 menghitung
192.168.40.2 di-And-kan
dengan subnet dari PC1
255.255.255.0 didapatkan
net id 192.168.40.0 itu
berarti sama dengan net id
PC1 dan kemudian PC1
melakukan echo request di
network itu sendiri dan tidak
didapatkan echo reply IP
tersebut maka akan
dilakukan looping terus
menerus untuk mencari
sehingga PC1 selalu
menunggu hingga waktu
82
habis
PC1(192.168.40.1) 192.168.30.1 Reply PC1 menghitung
192.168.30.1 di-And-kan
dengan subnet dari PC1
255.255.255.0 didapatkan
net id 192.168.30.0 itu
berarti tidak sama dengan
net id PC1 dan kemudian
PC1 membaca gateway dari
PC1 ketika ditemukan router
semua proses diserahkan
pada router2 dan router2
akan mencari dalam tabel
routing network ditemukan
192.168.30.1 kemudian
router2 mengirimkan echo
reply
PC1(192.168.20.10) 192.168.20.10 Reply PC1 menghitung
192.168.20.10 di-And-kan
dengan subnet dari PC1
255.255.255.0 didapatkan
net id 192.168.20.0 itu
berarti tidak sama dengan
net id PC1 dan kemudian
PC1 membaca gateway dari
PC1 ketika ditemukan
router2 semua proses
diserahkan pada router2 dan
router2 akan membaca
routing tabel untuk mencari
83
192.168.20.0, ditemukan
192.168.20.0 dan
192.168.30.1 sebagai
gatewaynya maka router
akan mencari dan ditemukan
192.168.30.1 pada router1
selanjutnya proses
diserahkan pada router R1
membaca routing tabel dan
didapatkan 192.168.20.10
kemudian 192.168.20.10
mengirimkan echo reply
PC1(192.168.20.10) 192.168.0.1 Reply Proses yang terjadi sama
dengan proses sebelumnya
hanya sana disini dilewati 2
router yaitu router R2 dan
router0
PC1(192.168.20.10) 10.10.10.10 Destination
Net
Unrecable
Pada Router R1 pesan tidak
didapatakan informasi
mengenai 10.10.10.10 maka
Router R1 akan
mengirimkan pesan DNU
kepada PC1
4.3.2 Konfigurasi 2
Pada konfigurasi ini Gateway pada PC1 dihapus atau diganti dengan IP PC1
Tabel 4.2.Pengujian dengan Gateway pada PC1 dihapus atau diganti.
Source Destination Output Analisa
84
PC1(192.168.40.1) 192.168.0.1 Request
Time Out
Proses echo request berhasil
tetapi echo reply tidak
menemukan jalur untuk
menuju 192.168.40.1 hal ini
disebabkan tidak ditemukan
gateway PC1. PC2
menunggu hingga waktu
habis
4.3.3 Konfigurasi 3
Pada konfigurasi ini Tabel Routing pada R1 dihapus
Tabel 4.3 Pengujian dengan tabel routing pada R1 dihapus.
Source Destination Output Analisa
PC1(192.168.40.1) 192.168.0.1 Request
Time Out
Proses sampai R1 benar
tetapi pada R1 tidak
ditemukan informasi untuk
menuju 192.168.01 sehingga
PC1 menunggu terus
4.3.3 Analisa Hasil Pengujian Program pada User
Berdasarkan hasil pengujian program dan pengambilan quisioner terhadap
30 responden yang berasal dari mahasiswa teknik informatika USD angkatan
2004 – 2007 didapatkan hasil sebagai berikut:
85
Pertanyaan 1:
93%
7%
Apakah anda pernah mengikuti mata kuliah jaringan komputer 1 ?
Ya Tidak
Gambar 4.18. Pie chart jawaban pertanyaan survey 1
Dari jawaban yang dikemukakan 28 responden menjawab ya dan 2 responden
menjawab tidak pernah mengikuti mata kuliah jaringan komputer 1.
Pertanyaan 2:
93%
7%
Apakah anda pernah mengikuti pratikum komputer 1 ?
Ya Tidak
Gambar 4.19. Pie chart jawaban pertanyaan survey 2
Dari jawaban yang dikemukakan 28 responden menjawab ya dan 2 responden
menjawab tidak pernah mengikuti praktikum jaringan komputer 1.
86
Pertanyaan 3:
61%39%
Apakah anda mengerti dasar dasar routing ?
Ya Tidak
Gambar 4.20. Pie chart jawaban pertanyaan survey 3
Dari jawaban yang dikemukakan 11 menjawab mengerti,7 menjawab tidak
mengerti dan 2 tidak menjawab atau kosong
Bagian 2:
Pertanyaan 1:
100%
0%
Apakah program simulasi routing ini menarik ?
Ya Tidak
Gambar 4.21. Pie chart jawaban pertanyaan survey 1 bagian 2
Dari jawaban yang dikemukakan semua menjawab menarik
87
Pertanyaan 2:
57%43%
Apakah program simulasi routing ini interaktif ?
Ya Tidak
Gambar 4.21. Pie chart jawaban pertanyaan survey 2 bagian 2
Dari jawaban yang dikemukakan semua menjawab interaktif
Pertanyaan 3:
52%48%
Apakah help yang disajikan membantu anda dalam menggunakan program ?
Ya Tidak
Gambar 4.22. Pie chart jawaban pertanyaan survey 3 bagian 2 Dari jawaban yang dikemukakan 14 menjawab membantu, 13 menjawab tidak
membantu dan 3 tidak menjawab
88
Pertanyaan 4:
57%43%
Apakah anda dapat mengetahui proses pengiriman paket (echo request dan
reply ) setelah menggunakan program ini ?Ya Tidak
Gambar 4.23. Pie chart jawaban pertanyaan survey 4 bagian 2
Dari jawaban yang dikemukakan 24 menjawab mengerti menjawab 6 tidak
mengerti dan tidak menjawab
Pertanyaan 5:
65%35%
Apakah materi jaringan yang diberikan membantu anda dalam memahami
proses routing ?Ya Tidak
Gambar 4.24. Pie chart jawaban pertanyaan survey 5 bagian 2
Dari jawaban yang dikemukakan menjawab mengerti menjawab tidak mengerti
dan tidak menjawab
89
Pertanyaan 6:
100%
0%
Apakah program routing ini bermanfaat ?
Ya Tidak
Gambar 4.23. Pie chart jawaban pertanyaan survey 6 bagian 2
Dari jawaban yang dikemukakan semua menjawab bermanfaat.
Pertanyaan 7: Responden memberikan banyak variasi score untuk program simulasi ini dan dari
perhitungan didapatakan nilai rata-rata. 87.76
4.4. Distribusi
Aplikasi yang dibuat akan didistribusikan dalam bentuk CD interaktif. Dalam CD
tersebut berisi:
1. Opening_Movie.exe
2. Simulasi.exe
3. Profile.exe
4. Tutorial.HTML
5. Help.HTML
6. Autorun.inf
Berisi: [autorun]
open= Opening_Movie..exe
90
icon=simulasi.ico
7. Class-class
Berisi:
Router.as, PC.as, Network.as, Koneksi.as.
8. Simulasi.ico
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Dari hasil analisa, desain, implementasi dan survei yang telah dilakukan
maka dapat di ambil kesimpulan sebagai berikut ini :
1. Program simulasi routing IP ini dapat diimplementasikan dengan
menggunakan Macromedia Flash 8
2. Program simulasi routing IP ini menarik dan interaktif dan bermanfaat.
3. Materi tutorial yang diberikan membantu dalam memahami proses
routing
4. Membantu user untuk mengetahui proses routing dengan memberikan
visualisasi proses pengiriman paket sesuai dengan tujuan penelitian.
5.2 KELEBIHAN dan KEKURANGAN
A. Kelebihan:
1. Lebih efisien dan fleksibel karena hanya menggunakan satu komputer.
2. Program bantu ini dapat memberikan visualisasi tentang jalanya echo
request dan echo reply.
3. Setting lebih mudah, karena program bantu ini menggunakan grafik user
interface dan fokus pada form-form yang penting untuk digunakan dalam
setting jaringan pada simulasi.
91
92
B. Kekurangan:
Tidak bisa memberikan pengetahuan dan pengalaman mengenai
cabling dan setting pada perangkat keras.
5.3 SARAN
Saran yang dapat diberikan agar program bantu ini dapat di buat lebih baik
lagi adalah sebagai berikut :
Untuk pengembangan lebih lanjut dapat dilengkapi dengan routing
dinamik dan visualisasi pada data link layer.
DAFTAR PUSTAKA . Jogiyanto, 1999, Pengenalan Komputer. Yogyakarta: Penerbit Andi.
Pete, S., 2001, Getting More Out of ICMP, [online],
(http://www.sans.org/infosecFAQ/audit/more_ICMP.htm, diakses
tanggal 8 agustus 2008 )
Amang, 2008, Cisco Certified Network Associate, [online], (http://www.eepis-
its.edu /CCNA.htm, diakses tanggal 8 agustus 2008 )
Hutapea, T., 2001, Pengantar dan Konsep TCP/IP, [online], (http://www.ilmu
komputer.com, diakses tanggal 8 agustus 2008 )
Luther, A., 1994, Authoring Interactive Multimedia. AP Professional. Boston
Hernawan, A., 2007, Modul Praktikum Jaringan Komputer / routing Yogyakarta :
Teknik Informatika USD
Oetomo, S.D.B., 2004, Konsep dan Perancangan Jaringan Komputer.
Yogyakarta : Penerbit Andi.
Mansfield, N., 2004, Practical TCP/IP Mendesain, Menggunakan dan
Troubleshooting Jaringan TCP/IP di Linux dan Windows.
Yogyakarta : Penerbit Andi
Fanani .A.Z,. 2007, Bermain Logika Action Script Macromedia Flash Pro 8,
Jakarta : Elex Media Komputindo.
Herman. 2006, CAI (Computer Assisted Instruction) Dalam Dunia Pendidikan,
Bandung : Pustaka Setia.
Sutopo, A., 2003, Multimedia Interaktif dengan Flash.
Yogyakarta:Graha Ilmu.
LAMPIRAN
Start
on (release) {
if (_root.start_.minimize) {
_root.start_.minimize = false;
} else {
_root.start_.minimize = true;
}
}
Start frame
onClipEvent (load) {
this._y = 500;
minimize = false;
}
onClipEvent (enterFrame) {
if (!minimize) {
if (this._y>300) {
this._y -= 40;
minimize = false;
}
} else {
if (minimize) {
if (this._y<760) {
this._y += 40;
}
-
}
}
}
Add PC
-
on (release) {
_root.blockAction();
_root.createEmptyMovieClip('Form_addPC', _root.getNextHighestDepth());
_root.Form_addPC.attachMovie('Form_addPC', this_mc, 1);
_root.Form_addPC._x = Stage.width/2;
_root.Form_addPC._y = Stage.height/2;
}
Add PC frame
onClipEvent (load) {
var someListener:Object = new Object();
someListener.onSetFocus = function() {
temp = Selection.getFocus();
//trace(temp);
};
Selection.addListener(someListener);
mac_text.text = _root.Mac();
}
onClipEvent (enterFrame) {
//=================================pc network===========
if (subnet_dec.text != "" && temp == "_level0.Form_addPC.undefined.pc.subnet_dec") {
-
subnet_text.text = _root.convert_subnet(subnet_dec.text);
}
if (subnet_text.text != "" && temp == "_level0.Form_addPC.undefined.pc.subnet_text") {
subnet_dec.text = _root.konvert_menjadi_dec(subnet_text.text);
}
}
Add PC ok movie
on (release) {
var golek = _root.cek_ip_sama(ip_text.text, "100000", "PC");
if ((nama_text.text.length>0) && (ip_text.text.length>0) && (subnet_text.text.length>0) && (gateway_text.text.length>0)) {
if (golek == false) {
var cek_subnet;
var cek_subnetku;
var cek_ip = _root.handler_cek_ip_subnet(ip_text.text);
var cek_gateway = _root.handler_cek_ip_subnet(gateway_text.text);
if (cek_ip && cek_gateway) {
var hasil:Object = _root.hitung_ip(_root.Pecah_ip(ip_text.text), subnet_text.text);
_root.addPC(nama_text.text, ip_text.text, hasil.subnet_mask, gateway_text.text, hasil.net_id, hasil.broadcast, mac_text.text);
_root.drawGraphs();
removeMovieClip(_parent);
removeMovieClip(_root.blocker);
trace("maciiii"+mac_text.text);
-
} else {
_root.warning('ip salah');
_root.pesanku = "Input data salah";
}
} else {
_root.warning('isi lagi');
_root.pesanku = "IP sudah pernah digunakan";
}
} else {
_root.warning('isi lagi');
_root.pesanku = "Input data Belum lengkap";
}
}
Add PC function
function addPC(nama:String, ip:String, subnet:String, gateway:String, net_id:String, broadcast:String, mac:String):Boolean {
var sukses:Boolean = true;
if ((PCs.length<_root.max_pc) && (nama != '') && (ip != '') && (subnet != '') && (gateway != '')) {
//PCs.push(new PC(nama, ip, subnet, gateway, Stage.width/2, Stage.height/2));
PCs.push(new PC(nama, ip, subnet, gateway, net_id, broadcast, mac, Stage.width/2, Stage.height/2));
} else {
sukses = false;
}
return sukses;
-
}
PC graf
on (press) {
startDrag(_parent._parent);
}
on (release) {
stopDrag();
_root.keselek_tipe = 'PC';
_root.keselek_id = _parent.id;
_root.input.loadContent();
}
onClipEvent (enterFrame) {
_root.PCs[_parent.id].x = _parent._parent._x;
_root.PCs[_parent.id].y = _parent._parent._y;
if (_root.keselek_id == _parent.id && _root.keselek_tipe == 'PC') {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Add Router
on (release) {
_root.blockAction();
_root.createEmptyMovieClip('Form1', _root.getNextHighestDepth());
-
_root.Form1.attachMovie('Form_addrouter', this_mc, 1);
_root.Form1._x = Stage.width/2;;
_root.Form1._y = Stage.height/2;;
}
Add router ok movie
on (release) {
if (_root.Routers.length == 4) {
_root.warning('masukan nama');
_root.pesanku = "Router Maximal";
}
if (nama_text.text.length>0) {
_root.addRouter(nama_text.text, temp_array, temp_array2, temp_array3, temp_array4);
removeMovieClip(_root.blocker);
_root.drawGraphs();
removeMovieClip(_parent);
} else {
_root.warning('masukan nama');
_root.pesanku = "Input data belum lengkap";
}
}
Router graf
on (press) {
startDrag(_parent._parent);
-
}
on (release) {
stopDrag();
_root.keselek_tipe = 'Router';
_root.keselek_id = _parent.id;
_root.input.loadContent();
}
onClipEvent (enterFrame) {
_root.Routers[_parent.id].x = _parent._parent._x;
_root.Routers[_parent.id].y = _parent._parent._y;
if (_root.keselek_id == _parent.id && _root.keselek_tipe == 'Router') {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Network graf
on (press) {
startDrag(_parent._parent);
}
on (release) {
stopDrag();
_root.keselek_tipe = 'Network';
-
_root.keselek_id = _parent.id;
_root.input.loadContent();
}
onClipEvent (enterFrame) {
_root.Networks[_parent.id].x = _parent._parent._x;
_root.Networks[_parent.id].y = _parent._parent._y;
if (_root.keselek_id == _parent.id && _root.keselek_tipe == 'Network') {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
}
Add router function
function addRouter(nama:String, ip_array:Array, subnet_array:Array, net_id_array:Array, broadcast_array:Array):Boolean {
var sukses:Boolean = true;
if ((Routers.length<_root.max_router) && (nama != '')) {
////trace('buat router');
Routers.push(new Router(nama, ip_array, subnet_array, net_id_array, broadcast_array, Stage.width/2, Stage.height/2));
//Routers.push(new Router(nama, ip_array, Stage.width/2, Stage.height/2));
} else {
sukses = false;
}
return sukses;
}
-
Add Network
on (release) {
_root.blockAction();
_root.createEmptyMovieClip('form', _root.getNextHighestDepth());
_root.form.attachMovie('addNetwork', this_mc, 1);
_root.form._x = Stage.width/2;;
_root.form._y = Stage.height/2;;
}
Add network frame
onClipEvent (load) {
var someListener:Object = new Object();
someListener.onSetFocus = function() {
temp = Selection.getFocus();
//trace(temp);
};
Selection.addListener(someListener);
}
onClipEvent (enterFrame) {
//=================================pc network===========
if (subnet_dec.text != "" && temp == "_level0.form.undefined.network.subnet_dec") {
subnet_text.text = _root.convert_subnet(subnet_dec.text);
}
if (subnet_text.text != "" && temp == "_level0.form.undefined.network.subnet_text") {
subnet_dec.text = _root.konvert_menjadi_dec(subnet_text.text);
}
-
}
Add network function
function addNetwork(nama:String, net_id:String, subnet:String, broadcast:String):Boolean {
var sukses:Boolean = true;
if ((Networks.length<_root.max_network) && (nama != '') && (net_id != '') && (subnet != '')) {
Networks.push(new Network(nama, net_id, subnet, broadcast, Stage.width/2, Stage.height/2));
//Networks.push(new Network(nama, net_id, subnet, Stage.width/2, Stage.height/2));
} else {
sukses = false;
}
return sukses;
}
Add network ok movie
on (release) {
var cek_subnet;
var cek_subnetku;
var golek = _root.cek_ip_sama(net_id_text.text, "100000", "Network");
/**/
if ((nama_text.text.length>0) && (net_id_text.text.length>0) && (subnet_text.text.length>0)) {
if (golek == false) {
var cek_ip = _root.handler_cek_ip_subnet(net_id_text.text);
//================
if (subnet_text.text.length<3) {
cek_subnet = subnet_text.text;
} else {
-
cek_subnet = _root.convert_subnet(subnet_text.text);
}
//==================
var hasil:Object = _root.hitung_ip_network(_root.Pecah_ip(net_id_text.text), cek_subnet);
if (cek_ip) {
var temp_broadcast;
_root.addNetwork(nama_text.text, hasil.net_id, hasil.subnet_mask, hasil.broadcast);
_root.drawGraphs();
removeMovieClip(_parent);
removeMovieClip(_root.blocker);
} else {
_root.warning('ip salah');
_root.pesanku = "Input data salah";
}
} else {
_root.warning('ip salah');
_root.pesanku = "Net ID sudah digunakan ";
}
} else {
_root.warning('ip salah');
_root.pesanku = "Input data belum lengkap";
}
}
-
Draw graf
function drawGraphs() {
i = _root.getNextHighestDepth();
while (i>=0) {
removeMovieClip(_root.getInstanceAtDepth(i));
i--;
}
for (i=0; i<Networks.length; i++) {
//trace('buat network '+i+'netw_'+Networks[i].nama);
_root.createEmptyMovieClip(i+'netw_'+Networks[i].nama, 3+i);
_root[i+'netw_'+Networks[i].nama].attachMovie('network', 'gambar', 1);
_root[i+'netw_'+Networks[i].nama].gambar.id = i;
_root[i+'netw_'+Networks[i].nama].gambar.tipe = 'Network';
_root[i+'netw_'+Networks[i].nama]._x = Networks[i].x;
_root[i+'netw_'+Networks[i].nama]._y = Networks[i].y;
}
inc = i+3;
for (i=0; i<PCs.length; i++) {
//trace('buat pc '+i+'pc_'+PCs[i].nama);
_root.createEmptyMovieClip(i+'pc_'+PCs[i].nama, i+inc);
_root[i+'pc_'+PCs[i].nama].attachMovie('pc_', 'gambar', 1);
_root[i+'pc_'+PCs[i].nama].gambar.id = i;
_root[i+'pc_'+PCs[i].nama].gambar.tipe = 'PC';
_root[i+'pc_'+PCs[i].nama]._x = PCs[i].x;
_root[i+'pc_'+PCs[i].nama]._y = PCs[i].y;
-
}
inc += i;
for (i=0; i<Routers.length; i++) {
////trace('router '+Routers[i].nama);
_root.createEmptyMovieClip(i+'router'+Routers[i].nama, i+inc);
_root[i+'router'+Routers[i].nama].attachMovie('router', 'gambar', 1);
_root[i+'router'+Routers[i].nama].gambar.id = i;
_root[i+'router'+Routers[i].nama].gambar.tipe = 'Router';
_root[i+'router'+Routers[i].nama]._x = Routers[i].x;
_root[i+'router'+Routers[i].nama]._y = Routers[i].y;
}
}
Delete
on (release) {
var delet;
var rout_eth;
switch (_root.keselek_tipe) {
case ("Router") :
delet = _root.keselek_id+'router'+_root.Routers[_root.keselek_id].nama;
removeMovieClip(_root.keselek_id+'router'+_root.Routers[_root.keselek_id].nama);
trace(_root.keselek_id);
_root.Routers.splice(_root.keselek_id, 1);
break;
case ("Network") :
-
removeMovieClip(_root.keselek_id+'netw_'+_root.Networks[_root.keselek_id].nama);
trace(_root.keselek_id);
_root.Networks.splice(_root.keselek_id, 1);
break;
case ("PC") :
delet = _root.keselek_id+'pc_'+_root.PCs[_root.keselek_id].nama;
removeMovieClip(delet);
trace(_root.keselek_id);
_root.PCs.splice(_root.keselek_id, 1);
break;
}
for (var i = 0; i<_root.Koneksis.length; i++) {
var nol_id = _root.Koneksis[i].koneksi_array[0].id;
var nol_tipe = _root.Koneksis[i].koneksi_array[0].tipe;
var satu_id = _root.Koneksis[i].koneksi_array[1].id;
var satu_tipe = _root.Koneksis[i].koneksi_array[1].tipe;
var device_id;
var device_tipe;
if (((nol_id == _root.keselek_id) && (nol_tipe == _root.keselek_tipe)) || ((satu_id == _root.keselek_id) && (satu_tipe == _root.keselek_tipe))) {
//cari klo tujuan pc
var tipene = _root.Koneksis[i].koneksi_array[0].tipe;
if (tipene == 'Router') {
device_id = _root.Koneksis[i].koneksi_array[0].id;
} else {
device_id = _root.Koneksis[i].koneksi_array[1].id;
-
}
for (var s = 0; s<3; s++) {
var eth = _root.Routers[device_id].eth_array[s];
if (eth == _root.keselek_id) {
_root.Routers[device_id].eth_array[s] = undefined;
}
}
_root.Koneksis.splice(i, 1);
}
}
}
Form properties
onClipEvent (load) {
function loadContent() {
//trace('loading'+_root.keselek_tipe+'['+_root.keselek_id+']');
var tampil = true;
if (tampil == true) {
gotoAndStop(_root.keselek_tipe);
} else {
gotoAndStop(4);
}
switch (_root.keselek_tipe) {
case ("Router") :
nama_text.text = _root.Routers[_root.keselek_id].nama;
-
eth0_text.text = _root.Routers[_root.keselek_id].ip_array[0];
eth1_text.text = _root.Routers[_root.keselek_id].ip_array[1];
eth2_text.text = _root.Routers[_root.keselek_id].ip_array[2];
subnet_eth0_text.text = _root.Routers[_root.keselek_id].subnet_array[0];
subnet_eth1_text.text = _root.Routers[_root.keselek_id].subnet_array[1];
subnet_eth2_text.text = _root.Routers[_root.keselek_id].subnet_array[2];
subnet_dec0.text = _root.konvert_menjadi_dec(subnet_eth0_text.text);
subnet_dec1.text = _root.konvert_menjadi_dec(subnet_eth1_text.text);
subnet_dec2.text = _root.konvert_menjadi_dec(subnet_eth2_text.text);
if (_root.Routers[_root.keselek_id].ip_array[0] == undefined) {
eth0_text.text = "";
subnet_eth0_text.text = "";
subnet_dec0.text = "";
}
if (_root.Routers[_root.keselek_id].ip_array[1] == undefined) {
eth1_text.text = "";
subnet_eth1_text.text = "";
subnet_dec1.text = "";
}
if (_root.Routers[_root.keselek_id].ip_array[2] == undefined) {
eth2_text.text = "";
subnet_eth2_text.text = "";
subnet_dec2.text = "";
}
break;
-
case ("Network") :
nama_text.text = _root.Networks[_root.keselek_id].nama;
net_id_text.text = _root.Networks[_root.keselek_id].net_id;
subnet_text.text = _root.Networks[_root.keselek_id].subnet;
broadcast_text.text = _root.Networks[_root.keselek_id].broadcast;
subnet_dec.text = _root.konvert_menjadi_dec(subnet_text.text);
break;
case ("PC") :
nama_text.text = _root.PCs[_root.keselek_id].nama;
ip_text.text = _root.PCs[_root.keselek_id].ip;
subnet_text.text = _root.PCs[_root.keselek_id].subnet;
gateway_text.text = _root.PCs[_root.keselek_id].gateway;
net_id_text.text = _root.PCs[_root.keselek_id].net_id;
broadcast_text.text = _root.PCs[_root.keselek_id].broadcast;
subnet_dec.text = _root.konvert_menjadi_dec(subnet_text.text);
mac_text.text = _root.PCs[_root.keselek_id].mac;
break;
}
}
var someListener:Object = new Object();
someListener.onSetFocus = function() {
temp = Selection.getFocus();
//trace(temp);
};
Selection.addListener(someListener);
-
}
onClipEvent (enterFrame) {
//=================================pc network===========
if (subnet_dec.text != "" && temp == "_level0.input.subnet_dec") {
subnet_text.text = _root.convert_subnet(subnet_dec.text);
}
if (subnet_text.text != "" && temp == "_level0.input.subnet_text") {
subnet_dec.text = _root.konvert_menjadi_dec(subnet_text.text);
}
//============================router========================================
if (subnet_dec0.text != "" && temp == "_level0.input.subnet_dec0") {
subnet_eth0_text.text = _root.convert_subnet(subnet_dec0.text);
}
if (subnet_text.text != "" && temp == "_level0.input.subnet_eth0_text") {
subnet_dec0.text = _root.konvert_menjadi_dec(subnet_eth0_text.text);
if(subnet_dec0.text!="NaN.NaN.NaN.NaN"){
subnet_dec0.text = _root.konvert_menjadi_dec(subnet_eth0_text.text); } else{
subnet_dec0.text="";
}
//trace('test'+_root.konvert_menjadi_dec(subnet_eth0_text.text));
}
if (subnet_dec0.text == "" && temp == "_level0.input.subnet_eth0_text") {
subnet_eth0_text.text = "";
}
-
if (subnet_text.text == "" && temp =="_level0.input.subnet_dec0" ) {
subnet_dec0.text = "";
}
//============================================
if (subnet_dec1.text != "" && temp == "_level0.input.subnet_dec1") {
subnet_eth1_text.text = _root.convert_subnet(subnet_dec1.text);
}
if (subnet_text.text != "" && temp == "_level0.input.subnet_eth1_text") {
subnet_dec1.text = _root.konvert_menjadi_dec(subnet_eth1_text.text);
if(subnet_dec1.text!="NaN.NaN.NaN.NaN"){
subnet_dec1.text = _root.konvert_menjadi_dec(subnet_eth1_text.text); } else{
subnet_dec1.text="";
}
}
if (subnet_dec1.text == "" && temp == "_level0.input.subnet_dec0") {
subnet_eth1_text.text = "";
}
if (subnet_text.text == "" && temp == "_level0.input.subnet_eth0_text") {
subnet_dec1.text = "";
}
//=================
if (subnet_dec2.text != "" && temp == "_level0.input.subnet_dec2") {
subnet_eth2_text.text = _root.convert_subnet(subnet_dec2.text);
}
if (subnet_text.text != "" && temp == "_level0.input.subnet_eth2_text") {
-
subnet_dec2.text = _root.konvert_menjadi_dec(subnet_eth2_text.text);
if(subnet_dec2.text!="NaN.NaN.NaN.NaN"){
subnet_dec2.text = _root.konvert_menjadi_dec(subnet_eth2_text.text); } else{
subnet_dec2.text="";
}
}
if (subnet_dec2.text == "" && temp == "_level0.input.subnet_dec0") {
subnet_eth2_text.text = "";
}
if (subnet_text.text == "" && temp == "_level0.input.subnet_eth0_text") {
subnet_dec2.text = "";
}
//====================================================================
if (subnet_text.text.length<3) {
if (subnet_text.text>32) {
subnet_text.text = 32;
}
if (subnet_text.text<1) {
subnet_text.text = 1;
}
}
//===================================================
if (subnet_eth0_text.length<3) {
if (subnet_eth0_text.text>32) {
subnet_eth0_text.text = 32;
-
}
if (subnet_eth0_text.text<1) {
subnet_eth0_text.text = 1;
}
}
if (subnet_eth1_text.length<3) {
if (subnet_eth1_text.text>32) {
subnet_eth1_text.text = 32;
}
if (subnet_eth1_text.text<1) {
subnet_eth1_text.text = 1;
}
}
if (subnet_eth2_text.length<3) {
if (subnet_eth2_text.text>32) {
subnet_eth2_text.text = 32;
}
if (subnet_eth2_text.text<1) {
subnet_eth2_text.text = 1;
}
}
//=====================================
if (_root.keselek_tipe == undefined) {
gotoAndStop(4);
this.visible(false);
-
}
this.visible(true);
}
Save PC
on (release) {
//trace(_root.keselek.id+_root.keselek.tipe);
var golek = _root.cek_ip_sama(ip_text.text, _root.keselek_id, _root.keselek_tipe);
if (golek == false) {
if ((nama_text.text.length>0) && (ip_text.text.length>0) && (subnet_text.text.length>0) && (gateway_text.text.length>0)) {
var cek_ip = _root.handler_cek_ip_subnet(ip_text.text);
var cek_gateway = _root.handler_cek_ip_subnet(gateway_text.text);
var cek_subnetlo = _root.handler_cek_ip_subnet(subnet_dec.text);
var cek_subnetku = _root.handler_cek_ip_subnet(subnet_text.text);
if (cek_gateway && cek_subnetlo && cek_ip) {
var hasil:Object = _root.hitung_ip(_root.Pecah_ip(ip_text.text), subnet_text.text);
_root.PCs[_root.keselek_id].nama = nama_text.text;
_root.PCs[_root.keselek_id].ip = ip_text.text;
_root.PCs[_root.keselek_id].subnet = hasil.subnet_mask;
_root.PCs[_root.keselek_id].gateway = gateway_text.text;
_root.PCs[_root.keselek_id].net_id = hasil.net_id;
-
_root.PCs[_root.keselek_id].broadcast = hasil.broadcast;
il.broadcast);
nama_text.text = _root.PCs[_root.keselek_id].nama;
ip_text.text = _root.PCs[_root.keselek_id].ip;
subnet_text.text = _root.PCs[_root.keselek_id].subnet;
gateway_text.text = _root.PCs[_root.keselek_id].gateway;
net_id_text.text = _root.PCs[_root.keselek_id].net_id;
broadcast_text.text = _root.PCs[_root.keselek_id].broadcast;
} else {
_root.warning('masukan nama');
_root.pesanku = "Input data salah";
}
} else {
_root.warning('masukan nama');
_root.pesanku = "Input data blum lengkap";
}
} else {
_root.warning('masukan nama');
_root.pesanku = "IP sudah pernah digunakan";
}
}
Save network
on (release) {
var cek_subnetku;
var cek_subnet;
-
var golek = _root.cek_ip_sama(net_id_text.text, _root.keselek_id, _root.keselek_tipe);
if (golek == false) {
if ((nama_text.text.length>0) && (net_id_text.text.length>0) && (subnet_text.text.length>0)) {
cek_subnetku = _root.handler_cek_ip_subnet(subnet_dec.text);
var cek_ip = _root.handler_cek_ip_subnet(net_id_text.text);
var hasil:Object = _root.hitung_ip_network(_root.Pecah_ip(net_id_text.text), subnet_text.text);
if (cek_ip && cek_subnetku) {
var temp_broadcast;
_root.Networks[_root.keselek_id].nama = nama_text.text;
_root.Networks[_root.keselek_id].net_id = hasil.net_id;
_root.Networks[_root.keselek_id].subnet = hasil.subnet_mask;
_root.Networks[_root.keselek_id].broadcast = hasil.broadcast;
nama_text.text = _root.Networks[_root.keselek_id].nama;
net_id_text.text = _root.Networks[_root.keselek_id].net_id;
subnet_text.text = _root.Networks[_root.keselek_id].subnet;
broadcast_text.text = _root.Networks[_root.keselek_id].broadcast;
} else {
_root.warning('masukan nama');
_root.pesanku = "Input data salah";
}
} else {
_root.warning('masukan nama');
_root.pesanku = "Input data blum lengkap";
-
}
} else {
_root.warning('masukan nama');
_root.pesanku = "Net ID pernah digunakan";
}
}
Save router
on (release) {
var cek_subnet1;
var cek_subnetku1;
var cek_subnet2;
var cek_subnetku2;
var cek_subnet3;
var cek_subnetku3;
_root.Routers[_root.keselek_id].nama = nama_text.text;
if ((eth0_text.text.length>0) && (subnet_eth0_text.text.length>0)) {
var golek = _root.cek_ip_sama(eth0_text.text, _root.keselek_id, _root.keselek_tipe);
if (golek == false) {
cek_subnetku1 = _root.handler_cek_ip_subnet(subnet_dec0.text);
temp_array.push(eth0_text.text);
var cek_ip1 = _root.handler_cek_ip_subnet(eth0_text.text);
-
if (cek_ip1 && cek_subnetku1) {
var hasil_0:Object = _root.hitung_ip(_root.Pecah_ip(eth0_text.text), subnet_eth0_text.text);
_root.Routers[_root.keselek_id].ip_array[0] = eth0_text.text;
_root.Routers[_root.keselek_id].subnet_array[0] = hasil_0.subnet_mask;
_root.Routers[_root.keselek_id].net_id_array[0] = hasil_0.net_id;
_root.Routers[_root.keselek_id].broadcast_array[0] = hasil_0.broadcast;
eth0_text.text = _root.Routers[_root.keselek_id].ip_array[0];
subnet_eth0_text.text = _root.Routers[_root.keselek_id].subnet_array[0];
} else {
_root.warning('ip salah');
_root.pesanku = "Input data belum lengkap";
}
}
}
if ((eth0_text.text.length == 0) && (subnet_eth0_text.text.length == 0)) {
_root.Routers[_root.keselek_id].ip_array[0] = undefined;
_root.Routers[_root.keselek_id].subnet_array[0] = undefined;
_root.Routers[_root.keselek_id].net_id_array[0] = undefined;
_root.Routers[_root.keselek_id].broadcast_array[0] = undefined;
eth0_text.text = "";
subnet_eth0_text.text = "";
}
if ((eth1_text.text.length>0) && (subnet_eth1_text.text.length>0)) {
-
cek_subnetku2 = _root.handler_cek_ip_subnet(subnet_dec1.text);
temp_array.push(eth1_text.text);
var cek_ip2 = _root.handler_cek_ip_subnet(eth1_text.text);
if (cek_ip2 && cek_subnetku2) {
var hasil_1:Object = _root.hitung_ip(_root.Pecah_ip(eth1_text.text), subnet_eth1_text.text);
_root.Routers[_root.keselek_id].ip_array[1] = eth1_text.text;
_root.Routers[_root.keselek_id].subnet_array[1] = hasil_1.subnet_mask;
_root.Routers[_root.keselek_id].net_id_array[1] = hasil_1.net_id;
_root.Routers[_root.keselek_id].broadcast_array[1] = hasil_1.broadcast;
eth1_text.text = _root.Routers[_root.keselek_id].ip_array[1];
subnet_eth1_text.text = _root.Routers[_root.keselek_id].subnet_array[1];
} else {
_root.warning('ip salah');
_root.pesanku = "Input data belum lengkap";
}
}
if ((eth1_text.text.length == 0) && (subnet_eth1_text.text.length == 0)) {
_root.Routers[_root.keselek_id].ip_array[1] = undefined;
_root.Routers[_root.keselek_id].subnet_array[1] = undefined;
_root.Routers[_root.keselek_id].net_id_array[1] = undefined;
_root.Routers[_root.keselek_id].broadcast_array[1] = undefined;
eth1_text.text = "";
subnet_eth1_text.text = "";
}
//eth 2
-
if ((eth2_text.text.length>0) && (subnet_eth2_text.text.length>0)) {
cek_subnetku3 = _root.handler_cek_ip_subnet(subnet_dec2.text);
temp_array.push(eth2_text.text);
var cek_ip3 = _root.handler_cek_ip_subnet(eth2_text.text);
if (cek_ip3 && cek_subnetku3) {
var hasil_2:Object = _root.hitung_ip(_root.Pecah_ip(eth2_text.text), subnet_eth2_text.text);
_root.Routers[_root.keselek_id].ip_array[2] = eth2_text.text;
_root.Routers[_root.keselek_id].subnet_array[2] = hasil_2.subnet_mask;
_root.Routers[_root.keselek_id].net_id_array[2] = hasil_2.net_id;
_root.Routers[_root.keselek_id].broadcast_array[2] = hasil_2.broadcast;
eth2_text.text = _root.Routers[_root.keselek_id].ip_array[2];
subnet_eth2_text.text = _root.Routers[_root.keselek_id].subnet_array[2];
} else {
_root.warning('ip salah');
_root.pesanku = "Input data belum lengkap";
}
}
if ((eth2_text.text.length == 0) && (subnet_eth2_text.text.length == 0)) {
_root.Routers[_root.keselek_id].ip_array[2] = undefined;
_root.Routers[_root.keselek_id].subnet_array[2] = undefined;
_root.Routers[_root.keselek_id].net_id_array[2] = undefined;
_root.Routers[_root.keselek_id].broadcast_array[2] = undefined;
eth2_text.text = "";
subnet_eth2_text.text = "";
}
-
/*else {
_root.warning('ip salah');
_root.pesanku = "Input data belum lengkap";
}*/
}
Tampil routing table
on (release) {
_root.blockAction();
dep = 10000;
duplicateMovieClip(_root.routing, 'routing'+dep, dep);
_root['routing'+dep].gotoAndStop(_root.keselek_tipe);
_root['routing'+dep]._x = Stage.width/2;
_root['routing'+dep]._y = Stage.height/2;
_root['routing'+dep].show_list_routing();
Routing tabel frame
onClipEvent (load) {
var someListener:Object = new Object();
someListener.onSetFocus = function() {
temp = Selection.getFocus();
};
Selection.addListener(someListener);
this.visible(false);
function bubblesort2() {
-
var temp:Number;
for (var i = 1; i<_root.Routers[_root.keselek_id].routing_array.length; i++) {
for (var j = 0; j<_root.Routers[_root.keselek_id].routing_array.length-1; j++) {
if (Number(_root.Routers[_root.keselek_id].routing_array[j].subnet_destination)<Number(_root.Routers[_root.keselek_id].routing_array[j+1].subnet_destination)) {
temp = _root.Routers[_root.keselek_id].routing_array[j].subnet_destination;
_root.Routers[_root.keselek_id].routing_array[j].subnet_destination = _root.Routers[_root.keselek_id].routing_array[j+1].subnet_destination;
_root.Routers[_root.keselek_id].routing_array[j+1].subnet_destination = temp;
}
}
}
}
var n = 0;
function show_list_routing(n:Number) {
//max = _root.Routers[_root.keselek_id].routing_array.length;
bubblesort2();
///_root.Routers[_root.keselek_id].routing_array.sortOn("subnet_destination", Array.NUMERIC || Array.DESCENDING);
if (_root.keselek_tipe == "Router") {
this.visible(true);
i = 0;
while (this['list_routing'+i] != undefined) {
removeMovieClip(this['list_routing'+i]);
-
i++;
}
nama_router_txt = _root.Routers[_root.keselek_id].nama;
//max = _root.Routers[_root.keselek_id].routing_array.length;
var max = n+10;
for (var list = n; list<max; list++) {
if (_root.Routers[_root.keselek_id].routing_array[list] != undefined) {
duplicateMovieClip(this.list_routing, 'list_routing'+list, list);
this['list_routing'+list]._x = -230;
this['list_routing'+list]._y = ((list-n)*20)-55;
this['list_routing'+list].destination_text.text = _root.Routers[_root.keselek_id].routing_array[list].destination;
this['list_routing'+list].subnet_destination_text.text = _root.Routers[_root.keselek_id].routing_array[list].subnet_destination;
this['list_routing'+list].via_text.text = _root.Routers[_root.keselek_id].routing_array[list].via;
this['list_routing'+list].id = list;
}
}
}
}
show_list_routing(0);
}
//=================================pc network===========
onClipEvent (enterFrame) {
//_root.Routers[_root.keselek_id];
//dep = _root.getNextHighestDepth();
-
//if (this.getDepth()<dep-1) {
//this.swapDepths(_root.getInstanceAtDepth(dep-1));
//}
if (this.subnet_destination_text.text>32) {
this.subnet_destination_text.text = 32;
}
if (this.subnet_destination_text.text<0) {
this.subnet_destination_text.text = 0;
}
//_root.Routers[_root.keselek_id].routing_array.sortOn(["subnet_destination"], 2);
if (_root.keselek_tipe == "Router") {
nama_router_text.text = _root.Routers[_root.keselek_id].nama;
}
//====================
if (subnet_dec.text != "" && temp == "_level0.routing10000.subnet_dec" && subnet_dec.text != "0") {
subnet_destination_text.text = _root.convert_subnet(subnet_dec.text);
} else {
if (subnet_dec.text == "0") {
subnet_destination_text.text = "0.0.0.0";
}
}
if (subnet_destination_text.text != "" && temp == "_level0.routing10000.subnet_destination_text" && subnet_destination_text.text != "0.0.0.0") {
subnet_dec.text = _root.konvert_menjadi_dec(subnet_destination_text.text);
} else {
-
if (subnet_destination_text.text == "0.0.0.0") {
subnet_dec.text = "0";
}
}
//============
}
Add list
on (release) {
if ((_parent.destination_text.text.length>0) && (_parent.via_text.text.length>0) && (_parent.subnet_destination_text.length<3) && (_parent.subnet_destination_text.text.length>0)) {
var cek_ip = _root.handler_cek_ip_subnet(_parent.destination_text.text);
var cek_gateway = _root.handler_cek_ip_subnet(_parent.via_text.text);
if (cek_ip && cek_gateway) {
_root.Routers[_root.keselek_id].destination = Number(_parent.destination_text.text);
_root.Routers[_root.keselek_id].via = Number(_parent.via_text.text);
_root.Routers[_root.keselek_id].subnet_destination = Number(_parent.subnet_destination_text.text);
_root.Routers[_root.keselek_id].routing_array.push({destination:this._parent.destination_text.text, subnet_destination:this._parent.subnet_destination_text.text, via:this._parent.via_text.text});
//if (_root[_root.keselek].routing_array.length>3) {
//_parent.count = _root.Routers[_root.keselek_id].routing_array.length-_parent.biji;
//}
_parent.show_list_routing(0);
-
} else {
_root.warning('masukan nama');
_root.pesanku = "Input data salah";
}
} else {
_root.warning('masukan nama');
_root.pesanku = "Input data blum lengkap";
}
}
Delete list
on (release) {
_root.Routers[_root.keselek_id].routing_array.splice(id, 1);
_parent.show_list_routing(0);
//trace("trtrt");
}
Tampil ip calculator
on (release) {
_root.blockAction();
dep = 301;
duplicateMovieClip(_root.ip_calc, 'ip_calc'+dep, dep);
_root['ip_calc'+dep]._x = 400;
_root['ip_calc'+dep]._y = 250;
}
-
on (rollOver) {
this._width = "60";
this._height = "60";
}
on (rollOut) {
this._width = "27";
this._height = "27";
}
Tombol hitung
on (release) {
if ((t_ip1.text.length>0) && (t_ip2.text.length>0) && (t_ip3.text.length>0) && (t_ip4.text.length>0) && (masking.text.length>0)) {
var ip = t_ip1.text+"."+t_ip2.text+"."+t_ip3.text+"."+t_ip4.text;
trace(ip);
var hasil:Object = _root.hitung_ip(_root.Pecah_ip(ip), masking.text);
//trace(masking);
//masking.text = _root.convert_subnet(hasil.subnet_mask);
mask.text = hasil.subnet_mask;
network.text = hasil.net_id;