Makalah Seminar Tugas Akhir Periode Januari 2010
IMPLEMETASI APLIKASI REMOTE SERVER PADA MOZILLA FIREFOX DENGAN MENGGUNAKAN TEKNOLOGI XUL DAN PYSCRIPT Eko Fajar Yanuwarsa – Wahyu Suadi, S.Kom., M.Kom. Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Surabaya, Email:
[email protected]
Abstrak PyXpcom adalah komunikasi antara Python dan Xpcom, seperti aplikasi Python yang dapat mengakses objek-objek Xpcom, dan Xpcom yang dapat mengakses setiap class pada Python yang diimplementasikan pada sebuah Xpcom Interface. Pada tugas akhir ini dibangun sebuah aplikasi remote server Linux sebagai implementasi dari PyXpcom. Implementasi remote server ini menggunakan Framework Mozilla yang bernama XULRunner. Didalam XULRunner terdapat Xpconnect yang bertugas untuk menghubungkan antara XUL dan Python sebagai bahasa pemrograman untuk berkomunikasi dengan server. Pada sisi server digunakan sebuah modul dari Python yang bernama Qweb Python sebagai remote service yang mempunyai fitur GET, POST dan POST multipart methods, handles cookies dan headers, dan menyediakan Dick-like Session Object (baik pada filesistem atau memori). QwebRequest dibangun dengan argumen WSGI yaitu environ dan start_response. Dari hasil impelementasi, memungkinkan sebuah remote server berkomunikasi melalui protokol HTTP. Hasil dari penelitian membuktikan bahwa PyXpcom dapat dikembangakan untuk aplikasi remote server yang memungkinkan untuk diimplementasikan pada sebuah add-ons pada Mozilla Firefox untuk pengembangan lebih lanjut oleh developer lainnya. Kata Kunci : PyXpcom, XUL 1. PENDAHULUAN Kemajuan dunia teknologi informasi yang begitu cepat ditunjang dengan penemuan dan inovasi telah membawa banyak perubahan dalam kehidupan manusia. Semakin banyak hal dan aspek dalam kehidupan yang menggunakan IT untuk menjalankan roda aktivitasnya. Berbicara tentang teknologi informasi, tentu saja akan berbicara tentang perkembangan dunia internet yang akhir-akhir ini berkembang begitu pesat. Programer tidak hanya bisa membuat halaman-web yang mereka inginkan sendiri, bahkan saat ini para programer sudah bisa mengembangkan browser yang mereka gunakan sesuai kebutuhan yang butuhkan. Dengan membuat sendiri fitur-fitur yang mereka inginkan, dapat memudahkan pekerjaan mereka dalam menggunakan fasilitas internet.
Kebanyakan pengembangan web browser dan web page saat ini manggunakan teknologi Java Script dan XML utuk pengembangannya. Dengan adanya teknologi XUL (XML User Interface Language) yang dikembangkan oleh Mozilla Corp., kita dapat mengembangkan teknologi-teknologi mereka dengan sesuka hati karena teknologi tersebut merupakan teknologi open source. Selain untuk pengembangan web, saat ini bahasa tersebut diatas juga dapat dikembangkan untuk sebuah aplikasi yang biasanya diimplementasikan pada setiap aplikasi keluaran Mozilla. Dikarenakan pengembangan aplikasi-aplikasi yang ada kebanyakan menggunakan bahasa pemrograman JavaScript sebagai bahasa utama. Maka, dalam tugas akhir ini penulis mencoba mengimplementasikan pengembangan aplikasi jaringan (remote server) dengan menggunakan bahasa pemrograman PyScript (Python Script) sebagai bahasa utama, yang dalam pengembangannya biasa disebut dengan PyxpCom. Selain hal diatas yang melatar belakangi tugas akhir ini yaitu penggunaan Remote Service yang selalu dianggap sebagai program penyusup yang membahayakan komputer kita. Dalam tugas akhir ini penulis akan mencoba untuk mengimplementasikan sebuah Remote Service sebagai program yang digunakan untuk masuk pada komputer milik kita sendiri agar kita dapat meremote komputer kita dimanapun kita berada melalui jaringan internet atau lokal. 2. XUL (XML User Interface Language) XML User Interface Language, XUL, adalah sebuah format dokumen dan kosa kata yang digunakan untuk mendeskripsikan cross-platfrom user interface dari engine firefox. HTML dan XHTML (HTML dari XML-compliant kin) digunakan untuk membangun halaman web yang merupakan kombinasi dari teks, gambar, dan multimedia dengan interaktifitas yang dibangun dengan menambahkan JavaScript Event Handlers ke elemen interface atau server script pada form client-provided yang disediakan. Elemen antarmuka XUL atau Winget dirancang untuk meringkas aktifitas-aktifitas pada halaman web. Browser Firefox itu sendiri adalah kumpulan dari tombol-tombol XUL, frame, dan menu yang didefinisikan oleh XUL source. Gecko rendering engine menggambarkan logika yang menampilkan semua antarmuka XUL.
EKO FAJAR YANUWARSA ‐ 5105100061 1
Makalah Seminar Tugas Akhir Periode Januari 2010
XUL bergantung pada beberapa standart web dan teknologi yang ada, termasuk CSS, JavaScript, dan DOM. Seperti itu membuat XUL relatif lebih mudah bagi mereka untuk belajar dengan latar belakang pemrograman web dan disain. XUL tidak mempunyai spesifikasi normal dan tidak saling beroperasi dengan selain implementasi Gecko. Namun, menggunakan implementasi open source dari Gecko, akan berada dibawah tiga lisensi yaitu GPL, LGPL, dan MPL. Untuk mengatasi hal tersebut, saat ini Mozilla telah menyediakan XULRunner yang masih dalam masa percobaan, agar para developer dapat mebangun aplikasi mereka diatas aplikasi Framework Mozilla dan XUL. Sedangkan XUL sendiri menyediakan sebuah definisi portabel untuk winget-winget umum, yang memungkinkan mereka untuk berpindah dengan mudah ke platform manapun yang menjalankan aplikasi Mozilla. Gambar dibawah ini menunjukkan hubungan XUL dengan elemen-elemen lainnya yang saling berhubungan:
Gambar 2.2 Platform XULRunner
Gambar 2.1 Hububungan XUL dengan elemenelemen lainnya
2.1. XULRunner XULRunner adalah sebuah runtime environment yang dikembangkan oleh Mozilla Foundation untuk menyediakan back-end dari aplikasi XUL secara umum. XULRunner menggantikan Gecko Runtime Environment, sebuah proyek dengan tujuan yang sama. XULRunner pertama dirilis pada Pebruari 2006, berdasarkan kode dasar Mozilla 1.8, dan Mozilla 1.9 versi alpha yang di rilis pada tahun 2007. Versi terbaru dari XULRunner saat ini adalah versi 1.9, yang banyak menggunakan Gecko engine terbaru, dan dibangun dari source code snapshot yang sama dengan Firefox 3. Membangun aplikasi XULRunner sama halnya dengan membuat sebuah extension. Terdapat chrome dan struktur hirarki file yang dibangun pada XUL winget yang mempunyai struktur hampir sama dengan Mozilla Firefox. Dibawah ini merupakan gambaran dari platform XULRunner:
3. Python Python dikenal sebagai bahasa pemograman interpreter, karena Python dieksekusi dengan sebuah interpreter. Terdapat dua cara untuk menggunakan Interpreter,yaitu dengan mode baris perintah dan modus script. Diakui oleh pembuatnya sendiri, Guido Van Rossum bahwa Python memproses suatu program lebih lambat dibandingkan dengan C, bahasa tingkat tinggi lainnya seperti Perl, C++, JAVA, Pascal berada satu tingkat dengan Python. Akan tetapi pada kenyataannya Python boleh dibilang bahasa pemograman yang kecepatannya melebihi C. Hal ini dikarenakan karena para Pengembang software lebih cenderung memilih kecepatan dalam menyelesaikan suatu proyek dibandingkan dengan kecepatan proses dari program tersebut, mengenai kecepatan program di jawab dengan kecepatan prosesor dan memori yang sangat berkembang saat ini, mengakibatkan tidak terlihatnya kelambatan dari program Python, dalam kata lain kecepatan suatu program Python dapat sebanding dengan program yang dibuat dengan bahasa C. Python diakui oleh banyak para pengembang software memiliki kemudahan dalam pengimplementasian ide - ide mereka, dan memerlukan waktu yang lebih sedikit untuk membuat suatu aplikasi Python, karena dalam Python ini terdapat fasilitas pembuatan tipe data variabel secara dinamik, pemograman berorientasi objek dan memiliki indentasi yang menarik pada struktur bahasa Python yang memudahkan programmer lain untuk membaca program dan memakai ulang modul – modul program tersebut. Kelemahan python adalah tidak dapat memprogram aplikasi tingkat rendah, seperti pembuatan OS dengan menggunakan C dan assembly, akan tetapi memungkinkan program Python disisipkan kedalam program dengan menggunakan bahasa C itu sendiri. 4. XPCOM XPCOM (Cross Platform Component Object Model) adalah model komponen cross platform dari Mozilla. XPCOM adalah salah satu
EKO FAJAR YANUWARSA ‐ 5105100061 2
Makalah Seminar Tugas Akhir Periode Januari 2010
komponen utama dalam pembangunan aplikasi pada lingkungan Mozilla yang menyediakan fiturfitur cross-platform untuk pengembang perangkat lunak. Fitur-fitur yang disediakan antara lain: •
Component Management
•
File Abstraction
•
Object message passing
• Memory management Model komponen objek ini membuat hampir semua fungsi Gecko tersedia sebagai rangkaian komponen, atau sebagai librari cross-platform yang dapat digunakan lagi. Aplikasi yang ingin terhubung dengan berbagai librari dari XPCOM (jaringan, keamanan, DOM, dll.) harus menggunakan layer khusus dari XPCOM yang disebut XPconnect, yang berdasarkan pada librari interface JavaScript atau bahasa-bahasa lainnya. XPconnect dibangun dengan menggunakan bahasa C atau C++, yang berbasis pada komponen XPCOM, dan dapat dikembangkan dengan mamemasukkan scripting bahasa pemrograman lain yg mendukung, antara lain: •
PyXpcom (Python)
•
PerlConnect dan PlXpcom (Perl)
• JavaXpcom (Java) Selain developer, XPCOM memungkinkan kita untuk menulis komponen sendiri dengan menggunakan bahasa C, C++, JavaScript, atau bahasa lainnya yang mendukung, serta mengkompilasi dan menjalankan komponen yang berbeda di banyak platform, termasuk Mozilla sendiri. Fleksibilitas untuk mengembalikan komponenkomponen XPCOM dari librari Gecko dan mengembangkan komponen-komponen baru yang berjalan pada berbagai fasilitas platform RAD (Rapid Application Development) yang berbeda serta hasil dalam sebuah aplikasi menjadi lebih produktif dan mudah untuk dikelola. contoh, librari jaringan adalah satu set komponen XPCOM yang dapat diakses dan digunakan oleh banyak aplikasi Mozilla. File I/O, keamanan, manajemen password, dan profil juga memisahkan komponenkomponen XPCOM sehingga programmer dapat digunakan dalam pengembangan aplikasi mereka sendiri. PyXPCOM memungkinkan komunikasi antara Python dan Xpcom, seperti aplikasi Python yang dapat mengakses objek-objek Xpcom, dan Xpcom yang dapat mengakses setiap class pada Python yang diimplementasikan pada sebuah Xpcom Interface. Dengan PyXPCOM, seorang developer dapat berhubungan dengan Xpcom atau menanamkan Gecko dari aplikasi Python. PyXPCOM mirip dengan JavaXPCOM (Penghubung Java-XPCOM) atau XPConnect (penghubung JavaScript-XPCOM).
Mozilla mendefinisikan banyak External Interface yang tersedia untuk komponen embeddors dan komponen developers. Pyxpcom menyediakan akses ke interface ini sebagai Python Interface. Pyxpcom juga berisi beberapa kelas yang menyediakan akses fungsi-fungsi untuk Initializing dan Shutting down Xpcom dan Gecko dari Python, serta beberapa fungsi Xpcom bantuan. 5. DESAIN DAN IMPLEMENTASI Pengerjaan tugas akhir ini akan membangun sebuah aplikasi yang bernama “Implementasi Aplikasi Remote Server Pada Mozilla Firefox Dengan Menggunakan Teknologi Xul Dan Pyscript”, dimana aplikasi ini mengimplementasikan sebuah Mozilla Framework sebagai dasar dalam pembangunan sebuah aplikasi remote server yang memungkinkan pengguna untuk mengontrol server mereka dari jarak jauh selama server masih terhubung dengan jaringan client. Agar pengguna memungkinkan untuk melakukan remote atau pengontrolan server mereka, aplikasi ini akan memanggil sebuah remote service yang sebelumnya telah dijalankan pada server. Dengan port yang telah ditentukan sebelumnya, maka server dan client memungkinkan untuk berkomunikasi secara remote didalam sebuah jaringan. Dengan memasukkan alamat IP dan port yang digunakan, maka aplikasi selanjutnya akan menampilkan sebuah konsole linux sebagai tampilan untuk halaman remote. Halaman remote yang ditampilkan sama halnya dengan halaman konsole pada linux server yang dituju oleh pengguna. Setelah halaman remote tersaji, pengguna hanya tinggal login sebagai user pada server yang di kontrol. Jika login telah sukses, maka pengguna berhak untuk mengontrol server sesuai prifasi login yang telah ditentukan pada server. 5.1. Arsitektur Aplikasi Implementasi remote server ini menggunakan Framework Mozilla yang bernama XULRunner. Didalam XULRunner terdapat Xpconnect yang bertugas untuk menghubungkan antara XUL dan Python sebagai bahasa pemrograman untuk berkomunikasi dengan server. Remote service yang sebelumnya telah di jalankan pada server akan membuka port sebagai jalur komunikasi pada client. Remote service akan berjalan pada port 8022 sebagai port default yang digunakan. Aplikasi Remote Server yang berfungsi sebagai client di kembangkan berdasarkan framework mozilla yang berbasis pada aplikasi browser yaitu Mozilla Firefox. Karenanya, framework ini dapat mendukung digunakannya HTTP sebagai protokol untuk berhungan dengan server. Dengan digunakannya protokol HTTP
EKO FAJAR YANUWARSA ‐ 5105100061 3
Makalah Seminar Tugas Akhir Periode Januari 2010
untuk aplikasi ini, maka pada server digunakan juga Apache untuk menjalankan remote service pada server. Sebagai keamanan kita dapat mengkonfigurasi Apache tersebut melalui HTTPS. Remote Service ini dibangun menggunakan bahasa pemrograman Python yang digabungkan dengan Ajax untuk menampilkan fungsi-fungsi dari eksekusi pada program Python. Aplikasi ini tidak menggunakan port SSH (22) atau telnet didalamnya, sehingga pada kondisi tertentu ketika port tersebut ditutup atau dihalangi oleh Firewall dan kita hanya mempunyai akses internet pada server maka kita dapat menggunakan aplikasi ini untuk mengontrol server melalui remote service yang telah kita jalankan sebelumnya.
Gambar 6.2 Tampilan interface awal
Setelah memasukkan IP-server tujuan dan port yang digunakan, aplikasi klien akan menampilkan halaman konsole Linux Server yang telah menjalankan Remote Service. Halaman konsole Linux tersebut akan ditampilkan seperti berikut:
Gambar 5.1 Arsitektur sistem
6. UJI COBA Pada bagian ini akan dibahas uji coba interface remote service dengan menggunakan kerangka PyXpcom (Python Xpcom) dan Qweb server. Uji coba dibagi menjadi 2 studi kasus meliputi uji fungsionalitas dan uji kecepatan. 6.1. Uji Fungsionalitas Uji coba ini bertujuan untuk mengetahui apakah masing-masing proses pada sistem sesuai dengan kebutuhan sistem dan fungsi proses. Pelaksanaan uji coba ditunjukkan seperti dibawah ini:
Gambar 6.1 Menjalankan Remote Service dengan port yang ditentukan
Dengan menjalankan file “remoteservice.py”, Remote Service akan berjalan pada server dengan port default 8022, atau dengan menentukan port sendiri yang digunakan seperti gambar diatas, dengan catatan port tersebut tidak sedang digunakan oleh aplikasi lain. Seperti yang diujicobakan diatas, aplikasi akan menggunakan port “6666” untuk komunikasi dengan klien. Aplikasi pada klien akan diujicobakan pada sebuah PC dengan menjalankan aplikasi bernama “xulrunner-stub.exe”. Setelah menjalankan aplikasi pada client maka akan ditampilkan interface seperti berikut:
Gambar 6.3 Tampilan Remote Server
Tampilnya halaman konsole pada klient mengindikasikan bahwa koneksi antara klien dan server telah terhubung. Selanjutnya identifikasi login pada server akan diminta untuk dapat menjalankan server secara remote, seperti ditunjukkan gambar diatas. Untuk mengetahui apakah fungsi proses telah berjalan, dilakukan pengujian terhadap beberapa semantik dasar dan editor pada unik, diantaranya yaitu: •
ls
•
cp
•
ps
•
rename
•
cat
•
chmod
•
who
•
chown
•
mkdir
•
Vim editor
• Nano editor • rm Hasil dari pengujian perintah editor “Vim” sebagai berikut:
EKO FAJAR YANUWARSA ‐ 5105100061 4
Makalah Seminar Tugas Akhir Periode Januari 2010
Tabel 6.1 Hasil analisa kecepatan “Login” Mozilla Remote Client
Mozilla Remote Client Request
Response
Result
ALERIA
1,087578
1,103060
0,015482
SHIRO
1,232377
1,255214
0,022837
ARARE
1,608240
1,626611
0,018371
PSB4
1,663817
1,681963
0,018146
NB: dalam satuan detik dimulai dari aplikasi Wireshark Gambar 6.4 Tampilan isi berkas dengan menggunakan "vi"
Selain pengujian diatas dilakukan juga pengujian enkripsi untuk menjaga keamanan data yang dikirmkan dari client ke server. Pada proses ini enkripsi yang digunakan adalah proses enkripsi base64. Hasil dari uji enkripsi yang telah dilakukan diperoleh sebagai berikut: cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz0= cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz1i cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz1h cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz1z cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz1t cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz1h cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz1s cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz1h cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz1o cz00ODA4NjUzNzQmdz0xMDAmaD0zNSZjPTEmaz0lMEQ=
Dari hasil enkripsi diatas, data yang dikirimkan oleh klien ke server telah mengalami pengenkripsian agar tidak mudah terbaca pada saat terjadi sniffing jaringan. 6.2. Uji Kecepatan Uji coba ini ditujukan untuk mengetahui waktu komputasi yang dibutuhkan ketika sistem dijalankan. Waktu komputasi yang dimaksud disini adalah waktu yang dihitung ketika remote client mengirimkan data ke server hingga ditampilkan kembali di aplikasi client. Pada uji kecepatan ini, aplikasi akan dibandingkan dengan aplikasi remote server lainnya yaitu “PuTTy”. Kecepatan yang akan dibandingkan dimulai dari awal kali login hingga pengguna berhasil merngontrol server yang dituju. Uji coba dilaksanakan dengan bantuan dua buah aplikasi yaitu “Wireshark” dan “Arpspoof”, untuk memantau aktifitas yang terjadi pada client sehingga diperoleh waktu yang dibutuhkan untuk pengiriman data. Uji coba dilaksanakan kepada empat buah komputer dengan spesifikasi yang berbeda. Dari uji kecepatan tersebut diperoleh hasil sebagai berikut:
dijalankan Tabel 6.2 Hasil analisa kecepatan “Login” aplikasi PuTTy
PuTTy Request
Response
Result
ALERIA
75,586832
75,799250
0,212418
SHIRO
22,966774
23,383717
0,416943
ARARE
12,109854
12,217914
0,108060
PSB4
38,782257
39,048092
0,265841
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan 6.3 Hasil analisa kecepatan “ls” Mozilla Remote Client
Mozilla Remote Client Request
Response
Result
ALERIA
73,819634
73,996066
0,176432
SHIRO
52,123601
52,358383
0,234782
ARARE
49,706865
49,83923
0,132365
PSB4
23,816341
24,14609
0,329749
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan 6.4 Hasil analisa kecepatan “ls” aplikasi PuTTy
PuTTy Request
Response
Result
ALERIA
43,984562
43,999099
0,014537
SHIRO
23,984672
23,998054
0,013382
ARARE
32,874678
32,888443
0,013765
PSB4
54,876432
54,906268
0,029836
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan
EKO FAJAR YANUWARSA ‐ 5105100061 5
Makalah Seminar Tugas Akhir Periode Januari 2010
6.5 Hasil analisa kecepatan “Vim” Mozilla Remote Client
Mozilla Remote Client Request
Response
Result
ALERIA
12,347165
12,465899
0,118734
SHIRO
34,176451
34,563582
0,387131
ARARE
7,614982
7,81453
0,199548
PSB4
26,187434
26,504665
0,317231
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan
hanya pada tahap login. Keadaan seperti ini disebabkan karena aplikasi PuTTy menggunakan enkripsi dengan kunci asimetrik yang membedakan cara antara proses enkripsi dan dekripsinya, sedangkan pada Mozila Remote Client menggunakan enkripsi base64 yang menggunakan kunci simetrik. Pada tahap lainnya, Mozilla Remote Client lebih lamban dari pada aplikasi PuTTy, hal ini dikarenakan Load image pada Mozilla Remote Client mempunyai beban data yang lebih besar dibanding dengan Load Text pada aplikasi PuTTy.
6.6 Hasil analisa kecepatan “Vim” aplikasi PuTTy
PuTTy Request
Response
Result
ALERIA
33,739274
33,753857
0,014583
SHIRO
37,976352
37,988699
0,012347
ARARE
38,783228
38,817973
0,034745
PSB4
89,784752
89,820625
0,035873
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan 6.7 Hasil analisa kecepatan “Logout” Mozilla Remote Client
Mozilla Remote Client Request
Response
Result
ALERIA
3,761845
7,08526
3,323415
SHIRO
2,371816
4,591161
2,219345
ARARE
3,206324
6,407104
3,20078
PSB4
5,181638
9,395966
4,214328
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan 6.8 Hasil analisa kecepatan “Logout” aplikasi PuTTy
PuTTy Request
Response
Result
ALERIA
10,83924
12,074662
1,235422
SHIRO
12,345624
13,694572
1,348948
ARARE
23,734561
25,30291
1,568349
PSB4
11,348234
12,680536
1,332302
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan
Dari data yang telah didapat dari skenario pengujian kecepatan diatas disimpulkan bahwa aplikasi Mozilla Remote Client lebih cepat dibandingkan dengan aplikasi PuTTy
7. SIMPULAN Dari serangkaian uji coba dan analisa yang dilakukan terhadap sistem yang dibuat, maka dapat dibuat suatu kesimpulan antara lain : 1. XulRunner sebagai framework dari Mozilla Firefox dikembangkan dengan berbasis pada web aplication, sehingga memungkinkan untuk diimplementasikannya sebuah aplikasi remote server dengan memanfaatkan protokol HTTP sebagai jalan untuk transportasi data. 2. Hasil dari tugas akhir ini dapat menjadi dasar pengembangan aplikasi remote server berbasis add-ons pada Mozilla Firefox dengan menggunakan Python sebagai bahasa standar menggantikan JavaScript. 3. Dari hasil uji coba diketahui bahwa kecepatan aplikasi Mozilla Remote Server hanya lebih unggul pada fase login saja dibanding aplikasi PuTTy dikarenakan enkripsi yg dilakukan lebih sederhana, selebihnya aplikasi PuTTy lebih cepat dan lebih unggul pada sisi sekuritas
4. Implementasi Python pada teknologi Mozilla membuktikan bahwa Python mampu menggantikan JavaScript sebagai bahasa standar bersama XUL dan bahasa pemrograman pendukung lainnya. Referensi [1]. Mozilla Developer Center (MDC), 2009, pyxpcomext,
[2]. Mozilla Developer Center (MDC), 2009, Pages tagged with "XULRunner",
[3]. Mozilla Developer Center (MDC), 2004, Building an Extension,
EKO FAJAR YANUWARSA ‐ 5105100061 6
Makalah Seminar Tugas Akhir Periode Januari 2010
[4].
[5].
[6].
[7].
Parrish Rick, 2001, An introduction to XPCOM, Nurjadi Joko, 2007, Firefox Extension, Whiteman Todd, 2008, Creating Python GUI Applications using XULRunner, Leighton Luke Kenneth Casson, 2009, XULrunner from a declarative perspective,
[8]. Endecott Phil, 2005-2009, Anyterm A Terminal Anywhere, [9]. Python Software Foundation, 1990-2009, RFC 3548: Base16, Base32, Base64 Data Encodings, [10]. -, 2007, XUL, [11]. -, 2005, Nufox Python + XUL, [12]. Caraveo Shane, Wrangler Dragon, 2008, GUI applications with XULRunner, PyXPCOM and PyDOM, ActiveState The Dynamic Languages Company [13]. Feldt Kenneth C., 2007, Programming Firefox, O’Reilly Media
EKO FAJAR YANUWARSA ‐ 5105100061 7