BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem Jaringan Pusat Data dan Informasi (PUSDATIN) pada Departemen Sosial (DEPSOS)
terdiri atas lebih dari 141 client yang terbagi dalam 3 gedung di
kompleks utama Departemen Sosial Jalan Salemba Raya No.1 dan memiliki 6 server utama yang masing-masing memiliki fungsi berbeda dan terletak pada gedung utama. Topologi umum jaringan yang digunakan pada jaringan Departemen Sosial adalah Extended Star, hubungan dalam tiap LAN gedung menggunakan media transmisi UTP Cable dengan teknologi 100BaseT, dan pada beberapa ruangan yang dinilai strategis diletakkan media HotSpot untuk akses jaringan bagi device-device yang menggunakan wireless interface (Wi-Fi), sedangkan hubungan antara masingmasing gedung menggunakan media transmisi Radio Wireless Link. Pada jaringan ini terdapat dua server berfungsi sebagai DNS (Domain Naming Service) server bekerja, satu server berfungsi sebagai mail server, satu server berfungsi sebagai FTP (File Transfer Protocol) server, satu server berfungsi sebagai proxy server, dan satu server lainnya berfungsi sebagai web server. Akses ke serverserver di atas dari workstation DEPSOS harus melalui proxy server utama.
58
59
Gambar 3.1 Topologi Inti LAN DEPSOS
60 Berikut adalah penjelasan mengenai fungsi server secara lebih lanjut :
DNS Server memiliki fungsi menyimpan informasi mengenai nama host atau nama domain internet dan memberikan layanan penerjemahan nama dari nama domain ke dalam alamat IP. Server ini berjalan pada sistem operasi Linux RedHat Enterprise 3.0.
Mail Server memiliki fungsi menerima, melakukan routing dari e-mail, dan mengirimkan e-mail dengan menggunakan protokol SMTP dan POP3. Server ini berjalan pada sistem operasi SUN Solaris 9.
FTP Server memfasilitasi pertukaran file dari server FTP kepada komputer client pada jaringan Depsos dengan menggunakan protokol FTP. Server ini berjalan pada sistem operasi SUN Solaris 9.
Proxy Server memiliki fungsi sebagai perantara antara workstation client pada jaringan depsos dengan Internet, sehingga dapat memastikan tingkat keamanan, kendali administratif, dan layanan caching .Server ini berjalan pada sistem operasi Linux RedHat Enterprise 3.0.
Web
Server
memiliki
fungsi
sebagai
server
website
depsos
(www.depsos.go.id) . Server ini berjalan pada sistem operasi SUN Solaris 9.
3.1.1 Analisis Kebutuhan Sistem Mendefinisikan kebutuhan sistem dinilai penting, karena : 1. Menjelaskan gambaran sistem yang dikehendaki. 2. Menjadi tujuan perancangan aplikasi yang dibutuhkan oleh sistem.
61 3. Acuan dalam proses perancangan aplikasi tersebut. 4. Tolak ukur dalam keberhasilan perancangan aplikasi yang telah dirancang.
Pada jaringan DEPSOS, diperlukan suatu piranti lunak yang mampu mengumpulkan informasi tertentu dari network device yang ada pada jaringan DEPSOS untuk kepentingan troubleshooting dan analisis lanjut performa jaringan. Piranti lunak ini juga diharapkan mampu melakukan monitoring secara berkala terhadap network device yang mempunyai peranan vital pada jaringan sehingga dapat menghasilkan parameter mengenai keadaan jaringan termasuk data pemantauan utilisasi bandwidth dari device tersebut. Jaringan DEPSOS pada saat ini belum memiliki sistem pemantauan performa jaringan, sumber utama informasi mengenai kondisi jaringan apabila terjadi permasalahan, adalah laporan dari pemakai. Aplikasi yang akan dibuat diharapkan dapat memiliki kemampuan untuk melakukan pemantauan terhadap peralatan serta perkiraan kondisi dalam jaringan, karena berdasarkan hasil wawancara terdapat sebuah permasalahan yakni terkadang terjadi penurunan kinerja jaringan yang tidak diatasi dengan cepat sehingga berakibat pada hal-hal yang tidak diinginkan seperti traffic congestion dan broadcast storm. Diharapkan dengan adanya aplikasi Athena Network Monitoring Tools (ANMT) ini, dapat membantu administrator dalam monitoring kinerja suatu network dan juga menentukan langkah-langkah yang dapat diambil secara cepat untuk melakukan antisipasi terhadap permasalahan yang mungkin terjadi. Aplikasi yang dibuat berbasis pada layanan SNMP dan harus dapat berjalan secara multiplatform, karena sistem operasi yang digunakan pada jaringan DEPSOS
62 terdiri atas Microsoft Windows, Linux SuSE, Apple Mac, dan SUN Solaris. Sistem ini akan berjalan dengan relasi yang bersifat manager-agent, manager akan berjalan pada host dengan sistem operasi Windows, Linux, Macintosh atau Solaris. Agent adalah agent SNMP lokal yang berada pada tiap-tiap sistem operasi secara default. Mekanisme kinerja yang diharapkan adalah secara berkesinambungan, sehingga NOC selalu mendapatkan data yang diperlukan. Lebih lanjut, dalam pengembangan terdapat 3 entity : 1. User, pengguna sistem dan terdiri atas admin dan user 2. Device Agent, peralatan yang akan dimonitor, misalnya : Server, Router, Hub. 3. SNMP Manager, perantara komunikasi antara sistem dan device.
3.1.2 Batasan Sistem Setelah melakukan analisa kebutuhan sistem, perlu dilanjutkan suatu pendefinisian dari batasan sistem. Perancangan aplikasi yang dibutuhkan oleh sistem ini memiliki beberapa batasan : 1. Dapat melakukan fungsi manajemen user. 2. Dapat menampilkan informasi yang dibutuhkan dari suatu network device. 3. Dapat melakukan monitoring kerja jaringan dengan cara memonitor network device yang mempunyai peranan vital pada network tersebut, misalnya : server, gateway router. 4. Menampilkan parameter kinerja network dalam bentuk grafik dan teks. 5. Menggunakan Simple Network Management Protocol.
63 6. Memiliki suatu fungsi untuk mengaktifkan workstation client melalui jaringan LAN (WakeOnLAN) untuk kepentingan troubleshooting. 7. Aplikasi bekerja berdasarkan prinsip polling. 8. Aplikasi bersifat desktop application. 9. Perhitungan parameter kinerja jaringan dilakukan dengan mengolah variabel yang ada dalam MIB II kelompok interface. 10.Parameter kinerja jaringan yang dapat dihasilkan antara lain : -
Bandwidth Utilization
-
Accuracy Rate dan Error Rate
-
Jumlah trafik non-unicast.
-
Jumlah trafik discard.
3.2 Kriteria Uji Aplikasi Kriteria yang menjadi tolok ukur dalam pengujian aplikasi adalah sebagai berikut :
Aplikasi menggunakan protokol SNMP sesuai standar RFC 1157, 1213 dan 1404.
Aplikasi mampu melakukan operasi SNMP dengan OID yang diberikan.
Aplikasi mampu menampilkan statistik performa jaringan melalui data yang didapat dari operasi SNMP secara berkala.
Aplikasi mampu melakukan operasi WakeOnLAN pada jaringan.
Aplikasi mampu melakukan user authentication.
64 Selain itu juga dilakukan perhitungan parameter kinerja jaringan. Parameter kinerja jaringan yang dihasilkan oleh Athena Network Monitoring Tools perlu dianalisa lebih lanjut untuk mengetahui tingkat kinerja jaringan. Di bawah ini beberapa formula parameter – parameter kinerja jaringan (berikut threshold) yang berasal dari Performance Management: Best Practices White Paper (Cisco, 2005) yang dapat digunakan oleh user untuk melakukan analisis lebih lanjut : a. Bandwidth Utilization Bandwidth utilization adalah ukuran penggunaan dari sumber daya bandwidth pada suatu interval waktu. biasanya direpresentasikan dalam bentuk persentase dimana penggunaan dari bandwidth dibandingkan dengan kapasitas maksimum operasional. melalui ukuran ini, traffic congestion dalam jaringan dapat diidentifikasi. Rumus yang digunakan untuk menghitung bandwidth utilization adalah : Bandwidth Utilization In = delta(ifInOctets) x 8 x 100 % IfSpeed x Delta(seconds) Bandwidth Utilization Out = delta(ifOutOctets) x 8 x 100% ifSpeed x delta(seconds) Bandwidth Utilization (total) = Bandwidth Utilization In + Bandwidth Utilization Out Bandwidth Utilization Threshold Sebuah jaringan dianggap sehat apabila utilisasi bandwidth-nya mempunyai ciri- ciri sebagai berikut: Utilisasi berjalan hingga 15 persen setiap waktu.
65 Utilisasi mengalami peningkatan hingga 30 - 35 persen untuk beberapa detik, dengan jeda waktu yang besar diantara peningkatan tersebut . Utilisasi mengalami peningkatan hingga 60 persen untuk beberapa waktu, dengan jeda waktu yang besar di antara peningkatan tersebut. Segera tentukan penyebab terjadinya peningkatan ini, dan tentukan jika permasalahan bisa menjadi semakin buruk sehingga pengisolasian sumber yang menyebabkan permasalahan tersebut pun perlu dilakukan.
b. Accuracy Rate dan Error Rate Accuracy
rate
adalah
ukuran
traffic
interface
yang
tidak
menghasilkan error dalam suatu interval waktu, dan direpresentasikan sebagai persentase. Sedangkan error rate adalah ukuran traffic interface yang menghasilkan error dalam suatu interval waktu, dan direpresentasikan sebagai persentase. Penurunan accuracy rate (atau kenaikan error rate) dapat menjadi
indikasi
bahwa
ada
antarmuka
tertentu
yang
mengalami
permasalahan karena hal-hal seperti media transmisi yang jelek, interferensi listrik, piranti keras atau perangkat lunak yang rusak. Rumus untuk menghitung rata – rata error dalam % : Error Rate = (ΔifInErrors) *100 ------------------------------------(ΔifInUcastPkts + (ΔifInNUcastPkts )
66 Rumus untuk menghitung rata – rata akurasi dalam % : Accuracy Rate = 100 - (ΔifInErrors) *100 ------------------------------------(ΔifInUcastPkts + (ΔifInNUcastPkts )
Accuracy Rate dan Error Rate Threshold Accuracy rate pada sebuah jaringan LAN dengan teknologi yang sekarang ini dapat mencapai 100% disebabkan majunya teknologi jaringan yang ada sekarang ini bila tidak ditemukan adanya permasalahan. Begitu pula dengan error rate yang mampu mencapai hingga 0%. •
Batas threshold yang diterima untuk accuracy rate adalah lebih besar dari 98%
•
Batas threshold yang diterima untuk error rate adalah lebih kecil dari 2%
c. Jumlah Trafik Non-unicast Tingkat non-unicast yang tinggi dapat merupakan indikasi adanya broadcast storm, dan dapat mengakibatkan ethernet meltdown. Rumus untuk menghitung trafik non-unicast Nonunicast In = delta (ifInNUcast Pkts) delta(Seconds) Nonunicast Out = delta(ifOutNUcastPkts) delta(seconds) Non Unicast (total) = Nonunicast In + Nonunicast Out
67 Trafik Non-Unicast Threshold Seandainya terjadi peningkatan trafic non-unicast yang signifikan dalam jangka waktu yang pendek maka perlu diwaspadai dan temukan sumber permasalahan yang terjadi. Non unicast in/out rata-rata tidak boleh melebihi 300 packets/sec.
d. Jumlah Trafik Discard Tingkat discard yang tinggi merupakan indikasi adanya keterbatasan resource, traffic congestion, atau adanya peningkatan bandwidth utilization yang signifikan. Rumus untuk menghitung trafik discard : Discard In = delta (ifInNuDiscardPkts) delta(seconds) Discard Out = delta(ifOutDiscardsPkts) delta(seconds) Discard (total) = Discard In + Discard Out
Trafik Discard Threshold Tidak ada data threshold yang relevan mengenai parameter discard ini dikarenakan jarang sekali terjadi pada saat kondisi operasional biasa namun network device perlu diperiksa apabila terjadi trafik discard in/out agar performa jaringan tetap terjaga.
68
3.3 Perancangan Sistem Tahapan berikutnya setelah analisa penentuan kebutuhan sistem dan pendefinisian batasan kemampuan sistem, adalah tahap perancangan. Tahapan ini terdiri atas konfigurasi dari sistem pemantauan jaringan dan penentuan pemilihan komponen piranti lunak dalam perancangan aplikasi yang digunakan oleh sistem.
3.3.1 Konfigurasi Sistem Pemantauan Jaringan Dari analisa sistem yang berjalan didapatkan kesimpulan bahwa titik strategis penempatan agent yang akan dipantau adalah pada gateway router atau server, secara spesifik adalah pada proxy server karena merupakan titik yang memiliki tingkat network traffic yang tinggi. Aplikasi Athena Network Monitoring Tools (ANMT) yang telah dirancang akan diletakkan pada host dengan sistem operasi Windows atau Linux. Aplikasi ini berfungsi sebagai manager dalam sistem.
3.3.2 Pemilihan Komponen Piranti Lunak Aplikasi Athena Network Monitoring Tools (ANMT), dalam proses perancangannya menggunakan beberapa komponen piranti lunak, antara lain : 1. JAVA Object Oriented Language 2. Borland JBuilder 2006 3. Java Runtime Environment 4. Enterprise Architect 6.0 5. XML 6. MySQL Server
69 1. Java Java adalah bahasa pemrograman berorientasi objek dan dapat dijalankan tidak hanya pada satu sistem operasi, tetapi pada banyak sistem operasi lainnya yang disebut sebagai kemampuan multi-platform. Bahasa pemrograman Java ini dikembangkan oleh SUN Microsystems, cocok digunakan untuk pengembangan enterprise serta mempunyai kelebihan-kelebihan serta fitur-fitur sebagai berikut :
• Berorientasi Objek Konsep pemrograman berorientasi objek tak lain dirancang agar kita dapat memandang
pemograman
sebagai
suatu
kehidupan
nyata.
Konsep
pemrograman berorientasi objek ini lebih mudah untuk dimengerti karena membuat programmer seolah-olah membuat dengan bahasa yang nyata, bukan bahasa komputer. Java adalah suatu bahasa yang menerapkan konsep full object oriented.
• Aplikasi Web Pada jaman modernisasi saat ini, internet adalah salah satu fasilitas serta media informasi yang sangat mempunyai peranan penting dalam kehidupan seharihari. Di dalam internet, terdapat web sebagai sarana komunikasi untuk manusia agar bisa berinteraksi karena hakikatnya setiap manusia itu adalah mahluk yang bersosialisasi. Maka dari itu Java menyediakan fitur aplikasi web sebagai sarana bagi programmer. Java merupakan bahasa pemograman yang mendukung dengan sangat baik untuk aplikasi web ini. Hal ini wajar, karena pada
awalnya
Java
dilahirkan
guna
menjawab
kebutuhan
bahasa
70 pengembangan aplikasi berbasis jaringan. Di antara teknologi Java yang mendukung aplikasi web adalah Applet, JSP(untuk aplikasi yang berbasis server), CORBA( untuk aplikasi berbasis distribusi), dan lain-lain. Lebih dari itu Java mempunyai memiliki SDK (Software Development Kit) yang ditujukan untuk mendukung aplikasi enterprise, yang identik dengan aplikasi jaringan, yaitu J2EE (Java 2 Enterprise Edition).
• Multiplatform Pada kebanyakan bahasa-bahasa pemograman, seorang programmer pabila bekerja pada suatu sistem operasi dan melakukan kompilasi dari sistem operasi tersebut, maka hasil sari kompilasi codingnya hanya bisa dibaca di dalam sistem operasi tempat programmer tersebut melakukan kompilasi. Apabila sistem yang programmer itu buat akan migrasi ke sistem operasi yang lain, Maka programmer tersebut harus berusaha keras dalam menyalin coding yang dibuat ke dalam sistem operasi yang akan diimigrasikan. Maka dari itu Java membuat solusi untuk programmer agar tidak perlu mengalami kesulitan apabila ingin melakukan kompilasi dari sistem lain yang disebut dengan kemampuan Multiplatform. Dengan kemampuan multiplatform ini sekali anda membuat program, program tersebut bisa dijalankan pada komputer dengan platform yang berbeda asalkan JVM (Java Virtual Machine) terinstall pada pada platform tersebut. Selain itu Java juga bisa digunakan untuk membuat program yang berjalan di atas berbagai mobile device (dengan J2ME), PDA,embedded system,dan lain-lain.
71 • Keamanan Salah satu alasan mengapa Java tepat digunakan untuk menangani kebutuhan adalah keampuhannya dalam soal keamanan. Fitur keamanan Java ada 2 paket,yaitu JDK dan pada Java Cryptography Extension (JCE). Fitur keamanan yang tersedia pada kedua paket itu meliputi signature (untuk menandatangani
dokumen),
message
digest,
pengembangan
kunci,
authentication, encryptioni, dan bilangan besar (big number).
• Bisa digunakan pada aplikasi jaringan terdistribusi Aplikasi yang beralan pada jaringan terdistribusi melibatkan sejumlah komputer yang berkomunikasi secara transparan, yaitu seolah sejumlah komputer itu merupakan sebuah komputer yang bersatu untuk menjalankan sebuat perintah. Dengan fitur ini anda bisa membuat program untuk menyelesaikan kasus tertentu dengan melibatkan beberapa komputer. Dengan fitur ini akan membuat penyelesaian masalah menjadi lebih cepat.
• Mendukung Software Mission-Crititcal Java bisa bisa digunakan untuk mengembangkan software dimana tingkat error yang terjadi sangant diperhatikan, di mana sebuah error pada eksekusi program bisa mengakibatkan kerusakan fatal pada system secara keseluruhan. sebagai dukungan tergadap software seperti ini , Java menghilangkan sejumlah fitur C++ yang berpotensi menghasilkan error fatal, seperti pointer, konversi tipe tanpa dicek, dan lain-lain.
72 • Multithread Fitur multithread digunakan untuk menjalankan sejumlah proses secara bersamaan. Dengan menggunakan fasilitas ini Anda bisa membuat program Java yang menjalankan beberapa perintah sekaligus, sehingga tidak perlu menunggu sebuah perintah selesai dikerjakan untuk mengerjakan perintah lain.
2. Borland JBuilder 2006 Borland JBuilder adalah software IDE Java yang membantu tim programmer yang berada pada zona waktu berbeda dalam mengatur kompleksitas pekerjaan dan menghasilkan aplikasi berkelas enterprise secara lebih cepat. Fitur kolaborasi inovatif bersifat peer-to-peer seperti shared editing, joint debugging, dan dukungan active differencing membantu dalam menciptakan sebuah model “ virtual peer programming” yang memungkinkan programmer untuk berkolaborasi seolah-olah mereka bekerja pada workstation yang sama. Kemampuan tim tambahan, seperti refaktorisasi terdistribusi, visualisasi kode UML dan integrasi dengan alat manajemen daur hidup aplikasi, memungkinkan programmer dan anggota proyek lainnya untuk bekerja bersama secara efektif dan tersinkronisasi dari sejak proyek dimulai hingga selesai. Penyertaan unit pengujian dan perfoma jug membantu tim untuk menentukan dan menyelesaikan permasalahan. Borland JBuilder juga menyediakan class-class eksternal yang merupakan hasil integrasi Borland dari developer-developer lain maupun Borland sendiri untuk membantu dalam membangun sebuah aplikasi.
73 3. JAVA Run Time Environment (JRE) JRE adalah bagian development environment dari bahasa JAVA. Para programmer menulis bahasa source JAVA (.Java) dan mengkompilasinya ke dalam kode byte (file .class) kode byte ini adalah instruksi untuk mesin virtual JAVA (JVM). Untuk membuat sebuah applet, para programmer menyimpan kode byte ini ke dalam sebuah server HTTP, dan menambahkan sebuah tag