IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

8
MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011 PUTU GEDE INDRA SETYADI - 5107100049 1 IMPLEMENTASI WEB SERVER DI SISTEM ANDROID MENGGUNAKAN PYTHON DAN SL4A (SCRIPTING LANGUAGE FOR ANDROID) Putu Gede Indra Setyadi – Wahyu Suadi, S.Kom, MM, M.Kom – Ary Mazharuddin, S.Kom, M.Comp.Sc Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember, Email: [email protected] Abstrak Kebutuhan akan kemudahan transfer file antar device merupakan salah satu kebutuhan pengguna smartphone android yang masih perlu dikembangkan. Transfer file antar device yang dimaksudkan disini adalah transfer file yang ada pada media penyimpanan smartphone android menuju media penyimpanan device lain yang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fasilitas web browser maupun sebaliknya. Untuk mengatasi kebutuhan diatas, penulis melalui tugas akhir ini melakukan pengembangan web server pada smartphone dengan basis android dengan menggunakan Python dan Android facade API pada SL4A (Scripting Language for Android) yang untuk selanjutnya akan diberi nama android web server. Android web server dirancang mampu melayani kebutuhan pengguna web server untuk melihat isi dari direktori media penyimpanan smartphone android melalui web browser dari device lain dan mampu melayani kebutuhan pengguna web server akan transfer file antar device melalui web browser dari device lain yang dilengkapi dengan fitur otentikasi dan fitur pengawasan terhadap informasi transfer file yang terjadi. Hasil uji coba menunjukkan bahwa adanya fitur transfer file, fitur pengawasan transfer file dan fitur otentikasi yang diterapkan dalam android web server mampu melayani kebutuhan transfer file antar device yang lebih lengkap jika dibandingkan dengan web server yang sudah ada sebelumnya pada smartphone android yang dibangun dengan menggunakan Java dan Android API yaitu dengan adanya fitur upload dan notifikasi transfer file. Selain itu hasil uji coba terhadap performa android web server menunjukkan bahwa android web server mampu melayani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa pernah mengalami kegagalan. Kata kunci: android, android web server, web server, python, SL4A. 1. Pendahuluan Kemajuan dunia teknologi informasi yang begitu cepat ditunjang dengan penemuan dan inovasi telah membawa banyak perubahan dalam kehidupan manusia. Semakin banyak hal dan aspek dalam kehidupan yang menggunakan teknologi informasi untuk menjalankan roda aktivitasnya. Contoh pesatnya perkembangan teknologi informasi adalah perkembangan dari smartphone dan mobile phone yang semakin canggih yang telah menyebabkan perubahan besar pada kebiasan pengguna kedua device tadi. Perubahan tersebut adalah penggunaan dari kedua device tadi yang pada awalnya hanya digunakan untuk keperluan telepon, pesan singkat, pesan elektronik dan browsing menuju pada penggunaan yang mulai menunjang kegiatan sehari-hari, baik itu untuk keperluan pekerjaan maupun keperluan hiburan. Hal ini berimbas pada meningkatnya kebutuhan user akan perpindahan berbagai jenis file antar device seperti smartphone-komputer, smartphone- handphone, smartphone-device multimedia (ipod - touch) maupun sebaliknya, baik file yang menunjang keperluan pekerjaan seperti file presentasi atau file dokumen lainnya, maupun file gambar, audio dan video untuk memenuhi kebutuhan hiburan dan berbagai macam bentuk file lainnya. Untuk mengatasi tingginya kebutuhan aliran perpindahan file antar device ini, dibutuhkan suatu mekanisme yang mudah, cepat dan praktis yaitu dengan memanfaatkan koneksi WiFi pada suatu jaringan dan kemudian melakukan pemindahan file melalui web browser dengan memanfaatkan teknologi web server yang akan dipasangkan pada smartphone berbasis android. Dengan kemampuan pemindahan file yang mudah, cepat dan praktis ini diharapkan mampu memenuhi kebutuhan android smartphone user akan keperluan pemindahan file yang tinggi yang pada akhirnya secara tidak langsung akan berujung pada peningkatan produktivitas dan efektivitas hidup dari android smartphone user. 2. Protokol HTTP HTTP berfungsi sebagai protokol request- response pada model komputasi client-server. Dalam HTTP, web browser akan bertindak sebagai client, sementara aplikasi yang dijalankan pada komputer yang melakukan hosting resource bertindak sebagai server. Client akan mengiriman sebuah request message HTTP ke server. Server yang menyimpan resource atau menyediakan resource mengirimkan response message ke client. Resource bisa terdiri atas bermacam- macam tipe baik resource statis seperti file text,

Transcript of IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

Page 1: IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000491

IMPLEMENTASI WEB SERVER DI SISTEM ANDROID MENGGUNAKAN PYTHON DAN SL4A (SCRIPTING LANGUAGE FOR ANDROID)

Putu Gede Indra Setyadi ndash Wahyu Suadi SKom MM MKom ndash Ary Mazharuddin SKom MCompScJurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember

Email indradotgmailcom

Abstrak Kebutuhan akan kemudahan transfer file antar device merupakan salah satu kebutuhan pengguna smartphone android yang masih perlu dikembangkan Transfer file antar device yang dimaksudkan disini adalah transfer file yang ada pada media penyimpanan smartphone android menuju media penyimpanan device lain yang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fasilitas web browser maupun sebaliknya

Untuk mengatasi kebutuhan diatas penulis melalui tugas akhir ini melakukan pengembangan web server pada smartphone dengan basis android dengan menggunakan Python dan Android facade API pada SL4A (Scripting Language for Android) yang untuk selanjutnya akan diberi nama android web server Android web server dirancang mampu melayani kebutuhan pengguna web server untuk melihat isi dari direktori media penyimpanan smartphone android melalui web browser dari device lain dan mampu melayani kebutuhan pengguna web server akan transfer file antar device melalui web browser dari device lain yang dilengkapi dengan fitur otentikasi dan fitur pengawasan terhadap informasi transfer file yang terjadi

Hasil uji coba menunjukkan bahwa adanya fitur transfer file fitur pengawasan transfer file dan fitur otentikasi yang diterapkan dalam android web server mampu melayani kebutuhan transfer file antar device yang lebih lengkap jika dibandingkan dengan web server yang sudah ada sebelumnya pada smartphone android yang dibangun dengan menggunakan Java dan Android API yaitu dengan adanya fitur upload dan notifikasi transfer file Selain itu hasil uji coba terhadap performa android web server menunjukkan bahwa android web server mampu melayani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa pernah mengalami kegagalan

Kata kunci android android web server web server python SL4A

1 PendahuluanKemajuan dunia teknologi informasi yang

begitu cepat ditunjang dengan penemuan dan inovasi telah membawa banyak perubahan dalam kehidupan manusia Semakin banyak hal dan aspek dalam kehidupan yang menggunakan

teknologi informasi untuk menjalankan roda aktivitasnya

Contoh pesatnya perkembangan teknologi informasi adalah perkembangan dari smartphone dan mobile phone yang semakin canggih yang telah menyebabkan perubahan besar pada kebiasan pengguna kedua device tadi Perubahan tersebut adalah penggunaan dari kedua device tadi yang pada awalnya hanya digunakan untuk keperluan telepon pesan singkat pesan elektronik dan browsing menuju pada penggunaan yang mulai menunjang kegiatan sehari-hari baik itu untuk keperluan pekerjaan maupun keperluan hiburan Hal ini berimbas pada meningkatnya kebutuhan user akan perpindahan berbagai jenis file antar device seperti smartphone-komputer smartphone-handphone smartphone-device multimedia (ipod - touch) maupun sebaliknya baik file yang menunjang keperluan pekerjaan seperti filepresentasi atau file dokumen lainnya maupun filegambar audio dan video untuk memenuhi kebutuhan hiburan dan berbagai macam bentuk filelainnya

Untuk mengatasi tingginya kebutuhan aliran perpindahan file antar device ini dibutuhkan suatu mekanisme yang mudah cepat dan praktis yaitu dengan memanfaatkan koneksi WiFi pada suatu jaringan dan kemudian melakukan pemindahan file melalui web browser dengan memanfaatkan teknologi web server yang akan dipasangkan pada smartphone berbasis android

Dengan kemampuan pemindahan file yang mudah cepat dan praktis ini diharapkan mampu memenuhi kebutuhan android smartphone userakan keperluan pemindahan file yang tinggi yang pada akhirnya secara tidak langsung akan berujung pada peningkatan produktivitas dan efektivitas hidup dari android smartphone user

2 Protokol HTTPHTTP berfungsi sebagai protokol request-

response pada model komputasi client-server Dalam HTTP web browser akan bertindak sebagai client sementara aplikasi yang dijalankan pada komputer yang melakukan hosting resourcebertindak sebagai server Client akan mengiriman sebuah request message HTTP ke server Serveryang menyimpan resource atau menyediakan resource mengirimkan response message ke client

Resource bisa terdiri atas bermacam-macam tipe baik resource statis seperti file text

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000492

audio video gambar dokumen dan bentuk filestatis lainnya maupun resource dinamis yang dibuat oleh perangkat lunak yang ada pada server Pengiriman resource ini dikirimkan oleh HTTP dengan menggunakan penanda khusus yang dikenal dengan MIME type (Multipurpose Internet Mail Extensions type) yang awalnya digunakan untuk menangani pertukaran data pada sistem email

Response berisi kode status informasi mengenai request yang diminta resource MIME type dan berbagai macam pesan lain tergantung pada request client Kode status berfungsi sebagai metode komunikasi bagi server untuk memberitahukan client akan tanggapan server atas request yang diminta oleh client Tabel 1menjabarkan beberapa jenis kode status yang umum digunakan pada HTTP 11 beserta kegunaan deskripsi dari masing-masing kode status1

Tabel 1 HTTP Status Code

Status Code

Reason phrase Deskripsi

200 OK

Request berhasil response body berisi resource yang diinginkan

201 Created Server telah membuat sebuah objek

202 Accepted

Request diterima namum server belum melakukan tindakan lanjut terhadap requestyang dikirimkan

203Non-Authoritative Information

Informasi yang terdapat pada header entitas berasal bukan dari serverasalnya namun berupa copy dari resource

204 No Content

Pesan response berisi header dan kode status namun tidak memiliki body

300 Multiple Choice

Dikembalikan ketika request client menuju ke URL yang mengacu ke beberapa resourcemisalnya server yang memiliki versi Inggris dan Perancis dari dokumen HTML

301 Moved Permanently

Digunakan bila URL request telah dipindahkan secara permanen

400 Bad Request

Digunakan untuk memberikan informasi kepada client bahwa ia telah mengirimkan

request yang salah

401 Unauthorized

Dikembalikan bersama header tertentu yang menanyakan client untuk memberikan authentication sebelum ia dapat memperoleh resource yang diinginkan

403 ForbiddenDigunakan untuk menunjukkan requestditolak oleh server

404 Not Found

Digunakan untuk menginformasikan bahwa request URL tidak dapat ditemukan

500 Internal Server Error

Digunakan bila servermengalami error yang menyebabkan tidak dapat memproses request

501 Not Implemented

Digunakan bila clientmelakukan requestdiluar kemampuan server

502 Bad Gateway

Digunakan ketika serverberperan sebagai proxyatau gateway yang menerima responsepalsu dari linkberikutnya di dalam rantai request response

503 Service Unavailable

Digunakan untuk memberikan informasi bahwa saat ini servertidak dapat menangani request namun akan bisa di lain waktu

504 Gateway Timeout

Response yang berasal dari gateway atau proxyyang menyatakan time out setelah menunggu response terhadap request yang diminta

Urutan dari transaksi request-responsepada jaringan disebut dengan HTTP session ClientHTTP pertama-tama akan menginisialisasi requestyang akan menghasilkan koneksi TCP (Transmission Control Protocol) pada port tertentu pada host umumnya digunakan port 80 HTTP server yang mendengarkan port tersebut menunggu request message dari client Setelah menerima request message tersebut maka serverakan mengirimkan kembali baris status seperti misalnya ldquoHTTP11 200 OKrdquo dan isi pesan itu sendiri yang mungkin berisi konten dari resourceyang diminta pesan eror atau informasi lainnya

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000493

Sebuah request message berisi request line seperti misalnya ldquoGET imageslogopng HTTP11rdquo yang menunjukkan bahwa client meminta sumber yang bernama logopng yang terletak dalam direktori images pada server GET merupakan salah satu HTTP method yang digunakan sebagai media komunikasi antara client ndash server yang dikirimkan oleh client sebagai request

Dalam HTTP terdapat Sembilan macam metode HTTP yang mengindikasikan request yang ingin dilakukan terhadap suatu resource di serveroleh client Tabel 2 menjabarkan sembilan macam metode dari HTTP beserta fungsi dari masing-masing metode yang digunakan dalam HTTP 112namun penerapan dari method ini tergantung dari kebutuhan masing-masing web server minimal dalam sebuah web server terdapat method GET dan HEAD

Tabel 2 HTTP Method

HTTP Method Deskripsi

HEAD

meminta response dari serveryang sama dengan response dari metode request GET bedanya pada HEAD ini adalah tanpa memberikan response dari bodyHal ini digunakan untuk mengirimkan informasi meta yang ditulis dalam header tanpa harus mengirimkan keseluruhan konten file

GET permintaan atas resource spesifik dari suatu file

POST

memberikan data (misalnya dari form HTML) untuk diproses menjadi resource tertentu Data dimasukkan ke dalam body dari request Metode ini bisa menghasilkan resource baru danatau update atas resourceyang sudah ada sebelumnya

PUTdigunakan untuk uploadrepresentasi dari suatu resourcetertentu

DELETE digunakan untuk menghapus suatu resource tertentu

TRACE

digunakan untuk echo balik request yang diterima tujuannya adalah untuk melihat apakah ada perubahan atau penambahan yang diberikan oleh server penghubung (proxy server gateway atau tunnel)

OPTIONSdigunakan untuk mendeteksi HTTP method apa saja yang didukung oleh web server

CONNECT digunakan untuk mengkonversi koneksi request menjadi

transparent TCPIP tunnel yang biasanya digunakan untuk memfasilitasi SSL-encrypted communication (HTTPS) melalui HTTP proxy yang tidak terenkripsi

3 HTTP Basic AuthenticationDalam transaksi HTTP basic access

authentication adalah sebuah metode yang di desain untuk memungkinkan sebuah web browseratau program client lainnya untuk menyediakan credentials berupa request username dan passwordpada saat mengirimkan request ke web server

Proses otentikasi HTTP Basic Authentication dicontohkan melalui tahapan-tahapan dibawah ini

- Client meminta halaman yang memerlukan otentikasi namun tidak menyediakan username dan password

- Server memberikan 401 response codedan menyediakan authentication realm

- Client akan mendapatkan authenticationrealm (biasanya berisi deskripsi dari sistem yang diakses) yang ditujukan kepada user dan prompt untuk mengisi username dan password user juga bisa memilih cancel pada tahap ini

- Setelah username dan passworddimasukkan client akan menambahkan header otentikasi pada hasil encodebase64 dari usernamepassword dan mengirimkannya kembali ke server

- Apabila username dan password yang dimasukkan benar maka server akan menerima otentikasi tersebut dan akan mengirimkan halaman yang diminta client Jika username dan password yang dimasukkan salah maka server akan mengirimkan 401 response code dan client akan meminta user untuk memasukkan username dan passwordkembali

- Jika user memilih cancel pada promptuser maka pesan 401 ndash AuthorizationRequired akan dimunculkan

4 SL4A (Scripting Language for Android)SL4A (Scripting Layer for Android) atau

yang sebelumnya dikenal dengan nama ASE (Android Scripting Environment) adalah sebuah library yang memungkinkan penciptaan dan menjalankan script yang dituliskan dalam berbagai bahasa scripting langsung pada perangkat android SL4A dirancang untuk developer dan masih berupa perangkat lunak dengan kualitas alpha Script ini memiliki dukungan ke subset API dari Java Android applications dengan tampilan yang lebih disederhanakan yaitu Android Facade API

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000494

Bahasa yang didukung oleh SL4A sampai dengan saat ini adalah Python dengan menggunakan CPython Perl Ruby dengan menggunakan JRuby Lua BeanShell dan JavaScript dengan meng-install interpreter darimasing-masing bahasa terlebih dahulu karena pada saat SL4A ter-install interpreter yang ter-installhanya untuk bahasa Shell HTML dan JavaScript

5 PythonPython merupakan bahasa pemrograman

dinamis yang mendukung pemrograman berorientasi obyek dan dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platformsistem operasi Sebagai bahasa pemrograman dinamis python biasanya digunakan sebagai bahasa script dengan interpreter yang terintegrasi dalam sistem operasi Saat ini kode python dapat dijalankan pada sistem operasi berbasis LinuxUnix Windows Max OS X Java Virtual Machine OS2 Amiga Palm Symbian dan Android (dengan bantuan teknologi Scripting Language for Android)

6 Arsitektur SistemPerangkat lunak android web server ini

melakukan hosting resource setelah konfigurasi perangkat lunak berhasil dijalankan oleh userpengguna User pengguna android web server dapat melakukan akses ke dalam resource yang di host dengan menggunakan web browser dan device yang telah terkoneksi ke dalam jaringan Arsitektur umum dari sistem ini digambarkan pada Gambar 1

Gambar 1 Arsitektur umum sistem

7 Rancangan Perangkat LunakTujuan dari pembuatan tugas akhir ini

adalah membuat perangkat lunak yangmemudahkan android smartphone user dalam melakukan pemindahan file secara mudah baik dari smartphone menuju device lain yang memiliki fasilitas web browser dan terkoneksi ke dalam jaringan maupun sebaliknya Adapun

permasalahan yang didapatkan atas tujuan pembuatan tugas akhir ini dijabarkan pada point-point berikut

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneberbasis android sehingga pengguna perangkat smartphone berbasis android dapat dengan mudah dalam melakukan aktivitas berbagi file melalui web browser

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneandroid yang mampu menangani aktivitas berbagi file melalui web browser dengan terotentikasi

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneandroid yang mampu mendeteksi informasi ip address pengguna android web server dan nama file yang telah berhasil di download danatau di uploadmelalui web browser

Pembuatan perangkat lunak ini nantinya akan mengacu pada Asumsi dan ruang lingkup permasalahan yang dijabarkan pada point-point tersebut dibawah ini

bull Pengembangan aplikasi Web Serverberbasis mobile menggunakan bahasa pemrograman Python dan Android Facade Api dengan memanfaatkan teknologi SL4A (Scripting Language For Android) pada perangkat smartphone berbasis Android

bull Pemindahan file antar device yang dimaksudkan disini adalah perpindahan file berupa download file melalui web browser dari media penyimpanan android smartphone ndash media penyimpanan device lain yang memiliki kemampuan untuk tersambung ke dalam jaringan dan memiliki fasilitas web browser (seperti komputer desktopkomputer notebook handphone dengan fitur WiFi smartphone dan ipod touch) dan upload file melalui web browser dari media penyimpanan device lain yang memiliki kemampuan untuk tersambung ke dalam jaringan dan memiliki fasilitas web browser (seperti komputer desktopkomputer notebook handphone dengan fitur WiFi dan fitur upload file yang enable smartphone dengan fitur upload file yang enable dan ipod touch dengan fitur upload file yang enable) ndash media penyimpanan android smartphone dan tentunya setelah baik android smartphone dan device-device ini terhubung ke dalam suatu jaringan

bull Aplikasi Web Server ini nantinya memiliki fitur

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000495

- Pemilik android dapat menentukan sendiri port username password dan direktori file pada media penyimpanan multimedia smartphone berbasis android (sdcard) yang ingin di share

- Menampilkan file dan direktori yang ada pada direktori yang di share dalam bentuk directory listing

- Dapat melakukan download file dan melakukan eksplorasi isi direktori yang telah di share

- Dapat melakukan upload file ke dalam direktori penyimpanan sdcardandrowebserverhasilupload pada android smartphone

- Memiliki fitur otentikasi berupa HTTP basic authentication dengan username dan password yang digunakan untuk aktifitas eksplorasi isi direktori yang di share dan perpindahan file antar device yang ditentukan sebelumnya oleh pemilik smartphone android setiap saat android web server akan dijalankan

- Dapat menampilkan informasi ip address uploader downloader yang berhasil melakukan upload download melalui web browser device lain dan nama file yang berhasil di download di uploadmelalui web browser device lain

Pengembangan perangkat lunak dibagi kedalam dua komponen utama yaitu komponen perangkat lunak user pemilik android web server dan perangkat lunak user pengguna android web server

Gambar 2 merupakan usecase dari komponen perangkat lunak user pemilik android web server yang menggambarkan 2 fitur yang dapat digunakan oleh user pemilik android web server yaitu menjalankan android web server dan melihat informasi transfer file Fitur menjalankan android web server dilakukan dengan memasukkan konfigurasi ndash konfigurasi yang dibutuhkan seperti path directory yang akan di host alamat port yang akan digunakan dan username dan password yang akan digunakan user pengguna android web server saat otentikasi Fitur melihat informasi transfer file didapatkan tiap saat seorang user pengguna android web server berhasil melakukan download upload file

Gambar 2 Komponen user pemilik android web server

Gambar 3 merupakan usecase dari komponen perangkat lunak user pengguna android web server yang menggambarkan 3 fitur yang dapat digunakan oleh user pengguna android web server yaitu melihat isi direktori download file dan upload filedimana dalam menjalankan keseluruhan fitur tersebut diperlukan adanya otentikasi Keseluruhan fitur pada user pengguna android web server diakses melalui web browser dari device yang sudah terkoneksi pada jaringan Proses melihat isi direktori dan download file didahului dengan permintaan GET atas suatu resource kedalam android web server dan kemudian akan diberikan kembalian berupa resource yang diminta apabila otentikasi berhasil dilaksanakan oleh android web serverProses upload file dijalankan dengan melakukan permintaan GET ke dalam halaman uploadhtml yang berfungsi untuk mengirimkan informasi file yang akan di upload oleh user pengguna android web server setelah memasukkan informasi file yang akan diupload melalui halaman uploadhtml maka permintaan POST untuk melakukan upload file akan dikirimkan ke dalam android web server yang kemudian akan ditangani oleh fungsi POST terkostumisasi yang ada di dalam android web server

Gambar 3 Komponen user pengguna android web server

8 Uji CobaUji coba dibagi ke dalam dua jenis percobaan

yaitu uji coba fungsionalitas dan uji coba performa Uji coba fungsionalitas berguna untuk melihat keberhasilan fungsionalitas dari perangkat lunak yang dibangun sedangkan uji coba performa berguna untuk melihat performa dari aplikasi yang dibangun

81 Uji coba fungsionalitasUji coba fungsionalitas dilakukan pada

jaringan local di kost penulis Smartphone Android dikoneksikan pada jaringan WiFi dan mendapatkan IP 1921682102 Aplikasi kemudian dijalankan dengan konfigurasi path directory sdcard port address 8012 username dotdroid dan password dotdroid oleh user

User pemilik android web servermelihat informasi transfer file

Menjalankan android web server

User pengguna android web server

Melihat isi direktori

Download file

Upload file

Login Authentication

ltltincludegtgt

ltltincludegtgt

ltltincludegtgt

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000496

pemilik android web server User pengguna android web server dengan menggunakan notebook HP Probook 4320s yang terhubung pada jaringan yang sama mendapatkan IP 1921682100kemudian melakukan akses ke dalam resourceyang di host oleh android web server dan melakukan upload dan download file Hasil pengujian fungsionalitas dapat dilihat pada Tabel 3

Tabel 3 hasil uji fungsionalitas

Aksi Indikator Keberhasilan

Status

Menjalankan Aplikasi ndash user pemilik android web server

Permintaan konfigurasi Android web server berjalan Aplikasi mampu berjalan dengan masukan konfigurasi yang valid

Berhasil

Melihat informasi transfer file ndash user pemilik android web server

Notifikasi berisi informasi transfer fileberupa ip address dan nama file tertampil pada smartphoneandroid tiap saat user pengguna android web server berhasil melakukan upload download file

Berhasil

Melihat isi direktori path directory yang di host ndash user pengguna android web server

Tertampil halaman html berupa directory listing dari path directory yang di host pada web browser

Berhasil

Download file dari file yangberada didalam path directory yang di host ndash user pengguna android web server

Isi file tertampil pada halaman web browser atau ter-download ke dalam deviceyang digunakan untuk melakukan

Berhasil

download fileUpload file ke dalam direktori upload ndash user pengguna android web server

Pada halaman html dalam web browsertertampil notifikasi upload berhasil dan file berhasil tersimpan dalam direktori uploadandroid web server

Berhasil

Otentikasi android web server

Muncul notifikasi meminta username dan password jika user pengguna android web server belum melakukan otentikasi dan membandingkan dengan username dan password pada saat konfigurasi

Berhasil

82 Uji coba performaUji coba performa dilakukan dengan

melakukan akses terhadap fitur-fitur android web server secara bersamaan melalui 2 device yang berbeda Device yang digunakan dalam uji coba performa ini adalah adalah handphone sony ericsson W715 dengan browser sony ericsson dan Notebook Apple Macbook MC516ZAA dengan browser Google Chrome yang masing-masing terhubung pada jaringan yang sama dengan jaringan yang terhubung pada smartphone android Pada uji coba kali ini smartphone android terhubung pada IP 1921682107 notebook pada IP 1921682101 dan handphone sony ericsson pada IP 1921682105 Hasil uji coba terhadap fungsional perangkat lunak secara bersamaan ini berhasil dengan baik dan hasil yang dihasilkan sama dengan yang ditampilkan pada Tabel 3

Selain dengan melakukan akses fungsional secara bersamaan oleh 2 device berbeda ke dalam resource yang di host oleh android web server uji coba performa juga dilakukan dengan melakukan tes kinerja terhadap android web server dengan menggunakan aplikasi apache benchmark pada jaringan kampus Android web server terkoneksi pada jaringan WiFi IIIC dengan IP 101514347 kemudian dengan menggunakan sebuah komputer

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000497

pada jaringan ajk dengan IP 101513644 dilakukan dari 100 request dengan 20 multiple request sampai dengan 900 request dengan 20 multiple request ke dalam android web server dengan aplikasi apache benchmark Hasil pengujian tes kinerja ini ditunjukkan pada Gambar 4 yang menggambarkan waktu yang dibutuhkan untuk melayani masing-masing jumlah request dan Gambar 5 yang menggambarkan complete dan failed request dari masing-masing jumlah request yang dilayani

Gambar 4 Grafik time taken to complete request

Gambar 5 Grafik complete dan failed request

9 KesimpulanDari hasil pengamatan selama

perancangan implementasi dan proses uji coba

perangkat lunak yang dilakukan dapat diambil kesimpulan sebagai berikut

1 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan untuk melihat halaman html isi direktori yang di share host oleh user pemilik android web server

2 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan transfer file antar deviceyang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fitur web browser dengan adanya otentikasi

3 Perangkat lunak mampu memberikan fitur pengawasan berupa informasi pertukaran file yang terjadi selama android web server dijalankan berupa nama file yang berhasil di download di upload beserta ip address dari uploader dan downloader tersebut kepada user pemilik android web server

4 Hasil uji coba menunjukkan bahwa dalam segi performa dengan melakukan benchmarkmenggunakan apache benchmark didapatkan hasil bahwa perangkat lunak mampu menangani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa mengalami kegagalan

5 Aplikasi ini dapat dijalankan pada smartphonedengan sistem operasi android version 21 update 1 dengan menggunakan SL4A (Scripting Language for Android) dan Python for Android

6 Uji coba menunjukkan bahwa apabila smartphone android masuk ke dalam posisi idle maka koneksi WiFi akan terputus Hal ini dikarenakan smartphone android melakukan penghematan baterai yang digunakan

10 SaranBerikut merupakan beberapa saran untuk

pengembangan sistem di masa yang akan datang berdasar pada hasil perancangan implementasi dan uji coba yang telah dilakukan

1 Menambahkan fungsi yang dapat mengatur waktu idle dari smartphone android

2 Membuat apk (android installer) dari perangkat lunak ini sehingga user pemilik android dapat lebih mudah dalam melakukan instalasi perangkat lunak ke dalam smartphone android

11 Daftar Pustaka1 Anonim Android ndash http ndash server ndash Project

hosting on Google Code 2009 httpcodegooglecompandroid-http-server dikunjungi 8 nopember 2010

2 Anonim HTTP 11 Status Code Definitions 1999 httpwwww3orgProtocolsrfc2616r

05

10152025303540

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

1716

21841

14885

28338

35212

time taken

0100200300400500600700800900

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

100

300

500

700

900

complete req failed req

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000498

fc2616-sec10html

3 Anonim HTTP 11 Method Definitions 1999

dikunjungi 21 nopember 2010

httpwwww3orgProtocolsrfc2616rfc2616-sec9html dikunjungi 21 nopember 2010

4 Anonim HTTP Request Response 2010 httpwwwltgedacuk~htWhatAreURIsrequestResponsepng dikunjungi 20 nopember 2010

5 Anonim RFC 2617 ndash HTTP Authentication Basic and Digest Access Authentication 2009 httpukaskcomBasic_access_authentication dikunjungi 5 december 2010

6 Anonim Android platform architecture 2009 httpwwwandroidcommediaplatform-architectureandroid-23 dikunjungi 15 nopember 2010

Page 2: IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000492

audio video gambar dokumen dan bentuk filestatis lainnya maupun resource dinamis yang dibuat oleh perangkat lunak yang ada pada server Pengiriman resource ini dikirimkan oleh HTTP dengan menggunakan penanda khusus yang dikenal dengan MIME type (Multipurpose Internet Mail Extensions type) yang awalnya digunakan untuk menangani pertukaran data pada sistem email

Response berisi kode status informasi mengenai request yang diminta resource MIME type dan berbagai macam pesan lain tergantung pada request client Kode status berfungsi sebagai metode komunikasi bagi server untuk memberitahukan client akan tanggapan server atas request yang diminta oleh client Tabel 1menjabarkan beberapa jenis kode status yang umum digunakan pada HTTP 11 beserta kegunaan deskripsi dari masing-masing kode status1

Tabel 1 HTTP Status Code

Status Code

Reason phrase Deskripsi

200 OK

Request berhasil response body berisi resource yang diinginkan

201 Created Server telah membuat sebuah objek

202 Accepted

Request diterima namum server belum melakukan tindakan lanjut terhadap requestyang dikirimkan

203Non-Authoritative Information

Informasi yang terdapat pada header entitas berasal bukan dari serverasalnya namun berupa copy dari resource

204 No Content

Pesan response berisi header dan kode status namun tidak memiliki body

300 Multiple Choice

Dikembalikan ketika request client menuju ke URL yang mengacu ke beberapa resourcemisalnya server yang memiliki versi Inggris dan Perancis dari dokumen HTML

301 Moved Permanently

Digunakan bila URL request telah dipindahkan secara permanen

400 Bad Request

Digunakan untuk memberikan informasi kepada client bahwa ia telah mengirimkan

request yang salah

401 Unauthorized

Dikembalikan bersama header tertentu yang menanyakan client untuk memberikan authentication sebelum ia dapat memperoleh resource yang diinginkan

403 ForbiddenDigunakan untuk menunjukkan requestditolak oleh server

404 Not Found

Digunakan untuk menginformasikan bahwa request URL tidak dapat ditemukan

500 Internal Server Error

Digunakan bila servermengalami error yang menyebabkan tidak dapat memproses request

501 Not Implemented

Digunakan bila clientmelakukan requestdiluar kemampuan server

502 Bad Gateway

Digunakan ketika serverberperan sebagai proxyatau gateway yang menerima responsepalsu dari linkberikutnya di dalam rantai request response

503 Service Unavailable

Digunakan untuk memberikan informasi bahwa saat ini servertidak dapat menangani request namun akan bisa di lain waktu

504 Gateway Timeout

Response yang berasal dari gateway atau proxyyang menyatakan time out setelah menunggu response terhadap request yang diminta

Urutan dari transaksi request-responsepada jaringan disebut dengan HTTP session ClientHTTP pertama-tama akan menginisialisasi requestyang akan menghasilkan koneksi TCP (Transmission Control Protocol) pada port tertentu pada host umumnya digunakan port 80 HTTP server yang mendengarkan port tersebut menunggu request message dari client Setelah menerima request message tersebut maka serverakan mengirimkan kembali baris status seperti misalnya ldquoHTTP11 200 OKrdquo dan isi pesan itu sendiri yang mungkin berisi konten dari resourceyang diminta pesan eror atau informasi lainnya

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000493

Sebuah request message berisi request line seperti misalnya ldquoGET imageslogopng HTTP11rdquo yang menunjukkan bahwa client meminta sumber yang bernama logopng yang terletak dalam direktori images pada server GET merupakan salah satu HTTP method yang digunakan sebagai media komunikasi antara client ndash server yang dikirimkan oleh client sebagai request

Dalam HTTP terdapat Sembilan macam metode HTTP yang mengindikasikan request yang ingin dilakukan terhadap suatu resource di serveroleh client Tabel 2 menjabarkan sembilan macam metode dari HTTP beserta fungsi dari masing-masing metode yang digunakan dalam HTTP 112namun penerapan dari method ini tergantung dari kebutuhan masing-masing web server minimal dalam sebuah web server terdapat method GET dan HEAD

Tabel 2 HTTP Method

HTTP Method Deskripsi

HEAD

meminta response dari serveryang sama dengan response dari metode request GET bedanya pada HEAD ini adalah tanpa memberikan response dari bodyHal ini digunakan untuk mengirimkan informasi meta yang ditulis dalam header tanpa harus mengirimkan keseluruhan konten file

GET permintaan atas resource spesifik dari suatu file

POST

memberikan data (misalnya dari form HTML) untuk diproses menjadi resource tertentu Data dimasukkan ke dalam body dari request Metode ini bisa menghasilkan resource baru danatau update atas resourceyang sudah ada sebelumnya

PUTdigunakan untuk uploadrepresentasi dari suatu resourcetertentu

DELETE digunakan untuk menghapus suatu resource tertentu

TRACE

digunakan untuk echo balik request yang diterima tujuannya adalah untuk melihat apakah ada perubahan atau penambahan yang diberikan oleh server penghubung (proxy server gateway atau tunnel)

OPTIONSdigunakan untuk mendeteksi HTTP method apa saja yang didukung oleh web server

CONNECT digunakan untuk mengkonversi koneksi request menjadi

transparent TCPIP tunnel yang biasanya digunakan untuk memfasilitasi SSL-encrypted communication (HTTPS) melalui HTTP proxy yang tidak terenkripsi

3 HTTP Basic AuthenticationDalam transaksi HTTP basic access

authentication adalah sebuah metode yang di desain untuk memungkinkan sebuah web browseratau program client lainnya untuk menyediakan credentials berupa request username dan passwordpada saat mengirimkan request ke web server

Proses otentikasi HTTP Basic Authentication dicontohkan melalui tahapan-tahapan dibawah ini

- Client meminta halaman yang memerlukan otentikasi namun tidak menyediakan username dan password

- Server memberikan 401 response codedan menyediakan authentication realm

- Client akan mendapatkan authenticationrealm (biasanya berisi deskripsi dari sistem yang diakses) yang ditujukan kepada user dan prompt untuk mengisi username dan password user juga bisa memilih cancel pada tahap ini

- Setelah username dan passworddimasukkan client akan menambahkan header otentikasi pada hasil encodebase64 dari usernamepassword dan mengirimkannya kembali ke server

- Apabila username dan password yang dimasukkan benar maka server akan menerima otentikasi tersebut dan akan mengirimkan halaman yang diminta client Jika username dan password yang dimasukkan salah maka server akan mengirimkan 401 response code dan client akan meminta user untuk memasukkan username dan passwordkembali

- Jika user memilih cancel pada promptuser maka pesan 401 ndash AuthorizationRequired akan dimunculkan

4 SL4A (Scripting Language for Android)SL4A (Scripting Layer for Android) atau

yang sebelumnya dikenal dengan nama ASE (Android Scripting Environment) adalah sebuah library yang memungkinkan penciptaan dan menjalankan script yang dituliskan dalam berbagai bahasa scripting langsung pada perangkat android SL4A dirancang untuk developer dan masih berupa perangkat lunak dengan kualitas alpha Script ini memiliki dukungan ke subset API dari Java Android applications dengan tampilan yang lebih disederhanakan yaitu Android Facade API

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000494

Bahasa yang didukung oleh SL4A sampai dengan saat ini adalah Python dengan menggunakan CPython Perl Ruby dengan menggunakan JRuby Lua BeanShell dan JavaScript dengan meng-install interpreter darimasing-masing bahasa terlebih dahulu karena pada saat SL4A ter-install interpreter yang ter-installhanya untuk bahasa Shell HTML dan JavaScript

5 PythonPython merupakan bahasa pemrograman

dinamis yang mendukung pemrograman berorientasi obyek dan dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platformsistem operasi Sebagai bahasa pemrograman dinamis python biasanya digunakan sebagai bahasa script dengan interpreter yang terintegrasi dalam sistem operasi Saat ini kode python dapat dijalankan pada sistem operasi berbasis LinuxUnix Windows Max OS X Java Virtual Machine OS2 Amiga Palm Symbian dan Android (dengan bantuan teknologi Scripting Language for Android)

6 Arsitektur SistemPerangkat lunak android web server ini

melakukan hosting resource setelah konfigurasi perangkat lunak berhasil dijalankan oleh userpengguna User pengguna android web server dapat melakukan akses ke dalam resource yang di host dengan menggunakan web browser dan device yang telah terkoneksi ke dalam jaringan Arsitektur umum dari sistem ini digambarkan pada Gambar 1

Gambar 1 Arsitektur umum sistem

7 Rancangan Perangkat LunakTujuan dari pembuatan tugas akhir ini

adalah membuat perangkat lunak yangmemudahkan android smartphone user dalam melakukan pemindahan file secara mudah baik dari smartphone menuju device lain yang memiliki fasilitas web browser dan terkoneksi ke dalam jaringan maupun sebaliknya Adapun

permasalahan yang didapatkan atas tujuan pembuatan tugas akhir ini dijabarkan pada point-point berikut

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneberbasis android sehingga pengguna perangkat smartphone berbasis android dapat dengan mudah dalam melakukan aktivitas berbagi file melalui web browser

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneandroid yang mampu menangani aktivitas berbagi file melalui web browser dengan terotentikasi

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneandroid yang mampu mendeteksi informasi ip address pengguna android web server dan nama file yang telah berhasil di download danatau di uploadmelalui web browser

Pembuatan perangkat lunak ini nantinya akan mengacu pada Asumsi dan ruang lingkup permasalahan yang dijabarkan pada point-point tersebut dibawah ini

bull Pengembangan aplikasi Web Serverberbasis mobile menggunakan bahasa pemrograman Python dan Android Facade Api dengan memanfaatkan teknologi SL4A (Scripting Language For Android) pada perangkat smartphone berbasis Android

bull Pemindahan file antar device yang dimaksudkan disini adalah perpindahan file berupa download file melalui web browser dari media penyimpanan android smartphone ndash media penyimpanan device lain yang memiliki kemampuan untuk tersambung ke dalam jaringan dan memiliki fasilitas web browser (seperti komputer desktopkomputer notebook handphone dengan fitur WiFi smartphone dan ipod touch) dan upload file melalui web browser dari media penyimpanan device lain yang memiliki kemampuan untuk tersambung ke dalam jaringan dan memiliki fasilitas web browser (seperti komputer desktopkomputer notebook handphone dengan fitur WiFi dan fitur upload file yang enable smartphone dengan fitur upload file yang enable dan ipod touch dengan fitur upload file yang enable) ndash media penyimpanan android smartphone dan tentunya setelah baik android smartphone dan device-device ini terhubung ke dalam suatu jaringan

bull Aplikasi Web Server ini nantinya memiliki fitur

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000495

- Pemilik android dapat menentukan sendiri port username password dan direktori file pada media penyimpanan multimedia smartphone berbasis android (sdcard) yang ingin di share

- Menampilkan file dan direktori yang ada pada direktori yang di share dalam bentuk directory listing

- Dapat melakukan download file dan melakukan eksplorasi isi direktori yang telah di share

- Dapat melakukan upload file ke dalam direktori penyimpanan sdcardandrowebserverhasilupload pada android smartphone

- Memiliki fitur otentikasi berupa HTTP basic authentication dengan username dan password yang digunakan untuk aktifitas eksplorasi isi direktori yang di share dan perpindahan file antar device yang ditentukan sebelumnya oleh pemilik smartphone android setiap saat android web server akan dijalankan

- Dapat menampilkan informasi ip address uploader downloader yang berhasil melakukan upload download melalui web browser device lain dan nama file yang berhasil di download di uploadmelalui web browser device lain

Pengembangan perangkat lunak dibagi kedalam dua komponen utama yaitu komponen perangkat lunak user pemilik android web server dan perangkat lunak user pengguna android web server

Gambar 2 merupakan usecase dari komponen perangkat lunak user pemilik android web server yang menggambarkan 2 fitur yang dapat digunakan oleh user pemilik android web server yaitu menjalankan android web server dan melihat informasi transfer file Fitur menjalankan android web server dilakukan dengan memasukkan konfigurasi ndash konfigurasi yang dibutuhkan seperti path directory yang akan di host alamat port yang akan digunakan dan username dan password yang akan digunakan user pengguna android web server saat otentikasi Fitur melihat informasi transfer file didapatkan tiap saat seorang user pengguna android web server berhasil melakukan download upload file

Gambar 2 Komponen user pemilik android web server

Gambar 3 merupakan usecase dari komponen perangkat lunak user pengguna android web server yang menggambarkan 3 fitur yang dapat digunakan oleh user pengguna android web server yaitu melihat isi direktori download file dan upload filedimana dalam menjalankan keseluruhan fitur tersebut diperlukan adanya otentikasi Keseluruhan fitur pada user pengguna android web server diakses melalui web browser dari device yang sudah terkoneksi pada jaringan Proses melihat isi direktori dan download file didahului dengan permintaan GET atas suatu resource kedalam android web server dan kemudian akan diberikan kembalian berupa resource yang diminta apabila otentikasi berhasil dilaksanakan oleh android web serverProses upload file dijalankan dengan melakukan permintaan GET ke dalam halaman uploadhtml yang berfungsi untuk mengirimkan informasi file yang akan di upload oleh user pengguna android web server setelah memasukkan informasi file yang akan diupload melalui halaman uploadhtml maka permintaan POST untuk melakukan upload file akan dikirimkan ke dalam android web server yang kemudian akan ditangani oleh fungsi POST terkostumisasi yang ada di dalam android web server

Gambar 3 Komponen user pengguna android web server

8 Uji CobaUji coba dibagi ke dalam dua jenis percobaan

yaitu uji coba fungsionalitas dan uji coba performa Uji coba fungsionalitas berguna untuk melihat keberhasilan fungsionalitas dari perangkat lunak yang dibangun sedangkan uji coba performa berguna untuk melihat performa dari aplikasi yang dibangun

81 Uji coba fungsionalitasUji coba fungsionalitas dilakukan pada

jaringan local di kost penulis Smartphone Android dikoneksikan pada jaringan WiFi dan mendapatkan IP 1921682102 Aplikasi kemudian dijalankan dengan konfigurasi path directory sdcard port address 8012 username dotdroid dan password dotdroid oleh user

User pemilik android web servermelihat informasi transfer file

Menjalankan android web server

User pengguna android web server

Melihat isi direktori

Download file

Upload file

Login Authentication

ltltincludegtgt

ltltincludegtgt

ltltincludegtgt

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000496

pemilik android web server User pengguna android web server dengan menggunakan notebook HP Probook 4320s yang terhubung pada jaringan yang sama mendapatkan IP 1921682100kemudian melakukan akses ke dalam resourceyang di host oleh android web server dan melakukan upload dan download file Hasil pengujian fungsionalitas dapat dilihat pada Tabel 3

Tabel 3 hasil uji fungsionalitas

Aksi Indikator Keberhasilan

Status

Menjalankan Aplikasi ndash user pemilik android web server

Permintaan konfigurasi Android web server berjalan Aplikasi mampu berjalan dengan masukan konfigurasi yang valid

Berhasil

Melihat informasi transfer file ndash user pemilik android web server

Notifikasi berisi informasi transfer fileberupa ip address dan nama file tertampil pada smartphoneandroid tiap saat user pengguna android web server berhasil melakukan upload download file

Berhasil

Melihat isi direktori path directory yang di host ndash user pengguna android web server

Tertampil halaman html berupa directory listing dari path directory yang di host pada web browser

Berhasil

Download file dari file yangberada didalam path directory yang di host ndash user pengguna android web server

Isi file tertampil pada halaman web browser atau ter-download ke dalam deviceyang digunakan untuk melakukan

Berhasil

download fileUpload file ke dalam direktori upload ndash user pengguna android web server

Pada halaman html dalam web browsertertampil notifikasi upload berhasil dan file berhasil tersimpan dalam direktori uploadandroid web server

Berhasil

Otentikasi android web server

Muncul notifikasi meminta username dan password jika user pengguna android web server belum melakukan otentikasi dan membandingkan dengan username dan password pada saat konfigurasi

Berhasil

82 Uji coba performaUji coba performa dilakukan dengan

melakukan akses terhadap fitur-fitur android web server secara bersamaan melalui 2 device yang berbeda Device yang digunakan dalam uji coba performa ini adalah adalah handphone sony ericsson W715 dengan browser sony ericsson dan Notebook Apple Macbook MC516ZAA dengan browser Google Chrome yang masing-masing terhubung pada jaringan yang sama dengan jaringan yang terhubung pada smartphone android Pada uji coba kali ini smartphone android terhubung pada IP 1921682107 notebook pada IP 1921682101 dan handphone sony ericsson pada IP 1921682105 Hasil uji coba terhadap fungsional perangkat lunak secara bersamaan ini berhasil dengan baik dan hasil yang dihasilkan sama dengan yang ditampilkan pada Tabel 3

Selain dengan melakukan akses fungsional secara bersamaan oleh 2 device berbeda ke dalam resource yang di host oleh android web server uji coba performa juga dilakukan dengan melakukan tes kinerja terhadap android web server dengan menggunakan aplikasi apache benchmark pada jaringan kampus Android web server terkoneksi pada jaringan WiFi IIIC dengan IP 101514347 kemudian dengan menggunakan sebuah komputer

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000497

pada jaringan ajk dengan IP 101513644 dilakukan dari 100 request dengan 20 multiple request sampai dengan 900 request dengan 20 multiple request ke dalam android web server dengan aplikasi apache benchmark Hasil pengujian tes kinerja ini ditunjukkan pada Gambar 4 yang menggambarkan waktu yang dibutuhkan untuk melayani masing-masing jumlah request dan Gambar 5 yang menggambarkan complete dan failed request dari masing-masing jumlah request yang dilayani

Gambar 4 Grafik time taken to complete request

Gambar 5 Grafik complete dan failed request

9 KesimpulanDari hasil pengamatan selama

perancangan implementasi dan proses uji coba

perangkat lunak yang dilakukan dapat diambil kesimpulan sebagai berikut

1 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan untuk melihat halaman html isi direktori yang di share host oleh user pemilik android web server

2 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan transfer file antar deviceyang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fitur web browser dengan adanya otentikasi

3 Perangkat lunak mampu memberikan fitur pengawasan berupa informasi pertukaran file yang terjadi selama android web server dijalankan berupa nama file yang berhasil di download di upload beserta ip address dari uploader dan downloader tersebut kepada user pemilik android web server

4 Hasil uji coba menunjukkan bahwa dalam segi performa dengan melakukan benchmarkmenggunakan apache benchmark didapatkan hasil bahwa perangkat lunak mampu menangani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa mengalami kegagalan

5 Aplikasi ini dapat dijalankan pada smartphonedengan sistem operasi android version 21 update 1 dengan menggunakan SL4A (Scripting Language for Android) dan Python for Android

6 Uji coba menunjukkan bahwa apabila smartphone android masuk ke dalam posisi idle maka koneksi WiFi akan terputus Hal ini dikarenakan smartphone android melakukan penghematan baterai yang digunakan

10 SaranBerikut merupakan beberapa saran untuk

pengembangan sistem di masa yang akan datang berdasar pada hasil perancangan implementasi dan uji coba yang telah dilakukan

1 Menambahkan fungsi yang dapat mengatur waktu idle dari smartphone android

2 Membuat apk (android installer) dari perangkat lunak ini sehingga user pemilik android dapat lebih mudah dalam melakukan instalasi perangkat lunak ke dalam smartphone android

11 Daftar Pustaka1 Anonim Android ndash http ndash server ndash Project

hosting on Google Code 2009 httpcodegooglecompandroid-http-server dikunjungi 8 nopember 2010

2 Anonim HTTP 11 Status Code Definitions 1999 httpwwww3orgProtocolsrfc2616r

05

10152025303540

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

1716

21841

14885

28338

35212

time taken

0100200300400500600700800900

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

100

300

500

700

900

complete req failed req

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000498

fc2616-sec10html

3 Anonim HTTP 11 Method Definitions 1999

dikunjungi 21 nopember 2010

httpwwww3orgProtocolsrfc2616rfc2616-sec9html dikunjungi 21 nopember 2010

4 Anonim HTTP Request Response 2010 httpwwwltgedacuk~htWhatAreURIsrequestResponsepng dikunjungi 20 nopember 2010

5 Anonim RFC 2617 ndash HTTP Authentication Basic and Digest Access Authentication 2009 httpukaskcomBasic_access_authentication dikunjungi 5 december 2010

6 Anonim Android platform architecture 2009 httpwwwandroidcommediaplatform-architectureandroid-23 dikunjungi 15 nopember 2010

Page 3: IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000493

Sebuah request message berisi request line seperti misalnya ldquoGET imageslogopng HTTP11rdquo yang menunjukkan bahwa client meminta sumber yang bernama logopng yang terletak dalam direktori images pada server GET merupakan salah satu HTTP method yang digunakan sebagai media komunikasi antara client ndash server yang dikirimkan oleh client sebagai request

Dalam HTTP terdapat Sembilan macam metode HTTP yang mengindikasikan request yang ingin dilakukan terhadap suatu resource di serveroleh client Tabel 2 menjabarkan sembilan macam metode dari HTTP beserta fungsi dari masing-masing metode yang digunakan dalam HTTP 112namun penerapan dari method ini tergantung dari kebutuhan masing-masing web server minimal dalam sebuah web server terdapat method GET dan HEAD

Tabel 2 HTTP Method

HTTP Method Deskripsi

HEAD

meminta response dari serveryang sama dengan response dari metode request GET bedanya pada HEAD ini adalah tanpa memberikan response dari bodyHal ini digunakan untuk mengirimkan informasi meta yang ditulis dalam header tanpa harus mengirimkan keseluruhan konten file

GET permintaan atas resource spesifik dari suatu file

POST

memberikan data (misalnya dari form HTML) untuk diproses menjadi resource tertentu Data dimasukkan ke dalam body dari request Metode ini bisa menghasilkan resource baru danatau update atas resourceyang sudah ada sebelumnya

PUTdigunakan untuk uploadrepresentasi dari suatu resourcetertentu

DELETE digunakan untuk menghapus suatu resource tertentu

TRACE

digunakan untuk echo balik request yang diterima tujuannya adalah untuk melihat apakah ada perubahan atau penambahan yang diberikan oleh server penghubung (proxy server gateway atau tunnel)

OPTIONSdigunakan untuk mendeteksi HTTP method apa saja yang didukung oleh web server

CONNECT digunakan untuk mengkonversi koneksi request menjadi

transparent TCPIP tunnel yang biasanya digunakan untuk memfasilitasi SSL-encrypted communication (HTTPS) melalui HTTP proxy yang tidak terenkripsi

3 HTTP Basic AuthenticationDalam transaksi HTTP basic access

authentication adalah sebuah metode yang di desain untuk memungkinkan sebuah web browseratau program client lainnya untuk menyediakan credentials berupa request username dan passwordpada saat mengirimkan request ke web server

Proses otentikasi HTTP Basic Authentication dicontohkan melalui tahapan-tahapan dibawah ini

- Client meminta halaman yang memerlukan otentikasi namun tidak menyediakan username dan password

- Server memberikan 401 response codedan menyediakan authentication realm

- Client akan mendapatkan authenticationrealm (biasanya berisi deskripsi dari sistem yang diakses) yang ditujukan kepada user dan prompt untuk mengisi username dan password user juga bisa memilih cancel pada tahap ini

- Setelah username dan passworddimasukkan client akan menambahkan header otentikasi pada hasil encodebase64 dari usernamepassword dan mengirimkannya kembali ke server

- Apabila username dan password yang dimasukkan benar maka server akan menerima otentikasi tersebut dan akan mengirimkan halaman yang diminta client Jika username dan password yang dimasukkan salah maka server akan mengirimkan 401 response code dan client akan meminta user untuk memasukkan username dan passwordkembali

- Jika user memilih cancel pada promptuser maka pesan 401 ndash AuthorizationRequired akan dimunculkan

4 SL4A (Scripting Language for Android)SL4A (Scripting Layer for Android) atau

yang sebelumnya dikenal dengan nama ASE (Android Scripting Environment) adalah sebuah library yang memungkinkan penciptaan dan menjalankan script yang dituliskan dalam berbagai bahasa scripting langsung pada perangkat android SL4A dirancang untuk developer dan masih berupa perangkat lunak dengan kualitas alpha Script ini memiliki dukungan ke subset API dari Java Android applications dengan tampilan yang lebih disederhanakan yaitu Android Facade API

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000494

Bahasa yang didukung oleh SL4A sampai dengan saat ini adalah Python dengan menggunakan CPython Perl Ruby dengan menggunakan JRuby Lua BeanShell dan JavaScript dengan meng-install interpreter darimasing-masing bahasa terlebih dahulu karena pada saat SL4A ter-install interpreter yang ter-installhanya untuk bahasa Shell HTML dan JavaScript

5 PythonPython merupakan bahasa pemrograman

dinamis yang mendukung pemrograman berorientasi obyek dan dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platformsistem operasi Sebagai bahasa pemrograman dinamis python biasanya digunakan sebagai bahasa script dengan interpreter yang terintegrasi dalam sistem operasi Saat ini kode python dapat dijalankan pada sistem operasi berbasis LinuxUnix Windows Max OS X Java Virtual Machine OS2 Amiga Palm Symbian dan Android (dengan bantuan teknologi Scripting Language for Android)

6 Arsitektur SistemPerangkat lunak android web server ini

melakukan hosting resource setelah konfigurasi perangkat lunak berhasil dijalankan oleh userpengguna User pengguna android web server dapat melakukan akses ke dalam resource yang di host dengan menggunakan web browser dan device yang telah terkoneksi ke dalam jaringan Arsitektur umum dari sistem ini digambarkan pada Gambar 1

Gambar 1 Arsitektur umum sistem

7 Rancangan Perangkat LunakTujuan dari pembuatan tugas akhir ini

adalah membuat perangkat lunak yangmemudahkan android smartphone user dalam melakukan pemindahan file secara mudah baik dari smartphone menuju device lain yang memiliki fasilitas web browser dan terkoneksi ke dalam jaringan maupun sebaliknya Adapun

permasalahan yang didapatkan atas tujuan pembuatan tugas akhir ini dijabarkan pada point-point berikut

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneberbasis android sehingga pengguna perangkat smartphone berbasis android dapat dengan mudah dalam melakukan aktivitas berbagi file melalui web browser

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneandroid yang mampu menangani aktivitas berbagi file melalui web browser dengan terotentikasi

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneandroid yang mampu mendeteksi informasi ip address pengguna android web server dan nama file yang telah berhasil di download danatau di uploadmelalui web browser

Pembuatan perangkat lunak ini nantinya akan mengacu pada Asumsi dan ruang lingkup permasalahan yang dijabarkan pada point-point tersebut dibawah ini

bull Pengembangan aplikasi Web Serverberbasis mobile menggunakan bahasa pemrograman Python dan Android Facade Api dengan memanfaatkan teknologi SL4A (Scripting Language For Android) pada perangkat smartphone berbasis Android

bull Pemindahan file antar device yang dimaksudkan disini adalah perpindahan file berupa download file melalui web browser dari media penyimpanan android smartphone ndash media penyimpanan device lain yang memiliki kemampuan untuk tersambung ke dalam jaringan dan memiliki fasilitas web browser (seperti komputer desktopkomputer notebook handphone dengan fitur WiFi smartphone dan ipod touch) dan upload file melalui web browser dari media penyimpanan device lain yang memiliki kemampuan untuk tersambung ke dalam jaringan dan memiliki fasilitas web browser (seperti komputer desktopkomputer notebook handphone dengan fitur WiFi dan fitur upload file yang enable smartphone dengan fitur upload file yang enable dan ipod touch dengan fitur upload file yang enable) ndash media penyimpanan android smartphone dan tentunya setelah baik android smartphone dan device-device ini terhubung ke dalam suatu jaringan

bull Aplikasi Web Server ini nantinya memiliki fitur

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000495

- Pemilik android dapat menentukan sendiri port username password dan direktori file pada media penyimpanan multimedia smartphone berbasis android (sdcard) yang ingin di share

- Menampilkan file dan direktori yang ada pada direktori yang di share dalam bentuk directory listing

- Dapat melakukan download file dan melakukan eksplorasi isi direktori yang telah di share

- Dapat melakukan upload file ke dalam direktori penyimpanan sdcardandrowebserverhasilupload pada android smartphone

- Memiliki fitur otentikasi berupa HTTP basic authentication dengan username dan password yang digunakan untuk aktifitas eksplorasi isi direktori yang di share dan perpindahan file antar device yang ditentukan sebelumnya oleh pemilik smartphone android setiap saat android web server akan dijalankan

- Dapat menampilkan informasi ip address uploader downloader yang berhasil melakukan upload download melalui web browser device lain dan nama file yang berhasil di download di uploadmelalui web browser device lain

Pengembangan perangkat lunak dibagi kedalam dua komponen utama yaitu komponen perangkat lunak user pemilik android web server dan perangkat lunak user pengguna android web server

Gambar 2 merupakan usecase dari komponen perangkat lunak user pemilik android web server yang menggambarkan 2 fitur yang dapat digunakan oleh user pemilik android web server yaitu menjalankan android web server dan melihat informasi transfer file Fitur menjalankan android web server dilakukan dengan memasukkan konfigurasi ndash konfigurasi yang dibutuhkan seperti path directory yang akan di host alamat port yang akan digunakan dan username dan password yang akan digunakan user pengguna android web server saat otentikasi Fitur melihat informasi transfer file didapatkan tiap saat seorang user pengguna android web server berhasil melakukan download upload file

Gambar 2 Komponen user pemilik android web server

Gambar 3 merupakan usecase dari komponen perangkat lunak user pengguna android web server yang menggambarkan 3 fitur yang dapat digunakan oleh user pengguna android web server yaitu melihat isi direktori download file dan upload filedimana dalam menjalankan keseluruhan fitur tersebut diperlukan adanya otentikasi Keseluruhan fitur pada user pengguna android web server diakses melalui web browser dari device yang sudah terkoneksi pada jaringan Proses melihat isi direktori dan download file didahului dengan permintaan GET atas suatu resource kedalam android web server dan kemudian akan diberikan kembalian berupa resource yang diminta apabila otentikasi berhasil dilaksanakan oleh android web serverProses upload file dijalankan dengan melakukan permintaan GET ke dalam halaman uploadhtml yang berfungsi untuk mengirimkan informasi file yang akan di upload oleh user pengguna android web server setelah memasukkan informasi file yang akan diupload melalui halaman uploadhtml maka permintaan POST untuk melakukan upload file akan dikirimkan ke dalam android web server yang kemudian akan ditangani oleh fungsi POST terkostumisasi yang ada di dalam android web server

Gambar 3 Komponen user pengguna android web server

8 Uji CobaUji coba dibagi ke dalam dua jenis percobaan

yaitu uji coba fungsionalitas dan uji coba performa Uji coba fungsionalitas berguna untuk melihat keberhasilan fungsionalitas dari perangkat lunak yang dibangun sedangkan uji coba performa berguna untuk melihat performa dari aplikasi yang dibangun

81 Uji coba fungsionalitasUji coba fungsionalitas dilakukan pada

jaringan local di kost penulis Smartphone Android dikoneksikan pada jaringan WiFi dan mendapatkan IP 1921682102 Aplikasi kemudian dijalankan dengan konfigurasi path directory sdcard port address 8012 username dotdroid dan password dotdroid oleh user

User pemilik android web servermelihat informasi transfer file

Menjalankan android web server

User pengguna android web server

Melihat isi direktori

Download file

Upload file

Login Authentication

ltltincludegtgt

ltltincludegtgt

ltltincludegtgt

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000496

pemilik android web server User pengguna android web server dengan menggunakan notebook HP Probook 4320s yang terhubung pada jaringan yang sama mendapatkan IP 1921682100kemudian melakukan akses ke dalam resourceyang di host oleh android web server dan melakukan upload dan download file Hasil pengujian fungsionalitas dapat dilihat pada Tabel 3

Tabel 3 hasil uji fungsionalitas

Aksi Indikator Keberhasilan

Status

Menjalankan Aplikasi ndash user pemilik android web server

Permintaan konfigurasi Android web server berjalan Aplikasi mampu berjalan dengan masukan konfigurasi yang valid

Berhasil

Melihat informasi transfer file ndash user pemilik android web server

Notifikasi berisi informasi transfer fileberupa ip address dan nama file tertampil pada smartphoneandroid tiap saat user pengguna android web server berhasil melakukan upload download file

Berhasil

Melihat isi direktori path directory yang di host ndash user pengguna android web server

Tertampil halaman html berupa directory listing dari path directory yang di host pada web browser

Berhasil

Download file dari file yangberada didalam path directory yang di host ndash user pengguna android web server

Isi file tertampil pada halaman web browser atau ter-download ke dalam deviceyang digunakan untuk melakukan

Berhasil

download fileUpload file ke dalam direktori upload ndash user pengguna android web server

Pada halaman html dalam web browsertertampil notifikasi upload berhasil dan file berhasil tersimpan dalam direktori uploadandroid web server

Berhasil

Otentikasi android web server

Muncul notifikasi meminta username dan password jika user pengguna android web server belum melakukan otentikasi dan membandingkan dengan username dan password pada saat konfigurasi

Berhasil

82 Uji coba performaUji coba performa dilakukan dengan

melakukan akses terhadap fitur-fitur android web server secara bersamaan melalui 2 device yang berbeda Device yang digunakan dalam uji coba performa ini adalah adalah handphone sony ericsson W715 dengan browser sony ericsson dan Notebook Apple Macbook MC516ZAA dengan browser Google Chrome yang masing-masing terhubung pada jaringan yang sama dengan jaringan yang terhubung pada smartphone android Pada uji coba kali ini smartphone android terhubung pada IP 1921682107 notebook pada IP 1921682101 dan handphone sony ericsson pada IP 1921682105 Hasil uji coba terhadap fungsional perangkat lunak secara bersamaan ini berhasil dengan baik dan hasil yang dihasilkan sama dengan yang ditampilkan pada Tabel 3

Selain dengan melakukan akses fungsional secara bersamaan oleh 2 device berbeda ke dalam resource yang di host oleh android web server uji coba performa juga dilakukan dengan melakukan tes kinerja terhadap android web server dengan menggunakan aplikasi apache benchmark pada jaringan kampus Android web server terkoneksi pada jaringan WiFi IIIC dengan IP 101514347 kemudian dengan menggunakan sebuah komputer

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000497

pada jaringan ajk dengan IP 101513644 dilakukan dari 100 request dengan 20 multiple request sampai dengan 900 request dengan 20 multiple request ke dalam android web server dengan aplikasi apache benchmark Hasil pengujian tes kinerja ini ditunjukkan pada Gambar 4 yang menggambarkan waktu yang dibutuhkan untuk melayani masing-masing jumlah request dan Gambar 5 yang menggambarkan complete dan failed request dari masing-masing jumlah request yang dilayani

Gambar 4 Grafik time taken to complete request

Gambar 5 Grafik complete dan failed request

9 KesimpulanDari hasil pengamatan selama

perancangan implementasi dan proses uji coba

perangkat lunak yang dilakukan dapat diambil kesimpulan sebagai berikut

1 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan untuk melihat halaman html isi direktori yang di share host oleh user pemilik android web server

2 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan transfer file antar deviceyang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fitur web browser dengan adanya otentikasi

3 Perangkat lunak mampu memberikan fitur pengawasan berupa informasi pertukaran file yang terjadi selama android web server dijalankan berupa nama file yang berhasil di download di upload beserta ip address dari uploader dan downloader tersebut kepada user pemilik android web server

4 Hasil uji coba menunjukkan bahwa dalam segi performa dengan melakukan benchmarkmenggunakan apache benchmark didapatkan hasil bahwa perangkat lunak mampu menangani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa mengalami kegagalan

5 Aplikasi ini dapat dijalankan pada smartphonedengan sistem operasi android version 21 update 1 dengan menggunakan SL4A (Scripting Language for Android) dan Python for Android

6 Uji coba menunjukkan bahwa apabila smartphone android masuk ke dalam posisi idle maka koneksi WiFi akan terputus Hal ini dikarenakan smartphone android melakukan penghematan baterai yang digunakan

10 SaranBerikut merupakan beberapa saran untuk

pengembangan sistem di masa yang akan datang berdasar pada hasil perancangan implementasi dan uji coba yang telah dilakukan

1 Menambahkan fungsi yang dapat mengatur waktu idle dari smartphone android

2 Membuat apk (android installer) dari perangkat lunak ini sehingga user pemilik android dapat lebih mudah dalam melakukan instalasi perangkat lunak ke dalam smartphone android

11 Daftar Pustaka1 Anonim Android ndash http ndash server ndash Project

hosting on Google Code 2009 httpcodegooglecompandroid-http-server dikunjungi 8 nopember 2010

2 Anonim HTTP 11 Status Code Definitions 1999 httpwwww3orgProtocolsrfc2616r

05

10152025303540

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

1716

21841

14885

28338

35212

time taken

0100200300400500600700800900

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

100

300

500

700

900

complete req failed req

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000498

fc2616-sec10html

3 Anonim HTTP 11 Method Definitions 1999

dikunjungi 21 nopember 2010

httpwwww3orgProtocolsrfc2616rfc2616-sec9html dikunjungi 21 nopember 2010

4 Anonim HTTP Request Response 2010 httpwwwltgedacuk~htWhatAreURIsrequestResponsepng dikunjungi 20 nopember 2010

5 Anonim RFC 2617 ndash HTTP Authentication Basic and Digest Access Authentication 2009 httpukaskcomBasic_access_authentication dikunjungi 5 december 2010

6 Anonim Android platform architecture 2009 httpwwwandroidcommediaplatform-architectureandroid-23 dikunjungi 15 nopember 2010

Page 4: IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000494

Bahasa yang didukung oleh SL4A sampai dengan saat ini adalah Python dengan menggunakan CPython Perl Ruby dengan menggunakan JRuby Lua BeanShell dan JavaScript dengan meng-install interpreter darimasing-masing bahasa terlebih dahulu karena pada saat SL4A ter-install interpreter yang ter-installhanya untuk bahasa Shell HTML dan JavaScript

5 PythonPython merupakan bahasa pemrograman

dinamis yang mendukung pemrograman berorientasi obyek dan dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platformsistem operasi Sebagai bahasa pemrograman dinamis python biasanya digunakan sebagai bahasa script dengan interpreter yang terintegrasi dalam sistem operasi Saat ini kode python dapat dijalankan pada sistem operasi berbasis LinuxUnix Windows Max OS X Java Virtual Machine OS2 Amiga Palm Symbian dan Android (dengan bantuan teknologi Scripting Language for Android)

6 Arsitektur SistemPerangkat lunak android web server ini

melakukan hosting resource setelah konfigurasi perangkat lunak berhasil dijalankan oleh userpengguna User pengguna android web server dapat melakukan akses ke dalam resource yang di host dengan menggunakan web browser dan device yang telah terkoneksi ke dalam jaringan Arsitektur umum dari sistem ini digambarkan pada Gambar 1

Gambar 1 Arsitektur umum sistem

7 Rancangan Perangkat LunakTujuan dari pembuatan tugas akhir ini

adalah membuat perangkat lunak yangmemudahkan android smartphone user dalam melakukan pemindahan file secara mudah baik dari smartphone menuju device lain yang memiliki fasilitas web browser dan terkoneksi ke dalam jaringan maupun sebaliknya Adapun

permasalahan yang didapatkan atas tujuan pembuatan tugas akhir ini dijabarkan pada point-point berikut

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneberbasis android sehingga pengguna perangkat smartphone berbasis android dapat dengan mudah dalam melakukan aktivitas berbagi file melalui web browser

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneandroid yang mampu menangani aktivitas berbagi file melalui web browser dengan terotentikasi

bull Bagaimana membangun suatu aplikasi mobile pada perangkat smartphoneandroid yang mampu mendeteksi informasi ip address pengguna android web server dan nama file yang telah berhasil di download danatau di uploadmelalui web browser

Pembuatan perangkat lunak ini nantinya akan mengacu pada Asumsi dan ruang lingkup permasalahan yang dijabarkan pada point-point tersebut dibawah ini

bull Pengembangan aplikasi Web Serverberbasis mobile menggunakan bahasa pemrograman Python dan Android Facade Api dengan memanfaatkan teknologi SL4A (Scripting Language For Android) pada perangkat smartphone berbasis Android

bull Pemindahan file antar device yang dimaksudkan disini adalah perpindahan file berupa download file melalui web browser dari media penyimpanan android smartphone ndash media penyimpanan device lain yang memiliki kemampuan untuk tersambung ke dalam jaringan dan memiliki fasilitas web browser (seperti komputer desktopkomputer notebook handphone dengan fitur WiFi smartphone dan ipod touch) dan upload file melalui web browser dari media penyimpanan device lain yang memiliki kemampuan untuk tersambung ke dalam jaringan dan memiliki fasilitas web browser (seperti komputer desktopkomputer notebook handphone dengan fitur WiFi dan fitur upload file yang enable smartphone dengan fitur upload file yang enable dan ipod touch dengan fitur upload file yang enable) ndash media penyimpanan android smartphone dan tentunya setelah baik android smartphone dan device-device ini terhubung ke dalam suatu jaringan

bull Aplikasi Web Server ini nantinya memiliki fitur

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000495

- Pemilik android dapat menentukan sendiri port username password dan direktori file pada media penyimpanan multimedia smartphone berbasis android (sdcard) yang ingin di share

- Menampilkan file dan direktori yang ada pada direktori yang di share dalam bentuk directory listing

- Dapat melakukan download file dan melakukan eksplorasi isi direktori yang telah di share

- Dapat melakukan upload file ke dalam direktori penyimpanan sdcardandrowebserverhasilupload pada android smartphone

- Memiliki fitur otentikasi berupa HTTP basic authentication dengan username dan password yang digunakan untuk aktifitas eksplorasi isi direktori yang di share dan perpindahan file antar device yang ditentukan sebelumnya oleh pemilik smartphone android setiap saat android web server akan dijalankan

- Dapat menampilkan informasi ip address uploader downloader yang berhasil melakukan upload download melalui web browser device lain dan nama file yang berhasil di download di uploadmelalui web browser device lain

Pengembangan perangkat lunak dibagi kedalam dua komponen utama yaitu komponen perangkat lunak user pemilik android web server dan perangkat lunak user pengguna android web server

Gambar 2 merupakan usecase dari komponen perangkat lunak user pemilik android web server yang menggambarkan 2 fitur yang dapat digunakan oleh user pemilik android web server yaitu menjalankan android web server dan melihat informasi transfer file Fitur menjalankan android web server dilakukan dengan memasukkan konfigurasi ndash konfigurasi yang dibutuhkan seperti path directory yang akan di host alamat port yang akan digunakan dan username dan password yang akan digunakan user pengguna android web server saat otentikasi Fitur melihat informasi transfer file didapatkan tiap saat seorang user pengguna android web server berhasil melakukan download upload file

Gambar 2 Komponen user pemilik android web server

Gambar 3 merupakan usecase dari komponen perangkat lunak user pengguna android web server yang menggambarkan 3 fitur yang dapat digunakan oleh user pengguna android web server yaitu melihat isi direktori download file dan upload filedimana dalam menjalankan keseluruhan fitur tersebut diperlukan adanya otentikasi Keseluruhan fitur pada user pengguna android web server diakses melalui web browser dari device yang sudah terkoneksi pada jaringan Proses melihat isi direktori dan download file didahului dengan permintaan GET atas suatu resource kedalam android web server dan kemudian akan diberikan kembalian berupa resource yang diminta apabila otentikasi berhasil dilaksanakan oleh android web serverProses upload file dijalankan dengan melakukan permintaan GET ke dalam halaman uploadhtml yang berfungsi untuk mengirimkan informasi file yang akan di upload oleh user pengguna android web server setelah memasukkan informasi file yang akan diupload melalui halaman uploadhtml maka permintaan POST untuk melakukan upload file akan dikirimkan ke dalam android web server yang kemudian akan ditangani oleh fungsi POST terkostumisasi yang ada di dalam android web server

Gambar 3 Komponen user pengguna android web server

8 Uji CobaUji coba dibagi ke dalam dua jenis percobaan

yaitu uji coba fungsionalitas dan uji coba performa Uji coba fungsionalitas berguna untuk melihat keberhasilan fungsionalitas dari perangkat lunak yang dibangun sedangkan uji coba performa berguna untuk melihat performa dari aplikasi yang dibangun

81 Uji coba fungsionalitasUji coba fungsionalitas dilakukan pada

jaringan local di kost penulis Smartphone Android dikoneksikan pada jaringan WiFi dan mendapatkan IP 1921682102 Aplikasi kemudian dijalankan dengan konfigurasi path directory sdcard port address 8012 username dotdroid dan password dotdroid oleh user

User pemilik android web servermelihat informasi transfer file

Menjalankan android web server

User pengguna android web server

Melihat isi direktori

Download file

Upload file

Login Authentication

ltltincludegtgt

ltltincludegtgt

ltltincludegtgt

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000496

pemilik android web server User pengguna android web server dengan menggunakan notebook HP Probook 4320s yang terhubung pada jaringan yang sama mendapatkan IP 1921682100kemudian melakukan akses ke dalam resourceyang di host oleh android web server dan melakukan upload dan download file Hasil pengujian fungsionalitas dapat dilihat pada Tabel 3

Tabel 3 hasil uji fungsionalitas

Aksi Indikator Keberhasilan

Status

Menjalankan Aplikasi ndash user pemilik android web server

Permintaan konfigurasi Android web server berjalan Aplikasi mampu berjalan dengan masukan konfigurasi yang valid

Berhasil

Melihat informasi transfer file ndash user pemilik android web server

Notifikasi berisi informasi transfer fileberupa ip address dan nama file tertampil pada smartphoneandroid tiap saat user pengguna android web server berhasil melakukan upload download file

Berhasil

Melihat isi direktori path directory yang di host ndash user pengguna android web server

Tertampil halaman html berupa directory listing dari path directory yang di host pada web browser

Berhasil

Download file dari file yangberada didalam path directory yang di host ndash user pengguna android web server

Isi file tertampil pada halaman web browser atau ter-download ke dalam deviceyang digunakan untuk melakukan

Berhasil

download fileUpload file ke dalam direktori upload ndash user pengguna android web server

Pada halaman html dalam web browsertertampil notifikasi upload berhasil dan file berhasil tersimpan dalam direktori uploadandroid web server

Berhasil

Otentikasi android web server

Muncul notifikasi meminta username dan password jika user pengguna android web server belum melakukan otentikasi dan membandingkan dengan username dan password pada saat konfigurasi

Berhasil

82 Uji coba performaUji coba performa dilakukan dengan

melakukan akses terhadap fitur-fitur android web server secara bersamaan melalui 2 device yang berbeda Device yang digunakan dalam uji coba performa ini adalah adalah handphone sony ericsson W715 dengan browser sony ericsson dan Notebook Apple Macbook MC516ZAA dengan browser Google Chrome yang masing-masing terhubung pada jaringan yang sama dengan jaringan yang terhubung pada smartphone android Pada uji coba kali ini smartphone android terhubung pada IP 1921682107 notebook pada IP 1921682101 dan handphone sony ericsson pada IP 1921682105 Hasil uji coba terhadap fungsional perangkat lunak secara bersamaan ini berhasil dengan baik dan hasil yang dihasilkan sama dengan yang ditampilkan pada Tabel 3

Selain dengan melakukan akses fungsional secara bersamaan oleh 2 device berbeda ke dalam resource yang di host oleh android web server uji coba performa juga dilakukan dengan melakukan tes kinerja terhadap android web server dengan menggunakan aplikasi apache benchmark pada jaringan kampus Android web server terkoneksi pada jaringan WiFi IIIC dengan IP 101514347 kemudian dengan menggunakan sebuah komputer

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000497

pada jaringan ajk dengan IP 101513644 dilakukan dari 100 request dengan 20 multiple request sampai dengan 900 request dengan 20 multiple request ke dalam android web server dengan aplikasi apache benchmark Hasil pengujian tes kinerja ini ditunjukkan pada Gambar 4 yang menggambarkan waktu yang dibutuhkan untuk melayani masing-masing jumlah request dan Gambar 5 yang menggambarkan complete dan failed request dari masing-masing jumlah request yang dilayani

Gambar 4 Grafik time taken to complete request

Gambar 5 Grafik complete dan failed request

9 KesimpulanDari hasil pengamatan selama

perancangan implementasi dan proses uji coba

perangkat lunak yang dilakukan dapat diambil kesimpulan sebagai berikut

1 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan untuk melihat halaman html isi direktori yang di share host oleh user pemilik android web server

2 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan transfer file antar deviceyang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fitur web browser dengan adanya otentikasi

3 Perangkat lunak mampu memberikan fitur pengawasan berupa informasi pertukaran file yang terjadi selama android web server dijalankan berupa nama file yang berhasil di download di upload beserta ip address dari uploader dan downloader tersebut kepada user pemilik android web server

4 Hasil uji coba menunjukkan bahwa dalam segi performa dengan melakukan benchmarkmenggunakan apache benchmark didapatkan hasil bahwa perangkat lunak mampu menangani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa mengalami kegagalan

5 Aplikasi ini dapat dijalankan pada smartphonedengan sistem operasi android version 21 update 1 dengan menggunakan SL4A (Scripting Language for Android) dan Python for Android

6 Uji coba menunjukkan bahwa apabila smartphone android masuk ke dalam posisi idle maka koneksi WiFi akan terputus Hal ini dikarenakan smartphone android melakukan penghematan baterai yang digunakan

10 SaranBerikut merupakan beberapa saran untuk

pengembangan sistem di masa yang akan datang berdasar pada hasil perancangan implementasi dan uji coba yang telah dilakukan

1 Menambahkan fungsi yang dapat mengatur waktu idle dari smartphone android

2 Membuat apk (android installer) dari perangkat lunak ini sehingga user pemilik android dapat lebih mudah dalam melakukan instalasi perangkat lunak ke dalam smartphone android

11 Daftar Pustaka1 Anonim Android ndash http ndash server ndash Project

hosting on Google Code 2009 httpcodegooglecompandroid-http-server dikunjungi 8 nopember 2010

2 Anonim HTTP 11 Status Code Definitions 1999 httpwwww3orgProtocolsrfc2616r

05

10152025303540

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

1716

21841

14885

28338

35212

time taken

0100200300400500600700800900

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

100

300

500

700

900

complete req failed req

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000498

fc2616-sec10html

3 Anonim HTTP 11 Method Definitions 1999

dikunjungi 21 nopember 2010

httpwwww3orgProtocolsrfc2616rfc2616-sec9html dikunjungi 21 nopember 2010

4 Anonim HTTP Request Response 2010 httpwwwltgedacuk~htWhatAreURIsrequestResponsepng dikunjungi 20 nopember 2010

5 Anonim RFC 2617 ndash HTTP Authentication Basic and Digest Access Authentication 2009 httpukaskcomBasic_access_authentication dikunjungi 5 december 2010

6 Anonim Android platform architecture 2009 httpwwwandroidcommediaplatform-architectureandroid-23 dikunjungi 15 nopember 2010

Page 5: IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000495

- Pemilik android dapat menentukan sendiri port username password dan direktori file pada media penyimpanan multimedia smartphone berbasis android (sdcard) yang ingin di share

- Menampilkan file dan direktori yang ada pada direktori yang di share dalam bentuk directory listing

- Dapat melakukan download file dan melakukan eksplorasi isi direktori yang telah di share

- Dapat melakukan upload file ke dalam direktori penyimpanan sdcardandrowebserverhasilupload pada android smartphone

- Memiliki fitur otentikasi berupa HTTP basic authentication dengan username dan password yang digunakan untuk aktifitas eksplorasi isi direktori yang di share dan perpindahan file antar device yang ditentukan sebelumnya oleh pemilik smartphone android setiap saat android web server akan dijalankan

- Dapat menampilkan informasi ip address uploader downloader yang berhasil melakukan upload download melalui web browser device lain dan nama file yang berhasil di download di uploadmelalui web browser device lain

Pengembangan perangkat lunak dibagi kedalam dua komponen utama yaitu komponen perangkat lunak user pemilik android web server dan perangkat lunak user pengguna android web server

Gambar 2 merupakan usecase dari komponen perangkat lunak user pemilik android web server yang menggambarkan 2 fitur yang dapat digunakan oleh user pemilik android web server yaitu menjalankan android web server dan melihat informasi transfer file Fitur menjalankan android web server dilakukan dengan memasukkan konfigurasi ndash konfigurasi yang dibutuhkan seperti path directory yang akan di host alamat port yang akan digunakan dan username dan password yang akan digunakan user pengguna android web server saat otentikasi Fitur melihat informasi transfer file didapatkan tiap saat seorang user pengguna android web server berhasil melakukan download upload file

Gambar 2 Komponen user pemilik android web server

Gambar 3 merupakan usecase dari komponen perangkat lunak user pengguna android web server yang menggambarkan 3 fitur yang dapat digunakan oleh user pengguna android web server yaitu melihat isi direktori download file dan upload filedimana dalam menjalankan keseluruhan fitur tersebut diperlukan adanya otentikasi Keseluruhan fitur pada user pengguna android web server diakses melalui web browser dari device yang sudah terkoneksi pada jaringan Proses melihat isi direktori dan download file didahului dengan permintaan GET atas suatu resource kedalam android web server dan kemudian akan diberikan kembalian berupa resource yang diminta apabila otentikasi berhasil dilaksanakan oleh android web serverProses upload file dijalankan dengan melakukan permintaan GET ke dalam halaman uploadhtml yang berfungsi untuk mengirimkan informasi file yang akan di upload oleh user pengguna android web server setelah memasukkan informasi file yang akan diupload melalui halaman uploadhtml maka permintaan POST untuk melakukan upload file akan dikirimkan ke dalam android web server yang kemudian akan ditangani oleh fungsi POST terkostumisasi yang ada di dalam android web server

Gambar 3 Komponen user pengguna android web server

8 Uji CobaUji coba dibagi ke dalam dua jenis percobaan

yaitu uji coba fungsionalitas dan uji coba performa Uji coba fungsionalitas berguna untuk melihat keberhasilan fungsionalitas dari perangkat lunak yang dibangun sedangkan uji coba performa berguna untuk melihat performa dari aplikasi yang dibangun

81 Uji coba fungsionalitasUji coba fungsionalitas dilakukan pada

jaringan local di kost penulis Smartphone Android dikoneksikan pada jaringan WiFi dan mendapatkan IP 1921682102 Aplikasi kemudian dijalankan dengan konfigurasi path directory sdcard port address 8012 username dotdroid dan password dotdroid oleh user

User pemilik android web servermelihat informasi transfer file

Menjalankan android web server

User pengguna android web server

Melihat isi direktori

Download file

Upload file

Login Authentication

ltltincludegtgt

ltltincludegtgt

ltltincludegtgt

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000496

pemilik android web server User pengguna android web server dengan menggunakan notebook HP Probook 4320s yang terhubung pada jaringan yang sama mendapatkan IP 1921682100kemudian melakukan akses ke dalam resourceyang di host oleh android web server dan melakukan upload dan download file Hasil pengujian fungsionalitas dapat dilihat pada Tabel 3

Tabel 3 hasil uji fungsionalitas

Aksi Indikator Keberhasilan

Status

Menjalankan Aplikasi ndash user pemilik android web server

Permintaan konfigurasi Android web server berjalan Aplikasi mampu berjalan dengan masukan konfigurasi yang valid

Berhasil

Melihat informasi transfer file ndash user pemilik android web server

Notifikasi berisi informasi transfer fileberupa ip address dan nama file tertampil pada smartphoneandroid tiap saat user pengguna android web server berhasil melakukan upload download file

Berhasil

Melihat isi direktori path directory yang di host ndash user pengguna android web server

Tertampil halaman html berupa directory listing dari path directory yang di host pada web browser

Berhasil

Download file dari file yangberada didalam path directory yang di host ndash user pengguna android web server

Isi file tertampil pada halaman web browser atau ter-download ke dalam deviceyang digunakan untuk melakukan

Berhasil

download fileUpload file ke dalam direktori upload ndash user pengguna android web server

Pada halaman html dalam web browsertertampil notifikasi upload berhasil dan file berhasil tersimpan dalam direktori uploadandroid web server

Berhasil

Otentikasi android web server

Muncul notifikasi meminta username dan password jika user pengguna android web server belum melakukan otentikasi dan membandingkan dengan username dan password pada saat konfigurasi

Berhasil

82 Uji coba performaUji coba performa dilakukan dengan

melakukan akses terhadap fitur-fitur android web server secara bersamaan melalui 2 device yang berbeda Device yang digunakan dalam uji coba performa ini adalah adalah handphone sony ericsson W715 dengan browser sony ericsson dan Notebook Apple Macbook MC516ZAA dengan browser Google Chrome yang masing-masing terhubung pada jaringan yang sama dengan jaringan yang terhubung pada smartphone android Pada uji coba kali ini smartphone android terhubung pada IP 1921682107 notebook pada IP 1921682101 dan handphone sony ericsson pada IP 1921682105 Hasil uji coba terhadap fungsional perangkat lunak secara bersamaan ini berhasil dengan baik dan hasil yang dihasilkan sama dengan yang ditampilkan pada Tabel 3

Selain dengan melakukan akses fungsional secara bersamaan oleh 2 device berbeda ke dalam resource yang di host oleh android web server uji coba performa juga dilakukan dengan melakukan tes kinerja terhadap android web server dengan menggunakan aplikasi apache benchmark pada jaringan kampus Android web server terkoneksi pada jaringan WiFi IIIC dengan IP 101514347 kemudian dengan menggunakan sebuah komputer

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000497

pada jaringan ajk dengan IP 101513644 dilakukan dari 100 request dengan 20 multiple request sampai dengan 900 request dengan 20 multiple request ke dalam android web server dengan aplikasi apache benchmark Hasil pengujian tes kinerja ini ditunjukkan pada Gambar 4 yang menggambarkan waktu yang dibutuhkan untuk melayani masing-masing jumlah request dan Gambar 5 yang menggambarkan complete dan failed request dari masing-masing jumlah request yang dilayani

Gambar 4 Grafik time taken to complete request

Gambar 5 Grafik complete dan failed request

9 KesimpulanDari hasil pengamatan selama

perancangan implementasi dan proses uji coba

perangkat lunak yang dilakukan dapat diambil kesimpulan sebagai berikut

1 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan untuk melihat halaman html isi direktori yang di share host oleh user pemilik android web server

2 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan transfer file antar deviceyang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fitur web browser dengan adanya otentikasi

3 Perangkat lunak mampu memberikan fitur pengawasan berupa informasi pertukaran file yang terjadi selama android web server dijalankan berupa nama file yang berhasil di download di upload beserta ip address dari uploader dan downloader tersebut kepada user pemilik android web server

4 Hasil uji coba menunjukkan bahwa dalam segi performa dengan melakukan benchmarkmenggunakan apache benchmark didapatkan hasil bahwa perangkat lunak mampu menangani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa mengalami kegagalan

5 Aplikasi ini dapat dijalankan pada smartphonedengan sistem operasi android version 21 update 1 dengan menggunakan SL4A (Scripting Language for Android) dan Python for Android

6 Uji coba menunjukkan bahwa apabila smartphone android masuk ke dalam posisi idle maka koneksi WiFi akan terputus Hal ini dikarenakan smartphone android melakukan penghematan baterai yang digunakan

10 SaranBerikut merupakan beberapa saran untuk

pengembangan sistem di masa yang akan datang berdasar pada hasil perancangan implementasi dan uji coba yang telah dilakukan

1 Menambahkan fungsi yang dapat mengatur waktu idle dari smartphone android

2 Membuat apk (android installer) dari perangkat lunak ini sehingga user pemilik android dapat lebih mudah dalam melakukan instalasi perangkat lunak ke dalam smartphone android

11 Daftar Pustaka1 Anonim Android ndash http ndash server ndash Project

hosting on Google Code 2009 httpcodegooglecompandroid-http-server dikunjungi 8 nopember 2010

2 Anonim HTTP 11 Status Code Definitions 1999 httpwwww3orgProtocolsrfc2616r

05

10152025303540

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

1716

21841

14885

28338

35212

time taken

0100200300400500600700800900

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

100

300

500

700

900

complete req failed req

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000498

fc2616-sec10html

3 Anonim HTTP 11 Method Definitions 1999

dikunjungi 21 nopember 2010

httpwwww3orgProtocolsrfc2616rfc2616-sec9html dikunjungi 21 nopember 2010

4 Anonim HTTP Request Response 2010 httpwwwltgedacuk~htWhatAreURIsrequestResponsepng dikunjungi 20 nopember 2010

5 Anonim RFC 2617 ndash HTTP Authentication Basic and Digest Access Authentication 2009 httpukaskcomBasic_access_authentication dikunjungi 5 december 2010

6 Anonim Android platform architecture 2009 httpwwwandroidcommediaplatform-architectureandroid-23 dikunjungi 15 nopember 2010

Page 6: IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000496

pemilik android web server User pengguna android web server dengan menggunakan notebook HP Probook 4320s yang terhubung pada jaringan yang sama mendapatkan IP 1921682100kemudian melakukan akses ke dalam resourceyang di host oleh android web server dan melakukan upload dan download file Hasil pengujian fungsionalitas dapat dilihat pada Tabel 3

Tabel 3 hasil uji fungsionalitas

Aksi Indikator Keberhasilan

Status

Menjalankan Aplikasi ndash user pemilik android web server

Permintaan konfigurasi Android web server berjalan Aplikasi mampu berjalan dengan masukan konfigurasi yang valid

Berhasil

Melihat informasi transfer file ndash user pemilik android web server

Notifikasi berisi informasi transfer fileberupa ip address dan nama file tertampil pada smartphoneandroid tiap saat user pengguna android web server berhasil melakukan upload download file

Berhasil

Melihat isi direktori path directory yang di host ndash user pengguna android web server

Tertampil halaman html berupa directory listing dari path directory yang di host pada web browser

Berhasil

Download file dari file yangberada didalam path directory yang di host ndash user pengguna android web server

Isi file tertampil pada halaman web browser atau ter-download ke dalam deviceyang digunakan untuk melakukan

Berhasil

download fileUpload file ke dalam direktori upload ndash user pengguna android web server

Pada halaman html dalam web browsertertampil notifikasi upload berhasil dan file berhasil tersimpan dalam direktori uploadandroid web server

Berhasil

Otentikasi android web server

Muncul notifikasi meminta username dan password jika user pengguna android web server belum melakukan otentikasi dan membandingkan dengan username dan password pada saat konfigurasi

Berhasil

82 Uji coba performaUji coba performa dilakukan dengan

melakukan akses terhadap fitur-fitur android web server secara bersamaan melalui 2 device yang berbeda Device yang digunakan dalam uji coba performa ini adalah adalah handphone sony ericsson W715 dengan browser sony ericsson dan Notebook Apple Macbook MC516ZAA dengan browser Google Chrome yang masing-masing terhubung pada jaringan yang sama dengan jaringan yang terhubung pada smartphone android Pada uji coba kali ini smartphone android terhubung pada IP 1921682107 notebook pada IP 1921682101 dan handphone sony ericsson pada IP 1921682105 Hasil uji coba terhadap fungsional perangkat lunak secara bersamaan ini berhasil dengan baik dan hasil yang dihasilkan sama dengan yang ditampilkan pada Tabel 3

Selain dengan melakukan akses fungsional secara bersamaan oleh 2 device berbeda ke dalam resource yang di host oleh android web server uji coba performa juga dilakukan dengan melakukan tes kinerja terhadap android web server dengan menggunakan aplikasi apache benchmark pada jaringan kampus Android web server terkoneksi pada jaringan WiFi IIIC dengan IP 101514347 kemudian dengan menggunakan sebuah komputer

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000497

pada jaringan ajk dengan IP 101513644 dilakukan dari 100 request dengan 20 multiple request sampai dengan 900 request dengan 20 multiple request ke dalam android web server dengan aplikasi apache benchmark Hasil pengujian tes kinerja ini ditunjukkan pada Gambar 4 yang menggambarkan waktu yang dibutuhkan untuk melayani masing-masing jumlah request dan Gambar 5 yang menggambarkan complete dan failed request dari masing-masing jumlah request yang dilayani

Gambar 4 Grafik time taken to complete request

Gambar 5 Grafik complete dan failed request

9 KesimpulanDari hasil pengamatan selama

perancangan implementasi dan proses uji coba

perangkat lunak yang dilakukan dapat diambil kesimpulan sebagai berikut

1 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan untuk melihat halaman html isi direktori yang di share host oleh user pemilik android web server

2 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan transfer file antar deviceyang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fitur web browser dengan adanya otentikasi

3 Perangkat lunak mampu memberikan fitur pengawasan berupa informasi pertukaran file yang terjadi selama android web server dijalankan berupa nama file yang berhasil di download di upload beserta ip address dari uploader dan downloader tersebut kepada user pemilik android web server

4 Hasil uji coba menunjukkan bahwa dalam segi performa dengan melakukan benchmarkmenggunakan apache benchmark didapatkan hasil bahwa perangkat lunak mampu menangani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa mengalami kegagalan

5 Aplikasi ini dapat dijalankan pada smartphonedengan sistem operasi android version 21 update 1 dengan menggunakan SL4A (Scripting Language for Android) dan Python for Android

6 Uji coba menunjukkan bahwa apabila smartphone android masuk ke dalam posisi idle maka koneksi WiFi akan terputus Hal ini dikarenakan smartphone android melakukan penghematan baterai yang digunakan

10 SaranBerikut merupakan beberapa saran untuk

pengembangan sistem di masa yang akan datang berdasar pada hasil perancangan implementasi dan uji coba yang telah dilakukan

1 Menambahkan fungsi yang dapat mengatur waktu idle dari smartphone android

2 Membuat apk (android installer) dari perangkat lunak ini sehingga user pemilik android dapat lebih mudah dalam melakukan instalasi perangkat lunak ke dalam smartphone android

11 Daftar Pustaka1 Anonim Android ndash http ndash server ndash Project

hosting on Google Code 2009 httpcodegooglecompandroid-http-server dikunjungi 8 nopember 2010

2 Anonim HTTP 11 Status Code Definitions 1999 httpwwww3orgProtocolsrfc2616r

05

10152025303540

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

1716

21841

14885

28338

35212

time taken

0100200300400500600700800900

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

100

300

500

700

900

complete req failed req

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000498

fc2616-sec10html

3 Anonim HTTP 11 Method Definitions 1999

dikunjungi 21 nopember 2010

httpwwww3orgProtocolsrfc2616rfc2616-sec9html dikunjungi 21 nopember 2010

4 Anonim HTTP Request Response 2010 httpwwwltgedacuk~htWhatAreURIsrequestResponsepng dikunjungi 20 nopember 2010

5 Anonim RFC 2617 ndash HTTP Authentication Basic and Digest Access Authentication 2009 httpukaskcomBasic_access_authentication dikunjungi 5 december 2010

6 Anonim Android platform architecture 2009 httpwwwandroidcommediaplatform-architectureandroid-23 dikunjungi 15 nopember 2010

Page 7: IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000497

pada jaringan ajk dengan IP 101513644 dilakukan dari 100 request dengan 20 multiple request sampai dengan 900 request dengan 20 multiple request ke dalam android web server dengan aplikasi apache benchmark Hasil pengujian tes kinerja ini ditunjukkan pada Gambar 4 yang menggambarkan waktu yang dibutuhkan untuk melayani masing-masing jumlah request dan Gambar 5 yang menggambarkan complete dan failed request dari masing-masing jumlah request yang dilayani

Gambar 4 Grafik time taken to complete request

Gambar 5 Grafik complete dan failed request

9 KesimpulanDari hasil pengamatan selama

perancangan implementasi dan proses uji coba

perangkat lunak yang dilakukan dapat diambil kesimpulan sebagai berikut

1 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan untuk melihat halaman html isi direktori yang di share host oleh user pemilik android web server

2 Perangkat lunak yang dibuat sudah mampu memenuhi kebutuhan transfer file antar deviceyang memiliki kemampuan untuk terkoneksi dengan jaringan dan memiliki fitur web browser dengan adanya otentikasi

3 Perangkat lunak mampu memberikan fitur pengawasan berupa informasi pertukaran file yang terjadi selama android web server dijalankan berupa nama file yang berhasil di download di upload beserta ip address dari uploader dan downloader tersebut kepada user pemilik android web server

4 Hasil uji coba menunjukkan bahwa dalam segi performa dengan melakukan benchmarkmenggunakan apache benchmark didapatkan hasil bahwa perangkat lunak mampu menangani sampai dengan 900 request dengan 20 multiple request secara terus-menerus tanpa mengalami kegagalan

5 Aplikasi ini dapat dijalankan pada smartphonedengan sistem operasi android version 21 update 1 dengan menggunakan SL4A (Scripting Language for Android) dan Python for Android

6 Uji coba menunjukkan bahwa apabila smartphone android masuk ke dalam posisi idle maka koneksi WiFi akan terputus Hal ini dikarenakan smartphone android melakukan penghematan baterai yang digunakan

10 SaranBerikut merupakan beberapa saran untuk

pengembangan sistem di masa yang akan datang berdasar pada hasil perancangan implementasi dan uji coba yang telah dilakukan

1 Menambahkan fungsi yang dapat mengatur waktu idle dari smartphone android

2 Membuat apk (android installer) dari perangkat lunak ini sehingga user pemilik android dapat lebih mudah dalam melakukan instalasi perangkat lunak ke dalam smartphone android

11 Daftar Pustaka1 Anonim Android ndash http ndash server ndash Project

hosting on Google Code 2009 httpcodegooglecompandroid-http-server dikunjungi 8 nopember 2010

2 Anonim HTTP 11 Status Code Definitions 1999 httpwwww3orgProtocolsrfc2616r

05

10152025303540

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

1716

21841

14885

28338

35212

time taken

0100200300400500600700800900

100 r 20 c

300 r 20 c

500 r 20 c

700 r 20 c

900 r 20 c

100

300

500

700

900

complete req failed req

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000498

fc2616-sec10html

3 Anonim HTTP 11 Method Definitions 1999

dikunjungi 21 nopember 2010

httpwwww3orgProtocolsrfc2616rfc2616-sec9html dikunjungi 21 nopember 2010

4 Anonim HTTP Request Response 2010 httpwwwltgedacuk~htWhatAreURIsrequestResponsepng dikunjungi 20 nopember 2010

5 Anonim RFC 2617 ndash HTTP Authentication Basic and Digest Access Authentication 2009 httpukaskcomBasic_access_authentication dikunjungi 5 december 2010

6 Anonim Android platform architecture 2009 httpwwwandroidcommediaplatform-architectureandroid-23 dikunjungi 15 nopember 2010

Page 8: IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …

MAKALAH SEMINAR TUGAS AKHIR PERIODE MARET 2011

PUTU GEDE INDRA SETYADI - 51071000498

fc2616-sec10html

3 Anonim HTTP 11 Method Definitions 1999

dikunjungi 21 nopember 2010

httpwwww3orgProtocolsrfc2616rfc2616-sec9html dikunjungi 21 nopember 2010

4 Anonim HTTP Request Response 2010 httpwwwltgedacuk~htWhatAreURIsrequestResponsepng dikunjungi 20 nopember 2010

5 Anonim RFC 2617 ndash HTTP Authentication Basic and Digest Access Authentication 2009 httpukaskcomBasic_access_authentication dikunjungi 5 december 2010

6 Anonim Android platform architecture 2009 httpwwwandroidcommediaplatform-architectureandroid-23 dikunjungi 15 nopember 2010