A design of web accessing controller system on local area network measured by byte - USD Repository

  

PERANCANGAN

SISTEM PENGENDALI AKSES WEB PADA JARINGAN

LOKAL DIUKUR BERDASARKAN BYTE

Skripsi

  

Disusun oleh :

Yohanes Wahyu Iswantoro

NIM : 995314017

  

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

  

A DESIGN OF

WEB ACCESSING CONTROLLER SYSTEM ON LOCAL

AREA NETWORK MEASURED BY BYTE

S k r i p s i

  Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

  Program Studi S I

  

Disusun oleh :

Yohanes Wahyu Iswantoro

NIM : 995314017

  

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

  

ABSTRAKSI

  Banyak hal atau pengetahuan yang didapatkan dengan melakukan

  

browsing ke internet. Dalam suatu instansi sudah menjadi suatu hal yang biasa

  dan menjadi suatu keharusan untuk terhubung ke internet yang dengan sendirinya para karyawan di intansi tersebut dapat melakukan browsing. Namun hal yang kurang mendukung pekerjaan kadang lebih menyenangkan untuk diakses dan dapat dilakukan secara berulang-ulang yang menyebabkan kerugaian bagi instansi yang berhubungan, sehingga perlu adanya suatu pembatasan. Dalam skripsi ini pembatasan yang dilakukan adalah pembatasan biaya.

  Pada tugas akhir ini dirancang suatu program untuk mencatat traffic jaringan yaitu besar data yang masuk ke dalam jaringan yang dikususkan pada akses web (web browsing). Program yang dirancang diharapakan berguna untuk mengamati ukuran paket response http dari web server yang berada di jaringan global(internet). Proses pengambilan ukuran paket data menggunakan fasilitas iptables (packet filtering) pada sistem operasi Linux Redhat 8.0.

  Program ini dapat diterapakn pada suatu sistem jaringan komputer yang mempunyai router yang berfungsi sebagai jembatan (gateway) penghubung antar jaringan local dan jaringan global. Program ini mencatat informasi ukuran paket data response http yang melalui router. Besar paket yang masuk akan digunakan sebagai dasar pengurang dana yang telah ditentukan/disediakan terlebih dahulu bagi suatu bagian dari instansi tersebut. Dengan demikian biaya akses internet tidak akan membengkak karena sudah bisa dipastikan terlebih dahulu. Program yang dirancang dalam melakukan penghitungan biaya akses internet adalah didasarkan besar paket yang telah diterima/didapat bukan lama akses internet.

  

Abstract

  There is a lot of knowledge which can be found by browsing on the internet. It is a common need for a company to connect to the internet. As a result, most of employees in the company use this connection for browsing. Unfortunately, sometimes we find that this internet facility is use wrongly by the employees. The employees tend to browse such an interesting site which is not supporting their job. As a matter of fact, it can be very harmful financially for the company. Therefore, access limitation is needed. The limitation discussed in this thesis is the costs limitation.

  Network traffic scanner program is designed in this thesis. It means that the designed program will be able to detect the size of incoming data entering the network, which is specialized for web browsing. Hopefully, the designed program is able to monitor the size of response http package from the global network (internet) web server. IPtables or package filtering on the Linux Redhat 8.0 operating system is the facility which is used for obtaining the size of data package. This program is designed to be implemented on the computer network system with a router as a gateway between the local network and global network. This program will note the size of response http data package entering the router. The size of the incoming package will be used as the reducing factor of the account provided for each department in the company. As a result, the costs of internet access will not grow over the budget. The designed program for counting the internet access costs is based on the size of incoming package, not based on the period of time being used in accessing the internet.

  Halaman Persembahan Skripsi ini kupersembahkan untuk :

  Tuhan Yesus dan Bunda Maria Bapak dan Ibuku

  Kakak-kakakku Adeku Tetra,

  Saudara-saudaraku, Semua sahabat dan teman-temanku

KATA MUTIARA

  Jangan menganggap sesuatu mudah ataupun sulit bila belum mencobanya.

  Boleh mengikuti suatu arus asal jangan sampai tenggelam dan tahu saat untuk keluar Sekali-sekali biarkanlah Anda terlambat,

  Hidup adalah untuk hidup, bukan untuk jadwal

KATA PENGANTAR

  Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas segala limpahan rahmat, bimbingan dan cinta kasih-Nya, sehingga laporan skripsi ini dapat terselesaikan .

  Skripsi ini berjudul Perancangan sistem pengendali akses web pada jaringan lokal diukur berdasarkan byte, dalam laporan ini akan dijelaskan mengenai perancangan suatu program untuk mengamati traffic yang terjadi pada suatu router. Diharapkan semoga program ini dapat berguna untuk membantu dalam mengontrol tagihan biaya akses internet. Pada kesempatan ini penulis mengucapkan terima kasih kepada:

  1. Romo Ir. Greg. Heliarko S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan Fakultas Teknik, Universitas Sanata Dharma.

  2. Ibu Agnes Maria Polina,S.Kom.,M.Sc, selaku Kepala Jurusan Teknik Informatika Universitas Sanata Dharma.

  3. Bapak Drs. Haris Sriwindono, M.Kom, selaku Dosen Pembimbing I.

  4. Bapak Puspaningtyas Sanjoyo Adi,S.T, selaku Dosen Pembimbing II.

  5. Ibu St. Yudianto Asmoro, S.T. sebagai Dosen Pembimbing.

  6. Staff Sekretariat Laboratorium Teknik Informatika

  7. Staff Sekretariat Fakultas Teknik

  8. Ayah dan ibuku tercinta yang telah memberikan perhatian dan kasih sayangnya.

  9. Kakak-kakak dan adeku tercinta yang selalu mengingatkan, memberikan dorongan semangat dan doa dalam menyelesaikan laporan skripsi ini.

  10. Teman-teman yang telah memberikan dorongan untuk segera

  11. Rekan-rekan seperjuangan mahasiswa-mahasiswi Teknik Informatika Angkatan 1999, yang telah memberikan banyak dukungan.

  12. Segenap Civitas Akademika Teknik Informatika yang tidak dapat disebutkan satu persatu.

  Penulis menyadari bahwa dalam menyusun laporan skripsi ini masih banyak kekurangan. Oleh karena itu penulis mengharapkan saran dan kritik yang bersifat membangun demi sempurnanya laporan ini. Semoga laporan ini dapat bermanfaat bagi semua pembaca.

  Yogyakarta, Januari 2007 Penulis

  Yohanes Wahyu Iswantoro

  

DAFTAR ISI

  Halaman Judul…………………………………………………………………….i Halaman Persetujuan.…………………………………………………………….ii Halaman Pengesahan …………………………………………………………….iii Abstraksi ………………………..………………………………………………..iv Abstract …………………………………………………………………………...v Halaman Persembahan……………………………………………………………vi Kata Mutiara……………………………………………………………………..vii Kata Pengantar…………………………………………………………………..viii Daftar Isi……………………………………………………………………….….x Daftar Gambar………………………………………………………………...…xii Daftar Tabel……………………………………………………………………..xiii

  

1

  1

  1

  2

  2

  3

  3

  3

  3

  

5

  5

  6

   ...........................................................................................7

  8

  10

  ....................................................................10

  ......................................................................................15

  ..............................................................................16

  tah Gawk .............................................16

   .........................................................................................17

   .........................................................................................20

  .............................................................................21

  .........................................23

  

24

  24

  24

  25

  26

  28

  28

  29

  29

  32

  33

  34

  35

  36

  37

  38

  40

  40

  42

  

43

  43

  

DAFTAR GAMBAR

Gambar 2.1 Perbandingan Lapisan Osi dna TCP/IP............................................... 5Gambar 2.2 IP Packet Header ................................................................................. 8Gambar 2.3 TCP Packet Header ............................................................................. 9Gambar 2.4 Urutan Kerja Tabel pada Iptables...................................................... 12Gambar 3.1 Skema Analisis Jaringan ................................................................... 25Gambar 3.2 Level Over View Diagram Use Case ................................................ 30Gambar 3.3 Level User Diagram Use Case .......................................................... 31Gambar 3.4 Diagram Use Case Lengkap.............................................................. 32Gambar 3.5 Diagram Suquence ............................................................................ 33Gambar 3.6 Skema Jaringan ................................................................................. 35Gambar 3.7 Diagram Srquence Tahap Desain...................................................... 36Gambar 3.8 Diagram Alir Script........................................................................... 41

  

DAFTAR TABEL

Tabel 2.1 Karakteristik Tabel pada Iptables ......................................................... 10Tabel 2.2 Pilihan dari Grep ................................................................................... 19Tabel 2.3 Tiga Keluarga Perintah Grep ................................................................ 20Tabel 2.4 Pilihan Waktu pada Crontab ................................................................. 22

BAB I PENDAHULUAN

  1.1 Latar Belakang Masalah

  Dalam browsing tidak semuanya mendatangkan keuntungan karena banyaknya informasi yang tersedia, ada informasi yang hanya memberikan hiburan atau dengan kata lain tidak mendukung untuk pekerjaan dan sudah jelas bahwa hal itu sebaiknya tidak dilakukan pada saat kerja, namun karena dapat memberikan kesenangan hal itu tetap dilakukan bahkan berulang kali. Bila hal ini terjadi dalam suatu instansi maka akan menyebabkan menurunnya efisiensi kerja para karyawan. Dari sisi financial akan terjadi pembengkakan biaya khususunya dari sisi biaya untuk akses internet. Pengontrolan browsing dengan pembatasan dana yang tersedia diharapkan dapat lebih mengefisiensikan kinerja para karyawan karena karyawan tidak akan dapat menggunakan/ mengakses internet bila dana yang dialokasikan untuk bagiannya telah habis, sehingga karyawan dituntut lebih bijaksana dalam melakukan browsing. Dari sisi perencanaan anggaran, anggaran yang telah dibuat tidak akan mengalami pembengkakan yang tidak terduga dikarenakan adanya pengaksesan internet yang tidak perlu.

  1.2 Rumusan Masalah

  1.3 Batasan Masalah

  Dalam sitem pengontrolan yang akan dibuat, penulis membatasi masalah pada bebrapa hal, yaitu :

  1. Pengontrolan hanya dilakukan pada akses global web server melalui HTTP (browsing website).

  2. Pengontrolan yang dilakukan adalah dengan membatasi pengaksesan web berdasarkan “dana” yang tersedia.

  3. Jaringan komputer (LAN) yang ada terbagi dalam beberapa netID yang bisa dianggap mempresentasikan suatu bagian-bagian dari suatu instansi.

  4. LAN dalam melakukan koneksi ke jaringan global hanya melalui router tersebut.

  5. Sistem pengontrol ini dapat lebih berguna bila diterapkan pada jaringan yang menggunakan layanan internet yang pembayarannnya berdasarkan pulsa bukan berdasarkan langgganan.

  1.4 Tujuan dan Manfaat Penulisan

  a. Memberikan pengontrolan dengan membatasi akses untuk internet khususnya aplikasi HTTP berdasarkan “dana” yang tersedia untuk tiap bagian/department pada suatu instansi. Pengeblokan secara otomatis untuk pengaksesan aplikasi HTTP bila dana yang tersedia untuk suatu bagian telah habis, sehingga anggaran keuangan yang telah direncanakan tidak akan mengalami pembengkakan yang b. Pengguna lebih bijaksana dalam penggunaan hak mereka untuk mengakses internet khususunya aplikasi HTTP.

1.5 Metodologi Penelitian

  1.5.1 Studi Pustaka

  Penulis mencari dan mempelajari buku-buku atau referensi misalnya dengan mencari di internet yang mendukung dalam pembuatan sistem pengontrol ini

  1.5.2 Perancangan

  Setelah mempelajari buku acuan atau referensi yang ada dan juga bertanya kepada orang yang lebih berkopeten, penulis mencoba membuat rancangan untuk sistem pengontrol yang akan dibuat. Yaitu merancang kebutuhan akan hardware dan software.

1.6 Sistematika Penulisan

BAB I PENDAHULUAN Bab ini menjelaskan mengenai latar belakang masalah, rumusan

  masalah, batasan masalah, tujuan dan manfaat penulisan, metode penelitian, dan sistematika penulisan.

  BAB II LANDASAN TEORI Bab ini berisi mengenai teori – teori yang mendukung pembuatan “A Design of Web Accessing Controller System on Local Area Network Measured by Byte”. BAB III ANALISA DAN DESAIN Bab ini berisi mengenai analisa spesifikasi sistem yang dibutuhkan, yaitu

  perangkat-perangkat yang berupa hardware maupun software, dan perancangan yang nantinya dijadikan dasar untuk mewujudkan sistem kontrol yang dikehendaki.

  BAB IV PENUTUP Bab ini berisi kesimpulan dan saran dari perancagan yang telah dibuat.

BAB II DASAR TEORI

2.1 Jaringan komputer

  Jaringan komputer adalah hubungan antara dua komputer atau lebih dengan menggunakan media transmisi untuk berkomunikasi. Supaya dapat terjadi suatu komunikasi di dalam jaringan maka setiap host di dalam jaringan tersebut harus memiliki cara untuk berkomunikasi sehingga antara host satu dengan yang lainnya dapat saling mengerti akan apa yang dikomunikasikan. Cara berkomunikasi tersebut di dalam jaringan di sebut dengan protokol.

  Protokol yang bayak digunakan sekarang ini TCP/IP(Transport Control

  Protocol

  /Internet Protocol). TCP bekerja pada lapisan/layer keempat (transport) dan IP pada lapisan ketiga(network) dari Seven Layers OSI (Open System

  Interconnection

  ) atau ISO (International Standard Organization). TCP/IP mempunyai empat lapisan sedangkan dari OSI mempunyai tujuh lapisan. Perbandingan dari keduanya dapat dilihat pada gambar 2.1

2.2 Address Resolution Protocol

  Ethernet card

  mempunyai ethernet address sepanjang 48 bit yang dibagi menjadi 2 yaitu 24 bit pertama menunjukkan kode pabrik pembuatnya dan 24 bit berikutnya menunjukkan nomor perangkat. Nomor ini sering juga disebut alamat fisik (phisicaal address). Alamat ini dugunakan untuk mengalamati host-host di dalam jaringan sehingga suatu host tidak akan mempunyai alamat yang sama dengan host yang lain. Dalam pengirimana suatu paket ke suatu host tujuan pada

  header

  paket harus diberi alamat ethernet agar paket tersebut sampai kepada host yang dituju tersebut.

  Address Resolution Protocol (A

  RP) adalah suatu mekanisme yang digunakan untuk menemukan/mengetahui alamat ethernet suatu host tujuan. Ketika ARP ingin mengetahui alamat ehernet suatu host berdasarkan alamat IP suatu host maka ARP akan melihat ke dalam tabel alamat IP yang telah dimilikinya, apakah alamat ethernet dengan alamat IP tersebut sudah ada atau belum. Jika alamat ethernet belum ada (pasangan dari alamat IP masih kosong) maka ARP akan mengirim sebuah paket permintaan khusus yang berisi alamat IP (yang dicari adalah alamat ethernet) .dan paket tersebut ditujukan ke semua host

  

(broadcast ) dalam satu jaringan ethernet. Host yang menerima paket dari ARP

  akan mencocokan alamat IP yang dimilikinya dengan alamat IP yang terdapat pada paket dari ARP tersebut. Jika alamat IP host tersebut sama dengan alamat IP pada paket ARP tersebut maka host tersebut akan mengirim paket jawaban yang mengetahu alamat ethernet tersebut yang kemudian akan disimpan dalam tabelnya.

  2.3 Routing Penentuan jalur(routing) merupakan suatu mekanisme yang terjadi pada lapisan network (IP) untuk menentukan jalur pengiriman paket ke alamat tujuan.

  Penentuan jalur tersebut didasarkan pada tabel routing, tabel ini memberikan informasi kepada suatu paket mengenai jalur mana yang harus dilewati supaya sampai ketujuannya.

  Routing

  langsung adalah pengiriman paket tanpa melalui node lain sebagai perantara. Paket dikirimkan langsung ke alamat tujuan. Routing langsung terjadi apabila baik alamat sumber maupun alamat tujuan berada pada satu segment jaringan (network ID)

  Routing

  tidak langsung adalah pengiriman paket yang membutuhkah perantara supaya paket tersebut sampai ke tujuannya.. Routing tidak langsung terjadai bila alamat sumber dan alamat tujuan berada pada segment jaringan (network ID) yang berbeda. Sehingga didalam tabel routing ketika mengirim paket akan ditunjukkan jalur ke suatu node sebagai perantara. Perantara tersebut yang akan menyampaikan paket ke tujuannya. Node perantara tersebut adalah

  gateway

  atau router yang berada di antara dua jaringan. Node perantara tersebut mempunyai dua alamat IP, satu alamat IP untuk setiap NIC. perantara. Sedangkan pada routing tidak langsung alamat ehernet akan mengalamai perubahan yaitu pada saat paket melewati perantara(gateway atau

  router

  ). Alamat ethernet sumber berubah menjadi alamat ethernet milik perantara, bukan milik pengirim paket yang pertama atau aslinya lagi. Demikian juga untuk alamat ethernet tujuan juga akan mengalami perubahan sesuai dengan alamat perantara atau host yang akan dilewati/dituju dari suatu paket. Bagi alamat IP kedua jenis routing ini tidak akan mengubahnya, sehingga alamat IP untuk sumber dan tujuan dari suatu paket akan tetap.

2.4 Packet Filtering

  Packet filtering adalah sebuah software yang melihat pada header suatu

  paket yang lewatinya dan memutuskan apa yang akan dilakukan pada paket tersebut. Ia dapat memutuskan DROP yaitu membuang suatu paket sehingga seolah-olah paket tersebut tidak pernah diterima, atau dapat juga memutuskan ACCEPT(misalnya membiarkan paket tersebut lewat)

Gambar 2.3 TCP Packet header

  Pada format header pada lapisan transport (TCP) dan format header dari IP yang berada pada lapisan network, dapat dilihat bahwa pada header tersebut terdapat beberapa informasi yang digunakan untuk menentukan apa yang akan dilakukan pada suatu paket. Informasi tersebut antara lain a. protocol ( IP header)

  b. source addres ( IP header)

  c. destination addres ( IP header) d.

   source port ( TCP header)

  e. destination port ( TCP header)

  f. connection status ( TCP header)

  Packet filtering

  Dengan menggunakan ini maka dapat dilakukan kontrol terhadap paket-paket yang lewat berdasarkan alamat IP tujuan maupun

  2.4.1 Iptables

  Di dalam Linux tool packet filtering untuk kernel versi 2.4 dinamakan dengan iptables. Sedangkan untuk versi sebelumnya dinamakan ipchains yaitu untuk versi 2.2, dan ipfwadm untuk kernel versi 2.0.

  2.4.2 Karakteristik iptables

  Iptables memiliki tiga tabel yakni mangle, nat dan filter. Ketiga tabel memiliki ciri khas masing-masing. Tabel 2.1 menunjukkan karakteristik setiap tabel tersebut.

Tabel 2.1 Karakteristik Tabel pada Iptables

  Tabel Target Kegunaan Chain

  Mangle PREROUTING TOS Mangling (mengubah) FORWARD TTL paket,yaitu informasi POSTROUTING MARK TOS, TTL dan MARK

  INPUT DROP OUTPUT Nat PREROUTING DNAT NAT (Network

  Address Translation

  POSTROUTING SNAT ) OUTPUT MASQUERADE sumber dan tujuan DROP paket.

  Filter INPUT ACCEPT Penyaringan paket

  Chain

  INPUT merupakan Chain yang mengendalikan paket yang ditujukan ke host yaitu host dimana terdapat seting iptables. Jadi Chain ini mengevaluasi paket yang masuk ke host dengan menggunakan rule yang telah disetingkan

  Cahin OUTPUT adalah cahin yang mengendalikan paket yang berasal dari

  

host . Semua paket yang berasal dari host dievaluasi oleh rule yang dibuat dalam

OUTPUT Chain.

  Chain

  FORWARD mengevaluasi setiap paket yang melewati host. Jadi bila paket yang ditujukan ke host akan dikendalikan oleh Chain INPUT dan paket yang keluar dari host dikendalikan Chain OUTPUT, Chain FORWARD akan mengendalikan setiap paket yang melewati host, hal ini akan tampbak sekali dalam hal host berperan sebagai router

  DNAT, singkatan dari Destination Network Address Translation digunakan untuk mengubah alamat IP tujuan (destination) suatu paket. Sedangkan SNAT (Source Network Address Translation) dan MASQUERADE digunakan untuk mengubah alamat IP sumber (source) suatu paket. Perbedaannya dari SNAT dan MASQUERADE adalah bahwa SNAT digunakan jika Alamat IP yang dipunyai bersifat statis (misalnya alamat IP didapat dari ISP), sehingga SNAT lebih cepat karena alamat yang digunakan untuk masquarade telah pasti . MASQUERADE cocok digunakan bila alamat IP legal yang diperoleh dari ISP

  Ketiga tabel pada iptables bekerja dalam urutan tertentu ketika terjadi aliran paket. Meskipun bernama sama, chain pada tabel yang berbeda bekerja pada tahap yang berbeda. Gambar 2.4 menunjukkan urutan kerja ketiga tabel.

Gambar 2.4 Urutan Kerja Tabel pada Iptables

  Berdasarkan gambar itu, ketika suatu paket masuk ke routing decision dan paket tersebut tidak ditujukan ke host tersebut maka paket tersebut dijalurkan melalui

  Perintah yang terdapat pada iptables antara lain: -A : Menambah rule baru pada Chain.

  • D : Menghapus rule pada Chain.
  • R : Mengganti sebuah rule pada Chain -I : Mengisi sebuah rule baru pada sejumlah tempat pada Chain -L : Melihat rule pada Chain -F : Mereset rule pada Chain -Z : Mereset counter pada Chain -N : Membuat Chain baru.
  • X : Menghapus Chain yang kosong.
  • P : Menentukan atau mengganti policy yang sudah ada pada ipChains.
  • E : Mengganti nama Chain. Format umum sintaks iptables adalah :

  iptables [-t table] command [match] [target/jump]

  keterangan : table : nama tabel yang dikehendaki. Bila tidak ditentukan, berarti dianggap menggunakan tabel filter .

  command

  : menentukan langkah yang harus dikerjakan oleh iptables seperti match : merupakan karakteristik detail dari paket yang dikehendaki seperti

  source address

  , destination port dan protocol target/jump : adalah kebijakan yang ditentukan untuk paket yang memiliki karakteristik sesuai dengan ketentuan pada match. Misalnya ACCEPT, DROP, SNAT dan MASQUERADE

2.4.3 Network Address Translation

  Network Address Translation

  (NAT) atau sering disebut juga IP

  Masquerading

  merupakan suatu mekanisme untuk men-share suatu alamat IP legal ke beberapa alamat IP illegal (non legal). Alamat legal mewakili alamat- alamat illegal di bawahnya dalam komunikasi global. Permintaan ke Internet dari

  host

  beralamat IP illegal dibungkus dengan alamat IP legal host wakilnya. Karena permintaan berasal dari alamat legal (sebenarnya berasal dari alamat illegal yang dibungkus alamat legal), server akan memberikan jawaban ke host peminta (wakil) yang beralamat legal tersebut. Jawaban dari server kemudian diteruskan ke host peminta yang sesungguhnya. Dengan cara ini, berapapun host yang digunakan, akses Internet dapat dilakukan selama ada host beralamat legal yang mewakili semuanya.

2.5 Gawk

  Gawk merpakan suatu baris perintah yang didasarkan pada fungsi yang Kegunaan dari GAWK antara lain:

  a. Dapat menyimpan suatu file teks yang terdiri dari records dan field ke dalam database tekstual b. Dengan menggunakan variabel dapat mengubah suatu database

  c. Dapat melakukan operasi aritmatika atau string

  d. Menggunakan konsep pemrograman seperti looping dan suatu kondisi bersyarat e. Menghasilkan laporan dengan format tertentu

  f. Mendefinisikan suatu fungsi

  g. Menjalankan perintah UNIX dari sebuah script

  h. Memproses hasil dari suatu perintah UNIX

2.5.1 Syntax Sintak dari GAWK adalah sebagi berikut.

  gawk [options] 'script' var=value file(s) gawk [

  options] -f scriptfile var=value file(s)

2.5.2 Procedures

  Prosedure dapat terdiri atas satu atau lebih perintah, fungsi, atau varibel yang ditetapkan yang dipisahkan dengan baris baru atau titik koma dan isi dari a. Penetapan variable atau array

  b. Perintah untuk mencetak

  c. Fungsi Built-in

  d. Perintah untuk control-flow

  2.5.3 Operator gawk

  Operator yang digunakan dalam gawk antara lain:

  assignment

  = =+ -= *= /=

  logical OR

  ||

  logical AND

  && ~ !~ match regular expression and negation

  relational operators

  < <= > >= != ==

  addition and subtraction

  multiplication, division, and modulus

  • / %

  exponentiation

  ^

  

increment and decrement

  field reference

  $

  2.5.4 Contoh Penggunaan Perintah Gawk

  a. Perintah untuk menampilkan/print field kedua setiap baris dari isi suatu file(dengan nama read) b. Perintah untuk menampilkan/print dengan pattern tertentu (misalnya yang mengandung kata linux)pada field kedua dan keempat pada setiap baris dari file(dengan nama manual).

  gawk ‘/linux/{print $2,$4}’ manual

2.6 Grep

  Grep (global regular expression print) adalah suatu tool yang digunakan untuk melakukan pencarian melalui suatu file atau folder/directori dan mengecek baris pada file yang sesuai dengan reguler expression yang diberikan. Grep akan menghasilkan nama file dan nomor baris yang sesuai dengan reguler expression yang ditentukan.

  Dalam setiap baris dalam input standar ( misalnya input dari keyboard) atau file operasi yang diberikan oleh grep adalah: a. Meng-copy baris input berikutnya pada susunan/pattern tempat. Susunan tempat tersebut merupakan buffer yang mempu menangani hanya satu baris text.

  b. Menerapkan reguler expression ke buffer.

  c. Jika sesuai, baris dari buffer ke outout standar misalnya monitor Grep akan mengulang ketiga operasi tersebut untuk setiap baris input. Beberapa hal penting dalam menggunakan grep:

  a. Grep adalah suatu utility untuk pencarian. Ia hanya dapat melakukan pencarian hanya pada baris yang menggunakan regular expression yang sesuai.

  b.

   Salah satu aksi yang dapat dilakukan grep adalah menyediakan baris yang dapat dikirimkan pada standar output.

  c. Pilihan baris menjadi dasar untuk regular expression.

  d. Grep adalah sebuah penyaring. Dapat digunakan pada sisi kiri atau kanan pada pipe ( | ).

  e. Grep tidak dapat digunakan untuk menambah , meghapus atau mengubah seubah baris f. Grep tidak dapat digunakan untuk mencetak sebagian dari suatu baris.

  g. Grep tidak dapat read only bagian suatu file.

  h. Grep tidak dapat memilih baris yang menjadi dasar dari isi baris sebelumnya atau sesudahnya. Hanya sebuah buffer yang berpengaruh pada baris pada saat itu.

  Beberapa pilihan dari kelompok grep terlihat tabel 2.2 Option dari Grep).

Tabel 2.2 Pilihan dari Grep

  Option / Meaning / Arti Pilihan

  Mengawali setiap baris dengan nomor blok file

  • b dimana ia bisa ditemukan.
  • c Mencetak sejumlah baris yang sesuai dengan pola.

  Mengabaikan huruf besar atau kecil pada teks yang

  • I dipilih. Mencetak daftar file yang paling tidak memuat satu
  • l baris yang sesuai dengan pola. Menunjukan nomor baris setiap baris di depan b
  • n tersebut. Mode silent. Menjalankan semua utility tetapi
  • s menyembunyikan semua output Inverse output.

  Mencetak baris – baris yang tidak

  Option / Meaning / Arti Pilihan

  Hanya mencetak baris-baris yang seluruhnya sesuai

  • x dengan pola.

  string

  • f file Daftar yang sesuai berada di dalam FILE Terdapat tiga keluarga dari grep seperti terlihat pada tabel 2.2

  Tabel 2-3

  Tiga keluarga perintah grep Hanya mendukung pola-pola string. Bukan regular

  Fgrep fast grep expressions.

  Hanya mendukung sejumlah kecil regular Grep Grep expressions.

  extended Mendukung sebagian regular expressions tetapi tidak

  Egrep grep semuanya.

2.7 Crontab

  Cron merupakan program daemon yang berjalan setiap menit dan atau tabel cron (crontab), yaitu file yang berisi jadwal perintah, ada di direktori spool (misalnya: /var/spool/cron/). Nama file itu sama dengan nama user pemilik atau pembuat jadwal. Untuk membuat atau mengedit crontab, user dapat menggunakan program yang juga bernama crontab. Secara default, crontab akan menjalankan editor yang dijadikan standar, biasanya vi. Sebagai root, dapat mengedit langsung file crontab yang ada pada direktori spool cron (/var/spool/cron/nama_user) atau menggunakan program bantu Linuxconf (khusus RedHat dan turunannya). Ada 3 option dalam menjalankan crontab sebagai user biasa:

  $ crontab -e : artinya mengedit atau membuat baru tabel cron atau daftar tugas. $ crontab -l : artinya menampilkan daftar tugas yang telah ada. $ crontab -r : artinya menghapus daftar tugas yang ada. Sebagai root, administrator dapat mengedit, melihat atau menghapus crontab user dengan tambahan option -u, misalnya:

  # crontab -eu rus (artinya mengedit crontab yang dimiliki user rus).

2.7.1 Format crontab

  Sebuah crontab merupakan daftar program yang akan dijalankan secara berulang melalui terminal atau command line, lengkap dengan waktu kapan program tersebut dijalankan. Setiap program dijadwalkan dalam satu baris dengan Daftar pilihan waktu yang tersedia pada crontab dapat dilihat lihat tabel 2-3

  Pilihan waktu pada crontab

  :

Tabel 2.4 Pilihan waktu pada crontab

  Field Range Minute 0 sampai 59 Hour

  0 sampai 23 ( tengah malam = 0)

  Day-of-month

  1 sampai 31

  Month=of-year

  1 sampai 12

  Day-of-week 0 sampai 6 ( Minggu = 0)

  Contoh crontab di bawah ini akan menjalankan fetchmail setiap menit (*), setiap jam (*), setiap hari/tanggal (*), setiap bulan (*) dan setiap hari dalam seminggu (*).

  • fetchmail Contoh berikut ini, fetchmail hanya dijalankan setiap (interval) 5 menit (*/5), antara jam 8 pagi hingga jam 5 sore (8-17), setiap hari Senin hingga Jumat (1-5).
  • /5 8-17 * * 1-5 fetchmail

2.7.2 Pemberian Izin Menggunakan crontab

  Ada 2 file yang berfungsi mengatur pemberian izin penggunaan crontab, yaitu /etc/cron.allow dan /etc/cron.deny. Yang dicek pertama adalah cron.allow, yaitu daftar user yang diizinkan menggunakan crontab. User selain yang terdaftar di cron.allow tidak boleh menggunakan crontab. Bila cron.allow tidak ada, cron.deny akan dibaca. User selain yang terdaftar di cron.deny diizinkan menggunakan crontab. Jika kedua file tidak ada, semua user dapat menggunakan crontab.

BAB III ANALISA DAN DESAIN

3.1 Analisa Sistem

  Sistem pengontrol akses web yang akan dibangun adalah suatu sistem yang akan diterapkan/dipasang pada suatu jaringan lokal (LAN) yang melakukan browsing website, sehingga dalam pemodelan sistem dibutuhkan adanya suatu jaringan local (LAN), jaringan global dimana yang web server terdapat, dan router.

3.1.1 Analisa Kebutuhan Sistem

  Dalam jaringan lokal (LAN) yang ada terbagi menjadi beberapa netID yang merupakan netID dari setiap bagian yang ada pada suatu instansi. LAN tersebut dalam melakukan koneksi ke jaringan global harus melalui sautu router atau gateway. Karena perannya yang sebagai jembatan penghubung antara jaringan lokal (LAN) dan jaringan global (internet) maka posisi router tersebut berada ditengah-tengah antara jaringan local (LAN) dan jaringan global. Seperti tampak pada gambar 3.1

Gambar 3.1. skema analisis jaringan

  Sistem yang dibuat hanya terletak pada jaringan lokal, khususnya pada sisi router. Di dalam sistem ini router mempunyai fungsi utama, yaitu:

  1. Melakukan penangkapan paket yang lewat, khususnya paket response HTTP.

  2. Penghitungan “dana” pulsa 3. Memberikan atau menolak suatu netID untuk melakukan akses web.

3.1.1.1 Packet Filtering

  Router yang melakukan pengamatan setiap paket yang masuk ke dirinya dari jaringan global yang sebenarnya ditujukan untuk LAN. Pengamatan yang dilakukan adalah melakukan penangkapan paket yang masuk sebagai reponse HTTP web server yang berada pada jaringan global akan adanya request HTTP dari salah satu client di jaringan LAN.

  Penangkapan paket dapat dilakukan dengan mengunakan suatu software untuk akses web ataupun melakukan pemutusan/pengeblokan bagi suatu bagian yang melakukan akses web yang dana baginya telah habis. Pemutusan/pengeblokan yang dilakukan adalah dengan tidak meneruskan request HTTP dari bagian tersebut

  Software packet filtering tersebut diletakkan atau dipasangkan pada router sehingga router dapat melakukan filtering terhadap paket yang lewat. Dalam hal ini, pada router/gateway digunakan sistem operasi Linux RedHat 8.0 yang menyertakan iptables sebagai packet filter.

3.1.1.2 Pemilihan Chain

  Ukuran paket response HTTP dapat dilihat dengan menggunakan iptables yang merupakan bagian packet filtering. Informasi yang didapat dari iptabels adalah ukuran dari paket, jumlah paket, protocol yang digunakan, alamat IP destination, alamat IP source, policy ( hak akses ) dan status. Ukuran paket yang lewat/masuk dapat diambil/dicopy untuk mengurangi dana yang masih ada yaitu setelah dikonversi ke satuan dana. Alamat IP destination, dan alamat IP source dapat digunakan untuk menentukan suatu HTTP request diteruskan atau tidak dengan melihat masih tersisa atau tidak dana yang ada bagi suatu netID.

  Pada tabel filter pada iptables terdapat tiga chain yaitu INPUT, host tempat terdapatnya software paket filtering. Reponse HTTP berasal dari suatu web server yang ditujukan kepada host yang melakakukan request HTTP yang dalam hal ini adalah host di dalam suatu bagian dari suatu instansi. Sehingga untuk dapat melakukan penangkapan paket yang lewat menggunakan chain INPUT harus dilakukan pada setiap host yang berada di dalam suatu bagian. Dengan demikian penggunaan chain INPUT tidak dapat digunakan.

  Chain OUTPUT digunakan untuk mengevaluasi paket yang keluar dari suatu host sekaligus paket tersebut dibuat oleh host tersebut. Reponse HTTP dibuat oleh web server yang berada diluar jaringan lokal yang jumlah dan letaknyapun tidak diketahui semuanya. Dengan demikian penangkapan paket yang dilakukan di tiap web server dengan menggunakan chain OUTPUT tidak mungkin untuk dilakukan.

  Sedangkan Chain FORWARD digunakan untuk mengevaluasi setiap paket yang melewati suatu host dimana software packet filtering terdapat. Fungsi dari Chain FORWARD nampak pada gateway atau router, yaitu meneruskan paket yang diterimanya ke tujuan. Disini penangkapan paket dapat dilakukan, dan disini kontrol dari administrator dapat dilakukan dengan lebih baik. Karena selain menangkap besar paket yang lewat, kebijakan untuk tidak meneruskan suatu request HTTP dari suatu bagian juga memakai chain FORWARD, hal ini terjadi jika dana yang dialokasikan bagi suatu bagian

  Terdapat chain yang lain dari software packet filtering yaitu dari tabel Format t ed:

  Font: Not Bold

  NAT yang dapat meneruskan suatu paket. Chain SNAT dan MASQUERADE Format t ed: Format t ed: Font: Not Bold dari tabel NAT yang bekerja mirip dengannya. Di dalam jaringan yang Font: Not Bold Format t ed:

  Font: Not Bold

  menggunakan alamat IP illegal untuk dapat koneksi secara global/internet, Format t ed:

  Font: Not Bold

  melewatkan paket pada gateway tidaklah cukup. Karena dibuat oleh host ber-

  IP illegal maka paket mempunyai alamat IP sumber yang tidak akan dikenali Format t ed:

  Font: Not Bold

  oleh jaringan global/internet, paket harus dialirkan melewati gateway yang Format t ed: Format t ed: Font: Not Bold Font: Not Bold akan me-masquerading IP illegal dari host pengirim paket sehingga paketnya Format t ed:

  Font: Not Bold

  dikenal jaringan global. Jadi, Chain SNAT atau MASQUERADE dapat digunakan pula.

  Dapat dianalisa bahwa Chain FORWARD dapat digunakan sebagai pemecahan masalah, yaitu mengenai pencatatan ukuran paket data yang melewati router dan membuat kebijakan apakah suatu request HTTP dari netID diteruskan sehingga mendapatkan response HTTP atau tidak. Packet filtering ini terdapat pada sistem operasi Linux RedHat 8.0 dengan kernel 2.4 iptables.

3.1.1.3 Pengambilan Paket

  Format t ed: Bullets and Numbering

3.1.2 Pengambilan data ukuran paket dilakukan setiap menit. Data–data yang

  satuannya byte yang diambil kemudian dikonversi ke satuan dana(misalnya 1 byte berapa rupiah) yang kemudian digunakan untuk

  (membandingkan alamat IP tujuan reponse HTTP dengan tabel IP bagian). Bila dana yang tersedia/ tersisa ternyata lebih kecil dari nol (yang berarti dana telah habis) maka kebijakan diterapkan yaitu host yang melakukan browsing akan koneksi kejaringan global/internet akan diputus, sedangkan bila akan melakukan browsing akan ditolak requestnya. Proses pengambilan data ukuran paket menggunakan fasilitas iptables, grep dan gawk. Sedangkan pengaturan jadwal pengambilan ukuran paket Delet ed:

  ¶ ¶

  menggunakan fasilitas crontab.Analisa Kebutuhan Jaringan Komputer Dalam pembuatan sistem diperlukan satu Personal Computer (PC) dengan sistem operasi Linux RedHat 8.0, yang memiliki software packet filtering. PC tersebut juga berperan sebagai router yang berfungsi untuk memberikan jembatan/jalan bagi netID suatu bagian untuk dapat melakukan browsing.

  Dianalisa bahwa PC tersebut mempunyai dua fungsi yaitu menangkap paket data (packet filtering) dan pemberian atau penolakan hak browsing suatu netID untuk browsing, sehingga PC tersebut juga berperan sebagai gateway/router antara jaringan lokal intansi tersebut dengan jaringan global (internet) yang berada diluar intansi. Dua PC dengan sistem operasi Windows98, yang berfungsi sebagai host dari suatu bagian(netID). Diperlukan juga sebuah PC yang dapat mewakili sebuah web server yang berada di jaringan global yang nantinya menjadi tujuan dari setiap browsing yang dilakukan oleh suatu bagian.

  Sistem untuk pengontrol akses web dengan menggunakan notasi–notasi dari Unified Modelling Language (UML) untuk diagram use case dan diagram sequence. Diagram use case adalah suatu diagram yang menjelaskan bagaimana cara sistem berinteraksi dengan user sistem (actor), sedangkan diagram sequence menggambarkan behaviour sistem.

3.2.1 Diagram Use Case

  Aktor yang berperan di dalam sistem adalah aktor user dan aktor Administrator. Administrator adalah yang bertugas memberikan besar dana yang disediakan bagi suatu netID. Aktor user adalah netID yang melakukan tindakan browsing.

  Aktor user sebenarnya tidak melakukan hal khusus karena user cukup melakukan browsing. Ketika browsing user dengan sendirinya akan memberikan alamat IPnya ke sistem.

  controller administrator user Use case controller mempunyai hubungan assosiasi yang dua arah dengan aktor user. Panah berasal dari peminta layanan ke penyedia yaitu dari aktor user ke use case controller. Aktor user meminta sistem dapat melakukan browsing yang dengan sendirinya ketika mengajukan permintaan telah memberikan alamat IPnya. Sedangkan sistem memberikan layanan browsing ke user dengan ketentuan user masih mempunyai hak (dana masih tersedia).

  Aktor administrator ke use case mempunyai arah hubungan asosiasi searah yaitu aktor administrator memberikan/mengeset dana bagi suatu bagian.