31 3.1 Analisis
Pada suatu perancangan system yang berbasis komputer, analisis memegang suatu peranan yang sangat penting dalam membuat rincian system baru. Analisis perangkat lunak yang merupakan langkah pemahaman persoalan sebelum tindakan atau keputusan penyelesaian hasil utama. Analisis system perangkat lunak adalah dokumen rincian atau dokumen sasaran.
Langkah selanjutnya dalam penyusunan system berbasis komputer ialah perancangan system yang bertujuan memberikan gambaran kepada pemakai tentang system yang dibuat dan memberikan gambaran yang jelas kepada pemrogram computer yang akan mengimplementasikan system tersebut.
Dalam pembuatan aplikasi WebProxy untuk situs-situs yang terblokir tidak mengalami kesulitan. Karena, penulis mengambil contoh pembuatan program WebProxy dari versi Glype v1.1. Pembuatan aplikasi WebProxy ini di tujukan bagi pengguna internet untuk mendapatkan situs yang dblok oleh jasa layanan internet. Serta memudahkan pengguna untuk mendapatkan hasil yang di inginkan.
Dalam pembuatan aplikasi WebProxy ini penulis merasakan kelebihan dan kekuranganya.
1. Kelebihan dari aplikasi WebProxy ini :
- Encoding yang digunakan situs-situs internet sudah mulai banyak.WebProxy hanya menangani encode URL, Allow Cookies, Remove Object, Encode Page, dan Remove Script.dan hanya terdapat base64 encoding saja.
- Adanya tampilan JQuery di tampilan cookies 2. Kekuranganya dari aplikasi WebProxy ini :
- Encoding yang digunakan pun masih standard dan belum aman untuk user atau pengguna ,sehingga user masih ragu akan menggunakan aplikasi web proxy ini.
Penulis mencoba menambahkan fitur encoding kedalam aplikasi WebProxy. Dan encoding itu sudah banyak digunakan pada layanan situs web di seluruh dunia. Fitur-fitur yang ada di aplikasi WebProxy ini terbatas,yaitu:
Encode URL
Encode url dari halaman yang anda lihat. Sehingga tidak mengandung situs target di plaintext.
Allow Cookies
Cookie mungkin di perlukan apa ada website interaktif (terutama dimana anda harus login), tetapi pengiklanan juga menggunakan cookie untuk melacak kebiasaan browsing anda.
Remove Objects
Anda dapat meningkatkan load halaman dengan menghapus flash yang tidak perlu, Java dan Objek lain. Jika tidak dihapus, ini mungkin juga kompromi anonimitas anda.
Encode Page
Membantu menghindari filter oleh encoding halaman sebelum mengirimnya dan decoding dengan javascript setelah diterima.ini tidak 100% dapat diandalkan dan bisa pecah dalam beberapa fungsionalitas browser.
Remove Script
Menghapus script untuk melindungi anonimitas anda dan mempercepat load halaman. Namun, tidak semua situs akan memberikan alternative HTML saja.
Fungsi dari fitur-fitur ini adalah membantu pengguna untuk mendapatkan hasil yang di peroleh secara cepat, akurat dan lengkap. Sehingga memuaskan pengguna untuk mendapatkan hasil yang di inginkan.
3.2 Perancangan
Pada bagian ini akan dijelaskan secara detail dan rinci dalam perancangan aplikasi WebProxy.
3.2.1 Tahapan Desain Proxy 3.2.1.1 Inisialisasi
Objektif dari tahap ini adalah mendefinisikan kebutuhan yang relevan dan dapat diaplikasikan dalam evolusi arsitektur internet. Dalam tahap ini sangat perlu adanya edukasi dan penyebaran yang memadai untuk mempersiapkan seluruh data yang di perlukan dalam perancangan.
3.2.1.2 Mendefinisikan system WebProxy awal
Objektif dari tahap ini adalah mendefinisikan status system WebProxy awal, mendokumentasi, melakukan analisa resiko, dan merancanangkan perubahan yang relevan dari hasil analisa resiko. Pendefinisian WebProxy awal didefinisikan oleh flowchart dan dapat diihat pada Gamabr 3.1.
3.2.1.3 mendefinisikan system WebProxy yang di harapkan
Objektif dri tahap ini mendefinisikan system WebProxy yang baru berdasarkan hasil analisa resiko dan prediksi terhadap kemungkinan teburuk. Pendefinisian WebProxy yang diharapkan didefinisikan oleh diagram sequence dapat dilihat pada Gambar 3.2.
Dari Gambar 3.1 flowchart WebProxy awal terlihat bahwa suatu flowchart harus terdapat proses persiapan dan proses akhir. Sebelum melakukan tahapan proses, maka terlebih dahulu melakukan persiapan untuk dapat melakukan tahapan proses eksekusi. Untuk lebih lanjut lihat keterangan dibawah ini :
1. Start
Tahapan pertama harus melakukan start untuk rangkaian persiapan pembuatan tahapan proses eksekusi.
2. Inisialisai Variabel deklarasi fungsi
Melakukan inisialisai variable terhadap fungsi-fungsi yang sudah ditentukan. 3. Setting Flags
Melakukan pengaturan untuk menentukan flag (halaman utama). 4. Menentukan URL-Encoding berdasarkan flags
Pada tahapan ini akan dilakukan proses eksekusi encoding terhadap proses url_encoding untuk dapat dijalankan pada halaman utama PHProxy.
Encoding yang tersedia,yaitu : a. Encoding URL
Jika dilakukan eksekusi untuk encoding url, maka hasil yang didapat berupa url_encoding
b. Base64 Encoding
Jika dilakukan eksekusi untuk base64 encoding, maka hasil yang didapat berupa base64_encoding
5. Lakukan encoding default url_encoding
Jika dari kedua encoding (encoding url dan encoding page) tidak dilakukan, maka akan dilanjutkan melakukan default url_encoding dan hasil yang didapat berupa default url_encoding.
6. Compress Output if Instructur
Melakukan kompres untuk hasil yang diinginkan jika terdapat perintah lain atau eksekusi yang lain.
Jika dari hasil encoding-encoding berdasarkan flag tidak dilakukan atau tidak dapat dieksekusi atau bahkan terjadi kesalahan, maka harus melakukan
perancangan pembuatan WebProxy dari awal kembali. Jika tidak, maka akan terjadi kesalahan-kesalahan yang tidak diinginkan terus-menerus.
7. Figure Out What To Do Melakukan eksekusi gambar 8. Setting URL
Melakukan pengaturan untuk menentukan url-url apa saja yang dapat dilakukan oleh encoding url dan encoding page.
Jika setting url tidak dilakukan atau tidak dapat dieksekusi atau bahkan terjadi kesalahan, maka akan diulang kembali dari setting url awal.
9. Hotlinking Prevention
Melakukan pencegahan terhadap hotlinking. 10. Open Socket to Server
Melakukan pembukaan jalan untuk socket menuju ke server. 11. Set Request Headers
Melakukan pengaturan header-header yang diminta 12. Proses Response Headers
Melakukan proses menjawab header.
13. Output Response if no Proxification is needed
Terjadi response keluaran bila tidak memerlukan pengaturan proxy. 14. Modify and Dump Resource
Melakukan modifikasi rangkain proses dan menghilangkan sumber-sumber. 15. Proxify HTML Resource
Memproxy sumber-sumber HTML 16. Finish
Tahapan ini adalah akhir dari penyelesaian rangkaian proses pembuatan WebProxy awal.
Selanjutnya flowchart untuk mendefinisikan flowchart WebProxy yang diharapkan. Lihat Gambar 3.2.
Dari Gambar 3.2 flowchart WebProxy yang diharapkan terlihat bahwa ada kesamaan dari flowchart WebProxy awal. Tetapi yang membedakannya adalah pada saat pengeksekusian Menentukan URL-Encoding berdasarkan flags. Dari pengeksekusian Menentukan URL-Encoding berdasarkan flags nampak penambahan encoding, yaitu base64 encoding dan rot13 encoding. Untuk lebih lanjut lihat keterangan dibawah ini :
1. Star
Tahapan pertama harus melakukan start untuk rangkaian persiapan pembuatan tahapan proses eksekusi.
2. Inisialisai Variabel deklarasi fungsi
Melakukan inisialisai variable terhadap fungsi-fungsi yang sudah ditentukan. 3. Setting Flags
Melakukan pengaturan untuk menentukan flag (halaman utama). 4. Menentukan URL-Encoding berdasarkan flags
Pada tahapan ini akan dilakukan proses eksekusi encoding terhadap proses url_encoding untuk dapat dijalankan pada halaman utama pengembangan PHProxy .
Encoding yang tersedia,yaitu : a. Encoding url
Jika dilakukan eksekusi untuk rot13 encoding, maka hasil yang didapat berupa url_encoding url.
b. Base64 encoding
Jika dilakukan eksekusi untuk base64 encoding, maka hasil yang didapat berupa url_encoding base64.
c. Rot13 encoding
Jika dilakukan eksekusi untuk rot13 encoding, maka hasil yang didapat berupa url_encoding rot 13.
d. Base32 encoding
Jika dilakukan eksekusi untuk sebuah base32 encoding, maka hasil yang akan didapat adalah url_base32.
5. Lakukan encoding default url_encoding
Jika dari keempat (4) encoding (encoding url, encoding page, base64 encoding, dan rot13 encoding) tidak dilakukan, maka akan dilanjutkan melakukan default url_encoding dan hasil yang didapat berupa default url_encoding.
6. Compress Output if Instructur
Melakukan kompres untuk hasil yang diinginkan jika terdapat perintah lain atau eksekusi yang lain.
Jika dari hasil encoding berdasarkan flag tidak dilakukan atau tidak dapat dieksekusi atau bahkan terjadi kesalahan, maka harus melakukan perancangan pembuatan PHProxy dari awal kembali. Jika tidak, maka akan terjadi kesalahan-kesalahan yang tidak diinginkan terus-menerus.
7. Figure Out What To Do
Mencari tahu apa yang harus dilakukan. 8. Setting URL
Melakukan pengaturan untuk menentukan url-url apa saja yang dapat dilakukan oleh encoding url, encoding page, base64 encoding dan rot13 encoding.
Jika setting url tidak dilakukan atau tidak dapat dieksekusi atau bahkan terjadi kesalahan, maka akan diulang kembali dari setting url awal.
9. Hotlinking Prevention
Melakukan pencegahan terhadap hotlinking. 10. Open Socket to Server
Melakukan pembukaan jalan untuk socket menuju ke server. 11. Set Request Headers
Melakukan pengaturan untuk permintaan menetapkan judul 12. Proses Response Headers
Melakukan dan mengizinkan proses tanggap judul. 13. Output Response if no Proxification is needed
Melakukan respon output jika tidak memerlukan proxification. 14. Modify and Dump Resource
15. Proxify HTML Resource
Melakukan HTML proxify resource 16. Finish
Tahapan ini adalah akhir dari penelesaian rangkaian proses pembuatan WebProxy awal.
Selanjutnya diagram sequence untuk mendefinisikan diagram sequence WebProxy yang diharapkan. Lihat Gambar 3.3.
Dari Gambar 3.3 Diagram aequence WebProxy terlihat bahwa suatu diagram harus terdapat proses persiapan dan proses akhir. Sebelum melakukan tahapan proses, maka terlebih dahulu melakukan persiapan untuk dapat melakukan tahapan proses eksekusi. Untuk lebih lanjut lihat keterangan dibawah ini :
1. Tahapan pertama
Client meminta request atau mengirimkan alamt yang dituju melalui aplikasi webproxy.
2. Tahapan ke dua
Webproxy menerima request dari sebuah client untuk membuka situs yang iya tuju
3. Tahapan ke tiga
Sebelum dikirim request permintaan ke server dari client, maka webproxy mengencoding kan dulu permintaan dari sebuah client tersebut. Encoding yang tersedia dari web proxy ini adalah:
a. Encode URL
Jika dilakukan eksekusi untuk URL encoding ,maka hasil yang didapat berupa url_encoding.
b. Encode Base64
Jika dilakukan eksekusi untuk halaman encoding, maka hasil yang akan didapat berupa base64_encoding
4. Tahapan ke empat
Jika dari hasil encoding-encoding berdasarkan flag tidak dilakukan atau tidak dapat dieksekusi atau bahkan terjadi kesalahan, maka harus melakukan perancangan pembuatan WebProxy dari awal kembali. Jika tidak, maka akan terjadi kesalahan-kesalahan yang tidak diinginkan terus-menerus.
5. Tahapan ke lima
Jika semua telah diencodingkan maka akan di kirimkan ke sebuah server untuk membaca kiriman request dari sebuah client
6. Tahapan ke enam
Sebuah server tidak akan membaca request dari sebuah client yang telah di encodingkan oleh aplikasi webproxy. Dan mengirimkan sebuah request ke internet.
7. Tahapan ke tujuh
Dari server akan mengembalikan hasil request yang diminta oleh client ke sebuah client. Padahal bukan ke sebuah client yang ia kirim . melainkan ke sebuah webproxy.
8. Tahapan ke delapan
Hasil yang dikirim oleh server akan di kembalikan ke sebuah client yang meminta request situs yang dia inginkan.
9. Tahapan ke Sembilan
Sebuah client akan menerima situs yang dia inginkan dari sebuah webproxy .
Selanjutnya Activity diagram, Activity diagram adalah teknik untuk menggambarkan logika procedural, proses bisnis, dan jalur kerja. Dalam beberapa hal, diagram ini memainkan peran mirip sebuah diagram alir, tetapi perbedaan prinsip antar diagram ini dan notasi diagram alir adalah diagram ini mendukung behavior parallel. (Fowler, 2005)
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir
untuk mendefinisikan Activity diagram WebProxy yang diharapkan. Lihat Gambar 3.4.
Client Web proxy server
T Y
Gambar 3.4 Activity Diagram web proxy
3.2.1.4 Merencanakan pengembangan dan perubahan
Melakukan perubahan dalam suatu aplikasi bukan merupakan hal yang mudah, termasuk dalam merubah system WebProxy yang sedang berjalan, karena secara langsung maupun tidak langsung akan mempengaruhi proses-proses lain yang sedang berjalan. Objektif dari tahap ini adalah membuat rencana pengembangan yang komprehensif dengan memperhatikan semua aspek dan mempunyai kekuatan legal yang kuat. Rencana tersebut diharapkan dapat secara fleksibel mengadopsi feedback yang mungkin muncul pada masa pengembangan.
Menentukan situs yang dituju
Meminta request Menentukan flags pada aplikasi proxy Mengirm request Terjadi penolakan terhadap situs yang diterima (ERROR) Menerima request dari client Penerima an request situs yang di terima
Base64 EncodingURL Rot13 Base32
Hasil dan pilihan Encoding yang telah di pilih di Aplikasi web proxy
Mengirim hasil request tadi ke internet dan mengembalikan kembali ke client request yang di minta tadi dengan hasil bias terbuka
dan dapat menampilkan content web yang diminta.
Mengirim ke internet dan menerima kembali Menerima hasil situs yang dituju tadi melalui aplikasi webproxy
3.1.2.5 Mengimplementasi
Objektif dari tahap ini adalah mengeksekusi rencana pengembangan aplikasi tersebut. Termasuk dalam proses ini adalah memasukkan data ke dalam pencarian situs-situs yang diblok dan melakukan adjustment akibat dari feedback.
3.1.2.6 Maintenance
Dalam hal ini memerlukan proses pemeliharaan (maintenance) untuk beradaptasi kepada semua perubahan-perubahan yang terjadi sehingga dapat mengantisipasi terjadinya kelemahan.
3.3 Desain Antar Muka
Pada bagian ini akan digambarkan mengenai sebuah desain antar muka (interface design) pada aplikasi WebProxy pencarian situs yang diblok yang akan di buat.
3.3.1 Desain Antar Muka Halaman WebProxy
Desain antar muka ini merupakan halaman menu utama dan secara umum langsung masuk ke halaman pencarian. Pada halaman ini hanya terdapat box untuk pengetikan situs yang diblok yang akan dicari dan beberapa item pilihan untuk hasil pencarian yang akan dilihat.
Gambar 3.5 Rancangan Halaman WebProxy yang diharapkan
3.3.2 Desain Halaman WeProxy yang telah ditemukan
Desain antar muka ini merupakan halaman menu yang telah ditemukan oleh pengguna. Pada halaman ini terdapat item-item yang sama dengan halaman utama, hanya saja item tersebut terletak pada bagian atas. Lihat Gambar 3.4.