• Tidak ada hasil yang ditemukan

DESAIN DAN IMPLEMENTASI ALAT UJI PEMBANGKIT KONEKSI JAMAK HTTP AKSES PADA KOMUNIKASI CLIENT SERVER

N/A
N/A
Protected

Academic year: 2019

Membagikan "DESAIN DAN IMPLEMENTASI ALAT UJI PEMBANGKIT KONEKSI JAMAK HTTP AKSES PADA KOMUNIKASI CLIENT SERVER"

Copied!
271
0
0

Teks penuh

(1)

DESAIN DAN IMPLEMENTASI

ALAT UJI PEMBANGKIT KONEKSI JAMAK

HTTP AKSES PADA KOMUNIKASI CLIENT SERVER

Skripsi

Ditujukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

Heribertus Adi Wibowo

085314063

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii

DESIGN AND IMPLEMENTATION

HTTP CONNECTION PLURAL ACCESS GENERATING TOOL

IN CLIENT SERVER COMMUNICATION

A Thesis

Presented as Partial Fullfillment of the Requirments

To Obtain Sarjana Komputer Degree

By :

Heribertus Adi Wibowo

085314063

INFORMATICS ENGINEERING STUDY PROGRAM

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)
(4)
(5)

v

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama

:

Heribertus Adi Wibowo

Nomor Mahasiswa

:

085314063

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah saya yang berjudul :

Desain Dan Implementasi

Alat Uji Pembangkit Koneksi Jamak

Http Akses pada Komunikasi Client Server

Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan

kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,

mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan

data, mendistribusikannya secara terbatas, dan mempublikasikannya di internet

atau media lain untuk kepentingan akademis tanpa perlu meminta izin dari saya

maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya

sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal 4 Juli 2012

Yang menyatakan,

(6)

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak

memuat karya bagian orang lain, kecuali yang telah disebutkan dalam kutipan dan

daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 4 Juli 2012

Penulis,

(7)

vii

HALAMAN PERSEMBAHAN

Karya ini ku persembahkan untuk :

1.

Tuhan Yesus Kristus

2.

Bapak Andreas Budiyono dan Ibu Yohana Chitra Munthe

3.

Opung Martha Sukidah Munthe

4.

Segenap saudara yang selalu memotivasiku

5.

Bu Stephanie Sundari Wiraswati beserta keluarga

6.

Segenap dosen Teknik Informatika

7.

Teman-teman UKM Sepakbola

8.

Teman-teman Teknik Informatika khususnya angkatan 2008

Terima kasih atas segala kasih, doa, motivasi, dan kesabarannya dalam

membentuk dan mendidikku.

Waktu tak akan pernah kembali, milikilah sebuah niat yang baik

dan bertekadlah untuk mencapai niat tersebut

HAW

“Kita tidak bisa menentukan kita lahir mau jadi apa, tapi kita BISA

(8)

viii

AB STRAK SI

Salah satu cara yang dilakukan untuk menghalangi masyarakat mengakses situs

porno di internet adalah

firewall. Jika situs masuk daftar

blacklist

firewall,

permintaan ke situs tidak diteruskan. Perangkat keras

firewall biasanya berupa

router. Namun sangat jarang

router yang mencantumkan penjelasan berapa banyak

permintaan bersamaan yang mampu ditanganinya. Karena kemampuan penyaringan

paket pada

router yang digunakan dan jumlah pengguna internet harus seimbang,

kekurangan tersebut dapat membuat administrator jaringan mengalami kesulitan

menentukan router yang cocok untuk digunakan. Oleh karenanya aplikasi diperlukan

untuk mempermudah mengetahui kemampuan penyaringan paket sebuah router.

Aplikasi yang dibuat berupa aplikasi

client dan

server dengan bahasa

pemrograman Java. Aplikasi client mampu mengirimkan sejumlah koneksi HTTP ke

server berdasarkan masukan pengguna, aplikasi

server memberikan jawaban atas

permintaan yang dikirimkan

client. Aplikasi diuji dengan cara diteliti seberapa

banyak koneksi yang dihasilkan dari

client ke

server dengan menggunakan

spesifikasi hardware dan sistem operasi komputer yang berbeda-beda.

Berdasarkan

hasil

percobaan,

hardware

tidak

berpengaruh

dalam

membangkitkan koneksi jamak dan sistem operasi Windows XP lebih bagus

daripada sistem operasi Xubuntu 10.04 untuk membangkitkan koneksi maksimum.

Aplikasi server hanya mampu menangani maksimum 201 koneksi dalam waktu yang

bersamaan. Aplikasi

client dapat membangkitkan 398 koneksi ke 2

server dalam

waktu yang bersamaan.

(9)

ix

AB STRAC T

One of strategies to block people accessing porn sites is firewall. Whilst a

particular site is listed on blacklist firewall, the request to the site is discontinued.

Firewall hardware is ussually a router. However, a router is rarely attached by a

description about the total of request handled in the same time. Since the ability of

filtering on a router must be balance with the number of internet user, the lack on this

occurrence raises a problem for administrators to determine a specific router to be

used. Therefore, an application to detect the filtering capability of router is essential.

The application constructed in this final assignment is an application for client

and server using Java programming. Client application is able to sent many HTTP

connections based on user inputs, then server application gives the respond based on

the client’s request. The application is rigolously

examined to find out the number of

resulted connection from client to server using various specified hardwares and

computer operation systems.

Based on the experiment result, hardware does not have any significance to

establish a multiple connection. Moreover, Windows XP is better than Xubuntu

10.04 to establish maximum connection. Server application is only able to manage

201 connections in the same time, meanwhile client application can establish 398

connections to 2 server in the same time.

(10)

x

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Esa yang telah memberikan

berkat dan hikmatNya sehingga penulis dapat menyelesaikan penelitian dan tugas

akhir ini.

Dalam proses penulisan ini banyak pihak yang telah memberikan bantuan

dan perhatian dengan caranya masing-masing sehingga tugas akhir ini dapat

selesai. Oleh karena itu saya mengucapkan terima kasih kepada :

1.

Bapak Henricus Agung Hernawan, S.T., M.Kom. selaku dosen

pembimbing skripsi yang telah memberikan bimbingan dalam penyusunan

tugas akhir ini terlebih karena telah banyak Penulis repotkan.

2.

Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. dan Damar Wijaya, S.T.,

M.T. selaku panitia penguji yang telah memberikan banyak kritik dan

saran sehingga tugas akhir ini berkembang lebih baik.

3.

Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang

telah memberikan ilmu, motivasi, arahan, dan pengalaman selama penulis

menempuh studi.

4.

Seluruh staff Sekretariat dan Laboran Fakultas Sains dan Teknologi yang

selalu membantu penulis dalam urusan administrasi akademik.

5.

Bapak Andreas Budiyono dan Ibu Yohana Citra Munthe yang telah

memberikan cinta, doa, dukungan, dan kesabaran sehingga penulis dapat

menyelesaikan tugas akhir ini.

6.

Opung Martha Sukidah Munthe yang selalu ingin penulis bahagiakan.

7.

Mas Mico Trijatmiko saudaraku yang telah membantu terjemahan

sehingga abstraksi dalam Bahasa Inggris di tugas akhir dapat terlihat

begitu indahnya.

(11)

xi

9.

Kekasihku, Sundari Wiraswati, dan keluarga yang memotivasi penulis

supaya tidak salah arah. Terimakasih sudah menemani dan meluangkan

banyak waktu demi kelancaran tugas akhir ini.

10. Bapak Gede Sujane, I Komang Widya Purnama Yasa, dan Raymondus

Nonnatus atas bantuan perangkat dan teknisnya sehingga penulis

menghemat banyak waktu dan biaya.

11. Sahabat-sahabatku, Sanderick Hasoloan, Lazarus Daen Laga dan

Aninditya Sapta, atas dukungan dan doanya. Mohon maaf sudah banyak

Penulis repotkan dan kecewakan.

12. Semua pihak yang telah membantu penulisan baik secara langsung

maupun tidak langsung yang tidak dapat disebutkan satu per satu.

Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari

sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir

ini sangat saya harapkan. Akhir kata, semoga tugas akhir ini bermanfaat bagi

semua pihak. Terima kasih.

Yogyakarta, 4 Juli 2012

Penulis,

(12)

xii

DAFTAR ISI

HALAMAN PERSETUJUAN.

………

..

iii

HALAMAN PENGESAHAN..

………

..

iv

PERNYATAAN KEASLIAN KARYA.

………

...

vi

KATA PENGANTAR

………

.

………

...

x

DAFTAR ISI...

……

..

………

..

xii

DAFTAR GAMBAR

………

..

xvii

DAFTAR TABEL………

...

xxi

BAB I PENDAHULUAN………

..

1

1.1

Latar Belakang Masalah………

...

1

1.2

Rumusan Masalah………

4

1.3

Tujuan Penelitian

……….

5

1.4

Manfaat Penelitian

………

...

5

1.5

Batasan Masalah………..

6

1.6

Metodologi

………..

6

1.7

Sistematika Pembahasan

………..

7

BAB II TINJAUAN PUSTAKA

………

..

8

2.1

TCP (Transport Control Protocol).

………

.

8

2.2

Protokol HTTP

…………

...

………

..

10

2.2.1.

Koneksi Non-Persistent dan Persistent pada HTTP Client.

………

.

11

2.2.1.1.

Koneksi Non-Persistent

……

...

………

.

……

11

2.2.1.2.

Koneksi Persistent

……

...

………

.

11

2.2.2.

Client

………

....

12

2.2.2.1.

Metode Permintaan GET

………

.

13

2.2.2.2.

Metode Permintaan HEAD

………

.

13

2.2.2.3.

Metode Permintaan POST

………

...

14

2.2.3.

Server Web

………

...

16

(13)

xiii

2.2.3.2.

Tanggapan Header Server

………

17

2.2.3.3.

Badan Entitas

………

...

20

2.3.

Client Server

………

.

20

2.3.1.

Karakteristik Client Server ...

………

..

.

21

2.3.2.

Keuntungan dan Kerugian Arsitektur Client Server ...

……

...

..

21

2.4

Pemrograman Java..

………

.

22

2.4.1.

Berorientasi Obyek..

………

23

2.4.2.

Pemrograman Multi-threaded

………

.

23

2.4.3.

Kesadaran Internet

………

..

24

BAB III METODOLOGI PENELITIAN

………

.

26

3.1.

Pemahaman dan Studi Literatur..

………

26

3.2.

Perancangan Perangkat Lunak

..

………

...

26

3.3.

Implementasi Perangkat Lunak

………

27

3.4.

Uji Coba dan Evaluasi Perangkat Lunak

………

.

27

3.5.

Penarikan Kesimpulan

………

...

28

BAB IV ANALISIS DAN PERANCANGAN SISTEM

………

.

29

4.1.

Sebelum Penelitian Dilakukan

………

..

29

4.1.1.

Perancangan Umum Perangkat Lunak..

………

...

29

4.1.1.1.

Diagram Use Case

………

...

30

4.1.1.2.

Flowchart

………

.

..

……

.

.

31

4.1.1.2.1

Aplikasi Client

………

.

..

……

...

31

4.1.1.2.2

Aplikasi Server

………

.

.

.

.

32

4.1.1.3.

Diagram Kelas..

………

.

……

.

………

.

………

33

4.1.1.4.

Diagram Aktivitas Untuk Setiap Use Case .

………

.

………

.

...

34

4.1.1.5.

Model Interaksi antar Kelas

...

………

.

………

.

...

34

4.1.2.

Desain Sistem

………

.

..

35

4.1.2.1.

Aplikasi Client

………

.

..

……

...

35

4.1.2.2.

Aplikasi Server

………

.

.

.

.

35

4.1.3.

Keluaran Sistem

………

...

36

4.2.

Setelah Penelitian Dilakukan

………

..

………

..

36

(14)

xiv

4.2.1.1.

Diagram Use Case

………

...

37

4.2.1.1.1

Aplikasi Client Pembangkit Koneksi versi 1 dan versi 2

………

....

37

4.2.1.1.2

Aplikasi Client Pembangkit Koneksi versi 3

………

...

………

..

37

4.2.1.2.

Flowchart

………

.

..

……

.

.

41

4.2.1.2.1

Aplikasi Client ..

………

.

..

……

...

41

4.2.1.2.2

Aplikasi Server

………

.

.

.

.

45

4.2.1.3.

Diagram Kelas..

………

.

……

.

………

.

………

47

4.2.1.3.1

Aplikasi Client..

………

.

..

……

...

47

4.2.1.3.2

Aplikasi Server

………

.

.

.

.

50

4.2.1.4.

Diagram Aktivitas Untuk Setiap Use Case .

………

.

………

.

...

51

4.2.1.4.1

Aplikasi Client Pembangkit Koneksi Versi 1

………

.

………

.

....

51

4.2.1.4.2

Aplikasi Client Pembangkit Koneksi Versi 2

………

.

………

.

....

52

4.2.1.4.3

Aplikasi Client Pembangkit Koneksi Versi 3

………

.

………

.

....

53

4.2.1.5.

Model Interaksi antar Kelas

...

………

.

………

.

...

54

4.2.1.5.1

Aplikasi Client Pembangkit Koneksi Versi 1

………

.

………

.

....

54

4.2.1.5.2

Aplikasi Client Pembangkit Koneksi Versi 2

………

.

………

.

....

54

4.2.1.5.3

Aplikasi Client Pembangkit Koneksi Versi 3

………

.

………

.

....

55

4.2.2.

Desain Sistem

………

.

..

55

4.2.2.1.

Aplikasi Client ..

………

.

..

……

...

55

4.2.2.1.1

Aplikasi Client Pembangkit Koneksi Versi 1

………

.

………

.

....

55

4.2.2.1.2

Aplikasi Client Pembangkit Koneksi Versi 2

………

.

………

.

....

56

4.2.2.1.3

Aplikasi Client Pembangkit Koneksi Versi 3

………

.

………

.

....

56

4.2.2.2.

Aplikasi Server

………

.

.

.

.

57

4.2.2.2.1

Aplikasi Server Penerima Koneksi Versi 1 dan 2

………

.

..

57

4.2.2.2.2

Aplikasi Server Penerima Koneksi Versi 3

………

.

.

……

...

57

4.2.3.

Keluaran Sistem

………

...

59

BAB V IMPLEMENTASI SISTEM

………

....

……

.

60

5.1.

Spesifikasi Hardware dan Software

…………

..

………

...

60

5.1.1.

Spesifikasi Hardware

………

...

60

5.1.2.

Spesifikasi Software

………

..

………

...

60

(15)

xv

5.2.1.

Aplikasi Client

………

...

61

5.2.1.1.

Versi 1

………

...

61

5.2.1.2.

Versi 2

………

...

63

5.2.1.3.

Versi 3

………

...

66

5.2.2.

Aplikasi Server

………

...

………

...

70

5.3.

Simulasi Program

………

...

………

...

71

5.3.1.

Aplikasi Client Pembangkit Koneksi versi 1 dan Aplikasi Server

Penerima Koneksi versi 1

……

...

…………

...

………

...

...

71

5.3.1.1.

Mencari dan Menghubungkan 2 Komputer

……

...

………

...

71

5.3.1.2.

Menjalankan Aplikasi di Kedua Komputer

……

...

………

...

72

5.3.1.3.

Melihat Statistik

……

...

………

...

………

...

……

...

75

5.3.2.

Aplikasi Client Pembangkit Koneksi versi 3...

…………

...

……

..

76

5.3.2.1.

Situs diakses dengan menggunakan browser.

…………

...

……

...

76

5.3.2.2.

Situs diakses dengan menggunakan Aplikasi Client Pembangkit

Koneksi versi 3 tanpa DNS Poisoning...

………

...

……

....

77

5.3.2.3.

Situs diakses dengan menggunakan Aplikasi Client Pembangkit

Koneksi versi 3 dengan DNS Poisoning....

………

...

……

....

77

5.4.

Pembahasan

……

...

………

...

………

...

…………

..

78

5.4.1.

Pengujian Menggunakan

Client dan

Server dengan Spesifikasi

Perangkat Keras Setara

……

...

………

...

………

...

81

5.4.1.1.

Client Komputer Lambat dan Server Komputer Lambat

……

...

81

5.4.1.2.

Client Komputer RAM Bagus dan Server Komputer RAM Bagus..

84

5.4.1.3.

Client Komputer

Processor Bagus dan

Server Komputer

Processor Bagus

……

...

………

...

………

...

……

..

86

5.4.2.

Pengujian Menggunakan

Client dan

Server dengan Spesifikasi

Perangkat Keras Berbeda

……

...

………

...

………

...

90

5.4.2.1.

Client Komputer Lambat dan

Server Komputer

Processor

Bagus....

……

...

……

...

…………

.

………

...

…………

.

90

5.4.2.2.

Client Komputer

Processor Bagus dan

Server Komputer

Lambat...

……

...

……

...

…………

.

………

...

………

.

91

(16)

xvi

5.4.2.4.

Client Komputer RAM Bagus dan Server Komputer Lambat...

.

95

5.4.2.5.

Client Komputer

Processor Bagus dan

Server Komputer RAM

Bagus

……

...

………

...

………

...

………

...

97

5.4.2.6.

Client Komputer RAM Bagus dan

Server Komputer

Processor

Bagus

……

...

………

...

………

...

………

...

99

5.4.3.

Pengujian Menggunakan 3 Komputer

...

………

...

……

103

5.4.3.1.

Client I Komputer RAM Bagus, Client II Komputer RAM Bagus,

dan Server Komputer Processor Bagus

...

………

...

103

5.4.3.2.

Client Komputer

Processor Bagus,

Server I Komputer RAM

Bagus, dan Server II Komputer RAM Bagus

...

……

.

...

106

5.5.

Kelebihan dan Kekurangan Aplikasi

...

………

...

……

..

111

5.5.1.

Kelebihan Aplikasi

...

………

...

………

...

……..

111

5.5.2.

Kekurangan Aplikasi

...

………

...

…………

...

……...

111

BAB VI PENUTUP

………

...

………

....

....

112

6.1.

Kesimpulan...

………..

..

112

6.2.

Saran

……….

112

DAFTAR PUSTAKA

………

.

113

(17)

xvii

DAFTAR GAMBAR

Gambar

Keterangan

Halaman

2.1

three-way handshake

10

2.2

Contoh operasi HTTP

12

2.3

Arsitektur umum klien server

21

4.1

Use case memasukkan jumlah koneksi

30

4.2

Flowchart Client

31

4.3

Flowchart Server

32

4.4

Diagram Kelas Client

33

4.5

Diagram Kelas Server

33

4.6

Diagram aktivitas memasukkan jumlah koneksi

34

4.7

Diagram sekuens memasukkan jumlah koneksi

34

4.8

Form Utama Aplikasi Client

35

4.9

Form Utama Aplikasi Server

35

4.10

Use case kirim permintaan sesuai jumlah koneksi

37

4.11

Use case kirim permintaan sesuai jumlah koneksi

39

4.12

Flowchart Aplikasi Client Pembangkit Koneksi Versi 1

41

4.13

Flowchart Aplikasi Client Pembangkit Koneksi Versi 2

43

4.14

Flowchart Aplikasi Client Pembangkit Koneksi Versi 3

44

4.15

Flowchart Aplikasi Server Pembangkit Koneksi Versi 1

dan Versi 2

45

4.16

Flowchart Aplikasi Server Penerima Koneksi Versi 3

46

4.17

Diagram Kelas Aplikasi Client Pembangkit Koneksi

Versi 1

47

4.18

Diagram Kelas Aplikasi Client Pembangkit Koneksi

Versi 2

48

4.19

Diagram Kelas Aplikasi Client Pembangkit Koneksi

versi 3

(18)

xviii

4.20

Diagram Kelas Aplikasi Server Pembangkit Koneksi

Versi 1 dan Versi 2

50

4.21

Diagram Kelas Aplikasi Server Penerima Koneksi versi

3

50

4.22

Diagram aktivitas memasukkan jumlah koneksi Aplikasi

Client Pembangkit Koneksi Versi 1

51

4.23

Diagram aktivitas memasukkan jumlah koneksi Aplikasi

Client Pembangkit Koneksi Versi 2

52

4.24

Diagram aktivitas memasukkan jumlah koneksi Aplikasi

Client Pembangkit Koneksi versi 3

53

4.25

Diagram sekuens memasukkan jumlah koneksi Aplikasi

Client Pembangkit Koneksi Versi 1

54

4.26

Diagram sekuens memasukkan jumlah koneksi Aplikasi

Client Pembangkit Koneksi Versi 2

54

4.27

Diagram sekuens memasukkan jumlah koneksi Aplikasi

Client Pembangkit Koneksi

55

4.28

Form Utama Aplikasi Client Pembangkit Koneksi Versi

1

55

4.29

Form Utama Aplikasi Client Pembangkit Koneksi Versi

2

56

4.30

Form Utama Aplikasi Client Pembangkit Koneksi Versi

3

56

4.31

Form Utama Aplikasi Server Penerima Koneksi Versi 1

dan Versi 2

57

4.32

Form Utama Aplikasi Server Penerima Koneksi Versi 3

57

5.1

Aplikasi Client Pembangkit Koneksi versi 1

63

5.2

Aplikasi Client Pembangkit Koneksi versi 2

66

5.3

Aplikasi Client Pembangkit Koneksi versi 3

69

5.4

Aplikasi Server Penerima Koneksi versi 1, 2, dan 3

71

(19)

xix

5.6

Ping dan respon dari komputer A

72

5.7

Tampilan saat Aplikasi Client Pembangkit Koneksi

versi 1 berjalan

73

5.8

Tampilan saat Aplikasi Client Pembangkit Koneksi

versi 1 berjalan

73

5.9

Daftar basis data situs-situs yang dikirimkan ke server

73

5.10

Daftar basis data situs-situs dengan status HTTP/1.1 200

OK

74

5.11

Daftar basis data situs-situs dengan status HTTP/1.1 403

FORBIDDEN

75

5.12

Statistik yang tampak pada tampilan Aplikasi Client

Pembangkit Koneksi versi 1

76

5.13

Isi

pesan permintaan yang dikirimkan browser ke situs

77

5.14

Isi

pesan permintaan yang dikirimkan Aplikasi Client

Pembangkit Koneksi versi 3 ke situs

77

5.15

Isi

file hosts setelah mengalami perubahan pada

komputer client

78

5.16

Isi

pesan permintaan yang dikirimkan Aplikasi Client

Pembangkit Koneksi versi 3 ke situs

78

5.17

Spesifikasi perangkat keras komputer lambat

80

5.18

Spesifikasi perangkat keras komputer RAM Bagus

80

5.19

Spesifikasi perangkat keras komputer Processor Bagus

81

5.20

Grafik Perbandingan Perangkat Keras dan Sistem

Operasi pada Client dan Server dengan Spesifikasi

Perangkat Keras Setara

88

5.21

Grafik Perbandingan Perangkat Keras dan Sistem

Operasi pada Client dan Server dengan Spesifikasi

Perangkat Keras Berbeda

101

5.22

Aplikasi Client Pembangkit Koneksi sedang berjalan di

Client I pada koneksi 200

(20)

xx

5.23

Aplikasi Client Pembangkit Koneksi sedang berjalan di

Client II pada koneksi 200

105

5.24

Aplikasi Client Pembangkit Koneksi versi kedua sedang

berjalan pada koneksi 300

108

5.25

Aplikasi Server Penerima Koneksi versi kedua sedang

berjalan di server I pada koneksi 300

109

5.26

Aplikasi Server Penerima Koneksi versi kedua sedang

berjalan di server II pada koneksi 300

(21)

xxi

DAFTAR TABEL

Tabel

Keterangan

Halaman

2.1

Kode status pada HTTP

18

5.1

Data hasil pengujian pada client Komputer Lambat dan

server Komputer Lambat

82

5.2

Data hasil pengujian pada client Komputer RAM Bagus

dan server Komputer RAM Bagus

84

5.3

Data hasil pengujian pada client Komputer Processor

Bagus dan server Komputer Processor Bagus

86

5.4

Data hasil pengujian pada client Komputer Lambat dan

server Komputer Processor Bagus

90

5.5

Data hasil pengujian pada client Komputer Processor

Bagus dan server Komputer Lambat

92

5.6

Data hasil pengujian pada client Komputer Lambat dan

server Komputer RAM Bagus

93

5.7

Data hasil pengujian pada client Komputer RAM Bagus

dan server Komputer Lambat

95

5.8

Data hasil pengujian pada client Komputer Processor

Bagus dan server Komputer RAM Bagus

97

5.9

Data hasil pengujian pada client Komputer RAM Bagus

dan server Komputer Processor Bagus

99

5.10

Data hasil pengujian pada client I Komputer RAM

Bagus, client II Komputer RAM Bagus, dan server

Komputer Processor Bagus

103

5.11

Data hasil pengujian pada client Komputer Processor

Bagus, Server I Komputer RAM Bagus, dan Server II

Komputer RAM Bagus

(22)

1

B AB I

PEN DAHU LUA N

1.1

Latar Belakang Masalah :

Perkembangan internet saat ini semakin meluas di Indonesia. Badan

Pusat Statistik menyatakan bahwa penduduk Indonesia pada Tahun 2010

adalah 237.641.326 orang. Dari jumlah tersebut pengguna internet mencapai

19% (Nielsen, 2011)

[1]

. Ini berarti bahwa sebanyak 45.151.852 penduduk

Indonesia telah mengenal internet. Dari penduduk yang mengenal internet

tersebut, 55% berusia 15-19 tahun, 26% berusia 20-29 tahun, 14% berusia

30-39 tahun, 5% berusia 40-49 tahun, dan 1% di atas 50 tahun (Nielsen, 2011).

Penggunaan internet di Indonesia diatur oleh Undang-Undang Informasi

dan Transaksi Elektonik (UU ITE) Tahun 2008. Salah satu masalah yang

terkait dengan penggunaan internet adalah masalah pornografi. Hal tersebut

diatur dalam UU ITE pasal 27 ayat 1 yang melarang akses terhadap situs yang

mengandung pornografi

[2]

.

(23)

2

Firewall penyaring bekerja pada level jaringan dan melakukan fungsi

penyaringan paket berdasarkan parameter seperti tipe, alamat sumber, alamat

tujuan, dan nomor port. Berdasarkan list, firewall penyaring dibedakan menjadi

2 macam,

blacklist

dan

whitelist. Blacklist

adalah daftar-daftar URL yang

dilarang untuk diakses,

whitelist adalah daftar-daftar URL yang diperbolehkan

untuk diakses (Fachri, Muchammad & Gozali, 2011)

[5]

. Contoh dari fungsi

firewall penyaring adalah saat client meminta suatu halaman atau file ke server,

firewall yang berada di antara

client dan

server akan memantau permintaan

tersebut. Jika permintaan masuk dalam whitelist firewall penyaring, permintaan

akan diteruskan ke

server, kemudian

server akan membalas permintaan client,

namun jika permintaan adalah

blacklist, permintaan akan dihentikan oleh

firewall sehingga

client tidak akan mendapatkan halaman atau

file yang

diminta.

Firewall tipe

proxy server

digunakan untuk mengontrol lalu lintas

keluar

[4]

. Contoh

proxy server

adalah saat seseorang melakukan telnet ke

komputer lain kemudian dia melakukan telnet dari sana ke dunia luar.

Proxy

server dapat melakukan

log segala sesuatu yang pengguna lakukan karena dia

menangani semua komunikasi. Pada HTTP,

proxy

server

ini termasuk URL

yang pengguna lihat. Pada FTP,

proxy server

mencakup setiap

file yang

pengguna download.

Proxy server juga dapat menyaring kata-kata "tidak

pantas" dari situs yang pengguna kunjungi.

Hypertext Transfer Protocol (HTTP) adalah sebuah protokol aplikasi

(24)

3

(Reilly, David & Michael, 2002)

[6]

. Menurut Angus Reid Group pada tahun

2000, 89% pengguna internet menggunakan mesin pencari di internet

[7]

.

Artinya, sebagian besar pengguna menggunakan HTTP saat menggunakan

internet.

Router adalah perangkat yang beroperasi pada lapisan ketiga

Open

System Interconnection

(OSI), yaitu lapisan jaringan (Forouzan, 2007)

[8]

.

Fungsinya adalah untuk meneruskan paket data dari suatu titik dari sebuah

jaringan ke titik pada jaringan lain (Feibel, 1996)

[9]

. Pada tahun 2003, Jufriadif

Na’am mengatakan bahwa

router dapat dijadikan firewall

[10]

.

Sebuah

router memiliki perbedaan spesifikasi dengan

router lainnya.

Perbedaan spesifikasi ini dapat mempengaruhi seorang administrator jaringan

dalam memilih

router untuk dipasang pada jaringannya. Spesifikasi yang

dimaksud misalnya jumlah

port LAN yang tersedia, ketersediaan terhadap

wireless, dan harga. Contoh spesifikasi

router dapat dilihat pada bagian

lampiran, yaitu

Router Mikrotik RB450 yang diambil dari situs

http://www.mikrotik.co.id/brosur.php?id=142.

Spesifikasi

router yang ditunjukkan pada dokumen di bagian lampiran

memiliki kekurangan, yaitu tidak adanya penjelasan berapa banyak permintaan

bersamaan yang mampu ditangani

router. Spesifikasi dokumen yang ada tidak

memberikan informasi berapa banyak permintaan yang mampu ditangani

Router Indoor RB450. Kelemahan tersebut tidak hanya dijumpai pada

Router

(25)

4

dapat membuat seorang administrator jaringan mengalami kesulitan dalam

menentukan

router dengan tipe apa yang cocok untuk digunakan di

jaringannya. Jika jumlah pengguna internet banyak namun kemampuan

router

yang digunakan dalam menangani permintaan kecil, maka proses

browsing

dapat berlangsung lama. Oleh karena itu perlu diadakan pengujian untuk

mengetahui kemampuan penyaringan paket sebuah

router. Pengujian dapat

dilakukan dengan memberikan beban koneksi pada

router karena berdasarkan

teori antrian semakin banyak koneksi maka semakin banyak waktu yang

diperlukan. Inilah yang menjadi latar belakang dibuatnya alat uji pembangkit

koneksi jamak pada http akses.

Ada dua cara yang dapat pengguna lakukan untuk mendapatkan koneksi

maksimal dari

client

ke

server. Pertama adalah adanya banyak

client dengan

sedikit koneksi dan yang kedua adalah sedikit

client dengan banyak koneksi.

Alat uji pembangkit koneksi jamak pada akses HTTP yang direncanakan

berupa sebuah aplikasi

client

server dengan menggunakan cara kedua, yaitu

sedikit

client tetapi banyak koneksi. Aplikasi

client mampu mengirimkan

jumlah koneksi ke

server berdasarkan masukan pengguna, sedangkan aplikasi

server memberikan jawaban atas permintaan yang dikirimkan

client. Aplikasi

(26)

5

1.2

Rumusan Masalah :

Bagaimana cara membuat suatu aplikasi yang dapat digunakan untuk

meneliti kekuatan penyaringan paket akses HTTP yang dapat ditangani

router

sebagai sebuah firewall?

1.3

Tujuan Penelitian :

Membuat suatu aplikasi yang dapat digunakan untuk mempermudah

Pengguna untuk meneliti kekuatan penyaringan paket akses HTTP yang dapat

ditangani router sebagai sebuah firewall.

1.4

Manfaat Penelitian :

Bagi penulis :

a.

Dokumentasi penelitian berguna untuk memenuhi salah satu persyaratan

akademik dalam menyelesaikan pendidikan S1 Teknik Informatika

Universitas Sanata Dharma.

b.

Mendapat pengalaman meneliti.

Bagi universitas :

(27)

6

Bagi masyarakat :

a.

Mempermudah dalam mengetahui seberapa kuat penyaringan paket HTTP

sebuah

firewall melalui aplikasi yang diciptakan sehingga masyarakat

dapat mengetahui jenis

router yang cocok untuk dapat digunakan pada

jaringannya.

1.5

Batasan Masalah :

Dalam penelitian ini hanya dibuat aplikasi yang dapat digunakan untuk

meneliti kekuatan penyaringan paket, tidak meneliti seberapa kuat penyaringan

paket pada firewall.

1.6

Metodologi :

Metodologi pada tugas akhir ini direncanakan seperti berikut:

1.6.1.

Pemahaman Sistem dan Studi Literatur

Mempelajari berbagai macam literatur tentang konsep-konsep yang

berkaitan dengan rumusan masalah, termasuk di dalamnya mempelajari

pemrograman client - server pada Java yang berkaitan dengan pembuatan

tugas akhir.

1.6.2.

Analisa dan Perancangan Perangkat Lunak

(28)

7

1.6.3.

Implementasi Perangkat Lunak

Pada tahap ini akan dilakukan proses pembuatan perangkat lunak.

1.6.4.

Uji Coba dan Evaluasi Perangkat Lunak

Melakukan uji coba dan evaluasi perangkat untuk mencari masalah

yang mungkin timbul, mengevaluasi jalannya program, dan mengadakan

perbaikan jika ada kekurangan.

1.6.5.

Penarikan Kesimpulan

Pada tahap ini akan ditarik sebuah kesimpulan dari pembuatan

perangkat lunak yang dilakukan.

1.7

Sistematika Pembahasan :

Buku laporan proyek akhir ini terdiri dari 6 bab dengan perincian sebagai

berikut :

Bab I : Bab ini menjelaskan tentang latar belakang, rumusan masalah,

tujuan, manfaat, batasan masalah, metodologi singkat penelitian,

dan sistematika penulisan proyek akhir.

Bab II : Bab ini menjelaskan tentang landasan teori yang mendukung

penelitian.

Bab III : Bab ini menjelaskan tentang metodologi kompleks yang dilakukan

dalam penelitian.

(29)

8

Bab V : Bab ini menjelaskan pengujian dan analisa sistem apakah hasil

yang telah ditetapkan sesuai dengan tujuan perancangan.

(30)

9

B AB II

TIN JAUA N PUS TAK A

2.1

TCP (

Transport Control Protocol

)

[11]

:

TCP merupakan protokol yang terdapat pada lapisan

transport TCP/IP.

Dalam pengiriman data TCP bersifat

byte stream,

connection-oriented, dan

dapat diandalkan. Komunikasi

byte stream berarti data dinyatakan dalam

urutan-urutan byte.

Connection-oriented

berarti sebelum terjadi pertukaran

data, harus terlebih dahulu terjadi sebuah hubungan.

TCP andal dalam pengiriman data. Unit data dipecah-pecah dan diberi

nomor urut (sequence number) sebelum dikirimkan dari lapisan aplikasi ke

lapisan berikutnya. TCP selalu meminta konfirmasi setiap kali data yang

dikirim selesai. TCP menggunakan sebuah

checksum

untuk memastikan

kerusakan data. Jika data sampai ke tujuan dengan selamat, TCP akan

mengirimkan data urutan selanjutnya. Jika tidak, urutan data yang hilang atau

rusak tersebut akan dikirim ulang oleh TCP.

(31)

10

Gambar 2.1

three-way handshake

(32)

11

2.2

Protokol HTTP

[12]

:

HTTP adalah sebuah protokol transaksi berorientasi

client

server.

Penggunaan HTTP yang paling khas yaitu antara browser dan

server web.

Untuk mendukung kehandalan, HTTP menggunakan TCP. Namun, HTTP

adalah protokol "stateless" : setiap transaksi diperlakukan secara independen.

Hal tersebut berarti bahwa koneksi

client

(browser) dan web server akan

terputus secara otomatis setelah setiap kali telah terjadi transaksi data

(request-response).

Fitur HTTP yang lain adalah format yang dapat ditanganinya fleksibel.

Ketika

client mengajukan sebuah permintaan ke

server, permintaan tersebut

mencakup daftar prioritas format yang dapat ditangani

client lalu server akan

membalasnya dengan format yang sesuai. Sebagai contoh, browser Lynx tidak

dapat menangani gambar, sehingga

web server tidak perlu mengirimkan segala

bentuk gambar pada halaman web.

Gambar 2.2 menunjukkan kasus operasi HTTP paling sederhana di mana

agen pengguna menciptakan suatu hubungan langsung dengan

server asal.

Agen pengguna adalah

client yang memulai permintaan, seperti

web browser.

Server asal adalah

server di mana sumber daya yang ingin diakses berada,

contoh adalah

web server. Pada kasus ini,

client akan membuka koneksi TCP

end-to-end antara client dan server.

Client kemudian mengirimkan permintaan

(33)

12

Gambar 2.2

Contoh operasi HTTP

Ketika

server menerima permintaan, ia mencoba untuk melakukan aksi

yang diminta dan kemudian mengembalikan sebuah tanggapan HTTP.

Tanggapan mencakup informasi status, kode keberhasilan/kesalahan, dan

MIME (misalnya : pesan yang berisi informasi tentang

server, informasi

tentang jawaban itu sendiri, dan isi tubuh). Koneksi TCP kemudian ditutup.

2.2.1.

Koneksi

Non-Persistent

dan

Persistent

pada HTTP

Ada 2 macam tipe koneksi pada HTTP, yaitu :

2.2.1.1.

Koneksi Non-Persistent

Koneksi

non-persistent

adalah modus standar untuk HTTP/1.0.

Pada koneksi

non-persistent setiap koneksi TCP akan ditutup setelah

server mengirimkan objek, artinya koneksi tidak berlaku untuk objek

(34)

13

2.2.1.2.

Koneksi Persistent

Dengan koneksi

persistent, server membiarkan koneksi TCP tetap

terbuka setelah mengirim tanggapan ke client. Permintaan dan tanggapan

antara

client dan

server yang sama dapat dikirim melalui sambungan

yang sama. Pada contoh di atas,

file

HTML dan sepuluh gambar dapat

dikirim melalui koneksi TCP tunggal melalui satu koneksi TCP

persistent. HTTP

server menutup koneksi ketika tidak digunakan untuk

waktu tertentu (interval timeout).

Ada 2 versi koneksi persistent, yaitu :

a.

Tanpa pipelining

Client mengeluarkan permintaan baru hanya ketika balasan

sebelumnya telah diterima. Dalam contoh di atas, masing-masing

objek (sebuah halaman dengan

file

HTML

dan 10 gambar JPEG)

mengalami satu RTT untuk meminta dan menerima objek.

b.

Dengan pipelining

(35)

14

2.2.2.

Client

Sebuah client, yang tersambung ke

web server lewat koneksi TCP, akan

mengirimkan permintaan HTTP dan membaca tanggapan

server. Ada tiga tipe

permintaan yang dapat dikirimkan aplikasi client ke web server, yaitu :

2.2.1.1.

Metode Permintaan GET

Ketika

client perlu mengambil sumber daya dari

web server,

digunakan permintaan GET. Permintaan GET mengambil dua parameter,

yaitu

pathname dari sumber daya dan versi HTTP yang digunakan.

Contohnya :

GET /index.html HTTP/1.0

GET /images/banner.gif HTTP/1.0

GET /links.html HTTP/1.0

2.2.1.2.

Metode Permintaan HEAD

(36)

15

dengan informasi tentang sumber daya yang tersimpan dalam kolom

header. Namun, konten yang sebenarnya tidak akan dikembalikan,

sehingga menghemat bandwidth jaringan. Contoh dari permintaan HEAD

adalah sebagai berikut:

HEAD /files/averybigfile.zip HTTP/1.0

2.2.1.3.

Metode Permintaan POST

Salah satu keuntungan dari web adalah bahwa situs web dapat

interaktif. Sebagai contoh, awal interaksi datang dalam bentuk

script

Common Gateway Interface, yang mendefinisikan mekanisme standar

untuk komunikasi data dari

browser ke

server.

Script CGI

memungkinkan pengguna untuk berinteraksi dengan aplikasi di sisi

server namun membutuhkan cara bagi

browser untuk melewatkan

informasi dari

client ke

web server. Untuk melewatkannya dapat

digunakan parameter CGI. Meskipun mungkin menggunakan permintaan

GET dalam mengkodekan parameter CGI, namun kekurangannya adalah

panjang URL terbatas. Ada sebuah cara yang lebih baik yaitu dengan

menggunakan metode POST yang memungkinkan

client untuk

mengirimkan lebih banyak informasi (termasuk

file besar) ke script dan

aplikasi pada sisi server.

(37)

16

Ketika tubuh entitas selesai,

server akan memproses informasi dan

mengirimkan tanggapan HTTP. Contoh di bawah ini memberikan

gambaran di mana

browser menyampaikan informasi dari sebuah

form

HTML menggunakan metode permintaan POST.

POST /cgi-bin/information.pl HTTP/1.0

permintaan POST

HTTP client

Content-type: application/x-www-form

Header (terdiri dari

-urlencoded

beberapa kolom)

Content-length: 21

User-Agent: SomeBrowser/1.0

Name=David%20Reilly&answer=yes

Badan Entitas

HTTP/1.0 200 OK

tanggapan HTTP server

Last-Modified: Monday, 27-Dec-99 22:14

GMT

Content-Type: text/html

Content-Length: 4855

HTTP Server Response

<HTML>

Badan Entitas

<HEAD>

(38)

17

</HEAD>

<BODY>

... // body ditulis di sini

</BODY>

</HTML>

2.2.3.

Server

web

Ketika

client terhubung ke

server web, ia akan mengirim permintaan

HTTP bahwa

server akan membaca dan melakukan proses.

Server

mengembalikan tanggapan. Tanggapan terdiri dari komponen sebagai berikut:

a.

Sebuah baris status, dengan kode status numerik dan pesan teks yang bisa

dibaca manusia.

b.

Sebuah tanggapan header, dengan satu atau lebih kolom header diikuti

dengan baris kosong.

c.

Sebuah badan entitas (opsional), yang berisi isi dari

file atau keluaran

server

2.2.2.1.

Baris status

(39)

18

Tabel 2.1

Kode status pada HTTP

Grup Status

Nama Grup Eror

1xx

Bersifat informatif

2xx

Sukses

3xx

Dialihkan

4xx

Eror di client

5xx

Eror di server

2.2.2.2.

Tanggapan Header Server

Tanggapan header terdiri dari dua kelompok kolom header : kolom

"Respon-Header" dan kolom "Badan-Header". Setiap kolom header

merupakan opsional di setiap permintaan. Namun, beberapa kolom akan

hadir di hampir semua situasi, seperti "Content Type" dan

"Last-Modified".

a.

Kolom “Location”

Kolom

“location”

menentukan URL ke sumber daya. Contohnya :

Location: http://www.davidreilly.com/

b.

Kolom “

Server

Kolom "server" memberikan informasi tentang vendor

server dan

nomor versi server. Contohnya :

(40)

19

c.

Kolom “Content

-

Length”

Kolom ini menunjukkan jumlah byte dari entitas tubuh. Contoh

dari kolom ini adalah:

Content-Length: 5934

d.

Kolom “Content

-

Type”

Kolom ini menentukan jenis konten MIME dari entitas tubuh. Jenis

isi MIME dibagi menjadi dua bagian, dipisahkan oleh karakter "/".

Bagian pertama menunjukkan jenis umum dari konten (misalnya, teks,

gambar, file aplikasi), bagian kedua menunjukkan jenis tertentu. Sebagai

contoh, jenis konten dari suatu halaman web adalah teks/html, sedangkan

dokumen teks biasa adalah teks/plain. Contohnya adalah:

Content-Type: image/png

e.

Kolom “Expires”

(41)

20

f.

Kolom “Last

-

Modified”

Kolom "Last-Modified" menunjukkan kapan sebuah sumber daya

terakhir diubah atau terakhir diperbarui. Contoh dari kolom ini adalah:

Last-Modified: Fri, 22-Feb-1998 15:23:11 GMT

g.

Kolom “Pragma”

Kadang-kadang

server ingin mencegah penangkapan sumber daya

sepenuhnya. Sebagai contoh, sebuah halaman yang berubah setiap

beberapa menit (contohnya halaman informasi harga saham) atau yang

berisi informasi sensitif yang mungkin tidak dikehendaki ditangkap oleh

perantara

proxy

server ditandai dengan kolom "pragma". Contohnya

adalah:

Pragma: nocache

h.

Kolom “Set

-

Cookie”

Ketika sebuah aplikasi di sisi

server ingin mengirim

cookie ke

browser, ia menambahkan kolom "Set-Cookie" untuk tanggapan HTTP.

Permintaan berikutnya oleh

browser akan mencakup

cookie, sehingga

client dapat dilacak. Tidak semua

browser memiliki

cookie yang aktif,

dan aplikasi dari sisi

server harus menyadari bahwa tidak ada pesan

kesalahan yang dikirim jika

browser tidak menerima

cookies. Contoh

dari kolom ini adalah:

(42)

21

2.2.2.3.

Badan Entitas

Tubuh entitas adalah aliran

byte yang membentuk konten yang

sebenarnya dari sumber daya yang diminta. Konten ini mungkin statis

(file yang isinya perubahan yang jarang atau tidak sama sekali) atau

dinamis (tergantung tanggapan

server untuk permintaan

client).

Informasi meta tentang entitas tubuh yang terkandung dalam entitas

header field seperti "Content Type" dan "Content-Length."

2.3

Client

server

[13]

:

Client

server merupakan arsitektur yang memisahkan antara

client

dengan

server. Setiap

client atau

server yang terhubung ke jaringan disebut

sebagai

node. Umumnya arsitektur ini memiliki 2 tipe

node yaitu:

client dan

server. Dengan arsitektur ini, memungkinkan perangkat untuk melakukan

pertukaran file.

Gambar 2.3

Arsitektur umum client server

(43)

22

tersebut, memprosesnya, lalu mengirimkan informasi yang dihasilkan kepada

client. Beberapa penerapan arsitektur

client

server, yaitu pada

web browser

sebagai

client, serta

server web,

database server, dan

mail server sebagai

server.

2.3.1.

Karakteristik

Client

Server

Karakteristik client secara umum :



Aktif



Mengirimkan permintaan



Menunggu balasan permintaan dari server



erhubung dengan sedikit server dalam suatu waktu

Sedangkan karakteristik server secara umum :



Pasif



Menunggu permintaan dari client



Ketika terdapat permintaan masuk kepadanya,

server akan

langsung memproses dan mengirimkan hasil informasinya kepada

client yang meminta



enerima koneksi dari client dalam jumlah yang besar

2.3.2.

Keuntungan dan Kerugian Arsitektur

Client

Server

(44)

23



Semua data tersimpan di

server, sehingga manajemen keamanan

penuh berada pada

server. Keuntungan jika dibandingkan dengan

manajemen keamanan data yang tersebar adalah terjaminnya

pengguna yang berhak mengakses data.



arena data yang tersimpan terpusat, proses

update

data menjadi

mudah dilakukan daripada melakukan

update

data yang tersebar.

Pada kasus

peer to peer,

update data dilakukan di setiap

peer,

hal

ini tentunya sangat memakan waktu dan rentan terdapat data yang

tidak konsisten.

Sedangkan kerugian dari penerapan arsitektur

client

server antara

lain:



Semakin banyak jumlah permintaan yang dikirimkan

client

dapat

mengakibatkan server dan jaringan kelebihan beban.



Jika

server mengalami kerusakan, maka permintaan

dari

client

tidak dapat ditanggapi. Akibatnya semua

client yang terkoneksi

dengan server tidak dapat menerima hasil permintaannya.

2.4

Pemrograman Java :

(45)

24

Tujuan sesungguhnya Java

adalah memenuhi kebutuhan, yaitu sebuah

bahasa yang bisa digunakan pada berbagai

platform

yang bisa dijalankan ke

dalam berbagai produk elektronik seperti PDA dan telepon genggam.

Star 7

adalah sebuah remote kontrol yang merupakan salah satu proyek pertama yang

pengembangannya menggunakan Java

[13]

.

Pada saat yang sama, World Wide Web

dan

Internet

berkembang sangat

cepat. Java

berkembang dan dapat dirancang untuk mendukung

World Wide

Web dan

Internet, menjadikan sebuah pilihan untuk pemrograman jaringan

[6]

.

Java memiliki beberapa kelebihan, yaitu :

2.4.1.

Berorientasi Obyek

Dengan adanya bahasa berorientasi objek, programmer dapat bekerja

sesuai prosedur dan lebih produktif. Menerapkan prinsip-prinsip desain

berorientasi objek membuat berbagai bagian proyek perangkat lunak lebih

mudah dirangkai dan proyek-proyek besar lebih mudah dikelola. Fitur lain

seperti pewarisan kelas dan visibilitas (public,

privat, dan

protected di Java)

membuat bahasa berorientasi objek lebih mudah dan lebih aman untuk bekerja

daripada bahasa prosedural lain yang lebih tua.

2.4.2.

Pemrograman

Multi-threaded

(46)

25

membutuhkan

overhead tambahan, seperti memori untuk kode aplikasi dan

duplikasi variabel di antara setiap proses.

Alternatif yang lebih baik adalah pemrograman

multi-threaded.

Multi-threaded mendukung pemrosesan bersamaan, tetapi dengan memori bersama

untuk kode aplikasi dan data. Akibatnya memori lebih hemat dan thread dapat

berinteraksi untuk bekerja sama satu sama lain jika diperlukan.

Bahasa lain juga memiliki dukungan

multi-threaded, tetapi Java telah

dirancang untuk mendukung program tersebut dan menyediakan kemampuan

secara sederhana menulis kode thread yang aman.

2.4.3.

Kesadaran

Internet

Pada bahasa pemrograman lain seperti C dan C++, supaya dapat

digunakan untuk menulis aplikasi

internet, mereka harus tergantung pada

library khusus yang harus digunakan dan harus tergantung pada sistem operasi.

Java menyediakan API, jaringan kaya fitur lengkap yang menawarkan

antarmuka konsisten untuk pengembang. Java tidak peduli pada

platform apa

mereka berjalan. Jaringan API juga dirancang dengan baik, dan tentu saja lebih

mudah digunakan daripada bahasa lain. Java menyediakan kelas jaringan dan

input/output stream sehingga membuatnya mudah digunakan dan efisien.

Secara khusus, Java menawarkan kelas untuk sumber daya jaringan berikut:

alamat IP

paket User Datagram Protocol

(47)

26

permintaan HyperText Transfer Protocol

(48)

26

B AB III

M ETODOLOG I PEN EL IT IAN

Metode penelitian adalah teknik atau cara mencari, memperoleh,

mengumpulkan, atau mencatat data yang dapat digunakan untuk menyusun karya

ilmiah kemudian menganalisa faktor-faktor yang berhubungan dengan pokok-pokok

permasalahan sehingga didapat kebenaran atas data yang diperoleh (Sintasuhan,

2010)

[14]

. Bab ini berisi tentang bagaimana proses pemahaman sistem dan studi

literatur, bagaimana perangkat lunak dirancang, diimplementasikan, diuji coba dan

dievaluasi, serta dari mana kesimpulan didapatkan.

3.1

Pemahaman Sistem dan Studi Literatur :

Mempelajari berbagai macam literatur tentang konsep-konsep yang

berkaitan dengan rumusan masalah, termasuk di dalamnya mempelajari

pemrograman klien server pada Java yang berkaitan dengan pembuatan tugas

akhir.

3.2

Perancangan Perangkat Lunak :

(49)

27

pada bagian belakang ke server. Contohnya

adalah “GET /facebook.html

HTTP/1.1

”. Metode permintaan yaitu GET, nama

file yaitu /facebook.html, dan

versi HTTP yang digunakan adalah HTTP/1.1. Metode permintaan dan versi

HTTP pada program selalu sama, yaitu GET dan HTTP/1.1. Program

client

mampu mengirimkan permintaan dengan jumlah yang banyak. Banyaknya

jumlah permintaan tergantung masukan pengguna. Program server yang dibuat

akan menanggapi setiap permintaan

client

yang masuk dengan “HTTP/1.

1 200

OK”. Keluaran yang diharapkan dari perangkat lunak yang

akan dibuat adalah

RTT masing-masing permintaan dan koneksi aktif yang berlangsung.

Namun seiring dengan perkembangan dan kebutuhan penelitian, terdapat

beberapa modifikasi dari perancangan perangkat lunak. Modifikasi tersebut

dijelaskan lebih lengkap pada bagian Analisa dan Perancangan Sistem.

3.3

Implementasi Perangkat Lunak :

Pada tahap ini akan dilakukan proses pembuatan perangkat lunak dengan

menggunakan bahasa pemrogaman Java. Dipilihnya bahasa pemrogaman Java

karena dapat bekerja pada berbagai arsitektur

processor

dan berbagai sistem

operasi, serta mendukung aplikasi jaringan

[15]

.

3.4

Uji Coba dan Evaluasi Perangkat Lunak :

(50)

28

Uji coba direncanakan dengan menjalankan program pada komputer

dengan spesifikasi

hardware dan sistem operasi yang berbeda. Karena operasi

thread pada aplikasi membutuhkan sumber daya komputer agar dapat berjalan,

harus terdapat perbedaan banyak koneksi pada masing-masing komputer

dengan spesifikasi hardware dan sistem operasi yang berbeda.

3.5

Penarikan Kesimpulan :

(51)

29

B AB IV

ANAL IS IS DAN PERA NCAN GAN SIS T EM

4.1.

Sebelum Penelitian Dilakukan

4.1.1.

Perancangan Umum Perangkat Lunak

Perangkat lunak yang akan dibuat pada penelitian ini berfungsi untuk

menggantikan koneksi nyata yang dilakukan oleh banyak pengguna dalam

suatu waktu. Oleh karenanya, masukan pada aplikasi

client adalah jumlah

koneksi yang ingin dilakukan secara bersamaan. Aplikasi

server berfungsi

untuk membalas semua permintaan yang masuk dengan “HTTP/1.0 200 OK”

yang artinya file yang diminta ada di server.

Gambar

Gambar Keterangan
Grafik Perbandingan Perangkat Keras dan Sistem
Tabel Keterangan
Gambar 2.1 three-way handshake
+7

Referensi

Dokumen terkait

Bila ditinjau dari lapangan pekerjaan utama tersebut, selama satu tahun terakhir persentase penduduk yang bekerja di Sektor Industri, Sektor Perdagangan, rumah

Support terdekat ada di sekitar area 92.55, break konsisten ke bawah area tersebut dapat memicu tekanan bearish lanjutan menguji area 92.00 namun koreksi bearish saat ini

Dari hasil penelitian yang di dapat oleh peneliti, yaitu dengan terbuktinya bahwa efektivitas penggunaan media berkontribusi pada pembelajaran IPS siswa kelas VIII A di

Akan tetapi, perubahan nama Tionghoa menjadi nama Indonesia yang telah dilakukan oleh sebagian besar keturunan Tionghoa di Pecinan Semarang menunjukkan bahwa nama

Kemajuan dan keberhasilan usaha perdagangan yang dilakukan oleh orang-orang keturunan Tionghoa ditunjang oleh kebijakan pemerintah Kolonial Belanda yang memberi

Busyairuddin Usman, op.. c) Penilaian hasil belajar PAI Akidah Akhlak ialah upaya pengumpulan informasi untuk menentukan tingkat penguasaan siswa terhadap suatu kompetensi

Tata massa bangunan dilakukan untuk menyesuaikan kebutuhan ruang pasar ikan dengan pola aliran udara pada tapak sehingga udara yang masuk ke dalam bangunan