LKP : Analisis Log Server Radnet Untuk Perhitungan Utilisasi Bandwith Dan Pelacakan Netname.

(1)

ANALISIS LOG SERVER RADNET UNTUK PERHITUNGAN UTILISASI BANDWITH DAN PELACAKAN NETNAME

LAPORAN KERJA PRAKTEK

Oleh:

Nama : Bunggi Rivan Artanto NIM : 10.41020.0087

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

STIKOM


(2)

ii

PT. Rahajasa Media Internet adalah perusahaan yang bergerak dalam bidang telekomunikasi khususnya Internet Service Provider (ISP) yang juga menyediakan jasa sewa server untuk kepentingan webserver dan sebagainya. Sebagai perusahaan menyedia WEBSERVER tentunya perlu melakukan perhitungan utilisasi bandwith demi memberi pelayanan yang memuaskan serta memerlukan pelacakan pemilik IP yang mengakses webserver tersebut demi tingkat keamanan.

Dengan memanfaatkan log apache maka bisa dilakukan perhitungan utilisasi bandwith serta pelacakan netname melalui data yang tersimpan pada log tersebut sehingga bisa dilakukan perhitungan utilisasi yang akurat serta pelacakan netname yang benar. Untuk memudahkan proses perhitungan utilisasi dari jutaan data yang tersimpan pada log apache maka perlu adanya sebuah program dengan bahasa pemrograman PHP demi memudahkan pelacakan netname. Pemrograman PHP lebih sederhana dan mudah dipelajari ini menjadi pilihan untuk memudahkan perhitungan utilisasi bandwith serta pelacakan netname.

Hasil yang akan di dapat adalah sebuah aplikasi menggunakan bahasa pemrograman PHP yang bisa digunakan membaca file log apache kemudian melakukan pelacakan netname dan menghitung utilisasi. Sehingga dapat di ambil hasil analisis tentang prosentase utilisasi bandwith maksimum 6,6% selama waktu 1 menit serta pemilik ip pengakses webserver buaya.

Kata Kunci : Log Apache,PHP,Mysql

STIKOM


(3)

DAFTAR ISI

HALAMAN JUDUL ... ABSTRAKSI ... KATA PENGANTAR ... DAFTAR ISI ... DAFTAR GAMBAR ... DAFTAR TABEL ... DAFTAR LAMPIRAN ... PENDAHULUAN ...

1.1Latar Belakang Masalah ... 1.2Rumusan Masalah ... 1.3Batasan Masalah ... 1.4Tujuan Kerja praktek ... 1.5 Manfaat Kerja praktek ... 1.5.1 Bagi Perguruan Tinggi ... 1.5.2 Bagi Mahasiswa ... 1.5.3 Bagi Perusahaan ... 1.6Metodologi ... 1.7Sistematika Penulisan Laporan ... 2. PROFIL PERUSAHAAN ... 2.1Latar Belakang Perusahaan ... 2.2Sejarah Berdirinya Perusahaan ... 2.3Infrastruktur Perusahaan ... 2.4Mis Dan Visi Perusahaan ...

i ii iii iv vii ix x 1 1 2 3 3 4 4 4 4 5 5 7 7 7 9 14

STIKOM

SURABAYA


(4)

v

1.1Apache ... 1.2MYSQL ...

1.2.1 Pengertian MYSQL ... 1.2.2 Tipe Data ... 1.2.3 ENTITY RELATIONSHIP DIAGRAM (ERD) ... 1.2.4 Pemetaan ... 1.2.5 Perintah Dasar ... 1.2.6 Membuat Database dengan PHP MyAdmin ... 1.2.7 Koneksi MySQL dengan PHP ... 1.3PHP ... 1.3.1 Pengantar PHP ... 1.3.2 Tipe Data Dan Konstanta ... 1.3.3 Variabel ... 1.3.4 Array ... 1.3.5 Function ... 1.3.6 Pernyataan Kontrol ... 1.3.7 Membuat Grafik ... 1.4Utilisasi Bandwith ... 4. PEMBAHASAN ... 4.1INSTALASI XAMPP ... 4.2PERANCANGAN DATABASE ... 4.2.1 ERD... 17 18 18 19 24 27 29 32 33 34 34 35 35 36 37 42 45 46 47 47 51 51

STIKOM

SURABAYA


(5)

4.2.2 Pemetaan ... 4.2.3 Membuat Database ... 4.3PEMBUATAN PROGRAM DENGAN PHP ... 4.3.1 Membuat File index.php ... 4.3.2 Membuat File program.php ... 4.3.3 Membuat File konvert.php ... 4.3.4 Membuat File utili.php ... 4.3.5 Membuat File Whois.php ... 4.3.6 Membuat File utilisasi.php ... 4.3.7 Algoritma Program ... 4.4ANALISIS SERVER ... 5. PENUTUP ... 5.1Kesimpulan ... 5.2Saran ... DAFTAR PUSTAKA ...

LAMPIRAN ... 53 53 57 57 58 62 64 65 67 69 73 78 78 78 79 80

STIKOM


(6)

ix

Tabel 1.1 Paket Produk RADNET di Indonesia ... Tabel 3.1 mode berkas ... Tabel 4.1 Hasil Netname ...

15 38 73


(7)

DAFTAR GAMBAR

Gambar 2.1 Topologi Jaringan ... Gambar 2.2 Struktur Organisasi Perusahaan ... Gambar 2.3 Grafik Profil Pelanggan ... Gambar 3.1 Tabel database UserName Password ... Gambar 3.2 Contoh diagram E-R ... Gambar 3.3 Contoh penamaan entity dan relasi ... Gambar 3.4 Relasi lebih dari satu di antara dua kelompok entity ... Gambar 3.5 Contoh penggambaran diagram E-R yang salah ... Gambar 3.6 Contoh relasi satu-ke-satu ... Gambar 3.7 Contoh relasi satu-ke-banyak ... Gambar 3.8 Contoh relasi banyak-ke-banyak ... Gambar 4.1 Halaman pertama instalasi XAMPP ... Gambar 4.2 Halaman lokasi folder instalasi ...

Gambar 4.3 Halaman “XAMPP Options” ... Gambar 4.4 Halaman proses ekstraksi ... Gambar 4.5 Halaman akhir instalasi ... Gambar 4.6 Halaman awal XAMPP ... Gambar 4.7 Halaman awal localhost ... Gambar 4.8 Halaman utama XAMPP ...

Gambar 4.9 Halaman utama “PHP MyAdmin” ... Gambar 4.10 ERD ...

10 11 13 19 25 26 26 27 28 28 29 47 48 48 49 49 50 50 51 51 52


(8)

viii

Gambar 4.13 Tampilan CLI PHP MyAdmin ... Gambar 4.14 Proses Palacakan Netname ... Gambar 4.15 Hasil Utilisasi Bandwith ...

54 73 76


(9)

BAB I PENDAHULUAN

1.1LATAR BELAKANG MASALAH

Salah satu mata kuliah dari kurikulum yang diwajibkan bagi setiap mahasiswa STIKOM Surabaya adalah mata kuliah Kerja Praktek. Di mana Kerja Praktek pada kampus STIKOM Surabaya hanya memiliki durasi kerja 4 minggu sehingga mahasiswa diharapkan dapat mendapatkan hasil sesuai target dari kegiatan kerja Praktek yang dilakukan di perusahaan masing-masing. Kerja Praktek sendiri secara umum merupakan ajang pengenalan bagi mahasiswa terhadap dunia kerja, tetapi tidak hanya pengenalan melainkan menerapkan perilaku beradaptasi terhadap lingkungan kerja yang tentunya berbeda dan bervariasi pada masing-masing bidang dan tempat kerja. Kerja Praktek sekaligus mengamati penerapan teori-teori dan praktikum yang diperoleh pada saat kegiatan perkuliahan dengan kenyataan yang ada di lapangan kerja. Penerapan teori-teori dan praktikum ini akan memberikan gambaran nyata langsung terhadap mahasiswa sehingga nantinya akan siap bersaing di dunia kerja dan mampu memberikan kontribusi terbaik seperti yang telah didapatkan pada perkuliahan.

Di tempat Kerja Praktek ini, PT. Rahajasa Media Internet (RADNET) yang terletak di Plaza BRI Lt. 8 Room 803, memberikan proyek untuk melakukan “Analisis Log Server RADNET Untuk Perhitungan Utilisasi Bandwith Dan Pelacakan Netname”. Analisis log ini menggunakan log apache sehingga dapat mengetahui netname dari pemilik ip serta dapat mengetahui

STIKOM


(10)

besar utilisasi bandwith Server tersebut. Untuk dapat memudahkan melakukan analisis maka langkah pertama yang dilakukan adalah membuat program dengan bahasa pemrograman PHP yang berguna untuk melakukan parsing file apache untuk melakukan query terhadap pemilik ip dengan menggunakan Whois IP, selanjutnya program ini akan menghitung utilisasi bandwith dengan memanfaatkan data yang ada pada log apache sehingga lebih memudahkan proses analisis untuk mengetahui pemanfaatan Bandwith pada Server tersebut. Dalam tugas proyek ini, server yang akan di analisis adalah server buaya milik RADNET. Selain sebagai webserver, server ini juga berfungsi sebagai Repositori lokal sistem operasi Linux dimana repositori ini adalah repositori versi indonesia yang mana diciptakan dengan sasaran pemakai linux di Indonesia saja. Tetapi pengguna linux tidak hanya dari indonesia saja melainkan bisa di akses seluruh dunia. Untuk itu perlu dilakukan analisis untuk mengetahui data statistik pengguna server dan negara asalnya.

1.2RUMUSAN MASALAH

Pada latar belakang masalah diatas, maka dapat diambil rumusan masalah tentang

1. Bagaimana mencari Netname dengan memanfaatkan log apache

2. Bagaimana menghitung Utilisasi Bandwith dengan memanfaatkan log apache

STIKOM


(11)

3

1.3BATASAN MASALAH

Batasan masalah yang diambil dalam Kerja Praktek ini yaitu :

1. Aplikasi ini digunakan untuk melakukan parsing file log apache dan mencari netname serta menghitung Utilisasi Bandwith

2. Aplikasi ini menggunakan Bahasa Pemrograman PHP 3. Aplikasi ini tidak menggunakan ajax,java script. 4. Aplikasi ini hanya bisa mengenkripsi IP versi 4

1.4TUJUAN KERJA PRAKTEK

Terdapat beberapa tujuan yang ingin di capai dalam kegiatan Kerja Praktek ini, diantaranya :

Tujuan Umum :

1. Aplikasi ilmu yang telah didapat diperkuliahan

2. Mengenal dan memahami sistem dan manajemen suatu perusahaan

3. Menambah wawasan ilmu mahasiswa karena langsung praktek ke lapangan kerjanya.

Tujuan Khusus :

1. Bagaimana mencari Netname dengan memanfaatkan log apache

2. Bagaimana menghitung Utilisasi Bandwith dengan memanfaatkan log apache

STIKOM


(12)

1.5MANFAAT KERJA PRAKTEK 1.5.1 Bagi Perguruan Tinggi

1. Menciptakan hubungan kerja sama yang baik antara perguruan tinggi STIKOM Surabaya dengan perusahaan.

2. Memperoleh gambaran nyata tentang perusahaan sebagai bahan informasi untuk pengembangan dunia pendidikan.

1.5.2 Bagi Mahasiswa

1. Memberikan pelajaran bahwa kedisiplinan sangat dituntut ketika memasuki dunia kerja yang sebenarnya.

2. Memperluas wawasan serta menambah pengetahuan mahasiswa mengenai sistem dan mekanisme kerja di perusahaan.

3. Membina mahasiswa agar mempunyai kemampuan menganalisis dan mengatasi maalah yang ada khususnya di lingkungan kerja

4. Agar memiliki gambaran perbandingan antara teori dan praktik yang di terapkan dalam dunia kerja sesungguhnya

1.5.3 Bagi Perusahaan

1. Membangun kerja sama yang baik antara lembaga pendidikan dengan perusahaan.

2. Sebagai sarana untuk melihat perkembangan dunia pendidikan perguruan tinggi.

3. Sebagai wujud nyata keikutsertaan perusahaan dalam mengembangkan sumber daya manusia dalam dunia pendidikan

STIKOM


(13)

5

1.6METODOLOGI

1. Pengumpulan Data

Mengumpulkan data yang diperlukan dan sesuai dengan judul yang diambil penulis.

2. Studi Literatur

Mencari dan mengelolah data sekunder dari berbagai data literatur, catatan kuliah dan dokumen lainnya yang berhubungan dengan isi laporan dan kegiatan yang berlangsung di lapangan.

3. Teknik Wawancara

Mencari data melalui tanya jawab dengan pihak yang terkait dengan kegiatan Kerja Praktek dan isi laporan.

4. Pengujian

Proses pengujian terhadap program yang telah dibuat dan editing jika terjadi kesalahan maupun kekurangan

5. Bahan Pustaka

Mencari data-data yang dapat membantu berjalannya laporan ini.

1.7SISTEMATIKA PENULISAN LAPORAN

Sistematika penulisan merupakan acuan atau panduan dalam penulisan laporan Kerja Praktek di perusahaan, di mana sistematika penulisannya disusun dalam beberapa bab, yaitu sebagai berikut:

BAB I : PENDAHULUAN

Berisi tentang latar belakang, tujuan, manfaat, permasalahan, metodologi, dan sistematika penulisan.

STIKOM


(14)

BAB II : PROFIL PERUSAHAAN

Berisikan tentang profil PT. Rahajasa Media Internet yang meliputi latar belakang perusahaan, sejarah berdirinya perusahaan, infrastruktur perusahaan, visi dan misi perusahaan serta lingkup bidang usaha

BAB III : LANDASAN TEORI

Berisikan tentang konsep teori yang berhubungan dengan judul yang diambil penulis, dengan mengambil data dari buku-buku referensi.

BAB IV : PEMBAHASAN

Berisikan tentang penjelasan dan pembahasan mengenai cara mencari pemilik ip dan perhitungan utilisasi bandwith pada server RADNET.

BAB V : PENUTUP

Berisikan tentang kesimpulan dan saran-saran dari hasil studi Kerja Praktek yang telah dilaksanakan di PT. Rahajasa Media Internet.

STIKOM


(15)

BAB II

PROFIL PERUSAHAAN

2.1 LATAR BELAKANG PERUSAHAAN

Nama Perusahaan : PT. Rahajasa Media Internet (RADNET) Alamat : Jl. Jendral Basuki Rahmat No. 122

Plaza BRI Lt. 8 Room 803 Surabaya 60271

Indonesia

2.2 SEJARAH BERDIRINYA PERUSAHAAN

PT. Rahajasa Media Internet, RADNET, perusahaan yang berdiri sejak bulan Juli 1994 dan diresmikan pada bulan November 1994 oleh Roy Rahajasa Yamin, berdiri dalam bidang jaringan terutama sebagai Internet Service Provider yang berbasis di Jakarta, Indonesia. Hal ini dikarenakan Jakarta merupakan ibu kota dari Indonesia dan juga sebagai kota sentral bisnis Indonesia. Sejak awal berdirinya, RADNET mempunyai misi untuk menjadi perusahaan penyedia jasa internet untuk korporasi maupun personal/retail di Indonesia. Pada perjalanannya, RADNET mengkhususkan diri dalam rangkaian lengkap akses internet dan layanan nilai tambah bagi individu dan korporasi tidak hanya di Indonesia, melainkan di dunia.

Dengan izin operasi yang dikeluarkan pemerintah pada bulan Desember 1994, No: ISP KM2/PT.102/MPPT-96, bukan hanya dimulainya operasional RADNET, tetapi juga sebagai perusahaan Internet Service Provider (ISP)

STIKOM


(16)

yang pertama beroperasi di Indonesia. Pada bulan Mei 1995 RADNET mengeluarkan produk pertama sebagai bukti eksistensi RADNET sekaligus langkah awal dari misi RADNET.

Berkembangnya teknologi internet yang telah menjadi platform penting dalam Telekomunikasi, membuat RADNET memperluas misi untuk menjadi penyedia dan pelopor telekomunikasi dan multimedia terdepan di Indonesia. Itu semua dilakukan RADNET untuk memenuhi kebutuhan masyarakat akan telekomunikasi. Dari mulai layanan e-mail sederhana hingga layanan multimedia yang memungkinkan komunikasi audio dan visual baik untuk kebutuhan domestik maupun internasional. Tidak hanya menambahkan layanan, tetapi juga menambahkan kantor yang semula hanya berbasis di Jakarta sebagai pusat Indonesia menjadi hingga ke beberapa daerah-daerah seperti Surabaya dan Bandung.

Pada perjalanannya, RADNET telah bekerja sama dengan PT. Telekomunikasi Indonesia (TELKOM) sebagai kantor nasional dan provider telekomunikasi, dan PT. Indosat, sebagai operator telekomunikasi internasional. RADNET berkomitmen untuk tidak hanya sekedar melayani 240 juta penduduk Indonesia dengan pelayanan komunikasi terintegrasi tetapi juga untuk melayani kawasan Asia Pasifik dengan jaringan internet. Sumber daya manusia yang unggul dan berpengalaman dalam bidang telekomunikasi dan pengembangan bisnis, menjadikan RADNET sebagai perusahaan penyedia layanan telekomunikasi masa depan. Didukung oleh pakar berpengalaman dalam komunikasi pengembangan bisnis, RADNET dengan bangga memperkenalkan layanan WiMAX dengan tarif lebih murah namun

STIKOM


(17)

9

dengan kualitas konektifitas yang lebih baik melalui kerjasama berbagai perusahaan.

Berdasarkan data APJII (Asosiasi Penyelenggara Jasa Internet Indonesia / Indonesian Internet Service Provider Association) ada sekitar 2 juta pelanggan dan 25 juta pengguna yang tersebar di Indonesia. Selama lebih dari 15 tahun, RADNET telah berkembang dengan pesat sebagai perusahaan yang kuat dan stabil dengan pegawai profesional. RADNET berusaha untuk menjadi yang terdepan dalam teknologi dengan produk yang handal dan layanan yang memuaskan, yang sesuai dengan perutumbuhan pelanggan, tidak hanya di Indonesia tetapi juga di seluruh Asia-Pasifik. Dibantu oleh komunikasi dan pakar bisnis pengembangan yang berpengalaman, RADNET bertujuan untuk menjadi operator telekomunikasi yang terencana, pemimpin pasar baik nasional maupun internasional.

2.3 INFRASTRUKTUR PERUSAHAAN

RADNET menggabungkan infrastruktur sebuah jaringan dengan performa tinggi dengan platform multi-home internet backbone untuk menjamin ketersediaan jaringan kapan saja, yang terdiri dari Fiber-Optik dan satelit untuk PCCW, NTT, Moratel INP, Globe Internet, Singtel Jaringan dan Gilat Satelite.

STIKOM


(18)

Gambar 2.1 Topologi Jaringan

Untuk memenuhi permintaan yang besar demi pelayanan yang berkualitas dan hemat biaya untuk mengakses internet, RADNET telah memutlakkan akses ke Point of Presence (PoP) di kota-kota besar seperti Jakarta, Bandung, dan Surabaya di mana setiap situs memiliki PoP Fiber-Optic koneksi ke Network Operation Center (NOC) regional ataupun nasional.

Struktural organisasi perusahaan pada PT. Rahajasa Media Internet (RADNET) terhitung kepemimpinan pada tahun 1995-2008, di mana Organization Chart ini dibuat pada 17 April 2007.

STIKOM


(19)

11

Gambar 2.2 Struktur Organisasi Perusahaan

Gambar di atas menjelaskan bahwa kepemimpinan perusahaan diambil alih oleh Bpk. Roy Rahajasa Yamin selaku pemilik yang merupakan atasan langsung dari Network Management Manager, Customer Management and Retention, National Marketing and Sales Manager, Finance and Accounting Manager, dan Personnel and Administration Manager. Dan Branch Manager

dari kantor-kantor cabang seperti Jakarta, Bandung, dan Surabaya dibawahi langsung oleh National Marketing and Sales Manager.

Cabang dan Kantor Lokal: Untuk memenuhi permintaan yang tinggi akan pelayanan yang berkualitas tinggi dan hemat biaya untuk mengakses internet, RADNET telah mempunyai akses ke Point of Presence (PoP) di kota-kota besar seperti Jakarta, Bandung, dan Surabaya di mana setiap situs PoP memiliki koneksi Fiber-Optic ke Network Operation Center (NOC) regional atau nasional. Untuk routing dalam negeri, RADNET memiliki koneksi public peering yang luas dan tidak terbatas melalui link Fast Ethernet ke eXchange Poin utama Indonesia seperti IIX1(GCC), IIX2(Elektrindo).

STIKOM


(20)

ISP lain, Penyedia Konten, Penyedia Game, dan NAP. Susunan peering seperti ini memungkinkan RADNET untuk memberikan layanan komunikasi data kecepatan tinggi yang efisien dari dan ke semua host atau situs yang berada di Indonesia.

Bandung: RADNET Bandung terus mengembangkan teknologi internet yang stabil, handal, dan fleksibel untuk memenuhi permintaan pelanggan akan kebutuhan internet menjadi nyata dan mudah. Dengan staf profesional dengan kemampuan untuk mengontrol dan mengelola topologi internet. Bekerja sama dengan beberapa perusahaan, hotel, internet cafe, apartemen, bahkan dengan komplek-komplek perumahan menciptakan desain topologi internet yang pelanggan inginkan menjadi lebih mudah diimplementasikan. RADNET Bandung senantiasa mempermudah pelanggan-pelanggannya yang ingin menambah kapasitas bandwidthnya berapapun yang diperlukan. Baik menggunakan media Wireless Internet, ADSL, dan Fiber Optic. RADNET Bandung sendiri terletak di Gedung Bumi Bina Usaha, 3th Floor, Suite 301b, Jl. Asia Afrika no. 141-149, Bandung 40112.

Surabaya: RADNET Surabaya terus mengembangkan teknologi internet yang stabil, handal, dan fleksibel untuk memenuhi permintaan pelanggan akan kebutuhan internet menjadi nyata dan mudah. Dengan staf profesional dengan kemampuan untuk mengontrol dan mengelola topologi internet. Bekerja sama dengan beberapa perusahaan, hotel, internet cafe, apartemen, bahkan dengan komplek-komplek perumahan menciptakan desain topologi internet yang pelanggan inginkan menjadi lebih mudah diimplementasikan. RADNET Surabaya senantiasa mempermudah pelanggan-pelanggannya yang

STIKOM


(21)

13

ingin menambah kapasitas bandwidthnya berapapun yang diperlukan. Baik menggunakan media Wireless Internet, ADSL, dan Fiber Optic. RADNET Surabaya sendiri terletak di Plaza BRI, 8th Floor, Suite 803, Jl. Jend. Basuki Rahmat no. 122, Surabaya 60271.

Jakarta: RADNET Jakarta merupakan kantor utama dari PT. Rahajasa Media Internet yang berdiri semenjak Juli 1994 dan diresmikan November 1994. RADNET Jakarta merupakan basis dari adanya Internet Service Provider RADNET yang menyediakan layanan tingkat regional/nasional maupun internasional. RADNET Jakarta (Head Office) sendiri terletak di Plaza 89, 4th Floor, Suite 407, Jl. HR. Rasuna Said Kav. X-7/6, Jakarta 12940, Indonesia.

Grafik di bawah ini menunjukkan perbandingan profil pelanggan pada tahun 2007, dibagi menjadi dua hal yaitu Corporate versus Retail Percentage of Subscriber (Perbandingan Antara Persentase Pelanggan Personal dengan Korporasi) dengan Corporate versus Retail Percentage of Revenue

(Perbandingan Antara Persentase Pendapatan Personal dengan Korporasi).

Gambar 2.3 Grafik Profil Pelanggan

STIKOM


(22)

Grafik ini menjelaskan bahwa pada tahun 2007, total persentase dari pelanggan secara korporasi mencapai dengan 94,08% yang mana jumlah ini membuktikan bahwa sasaran utama dari perusahaan adalah layanan dalam jangkauan besar yaitu korporasi dibandingkan dengan layanan personal/pribadi. Bila dibandingkan dengan persentase pelanggan untuk korporasi yang sangat besar, persentase pelanggan untuk layanan personal/pribadi terhadap layanan yang diberikan perusahaan pada tahun 2007 masih sedikit diminati dibandingkan dengan penawaran layanan perusahaan pada bidang korporasi.

Sedangkan perbandingan untuk grafik persentase pendapatan personal/pribadi dengan korporasi adalah 63,98% untuk pendapatan perusahaan dari layanan korporasi di mana 94,08% pelanggan dari perusahaan adalah korporasi. Sedangkan untuk pendapatan perusahaan berdasarkan pendapatan personal/pribadi adalah mencapai 36,02% di mana 5,92% dari total pelanggan perusahaan merupakan pelanggan personal/pribadi.

2.4 MISI DAN VISI PERUSAHAAN 2.4.1 Misi Perusahaan

Untuk meningkatkan keuntungan bagi pelanggan di seluruh dunia dengan memberikan solusi internet terbaik bersama dengan profesionalisme di atas ekspektasi pelanggan.

STIKOM


(23)

15

2.4.2 Visi Perusahaan

Untuk menjadi pemimpin pasar keberlanjutan yang memberikan pelayanan berkualitas yang terus meningkat terhadap pertumbuhan masa depan perusahaan serta permintaan pasar.

2.5 LINGKUP BIDANG USAHA

Sebagai perusahaan jasa layanan internet,radnet memberi akses bagi kebutuhan internet dan jaringan terpadu, baik untuk penggunaan komunikasi lokal,nasional maupun internasional.

Akses internet yang ditawarkan oleh RADNET di kemas dalam berbagai paket produk bergantung pada fitur dan media penyimpanan. Tabel berikut memuat beberapa jenis produk akses internet yang di tawarkan oleh RADNET.

Tabel 1.1 Paket Produk RADNET di Indonesia

Jenis Segmen Produk Prepaid Personal Smart One

Dial Up Personal Net Dial Unlimited

Net Dial Nationwide Unlimited Net dial 20,40,60

Corporate Net Dial 20,40,60

STIKOM


(24)

ADSL Personal Net DSL Basic Net DSL Game Freak Corporate Net DSL Game Freak

Net DSL Surfreak Lan Personal Wireless Ezy Access

Corporate LAN ISDN LAN Dedicated

Di Bandung RADNET hanya memasrkan dua jenis klompok produk, yaitu dial up dan wireless. RADNET cabang bandung memiliki produk yang tidak dimiliki oleh cabang lain yaitu produk personal woreless yang baru di operasiakan pada tahun 2006 dan untuk saat ini hanya bisa diakses di daerah Margahayu Raya dan sekitarnya ( radius 3km dari stasiun pemancar)

STIKOM


(25)

BAB III LANDASAN TEORI

3.1 APACHE

Apache adalah sebuah nama web server yang bertanggung jawab pada request-response HTTP dan logging informasi secara detail (kegunaan dasarnya). Selain itu, Apache juga diartikan sebagai suatu web server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu saja sangat digemari. Kesimpulan ini bisa didapatkan dari jumlah pengguna yang jauh melebihi para pesaingnya. Sesuai hasil survei yang dilakukan oleh Netcraft, bulan Januari 2005 saja jumlahnya tidak kurang dari 68% pangsa web server yang berjalan di Internet. Ini berarti jika semua web server selain Apache digabung, masih belum bisa mengalahkan jumlah Apache.

Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation.

Saat ini ada dua versi Apache yang bisa dipakai untuk server produksi, yaitu versi mayor 2.0 dan versi mayor 1.3. Apache merupakan webserver yang paling banyak digunakan saat ini. Hal ini disebabkan oleh beberapa sebab, di antaranya adalah karena sifatnya yang opensource dan mudahnya

STIKOM


(26)

mengkostumisasikannya. Di antaranya dengan menambahkan support secure protocol melalui ssl dan konektifitasnya dengan database server melalui bahasa scripting PHP.

Pada Apache menyimpan sebuah log yang mana terdapat 2 buah log yaitu error log dan access log. Pada error log menyimpan pesan kesalahan pada webserver kita, sedangkan access log menyimpan data data yang berupa ip pengakses web, time stamp, status code, besar bandwith yang diakses, keterangan lokasi yang diakses, serta engine yang digunakan. Pada web server linux, file log apache error log kebanyakan tedapat pada /usr/local/apache/logs/error_log, sedangkan file log untuk access log apache biasanya terdapat pada /usr/local/apache/logs/access_log. Dengan memanfaatkan access log apache, banyak hal yang bisa dilakukan yaitu mencari siapa saja yang membuka web server kita dan dengan menggunakan whois kita dapat mengetahui siapa pemilik IP yang telah mengakses web kita.

3.2 MYSQL

3.2.1 Pengertian MYSQL

MySQL (My Structure Query Language) adalah salah satu DataBase

Management System (DBMS) dari sekian banyak DBMS seperti Oracle, MS

SQL, Postagre SQL, dan lainnya. MySQL berfungsi untuk mengolah database menggunakan bahasa SQL. MySQL bersifat opensource sehingga kita bisa menggunakannya secara gratis. Pemrograman PHP juga sangat mendukung/support dengan database MySQL.

STIKOM


(27)

19

Database adalah sekumpulan tabel-tabel yang berisi data dan merupakan kumpulan dari field atau kolom. Struktur file yang menyusun sebuah database adalah Data Record dan Field.

 Data adalah satu satuan informasi yang akan diolah. Sebelum diolah, data dikumpulkan di dalam suatu file database.

 RECORD adalah data yang isinya merupakan satu kesatuan seperti NamaUser dan Password. Setiap keterangan yang mencakup NamaUser dan Password dinamakan satu record. Setiap record diberi nomor urut yang disebut nomor record (Record Number).

 FIELD adalah sub bagian dari Record. Dari contoh isi record di atas, maka terdiri dari 2 field, yaitu : field NamaUser dan Password.

Gambar 3.1 Tabel database UserName Password

3.2.2 Tipe Data

Pada pemrograman database MySQL terdapat 26 tipe data, yaitu :

1. Bit

Tipe data bit hanya bisa menerima input angka 1 dan 0 sebagai nilai atau bisa juga null, yang berarti tidak ada nilai. Tipe data ini sangat membantu jika ingin menghasilkan output yes/no, true/false, dsb.

STIKOM


(28)

2. Int

Tipe data ini dapat menerima nilai mulai dari -231(-2,147,483,648) sampai 231-1 (2,147,483,647).

3. Bigint

Tipe data ini mirip dengan int, hanya saja nilai yang diterima lebih besar daripada int. Tipe data ini dapat menerima nilai mulai dari -263 (-9,223,372,036,854,775,808) hingga 263-1 (-9,223,372,036,854,775,807).

4. Smallint

Tipe data ini juga mirip dengan int, hanya saja nilai yang diterima lebih kecil dari int. Tipe data ini dapat menerima nilai mulai dari -215 (-32,768) hingga 215-1 (32767).

5. Tinyint

Tipe data ini menerima nilai yang lebih kecil dari smallint. Nilai yang bisa diterima mulai dari 0 hingga 255,

6. Decimal

Tipe data ini menggunakan 2 parameter untuk menentukan tingkat presisi nilai yang diterima; precision dan scale.

Precision : jumlah digit yang bisa diterima oleh field, sedangkan

Scale : jumlah angka di belakang koma yang bisa diterima

oleh field. Jadi, jika kita membuat parameter precisionsebanyak 5 dan scalesebanyak 2 maka fieldkita bisa menerima nilai seperti ini : 123,45. Tipe data ini bisa menerima nilai mulai dari -1038hingga 1038-1.

STIKOM


(29)

21

7. Numeric

Tipe data ini pada dasarnya sama dengan tipe data decimal. Jadi tipe data ini bisa disebut sinonim dari decimal.

8. Money

Tipe data ini dapat menerima nilai mulai dari -263 (-9,223,372,036,854,775,808) hingga 263-1 (-9,223,372,036,854,775,807).

9. Smallmoney

Tipe data ini pada dasarnya sama dengan tipe data money, hanya saja nilai yang diterima lebih kecil, yaitu mulai dari -214,748.3648 hingga 214,748.3647.

10.Float

Tipe data ini bisa menerima nilai yang tak terhingga, seperti pada nilai pi. Tipe data ini bisa menerima nilai mulai dari -1.79E + 308 hingga 1.79E +308. Jika Anda mendeskripsikan fielddengan tipe data seperti ini : float(2), maka nilai output dari pi (misalnya) adalah 3,14. Angka 2 di dalam kurung menjelaskan berapa banyak angka yang harus ditampilkan dibelakang koma.

11.Real

Tipe data ini mirip dengan tipe data float, hanya saja menerima nilai yang lebih kecil dibandingkan dengan float, yaitu mulai dari -3.40E +38 hingga 3.40E +38.

12.Datetime

Tipe data ini dapat menerima nilai tanggal dan waktu mulai dari 1 Januari 1753 hingga 31 Desember 9999

STIKOM


(30)

13.Smalldatetime

Tipe data ini dapat menerima tanggal dan waktu mulai dari 1 Januari 1900 hingga 6 Juni 2079, dengan akurasi waktu yang digunakan adalah menit.

14.Timestamp

Tipe data ini digunakan untuk mencatat record ketika data baru dimasukkan dan diupdate. Tipe data ini sangat berguna untuk mencari tahu perubahan yang terjadi pada database Anda.

15.Uniqueidentifier

Tipe data ini berfungsi untuk membuat nilai yang unik yang mungkin bisa tampil seperti ini 6F9619FF-8B86-D011-B42D-00C04FC964FF. Tipe data ini berguna jika Anda ingin membuat serial number atau id yang unik.

16.Char

Tipe data ini dapat digunakan untuk memasukkan data karakter non-Unicode dengan jumlah karakter yang fix. Tipe data ini bisa menerima hingga 8000 karakter, dan jumlah bytesyang dibutuhkan tergantung jumlah karakter yang dimasukkan. 1 karakter membutuhkan 1 bytes, sehingga jika Anda mendefinisikan seperti ini : char(5) maka fieldtersebut hanya bisa menerima karakter sebanyak 5 buah karakter

17.Varchar

Tipe data ini mirip dengan tipe data char, namun tipe data ini berguna bagi Anda yang tidak mengetahui secara pasti jumlah karakter yang akan

STIKOM


(31)

23

dimasukkan oleh user. Tipe data ini juga bisa menerima nilai hingga 8000 karakter.

18.Varchar(max)

Tipe data ini juga mirip dengan varchar, hanya saja, nilai yang bisa diterima mencapai 231-1(2,147,438,67) bytesdata.

19.Nchar

Tipe data ini mirip dengan tipe data char, namun tipe data ini bisa menerima nilai atau data Unicode (berbeda dengan tipe data char yang hanya bisa menerima nilai karakter non-Unicode). Tipe data ini bisa menerima nilai hingga 4000 karakter.

20.Nvarchar

Tipe data ini mirip dengan tipe data varchar, namun tipe data ini bisa menerima nilai atau data Unicode. Tipe data ini juga bisa menerima nilai hingga 4000 karakter.

21.Nvarchar(max)

Tipe data ini mirip dengan tipe data varchar(max), namun tipe data ini bisa menerima nilai atau data Unicode. Tipe data ini bisa menerima karakter hingga 231-1 (2,147,483,67) bytesdata.

22.Binary

Tipe data ini dapat menerima data binary dengan maksimum 8000 bytesdata. Tipe data ini diinterpretasikan sebagai string dari bit misalnya (110011001011).

STIKOM


(32)

23.Varbinary

Tipe data ini hanya bisa menerima data binary saja. Tipe data ini berguna untuk menyimpan data binary yang tidak diketahui pasti jumlah bytesdatanya.

24.Xml

Tipe data ini berguna untuk menyimpan data dalam format XML Document. Tipe data ini dapat menyimpan data hingga 2Gb. Tipe data ini merupakan tipe data baru yang terdapat di SQL Server 2005.

25.Image

Mendefinisikan binary data untuk menyimpan image seperti GIF, JPG, TIFF,dll.

26.Text

Menyimpan teks sampai dengan 2 GB. Text disebut juga dengan binary large objects (BLOBs).

3.2.3 Entity Relationship Diagram (ERD)

Diagram E-R adalah suatu media untuk menggambarkan model data E-R dalam bentuk diagram. Simbol-simbol yang digunakan untuk menggambarkan model data E-R dengandiagram E-R adalah :

1. Entity : Simbol yang digunakan untuk entity berupa kotak persegi panjang, dengan nama entity ditulis di dalamnya.

2. Relationship : Simbol yang digunakan sama dengan simbol keputusan (belah ketupat), dengan hubungan yang terjadi ditulis di dalamnya.

STIKOM


(33)

25

3. Atribut : Simbol yang digunakan berupa lingkaran, dengan nama atribut ditulis di dalamnya.

4. Atribut Kunci : Simbol yang digunakan berupa lingkaran sama seperti simbol atribut, akan tetapi atribut yang akan dijadikan kunci diberi garis bawah.

Gambar 3.2. memperlihatkan contoh diagram E-R untuk menggambarkan hubungan antara Persons dan Vehicles :

Gambar 3.2 Contoh diagram E-R

Berikut diberikan beberapa hal yang bisa digunakan sebagai petunjuk untuk menggambar diagram E-R :

1. Kriteria untuk membuat diagram E-R :

Gunakan diagram E-R sebagai alat komunikasi untuk meyakinkan bahwa seluruh sistem sudah dinyatakan dan dideskripsikan secara benar.

Yakinkan pula bahwa diagram E-R akan menstrukturkan data pada jalan yang memungkinkan kita untuk mengubahnya menjadi bentuk normal.

2. Penamaan

Gunakan kata benda untuk menamai kelompok entity karena sifatnya yang pasif, dan gunakan kata kerja atau kata sambung (preposisi) untuk

Persons Drive Vehicles

STIKOM


(34)

menamai kelompok relasi karena kelompok relasi menyatakan suatu kegiatan. Gambar 3.3 memperlihatkan contoh bagaimana penamaan untuk kelompok entity dan relasi.

Gambar 3.3 Contoh penamaan entity dan relasi

3. Ada kemungkinan terjadi lebih dari satu relasi di antara dua kelompok entity yang sama, misalnya seperti contoh yang ditunjukkan oleh gambar 3.4.

Gambar 3.4 Relasi lebih dari satu di antara dua kelompok entity PROJECTS

COMPANY PARTS

OWNS

MANAGERS

VEHICLES MANAGE

LEASES USE

STIKOM


(35)

27

4. Total sistem tidak diperbolehkan untuk disertakan dalam diagram E-R, dalam arti sistem yang sedang dibuat model E-Rnya tidak diperkenankan untuk dimunculkan. Gambar 3.5 memperlihatkan contoh diagram E-R yang salah yang menyertakan total sistem.

Gambar 3.5 Contoh penggambaran diagram E-R yang salah

3.2.4 Pemetaan

Yang dimaksud dengan pemetaan adalah asosiasi (pemasangan) sejumlah entity dengan entity lainnya dalam kelompok relasi. Pada relasi biner, yaitu relasi antara dua kelompok entity, pemetaan antara sejumlah entity dapat dibedakan menjadi :

Satu-ke-satu (one-to-one)

Setiap elemen dari entity pertama tepat dipasangkan dengan satu elemen dari entity kedua, demikian juga sebaliknya.

Contoh : relasi antara Pasien dan Tmp_Tidur pada masalah medical record.

PARTS MAKES BUSSINESS

CUSTOMERS SELLS-TO

STIKOM


(36)

Gambar 3.6 Contoh relasi satu-ke-satu

Satu-ke-banyak (one-to-many) / banyak-ke-satu (many-to-one)

Setiap elemen dari entity pertama dipasangkan dengan beberapa elemen dari entity kedua dan setiap elemen dari entity kedua tepat dipasangkan dengan satu elemen dari entity pertama, demikian juga sebaliknya.

Contoh : relasi antara Pasien dan Ruangan pada masalah medical record.

Gambar 3.7 Contoh relasi satu-ke-banyak

Banyak-ke-banyak (many-to-many)

Setiap entity dari elemen pertama dipasangkan dengan beberapa elemen dari entity kedua dan setiap elemen dari entity kedua juga dipasangkan dengan beberapa elemen dari entity pertama.

Contoh : relasi antara Pasien dan Dokter.

Abdul Markum Kumkum

R-01 R-02 Abdul

Markum Kumkum

RUANGAN PASIEN

T-01 T-02 T-03

PASIEN TMP_TIDUR

STIKOM


(37)

29

Gambar 3.8 Contoh relasi banyak-ke-banyak

Penentuan jenis pemetaan untuk kelompok relasi ini tergantung kepada dunia nyata yang dimodelkan oleh kelompok relasi tersebut. Jadi untuk kelompok relasi yang satu mungkin kita dapatkan pemetaan yang berbeda dengan kelompok relasi lainnya.

Terdapat 2 cara dalam pemetaan, yaitu :

1. Conceptual/Internal Mapping yaitu pemetaan yang mendefinisikan

hubungan antara level konseptual dan level internal. Pemetaan ini menjelaskan bagaimana record dan field pada level konseptual direpresentasikan pada level internal.

2. External/Conceptual Mapping yaitu pemetaan yang mendefinisikan

hubungan antar level eksternal dan level konseptual.

3.2.5 Perintah Dasar

1. DML (Data Manipulation Language) adalah paket bahasa yang digunakan untuk melakukan manipulasi terhadap data pada sebuah basis data. Manipulasi data meliputi kegiatan menambah, mengedit, mengambil, dan menghapus data.

DOKTER PASIEN

Basuki Paijo Abdul

Markum Kumkum

STIKOM


(38)

Memasukkan Data (Insert)

Untuk memasukkan data ke dalam database, kita menggunakan perintah INSERT. Aturan penulisannya adalah :

INSERT INTO <namaTabel> VALUES (isi kolom1,isi kolom2); Contoh:

INSERT INTO anggota (uname, pswd) VALUES („anhar‟,„tesaja‟);

Menampilkan Data (Select)

Untuk menampilkan data dalam tabel, kita menggunakan perintah SELECT. Aturan penulisannya adalah :

SELECT <field> FROM <namaTabel>; Contoh :

SELECT uname FROM anggota;

Sedangkan untuk menampilkan keseluruhan tabel kita bisa menggunakan perintah

SELECT *FROM anggota;

Mengubah Data (Update)

Untuk mengubah data dalam tabel, kita menggunakan perintah UPDATE. Aturan penulisannya adalah :

UPDATE <namaTabel> SET namaField=isi baru WHERE kriteria; Contoh :

UPDATE anggota SET uname=‟aat‟ WHERE pswd=‟tesaja‟;

STIKOM


(39)

31

Menghapus Data (Delete)

Untuk menghapus data dalam tabel, kita menggunakan perintah DELETE. Aturan penulisannya adalah :

DELETE FROM <namaTabel> WHERE kriteria; Contoh :

DELETE FROM anggota WHERE uname=‟anhar‟;

2. DDL (Data Definition Language) adalah bahasa dalam DBMS yang digunakan untuk membuat atau mendefinisikan obyek-obyek di dalam database. Secara umum digunakan untuk membuat obyek table dan view. Secara khusus, di dalam DBMS tertentu digunakan untuk :

 Membuat trigger

 Membuat stored procedure

 Membuat database, index, rule, schema dan lain-lain (tergantung DBMS)

DDL untuk tabel

 Untuk membuat tabel :

CREATE TABLE <namatabel> (<column_definition> | <table_constraint>)

 Untuk menghapus tabel : DROP TABLE <namatabel>

 Untuk memodifikasi tabel :

STIKOM


(40)

 Menambahkan kolom baru :

ALTER TABLE <namatabel> ADD <namakolom> <tipedata> <aturan>

 Menghapus kolom :

ALTER TABLE <namatabel> DROP <namakolom>

3.2.6 Membuat Database Dengaan PHP MYADMIN

PHPMyAdmin adalah perangkat lunak bebas yang ditulis dalam bahasa

pemrograman PHP yang digunakan untuk menangani administrasi MySQL

melalui World Wide Web (www). PHPMyAdmin mendukung berbagai operasi MySQL, di antaranya mengelola basis data, tabel-tabel, fields, relasi, indeks, pengguna (users), perijinan (permissions), dan lain-lain.

Langkah-langkah membuat database dan memasukkan database ke dalam PHPMyAdmin :

1. Langkah pertama buka browser dan ketikkan localhost pada URL addressnya.

2. Pilih menu PHPMyAdmin.

3. Ketikkan nama database yang ingin dibuat, kemudian klik tombol create

untuk membuat database tersebut.

4. Beri nama database dan tentukan jumlah fields.

5. Masukkan kategori-kategori pada database yang akan dibuat.

6. Isikan jenis datanya. Tentukan juga kategori mana yang akan dijadikan primary key.

7. Masukkan data-data sesuai kategori.

STIKOM


(41)

33

8. Kemudian klik Go dan data tersebut akan tersimpan.

9. Database telah selesai dibuat, close browser. Kemudian stop XAMPP.

3.2.7 Koneksi MYSQL Dengan PHP

Agar script PHP yang kita buat dapat terkoneksi dengan database MySQL, kita harus menuliskan sintak dalam script PHP. Kita harus menggunakan fungsi mysql_connect().

Contoh :

1. Buka notepad dan tulislah script ini : <?php

$a=mysql_connect(„localhost‟,‟root‟,‟‟);

if(!$a) {

die(“Koneksi Gagal”.mysql_error());

} else {

echo”Koneksi Sukses”;

} ?>

2. Simpan dengan nama koneksi.php, caranya pilih menu File → Save As,

kemudian keluar jendela Save As. Pada bagian ini file langsung disimpan di folder htdocs. Beri nama koneksi.php dan ubah Save As Type menjadi All Files, lalu tekan Save.

STIKOM


(42)

3. Buka browser Mozilla, lalu ketik alamat http://localhost/koneksi.php. Jika keluar tulisan Koneksi Sukses, berarti kita telah berhasil menghubungkan PHP dengan database MySQL.

3.3 PHP

3.3.1 Pengantar PHP

Menurut dokumen resmi PHP, PHP singkatan dari PHP: Hypertext Preprosessor. Ia merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses di server. Secara khusus PHP dirancang untuk membentuk web dinamis. Artinya ia dapat berbentuk suatu tampilan berdasarkan permintaan terkini. Misalnya, menampilkan isi database ke halaman web. PHP bersifat bebas dipakai. Anda tidak perlu membayar apapun untuk menggunakan perangkat lunak ini. Kode php di awali dengan

<?php dan di akhiri dengan ?> . Pasangan kedua kode inilah yang berfungsi sebagai tag kode PHP.

Salah satu kelebihan dari PHP adalah mampu berkomunikasi dengan berbagai database yang terkenal. Dengan demikian menampilkan data yang bersifat dinamis yang diambil dari database merupakan hal yang mudah untuk diimplementasikan. Pada saat ini PHP sudah dapat berkomunikasi dengan berbagai database meskipun memiliki kelengkapan yang berbeda-beda.

Untuk dapat memulai membuat program dengan PHP bisa menggunakan editor text apa saja. Seperti notepad dan lain-lain. Selain itu kode-kode PHP dapat diuji dengan menggunakan browser. Jika menggunakan windows maka

STIKOM


(43)

35

harus sudah menginstall XAMPP yang berfungsi untuk membuat komputer menjadi web server. Untuk file PHP disimpan pada folder /xampp/htdocs. Lalu untuk menguji dengan browser, tuliskan alamat http://localhost/file.php.

3.3.2 Tipe Data Dan Konstanta

Tipe data pada PHP ada tiga macam, yaitu integer, double, dan string.

Integer menyatakan tipe bilangan bulat dengan jangkauan mulai dari -2 milyar hingga +2 milyar. Double menyatakan tipe data bilangan yang mempunyai bagian pecahan. String merupakan tipe data teks atau sederetan karakter yang tidak menyatakan bilangan. Misalnya, berupa nama barang atau nama orang.

Konstanta menyatakan nilai tetap di dalam program. Pada PHP dikenal sejumlah karakter yang menggunakan penulisan secara khusus, yaitu didahului dengan simbol backslash (\). Misalkan, \n berarti karakter pindah baris (newline), \r berarti carriage return. Selain itu pada PHP juga terdapat konstanta simbolis. Berikut adalah peulisan konstanta :

<?php

echo “halo”;

echo “\”selamat belajar\””; ?>

3.3.3 VARIABEL

Semua bahasa pemrograman menyediakan variabel yang berfungsi untuk menyimpan sutau nilai dan nilai yang ada didalamnya dapat diubah

sewaktu-STIKOM


(44)

waktu. Variabel dalam PHP diawali dengan tanda $ dan tidak memerlukan deklarasi variabel. Anda dapat memberi nilai ke suatu variabel kapanpun. Bahkan, bisa saja anda mengubah tipe nilainya. Misalnya, mula-mula anda memberikan bilangan 10 ke x. Kemudian anda mengubah menjadi string. Berikut ini contoh variabel dengan nama variabel tes dan menyimpan sebuah data stringdunia maya”:

<?php

$nama = “dunia maya”;

$x= 10;

$x=”sepuluh”;

?>

3.3.4 ARRAY

Suatu array dapat diciptakan dengan menggunakan beberapa konstruksi array sebagai berikut :

$kota = array(“surabaya”,”jakarta”); $pulau[0]= “jawa”;

$pulau[1]=”kalimantan”;

Kode di atas adalah 2 cara membuat konstruksi array. Angka yang diletakan pada tanda [ ] adalah indeks. Pada prakteknya indeks tidak harus dimulai dari nol. Untuk dapat mengambil isi dari array bisa menggunakan notasi $nama_array[index].

STIKOM


(45)

37

3.3.5 FUNCTION

Dalam PHP terdapat beberapa function yang bisa langsung kita gunakan tanpa kita harus membuat function tersebut. Pada buku ini menggunakan beberapa funtion yaitu:

1. mysql_connect

Fungsi ini digunakan untuk membuat hubungan ke database MySQL yang

terdapat pada suatu host. Berikut adalah bentuk pemanggilanya:

$sambung = mysql_connect ( “host”,”user”,”password”);

Dalam hal ini host menyatakan nama host tempat MySQL berada, user adalah pemakai yang akan dikoneksikan, password adalah password dari pemakai atau user. $sambung adalah sebuah variabel yang menyimpan nilai balik dari koneksi ke database.

2. mysql_select_db

Fungsi ini digunakan untuk memilih database. Berikut adalah cara menggunakannya :

mysql_select_db (“database”);

Database di sini adalah nama database yang akan dipilih. 3. mysql_close

Fungsi ini digunakan untuk menutup hubungan ke database MySQL. Berikut adalah cara menggunakannya :

Mysql_close ($sambung);

STIKOM


(46)

4. fopen

Fungsi ini digunakan untuk membaca atau membuka file. Function ini memiliki nilai balik. Berikut adalah cara menggunakannya :

$file = fopen("namaberkas", "mode");

File dengan nama namaberkas adalah tempat di mana file tersebut akan dibuka. Sedangkan mode adalah mode yang digunakan untuk membuka. Nilai balik akan disimpan ke dalam variabel file. Berikut tabel mode yang digunakan :

Tabel 3.1 mode berkas

Mode Keterangan

r Hanya bisa dibaca. Penunjuk diletakan di awal berkas

r+ Membaca dan menulis. Penunjuk berkas akan diletakan di awal berkas.

w Hanya menulis. Jika belum ada, maka berkas akan diciptakan dan jika sudah ada, maka isinya akan dihapus.

w+ Membaca dan menulis. Jika belum ada, maka berkas akan di ciptakan dan jika sudah ada, maka isinya akan dihapus.

a Digunakan untuk menambah data. Pada saat berkas dibuka maka penunjuk akan berada di akhir berkas. Jika berkas belum ada, maka akan diciptakan.

STIKOM


(47)

39

a+ Berkas dibuka dengan mode baca dan tulis. Penunjuk diletakan di akhir berkas dan apabila berkas belum ada, maka akan diciptakan.

5. fgets

Fungsi ini digunakan untuk membaca data yang terdapat pada berkas. Berikut adalah cara penggunaannya :

$baca=fgets($file);

$file adalah variabel tempat menyimpan nilai balik dari file tersebut saat menggunakan fopen dan data yang dibaca disimpan ke dalam variabel $baca.

6. fclose

Fungsi ini digunakan untuk menutup berkas. Berikut adalah cara penggunaannya:

fclose($file);

$file adalah variabel tempat menyimpan nilai balik dari file tersebut saat menggunakan fopen.

7. feof

Fungsi ini berguna untuk memeriksa apakah penunjuk sedang menunjuk akhir berkas atau tidak. Cara menggunakannya adalah :

feof($file); 8. explode

STIKOM


(48)

Fungsi ini digunakan untuk memecah (parsing) suatu string dan hasilnya akan disimpan ke dalam array. Contoh pengunaannya sebagai berikut :

$hasil=explode(“.”,”$kata”);

Artinya, memecah sebuah data string yang terdapat pada variabel kata

dengan pemisah tanda titik dan hasilnya disimpan ke dalam hasil. Kemudian secara otomatis hasil akan menjadi sebuah array. Tanda titik bisa diganti dengan tanda apapun sesuai kebutuhan. Jika menemukan tanda titik yang pertama maka secara otomatis string yang berada di depan akan disimpan pada indeks ke-0. Sedangkan yang berada di belakang akan disimpan pada indeks selanjutnya.

9. bindec

Fungsi ini digunakan untuk mengubah bilangan biner ke dalam bentuk bilangan bulat. Berikut adalah cara penggunaannya :

$hasil=bindec($nilai);

Artinya, mengubah bilangan biner yang disimpan di dalam variabel

$nilai dan hasil konversi akan disimpan ke dalam variabel $hasil. 10. strrev

Fungsi ini digunakan untuk membalik suatu nilai. Contohnya jika terdapat sebuah nilai string “belajar php” maka jika menggunakan strrev akan berubah menjadi “php rajaleb”. Berikut adalah contoh penggunaannya :

$hasil= strrev($nilai);

STIKOM


(49)

41

11. strtotime

Fungsi ini digunakan untuk mengubah time stamp menjadi unique time stamp. Unique time stamp adalah time stamp yang dengan bentuk sekumpulan bilangan bulat saja. Berikut adalah cara penggunaannya : $hasil=(strtotime("$timestamp"));

12. @

PHP mendukung satu operator error control: pada tanda (@). Bila ditujukan ke ekspresi dalam PHP, pesan kesalahan yang mungkin dihasilkan oleh ekspresi yang akan diabaikan.

Jika Anda telah menetapkan fungsi penanganan error kustom dengan set_error_handler () maka masih akan dipanggil, tapi kustom penanganan error ini dapat (dan harus) memanggil error_reporting () yang akan mengembalikan 0 ketika panggilan yang memicu kesalahan didahului oleh @.

Jika fitur track_errors diaktifkan, pesan error yang dihasilkan oleh ekspresi akan disimpan dalam variabel $ php_errormsg. Variabel ini akan ditimpa pada setiap kesalahan, jadi periksa terlebih dahulu jika Anda ingin menggunakannya.

13.mysql_query

Fungsi mysql_query berguna untuk mengeksekusi permintaan terhadap sebuah tabel atau sejumlah tabel. Bentuk pemanggilannya : mysql_query (permintaan, pengenal_hubungan)

STIKOM


(50)

Dalam hal ini pengenal_hubungan menyatakan pengenal yang diperoleh dari pemanggilan fungsi mysql_connect dan argumen

permintaan berupa pernyataan SQL untuk mengakses tabel. Tabel-tabel yang dapat diakses adalah tabel milik database yang disebutkan melalui mysql_select_db.

Fungsi ini menghasilkan suatu nilai yang digunakan sebagai pengenal hasil bagi sejumlah fungsi lainnya yang berawalan mysql_. Bila terjadi sesuatu kesalahan, hasilnya berupa FALSE.

14.mysql_fetch_array

Fungsi ini mempunyai kegunaan serupa dengan mysql_fetch_row. Hanya saja setiap kolom akan disimpan dua kali pada array hasil. Yang pertama memiliki indeks angka (dimulai dari nol) dan yang kedua berindeks-kan nama kolom. Bentuknya pemanggilannya :

mysql_fetch_array (pengenal_hasil)

Dalam hal ini pengenal_hasil menyatakan nilai yang diperoleh dari pemanggilan fungsi seperti mysql_db_query atau mysql_query.

3.3.6 PERNYATAAN KONTROL

Dalam PHP sama dengan bahasa program yang lain terdapat pernyataan pengambilan keputusan yaitu if dan switch. Pernyataan perulangan yaitu

while, do-while, dan for serta break, continue, dan exit. Dalam pembuatan buku ini hanya digunakan beberapa pernyataan saja, yaitu :

1. If

STIKOM


(51)

43

Dalam if terdapat 3 macam bentuk yaitu if, if-else, if-elseif. Berikut penulisannya.

if(ekspresi) {

Pernyataan }

Bentuk di atas adalah bentuk dari if dan jika ekspresi benar, maka pernyataan akan dijalankan.

if (ekspresi) {

Pernyataan_1 }

else {

Pernyataan_2 }

Bentuk di atas adalah bentuk dari if-else. Pernyataan_1 dijalankan jika ekspresi bernilai benar dan jika salah maka pernyataan_2 yang akan dijalankan.

if (ekspresi) {

Pernyataan_1 }

elseif (ekspresi)

STIKOM


(52)

{

Pernyataan_2 }

else {

Pernyataan_3 }

Pernyataan di atas sangat berguna jika melakukan banyak alternatif dalam pengambilan keputusan. Prinsipnya sama dengan if di dalam bahasa pemrograman yang lain seperti C atau Visual Basic.

2. While

Pernyataan while merupakan salah satu pernyataan yang berguna untuk perulangan yang mana kita tidak tahu harus berapa kali dia mengulang. Pernyataan ini akan memeriksa nilai ekspresi terlebih dahulu. Jika bernilai benar maka pernyataan akan dijalankan dan kemudian ekspresi dievaluasi lagi. Proses ini berulang sampai ekspresi salah. Untuk ekspresi adalah keadaan di mana harus berhenti mengulang dan pernyataan harus memiliki kondisi berhenti. Berikut cara penulisannya :

while (ekspresi) {

Pernyataan }

STIKOM


(53)

45

3. For

Pernyataan ini sama seperti halnya dengan while, namun perbedaanya adalah jika while digunakan saat kita tidak tahu berapa kali dia melakukan perulangan. Sedangkan for digunakan saat kita sudah tahu harus berapa kali melakukan perulangan. Berikut adalah cara penulisannya:

for ($i=0;$i<4;$i++) {

echo “ulang”;

}

Penulisan di atas maksudnya adalah akan mencetak kata-kata

“ulang” sebanyak 4 kali. 4. Exit

Pernyataan ini berguna untuk mengakhiri pengeksekusian. Dengan dijalankannya perintah ini maka segala kode baik PHP atau HTML tidak dikirim ke dalam browser.

1.3.7 Membuat Grafik

Banyak cara untuk membuat grafik dengan cara menambah library yang telah disediakan. Salah satu library yang digunakan pada tulisan kali ini adalah JPGraph. JPGraph adalah sebuah library grafik yang berorientasi obyek. Kelebihan yang dimiliki adalah simple atau mudah digunakan sehingga tidak perlu waktu lama untuk mempelajarinya. Untuk langkah langkah penggunaannya sebagai berikut :

STIKOM


(54)

 Download library JPGraph di http://jpgraph.net/download/  Kemudian ekstrak file tersebut dalam sebuah folder

 Kemudian include file jpgraph.php pada file PHP anda

 Untuk membuat grafik berupa garis include juga file jpgraph_line.php dan untuk membuat grafik berupa bar gunakan jpgraph_bar.php

 Setelah itu barulah gunakan beberapa function yang ada dalam jpgraph

3.4 UTILISASI BANDWITH

Utilisasi merupakan parameter yang menunjukkan seberapa besar prosentase suatu sumber daya yang digunakan. Dalam hal ini sumber daya yang dimaksud adalah bandwidth suatu link yang menghubungkan antara kedua sisi yaitu sisi pelanggan dan provider. Utilisasi bandwidth suatu link

menunjukan rasio antara ukuran bandwidth total terpakai oleh pelanggan dengan bandwidth yang tersedia, sehingga bila dirumuskan akan terlihat seperti dibawah ini :

utility = x 100%

dimana :

rate_bit = merupakan laju bit (bandwidth) total yang terpakai oleh pelanggan pada satu waktu (bps)

bandwidth = merupakan jumlah besaran bandwidth yang tersedia (bps)

STIKOM


(55)

BAB IV PEMBAHASAN

4.1 INSTALASI XAMPP

Sebelum membuat program untuk analisa maka perlu menginstal XAMPP. Karena yang digunakan untuk pembuatan program ini adalah Operating Sistem Microsoft Windows maka perlu menginstal XAMPP yang berfungsi sebagai web server pada localhost. Untuk perangkat lunak XAMPP dapat diunduh pada situs http://nat32.com/xampp. Setelah berhasil diunduh maka selanjutnya melakukan proses instalasi :

1. Buka file installer XAMPP, maka akan muncul kotak dialog window seperti dibawah ini :

Gambar 4.1 Halaman pertama instalasi XAMPP

STIKOM


(56)

2. Kemudian klik Next dan pilih lokasi penyimpanan.

Gambar 4.2 Halaman lokasi folder instalasi

3. Selanjutnya pada SERVICE SECTION pilih menu sesuai kebutuhan dengan memberi tanda centang.

Gambar 4.3 Halaman “XAMPP Options”

STIKOM


(57)

49

4. Tunggu sampai proses ekstraksi selesai.

Gambar 4.4 Halaman proses ekstraksi

5. Setelah proses instalasi selesai klik Finish.

Gambar 4.5 Halaman akhir instalasi

STIKOM


(58)

6. Untuk menggunakan perangkat lunak XAMPP berikan tanda centang pada menu pilihan Apache, MySql, dan FileZilla dan klik Start pada masing-masing menu. Saat menu Apache dinyalakan, maka port 80 akan terbuka sehingga dapat diakses melalui localhost.

Gambar 4.6 Halaman awal XAMPP

7. XAMPP dapat diakses melalui browser localhost.

Gambar 4.7 Halaman awal localhost

STIKOM


(59)

51

8. Akses utama XAMPP yang dijalankan melalui localhost pada window.

Gambar 4.8 Halaman utama XAMPP

9. Dengan menginstal XAMPP maka database pada MySQL juga dapat diakses melalui http://localhost/phpmyadmin/

Gambar 4.9 Halaman utama “PHP MyAdmin”

4.2 PERANCANGAN DATABASE 4.2.1 ERD

Dalam pembuatan struktur database yang digunakan maka perlu membuat Entity Relationship Diagram (ERD) terlebih dahulu. Kemudian membuat pemetaan dan selanjutnya membuat database. ERD bisa juga

STIKOM


(60)

dikatakan sebagai rancangan database yang nantinya akan dibuat. Berikut ini adalah gambar ERD :

Gambar 4.10 ERD

Pada ERD ini menjelaskan bahwa database ini memiliki 2 tabel yaitu data dan hasil. Untuk hubungan relasi dari tabel adalah one to one yang artinya setiap data memiliki 1 hasil dan 1 hasil hanya memiliki 1 data. Pada tabel data terapat kolom status_code, time_stamp, size_data,

egine, id, ip dan id sebagai primary key. Pada tabel hasil hanya terdapat netname dan id sebagai foreign key.

4.2.2 Pemetaan

Setelah membuat ERD maka selanjutnya membuat pemetaan. Hal ini bertujuan agar database yang akan dibuat tidak menyimpang dari apa yang telah dirancang. Pemetaan ini adalah detail dari ERD yang telah dibuat, berikut adalah hasil pemetaan :

STIKOM


(61)

53

Gambar 4.11 Pemetaan

Pada pemetaan ini ditentukan juga tipe data dan kapasitas data. Pada id, ip, time_stamp, status_code, size_data memiliki tipe data real dan pada id memiliki sifat auto increment dan sebagai primary key. Sedangakan pada ip memiliki sifat Not NULL (tidak boleh kosong). Pada bagian egine bertipe text karena yang disimpan berupa string dalam jumlah banyak agar lebih mudah dan dapat menyimpan data lebih banyak. Pada tabel hasil terdapat id yang harus memiliki tipe yang sama dengan id

yang berada didalam tabel data. Karena id disini sebagai foreign key, maka harus sama dengan primary key yang dituju. Untuk netname pada hasil memiliki tipe data text.

4.2.3 MEMBUAT DATABASE

Setelah membuat ERD dan memetakan ERD langkah selanjutnya adalah membuat database dengan acuan ERD dan pemetaan yang telah dibuat sebelumnya. Untuk membuat database ini dengan melalui PHP MyAdmin yang terdapat pada XAMPP. Berikut adalah langkah pembuatan database :

STIKOM


(62)

1. Buka XAMPP kemudian klik tombol Admin pada MySql

Gambar 4.12 Tampilan control panel XAMPP

2. Kemudian browser secara otomatis akan membuka halaman PHP MyAdmin. Selanjutnya klik SQL lalu ketikkan perintah

SQL untuk membuat database.

Gambar 4.13 Tampilan CLI PHP MyAdmin

STIKOM


(63)

55

3. Setalah itu ketikkan kode berikut lalu klik Go.

create database log_apache;

create table data (

id real auto_increment primary key, ip real not null,

time_stamp real , status_code real , size_data real , egine text not null) );

create table hasil (

id real auto_increment, netname text,

FOREIGN KEY (id) REFERENCES data(id) );

Untuk kode create database log_apache; ini digunakan untuk membuat database baru dengan nama log_apache.

Untuk kode dibawah ini digunakan untuk membuat tabel baru dengan nama data dan terdapat 6 kolom dengan nama id

dimana id sebagai primary key dengan tipe data real yang bersifat auto increment, ip bertipe real yang bersifat Not NULL (tidak boleh kosong) dan memiliki kapasitas 15 digit,

STIKOM


(64)

time_stamp bertipe real dengan kapasitas 15 digit, status_code

bertipe real dengan kapasitas 3 digit, size_data bertipe real berkapasitas 20 digit serta egine bertipe text bersifat Not NULL.

create table data (

id real auto_increment primary key, ip real not null,

time_stamp real , status_code real, size_data real , egine text not null );

Untuk kode dibawah ini digunakan untuk membuat tabel hasil yang memiliki 2 kolom dengan kolom id bertipe real bersifat auto increment dan sebagai foreign key yang menuju ke id pada tabel data, netname bertipe text.

create table hasil (

id real auto_increment, netname text,

FOREIGN KEY (id) REFERENCES data(id) );

STIKOM


(65)

57

4.3 PEMBUATAN PROGRAM DENGAN PHP

Setelah membuat database maka langkah selanjutnya yang saya lakukan adalah mulai membuat program menggunakan PHP. Program ini terdiri dari 6 file yang saya beri nama index.php, program.php, utili.php, konvert.php, Whois.php dan utilisasi.php dimana file index.php adalah file utama yang akan di panggil dan file ini akan menjalankan file program.php dan utilisasi.php dimana file utilisasi.php adalah sebuah file yang akan menampilkan hasil utilisasi bandwith dengan grafik. Pada file program.php berfungsi sebagai membaca log apache kemudian melakukan parsing dan menyimpan kedalam database serta memanggil file utili.php dimana file tersebut berfungsi untuk melakukan perhitungan utilisasi dan memanggil file konvert.php yang mana berfungsi mengubah ip kedalam bentuk desimal dan Whois.php berfungsi untuk melacak netname. Selanjutnya saya akan menjelaskan bagaimana membuat file file tersebut serta menjelaskan algoritma jalanya program yang saya buat dan selanjutnya akan melakukan analisis menggunakan program yang saya buat.

1.3.1 Membuat File index.php

Pada file ini berisi sebuah struktur HTML yang didalamnya terdapat stuktur PHP dimana Struktur HTML ini akan digunakan untuk memanggil utilisasi.php yang dimasukan kedalam sebuah frame sehingga hasilnya sebagai berikut :

<html> <head>

STIKOM


(66)

<title>Monitoring Sistem</title> </head>

<body> <?php

echo "<br>"."<br>"."<br>"."<br>"."<br>"."<br>"."<br>"; echo "<br>"."<br>"."<br>"."<br>"."<br>"."<br>"."<br>"; include_once ("program.php");

?>

<iframe name="utilisasi bandwith" src= "utilisasi.php" style="position:absolute; left:5px; top:0px; width:900px; height:266px;"></iframe>

</body> </html>

1.3.2 Membuat File program.php

Pada file program.php ini bisa dibilang file utama yang berfungsi membaca log apache, melakukan parsing, menulis kedalam database serta memanggil konvert.php untuk mengubah ip kedalam desimal dan memanggil utili.php untuk menghitung utilisasi bandwith. Pertama perlu melakukan deklarasi variabel global sehingga variabel dapat di akses di semua file dengan nama yang sama,variabel global yang dideklarasikan adalah $ts yang berfungsi menyimpan hasil parsing dari timestamp, $sd yang berfungsi menyimpan hasil parsing dari size byte, $set yang

STIKOM


(67)

59

berfungsi menyimpan hasil parsing dari ip, $hasil yang berfungsi menyimpan hasil dari konversi ip ke desimal, $sql yang berfungsi menyimpan data ke database, $tes berupa array yang menyimpan ip tiap oktat, $con yang menyimpan status dari koneksi kedatabase, serta $c, $wkt, $jb adalah variabel yang di gunakan oleh utili.php untuk melakukan perhitungan utilisasi yang mana $c digunakan untuk melakukan perhitungan berapa banyak hasil utilisasi yang dihitung dan disimpan kedalam file, pada variabel $wkt berfungsi untuk melakukan perbandingan untuk menhitung jumlah byte size yang mana hasil perhitungan dari jumlah byte size disimpan kedalam $jb. Setelah melakukan inisialisasi variabel akan membaca log apache lalu melakukan parsing dan mengambil bagian bagian informasi yang dibutuhkan kemudian melakukan koneksi kedalam database dan menyimpan hasil parsing tersebut kedalam database sehingga hasilnya sebagai berikut :

<?php ///inisialisasi global $ts; global $sd; global $set; global $hasil; global $sql; global $tes; global $con; global $c;

STIKOM


(68)

$c=0;

$wkt=$jb=null; ///////////////

//////buka log file apache///

$nulis= fopen("utilisasi.txt", 'w') or die("File gagal dibuka"); $file = fopen("access3.txt", "r") or exit("Unable to open file!"); echo "<table border=1>";

echo "<tr><td><b>IP

Address</b></td><td><b>timestamp</b></td><td><b>status code</b></td><td><b>size

data</b></td><td><b>egine</b></td><td><b>netname</b></td></t r>";

while(!feof($file)) {

/////koneksi database///

$con=mysql_connect("localhost","root",""); mysql_select_db("log_apache");

///parsing ip///

$tampung=fgets($file);

$pisah= explode(" ",$tampung); $set=$pisah[0];

$tes=explode(".",$set); include ("konvert.php");

STIKOM


(69)

61

////parsing timestamp////// $pisah="";

$pisah= explode("[",$tampung); $ts[0]= $pisah[1]."<br>"; $tam= explode("]",$ts[0]); $ts[1]= $tam[0];

$jadi=(strtotime("$ts[1]")); //////////parsing status code/// $pisah="";

$pisah= explode('"',$tampung); $tam= $pisah[2];

$pisah=explode(" ",$tam); $sc=$pisah[1];

$sd=$pisah[2]; ////parsing egine////// $pisah="";

$pisah= explode('"',$tampung); $egine= $pisah[5]."<br>"; include("whois.php"); include("utili.php");

/// send database

$sql = mysql_query("INSERT INTO data VALUES

('$id','$hasil','$jadi','$sc','$sd','$egine')");

STIKOM


(70)

$sql = mysql_query("INSERT INTO hasil VALUES('$id','$netname')");

echo

"<tr><td>$set</td><td>$ts[1]</td><td>$sc</td><td>$sd</td><td>$ egine</td><td>$netname</td></tr>";

mysql_close($con); }

echo "</table>"; $Dts="-"."$c"; fwrite($nulis, $Dts); fclose($file);

fclose($nulis); ?>

1.3.3 Membuat File konvert.php

Pada file konvert.php ini berfungsi mengubah ip kedalam desimal. Untuk membuat file tersebut tentunya membuat struktur PHP terlebih dahulu kemudian ip yang telah didapat dari proses parsing di ubah kedalam bentuk biner setelah itu dirubah kedalam bentuk desimal. Hal yang pertama dilakukan adalah mengececk jumlah angka pada oktat pertama jika kurang dari 5 maka ip tersebut adalah ip versi 4 dan akan di ubah kedalam bentuk biner untuk masing masing oktat dan setelah masing masing oktat menjadi biner maka oktat pertama hingga ke empat digabung dan diubah kedalam desimal sehingga hasilnya sebagai berikut hasilnya :

STIKOM


(71)

63

<?php

///konversi ip ke desimal/// $hitung=strlen($tes[0]); if ( $hitung < 5 )

{

$res="";

for($i=0;$i<4;$i++) {

$desi=$tes[$i] ; $bin="";

$x=0;

while ($desi>0) {

if($desi%2 ==0)

{

$bin.=0 ; $desi /=2; }

else{

$bin .=1;

$desi = ($desi/2)-0.5; }

$x=$x+1; }

STIKOM


(72)

if ($x < 8 ) {

while ($x<8)

{$bin.=0;$x=$x+1; } }

$bin= strrev($bin); $res .=$bin; }

$hasil=bindec ($res); $res="";

} ?>

1.3.4 Membuat File utili.php

Pada file ini akan melakukan proses perhitungan utilisasi dan menyimpan perhitungan tersebut kedalam sebuah file txt untuk selanjutnya file tersebut akan dibaca oleh file utilisasi.php untuk di plot dalam grafik. Yang dilakukan pertama adalah membaca menit yang di ambil dari timestamp yang telah diparsing dari log apache kemudian melakukan pengececkan apakah dia menit pertama atau tidak dan setelah itu byte size yang didapat dari proses parsing tersebut dijumlah lalu dibagi 60 detik dan hasilnya dibagi bandwith yang tersedia yaitu 1GB sehingga hasilnya sebagai berikut :

<?php

STIKOM


(73)

65

$jam=explode(":",$ts[1]);

if ($wkt==NULL ) {$wkt=$jam[2] + 1;} if ($wkt==60) {$wkt=0;}

if ($jam[2] != $wkt) { $jb=$jb+$sd; } else

{

$wkt=$jam[2] + 1; $kec=$jb/60;

$util=($kec/1073741824); $bulat=round($util,6); $utili=$bulat * 100; $time=explode(" ",$ts[1]); $Dts = "$time[0]"."|"."$utili"." "; $c=$c+1;

fwrite($nulis, $Dts); $jb=NULL;

$jb=$sd; }

?>

1.3.5 Membuat File Whois.php

Pada pembuatan Whois.php yang dilakukan pertama yaitu membuka koneksi kedatabase dan melihat apakah ip tersebut sudah perna di whois, kemudian melakukan koneksi ke server yang menyediakan

STIKOM


(74)

layanan whois ip dan hasil dari whois ip tersebut di parsing dan di ambil netname saja yang disimpan kedalam variabel global $netname sehingga hasilnya sebagai berikut :

<?php

///whois ip/// $id=$ceck="";

$sql=mysql_query("select * from data where ip=$hasil",$con); $domain=$set;

$whois = '';

while($row=mysql_fetch_array($sql)) {$ceck=$row['id'];}

if ($ceck!=null ) {

$sql=mysql_query("select * from hasil where id=$ceck",$con); while($row=mysql_fetch_array($sql))

{$netname=$row['netname'];} }

else {

$connection = @fsockopen('whois.apnic.net', 43); if ($connection)

{

@fputs($connection, $domain ."\r\n");

STIKOM


(75)

67

while (!feof($connection)) {$whois .= @fgets($connection, 128)."<br>";}

$tes=explode("netname:",$whois); $net=explode("<br>",$tes[1]); $netname = $net[0];

}

fclose($connection); }

global $netname; ?>

1.3.6 Membuat File utilisasi.php

Pada file ini akan melakukan plot dari hasil utilisasi yg telah dihitung pada file utili.php dan disimpan kedalam file. Pada mulanya akan membaca file yg berisi hasil perhitungan utilisasi kemudian menggunakan format pembuatan grafik sederhana dari JPGraph sehingga hasilnya sebagai berikut :

<?php

include ("jpgraph/src/jpgraph.php"); include ("jpgraph/src/jpgraph_line.php"); include ("jpgraph/src/jpgraph_bar.php");

$buka= fopen("utilisasi.txt", 'r') or die("File gagal dibuka"); $baca=fgets($buka);

$potong=explode(" ",$baca);

STIKOM


(76)

$stop=explode("-",$baca); for($i=0;$i != $stop[1] ;$i++) {

$u=explode("|",$potong[$i]); $durasi[$i]=$u[0];

$util[$i]=$u[1]; }

fclose($buka);

$width = 800; $height = 250;

$graph = new Graph($width,$height); $graph->SetScale('intint');

$graph->title->Set('Utilisasi'); $graph->xaxis->title->Set("waktu"); $graph->yaxis->title->Set("utilisasi"); $lineplot=new LinePlot($util);

$lineplot->value->show();

$graph->xaxis->SetTickLabels($durasi); $graph->Add($lineplot);

$graph->Stroke(); ?>

1.3.7 Algoritma Program

Pada subbab kali ini saya akan menjelaskan jalanya program dan masing masing fungsinya. Pertama saat program dijalankan yaitu

STIKOM


(77)

69

melakukan akses ke file index.php kemudian akan mengeksekusi perintah pertama yaitu include_once ("program.php"); maka akan menjalankan file program.php hingga program selesai dijalankan. Pada program.php pertama melakukan inisialisasi variabel global agar bisa digunakan pada file php lain yang di includekan kedalam file tersebut yaitu konvert.php dan utili.php. setelah inisialisasi variabel maka file log apache yang kondisinya disimpan kedalam variabel $file dan membuka file yang digunakan menyimpan hasil perhitungan utilisasi yang kondisi statusnya disimpan kedalam $nulis setelah itu dengan perulangan while akan membaca log apache tiap baris sampai selesai.

Didalam perulangan hal yang dilakukan adalah membuka koneksi database kemudian membaca data perbaris yang disimpan kedalam variabel tampung dan melakukan parsing ip dengan perintah explode

dengan pemisah spasi dan disimpan kedalam array $pisah dan untuk ip terdapat di index ke nol, kemudian membaca ip per oktat yang hasilnya tersimpan pada array $tes. Setalah itu dengan perintah include akan memanggil file konvert.php dan melakukan konversi ip kedalam desimal.

Pada proses konversi kedalam desimal, yang di lakukan pertama adalah mengececk ip oktat pertama apakah kurang dari 5 digit angka menggunakan function strlen kemudian hasilnya disimpan ke variabel $hitung, jika hitung kurang dari kurang dari 5 maka akan melakukan konversi dan jika tidak makatidak akan melakukan konversi karena ip tersebut adalah ip versi 6. Pada proses konversi masing masing oktat di ubah kedalam biner terlebih dahulu kemudian setelah di ubah menjadi

STIKOM


(1)

Hasil yang telah ditampilkan pada gambar 4.14 menunjukan proses dari pelacakan netname dan pembacaan log apache, hasil yang ditampilkan adalah berupa data ip yang telah melakukan akses pada server buaya yang ada di RADNET serta waktu berupa jam dan tanggal aksesnya dan juga berapa bandwith yang digunakan dan engine apa yang digunakan untuk mengakses server buaya. Pada Tabel 4.1 di tampilkan hasil netname dari beberapa ip yang melakukan akses ke server buaya yang ada di RADNET.

Tabel 4.1 Hasil Netname

BB-Multiplay CHINANET-ZJ-HZ NCICNET-NET

IANA-NETBLOCK-186 KORNET CONNECTPLUS-SG

KDDI NEWTT-AS-AP RIPE-CIDR-BLOCK

VTC-VNNIC-VN TATACOMM-IN

LACNIC-CIDR-BLOCK

OCN-JPNIC-JP COMGATE-SG SAKURA-OSAKA

CIC-HK SGK-ID ARSEN-ID

BM-ID VTC-VNNIC-VN ARSEN-ID

CIC-HK LACNIC-CIDR-BLOCK ARSEN-ID

GTC-MY-PIP-NET SGK-ID EXCELL-NET

TANET IANA-NETBLOCK-54 CTM-MO

UNICOM-LN LACNIC-CIDR-BLOCK BB-Multiplay

ADSL-STREAMYX SGK-ID SAKURA-OSAKA

STIKOM


(2)

75

INFOKOM SGK-ID HKBN

ADSL-STREAMYX CITYU-HK-NET BB-WTT

ERX-NETBLOCK BB-Multiplay KOUWEN

CIC-HK STARHUBINTERNET-SG broadNnet

TELKOMSELNET-ID RIPE-CIDR-BLOCK IANA-NETBLOCK-92

HINET-NET BB-Multiplay UTMNET

FPT-STATICIP-NET LACNIC-CIDR-BLOCK OCENET-BB

NEWTT-AS-AP CALLPLUS-NZ OCENET-BB

SINGNET-SG WEBVISIONS-SERVER OCENET-BB

NEWTT-AS-AP WEBVISIONS-SERVER ARSEN-ID

CC- BEIJINGPURUOFEITE-CORP5

NETVIGATOR

IANA-NETBLOCK-186

NET4 TOT-IDC KDDI

IANA-NETBLOCK-94 IANA-NETBLOCK-54 VTC-VNNIC-VN

RPNET-IN CALLPLUS-NZ

STARHUBINTERNET -SG

CONNECTPLUS-SG UNICOM-LN UTMNET

GITN-V6-MY LACNIC-CIDR-BLOCK TANET-B

QALA-SG RIPE-CIDR-BLOCK

TLKM_D2_BB_SPEE DY_JKT

STIKOM


(3)

QALA-SG HGC TANET-BNETA

COMGATE-SG EXCELL-NET

TLKM_D2_BB_SPEE DY_JKT

BB-Multiplay UNIGATENET

TLKM_D2_BB_SPEE DY_JKT

KIDC MIMOS-REN-MY

STARHUBINTERNET -SG

KRNIC-KR LACNIC-CIDR-BLOCK CHINANET-ZJ-HZ

KIDC MAXISNET-HSDPA KORNET

UTMNET LACNIC-CIDR-BLOCK IANA-NETBLOCK-2

ERX-NETBLOCK NUSANET LEARN

IANA-NETBLOCK-2 NUSANET NEWLIFE-VNNIC-VN

INFOKOM OCN BB-Multiplay

Nilai netname pada Tabel 4.1 didapatkan dengan menggunakan skrip pada file whois.php yang dijelaskan pada sub bab 4.3.5. Dari hasil data yang ditampilkan dapat dinyatakan bahwa dalam 1 jam, sebuah ip telah mengakses lebih dari sekali dan pengakses server buaya berdasarkan hasil netname berasal dari seluruh dunia. Setelah netname berhasil didapat maka selanjutnya akan menampilkan utilisasi bandwith dalam bentuk grafik yang ditunjukan pada gambar 4.14 berikut :

STIKOM


(4)

77

Gambar 4.15 Hasil Utilisasi Bandwith

Utilisasi bandwith dalam gambar 4.15 didapatkan dengan menggunakan script pada file utili.php untuk menghitung nilai utilisasi bandwith dan menggunakan script utilisasi.php untuk menampilkan nilai dalam bentuk grafik seperti pada gambar 4.14. Dari hasil yang terlihat pada grafik tersebut bahwa bisa disimpulkan dengan bandwith yang tersedia 1GB, maksimum hanya 6.6% yang terpakai selama waktu 1 menit pada pukul 07.00 wib hingga pukul 07.01 wib, namum bila diitung rata rata utilisasi bandwith permenit selama waktu 1 jam, maka didapat hasil nilai 2%. Berdasarkan hasil analisis tersebut bisa disimpulkan utulisasi bandwith meningkat pada server buaya yang berada di RADNET bisa memiliki utilisasi bandwith tinggi pada pagi hari sebelum jam aktif bekerja, selain itu berdasarkan hasil implementasi utilisasi bandwith bahwa dengan bandwith yang tersedia pada server buaya saat ini tidak perlu di update hingga 10 tahun kedepan.

STIKOM


(5)

5.1KESIMPULAN

1. Berdasarkan hasil implementasi dari aplikasi yang dibangun dapat melakukan pembacaan netname melalui log apache, didapatkan sebanyak 40926 netname melakukan akses server buaya yang ada di RADNET selama waktu 1 jam pada pukul 06.29 wib hingga pukul 07.29 wib.

2. Berdasarkan hasil pengujian didapatkan bahwa utilisasi bandwith untuk server buaya yang ada di RADNET adalah maksimal 6.6% yaitu selama waktu 1 menit pada pukul 07.00 wib sampai pukul 07.01 wib, namun rata rata utilisasi permenit selama waktu 1 jam ( pukul 06.29 wib hingga pukul 07.29 wib ) didapatkan utilisasi rata rata sebesar 2%.

5.2SARAN

1. Untuk dapat mempermudah dalam melakukan analisis ini, sebaiknya dari pihak perusahaan memonitoring utilisasi bandwith pada komputer atau menggunakan MRTG yaitu aplikasi yang digunakan untuk memantau beban trafik pada link jaringan dan hasilnya berupa gambar grafik pada file HTML menggunakan

STIKOM


(6)

DAFTAR PUSTAKA

Anhar, 2010. Panduan Menguasai PHP & MYSQL secara otodidak. Penerbit mediakita. Jakarta

http://w3schools.com/php/ (diakses 10 juli 2013)

http://stackoverflow.com/questions/15588307/whois-script-doesnt-get-some-domains (diakses tanggal 16 juli 2013)

http://jpgraph.net/ (diakses 10 oktober 2013)

STIKOM