IMPLEMENTASI WEB SERVER DI SISTEM ANDROID …
Transcript of 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
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
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
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
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
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
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
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