Konferensi Nasional Informatika (KNIF) 2015
Aplikasi pada Perangkat Mobile untuk Mendukung Penulisan Program Gilbran Imami1, Adi Mulyanto2 Program Studi Teknik Informatika, STEI, Institut Teknologi Bandung Jalan Ganesha 10, Bandung 40132, Indonesia 1
[email protected] 2
[email protected]
Abstrak— Dengan berkembangnya teknologi informasi, ketergantungan manusia pada perangkat mobile semakin tinggi. Saat ini perangkat mobile memiliki kemampuan processing yang lebih dari cukup untuk sekedar perangkat komunikasi. Ini membuka jalan untuk perangkat mobile digunakan sebagai sarana aktivitas produktif, misalnya untuk menulis program. Dengan menggunakan perangkat mobile sebagai sarana menulis program, programmer akan dapat menulis code di mana saja dan kapan saja. Untuk itu, dibutuhkan aplikasi yang dapat memenuhi kebutuhan menulis program pada perangkat mobile. Dalam makalah ini dijelaskan suatu aplikasi code editor dengan fitur-fitur yang memenuhi kebutuhan fungsional menulis program yaitu text editor, code intelligence, file management, dan compiling. Virtual keys yang memenuhi kebutuhan text editor diimplementasikan dengan pemasangan IME khusus sesuai kebutuhan pemrograman. Automatic indentation yang memenuhi kebutuhan code intelligence memudahkan pengguna dalam menulis code dengan memberikan indentasi otomatis saat programmer berpindah baris. Selain itu, untuk memenuhi kebutuhan code intelligence, aplikasi dapat menerapkan syntax highlighting, yang akan memberikan warna berbeda untuk syntax-syntax bahasa pemrograman. File explorer dan recent files diterapkan untuk memenuhi kebutuhan file management. Aplikasi juga dilengkapi dengan compiler agar programmer dapat compile code yang telah ditulis.
Kata Kunci— code editor, perangkat mobile, penulisan program
I. PENDAHULUAN Perkembangan teknologi melahirkan perangkat-perangkat elektronik yang memudahkan kehidupan manusia. Sejak munculnya komputer portabel pertama tahun 1980an, orang berlomba-lomba mengembangkan perangkat mobile dengan kemampuan yang lebih baik dan lebih mudah dibawa [1]. Saat ini kita mengenal perangkat mobile, yang tidak hanya berfungsi sebagai perangkat telekomunikasi suara, tetapi juga dapat digunakan untuk melakukan aktivitas lain seperti menyimpan kontak, menyimpan catatan, bermain permainan video, menjelajah situs-situs online, dan sebagainya. Dalam perkembangannya, perangkat mobile memiliki kapabilitas yang cukup untuk menjalankan aplikasi-aplikasi yang berkaitan dengan produktivitas kerja. Bentuk perangkat
mobile yang relatif mudah dibawa ke mana saja dan diakses kapan saja menjadikan pengguna antusias menggunakan aplikasi-aplikasi ini, karena pekerjaan pun masih dapat dilakukan sekalipun orang tersebut tidak sedang berada di hadapan sebuah komputer. Selain itu, terdapat kebutuhan untuk terhubung dengan sesama pekerja dan kebutuhan untuk mengakses informasi dengan cepat yang dimungkinkan dengan kemampuan komunikasi dan jaringan Internet yang dimiliki perangkat mobile. Salah satu kalangan pekerja yang dapat memanfaatkan hal ini adalah profesional IT khususnya programmer. Seorang programmer sering dihadapkan dengan situasi kebutuhan mendesak dari klien, maka tidak jarang programmer memiliki waktu tenggat yang tidak lama dan harus dipenuhi. Ketatnya jadwal membuat para programmer harus dapat bekerja kapan saja dan di mana saja, serta tidak lupa untuk tetap selalu berkomunikasi baik dengan tim kerja dan juga dengan klien. Untuk memenuhi kebutuhan informasi dan produktivitas tersebut, pengembang perangkat lunak membutuhkan perangkat mobile yang dapat memudahkan pekerjaan mereka. Dari berbagai uraian yang telah disebutkan di atas, maka pengembangan perangkat lunak yang dapat digunakan untuk mengembangkan perangkat lunak memiliki peluang untuk dikembangkan di perangkat mobile, sehingga dapat menyelesaikan masalah para programmer agar dapat meningkatkan efisiensi dan fleksibilitas dalam melakukan pekerjaannya. Hal ini dikarenakan karakteristik perangkat mobile yang dapat menunjang efisiensi pengguna dan kecanggihan dari teknologi perangkat mobile itu sendiri dari segi perangkat lunak dan perangkat keras. II. DASAR TEORI A. Konstruksi Perangkat Lunak Konstruksi perangkat lunak adalah proses mendetail dalam pembuatan perangkat lunak yang dapat digunakan dan bermanfaat melalui kombinasi coding, verifikasi, pengujian unit, pengujian integrasi, dan debugging [2]. Dalam melakukan pemrograman, seorang developer sebaiknya berpegang pada prinsip praktik terbaik coding untuk mendapatkan hasil akhir yang memuaskan.
2354-645X/15 ©2015
77
Konferensi Nasional Informatika (KNIF) 2015
Terdapat beberapa hal yang perlu dipertimbangkan saat melakukan coding dalam aktivitas konstruksi perangkat lunak, yaitu: Teknik-teknik untuk membuat source code yang dapat dipahami, termasuk penamaan dan layout source code Penggunaan kelas-kelas, tipe terenumerasi, variabel, nama konstanta, dan entitas lainnya Penanganan kondisi kesalahan, baik yang terencana maupun exception (misalnya masukan data yang buruk) Pencegahan pembobolan keamanan pada tingkatan code Pemanfaatan sumber daya dengan penggunaan mekanisme eksklusi dan cara-cara mengakses sumber daya yang dapat dipergunakan kembali (misalnya thread atau database locks) Organisasi source code (ke dalam kelas-kelas, package, atau struktur lainnya) Dokumentasi code Penyetelan code
Perangkat mobile memiliki ukuran yang kecil dan cukup di tangan orang dewasa. Perangkat mobile menggunakan touch screen atau keypad kecil untuk menerima masukan pengguna. Laptop dan netbook sering disalahartikan dengan perangkat mobile yang sebenarnya, tetapi jika ukuran device mencegah operasi dilakukan dengan satu tangan atau menghalangi portabilitas, maka device tersebut tidak bisa dianggap sebagai perangkat mobile yang sebenarnya. 3. Komunikasi nirkabel Perangkat mobile biasanya sanggup melakukan komunikasi dengan device sejenis, atau dengan perangkat PC. Suatu perangkat mobile memiliki kemampuan untuk mengakses Internet melalui Bluetooth atau jaringan Wi-Fi, dan banyak model perangkat mobile yang juga dipasang kemampuan akses seluler (3G dan GPRS) dan jaringan data nirkabel (Wi-Fi). Selain yang telah disebutkan di atas, perangkat mobile memiliki karakteristik yang juga menjadi kekurangan dari perangkat itu sendiri, yaitu [5]:
Dalam aktivitas coding, lebih banyak waktu yang dihabiskan untuk membaca code, mencoba memahami dan memodifikasi source code yang ada, daripada menulis source code yang baru. Keterbacaan code menjadi penting, karena sebuah code yang sulit dibaca dapat berakibat pada munculnya bug, kurangnya efisiensi, code yang terduplikasi, dan meningkatnya biaya yang diperlukan dalam pengembangan perangkat lunak. Faktor-faktor yang berkontribusi terhadap keterbacaan code di antaranya adalah gaya indentasi, commenting, dekomposisi atau pemfaktoran, dan konvensi penamaan. Dalam rekayasa perangkat lunak, tool adalah perangkat keras atau alat dalam perangkat lunak yang digunakan untuk mendukung berjalannya suatu proses. Sebuah tool yang efektif adalah yang memberikan peningkatan produktivitas atau kualitas yang signifikan. Dalam konstruksi perangkat lunak, tools yang digunakan lebih spesifik, di mana tools harus berbasis software dan digunakan utamanya dalam proses konstruksi perangkat lunak. Contoh tools konstruksi perangkat lunak di antaranya adalah compiler, sistem kendali versi, debugger, generator code, editor terspesialisasi, dan tools untuk dokumentasi [3].
1. Tenaga pemrosesan terbatas Prosesor perangkat mobile didesain untuk tetap dingin dan menggunakan tenaga listrik yang kecil untuk menghemat baterai. Penggunaan listrik yang kecil mengharuskan prosesor perangkat mobile menggunakan kecepatan clock yang rendah, namun tetap mampu menjalankan task-task seperti browsing internet, menonton video, mengirim pesan, dan editing foto dengan baik karena task-task tersebut tidak terlalu membutuhkan kemampuan prosesor yang sangat cepat. Prosesor pada perangkat mobile masa kini ada yang memiliki 2 inti (dual core) dan ada juga yang memiliki 4 inti (quad core) dengan kecepatan clock berkisar antara 1 GHz hingga 2.3 GHz. Selain itu, perangkat mobile pada masa kini dilengkapi dengan memory sebesar 512 MB hingga 2 GB dan kapasitas penyimpanan (storage) yang terbatas sekitar 8 GB hingga 64 GB. 2. Konektivitas terbatas Walaupun kebanyakan perangkat mobile sekarang dapat terhubung ke Internet dengan teknologi seluler, tetapi tetap saja ketersediaannya tidak dapat diandalkan 100%. Tidak hanya keterhubungannya dengan internet, keterhubungan perangkat mobile dengan perangkat lain juga terbatas. Personal komputer dapat dengan mudah terhubung dengan berbagai perangkat, seperti printer, scanner, flashdisk, dan lain-lain. Keterbatasan ini menjadi kendala besar bagi pengguna perangkat mobile karena perpindahan data dari satu perangkat ke perangkat lain adalah hal yang penting untuk dilakukan, sehingga keterbatasan ini dapat mengganggu produktivitas.
B. Mobile Device sebagai Perangkat Konstruksi Perangkat Lunak Perangkat mobile memiliki karakteristik tertentu yaitu [4]: 1. Portabel Perangkat mobile memiliki dapat dipindahkan secara terusmenerus. Setiap perangkat mobile harus dapat berfungsi dan beroperasi secara konsisten saat bergerak, tidak peduli seberapa dekat perangkat mobile dengan sumber tenaga maupun internet access point. Untuk mendukung portabilitas, perangkat mobile memiliki baterai yang dapat di-charge. 2. Ukuran kecil
III. ANALISIS KEBUTUHAN Aplikasi code editor dibuat untuk memudahkan programmer dalam menulis code. Untuk itu perlu dikaji kegiatan coding pada perangkat mobile, kebutuhan dasar perangkat lunak, dan identifikasi aplikasi-aplikasi code editor yang ada.
78
Konferensi Nasional Informatika (KNIF) 2015
A. Kegiatan Coding pada Perangkat Mobile Untuk memungkinkan aktivitas coding pada perangkat mobile, aplikasi yang digunakan sebaiknya memiliki fungsifungsi yang tidak jauh berbeda dengan code editor yang sudah ada pada personal computer (PC). Hal-hal yang penting saat coding di antaranya adalah sebagai berikut. 1. Menulis code Untuk memungkinkan programmer melakukan aktivitas coding, aplikasi code editor pada umumnya menyediakan area pada layar di mana code yang sedang ditulis programmer akan ditampilkan. Dalam menulis code, programmer menggunakan perangkat keyboard yang terpasang pada PC. Dengan menggunakan keyboard, programmer juga dapat memasukkan perintah-perintah yang memudahkan dalam menulis code. Pada sistem operasi Windows, perintah-perintah ini misalnya seperti copy (Ctrl+c), paste (Ctrl+v), cut (Ctrl+x), undo (Ctrl+z), redo (Ctrl+y), find (Ctrl+f), dan sebagainya. 2. Menyimpan file Fungsi untuk menyimpan perubahan yang sudah dilakukan penting ada dalam aplikasi editor apa saja. Namun hal ini menjadi lebih penting pada aplikasi editor di perangkat mobile. Karena fungsionalitas smartphone yang utama adalah sebagai perangkat komunikasi, ada kemungkinan proses aplikasi akan dihentikan sewaktu-waktu untuk menjalankan proses lain, misalnya menerima panggilan suara. Saat ini terjadi aplikasi akan dihentikan fungsinya, dan programmer bisa kehilangan perubahan yang sudah dilakukan pada editornya. Oleh karena itu aplikasi harus memungkinkan programmer untuk menyimpan hasil pekerjaannya. 3. Membuka file Selain dengan membuat file baru, programmer dapat menulis code dengan mengubah file yang sudah pernah dibuat. Aplikasi coding sebaiknya memungkinkan programmer untuk menemukan file code yang ingin ditampilkan ke layar untuk diedit. 4. Melakukan compile Setelah selesai menulis program yang diinginkan, programmer akan menguji keberjalanan program tersebut dengan compiler. Walaupun kemampuan pemrosesan perangkat mobile lebih terbatas dibandingkan PC, keberadaan compiler tetap diperlukan untuk mengetahui apakah program yang dibuat benar-benar dapat dijalankan. 5. Formatting Agar code mudah terbaca, diperlukan formatting yang baik. Aplikasi sebaiknya memungkinkan formatting otomatis yang mudah, sehingga programmer dapat menggunakan waktunya untuk hal yang lebih produktif yaitu menulis code itu sendiri. Oleh karena itu, formatting seperti automatic indentation sebaiknya diimplementasikan pada aplikasi ini. Selain itu, aplikasi sebaiknya memberikan keleluasaan tertentu pada programmer untuk mengubah jenis, warna, dan ukuran font sesuai preferensi masingmasing. B. Kebutuhan Dasar Perangkat Lunak
Dari kegiatan-kegiatan coding di atas, terdapat kebutuhankebutuhan fungsional dasar untuk menunjang programmer dalam melakukan kegiatan-kegiatan tersebut, yaitu: Aplikasi memungkinkan programmer untuk menyunting teks (text editor) Aplikasi mampu mempercepat programmer dalam menulis code (code intelligence) Aplikasi mampu mengelola file (file management) Aplikasi mampu melakukan compiling secara online C. Kebutuhan Pengembangan Perangkat Lunak Untuk membuat aplikasi yang mampu memenuhi kebutuhan dasar tersebut, dilakukan identifikasi tiga aplikasi code editor terbaik dan terpopuler yang sudah ada, yaitu DroidEdit, DeuterIDE, dan AIDE [6]. Ketiga aplikasi tersebut dibandingkan, dan selanjutnya dapat diketahui sejauh mana fitur-fitur pada aplikasi-aplikasi tersebut mampu memenuhi kebutuhan fungsional suatu aplikasi code editor. Dari perbandingan ketiga aplikasi tersebut, akan diimplementasikan fitur-fitur yang sesuai dengan karakteristik perangkat mobile seperti ukuran layar yang kecil dan kemampuan pemrosesan yang terbatas. Fitur-fitur tersebut ditunjukkan pada Tabel I berikut. TABEL I PERBANDINGAN FITUR-FITUR DAN KEBUTUHAN FITUR IMPLEMENTASI
Droid Deuter ImplemenAIDE Edit IDE tasi Fitur untuk pemenuhan kebutuhan text editor Text area • • • ✓ Virtual • • ✓ keys Find/ • • ✓ replace Undo/ redo • • • ✓ Go to line • • ✓ Read only • • Auto save • Font • • ✓ customize Fitur untuk pemenuhan kebutuhan code intelligence Automatic • ✓ indentation Error • checking Code • completion Syntax • • • ✓ highlight Fitur untuk pemenuhan kebutuhan file management Online • • storage Multiple • • documents File • • • ✓ Explorer Save, Save • • • ✓ As, Open
79
Konferensi Nasional Informatika (KNIF) 2015
Recent files • Fitur untuk pemenuhan kebutuhan compiling Online • Compiler
✓ ✓
IV. RANCANGAN DAN IMPLEMENTASI Selanjutnya, dilakukan perancangan dan implementasi fiturfitur aplikasi. Perancangan dan implementasi dilakukan dengan identifikasi kelas-kelas dan dilanjutkan dengan pemetaan kelas-kelas tersebut ke layar yang diperlukan. A. Identifikasi Kelas Berdasarkan fitur-fitur yang diimplementasikan dan ditunjukkan pada Tabel I, dapat dibentuk kelas-kelas yang menampung fitur-fitur tersebut. Kelas-kelas tersebut yaitu: 1. TextEditor Kelas ini merupakan kelas utama pada aplikasi yang berfungsi menerima masukan pengguna dan memiliki fungsi untuk menyunting teks. 2. FileExplorer Kelas ini berfungsi untuk memudahkan pengguna menjelajahi struktur direktori perangkat mobile. 3. SaveOpenHandler Kelas ini menangani penyimpanan dan pengaksesan file yang dapat diinisiasi dari kelas TextEditor, FileExplorer, dan RecentFiles. 4. RecentFiles Kelas ini berfungsi untuk membuat daftar file-file yang baru-baru ini diakses. 5. Settings Kelas ini berfungsi untuk menyimpan pengaturan sesuai dengan pilihan programmer. 6. FindReplaceHandler Kelas ini berfungsi untuk menemukan atau mengganti kata pada file sesuai masukan programmer. 7. Compiler Kelas ini berfungsi untuk mengirimkan code yang ditulis programmer ke suatu server online dan menampilkan hasil compile ke layar.
4 5 6 7 8
Settings FindReplaceHandler SaveOpenHandler FileExplorer Compiler
Settings Find/replace Save File explorer Compile
Fungsi-fungsi pada masing-masing layar adalah sebagai berikut: 1. Layar home page Programmer dapat memilih untuk membuka file yang terakhir diedit, membuat file baru, atau membuka file dari file explorer. Pada halaman ini ditampilkan juga daftar file yang baru diakses (recent files). 2. Layar edit mode: Melalui layar ini, programmer dapat menulis code dengan bantuan virtual keys, menyimpan code, dan menggunakan fungsi find/replace. Pengguna juga dapat mengakses menu melalui tombol option pada perangkat Android. 3. Layar daftar menu: Melalui layar ini, programmer dapat mengakses new file, save, save as, compile, go to line, settings, dan close file. Saat programmer memilih close file, aplikasi akan menampilkan kembali home page. 4. Layar settings: Melalui layar ini, programmer dapat mengubah tampilan visual aplikasi.. 5. Layar find and replace: Melalui menu find and replace, programmer dapat mencari baris code tertentu baik untuk melakukan review maupun perubahan pada code. 6. Layar save: Melalui layar ini, programmer dapat menyimpan code sebagai file baru. 7. Layar file explorer: Melalui layar ini, programmer dapat menemukan letak suatu file dalam struktur direktori sistem dan membuka/edit file tersebut. 8. Layar compile: Melalui layar ini, programmer akan mengetahui status compile (gagal/sukses) dan melihat hasil compile program tersebut. Alur perpindahan antarlayar tersebut digambarkan pada Gbr. 1 berikut.
B. Identifikasi dan Rancangan Layar Setelah kelas-kelas diidentifikasi, selanjutnya dapat disusun komponen-komponen layar yang dibutuhkan. Pemetaan kelas-kelas ke layar yang dibutuhkan ditunjukkan pada Tabel II berikut. TABEL II TABEL IDENTIFIKASI LAYAR
No 1 2
3
Kelas Terkait TextEditor RecentFiles TextEditor FindReplaceHandler SaveOpenHandler TextEditor SaveOpenHandler Settings Compiler
Layar Home page Edit mode
Daftar menu
80
Konferensi Nasional Informatika (KNIF) 2015
START
STOP
Membuka aplikasi Menekan tombol back
Menekan back Menekan tombol back
Home page
Membuka file
Membuat file baru
Membuka file terakhir diedit
File explorer
Memilih file yang diinginkan Menutup semua tab file
Edit mode
Memilih lokasi penyimpanan Memilih menyimpan file Menekan tombol back
Find/ replace
Save
Memilih find/replace
2. Automatic Indentation Fitur ini diimplementasikan dengan mencatat berapa banyak karakter kosong (tab atau spasi) pada setiap baris sebelum karakter tidak kosong dituliskan. Kemudian saat programmer berpindah ke baris selanjutnya dengan menekan tombol enter, maka posisi kursor pada baris baru tersebut akan berada pada jarak yang sesuai dengan karakter kosong pada baris sebelumnya seperti ditunjukkan pada Gbr. 3.
Pencarian berhasil
Daftar menu Memilih settings
Membuka menu Menekan tombol back Memilih compile
Settings Compile
Menekan tombol back
Menekan tombol back
Gbr. 1 Diagram Transisi Layar
C. Implementasi Fitur 1. Virtual Keys Untuk mengimplementasikan virtual keys pada aplikasi code editor, perlu dibuat input method editor (IME) khusus yang sesuai dengan kebutuhan. IME merupakan program tambahan yang berfungsi menggantikan keyboard virtual Android default. Melalui IME, dapat ditentukan tomboltombol apa saja yang akan ditampilkan oleh keyboard virtual Android. Dan setelah keyboard virtual ini terpasang pada perangkat Android, programmer dapat mengaktifkan keyboard tersebut di pengaturan perangkat Android untuk menggantikan keyboard default. Pada aplikasi code editor ini, dibuat lima baris keys pada IME tersebut, di mana pada masing-masing baris ditentukan keys yang diperlukan. Baris pertama keys diisi dengan simbol-simbol yang umum digunakan dalam pemrograman. Implementasi virtual keys ditunjukkan pada Gbr. 2.
Gbr. 3 Implementasi Automatic Indentation
3. Syntax Highlighting Fitur ini menggunakan tiga warna berbeda untuk elemenelemen code yaitu comment, kata dalam kutip, dan kata kunci syntax pemrograman. Berdasarkan bahasa pemrograman yang dipilih programmer, aplikasi akan mengidentifikasi bagian code yang diawali dengan karakter tertentu sebagai comment dan menerapkan warna khusus comment pada teks tersebut. Aplikasi juga akan mengidentifikasi bagian code yang diapit oleh tanda kutip dan menerapkan warna berbeda pada teks tersebut. Selain itu, berdasarkan bahasa pemrograman yang dipilih, terdapat keyword tertentu berupa syntax bahasa pemrograman yang umum muncul saat menulis code dalam bahasa tersebut. Aplikasi akan menerapkan warna ketiga untuk syntax bahasa pemrograman yang sesuai. Implementasi fitur ini ditunjukkan pada Gbr. 4.
Gbr. 4 Implementasi Syntax Highlighting Gbr. 2 Implementasi Virtual Keys
81
Konferensi Nasional Informatika (KNIF) 2015
4. Recent Files Saat programmer memilih untuk menyimpan atau membuka file code, aplikasi akan memasukkan informasi mengenai file tersebut ke dalam sebuah array recent files. Array ini mampu memuat sepuluh entri file yang diurutkan berdasarkan tanggal akses, baik itu akses open maupun save. Apabila terdapat file kesebelas, maka entri paling lama pada tabel tersebut akan dihapus. Informasi mengenai file yang tersimpan yaitu nama file, lokasi penyimpanan, dan waktu akses. Sesuai dengan rancangan layar, daftar recent files ini akan ditampilkan pada home page aplikasi, dan programmer dapat menampilkan file yang diperlukan dari daftar tersebut. Implementasi fitur ini ditunjukkan pada Gbr. 5 berikut.
Gbr. 6 Implementasi Compiling
Gbr. 5 Implementasi Recent Files
5. Compiling Compile dilakukan dengan memanfaatkan Ideone API. Dengan menggunakan Ideone API, programmer dapat melakukan compile dan eksekusi program dari code yang telah dibuat menerima hasil dari eksekusi tersebut. Proses compile dan eksekusi program sepenuhnya terjadi di server Ideone, sehingga tidak membebani kinerja perangkat mobile. Saat programmer memilih melakukan compile pada aplikasi code editor, programmer akan dibawa ke layar compile. Di layar ini, programmer dapat memilih bahasa compiler dan memasukkan nilai inputan. Selanjutnya, aplikasi code editor akan mengirim file XML yang berisi code yang ditulis programmer, bahasa compiler yang dipilih, dan nilai masukan ke server Ideone melalui web service. Server Ideone kemudian akan memproses XML request tersebut dan mengirimkan XML balasan yang berisi status eksekusi dan hasil eksekusi ke aplikasi code editor. Aplikasi code editor kemudian menampilkan status eksekusi dan hasil eksekusi ke layar compile. Proses compile dengan Ideone ini ditunjukkan pada Gbr. 6.
D. Batasan Implementasi Implementasi aplikasi code editor ini dilakukan dengan batasan-batasan sebagai berikut: Fitur compile diimplementasikan pada aplikasi ini dengan memanfaatkan API dari Ideone. Dalam melakukan compile, aplikasi akan menerima masukan masukan programmer jika ada, dan mengirimkannya beserta keseluruhan code pada server Ideone melalui jaringan internet. Code kemudian di-compile, dan hasilnya akan dikembalikan ke layar. Fitur line number diimplementasikan dengan mendapatkan posisi kursor pada layar dan menampilkan di layar. Proses ini dilakukan terus-menerus secara real time sehingga pada saat kursor berpindah baris, line number yang ditampilkan juga ter-update secara real time. Namun proses yang terusmenerus dijalankan setiap saat ini sangat membebani perangkat dan menyebabkan aplikasi tersebut crash, sehingga fitur ini tidak diimplementasikan. Fitur error checking dilakukan dengan melakukan compile secara lokal dan terus-menerus terhadap code yang dibuat programmer. Namun karena pada aplikasi code editor pada tugas akhir ini menggunakan compile secara online, maka fitur error checking ini tidak dapat diimplementasikan. Fitur multiple documents tidak diimplementasikan pada aplikasi code editor ini karena membuka lebih dari satu file sekaligus, terutama file dengan jumlah kata yang cukup banyak, menggunakan banyak tenaga pemrosesan dan membebani perangkat mobile. Aplikasi ini diimplementasikan pada sistem operasi Android minimum v4.0. V. PENUTUP Dari perancangan dan implementasi yang dilakukan, diperoleh simpulan sebagai berikut:
82
Konferensi Nasional Informatika (KNIF) 2015
Kemudahan penulisan program pada perangkat mobile dicapai dengan implementasi fitur-fitur yang memenuhi kebutuhan text editor, code intelligence, file management, dan compiling yang dikaji dari tiga aplikasi code editor yang sudah ada Dalam perancangan dan implementasi fitur, selain berfokus pada pemenuhan kebutuhan fungsional, perlu juga dipertimbangkan karakteristik perangkat mobile seperti ukuran layar yang kecil dan kemampuan pemrosesan yang terbatas, sehingga aplikasi dapat dengan tepat memudahkan pengguna dalam menulis program. Dalam pengembangan lebih lanjut, dapat dirancang dan dibangun server khusus (dedicated) aplikasi ini saja yang memungkinkan online storage dan compiling sehingga programmer tidak perlu bergantung pada uptime dan downtime server pihak ketiga. Selain itu, saat melakukan compile, aplikasi sebaiknya dapat mengidentifikasi bahasa pemrograman code yang akan di-compile sehingga programmer tidak perlu memilih compiler yang dibutuhkan sebelum compile. Ini dapat mengurangi kemungkinan kesalahan compile yang terjadi. Dalam pengembangan lebih lanjut, dapat diimplementasikan fitur code versioning yang memungkinkan pengguna untuk mendapatkan kembali versi file sebelumnya. Code versioning ini dapat dicapai dengan mencatat file sebagai versi baru apabila terdapat perubahan isi file saat programmer melakukan compile. VI. DAFTAR REFERENSI [1] Bellis, Mary. (2013). History of Laptop Computers. [Online]. Available: http://inventors.about.com [2] Abran, Alain, dkk.. (2004). Guide to the Software Engineering Body of Knowledge, Los Alamitos: IEEE Computer Society. [3] Bollinger, Terry. (2001). Software Construction. [Online]. Available: http://www.academia.edu [4] Callahan, Rob. (2013). Characteristics of Mobile Devices. [Online]. Available: http://www.e-how.com [5] Smith, Matt. (2013). Why Your Smartphone Won’t Be Your Next PC. [Online]. Available: http://www.digitaltrends.com [6] Imami, Gilbran. (2015). Aplikasi pada Perangkat Mobile untuk Mendukung Penulisan Program, Bandung.
83