OPTIMALISASI SISTEM OPERASI ANDROID 2.1 ECLAIRE PADA PERANGKAT MOBILE HTC DESIRE Naskah Publikasi diajukan oleh Dedhi Purnama 07.12.2326 kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2011 OPTIMALIZATION ANDROID 2.1 ECLAIRE OPERATION SYSTEM IN MOBILE HTC DESIRE DEVICE OPTIMALISASI SISTEM OPERASI ANDROID 2.1 ECLAIRE PADA PERANGKAT MOBILE HTC DESIRE Dedhi Purnama Jurusan Sistem Informasi STMIK AMIKOM YOGYAKARTA ABSTRACT Android is an operation system for mobile phone with linux based. Untill now Google has released 6 versions of Android, they are 1.5 (Cupcake), 1.6 (Donut), 2.0 (Eclaire), 2.2 (Froyo) and the last one is 2.3 (Gingerbread). Hundred thousands of applications are available for free in Android Market and can be downloaded for free too. Android becomes highly develop because this operation system is an Open Source where both the user and the vendor can create or develop their own program. Nevertheless, most of the vendors of the mobile equipment don’t supply the update / customization of the product the create periodically. When there is a new product, the old one will be discarded and won’t get any support. Optimalization starts from the Rooting, so that there will be no limit of the process, the right choose of partition is using partition SDCard, the radio installation is used for managing the air equipment (wireless, mobile broadband, Bluetooth etc). Backup, install custom ROM, Apps2SD so the performance, security, support and upgradable of the program is fulfilled. Keywords: Android, Google, Root, Operating System, Mobile 1. Pendahuluan Sistem operasi selalu diperbaiki kinerjanya maupun tampilannya. Salah satu alasannya adalah untuk menjaga agar pemakainya tidak berpindah ke sistem operasi lain. Demikian juga dengan sistem operasi Android. Meskipun versi awalnya sudah berjalan baik namun oleh para developer-nya, diperbarui juga. Dalam waktu kurang dari dua tahun, Android sejauh ini sudah me-rilis lima versi untuk sistem operasinya, mulai versi 1.5 Cupcake, 1.6 Donuts, 2.1 (Eclaire), 2.2 (Froyo) dan yang paling akhir 2.3 (Gingerbread). Sayangnya, perkembangan sistem operasi Android yang begitu cepat tidak dibarengi dengan pabrikan ponsel itu sendiri. Memang ada merek ponsel tertentu yang mengembangkan versi Android sendiri, termasuk versi update-nya. Itulah sebabnya tidak mengherankan bila satu merek sudah mengupgrade versi Android nya, tetapi merek yang lain masih bertahan dengan versi sebelumnya. Sistem operasi Android terbaru memiliki fitur dan keunggulan lebih bahkan kinerja nya lebih baik dibanding sistem operasi sebelumnya. Pada ponsel HTC Desire yang penulis gunakan masih menggunakan sistem operasi 2.1 Eclaire, dimana banyak sekali kekurangan yang penulis rasakan dibandingkan sistem operasi terbaru, Android 2.2 Froyo atau 2.3 Gingerbread. Misalnya saja belum mendukung apps2sd, dimana aplikasi yang di install di Android tidak bisa di pindah ke memori eksternal, jadi mesti hemat memori internal. Ditambah lagi di sistem operasi Eclaire belum mendukung untuk membuat jaringan Ad-Hoc Wireless dan yang menjadi masalah umum bagi pengguna Android lain adalah penggunaan baterai yang boros. Salah satu syarat untuk dapat menikmati fitur-fitur tersebut adalah me-rooting perangkat mobile kita. 2. Landasan Teori 2.1 Kernel Kernel adalah inti atau bisa dikatakan sebagai mesin utama sebuah sistem operasi. Berbeda dengan sistem operasi lain yang umumnya menyembunyikan kernelnya, Linux mengedepankan kernelnya. Jika bicara mengenai Linux, berarti kita bicara mengenai kernel Linux. Sampai saat ini, copyright kernel tetap diipegang pembuat Linux pertama yaitu Linus Torvald. 2.2 GNU/Linux Linux adalah sistem operasi yang bersifat open source dan bebas (free) di bawah lisensi GNU (GNU is not Unix) GPL (General Public License). Arti kata open source adalah pada Linux kode sumber yang menjadi inti diikutsertakan dalam program sehingga dapat dilihat oleh siapa saja tanpa harus menandatangani suatu perjanjian khusus. Arti kata bebas atau free mengacu pada kebebasan bukan berarti bebas biaya. Linux bebas untuk diduplikasikan, dimodifikasi, dan disebarluaskan baik untuk tujuan tak komersial ataupun tujuan komersial. 2.3 Sejarah Android Android adalah sebuah sistem operasi yang dikembangkan oleh Google bersama perusahaan-perusahaan lain yang tergabung ke dalam Open Handset Alliance (termasuk Intel, Nvidia dan Texas Instruments). Pada bulan November 2007 Google mulai mematenkan beberapa teknologi yang berkaitan dengan ponsel yang akan dijalankan berbasis Android. Sistem Android ini berbasis pada sistem operasi Linux yang sebelumnya sudah popular di kalangan pengguna komputer. Seperti juga asalnya, sistem bersifat terbuka, Android juga bersifat terbuka dan gratis. Android sendiri didistribusikan melalui dua versi, yaitu versi Google Mobile Service (GMS) dan versi Open Handsate Distribution (OHD). GMS merupakan model distribusi yang didukung penuh atau resmi keluaran Google. Ponsel yang berisi Android dengan distribusi GMS akan mendapatkan akses langsung ke Marketplace, yaitu di dalam ponsel Android tersebut telah dilengkapi oleh fasilitas-fasilitas yang terhubung dengan Google Account kita. Beberapa aplikasi tersebut misalnya, Gmail, Google Contact, Google Calender dan juga Youtube. Sedangkan OHD berarti Android yang sangat dasar, belum ada support dari Googel sama sekali. Tetapi, pengguna masih dapat mengakses fungsi-fungsi dasar dari handset seperti perangkat mobile lain, akan tetapi tidak ada Google Apps termasuk tidak adanya Android Market. Android sendiri memiliki banyak fitur diantaranya adalah: • Merupakan sebuah Application Framework diartikan sebagai alat yang digunakan untuk membantu pekerjaan sehingga programmer dapat menggunakan beberapa fungsi yang telah disediakan. • Dalvik virtual machine berjalan diatas Linux kernel dan dioptimalkan untuk perangkat mobile. Tiap aplikasi dalam Android memiliki virtual machine yang dapat bekerja secara efisien dalam lingkungan memori yang terbatas. • Integrated browser. Web browser berbasis WebKit engine terdapat pada browser default Android atau pun dapat diintegrasikan dengan aplikasi lain. WebKit sendiri adalah web engine yang dirancang untuk memungkinkan web browser untuk membuat halaman web. • Optimized graphics, library grafis 2D yang kaya dan 3D berbasis OpenGLES 1.0 yang mendukung akselerasi hardware. • SQLite, untuk penyimpanan data. • Media Support, mendukung berbagai format audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) • GSM Telephony, mendukung m fu ungsi komunikasi GSM. • Bluetooth, EDGE E, 3G dan WiFi, mend dukung kom munikasi pad da jaringan (terga antung hardw ware). • Kame era, GPS, kompas dan accelerometer, menduku ung berbagaii fitur yang dised diakan oleh ha ardware. • Lingk kungan development yang g lengkap. Te ermasuk device emulator, tools untuk debug gging, profilin ng memori dan performa, plugin p untuk Eclipse E IDE. • 2 2.4 Marke et, sebagai te empat penjualan aplikasi. Arsite ektur Android Andro oid terdiri da ari beberapa a stack softw ware yang te erdiri dari: Applications, A A Application Framework, F Libraries, Android Runtime dan kernel L Linux. Arsitekktur lengkap p platform ini da apat dilihat pa ada Gambar 2.1. G Gambar 2.1: Arsitektur A Plattform Android d S Sumber: http://developer.a android.com/images/system m-architecture.jpg 2 2.4.1 Application pakan program m yang langssung berhubu ungan dengan n user. baik Application merup p program yang g merupakan bawaan dari Android send diri maupun program p yang g dibuat oleh d developer menggunakan bahasa pem mrograman Java. J Contoh h program bawaan b dari p platform And droid sendiri adalah ema ail client, pro ogram SMS, Calendar, Maps, M Web B Browser, Con ntact dan sebagainya. 2.4.2 Application Framework Lapisan ini berisi sekumpulan API (Application Programming Interface) yang dapat digunakan oleh programmer maupun core application dari Android. Lapisan ini dirancang untuk memudahkan penggunaan komponen dari Android sendiri. Aplikasi manapun dalam Android dapat berbagi fungsi sehingga aplikasi lain dapat memanfaatkannya. Aplikasi pada Android disusun atas beberapa komponen: • Sekumpulan Views, digunakan untuk mengatur tampilan pada aplikasi. contohnya adalah lists, grids, text box, button, bahkan embeddable web browser. • Content providers. komponen yang mengatur agar aplikasi dapat mengakses resources dari aplikasi lain (seperti Contacts), atau berbagi data dengan aplikasi lain. • Resource Manager, menyediakan akses ke pada resource non-code seperti localized string, grafik dan file layout. • Notification Manager, memungkinkan agar suatu aplikasi dapat menampilkan peringatan yang dapat di kostumasi pada status bar. • Activity Manager, mengatur siklus aplikasi dan navigasi antar aplikasi yang sedang berjalan 2.4.3 Libraries Android mendukung beberapa library C/C++ yang digunakan pada berbagai komponen Android. Kemampuan ini dapat diakses oleh developer melalui Android Application Framework. Beberapa library diantaranya adalah: • System C library, implementasi library C standar (libc). • Media Libraries, mendukung berbagai format multimedia (termasuk MPEG4, H.264, MP3, AAC, AMR, JPG, PNG). • Surface Manager, mengatur akses ke subsistem layar, lapisan komposit 2D dan grafis 3D dari beberapa aplikasi. • LibWebCore, mesin web modern yang powerfull. • SGL, mesin grafis 2D • 3D Library, implementasi OpenGL ES 1.0 yang mendukung akselerasi hardware, sangat optimal dengan perangkat keras 3D. • FreeType, bitmap dan vector rendering. • SQLite, mesin database yang kuat dan ringan tersedia untuk semua aplikasi. 2.4.4 Android Runtime Tiap aplikasi pada Android memiliki proses-nya masing-masing. Tiap aplikasi tersebut memiliki instans dari Dalvik virtual machine (VM). Dalvik virtual machine dirancang agar suatu device dapat menjalankan beberapa VM secara efisien. Dalvik VM mengeksekusi file dengan format Dalvik Executable format (.dex) yang dirancang untuk meminimalkan memory footprint . 2.4.5 Linux Kernel Android menggunakan kernel Linux versi 2.6 sebagai sistem utama. Fungsi kernel yang digunakan antara lain untuk keamanan, manajemen memori, manajemen proses, manajemen jaringan dan driver model. Kernel juga berfungsi sebagai layer abstrak antara hardware dan lapisan lainnya pada software stack. 2.2.5 Anatomi Aplikasi Android Terdapat empat building blocks pada aplikasi Android yaitu: • Activity • Intent Receiver • Service • Content Provider Tidak semua aplikasi membutuhkan keempat blok ini, tetapi suatu aplikasi dibuat menggunakan kombinasi beberapa blok ini. Setelah memutuskan blok komponen yang akan digunakan, blok tersebut didaftarkan pada suatu file yang disebut dengan AndroidManifest.xml. File XML ini digunakan untuk menyatakan komponen apa saja yang dibutuhkan oleh sebuah aplikasi dan kemampuan serta kebutuhan aplikasi tersebut. 2.2.5.1 Activity Activity paling umum diantara keempat building block Activity biasanya suatu tampilan (screen) dalam suatu aplikasi. Kebanyakan, aplikasi terdiri dari beberapa screen. Contohnya aplikasi pengiriman pesan akan memiliki screen untuk mendaftarkan pesan yang masuk, menulis pesan dan screen lainnya untuk melakukan pengaturan. 2.2.5.2 Intent dan Intent Filter Android menggunakan kelas khusus bernama intent untuk berpindah dari screen ke screen lainnya. Sebuah intent mendeskripsikan apa yang ingin aplikasi penuhi. Sebagai contoh, untuk melihat informasi suatu contact seseorang, kita membuat intent dengan action view dan data sebagai url yang merepresentasikan orang tersebut. 2.2.5.3 Intent Receiver IntentReceiver dapat digunakan pada saat kita menginginkan kode kita dijalankan akibat reaksi dari external event tertentu. Contohnya, pada saat telepon berbunyi, atau pada saat ada data pada jaringan, atau pada suatu waktu tertentu. IntentReceiver tidak menampilkan user interface, meskipun ia dapat menggunakan NotificationManager untuk memperingatkan user apabila sesuatu terjadi. IntentReceiver didaftarkan pada file AndroidManifest.xml 2.2.5.4 Service Service adalah sebuah kode yang hidup terus-menerus dan berjalan tanpa memiliki tampilan. Contoh yang sederhana adalah suatu aplikasi media player yang sedang memainkan lagu dari play list. Pada aplikasi media player, kemungkinan terdapat satu atau lebih activity yang memperbolehkan user memilih lagu dan memainkannya. Tetapi musik yang sedang diputar tidak boleh ditangani oleh activity karena user akan menginginkan musik tetap diputar meskipun ia berpindah ke screen baru. 2.2.6 Life Cycle Aplikasi Android Aplikasi pada Android masing-masing memiliki Linux proses. Proses ini diciptakan untuk aplikasi tersebut pada saat kode program tersebut akan dieksekusi, akan terus berjalan sampai tidak dibutuhkan lagi dan sistem memerlukan memori untuk aplikasi lain. Konsep dasar program Android adalah suatu proses pada aplikasi tidak langsung diatur oleh aplikasi tersebut. Proses tersebut ditentukan oleh sistem melalui kombinasi: informasi aplikasi bagi sistem, seberapa pentingnya aplikasi tersebut bagi user dan ketersediaan memori. 2.3 Tahapan Optimalisasi Tahapan optimalisasi yang akan penulis capai adalah: 2.3.1 Rooting Root adalah user tertinggi dalam sistem operasi linux (Android) sama halnya dengan user administrator dalam sistem operasi berbasis Windows. Jadi dengan ponsel yang diroot, kita bisa melakukan berbagai hal (install aplikasi, game, modding, overclocking dll) karena hanya user root aja yang bisa memberikan izin bagi suatu aplikasi agar dapat mengakses aplikasi yang memerlukan akses root. Dalam rooting penulis menggunakan 2 aplikasi yaitu Unrevoked3 dan bootloader CyanogenMod. 2.3.2 S-OFF (Security Off) Device Android dikondisikan dalam kendali user, jadi user bisa leluasa untuk mengontrol penuh Android. Misalnya saja user bisa mengatur partisi internal yang notabene tidak diijinkan oleh vendor. 2.3.3 Backup Backup berfungsi untuk menyalin data, dimana data tersebut merupakan data salinan yang dapat di restore kembali apabila ada data yang lama hilang. Data salinan tersebut biasa disebut dengan backup. Backup berguna untuk dua tujuan utama. Pertama, untuk mengembalikan (restore) data yang mengalami kerusakan akibat kesalahan software. Kedua, untuk mengembalikan file setelah mengalami kesalahan menghapus atau korupsi data atau human error. Disini penulis menggunakan Aplikasi TitaniumBackup. 2.3.4 Partition SDCard Ada beberapa cara untuk mempartisi sdcard, salah satunya bisa menggunakan custom recovery, parted via adb, atau aplikasi-aplikasi partisi seperti Paragon, Acronis, Partition Magic, FDisk di Windows atau GParted di Linux. Di dalam optimalisasi ini penulis menggunakan aplikasi bawaan dari Custom ROM Android yaitu CyanogenMod 2.3.6 Install CustomROM CustomROM, ROM / OS yang sudah di modifikasi biasanya di sebut dengan Android Open Source Project (AOSP). Sebenarnya untuk device HTC sendiri sudah menyediakan ROM bawaan atau StockROM. Tapi karena dinilai sudah tidak update lagi maka munculah project AOSP ini. 2.3.7 Android Debug Bridge (ADB) ADB berfungsi sebagai tool yang menjembatani perangkat mobile Android dengan komputer. ADB mempunyai fungsi yang cukup banyak, salah satunya digunakan untuk mengotak-atik semua sistem Android, misal kita bisa copy (push) paket, install APK (Android PacKage) dsb. 2.3.8 Quadrant Quadrant adalah sebuah tool benchmark yang berfungsi untuk mengukur seberapa jauh performa yang di dapat dihasilkan dari sebuah devices Android. Benchmark di nilai dari beberapa aspek, diantaranya CPU, Memory, I/O, 3D Graphics. 3. Analisis dan Perancangan Sistem 3.1 Arsitektur Perangkat Lunak Sistem operasi Android 2.1 Eclaire, perubahan yang dilakukan oleh Google adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital zoom, dan bluetooth 2.1. Dari sistem operasi Android 2.1 Eclaire yang telah tetanam di dalam perangkat mobile HTC Desire pada saat ini terdapat kelebihan dan kekurangan. Dengan optimalisasi, kelebihan dan penambahan yang ada diharapkan akan menjadi sebuah sistem operasi Android yang powerfull dan memberikan kemudahan sesuai dengan kebutuhan. Secara default, HTC Desire memang hadir dengan aplikasi yang marak digunakan. Mulai dari Gmail, pemutar musik dan video, pembaca dokumen Microsoft Words dan Excel, serta aplikasi jejaring sosial Facebook. Dengan demikian, ponsel ini diharapkan siap 'tempur' dengan ponsel lain di pasaran. 3.2 Analisis Kebutuhan Perangkat Lunak Analisis kebutuhan perangkat lunak ini akan dibahas beberapa kebutuhan fungsional dan kebutuhan non-fungsional dari optimalisasi yang akan dibangun sesuai dengan hasil dari proses analisis terhadap kebutuhan yang telah dilakukan. Kebutuhan fungsional merupakan kebutuhan yang berhubungan langsung dengan fungsi dari optimalisasi ini. Sedangkan kebutuhan non-fungsional adalah kebutuhan yang tidak secara langsung berhubungan dengan fungsi utama tetapi masih dalam tahap optimalisasi. 3.2.1 Spesifikasi Fungsional Fungsi utama dari optimalisasi yang akan dibangun adalah menyediakan semua fitur dan kebutuhan untuk optimalisasi. Selain itu optimalisasi ini menyediakan fitur-fitur yang sebelumnya tidak dapat dilakukan pada perangkat mobile yang masih default. Sebagai contoh apabila penulis ingin memperbesar partisi internal, karena memori bawaan masih kurang maka S-OFF akan sangat berguna. Spesifikasi fungsional optimalisasi dapat dilihat pada Tabel 3.1. 3.2.2 Spesifikasi Non-Fungsional Selain kebutuhan fungsional, optimalisasi disini juga memiliki aspek non- fungsional yang mendukung spesifikasi fungsional. Antara lain • User dapat meng-install semua aplikasi tanpa batasan user permission. • User dapat menikmati sebuah fitur baru. Tabel 3.1 Spesifikasi Fungsional dari Optimalisasi No Fungsi Keterangan 1 Root Menjadikan user sebagai Administrator. 2 S-OFF Me-nonaktifkan security menjadi OFF. 3 Backup Melakukan backup semua settingan yang ada dalam Android 4 Partition Melakukan Partisi pada memori eksternal (SDCARD). Install Custom Melakukan modifikasi pada ROM AOSP (Android Open ROM (AOSP) Sources Project), kemudian ditanam pada perangkat mobile Install Aplikasi Melakukan install aplikasi yang membutuhkan Akses Root. 5 6 3.3 Diagram Alir Diagram Alir merupakan serangkaian bagan-bagan yang menggambarkan alir dari penelitian. Pada diagram alir ini digambarkan urutan prosedur dalam proses optimalisasi. 3.3.1 Diagram Alir Langkah Penelitian Identifikasi Masalah Penetapan Solusi Analisis Kebutuhan Rancangan Development Testing Implementasi Evaluasi Gambar 3.1 Diagram Alir Penelitian 3.3.2 Diagram Alir Sistem Start Install SDK diSistem Operasi Linux PC Konfigurasi ADB Installasi Aplikasi di Android Melalui PC Optimalisasi Sistem Operasi Android Melalui Device dan PC Development Testing Awal T Sukses Y Penggunaan Sukses End Gambar 3.2 Diagram Alir Penelitian 3.4 Perancangan Sistem Perancangan dilakukan untuk menggambarkan, merencanakan, dan membuat sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi. Perancangan ini merupakan hasil transformasi dari analisa ke dalam perancangan yang nantinya akan di implementasikan. Hal penting yang menjadi perhatian pada perancangan adalah bahwa rancangan yang dibuat diharapkan dapat digunakan dengan mudah oleh semua user. Yang dimaksud semua user adalah bahwa tidak hanya seorang ahli saja yang dapat menggunakan, namun orang awam pun dapat menggunakannya. 3.5 Perancangan Antarmuka Perancangan antarmuka adalah bagian yang penting, karena yang pertama kali dilihat ketika aplikasi dijalankan adalah tampilan antar muka. Dalam optimalisasi ini perancangan antarmuka mempunyai beberapa tahapan, dimulai dari konsep pemilihan beberapa aplikasi yang akan digunakan dalam device, mengoptimalisasi filesystem Android dengan tujuan agar semakin cepat dalam proses, memodifikasi tampilan, kemudian menyatukan semua optimalisasi kedalam modifikasi ROM AOSP yang akan ditanam dalam device nantinya. Tahap perancangan antar muka terdapat beberapa macam yaitu pada Splash awal, Boot screen, tampilan Desktop ketika pertama kali masuk ke Android, tampilan menu aplikasi, dan menu notifikasi. Perancangan antar muka secara garis besar sebagai berikut: 3.5.1 Splash Awal Karena device akan di S-OFF, jadi splash awal HTC yang biasanya muncul akan dihilangkan dan digantikan dengan splash bawaan S-OFF. 3.5.2 Boot Screen 3.5.3 Desktop Tampilan awal atau desktop, menggunakan ROM AOSP Oxygen yang telah dimodifikasi, dengan launcher menggunakan Zeam, pemangkasan beberapa aplikasi, agar tampilan terkesan minimalis. 3.5.4 Tampilan Menu Aplikasi Didalam menu aplikasi terdapat sedikit perubahan, yaitu mengikuti dari launcher Zeam. 3.5.5 Menu Notifikasi Akan ditambahkan beberapa shortcut untuk mempermudah akses menu ke network, diantaranya bluetoth, wi-fi, mobile data, GPS dll. 4. Implementasi dan Pembahasan 4.1 Pelaksanaan Implementasi Sistem Setelah sistem dirancang dan didesain secara rinci maka sistem diimplementasikan. Tujuannya adalah menerapkan optimalisasi yang telah dirancang untuk diterapkan pada keadaan sebenarnya, apakah sistem dapat berjalan dengan baik atau tidak. Dikatakan akan menghasilkan optimalisasi yang baik jika hasil optimalisasi yang digunakan dapat mencapai tujuan dengan prinsip efisien dan efektif. Dikatakan optimalisasi tidak berhasil jika sistem tersebut, ternyata banyak kelemahan dan kekurangan sehingga memboroskan tenaga, waktu dan biaya. 4.2 Lingkungan Implementasi Implementasi yang akan dilakukan menggunakan sebuah perangkat komputer portable (laptop) dan sebuah perangkat mobile HTC Desire yang digunakan sebagai alat untuk implementasi optimalisasi. Perangkat komputer yang digunakan untuk melakukan implementsi memiliki spesifikasi sebagai berikut: 1. Prosesor Intel Core i3-350M 2. RAM 2 GB 3. Hard Disk Hitachi 320GB 4. VGA ATI Mobility Radeon HD5470 Adapun perangkat lunak yang digunakan dalam melakukan implementasi adalah sebagai berikut: 1. Sistem Operasi Ubuntu Linux 10.10 Maverick Meerkat. 2. Android SDK Linux i386. 3. Android Debug Bridge (ADB). 4. Unrevoked3 5. Alpharev 6. TitaniumBackup 4.3 Persiapan Lingkungan Kerja Sistem 4.3.1 Install SDK Android Android SDK menyediakan development environment dengan semua komponen yang diperlukan. Antara lain tools pengembangan, libraries, dokumentasi, dan contoh aplikasi serta disertakan pula emulator untuk mensimulasikan aplikasi berjalan pada perangkat. 4.3.2 Konfigurasi ADB Tools Konfigurasi file ADB, sesuaikan path dengan settingan SDK sebelumnya. Nilai path-nya harus sama dengan dimana kita extract direktori "platform-tools". Di lanjutkan dengan mengedit UDEV (Usb Devices), agar komputer mengenali devices kita, ketikan perintah berikut di terminal. 4.3.2.1 Konfigurasi Fastboot Fastboot adalah protocol yang digunakan untuk update flash filesystem pada device Android dari komputer via USB. Fastboot membolehkan flashing partition image yang tidak ber-signature. Secara default pada device android terutama HTC fitur ini di lock. 4.3.3 Konfigurasi Perangkat Sebelum melakukan proses optimalisasi, hal utama adalah melakukan konfigurasi pada perangkat mobile. Hal ini bertujuan agar dalam proses optimalisasi yang memerlukan akses sampai level filesystem, tidak akan terjadi stuck / error. Langkah pertama adalah Buka Settings pada HTC Desire, pada bagian Connect to PC pilih default nya Charge Only dan hilangkan tanda centang pada bagian Ask Me dan pastikan pada devices USB Debugging sudah aktif, Settings – Applications - Development kemudian centang pada USB Debugging. 4.4 Implementasi Optimalisasi 4.4.1 Rooting Rooting berfungsi untuk memberikan akses yang penuh terhadap user. Langkah- langkah untuk mengkonfigurasi nya sebagai berikut. Download file Rooting Unrevoked3 di http://www.unrevoked.com/recovery/ . Karena penulis menggunakan Sistem Operasi Linux Ubuntu, maka pilih file untuk Linux. Kemudian ekstrak file tersebut kedalam direktori /opt. 4.4.2 Backup Sebelum memulai optimalisasi hal yang paling utama adalah mem-backup semua aplikasi maupun settingan sebelumnya, hal ini mewaspadai kalau saja terjadi stuck / error pada waktu optimalisasi, system bisa dikembalikan pada waktu sebelum optimalisasi. 4.4.3 S-OFF Pada S-OFF HTC Desire kali ini, penulis menggunakan metode Virtual Machine (VirtualBox). Download file .ISO dari AlphaRev di http://alpharev.nl/ Selalu cocokan MD5SUM dari hasil download file tadi dengan yang ada di web. MD5SUM adalah program yang digunakan untuk mem-verify apakah suatu file itu bener-bener sama dengan yang dikeluarkan oleh si pemilik file. Untuk mengetahui tentang MD5 dari file ISO tersebut, ketikan perintah berikut di terminal. Tulisan bercetak miring adalah md5 dari file ISO Alpharev yang penulis gunakan.. 4.4.4 Partition Device Pembagian partisi didalam device dibagi menjadi dua macam, yaitu pembagian partisi Internal dan partisi sdcard/mmc. 4.4.4.1 Partisi Internal Device Untuk dapat meng-custom partition internal, langkah utama yang harus di tempuh dengan jalan S-OFF. Karena dari vendor HTC sendiri bahkan semua vendor, tidak mengijinkan untuk memodifikasi partition table pada device. HTC yang penulis pakai memiliki besaran tabel partisi internal sebagai berikut, Partisi /system 250M, /cache 40M dan partisi /data 147M. 4.4.4.2 Partisi SD-Card Dalam proses optimalisasi ini penulis menggunakan sd-card Transcend 8GB class 6, yang nantinya akan dibagi menjadi 3 partisi yaitu fat32 untuk menyimpan semua data, ext4 untuk partisi system yang mendukung Apps2sd dan terakhir Swap. Proses pembagian partisi ini penulis menggunakan aplikasi parted bawaan dari hboot CyanogenMod. 4.4.5 GPS Lock Konfigurasi ini menggunakan server dengan satelit yang berada disekitaran Asia dan Indonesia, jadi kecepatan dan akurasi GPS yang didapat akan semakin baik. Konfigurasi GPS ini dapat digunakan pada berbagai ponsel yang menggunakan sistem operasi Android. Backup dulu konfigurasi GPS yang ada di dalam direktori /system/gps.conf, kemudian replace dengan menggunakan konfigurasi GPS yang ada dibawah 4.4.6 Install CustomROM (AOSP) Banyak CustomROM (AOSP) yang ada saat ini menawarkan kelebihan- kelebihan yang dimiliki. Untuk HTC Desire sendiri ada beberapa “pemain besar” dalam hal CustomROM, diantaranya Oxygen yang membawa fitur “fast” nya. Maklum saja CustomROM ini ukurannya sangat kecil dibanding dengan CustomROM lain. Ada juga dengan CustomROM eMIUI yang membawa nuansa Iphone dari Apple. Ditambah lagi AuraxTSense yang membawa nuansa SenseHTC. 4.4.7.2 Pengujian Fitur Dalam pengujian tahap ini yang akan di tekankan kepada fitur yang sebelumnya belum didukung penuh oleh sistem operasi, yaitu menjadikan device sebagai Accespoint dan pengujian fitur Apps2sd yaitu memindahkan aplikasi kedalam memory eksternal (sdcard). 4.4.7.2.1 Wifi Thethering Pengujian pertama yaitu menjadikan device sebagai Accespoint adalah, aplikasi yang digunakan adalah Wireless Theter yang berada didalam menu aplikasi. Klik kemudian Allow jika terdapat pesan permission dari superuser. 4.4.7.2.2 Apps2SD Setiap kali menginstall aplikasi ke devices Android, kita tidak dapat memilih untuk disimpan dimana, karena secara otomatis Android akan menyimpan di memori internal ponsel. Dengan demikian, semakin banyak aplikasi yang di install, semakin habis pula memori internal untuk keperluan berbagai proses aplikasi. Ada baiknya bila instalasi program dapat dipindahkan ke memori eksternal. 4.4.7.3 Pengujian Performa Pengujian performa diperoleh dari aplikasi Quadrant yang bisa didownload di Android Market. Quadrant memiliki tiga versi yang berbeda Standard, Advanced, dan Professional. Quadrant standard merupakan versi yang gratis, dan yang kedua lainnya merupakan versi berbayar. 5. Penutup 5.1 Kesimpulan Berdasarkan dari analisa dan pembahasan pada bab sebelumnya maka dapat disimpulkan bahwa: 1. Salah satu cara untuk meng-optimalisasi sistem operasi di Android adalah Rooting. Karena, secara default ponsel Android original tidak mempunyai akses superuser atau root, sehingga banyak fitur dan aplikasi yang tidak bisa diinstall atau bahkan diakses jika fitur atau aplikasi tersebut membutuhkan privilege superuser. Misalnya saja untuk meng-update firmware devices atau menginstall beberapa aplikasi. 2. Hasil implementasi fitur Apps2SD sangat memuaskan, karena apps2sd menginstall beberapa aplikasi ke dalam sdcard dengan tujuan untuk mengurangi beban internal memory yang terbatas karena dipakai system. 3. Dengan optimalisasi penulis diberikan akses untuk modding CustomROM, misalnya penambahan maupun pengurangan aplikasi terbaru, mengganti tampilan bahkan menaikan atau menurunkan settingan processor dengan tujuan overclock. 5.2 Saran Saran yang dapat diberikan Penulis atas penelitian ini adalah sebagai berikut: 1. Diharapkan, kedepan ada yang dapat membuat sebuah aplikasi yang mempermudah untuk tujuan optimalisasi (rooting, s-off, custom partition) dengan sekali klik, di HTC Desire. 2. Kebanyakan aplikasi untuk tujuan optimalisasi berjalan di sistem operasi Windows, masih sedikit yang berjalan di Linux. 3. Hingga saat ini Android terus mengalami perkembangan, hal ini di imbangi dengan peningkatan kemampuan pada perangkat Android. Maka diharapkan devices ini dapat mengikuti versi-versi ke depannya. Daftar Pustaka Bagus Sethyadi, 2010. HTC Desire Lounge --REBOOT— KasKus. http://www.kaskus.us/showthread.php?t=6183266, diakses tanggal 30 Desember 2010 David Cogen, 2010. How To: Root the HTC Desire (Unrevoked Method). http://theunlockr.com/2010/09/20/how-to-root-the-htc-desire-unrevoked-method/, diakses tanggal 5 April 2011. Db3, 2011. Apk Manager 4.9 - Makes Modifying Ur Apk A Breeze (Windows/Linux). http://forum.xda-developers.com, diakses tanggal 20 April 2011. Eslack, 2011. nbimg: HTC splash screen tool. http://pof.eslack.org/blog/2008/07/03/nbimg-htc-splash-screen-tool/, diakses tanggal 22 Januari 2011. Ieftm, 2010. [AlphaRev] HBOOT S-OFF Desire GSM 1.8. http://forum.xdadevelopers.com/showthread.php?t=794314, diakses tanggal 30 Desember 2010. KBanause, 2010. [TUTORIAL] Where to find the colors for making a theme. http://forum.xda-developers.com/showthread.php?t=831715, diakses tanggal 4 Januari 2011. Macdroid, 2010. [Panduan] Perintah-perintah ADB yang Kebanyakan di pake, http://www.androlib.net/forum/index.php, diakses tanggal 22 Januari 2011. Mulyadi ST. 2010. Membuat Aplikasi Untuk Android, Multimedia Center Publishing, Yogyakarta. RadithTux, 2010. Install SDK Tools Android dalam Ubuntu. http://radithtux.blogspot.com/, diakses tanggal 3 Januari 2010. Rethwood, 2010. How To: Partition SD Card. http://www.androlib.net/forum/index.php/topic,441.msg6218.html, diakses tanggal 2 Januari 2011. Thom Desire, 2011. HTC Desire Out Of Memory Solution. http://desireuser.blogspot.com, diakses tanggal 22 Januari 2011. Wing Wahyu Winarno, Arif Nurhadi, Bramastyo Ide Nugroho. 2010. Let’s Android the World Panduan Menguasai Sistem Android. Paska Media, Yogyakarta.