Bab 1 Pendahuluan
1.1
Latar Belakang Masalah Perkembangan teknologi dan internet di dunia perusahaan
berperan penting dalam kemajuan kinerja dalam perusahaan itu sendiri. Keberadaan internet juga dibutuhkan untuk berkomunikasi dengan perusahaan terkait atau antar cabang. Suatu perusahaan membutuhkan penggunaan internet untuk pengaksesan kebutuhan yang diperlukan oleh setiap karyawan. Fasilitas seperti internet dalam perusahaan bisa dipergunakan dengan baik untuk kebutuhan dan kepentingan yang bisa menunjang kepentingan perusahaan. Hasil pengamatan penelitian, perusahaan tidak dapat mengawasi pengaksesan internet setiap karyawannya. Penggunaan internet diharapkan bisa menjadi penunjang segala kegiatan dalam dunia kerja dan bisa memberikan keuntungan untuk perusahaan. Kantor mempunyai peraturan dalam pengaksesan website yang tidak diperkenankan antara lain social network seperti facebook, twitter, dan website lamaran kerja. Tersedianya sistem untuk mengetahui informasi alamat website yang diakses oleh para karyawan akan memberikan informasi kepada perusahaan sebagai pengawasan dan pengendalian penggunaan internet. Menurut Aji sebagai staff IT jaringan dalam kantor CV Sukses Jaya Utama (2012), membutuhkan sistem monitoring jaringan untuk mengetahui informasi website yang diakses.
1
2
Dari pertimbangan di atas, dapat ditarik kesimpulan untuk merancang suatu sistem yang dapat mengetahui penggunaan internet di Kantor CV Sukses Jaya Utama. Sistem ini diharapkan bisa membantu
perusahaan
mengawasi
penggunaan
internet
karyawannya. Penggunakan sistem monitoring acces.log suatu server yang berfungsi sebagai router selama ini baru berjalan di linux. Aplikasi atau sistem tersebut bernama SARG. Pada aplikasi SARG, untuk melakukan setting dapat dilakukan dengan melakukan perubahan source code sesuai dengan tujuan yang diinginkan dan tidak semua orang dapat melakukannya dengan mudah. Perancangan
sebuah
sistem
yang
dapat
mengetahui
penggunaan akses internet di Kantor CV Sukses Jaya Utama tersebut berjudul “Perancangan dan Implementasi Aplikasi Analisis File Access.Log Squid Berbasis Desktop”. Sistem yang dirancang diharapkan dapat menghasilkan analisis access.log yang berjalan di windows
serta mudah digunakan oleh pengguna. Sistem ini
diharapkan manajemen dapat mengetahui data penggunaan internet di perusahaan tersebut dengan mudah sehingga dapat dijadikan sebagai salah satu pertimbangan dalam pengambilan keputusan oleh pihak manajemen yang terkait dengan penggunaan internet. Sistem ini akan menyajikan analisa penggunaan internet baik per ip ataupun pada semua ip dalam suatu jaringan dalam bentuk grafik dan angka. Perusahaan atau instansi yang dipilih menjadi tempat penilitian ini adalah kantor CV Sukses Jaya Utama. Perusahaan ini berfungsi dalam pembuatan rokok dan distribusi yang terletak di Jln. Raya Salatiga-Muncul Km 4, Dsn. Padaan Gedangan, Tuntang, Kab. Semarang.
3
1.2
Rumusan Masalah Berdasarlan latar belakang yang dikemukakan di atas, maka
rumusan masalah dari penelitian ini sebagai berikut : a. Bagaimana
merancang
suatu
aplikasi
yang
mampu
menganalisis file access.log squid ? b. Bagaimana mengimplimentasikan aplikasi tersebut di atas dengan bahasa pemrograman Visual C# ? c. Bagaimana merancang aplikasi yang dapat memberikan informasi berupa situs-situs yang telah diakses oleh tiap IP Address dan alamat IP mana sajakah yang telah mengakses suatu situs tertentu ? d. Bagaimana merancang aplikasi yang mampu mencari alamat IP yang telah mengakses situs atau alamat URL yang telah dilarang oleh pihak manajemen ?
1.3
Tujuan dan Manfaat Tujuan dari penelitian ini antara lain : a. Merancang suatu aplikasi yang mampu menganalisis file access.log squid b. Mengimplimentasikan aplikasi tersebut di atas dengan bahasa pemrograman Visual C# c. Merancang aplikasi yang dapat memberikan informasi berupa situs-situs yang telah diakses oleh tiap IP Address dan alamat IP mana sajakah yang telah mengakses suatu situs tertentu
4
d. Merancang aplikasi yang mampu mencari alamat IP yang telah mengakses situs atau alamat URL yang telah dilarang oleh pihak manajemen
Sedangkan manfaat penelitian ini antara lain : a. Bagi perusahaan atau pengguna Penelitian ini bermanfaat untuk staff IT mendeteksi IP Address yang mengakses alamat URL yang dilarang untuk selanjutnya bisa digunakan sebagai pengawasan dan kontrol penggunaan internet di Kantor CV Sukses Jaya Utama untuk pertimbangan dalam pengambilan keputusan oleh pihak manajemen yang terkait dengan penggunaan internet b. Bagi masyarakat Sebagai alternatif untuk monitoring internet access.log squid c. Bagi akademik Sebagai
bahan
pembelajaran
pemrograman
yang
menggunakan framework .NET version 4
1.4
Batasan Masalah Batasan pembahasan dalam penelitian ini antara lain: a. Aplikasi ini hanya berjalan di platform Windows. b. Aplikasi hanya memonitor URL / website yang dituju, ip address, lama waktu mengakses, total bit transferred, dan hit. c. Output berupa table dan grafik pie. d. Besar File Access.log memperngaruhi kecepatan proses monitoring.
5
1.5
Sistematika Penulisan Sistematika penulisan skripsi ini diuraikan dalam lima bab
secara terpisah, yaitu : BAB I
PENDAHULUAN Dalam bab ini diuraikan tentang latar belakang masalah,
rumusan masalah, tujuan dan manfaat, batasan masalah atau ruang lingkup dan sistematika penulisan. BAB II
TINJAUAN PUSTAKA
Dalam bab ini diuraikan tentang penelitian terdahulu dan landasan teori. BAB III METODE PENELITIAN Dalam
bab
ini
diuraikan
tentang
langkah-langkah
perancangan aplikasi yang dibuat sehingga menghasilkan aplikasi yang mampu memonitor file access.log squid. BAB IV HASIL DAN PEMBAHASAN Dalam bab ini diuraikan tentang hasil dan pembahasan yang sifatnya terpadu tentang monitoring access.log squid guna mengetahui 10 besar situs yang dikunjungi. BAB V
PENUTUP
Dalam bab ini diuraikan tentang kesimpulan dan saran untuk pengembangan penelitian berikutnya.
6
Bab 2 Tinjauan Pustaka 2.1
Penelitian Terdahulu Dalam penelitian sebelumnya yang berjudul “ Algoritma
Apriori Pada Internet Access Log Dan Implementasinya ”, analisis access.log untuk mengetahui pola penggunaan internet yang biasa dilakukan komunitas pengguna internet di suatu perguruan tinggi . Pada penelitian tersebut dapat dipantau besarnya arus byte yang masuk, identitas pengguna, tujuan, dan sebagainya. Pada penelitian tersebut
telah
diimplementasikan
algoritma
apriori
untuk
mendapatkan informasi halaman web yang diakses oleh suatu pengguna internet. Aplikasi yang dirancang pada penelitian tersebuat menggunakan bahasa pemrograman Delphi (Bahtiar, 2010). Penelitian terdahulu yang berjudul “Sistem Rekomendasi Katalog Produk Online Menggunakan Metode Association Rule dengan
Algoritma
Fold-Growth”,
sistem
rekomendasi
yang
didasarkan pada data akses user yang terdapat pada server atau biasa disebut dengan access.log. Metode yang digunakan adalah association rule dengan algoritma fold-growth (Hendy, 2011). Perbedaan dengan penelitian yang hendak dilakukan dengan penelitian terdahulu terletak pada perangkat lunak yang digunakan. Perancangan
dan
Access.Log
Squid
Implementasi Berbasis
Sistem
Desktop
Monitoring
Internet
menggunakan
bahasa
pemrograman Visual C#. Aplikasi ini bertujuan untuk mengetahui 10 besar situs yang diakses oleh pengguna internet di kantor CV 7
8
Sukses Jaya Utama dan 10 besar situs yang dikunjungi oleh suatu alamat ip tertentu.
2.2
Bahasa Pemrograman C# C# merupakan bahasa pemrograman object-oriented seperti
java dan merupakan component-oriented yang pertama kali dikembangkan. Bahasa pemrograman C# dibuat sebagai bahasa pemrograman yang bersifat general-purpose yang berorientasi objek, modern, dan sederhana. Bahasa pemrograman C# juga ditujukan dalam menggembangkan komponen perangkat lunak yang mampu mengambil keuntungan dari lingkungan yang terdistribusi, baik dari segi client-server maupun sistem embedded (Deitel, 2002). Bahasa pemrograman C# memiliki sifat sebagai berikut : •
C# adalah sebuah bahasa pemrograman baru yang diturunkan dari bahasa pemrograman C atau C++
•
Sintaks pada C# lebih sederhana dan lebih modern daripada C++
•
Merupakan bahasa component-oriented yang pertama
•
Merupakan bahasa yang didesain dari .Net Framework
•
Mengkombinasikan fitur-fitur terbaik dari banyak bahasa yang umum digunakan seperti produktivitas dari Visual Basic dan kekuatan dari C++ dan Java
•
2.3
C# menjadi pilihan bahasa pemrograman .Net
Internet Internet berasal dari kata interconection networking yang
mempunyai hubungan berbagai komputer dan berbagai tipe
9
komputer yang membentuk sistem jaringan yang mencakup seluruh dunia (jaringan global) dengan melalui jalur telekomunikasi seperti telepon, wireless dan lainnya. Internet juga dapat digambarkan sebagai kota elektronik berukuran raksasa, dimana setiap penduduk memiliki alamat masing-masing (internet address) yang dapat digunakan
untuk
berkirim
surat.
Pengguna
internet
dapat
menjangkau semua orang dari berbagai usia dan melalui internet pula orang dapat berkomunikasi serta mendapatkan informasi secara on-line dan real-time (Sutarman, 2003).
2.4
Internet Protocol Address (IP Address) IP (Internet Protocol) address adalah deretan angka yang
dipakai sebagai alamat identifikasi untuk tiap komputer host dalam jaringan internet. Setiap IP itu sendiri memiliki beberapa bagian serta tipe-tipe kelas yang berbada-beda, dan dapat dipisahkan menjadi dua 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 yang tersambung dalam jaringan yang memiliki net ID 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 (Sofana, 2008).
2.5
Router Router adalah perangkat yang akan melewatkan IP dari suatu
jaringan ke jaringan yang lain, menggunakan metode addressing dan
10
protocol tertentu untuk melewatkan paket data tersebut. Router memiliki kemampuan melewatkan paket IP dari satu jaringan ke jaringan lain yang mungkin memiliki banyak jalur diantara keduanya. Router-router yang saling terhubung dalam jaringan internet turut serta dalam sebuah algoritma routing terdistribusi untuk menentukan jalur terbaik yang dilalui paket IP dari system ke system lain. Proses routing dilakukan secara hop by hop. IP tidak mengetahui jalur keseluruhan menuju tujuan setiap paket. IP routing hanya menyediakan IP address dari router berikutnya yang menurutnya lebih dekat ke host tujuan (Herlambang, 2008).
2.6
Squid Squid merupakan mesin caching proxy untuk klien web,
seperti HTTP, HTTPS, FTP, gopher dan layanan sejenis lainnya. Squid
mampu
menurunkan
konsumsi
bandwidth
sekaligus
mempercepat waktu respons. Terwujudkan dengan melakukan caching web dan menggunakan ulang halaman yang sering dikunjungi. Squid memiliki setumpuk kendali akses yang dapat mendukung kecepatan server, dan mampu menangai semua request melalui sebuah proses input atau output (Rafiudin, 2008). Squid adalah sebuah daemon yang digunakan sebagai proxy server dan web cache. Squid memiliki banyak jenis penggunaan, mulai dari mempercepat server web dengan melakukan caching permintaan yang berulang-ulang, caching DNS, caching situs web, dan caching pencarian komputer di dalam jaringan untuk sekelompok komputer yang menggunakan sumber daya jaringan yang sama, hingga pada membantu keamanan dengan cara
11
melakukan penyaringan (filter) lalu lintas. Meskipun seringnya digunakan untuk protokol HTTP dan FTP, Squid juga menawarkan dukungan terbatas untuk beberapa protokol lainnya termasuk Transport Layer Security (TLS), Secure Socket Layer (SSL), Internet Gopher, dan HTTPS. Pekerjaan Squid adalah untuk menjadi proxy dan cache. Sebagai proxy, squid perantara dalam transaksi web. Ia menerima permintaan dari klien, memproses permintaan itu, dan kemudian meneruskan permintaan ke server asal. Permintaan dapat dicatat, ditolak, dan bahkan dimodifikasi sebelum diteruskan (Wessels, 2004). Squid pada awalnya dikembangkan oleh Duane Wessels sebagai "Harvest object cache", yang merupakan bagian dari proyek Harvest yang dikembangkan di University of Colorado at Boulder. Pekerjaan selanjutnya dilakukan hingga selesai di University of California, San Diego dan didanai melalui National Science Foundation. Squid kini hampir secara eksklusif dikembangkan dengan cara usaha sukarela. Squid umumnya didesain untuk berjalan di atas sistem operasi mirip Unix, meski Squid juga bisa berjalan di atas sistem operasi Windows. Squid dirilis di bawah lisensi GNU General Public License (Wessels, 2004).
12
Gambar 2.1 Squid di an ntara Clients dan d Servers (W Wessels, 2004)
Seperti ditunjukkan pada gaambar 2.1, Squid mennerima
perrmintaan HT TTP (dan HT TTPS) dari klien, dan bbertukar sejumlah info ormasi darii protokol ke server. Secara khuusus, Squidd tahu bag gaimana carranya tersam mbung deng gan HTTP, FTP, dan server Gop pher. Secaraa konseptuaal, Squid meemiliki dua sisi. Pembiccaraan sisii klien ke kliien web (missalnya browsser dan agenn-pengguna)), serta pem mbicaraan siisi server un ntuk HTTP, FTP, dan sserver Gopher. Ini diseebut server asal, karen na mereka adalah a lokassi asal untukk data yan ng mereka laayani (Wesseels, 2004).
2.7 7
Objectt Caching Internet I Object caching c tidaak lain salah h satu jalan uuntuk menyyimpan
atau u mengolek ksi objek in nternet, sem misal data-ddata HTTP, FTP, Gop pher, dalam m sebuah sisteem lokal, seehingga akann lebih mudaah dan lebih dekat bagi b penggu una daripad da harus m mengambil objek langsung dari sumbernya.. Browser web w akan ddengan senddirinya men nggunakan cache squ uid lokal sebagai proxxy server HTTP (Raafiudin, 2008 8). Lebih jelaasnya dapat dilihat padaa Gambar 2.22.
13
Gambar 2.2 2 Relations Clients, C Proxy, dan Server (Raafiudin, 2008)
Proxy server adalah h server yan ng menjembaatani klien ddengan servver gatewayy sebelum berkomunik b kasi dengan internet. M Melalui pro oxy server, maka m situs-ssitus yang sering s dikunnjungi akan terasa sem makin cepat diakses usser, karena telah disim mpan dalam cache pro oxy. Selain itu proxy server s juga berfungsi untuk melaakukan oten ntikasi userr, memblokirr situs-situs tertentu, m memblokir banner, dan n sebagainyaa (Rafiudin, 2008). 2
2.8 8
File Acccess.log Log meerupakan su umber inforrmasi yang berharga teentang
kin nerja dan peerformansi Squid S karen na log tidakk hanya meerekam info ormasi sepu utar akses, tetapi juga merekam eerror pada sistem kon nfigurasi dan n konsumsi sumber daaya (misalnyya: memori,, spasi disk k). Squid memiliki m beraagam file log g, yang bebberapa diantaaranya harrus segera diaktivasi d seelama Squid d berjalan. T Terdapat bebberapa
14
poin umum untuk semua file log squid. Informasi timestamp yang dicatat dalam setiap file log biasanya dalam format detik UTC, dan timestamp inisial biasanya memuat ekstensi milidetik (millisecond). Squid mencatat dan menggolongkan log dalam file yang berbeda. Salah satu diantaaranya adalah file acces.log. Mulai Squid 2.6 mengizinkan administrator melakukan konfigurasi sendiri format file log mereka, dengan flexibilitas yang luas dari versi sebelumnya. Versi sebelumnya mengijinkan kita mencatat akses, baik dalam format log baku (native) atau menggunakan format CLF, yang diaktifkan dengan cara mengeset opsi emulate_httpd_log dalam file konfigurasi squid.conf (Rafiudin, 2008). 2.8.1
Format Log CLF (Common Log File) Format CLF digunakan oleh banyak server HTTP, yang
terdiri dari tujuh field : remotehost rfc931 authuser [date] “method URL” status bytes Format log CLF banyak diproses oleh beragam tool atau program lain, dan memuat informasi lebih beragam dibanding dengan format log native. Misalnya, versi HTTP dicatat oleh CLF, tetapi tidak oleh file log native. 2.8.2
Format Log Native Format native berbeda-beda untuk setiap versi utama squid,
dengan format squid-1.0 adalah : time elapsed remotehost code/status/peerstatus bytes method URL untuk squid-1.1, informasi dari hierarchy.log telah dipindahkan ke access.log, dengan format: time elapsed remotehost code/status bytes method URL rfc931 peerstatus/peerhost type
15
untuk squid-2, kolom tetap sama tetapi isinya sedikit berbeda. Format log native me-log atau mencatat jenis informasi yang sedikit berbeda dari CLF, seperti: durasi request, informasi timeout, address server upstream berikutnya, dan jenis konten (content type). Tool melakukan konversi informasi dari format file log ini. Namun demikian, meskipun format log mengungkap banyak informasi, beberapa informasi bukanlah merupakan bagian format lainnya, sehingga bagian tersebut dapat dibuang saat dikonversi. Terlebih lagi akan banyak kehilangan informasi saat dilakukan konversi balik. Squid2common.pl termasuk salah satu tool atau utilitas konversi, yang mampu mengonversi format file log squid ke bentuk output proxy CERN tipe lama. Format log native squid sangat dianjurkan untuk digunakan karena dapat memberikan ragam informasi lebih banyak dan bermanfaat untuk kepentingan monitoring lebih lanjut. Baris print dari format native access.log terdiri dari entri berikut: “%9d.%03d %6d %s %s/%03d %d %s %s %s %s %s/%s %s” Sebuah entri access.log terdiri dari 10 kolom, masing-masing dipisahkan oleh spasi kosong: Tabel 2.1 Detail Format Log Native Access.log
Kolom
Deskripsi
1. time
Informasi waktu (timestamp) dalam detik UTC, dengan resolusi milidetik.
2. duration
Durasi waktu dalam milidetik transaksi yang menyibukkan chace. Nilai ini berbeda dengan interprestasi TCP dan UDP: •
Pada HTTP, merupakan respon waktu antara
16
penerimaan request sampai squid selesai mengirim byte terakhir. •
Pada
ICP,
merupakan
waktu
antara
penjadwalan reply dan pengiriman aktual. 3. client
Ip address klien yang me-request.
address 4. result code
Kode keluaran. Kolom ini terdiri dari dua entri yang dipisahkan tanda slash. Keluaran cache dari sebuah request yang
memuat
informasi
seputar
request
tersebut, dipenuhi atau gagal. 5. bytes
Ukuran byte data, yaitu jumlah byte data yang dihantarkan ke klien.
6. request
Metode request untuk mendapatkan objek.
7. URL
Memuat
URL
yang
di-request.
File
log
mungkin memuat spasi kosong untuk URL. 8. rfc931
Kolom ini memuat lookup ident untuk klien yang
me-request.
Lookup
ident
dapat
mempengaruhi performansi, maka konfigurasi default
untuk
ident_lookups
dinonaktifkan
sehingga informasi ident tidak akan tersedia dan hanya akan terlihat tanda “-”. 9. hierarchy code
Informasi hirarki (hierarchy) terdiri dari tiga jenis item: •
Tag
hierarchy
TIMEOUT_,
jika
akan
diawali
timeout
dengan
terjadi
saat
menunggu reply ICP komplit dari neighbor.
17
•
Sebuah
kode
menjelaskan
akan
diberikan
untuk
request
ditangani,
misal
dengan meneruskan ke sebuah peer atau pergi kembali ke sumbernya. •
IP address atau hostname dimana request telah di-forward (jika terjadi kegagalan). Untuk request yang dikirim ke server asal, maka nilainya adalah IP address server bersangkutan. Untuk request yang dikirim ke cache neighbor, maka nilainya berupa hostname neighbor tersebut.
10.type
Jenis
konten
(content
type)
dari
objek,
sebagaimana terlihat dari header reply HTTP. Pertukaran ICP yang tidak memiliki content type, maka di-log sebagai “-”, dan beberapa jenis reply memberikan content type “:” atau bahkan kosong. Terdapat dua kolom atau lebih dalam
access.log
jika
(log_mine_headers) diaktifkan.
opsi
debug
18
BAB 3 Meetode dan n Perancangan Siistem
3.1 1
Metod de Pengem mbangan Sistem S Metode pengembaangan sisteem yang ddigunakan dalam
pen nelitian ini adalah a meto ode waterfalll, karena m model yang paling ban nyak dipakaii di dalam So oftware Engiineering. Sepperti digambbarkan pad da gambar 3.1 metod de waterfalll merupakaan metode yang mellakukan peendekatan secara s sistem matis dan urut mulaii dari ting gkatan kebuttuhan sistem m lalu menujju ke tahap analisa kebuutuhan sisttem, desain n sistem daan perangkaat lunak, iimplementassi dan pen ngujian, inteegrasi dan peengujian sisstem, serta ppengoperasiaan dan perrawatan sisteem. Secara umum tahaapan prosess (phase) yyang terjadii pada mettode waterfa all (Sommerv ville, 2000) digambarkaan sebagai beerikut:
Ga ambar 3.1 Mo odel Waterfall (Sommerville, ( 2000)
19
20
Berikut adalah penjelasan langkah-langkah model waterfall: 1. Analisis dan definisi kebutuhan Pada tahap ini dilakukan analisa kebutuhan sistem yaitu mencari kebutuhan sistem dengan mewawancarai salah satu staff dari kantor CV Sukses Jaya Utama dan mengumpulkan data yang dibutuhkan, kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh aplikasi yang dibangun. 2. Perancangan sistem dan perangkat lunak Tahapan ini adalah tahapan untuk menentukan desain keseluruhan sistem dan desain aplikasi yang dibangun. Sebuah proses terjadi di tahap ini, dimana semua kebutuhan yang telah dirangkum pada tahap requirements definition dibagi-bagi ke dalam bagiannya menjadi sistem perangkat lunak dan perangkat keras. Selanjutnya proses ini akan menghasilkan sebuah arsitektur sistem keseluruhan. 3. Implementasi dan pengujian unit Pada tahapan ini desain aplikasi diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan sebelumnya. Selanjutnya unit sistem yang telah selesai dibangun akan diuji untuk menghasilkan suatu keluaran unit yang sempurna. 4. Integrasi dan pengujian sistem Tahap ini melakukan penggabungan seluruh bagian dari sistem yang sudah dibuat kemudian dilakukan pengujian sistem secara keseluruhan. Pengujian dilakukan untuk mengetahui apakah masih terdapat kesalahan atau tidak pada sistem.
21
5. Operasii dan pemelih haraan sistem m Pada baagian ini merupakan m tahap t terakhhir dalam m metode watterfall. Sisttem yang sudah jadi dijalankan serta dilaakukan pem meliharaan.
Pemeliharraan
termaasuk
dalam m
mempeerbaiki
kessalahan yang g tidak ditem mukan pada langkah-lanngkah sebeluumnya sertta peningkattan kinerja dari d sistem seebagai kebuttuhan baru.
3.2 2
Analissis dan Definisi Kebutuhan Tahapan n analisis dan d definisi kebutuhan sistem diguunakan
unttuk mengetaahui dan meenerjemahkaan semua peermasalahann serta keb butuhan peraangkat lunak k yang akan dibangun aagar sesuai ddengan keb butuhan pen ngguna peraangkat lunak k. Pada tahhap ini dilaakukan pen ngumpulan data-data yaang dibutuh hkan oleh ssistem. Darii hasil waw wancara kep pada staff IT T dan observaasi, didapatkkan data-dataa yaitu topologi jaring gan kantor tersebut dan d access.llog squid. Lebih jelaasnya topolo ogi jaringan dapat d dilihatt pada Gambbar 3.2.
Gambarr 3.2 Topologi Jaringan Kanttor CV Sukses Jaya Utama
22
Pada Gambar 3.2 dijelaskan jaringan di kantor CV Sukses Jaya Utama. Kantor tersebut mendapatkan akses internet melalui jalur fiber optic. Dari kabel fiber optic keluar output kabel utp dengan rj45 melalui modem / bridge / converter, lalu kabel tersebut masuk ke router melalui eth0. Pada router tersebut disetting PPPoE dan limiter sebagai bandwith management untuk mengalokasikan pembagian bandwith sesuai dengan kebutuhan tiap-tiap bagian atau client. Eth1 pada router mikrotik disambungkan ke swith hub, kemudian disalurkan ke client pada 9 departemen atau bagian, yaitu: -
Akuntansi
-
Keuangan
-
Pemasaran
-
Pembelian
-
Hukum
-
SDM
-
Umum
-
Operasional Terdapat satu port lagi dari switch hub disalurkan ke wireless
access point untuk dikoneksi point-to-pointkan pada kantor cabang produksi melalui media wireless. Pada kantor cabang produksi tersebut dihubungkan ke switch hub untuk kemudian diteruskan ke PC pada tiap-tiap bagian. Eth2
router
mikrotik
pada
jaringan
kantor
tersebut
dihubungkan ke VPN server. Untuk eth3 dihubungkan pada squid yang di sini digunakan untuk monitoring dan merekam access.log dari pemakaian internet di kantor tersebut, yang selanjutnya akan
23
dianalisis sehingga akan diperoleh informasi situs atau website yang diakses komputer-komputer pada jaringan kantor tersebut. Setelah
kebutuhan
atau
data-data
didapat,
kemudian
dilakukan analisa kebutuhan secara lebih detail. 3.2.1 Analisa Kebutuhan Pengguna Kebutuhan ini terdapat satu orang pengguna atau user yaitu staff IT. Staff IT merupakan seseorang yang bertanggung jawab atas semua jaringan LAN komputer-komputer di kantor CV Sukses Jaya Utama. 3.2.2 Analisa Kebutuhan Fungsional Sistem ini berfungsi untuk menyajikan analisa penggunaan internet baik per ip ataupun pada semua ip dalam suatu jaringan dalam bentuk grafik dan angka. 3.2.3 Analisa Kebutuhan Software Analisis
perangkat
lunak
yang
dipergunakan
untuk
pembuatan dan penggunaan aplikasi ini adalah: ‐
Sistem operasi Microsoft Windows 7 Ultimate
‐
Sistem operasi Linux
‐
Rational Rose untuk perancangan sistem dengan Unified Modeling Language (UML)
‐
Squid, software caching proxy yang digunakan untuk mendapatkan file access.log
‐
Visual C#, bahasa pemrograman untuk pembuatan aplikasi
‐
.NET framework version 4, software yang digunakan untuk menjalankan aplikasi monitoring access,log squid
24
3.2.4 Analisa Kebutuhan Hardware Analisis perangkat keras yang digunakan untuk pembuatan dan penggunakan sistem ini antara lain minimal: ‐
Processor Pentium 4
‐
Hardisk 20 Gb
‐
RAM 256 Mb
‐
Monitor
‐
Standard Keyboard dan Optical Mouse
3.3
Perancangan Sistem dan Perangkat Lunak Rancangan sistem merupakan rancangan awal sebelum
dilaksanakan penyelesaian terhadap suatu masalah yang ada. Untuk mencapai tujuan atau hasil yang memadai sesuai kebutuhan dari permasalahan yang ada, maka diperlukan suatu rancangan sistem yang dapat menggambarkan secara garis besar seluruh masalah yang akan di komputerisasi. Dalam perancangan sistem ini digunakan UML sebagai bahasa pemodelan untuk merancang sistem yang akan dibangun. 3.3.1
Diagram Alur atau Flowchart Pada perancangan sistem ini dibuat flowchart sebagai
analisis awal. Model flowchart dapat dilihat pada gambar 3.3.
25
Gam mbar 3.3 Flow wchart Proses Analisis A File Accces.log
Langkah h awal yan ng terlihat dari d flowchaart di atas aadalah mem mbuka file sebagai s strea am, kemudiaan membacaa baris demi baris. Unttuk tiap barris, dipecah atau dipisah h berdasarkkan karakter spasi. Leb bih jelasnya akan dijabarrkan pada co ontoh sebagaai berikut:
26
1301572144.156 6283 192.168.67.71 TCP_MISS/200 11355 GET http://www.google.co.id/ - DIRECT/74.125.235.51 text/html Terdapat beberapa elemen, yaitu: •
Elemen pertama
: 1301572144.156
•
Elemen kedua
: 6283
•
Elemen ketiga
: 192.168.67.71
•
Elemen keempat
: TCP_MISS/200
•
Elemen kelima
: 11355
•
Elemen keenam
: GET
•
Elemen ketujuh
: http://www.google.co.id/
Proses pembacaan berakhir ketika sampai ke akhir file (EOF), kemudian tutup file. 3.3.2
Use Case Diagram Dari hasil wawancara serta evaluasi yang didapatkan pada
tahap pertama yaitu analisis dan definisi kebutuhan, dapat diketahui fungsionalitas yang harus dimiliki oleh sistem yang dibangun. Hal digambarkan pada use case diagram yang ada pada gambar 3.4. Dari use case diagram terdapat 1 aktor yaitu user dari sistem ini. Fungsionalitas yang dimiliki oleh sistem ini ialah melihat hasil monitoring access.log semua IP yang ada di dalam jaringan dan melihat hasil monitoring access.log per IP. Pada use case diagram selain dapat melihat hasil monitoring access.log semua IP yang ada di dalam jaringan dan melihat hasil monitoring access.log per IP, terdapat fungsionalitas untuk melihat 10 besar alamat web yang sering diakses, dan melihat persentase alamat website yang sering diakses dalam bentuk chart atau grafik
pie. User juga dapat
27
mengubah model warna chart atau grafik pie serta menyimpan hasil monitoring access.log.
Exit
Help
<
>
<> Analisis Per IP <>
<<extend>>
<> User
File Open
<>
Proses Analisis
Tabel
Chart atau Grafik Pie
<> Analisis Semua IP File Save Images <> EarthTones <<extend>> <> Chart Setting
Pallete
Chocolate <>
BrightPastel
Gambar 3.4 Use Case Diagram Sistem Analisis Access.log
3.3.3
Activity Diagram Untuk mendokumentasikan alur kerja pada sebuah sistem
digunakan Activity Diagram. Dalam sistem yang dibuat terdapat 1 aktor yang berinteraksi dengan sistem, yaitu user. User mempunyai 2 aktifitas yaitu melihat hasil monitoring access.log semua IP yang ada di dalam jaringan dan melihat hasil monitoring access.log per IP. Untuk activity diagram dapat dilihat pada gambar 3.5.
28
User
Aplikasi
File Open
Mulai
Memilih File
Validasi File Access.log Salah
Pesan Error
Benar Proses Analisis
Semua IP
Per IP
Pilih Tab
Tabel Report
Chart Report
Pilih Menu
File Save Image Chart Setting
Help
Exit
Selesai
Gambar 3.5 Activity Diagram Analisis Access.log
3.3.4
Sequence Diagram Sequence Diagram menggambarkan interaksi antar objek di
dalam dan di sekitar sistem (termasuk user, display, dan sebagainya)
29
berupa message yang digambarkan terhadap waktu. Sequence Diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence Diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai response dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses, dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Disini akan ditampilkan sequence diagram yang merupakan inti dari sistem yang dibuat. Aplikasi : User
Membuka Aplikasi
Memasukkan File Access.log
Menekan Tombol Proses
Validasi Jenis File
Membuka File Access.log
Memproses File Access.log
Menampilkan Hasil Monitoring File Access.log
Menyimpan Gambar Grafik Pie
Gambar 3.6 Sequence Diagram Analisis Access.log
30
Pertama user akan membuka aplikasi, kemudian pengguna diminta untuk memasukkan file access.log yang akan dianalisa, pengguna menekan tombol process dan aplikasi akan bekerja. Setelah aplikasi memastikan bahwa file yang dimasukkan adalah benar maka aplikasi akan membuka atau membaca file access.log selanjutnya file access.log yang telah dibaca oleh aplikasi akan diproses oleh aplikasi. Aplikasi akan membaca setiap baris dalam file access.log yang ada, kemudian akan dipisahkan berdasarkan spasi sehingga menghasilkan log record yang berisi timestamp, elapsed, hostIP, code, bytesTransfered, method, serta url nya. Log record yang ada akan dilakukan pengelompokan berdasarkan alamat web serta dilakukan perhitungan jumlah akses ke alamat web tersebut sehingga dihasilkan 10 besar
alamat web yang sering
diakses serta persentasenya. Setelah proses analisa selesai aplikasi akan menampilkan hasil analisa serta gambar grafik hasil analisa file access.log. 3.3.5
Class Diagram Class diagram merupakan diagram yang digunakan untuk
menampilkan beberapa kelas yang ada dalam suatu sistem serta menggambarkan relasi-relasi antar kelas tersebut. Perancangan class diagram pada sistem ini dapat dilihat pada Gambar 3.7.
31
Host Properties
History
HostName() IPAddress()
LogRecord Properties BytesTransfered() Code() Elapsed() Method() Timestamp() URL()
Gambar 3.7 Class Diagram Analisis Access.log
3.4
Desain Antarmuka Perancangan antarmuka (interface) merupakan rancang
bangun dari interaksi pengguna dengan komputer. Perancangan ini dapat berupa input data maupun output data untuk menampilkan informasi kepada pengguna. Kebutuhan antarmuka yang dibuat bersifat user friendly (mudah digunakan) dengan tujuan agar program yang telah dibangun dapat digunakan dengan mudah oleh pengguna. Berikut ini salah satu contoh rancangan antarmuka dari aplikasi yang akan dibuat. Gambar 3.8 Merupakan tampilan rancangan antarmuka halaman utama.
32
Gambar G 3.8 Deesain User Inteerface Aplikasi Analisis Acceess.log Bagian Tabel
Gambar 3.9 3 Merupak kan tampilan n rancangann antarmuka Chart atau u grafik pie pada halamaan utama.
Ga ambar 3.9 Dessain User Interrface Aplikasi Analisis Accesss.log Bagian G Grafik Pie
33
Pada aplikasi dibagi menjadi 2 bagian utama, bagian pertama berupa tree untuk mengarahkan jenis hasil analisa access.log yang ingin dilihat oleh user, yaitu hasil analisis untuk semua alamat IP yang ada pada jaringan atau hanya untuk IP tertentu. Bagian kedua digunakan untuk melihat hasil analisa terdiri dari 2 tab yaitu tab table dan tab chart. Tab table digunakan untuk melihat hasil analisa yang terdiri dari URL, total elapsed times, total bytes transferred, serta hits. Tab chart untuk melihat hasil analisa dalam bentuk grafik pie.
34
Bab 4 Hasil dan Pembahasan
4.1
Implementasi Sistem Setelah melakukan tahap perancangan, langkah selanjutnya
adalah mengimplementasikannya. Dari hasil tahap implementasi dihasilkan sebuah aplikasi yang mampu menganalisis file access.log. Hasil dari analisis tersebut menghasilkan persentase web yang diakses serta 10 besar alamat web yang sering diakses baik untuk masing-masing IP maupun semua IP dalam satu jaringan. Hasil analisis tersebut dipaparkan dalam bentuk angka dalam tabel dan grafik pie sehingga memudahkan user dalam membaca hasil monitoring. Alur kerja dari aplikasi yang dibuat adalah user memasukkan file access.log, kemudian proses analisis berjalan. Setelah proses berjalan, aplikasi akan menampilkan hasil dalam bentuk tabel dan grafik pie. Halaman utama dari aplikasi yang dibuat, user akan memilih file access log yang akan dimonitor. Halaman utama ini memiliki 3 menu yaitu File, Chart, dan Help. Lebih jelasnya dapat dilihat pada Gambar 4.1.
35
36
Gambar 4.1 4 Halaman Utama U Aplikasi
Penjelassan menu-m menu pada haalaman utam ma sebagai beerikut: 1. Menu File F Menu file f pada hallaman utam ma aplikasi m memiliki bebberapa sub bmenu yaitu open, save chart c as ima age dan exit yang terlihaat pada Gam mbar 4.2.
Ga ambar 4.2 Men nu File
nu open digu unakan untuk k memilih fille access.logg yang Submen akaan dimonitorr, seperti yan ng terlihat di gambar 4.3 .
37
Gambar 4.3 Subm menu Open darri Menu File A Aplikasi
Setelah file dipilih maka tomb bol Process akan aktif, ketika useer menekan n tombol process p ap plikasi akann bekerja untuk mem monitor filee access.log yang hasiln nya nanti akkan ditampilkkan di halaman utamaa.
Gambar 4.4 4 Proses Mon nitoring File Acccess.log
38
Pada Gambar 4.4 memperlihatkan proses file access.log yang dimonitor, file yang dimonitor tergantung dengan besar kecilnya ukuran file dan memperngaruhi waktu yang dibutuhkan. Sistem monitoring access.log ini menggunakan bahasa pemrograman C#, pembahasan ini berisi penjelasan kode program proses input file access.log yang ditangani oleh file LogReader.cs. Setelah membaca isi file, file ini akan menganalisa file access.log yang dimasukkan baik analisa secara menyeluruh ataupun per IP. Berikut ini adalah kode program untuk membaca file access.log: Kode Program 4.1 File LogReader.cs untuk Membaca File Access.log 1.
public SortedList<string, SummaryLog> ReadLog(
2. 3.
string accessLogFile) {
4.
EventHandler
5.
temp = this.ReadProgressEvent;
6.
long totalBytes = GetTotalBytes(accessLogFile);
7. 8.
BufferedStream bs
9.
= new BufferedStream(
10.
new FileStream(accessLogFile, 11. FileMode.Open)); 12.
StreamReader sReader = new StreamReader(bs);
13. 14.
SortedList<string, SummaryLog> resultLog
15.
= new SortedList<string, SummaryLog>();
16. 17.
string current = null;
18.
long currentBytes = 0;
19.
while (
20. 21. 22. 23. 24.
(current = sReader.ReadLine()) != null) { currentBytes += current.Length; LogRecord a = ReadLine(current); if (!resultLog.ContainsKey(a.HostIP))
39 25.
{
26. 27.
resultLog.Add(a.HostIP, new SummaryLog() { });
28.
}
29.
resultLog[a.HostIP] .AddDetail(
30. 31.
a.URL,
32.
a.BytesTransfered,
33.
a.Elapsed);
34. if (temp != null)
35. 36. 37.
temp(this, new ReadLogEventArgs(currentBytes, totalBytes)); }
38. 39.
if (temp != null)
40.
temp(this, new ReadLogEventArgs(totalBytes,
41. totalBytes)); 42. 43.
return resultLog;
44. 45.
}
Kode program di atas digunakan untuk membaca file access.log. Pada baris (9) sampai dengan baris (12) untuk membaca file ukuran besar secara efisien, digunakan StreamReader dengan parameter BufferedReader. Hasil dari pembacaaan akan disimpan pada
objek
resultLog
yang
bertipe
SortedList<string,
SummaryLog>. SortedList<string, SummaryLog> merupakan class koleksi yang tiap item yang dimilikinya diberikan kunci (key) yang unik. Pada kebutuhan sistem ini, kunci yang digunakan bertipe string, dan item yang disimpan bertipe SummaryLog. Pada baris (20) sampai dengan baris (39) dilakukan perulangan untuk tiap baris data (sReader.ReadLine(). Kemajuan proses dicatat pada variabel currentBytes pada baris (23), untuk ditampilkan dalam bentuk
40
progressbar. Pada baris (24), tiap satu baris data dibaca detail yang dimilikinya. Penjelasan lebih lanjut tentang hal ini dapat dilihat pada Kode Program 4.2. Kode Program 4.2 File LogReader.cs untuk Membaca Data Per Baris 1.
private LogRecord ReadLine(string line)
2.
{
3.
string[] parts
4.
= line.Split(
5.
" ".ToCharArray(),
6. 7.
StringSplitOptions.RemoveEmptyEntries);
8.
LogRecord a = new LogRecord();
9.
a.Timestamp = ConvertFromUnixTimestamp(parts[0]);
10.
a.Elapsed = long.Parse(parts[1]);
11.
a.HostIP = parts[2];
12.
a.Code = parts[3];
13.
a.BytesTransfered = long.Parse(parts[4]);
14.
a.Method = parts[5];
15.
a.URL = ReadUrl(parts[6]);
16. 17.
if (a.Timestamp < MinTimestamp)
18.
MinTimestamp = a.Timestamp;
19.
if (a.Timestamp > MaxTimeStamp)
20.
MaxTimeStamp = a.Timestamp;
21. 22. 23.
return a; }
Kode program di atas digunakan untuk membaca baris rekor yang tersimpan pada file access.log. Baris dipecah dengan tanda pemisah adalah spasi seperti kode pada baris (3) sampai dengan baris (7) sehingga menghasilkan array dengan tipe data string. Selanjutnya terdapat variabel bertipe LogRecord dengan nama “a” yang berguna untuk menyimpan data hasil pemecahan seperti pada
41
barris (8) sampaai dengan baris (15). Untuk U mencaatat rentang waktu pem mbacaan, yaaitu waktu awal (MinT Timestamp) dan waktu akhir (Ma axTimestamp p) dapat dilihat pada baaris (17) sam mpai dengann baris (20 0). onitoring selesai, makka hasilnya akan Setelah proses mo diperlihatkan tabel t hasil monitoring dan grafik pie. Tabell hasil anaalisis semua IP dapat diliihat pada Gaambar 4.5.
Gambar 4.5 5 Hasil Analisiis Access.log dalam d Bentuk T Tabel Semua IP P
Pada Gambar G 4.5 menunjukk kan hasil aanalisis sem mua IP dalam satu jariingan lokal kantor CV Sukses S Jayaa Utama. Teerdapat 14 host dengan n 3 diantaraanya adalah h wireless aaccess point.. Pada h kanan teerlihat alam mat website atau URL L dan kolom sebelah keterangan Tottal Elapsed Time, Total Bytes Transsferred, Hitss yang dik kunjungi oleh h semua IP di kantor teersebut denggan periode waktu tanggal 16 Aprril 2012 jam 14.00 wib sampai s tangggal 24 April 2012 jam m 18.17 wib.
42
Hasil an nalisis dari semua s IP jug ga dapat dillihat dalam bbentuk graafik pie atau chart, deng gan menampilkan 10 bessar alamat w website yan ng dikunjungi. Gambar 4.6 mempeerlihatkan ggambar graffik pie hassil monitorin ng semua IP.
Gambar 4.6 Hasil H Analisis Access.log A dalaam Bentuk Graafik Pie Semuaa IP
Pada Gaambar 4.6 menunjukan m hasil h analisiis semua IP dalam ben ntuk grafik pie p atau cha art, tiap waarna mewakiili alamat w website yan ng dikunjun ngi. Terdap pat 11 warna w yang berbeda untuk men nggambarkaan masing-m masing alam mat website, satu diantaaranya adaalah alamat website w yang g tidak term masuk dalam 10 besar (others). Sep puluh besar alamat a webssite yang serring dikunjunngi oleh sem mua IP di kantor k terseb but antara laiin: -
http://prrofile.ak.fbcd dn.net
-
http://sttatic.kaskus.u us
-
http://w www.facebook.com
43
-
http://l.yimg.com
-
http://ad.yieldmanager.com
-
http://www.google-analytics.com
-
http://www.kaskus.us
-
http://prod1.rest-notify.msg.yahoo.com
-
http://ad.kaskus.us
-
http://openx.detik.com
-
Others (alamat website yang tidak termasuk dalam 10 besar alamat website yang dikunjungi) Berikut ini adalah kode program untuk menampilkan output
berupa grafik pie. Kode Program 4.3 File Form1.cs untuk Menampilkan Hasil Output Berupa Grafik Pie 2.
1. private void GenerateChart(SummaryLog summary, string title)
3.
{
4.
Series series = this.chart1.Series[0];
5.
series.Points.Clear();
6.
this.chart1.Titles.Clear();
7.
Font f = new Font(
8.
FontFamily.GenericMonospace, 20, FontStyle.Bold, GraphicsUnit.Pixel);
9. 10.
this.chart1.Titles.Add( new Title(title, Docking.Top, f,
11. 12. 13. 14. 15. 16.
Color.Olive)); List<SummaryLog.SummaryItem> topTenItems = (from SummaryLog.SummaryItem s in summary.Detail.Values orderby s.Hits descending select s).Take(10).ToList();
17. List<SummaryLog.SummaryItem> elseItems 18. = (from SummaryLog.SummaryItem s in 19. summary.Detail.Values 20. orderby s.Hits descending 21. select s).Skip(10).ToList(); 22.
44 23. 24.
long totalHits = (from s in summary.Detail.Values
25.
select s.Hits).Sum();
26. 27.
long totalElseHits = (from s in elseItems
28.
select s.Hits).Sum();
29. 30. foreach (SummaryLog.SummaryItem it in topTenItems) 31. { 32. DataPoint dp = new DataPoint(); 33. dp.LegendText = it.Hits + " " + it.Url; 34. dp.LegendToolTip 35. = (((double)it.Hits / 36. (double)totalHits) * 100.0) 37.
.ToString("#,##0.00") + "%";
38.
dp.YValues = new double[] { it.Hits };
39.
dp.Label = it.Hits.ToString();
40.
dp.ToolTip = it.Url + " (" + 41. dp.LegendToolTip + ")"; series.Points.Add(dp);
42. 43. }
44. 45. 46.
DataPoint dpElse = new DataPoint();
47.
dpElse.LegendText = totalElseHits.ToString() + " others"; 48. dpElse.LegendToolTip 49. 50.
= (((double)totalElseHits / (double)totalHits)
51. * 100.0).ToString("#,##0.00") + "%"; 52. dpElse.YValues = new double[] { totalElseHits };
53.
dpElse.Label = totalElseHits.ToString();
54. 55.
dpElse.ToolTip = "others (" + dpElse.LegendToolTip + " )";
56.
series.Points.Add(dpElse); }
Kode program di atas digunakan untuk menampilkan chart berbentuk lingkaran. Baris (4), dipilih chart yang akan dibuat dari kontrol chart1, kemudian pada baris (5) dipastikan tidak ada data
45
yan ng ditampilk kan. Baris (7 7) sampai deengan baris (9) dibuat ssebuah objek font un ntuk digunakan sebag gai model font yang akan ditaampilkan oleeh chart. Paada Baris (10) sampai ddengan bariss (11), cha art diberi judul sesuai dengan d nilaii pada baris (1) dan bar aris (2) yaittu parameteer string tittle. Baris (1 13) sampai ddengan bariis (17) dilaakukan querry pada koleeksi summa ary, yaitu m mengambil 100 data den ngan hits tertinggi. t Baris B (18) sampai deengan bariss (22) merrupakan jum mlah data yaang tidak teermasuk 10 besar. Bariis (24) sam mpai dengan n baris (28) dihitung nillai totalHits . Untuk tiapp hasil Sum mmaryItem yang ditunjjukkan bariis (30) padda data 10 besar, ditaambahkan seebagai data DataPoint (baris ( 32). T Tiap DataPooint ini merrupakan tiap p potongan pada p chart pie. p Baris (446) sampai ddengan barris (57) melaakukan hal sama namu un untuk datta sisa yangg tidak term masuk 10 beesar. Gambarr 4.7 mempeerlihatkan tab bel hasil anaalisis per IP.
Gambar 4.7 4 Hasil Analisis Access.log g dalam Bentukk Tabel per IP
46
Hasil analisis a perr IP yang terlihat paada Gambaar 4.7 mem mperlihatkan n table alam mat website yang dikunjjungi oleh IP atau hosst 192.168.1..1. Gambarr 4.8 mempeerlihatkan gaambar grafikk pie per IP.
Gambar 4.8 8 Hasil Analisis Access.log daalam Bentuk G Grafik Pie per IIP
Pada Gambar G 4.8 memperrlihatkan hhasil analisiis IP 192 2.168.1.1 dallam bentuk chart. Sepulluh besar alaamat websitee yang seriing dikunjun ngi oleh IP teersebut antarra lain: -
http://l.yymig.com
-
http://kllimg.com
-
http://au u.download.windowsupd date.com
-
http://ad d.yieldmanag ger.com
-
http://prrod1.rest-no otify.msg.yah hoo.com
-
http://sa afebrowsing--cache.goog gle.com
-
http://id d.yahoo.com
-
http://l1 1.ymig.com
47
-
http://do ownload.rom mhustler.net
-
http://prrod2.rest-no otify.msg.yah hoo.com
-
Others (alamat web bsite yang tidak termasuuk dalam 100 besar w yang g dikunjungii) alamat website Pada submenu Savee Chart As Im mage, hasil ddari gambar grafik
pie atau chart dapat d disimp pan dalam tip pe file sebag ai berikut: -
JPEG
-
PNG
-
BMP
-
GIF
Unttuk lebih jelasnya terlihaat pada Gam mbar 4.9.
Gambar 4.9 Submenu Savee Chart As Imaage
48
2. Menu Chart C Pada menu m chart halaman h utam ma digunakaan untuk m memilih atau u menggantti warna daari grafik piie atau charrt. Ada 3 ppilihan warrna pada meenu ini yaitu warna Earth hTones, warrna Chocolatte, dan warrna BrightP Pastel. Warn na-warna un ntuk grafik pie terlihatt pada Gam mbar 4.10, Gambar G 4.11 1, dan Gambar 4.12.
Gambar 4.10 Menu Chart Warna W EarthToones
1 Menu Chart Warna W Chocola late Gambar 4.11
49
Gambar G 4.12 Menu M Chart Warna W BrightPaastel
3. Menu Help H Menu help h digunak kan untuk meelihat cara ppenggunaan sistem monitoring filee access.log g squid ini. Untuk leb ih jelasnya dapat diliihat pada Gaambar 4.13.
Gam mbar 4.13 Men nu Help
50
4.2
Pengujian Sistem Pengujian sistem dilakukan fokus pada jalannya aplikasi
dalam menganalisis access.log squid dan melakukan uji validasi sistem. Pengujian sistem dilakukan pada komputer dengan spesifikasi sebagai berikut : -
Processor
: Intel® Pentium Dual-Core CPU @ 2.20GHz
-
RAM
: 2.00 GB
-
System type
:Windows 7 Ultimate 32-bit Operating System
4.2.1
Uji Berdasarkan Ukuran File Access.log Pengujian berdasarkan ukuran
file
access.log adalah
pengujian yang dilakukan untuk mengetahui lamanya waktu proses analisis file access.log berdasarkan ukuran file tersebut. Lebih jelasnya terlihat pada Tabel 4.1. Tabel 4.1 Uji Ukuran File Access.log
No.
4.2.2
Ukuran File Access.log
Waktu
1.
783 KB
3,86 detik
2.
12.142 KB
16,80 detik
3.
27.033 KB
26,05 detik
4.
46.200 KB
47,47 detik
Uji Validitas Di dalam pengujian validasi proses analisis, pengujian
dilakukan bersama user dengan menginputkan file access.log pada sistem yang telah ditentukan sebelumnya. Pengujian dilakukan
51
dengan melakukan input file access.log dan melakukan proses analisis. Dengan menguji setiap menu dan submenu untuk mengetahui keluaran atau hasil dari sistem yang dijalankan. Hasil pengujian sistem yang telah dilakukan terlihat pada Tabel 4.2. Tabel 4.2 Uji Validasi
Validasi No.
Jenis Uji
Hasil Valid
1.
Input file access.log
2.
Input file bukan access.log
3.
Save Image tipe JPEG
4.
Save Image tipe PNG
5.
Save Image tipe BMP
6.
Save Image tipe GIF
7.
Warna grafik pie/chart EarthTones
8.
Warna grafik pie/chart Chocolate
9.
Warna grafik
Berhasil
Valid
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Tidak
pie/chart
Tidak
52 BrightPastel 10.
Exit
11.
Tabel hasil monitoring per IP
12.
Tabel hasil monitoring semua IP
13.
Chart/grafik pie hasil monitoring per IP
14.
Chart/grafik pie hasil monitoring semua IP
15.
SearchForm URL
16.
Warna merah pada URL yang dilarang
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Berhasil
9
-
Hasil dari pengujian validitas yang terlihat pada Tabel 4.2, dapat dijelaskan bahwa proses pada sistem analisis access.log terlihat bahwa terjadi valid dan pada input file yang bukan access.log adalah invalid. Data-data tersebut dilakukan pengujian yang telah ditunjukkan pada Tabel 4.2 dimana data input dan data output sistem telah berjalan sesuai dengan yang diharapkan.
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan Berdasarkan
pembahasan
pada
bab-bab
mengenai
“Perancangan dan Implementasi Sistem Analisis Internet Access.Log Squid Berbasis Desktop” ini, maka dapat diambil kesimpulan sebagai berikut: 1. Aplikasi analisis ini dapat dirancang dengan menggunakan flowchart dan UML . 2. Hasil dari rancangan ini dapat diimplementasikan dengan menggunakan bahasa pemrograman Visual C# yaitu dengan membaca tiap baris file access.log yang dipisah berdasarkan karakter spasi, kemudian membaca elemen-elemen yang dihasilkan dari pemisahan baris sampai akhir file, sehingga dihasilkan analisis file access.log pada suatu jaringan LAN berupa situs-situs yang telah diakses oleh tiap IP Address dan alamat IP mana sajakah yang telah mengakses suatu situs tertentu dalam bentuk tabel dan grafik pie. 3. Aplikasi ini mampu mencari alamat IP yang telah mengakses situs atau alamat URL yang telah dilarang oleh pihak manajemen. 4. Aplikasi ini dapat dipergunakan sebagai alat bantu staff IT dalam melakukan pengawasan akses terhadap situs-situs tertentu yang dilarang oleh pihak manajemen.
53
54
5.2 Saran Aplikasi analisis file access.log ini dapat dikembangkan lebih baik dengan cara menyempurnakan algoritma pada proses membaca file access.log sehingga jika membaca file berukuran yang besar dapat diproses lebih cepat. Pengembangan yang lain adalah menambahkan fasilitas database untuk menyimpan hasil analisis.
Daftar Pustaka Aji,
Pamungkas. 2012. Surat Pernyataan Membutuhkan Sistem untuk Memonitoring File Access.log Squid. Salatiga: Kantor CV Sukses Jaya Utama.
Bahtiar,
Nurdin. 2010. Algoritma apriori internet access log dan implementasinya, http://undip.ac.id. Diakses tanggal 28 Desember 2011.
Deitel. 2002. Java How to Program, 4th edition. Prentice Hall. Hendy, Kusdarmanto. 2011. Sistem rekomendasi katalog produk online menggunakan metode association rule dengan algoritma fold-growth, http://elibrary.ub.ac.id. Diakses tanggal 10 Januari 2012 Herlambang, Moch. Linto, Catur L, Azis. 2008. Panduan Lengkap Menguasai Router Masa Depan Menggunakan MikroTik RouterOS™ . Yogyakarta : ANDI Publiser Rafudin, Rahmat. 2008. Squid Koneksi Anti Mogok. Yogyakarta : ANDI Sofana, Iwan. 2008. Membangun Jaringan Komputer. Bandung: Informatika Sommerville, I. 2000. Rekayasa Perangkat Lunak. Jilid 1. Edisi 6. Terjemahan Tim Penerjemah Erlangga. Jakarta: Erlangga. Sutarman, 2003. Membangun Aplikasi Web dengan PHP dan MySQL. Yogyakarta : Graha Ilmu Wessels,
Danuanne.
2004.
Squid:
xiv
The
definitive
Guide.
O’Reilly