• Tidak ada hasil yang ditemukan

Pembuatan dan Pengembangan Fitur Kernel Android Pada Sony Xperia Ray

N/A
N/A
Protected

Academic year: 2016

Membagikan "Pembuatan dan Pengembangan Fitur Kernel Android Pada Sony Xperia Ray"

Copied!
117
0
0

Teks penuh

(1)

PEMBUATAN DAN PENGEMBANGAN FITUR KERNEL

ANDROID PADA SONY XPERIA RAY

TUGAS AKHIR

AUDIO PRIMA PERSADA

102406279

PROGRAM STUDI D-III TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(2)

PEMBUATAN DAN PENGEMBANGAN FITUR KERNEL

ANDROID PADA SONY XPERIA RAY

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya Komputer

AUDIO PRIMA PERSADA

102406279

PROGRAM STUDI D3 TEKNIK INFORMATIKA

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(3)

PERSETUJUAN

Judul : Pembuatan dan Pengembangan Fitur Kernel Android Pada Sony Xperia Ray

Kategori : Tugas Akhir

Nama : Audio Prima Persada

Nomor induk mahasiswa : 102406279

Program studi : D3 Teknik Informatika

Departemen : Matematika

Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di

Medan, Januari 2014

Disetujui Oleh

Departeman Matematika FMIPA USU Pembimbing, Ketua,

(4)

PERNYATAAN

PEMBUATAN DAN PENGEMBANGAN FITUR KERNEL ANDROID PADA SONY XPERIA RAY

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 2014

(5)

KATA PENGANTAR

Syukur alhamdulillah kehadirat Allah SWT atas rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan penyusunan laporan Tugas Akhir ini guna memenuhi salah satu syarat mencapai gelar Ahli Madya Teknik Informatika pada Jurusan D3 Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Sumatera Utara.

Laporan ini tersusun berdasarkan pengalaman penulis selama menjalani perkuliahan di D3 Teknik Informatika selama 6 semester, bimbingan kepada dosen-dosen setiap matakuliah yang terkait, dosen pembimbing dan berdiskusi dengan teman-teman yang juga sedang menjalani proses laporan tugas akhir. Dengan ini Penghargaan spenulis haturkan kepada:

1. Bapak Sajadin Sembiring S.Si, M. Comp. Sc. selaku Dosen Pembimbing yang telah banyak memberikan ilmu yang bermanfaat tentang penulisan laporan ini dan membimbing penulis menyelesaikan tugas akhir ini.

2. Bapak Dr. Sutarman, M.Sc selaku Dekan FMIPA USU.

3. Bapak Dr. Marpongahtun, M.Sc selaku Pembantu Dekan I (PUDEK I) FMIPAUSU.

4. Bapak Prof. Dr. Tulus, M.Si., P.hD selaku Ketua Departemen MatematikaUniversitas Sumatera Utara (USU).

5. Ibu Dra. Elly Rosmaini, M.Si selaku Ketua Program Studi Diploma III Teknik Informatika Fakultas MIPA Universitas Sumatera Utara (USU).

6. Bapak Syahriol Sitorus, S.Si, M.IT selaku Sekretaris Program Studi DiplomaIII Teknik Informatika Fakultas MIPA Universitas Sumatera Utara (USU).

7. Ayahanda, Drs. Kardinal dan Ibunda Erfinalis tercinta yang telah memberikan dukungan baik secara moril maupun materil sehingga penulis dapat menyelesaikan laporan praktek kerja lapangan ini.

8. Kak Puti Nilam Suri dan kak Morenda Sistri Volia yang telah memberikan dukungan moril yang sangat memberikan semangat dan inspirasi kepada penulis.

9. Adinda Siwa Anggri Setiawiyati yang juga memberikan dukungan moril dan juga menjadi penyemangat untuk penulis.

(6)

11.Rekan-rekan Android Medan yang memberikan dukungan penuh serta inspirasi yang mendalam bagi penulis.

12.Rekan-rekan mahasiswa/i DIII-Teknik Informatika yang memberikan bantuan kepada penulis untuk menyelesaikan laporan praktek kerja lapangan ini. 13.Semua pihak yang tidak dapat penulis sebutkan satu persatu yang memberikan

bantuan, baik saran maupun kritik sehingga laporan ini dapat diselesaikan dengan baik. Penulis menyadari bahwa Laporan ini masih jauh dari sempurna, untuk itulah penulis mengharapkan kritik dan saran dari semua pihak yang sifatnya membangun.

(7)

ABSTRAK

Perkembangan teknologi di bidang smartphone sekarang ini sudah sangat maju. Sehingga dapat dikatakan manusia mulai menggunakan smartphone untuk mendukung dan memudahkan segala aktivitasnya. Mulai dari aktivitas perkantoran seperti membuat laporan, mencetak dokumen, pengingat jadwal, mendengarkan musik, mengambil gambar, browsing. Dengan berbagai banyaknya aktivitas manusia itulah maka teknologi smartphone juga semakin dikembangkan. Sehingga terciptalah berbagai jenis sistem operasi smartphone, seperti Blackberry OS, Android OS, hingga Windows Phone OS. Akan tetapi, dikarenakan semakin banyaknya persaingan di dunia smartphone, sehingga memaksa para produsen

smartphone terus menerus mengeluarkan produk-produk baru hampir setiap tahunnya. Sehingga pengembangan yang dilakukan oleh produsen smartphone itu sendiri hanya tertuju pada produk-produk tipe baru yang mereka keluarkan Akibatnya, smartphone bertipe lama mengalami ketertinggalan dalam hal pengembangan performa dan teknologi yang digunakannya. Hal inilah yang menjadi dasar penulis dalam membuat suatu pengembangan untuk mengejar ketertinggalan fitur dan performa smartphone bertipe lama yang ada sekarang ini.

(8)

DAFTAR ISI

Halaman

Pernyataan... ii

Kata Pengantar... iii

Abstrak... v

Daftar Isi... vi

Daftar Gambar... viii

Bab 1 Pendahuluan... 1

1.1 Latar Belakang... 1

1.2 Rumusan Masalah... 2

1.3 Batasan Masalah... 3

1.4 Tujuan Penelitian... 4

1.5 Manfaat Penelitian... 4

1.6 Metodologi Penulisan... 4

1.7Sistematika Penulisan... 6

Bab 2 Landasan Teori... 7

2.1 Pengertian Smartphone... 7

2.2 Pengertian Sistem Operasi... 7

2.3 Pengertian Sistem Operasi Android... 8

2.4 Sejarah Sistem Android... 11

2.4.1 Versi Android... 14

2.5 Linux... 16

2.5.1 Antar Muka Pengguna... 17

` 2.5.2 Pemrograman di Linux... 19

2.5.3 Hak Cipta dan Merek Dagang... 20

2.5.4 Distribusi Linux... 22

2.5.5 Konfigurasi dan Instalasi... 23

2.5.6 GNU/Linux... 24

2.6 Pengertian Kernel... 25

2.7 Kernel pada Android... 27

2.8 Governor pada kernel Android... 28

2.9 I/O Scheduler... 36

2.9.7 Anticipatory Scheduler... 41

(9)

Bab 3 Analisis Dan Perancangan Sistem... 44

3.1 Analisis Sistem... 44

3.2 Perancangan Sistem...45

3.2.1 Perancangan Output...45

3.2.1.1 Tampilan Bootlogo...46

3.2.1.2 Tampilan identitas kernel...46

3.3 Perancangan kernel...47

3.3.1 Perancangan Governor...47

3.3.2 Perancangan I/O... 48

3.3.3 Overclock Prosesor...51

3.3.4 File System... 55

3.3.5 USB On-The-Go...60

3.3.6 Penambahan driver perangkat tambahan...61

3.4 Perancangan Ramdisk...63

3.4.1 Clockworkmod recovery...63

3.4.2 Bootlogo...65

3.4.3 Autoroot...66

3.5 Compile kernel dan ramdisk...67

3.5.1 zImage...67

3.5.2 Ramdisk...68

3.5.3 Penggabungan zImage dan ramdisk...69

Bab 4 Implementasi Sistem...71

4.1 Implementasi Sistem... 71

4.2 Tujuan Implementasi Sistem... 71

4.3 Pengujian pada smartphone Sony Xperia Ray... 71

4.3.1 Unlock bootloader... 71

4.3.2 ADB (Android debug bridge)... 77

4.3.3 ADB tools... 78

4.3.4 Fastboot mode... 78

4.3.4.1 Fastboot mode melalui adb... 79

4.3.4.2 Fastboot mode dengan tombol khusus... 79

4.3.5 Memasang kernel ke dalam perangkat... 80

Bab 5 Kesimpulan dan Saran...82

6.1 Kesimpulan...82

6.2 Saran... 82

(10)

DAFTAR GAMBAR

Gambar 2.1 Arsitektur Sistem Android ... 11

Gambar 3.1 Tampilan boot logo ... 46

Gambar 3.2 Halaman About Phonemenampilkan info kernel ... 47

Gambar 3.3 Tampilan isi kode sumber Ramdisk ... 63

Gambar 3.4 Tampilan isi direktori sbin yang telah dikembangkan... 64

Gambar 3.5 Tampilan isi kode sumber berkas recovery.fstab ... 64

Gambar 3.6 Tampilan bootscreen yang telah dibuat ... 65

Gambar 3.7 berkas autoroot pada direktori sbin ... 66

Gambar 4.1 contoh tet pointer dengan lilitan timah ... 73

Gambar 4.2 Sony Xperia Ray dengan microUSB ... 73

(11)

ABSTRAK

Perkembangan teknologi di bidang smartphone sekarang ini sudah sangat maju. Sehingga dapat dikatakan manusia mulai menggunakan smartphone untuk mendukung dan memudahkan segala aktivitasnya. Mulai dari aktivitas perkantoran seperti membuat laporan, mencetak dokumen, pengingat jadwal, mendengarkan musik, mengambil gambar, browsing. Dengan berbagai banyaknya aktivitas manusia itulah maka teknologi smartphone juga semakin dikembangkan. Sehingga terciptalah berbagai jenis sistem operasi smartphone, seperti Blackberry OS, Android OS, hingga Windows Phone OS. Akan tetapi, dikarenakan semakin banyaknya persaingan di dunia smartphone, sehingga memaksa para produsen

smartphone terus menerus mengeluarkan produk-produk baru hampir setiap tahunnya. Sehingga pengembangan yang dilakukan oleh produsen smartphone itu sendiri hanya tertuju pada produk-produk tipe baru yang mereka keluarkan Akibatnya, smartphone bertipe lama mengalami ketertinggalan dalam hal pengembangan performa dan teknologi yang digunakannya. Hal inilah yang menjadi dasar penulis dalam membuat suatu pengembangan untuk mengejar ketertinggalan fitur dan performa smartphone bertipe lama yang ada sekarang ini.

(12)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Pada masa sekarang ini manusia telah menggunakan handphone untuk berbagai kegiatan, baik itu berupa komunikasi maupun hal-hal lainnya seperti membaca buku, browsing, dan berbagai kebutuhan lainnya. Untuk memenuhi kebutuhan itulah, pada masa sekarang ini telah dikembangkan sebuah ponsel pintar (smartphone) yang dapat dikatakan telah memenuhi kebutuhan tersebut. Untuk menjalan sebuah smartphone maka diperlukan sebuah sistem operasi (Operating System) yang bekerja di dalam sebuah smartphone. Terdapat beberapa sistem operasi (Operating System) yang berkembang pada teknologi mobile. Salah satu yang paling populer sekarang adalah sistem operasi Android.

Sistem operasi Android sendiri merupakan sebuah sistem operasi open source yang dikembangkan dan diluncurkan oleh Google inc, yang dikhususkan untuk diaplikasikan pada teknologi smartphone. Akan tetapi dengan perannya sebagai sebuah open source maka Android sendiri telah banyak berkembang pesat hingga merambah ke penggunaan pada sebuah komputer.

(13)

Seperti halnya dalam linux, android juga memiliki sebuah komponen penting yang disebut “kernel” yaitu sebuah komponen yang berfungsi sebagai penghubung antara hardware sebuah smartphone berbasis android dengan aplikasi dan sistem android itu sendiri.

Pada kernel inilah terletak berbagai konfigurasi mengenai bagaimana suatu sistem android dapat menggunakan semua hardware yang ada pada smartphone dengan optimal. Baik itu merupakan driver hardware ataupun berbagai pengaturan bagaimana sebuah sistem operasi android mengelola semua sumber daya smartphone itu sendiri.

Brand SONY sendiri dipilih dikarenakan brand ini memiliki keunggulan dalam bidang ketahan hardware maupun dalam keterbukaan dan kelengkapaan source yang diluncurkan secara bebas kepada masyarakat.

Para pengguna smartphone brand SONY sendiri, pada umumnya hanya menggunakan berbagai standar sistem operasi pabrikan, dimana banyak terdapat kebutuhan dari pengguna tidak dapat terpenuhi. Akibatnya pengguna smartphone melakukan berbagai cara agar dapat memenuhi kebutuhan tersebut, mulai dari pengembangan sistem operasi itu sendiri, maupun pengembangan fitur kernel android tersebut.

Oleh karena itu, penulis mengajukan sebuah proposal yang berjudul:

“PEMBUATAN DAN PENGEMBANGAN FITUR KERNEL ANDROID PADA SONY XPERIA RAY”

1.2 Rumusan Masalah

(14)

1. Adanya ketertinggalan pengembangan kemampuan smartphone khususnya SONY Xperia Ray yang disebabkan semakin banyaknya produk-produk baru yang di keluarkan oleh produsen sehingga mengakibatkan terhentinya pengembangan produk bertipe lama.

2. Bagaimana mengubah sebuah smartphone agar bisa mendekati kemampuan sebuah komputer.

1.3 Batasan Masalah

Agar pembahasan penelitian ini tidak menyimpang dari apa yang telah dirumuskan, maka diperlukan batasan-batasan. Batasan-batasan dalam penelitian ini adalah:

1. Hanya membahas tentang kernel sistem operasi Android.

2. Pengembangan yang dilakukan hanya bisa di terapkan pada smartphone berbasis Android OS.

3. Pengembangan hanya dilakukan pada kernel Android bukan pada sistem ataupun aplikasinya.

4. Kernel yang telah di kembangkan hanya dapat di aplikasikan pada smartphone SONY Xperia Ray.

5. Pengembangan dilakukan terhadap source kernel SONY .

6. Pengembangan hanya dapat dilakukan pada lingkungan linux.

7. Pengembangan hanya meliputi penambahan fitur manajemen

(15)

instalasi driver yang diperlukan, pemanfaatan usb secara maksimal dengan bantuan usb OTG(on the go).

1.4 Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah:

1. Untuk mengejar ketertinggalan pengembangan produk bertipe lama khususnya SONY Xperia Ray.

2. Untuk memberi dan menambah pengetahuan pentingnya sebuah kernel dalam lingkungan android.

3. Untuk memaksimalkan kemampuan sebuah smartphone sehingga dapat mendekati kemampuan sebuah komputer.

1.5 Manfaat Penelitian

Adapun manfaat dari penelitian ini yaitu:

1.Untuk memenuhi kebutuhan manusia yaitu kemampuan sebuah smartphone yang hampir mendekati kemampuan sebuah komputer. 2.Sebagai acuan pengembangan berbagai smartphone android lain, agar

tidak mengalami ketertinggalan terhadap perkembangan smartphone bertipe baru.

1.6 Metodologi Penelitian

(16)

1. Tahap pengumpulan informasi kebutuhan

Pengumpulan data-data yang erat kaitannya dengan permasalahan yang terjadi diatas dengan cara membaca buku-buku, makalah dan membaca bahan-bahan sumber lainnya.

2. Tahap desain dan seleksi

Setelah semua informasi dikumpulkan, informasi–informasi tersebut dianalisa dan dirancang terlebih dahulu sebelum masuk ke langkah

coding/pemrograman.

3. Coding

Menyusun kode program pengembangan dalam membangun perangkat lunak tersebut. Mulai dari tampilan awal hingga kemampuan dari kernel yang akan dibuat.

4. Review and Evaluation

Dalam tahap ini aplikasi yang telah dibangun, ditinjau dan dievaluasi. Dilakukan perbaikan jika terdapat kesalahan dan menarik kesimpulan dari analisis yang dilakukan.

5. Penyusunan laporan berbentuk tugas akhir.

1.7 Sistematika Penulisan

(17)

BAB 1 Pendahuluan

Bab ini menjelaskan latar belakang pemilihan judul, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan skripsi.

BAB 2 Landasan Teori

Pada bab ini dibahas mengenai teori-teori yang mendukung pembahasan bab selanjutnya, seperti teori-teori mengenai Smartphone, Android, sejarah perkembangan Android, linux, linux kernel, Android kernel dan bagian-bagian yang terdapat didalamnya seperti Governor, I/O scheduler,overclock, file system, usb OTG.

BAB 3 Analisis & Perancangan

Bab ini membahas analisis perancangan kernel, yaitu perancangan pengembangan fitur kernel, tampilan bootscreen, kemampuan dari kernel menangani proses, hingga penambahan driver-driver perangkat tambahan.

BAB 4 Implementasi Sistem

Bab ini membahas penerapan kernel yang telah dibuat pada smartphone Sony Xperia Ray. Meliput cara dan syarat dalam penerapandalam sebuah Xperia Ray.

BAB 5 Kesimpulan dan Saran

(18)
(19)
(20)

BAB 2

LANDASAN TEORI

2.1 Pengertian Smartphone

Telepon pintar (smartphone) adalah telepon genggam yang mempunyai kemampuan tingkat tinggi, kadang-kadang dengan fungsi yang menyerupai komputer. Belum ada standar pabrik yang menentukan arti telepon pintar. (Elcom, 2011)

Bagi beberapa orang, telepon pintar merupakan telepon yang bekerja menggunakan seluruh perangkat lunak sistem operasi yang menyediakan hubungan standar dan mendasar bagi pengembang aplikasi. Bagi yang lainnya, telepon cerdas hanyalah merupakan sebuah telepon yang menyajikan fitur canggih seperti surel (surat elektronik), internet dan kemampuan membaca buku elektronik (e-book) atau terdapat papan ketik (baik sebagaimana jadi maupun dihubung keluar) dan penyambung VGA. Dengan kata lain, telepon cerdas merupakan komputer kecil yang mempunyai kemampuan sebuah telepon.

2.2 Pengertian Sistem Operasi

(21)

tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting. (Wahana Komputer, 2011)

Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya. Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer, meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras. Sistem operasi dapat ditemukan pada hampir semua perangkat yang berisi komputer seperti ponsel dan konsol permainan video untuk superkomputer dan server web.

Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.

2.3 Pengertian Sistem Operasi Android

Sistem operasi Android sendiri merupakan sebuah sistem operasi open source yang dikembangkan dan diluncurkan oleh Google inc, yang dikhususkan untuk diaplikasikan pada teknologi smartphone. Akan tetapi dengan perannya sebagai sebuah open source maka Android sendiri telah banyak berkembang pesat hingga merambah ke penggunaan pada sebuah komputer.

Sistem Android adalah sebuah sistem operasi berbasis linux yang ditulis menggunakan bahasa pemrograman java. Sehingga dapat dikatakan bahwa komponen dasar penyusun sistem android tidak jauh berbeda dengan komponen dasar penyusun sistem operasi linux. (Nazruddin Safaat, 2011)

(22)

menggunakan masukan sentuh yang serupa dengan tindakan di dunia nyata, misalnya menggesek (swiping), mengetuk (tapping), dan mencubit (pinching), untuk memanipulasi obyek di layar. Masukan pengguna direspon dengan cepat dan juga tersedia antarmuka sentuh layaknya permukaan air, seringkali menggunakan kemampuan getaran perangkat untuk memberikan umpan balik haptik kepada pengguna.

Perangkat keras internal seperti akselerometer, giroskop, dan sensor proksimitas digunakan oleh beberapa aplikasi untuk merespon tindakan pengguna, misalnya untuk menyesuaikan posisi layar dari potret ke lanskap, tergantung pada bagaimana perangkat diposisikan, atau memungkinkan pengguna untuk mengarahkan kendaraan saat bermain balapan dengan memutar perangkat sebagai simulasi kendali setir.

Ketika dihidupkan, perangkat Android akan boot pada layar depan (homescreen), yakni navigasi utama dan pusat informasi pada perangkat, serupa dengan desktop pada komputer pribadi. Layar depan Android biasanya terdiri dari ikon aplikasi dan widget; ikon aplikasi berfungsi untuk menjalankan aplikasi terkait, sedangkan widget menampilkan konten secara langsung dan terbarui otomatis, misalnya prakiraan cuaca, kotak masuk email pengguna, atau menampilkan kutipan berita secara langsung dari layar depan. Layar depan bisa terdiri dari beberapa halaman, pengguna dapat menggeser bolak balik antara satu halaman ke halaman lainnya, yang memungkinkan pengguna Android untuk mengatur tampilan perangkat sesuai dengan selera mereka.

(23)

Android, dan bahkan bisa meniru tampilan sistem operasi lain, misalnya Windows Phone. Kebanyakan produsen telepon seluler dan operator nirkabel menyesuaikan tampilan perangkat Android buatan mereka untuk membedakannya dari pesaing mereka.

Di bagian atas layar terdapat status bar, yang menampilkan informasi tentang perangkat dan konektivitasnya. Status bar ini bisa “ditarik” ke bawah untuk membuka layar notifikasi yang menampilkan informasi penting atau pembaruan aplikasi, misalnya surel diterima atau SMS masuk, dengan cara tidak mengganggu kegiatan pengguna pada perangkat. Pada versi awal Android, layar notifikasi ini bisa digunakan untuk membuka aplikasi yang relevan, namun setelah diperbarui, fungsi ini semakin disempurnakan, misalnya kemampuan untuk memanggil kembali nomor telepon dari notifikasi panggilan tak terjawab tanpa harus membuka aplikasi utama. Notifikasi ini akan tetap ada sampai pengguna melihatnya, atau dihapus dan di nonaktifkan oleh pengguna.

(24)

2.4 Sejarah Android

Android, Inc. didirikan di Palo Alto, California, pada bulan Oktober 2003 oleh Andy Rubin (pendiri Danger), Rich Miner (pendiri Wildfire Communications, Inc.), Nick Sears (mantan VP T-Mobile), dan Chris White (kepala desain dan pengembangan antarmuka WebTV) untuk mengembangkan "perangkat seluler pintar yang lebih sadar akan lokasi dan preferensi penggunanya". (Elcom, 2010)

Tujuan awal pengembangan Android adalah untuk mengembangkan sebuah sistem operasi canggih yang diperuntukkan bagi kamera digital, namun kemudian disadari bahwa pasar untuk perangkat tersebut tidak cukup besar, dan pengembangan Android lalu dialihkan bagi pasar telepon pintar (smartphone) untuk menyaingi Symbian dan Windows Mobile (iPhone Apple belum dirilis pada saat itu).

Meskipun para pengembang Android adalah pakar-pakar teknologi yang berpengalaman, Android Inc. dioperasikan secara diam-diam, hanya diungkapkan bahwa para pengembang sedang menciptakan sebuah perangkat lunak yang diperuntukkan bagi telepon seluler. Masih pada tahun yang sama, Rubin kehabisan uang. Steve Perlman, seorang teman dekat Rubin, meminjaminya $10.000 tunai dan menolak tawaran saham di perusahaan.

(25)

Di Google, tim yang dipimpin oleh Rubin mulai mengembangkan platform perangkat seluler dengan menggunakan kernel Linux. Google memasarkan platform tersebut kepada produsen perangkat seluler dan operator nirkabel, dengan janji bahwa mereka menyediakan sistem yang fleksibel dan bisa diperbarui. Google telah memilih beberapa mitra perusahaan perangkat lunak dan perangkat keras, serta mengisyaratkan kepada operator seluler bahwa kerjasama ini terbuka bagi siapapun yang ingin berpartisi.

Spekulasi tentang niat Google untuk memasuki pasar komunikasi seluler terus berkembang hingga bulan Desember 2006. BBC dan Wall Street Journal melaporkan bahwa Google sedang bekerja keras untuk menyertakan aplikasi dan mesin pencarinya di perangkat seluler. Berbagai media cetak dan media daring mengabarkan bahwa Google sedang mengembangkan perangkat seluler dengan merek Google.

Beberapa di antaranya berspekulasi bahwa Google telah menentukan spesifikasi teknisnya, termasuk produsen telepon seluler dan operator jaringan. Pada bulan Desember 2007, InformationWeek melaporkan bahwa Google telah mengajukan beberapa aplikasi paten di bidang telepon seluler.

(26)

Telepon seluler komersial pertama yang menggunakan sistem operasi Android adalah HTC Dream, yang diluncurkan pada 22 Oktober 2008.

Pada tahun 2010, Google merilis seri Nexus; perangkat telepon pintar dan tablet dengan sistem operasi Android yang diproduksi oleh mitra produsen telepon seluler seperti HTC, LG, dan Samsung. HTC bekerjasama dengan Google dalam merilis produk telepon pintar Nexus pertama, yakni Nexus One. Seri ini telah diperbarui dengan perangkat yang lebih baru, misalnya telepon pintar Nexus 4 dan tablet Nexus 10 yang diproduksi oleh LG dan Samsung.

Pada 13 Maret 2013, Larry Page mengumumkan dalam postingan blognya bahwa Andy Rubin telah pindah dari divisi Android untuk mengerjakan proyek-proyek baru di Google. Ia digantikan oleh Sundar Pichai, yang sebelumnya menjabat sebagai kepala divisi Google Chrome, yang mengembangkan Chrome OS.

Sejak tahun 2008, Android secara bertahap telah melakukan sejumlah pembaruan untuk meningkatkan kinerja sistem operasi, menambahkan fitur baru, dan memperbaiki bug yang terdapat pada versi sebelumnya. Setiap versi utama yang dirilis dinamakan secara alfabetis berdasarkan nama-nama makanan pencuci mulut atau cemilan bergula; misalnya, versi 1.5 bernama Cupcake, yang kemudian diikuti oleh versi 1.6 Donut. Versi terbaru adalah 4.4 KitKat, yang dirilis pada 31 Oktober 2013. (Nazruddin Safaat, 2011)

2.4.1 Versi Android

(27)

1. Android versi 1.1

Dirilis bersama perangkat mobile Google Nexus yang telah dilengkapi dengn aplikasi, jam,alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

2. Android versi 1.5 (Cupcake)

Dirilis pada pertengahan Mei 2009, yang berisi pembaruan terhadap versi sebelumnya dan penambahan fitur seperti merekam dan menonton video dari modus kamera, mengupload video secara langsung ke youtube, dukungan Bluetooth A2DP, animasi layar dan keyboard pada layar yang dapat disesuaikan dengan sistem.

3. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterei indikator dan kontrol applet VPN.

4. Android versi 2.0/2.1 (Eclair)

Dirilis pada 3 Desember 2009, perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI(User Interface) dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.

5. Android versi 2.2 (Froyo : Frozen Yogurt)

(28)

mobile, penambahan SQLite sebagai media penyimpanan data, dan penyempurnaan grafik 2D maupun 3D berdasarkan libraries OpenGL. 6. Android versi 2.3 (Gingerbred)

Diluncurkan pada Desember 2010 merupakan pengembangan lebih lanjut dari versi sebelumnya dengan berbagai revisi SIP-based VoIP, Near Field Communications(NFC), Gyroscope dan sensor, serta Multiple cameras effect.

7. Android versi 3.0 (Honeycomb) dirilis februari 2011 sebagai ndroid 3.0 revisi 1 serta android versi 3.0 revision 2 telh dirilis pada juli 2011, namun versi ini hanya diluncurkan dan dikhususkan bagi perangkat tablet.

8. Android versi 4.0 (Ice Cream Sandwich) dirilis pada November 2011 , pada versi ini terdapat berbagai kemjuan dan pengembangan yang lebih signifikan diantaranya face unlock, kecepatan pembacaan data internal serta integrasi komponen smartphone yang jauh lebih baik.

9. Android versi 4.1 (Jelly Bean), dirilis pada 9 Juli 2012 dengan penambahan dan perbaikan terhadap bug yang terdapat pada versi 4.0 10.Android versi 4.2 (Jelly Bean)

Merupakan lanjutan pengembangan dari versi 4.1 11.Android versi 4.3 (Jelly Bean)

Dirilis pada 27 Juli 2013, merupakan versi lanjutan dari 4.2 12.Android versi 4.3 (Kit Kat)

(29)

2.5 Linux

Linux adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapa saja. (It Works, 2011)

Nama "Linux" berasal dari nama pembuatnya, yang diperkenalkan tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.

(30)

2.5.1 Antarmuka pengguna

Linux dapat dikendalikan oleh satu atau lebih antarmuka baris perintah (command line interface atau CLI) berbasis teks, antarmuka pengguna grafis (graphical user interface atau GUI, yang umumnya merupakan konfigurasi bawaan untuk versi desktop).

Pada komputer, GNOME, KDE dan Xfce merupakan antarmuka pengguna yang paling populer, walaupun terdapat sejumlah varian antarmuka pengguna. Antarmuka pengguna yang paling populer berjalan di atas X Window System (X), yang menyediakan transparansi jaringan yang memperolehkan sebuah aplikasi grafis berjalan di atas satu mesin tetapi ditampilkan dan dikontrol di mesin yang lain.

GUI yang lain memiliki X window manager seperti FVWM, Enlightenment, Fluxbox, Icewm dan Window Maker. Manajer jendela menyediakan kontrol untuk penempatan dan penampilan dari jendela-jendela aplikasi individual serta interaksi dengan sistem jendela X.

Sebuah sistem Linux umumnya menyediakan sebuah antarmuka baris perintah lewat sebuah shell, yang merupakan cara tradisional untuk berinteraksi dengan sebuah sistem Unix. Sebuah distro Linux yang dikhususkan untuk lingkungan peladen mungkin hanya memiliki CLI sebagai satu-satunya antarmuka. Sebuah sistem yang tidak memiliki monitor hanya dapat dikontrol melalui baris perintah lewat protokol seperti SSH atau telnet.

(31)

inter-proses yang sangat sederhana. Sebuah program emulator terminal grafis sering digunakan untuk mengakses CLI dari sebuah Linux desktop.

2.5.2 Pemrograman di Linux

Sebagian besar distribusi Linux mendukung banyak bahasa pemrograman. Koleksi peralatan untuk membangun aplikasi dan program-program sistem operasi yang umum terdapat di dalam GNU toolchain, yang terdiri atas GNU Compiler Collection (GCC) dan GNU build system. GCC menyediakan kompilator untuk Ada, C, C++, Java, dan Fortran. Kernel Linux sendiri ditulis untuk dapat dikompilasi oleh GCC. Kompilator tak bebas (proprietary) untuk Linux antara lain adalah Intel C++ Compiler dan IBM XL C/C++ Compiler.(Athailah, 2011)

Kebanyakan distribusi juga memiliki dukungan untuk Perl, Ruby, Python dan bahasa pemrograman dinamis lainnya. Contoh bahasa pemrograman yang tidak umum tetapi tetap mendapat dukungan di Linux antara lain adalah C# dengan proyek Mono yang disponsori oleh Novell, dan Scheme. Sejumlah Java Virtual Machine dan peralatan pengembang jalan di Linux termasuk Sun Microsystems JVM (HotSpot), dan J2SE RE IBM, serta proyek-proyek sumber terbuka lainnya seperti Kaffe. Dua kerangka kerja utama untuk pengembangan aplikasi grafis di Linux adalah GNOME dan KDE. Proyek-proyek ini berbasiskan GTK+ dan Qt. Keduanya mendukung beragam bahasa pemrograman. Untuk

(32)

2.5.3 Hak cipta dan merek dagang

Linux kernel dan sebagian besar perangkat lunak GNU menggunakan GNU General Public License (GPL) sebagai basis lisensinya. GPL mengharuskan siapapun yang mendistribusikan kernel linux harus membuat kode sumber (dan semua modifikasi atas itu) tersedia bagi pengguna dengan kriteria yang sama.(It Works, 2011)

Tahun 1997, Linus Torvald menyatakan, “Menjadikan Linux berbasis GPL sungguh merupakan hal terbaik yang pernah saya lakukan.”. Komponen penting

lain dalam sistem Linux diijinkan menggunakan lisensi selain dari GPL. Banyak pustaka menggunakan GNU Lesser General Public License (LGPL), varian GPL yang lebih moderat, dan sistem X Window System menggunakan MIT License.

Linus Torvald telah menyatakan ke khayalak umum bahwa ia tidak akan memindahkan lisensi kernel Linux yang saat ini menggunakan GPL versi 2 ke GPL versi 3, yang dikembangkan pada pertengahan tahun 2007, dengan alasan beberapa ketentuan yang terdapat pada lisensi baru tersebut melarang penggunaan perangkat lunak dalam manajemen hak digital.

(33)

dikembangkan di Amerika Serikat.

Sebagian besar kode (71%) ditulis dengan menggunakan bahasa pemrograman C, namun banyak bahasa lainnya juga ikut terlibat seperti C++, Assembly, Perl, Python, Fortran, dan berbagai bahasa skrip lain. Lebih dari separuh dari seluruh kode dilisensikan di bawah naungan GPL. Kernel linux itu sendiri terdiri atas 2,4 juta baris kode, atau sekitar 8% dari total keseluruhan.

Penelitian lainnya menghasilkan analisis yang sama terhadap distro Debian GNU/Linux versi 4.0. Distro tersebut terdiri atas lebih dari 283 juta baris kode, dan penelitian tersebut memperkirakan biaya pengembangan yang dibutuhkan sebesar 5,4 miliar euro jika dikembangkan sebagai perangkat linak tertutup.

Di Amerika Serikat, Linux merupakan merek dagang (SN: 1916230) yang dimiliki oleh Linus Torvalds. Linux terdaftar sebagai "Program sistem operasi komputer bagi penggunaan komputer dan operasi". Merek dagang ini didaftarkan setelah ada suatu kejadian di mana seorang pemalsu bernama William R Della Croce Jr mulai mengirim surat kepada para distributor Linux dan megklaim trademark Linux adalah hak miliknya serta meminta royalti sebanyak 10% dari mereka.

(34)

2.5.4 Distribusi Linux

Terdapat banyak distribusi Linux (lebih dikenali sebagai distro) yang dibuat oleh individu, grup, atau lembaga lain. Masing-masing disertakan dengan program sistem dan program aplikasi tambahan, di samping menyertakan suatu program yang memasang keseluruhan sistem di komputer (installer program).

Inti di setiap distribusi Linux adalah kernel, koleksi program dari proyek GNU (atau proyek lain), cangkang (shell), dan atur cara utilitas seperti pustaka (libraries), kompilator, dan penyunting (editor). Kebanyakan sistem juga menyertakan atur cara dan utilitas yang bukan GNU. Bagaimanapun, utilitas tersebut dapat dipisahkan dan sistem berbasis UNIX masih tersedia. Beberapa contoh adalah atur cara dan utiliti dari BSD dan sistem grafik-X (X-Window System). X menyediakan antarmuka grafis (GUI) yang umum untuk Linux. (Glyn Moody. 2002)

Contoh-contoh distribusi Linux :

 Ubuntu dan derivatifnya : Sabily (Ubuntu Muslim Edition), Kubuntu, Xubuntu, Edubuntu, GoBuntu, Gnewsense, ubuntuCE

 OpenSUSE

 Fedora

 BackTrack

 Mandriva

 Slackware

 Debian

 PCLinuxOS

(35)

 Xandros

 Sabayon

 CentOS

 Red Hat

 ClearOS

 Chromeos

 Gentoo Linux

2.5.5 Konfigurasi dan instalasi

Proses instalasi Linux yang sukar seringkali menjadi penghalang bagi pengguna baru, namun proses ini sekarang sudah menjadi lebih mudah. Dengan penerimaan Linux oleh beberapa pabrikan komputer pribadi besar, komputer terpasang (built up) dengan distribusi Linux siap pakai saat ini banyak tersedia.

(36)

Instalasi Linux juga merupakan instalasi berupa suite, yaitu dimana penginstalasian tersebut secara otomatis menginstalasi program-program standar, seperti pemutar MP3, Office Suite, dan pengolah gambar.

Konfigurasi setelan Linux dan aplikasi di atasnya banyak yang dilakukan lewat berkas teks di direktori /etc. Pada perkembangan selanjutnya, utilitas seperti Linuxconf dan GNOME System Tools memudahkan pekerjaan ini lewat antarmuka grafik. Akan tetapi, baris perintah (command line) tetap merupakan cara yang paling umum digunakan.

2.5.6 GNU/Linux

GNU adalah singkatan dari GNU's Not Unix. Disebabkan utiliti-utiliti dari proyek sistem operasi bebas GNU. Tanpa ini sistem Linux tidak akan menyerupai sistem Unix dalam perspektif pengguna. Richard Stallman dari GNU/FSF memohon agar kombinasi sistem (proyek GNU dan kernel Linux), disebut sebagai "GNU/Linux". Pengguna distribusi Linux dari proyek Debian lebih cenderung menggunakan nama tersebut. Kebanyakan pengguna lebih mudah menggunakan istilah "Linux".

2.6 Pengertian Kernel

Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman. (S. Brahler, 2010)

(37)

menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.

Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.

Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan di atas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.

(38)

program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory).

Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.

Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:

Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.

Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya yang disebut dengan server untuk melakukan beberapa fungsionalitas lainnya.

Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.

(39)

2.7 Kernel pada Android

Sistem Operasi Android mengunakan kernel linux versi 2.6.x pada versi Android 4.0(Ice Cream Sandwich) ke bawah dan menggunakan kernel linux versi 3.x.x pada versi Android 4.1 (Jelly Bean) ke atas. (Nazruddin Safaat, 2012)

Arsitektur kernel Linux pada Android telah diubah oleh Google, berbeda dengan siklus pengembangan kernel Linux biasa. Secara standar, Android tidak memiliki X Window System asli ataupun dukungan set lengkap dari perpustakaan GNU standar. Oleh sebab itu, sulit untuk memporting perpustakaan atau aplikasi Linux pada Android. Dukungan untuk aplikasi simpel C dan SDL bisa dilakukan dengan cara menginjeksi shim Java dan menggunakan JNI, misalnya pada port Jagged Alliance 2 untuk Android.

Pada dasarnya kernel pada Android merupakan sebuah kernel monolitik

yang didasarkan pada pengembangan kernel linux. Sehingga, seluruh proses manajemen sumber daya hardware pada sebuah smartphone Android merupakan tanggung jawab dari kernel itu sendiri.

(40)

2.8 Governor pada kernel Android

Governor pada kernel android merupakan sebuah profil tentang bagaimana suatu CPU/processor pada smartphone Android bekerja. Governor akan menginstruksikan kepada processor apa yang harus dilakukan dengan tepat pada saat berbagai situasi. (Governor. 2011. xda-university.com/as-a-developer/adding-features-to-your-kernel)

Pada kernel bawaan pabrikan sendiri hanya terdapat beberapa governor standar bawaan yang memiliki kemampuan terbatas menangani berbagai situasi smartphone. Sehingga, kinerja dari cpu smartphone itu sendiri menjadi tidak optimal. Untuk itulah diperlukan governor tambahan yang umumnya di buat oleh pihak ketiga yang memiliki kinerja yang lebih baik daripada governor standar pabrikan tersebut.

Berikut ini adalah beberapa governor yang ada saat ini : 1. Ondemand

(41)

frekuensi CPU berikutnya secara langsung bukan melakukan intervcal tertentu.. Perubahan frekuensi secara langsung memang sangat membantu dalam penanganan banyaknya prose yang dapat ditangani, akan tetapi tidaklah efektif diterapkan dalam pengunaan jangka panjang yang akan mengakibatkan turunnya frekuensi tinggi dan rendah secara drastis

.

2. Ondemandx:

Pada dasarnya merupakan governor Ondemand dengan penambahan

wake/suspend mode. Governor ini dapat dikatakan sebagai governor Ondemand yang hemat daya. Ketika layar dalam keadaan mati, frekuensi maksimum pada CPU di set pada 500 mhz. Walaupun Ondemand adalah governor bawaan di banyak kernel dan dipertimbangkan karena aman/stabil, akan tetapi untuk mendukung Ondemand/Ondemandx tergantung dari kemampuan CPU untuk melakukan penggantian frekuensi secara cepat dan memiliki transisi latensi frekuensi yang sangat rendah.. Tidak semua I/O scheduler cocok dengan governor Ondemand/Ondemandx, hanya I/O SIO yang sepertinya dapat dikatakan cocok sebagai pasangan Ondemand/Ondemandx.

3. Conservative

(42)

menaikkan dan menurunkan kecepatan CPU secara lebih bertahap daripada Ondemand. Dengan kata lain, governor ini menaikkan frekueni secara bertahap ketika CPU digunakan dan langsung melakukan lompatan ke frekuensi terendah ketika dalam keadaan idle.. Target governor Conservative adalah untuk mengatur frekuensi CPU secara dinamis, tanpa melompat langsung ke frekuensi tertinggi.

4. Interactive

Interactive dianggap sebagai governor yang lebih efisien dari Ondemand. Jadi dapat dikatakan lebih cepat, dan hemat baterei. Interactive di rancang untuk sensitif-latency, beban kerja yang interaktif. Alih-alih pengambilan sampel pada setiap interval seperti ondemand, Interactive menentukan bagaimana skala ketika CPU keluar dari status idle. Governor ini memiliki keuntungan sebagai berikut :

1) Lebih responsif, karena governor yang ada melakukan sampel beban CPU dalam konteks penjadwalan kerja, tapi governor Interactive melakukan hal ini dalam konteks waktu, yang memberikan sampel beban CPU yang lebih konsisten.

(43)

CPU untuk X ms. 5. Interactivex:

Merupakan governor interactive dengan profile yang lebih hemat baterei daripada governor Interactive.

6. Lulzactive:

merupakan governor campuran antara Interactive dan Smartass dan merupakan salah satu governor pilihan para pengembang pihak ketiga. Versi lama : Ketika beban kerja lebih besar atau sama dengan 60%, governor langsung menaikkan skala prosesor ketingkat yang lebih tinggi. Ketika beban kerja kurang dari 60% governor menurunkan skala prosesor ketingkat yang lebih rendah. Ketika layar dalam posisi mati, frekuensi di kunci ke dalam skala frekuensi minimum yang bersifat global. Tiga parameter yang di tentukan user adalah inc_cpu_load, pump_up_step, pump_down_step. Tidak eperti versi lamanya, versi yang baru memberikan kontrol yang lebih baik untuk pengguna. Pengguna dapat menentukan ambang batas untuk governor dalam menaikkan/menurunkan skala prosesor. Pengguna juga dapat menentukan angka frekuensi yang dapat dilewatkan ketika menaikkan dan menurunkan frekuensi. Ketika beban kerja lebih besar atau sama dengan inc_cpu_load, governor menaikkan skala CPU pump_up_step secara bertahap. Ketika beban kerja lebih kecil dari inc_cpu_load, governor meurunkan skala pump_down_step.

7. Lulzactiveq:

(44)

oleh anggota XDA bernama Robertosc. Lulzactiveq mengarah kepada pengoptimalan versi kedua Luzactive yaitu dengan menyediakan sebuah parameter tambahan (dec_cpu_load) untuk membuat penentukan skala bawah lebih sensitif dan menggabungkan logika hotplug dengan governor. Luzactiveq adalah sebuah governor pertama yang menggunakan logika hotplug bawaan. Ketika CPU keluar dari posisi idle kemudian saat itu pula dibuat penskalaan CPU, jika load >= inc_cpu_load skala CPU naik and jika load <dec_cpu_load, skala CPU turun. Hanya prosessor dengan inti banyak yang dapat menerapkan governor ini.

8. Smartass:

Merupakan sebuah hasil penyempurnaan governor Interactive yang dilakukan oleh Erasmux. Tujuan utamanya adalah untuk menghemat pemakaian baterei tanpa mengurangi performa.

9. SmartassV2:

(45)

jangkauan frekuensi dapat digunakan oleh governor baik itu dalam posisi layar mati (idle) atau layar hidup (awake).

10. Intellidemand:

Intellidemand alias Intelligent Ondemand yang di tulis oleh Faux yang merupakan pengembangan dari governor Ondemand. Perilaku gover ini didsarkan pada penggunaan GPU (Graphic processing Unit). Ketika GPU dalam keadaan sangat sibuk (main game, melihat maps, dan lainnya) governor ini berperilaku seperti Ondemand. Ketika GPU sibuk, intellidemand membatasi frekuensi maksimum secara bertahap tergantung dari frekuensi yang tersedia pada perangkat/kernel untuk menghemat baterei. Proses ini disebut dengan “Browsing mode”.

11. Lazy:

Governor ini berasal dari Ezekeel yang dibuat berdasarkan Ondemand dengan tambahan paramater min_time_state yang bertujuan menentukan waktu minimum CPU untuk tetap pada frekuensi yang ada sebelum skala naik/turun. Ide ini bertujuan menghilangkan ketidakstabilan yang disebabkan oleh penggantian frekuensi secara cepat yang dilakukan Ondemand. Governor ini hanya menetukan frekuensi selanjutnya setelah melewati waktu yang ditetapkan pada min_time_state. Lazy juga mempunyai screenoff_maxfreq yang ketika digunkan akan menyebabkan governor ini memilih frekuensi maksimum ketika layar dalam keadaan mati.

12.Lagfree:

(46)

pada governor ini dikembangkan untuk penggunaan baterei yang lebih hemat. Frekuensi secara “anggun” diturunkan dan dinaikkan, tidak seperti Ondeman yang terlalu sering dinaikkan ke posisi 100%. Lagfree tidak melewatkan frekueniapapun ketika skalanya dinaikkn ataupun diturunkan. 13. Lionheart:

Lionheart sangat bagus dipasangkan dengan deadline i/o scheduler. 14.LionheartX

LionheartX merupakan pengembangan dari governor LionheartX akan tetapi terdapat penambahan beberapa fitur governor Smartass.

15. Brazilianwax:

Hampir sama dengan smartassV2. Akan tetapi lebih ringan, sehingga memiliki performa yang lebih baik dan lebih hemat dalam penggunaan baterei.

16.SavagedZen:

Salah satu pengembangan governor smartassV2. Yang bertujuan mendapatkan performa dan ketahanan baterei yang seimbang.

17. Userspace:

Disamping menentukan frekuensi secara otomatis, pengguna dijiinkan dengan bebas dapat menentukan frekuensi.

18.Powersave:

Mengunci frekuensi maksimum ke frekuensi minimum. Biasanya menyebabkan lag yang luar biasa.

19.Performance:

(47)

2.9 I/O Scheduler

I/O Scheduler adalah suatu kemampuan kernel dalam mengontrol pengaksesan terhadap penyimpanan data. Tujuan utamanya adalah mengecilkan latensi pencarian data pada media penyimpanan, prioritas permintaan I/O dari proses yang berjalan, mengalokasikan jumlah ruang penyimpanan untuk setiap proses yang berjalan, dan menjamin setiap permintaan penggunaan media penyimpanan data terpenuhi secara keseluruhan sebelum batas waktunya habis. (Governor, Tweaks. 2012. forum.xda-developers.com/showthread.php?t=1369817)

Terdapat beberapa I/O scheduler yang digunakan beberapa pihak pengembang, yaitu :

1. Noop 2. Deadline 3. CFQ 4. DFQ 5. SIO 6. VR/V(R) 7. Anticipatory

2.9.1 Noop Scheduler

(48)

Keuntungan yang didapat adalah flash drive tidak membutuhkan penyortiran terhadap beberapa permintaan I/O seperti pada hardisk.

Keuntungan:

 Melayani permintaan I/O dengan nomor cpu cycles yang lebih sedikit.

 Sangat bagus untuk penyimpanan kilat.

 Baik digunakan untuk pusat data sistem. Kekurangan:

 Pengurangan nomor cpucycles mengakibatkan penurunan kinerja.

2.9.2 Deadline Scheduler

Tujuan utamanya adalah mengecilkan jarak pelayanan terhadap permintaan I/O. Hal ini sama dengan aturan Round Robin yang sangat cocok digunakan untuk melayani permintaan I/O yang banyak. Five queues sangat agresif dalam mengatur ulang urutan permintaan I/O yang akan dilayani.

Keuntungan:

 Mendekati penjadwalan yang real time.

 Baik untuk mengurangi latensi setiap permintaan I/O tunggal yang diberikan.

 Scheduler terbaik untuk pemakaian pada basis data.

 Jumlah ruang yang diperlukan oleh proses dapat dengan mudah dihitung.

 Sangat baik digunakan pada memori kilat. Kekurangan:

(49)

2.9.3 CFQ (Completely Fair Queuing)

CFQ scheduler mengatur skala antrian I/O setiap per-proses dan mendistribusikan ruang I/O yang tersedia secara rata kepada setiap permintaan I/O. Setiap per-proses mengandung permintaan sinkronisasi dari per-proses. setiap jarak waktu dialokasikan untuk setiap antrian tergantung priritas dari proses utama. Versi kedua dari CFQ mempunyai beberapa penyempurnaan terhadap penanganan proses I/O starvation dan beberapa backward seeks yang kecil dengan harapan lebih responif.

Keuntungan:

 Mengatur keseimbangan terhadap kemampuan I/O.

 Lebih mudah untuk disesuaikan.

 Baik untuk sistem yang menggunakan lebih dari satu prosesor atau prosesor berinti banyak.

 Kemampuan basis data sistem yang baik. Kekurangan:

 Beberapa pengguna melaporkan sistem membutuhkan waktu yang lebih lama melakukan pengenalan media penyimpanan.

2.9.4 BFQ

(50)

sebagai suatu fungsi. Keuntungan:

 Sangat baik untuk transfer data menggunakan.

 Diyakini sebagai scheduler terbaik untuk media penyimpanan rekaman video HD dan video langsung (streaming).

 Beberapa pengembang menetapkan sebagai I/O scheduler terbaik.. Kekurangan:

 Sangat tidak cocok digunakan pada saat mencari nilai benchmark.

 Semakin tinggi kapasitas yang menangani proses dapat menyebabkan meningkatnya latensi pada disk.

2.9.5 SIO

Sebuah I/O scheduler sederhana yang bertujuan untuk menjaga latensi pada kondisi paling minimum ketika melayani berbagai permintaan I/O. Tidak ada konsep prioritas antrian, hanya sebuah penggabungan dasar. Sio merupakan sebuah campuran I/O antara noop dan deadline. Tidak ada pengaturan ulang permintaan ataupun pemilihan permintaan proses.

Keuntungan:

 Sederhana.

 Mengecilkan kemungkinan adanya permintaan yang tertunda. Kekurangan:

(51)

 Kecepatan pembacaan segmen pada memori kilat juga tidak begitu bagus.

2.9.6 V(R)

Tidak seperti scheduler lainnya, penyelerasan dan pemisahan permintaan tidak dilayani terpisah, melainkan digabungkan untuk mendapatkan sebuah kondisi yang adil bagi setiap proses. Permintaan selanjutnya dilayani berdasarkan jarak dari permintaan terakhir.

Keuntungan:

 Mungkin merupakan sebuah scheduler terbaik untuk mendapatkan nilai benchmark yang tinggi.

Kekurangan:

 Tidak stabilnya kinerja I/O.

2.9.7 Anticipatory

Didasarkan pada 2 fakta yaitu : i) Disk terlihat bekerja sangat lambat.

ii) Operasi penulisan dapat terjadi kapan saja, tetapi selalu terdapat beberapa proses yang menunggu untuk proses pembacaan.

Jadi, untuk mengantisipasi adanya sebuah proses overwrite maka dibuat suatu penyelarasan operasi pembacaan.

Keuntungan:

 Permintaan proses pembacaan tidak pernah menunggu terlalu lama.

(52)

Kekurangan:

 Mengurangi kemampuan penulisan pada media penyimpanan yang memiliki kecepatan tinggi.

(Governor, Tweaks. 2012.forum.xda-developers.com/showthread.php?t=1369817)

2.10 Overclock

Overclock adalah istilah teknologi informasi yang mengacu kepada cara untuk membuat suatu perangkat untuk berjalan di kecepatan yang lebih tinggi daripada ketentuan pembuat perangkat tersebut. Prinsipnya adalah membuat kinerja lebih tinggi. Tetapi perlakuan ini beresiko menyebabkan kestabilan sistem yang berkurang sampai rusaknya periferal yang di overclock. (Ciu Bun Seng. 2011)

Overclock memiliki batasan tertentu tergantung dari jenis hardware yang digunkan. Bahkan, walaupun memiliki vendor yang sama akan tetapi batasan overclock dari suatu smartphone berbeda.

Pada kondisi yang tidak stabil, overclock dapat menyebabkan sistem menjadi tidak stabil, mulai dari hardware hingga software, jika pada hardware dapat menyebabkan adanya efek kenaikan suhu dan pemborosan sumber daya, sementara pada software , dapat menyebabkan jalur data menjadi tidak lancar.

(53)

2.11 Clockworkmod Recovery

ClockworkMod Recovery (CWM) adalah sebuah recovery pengganti pilihan untuk sebuah perangkat android, dibuat oleh Koushik “Koush” Dutta. CWM

merupakan pengembangan dari recovery bawaan android versi 2.1 (Eclair). Kmemapuannya meliputi Nandroid backup, adb shell, advanced update.zip dan file browser untuk pilihan paket zip. (Google. 2013. developer.android.com/guide/index.html)

Aplikasi bernama ROM manager dapat digunakan untuk pemasangan CWM, melakukan penggantian langsung terhadap recovery bawaan. Seperti recovery bawaan CWM bisa digunakan untuk melakukan pembaharuan perangkat lunak perangkat. Tidak seperti recovery bawaan, CWM mempunya kemampuan untuk mengganti seluruh sitem operasi android termasuk ROM pengembang pihak ketiga.

(54)
(55)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan tahap penguaraian dari suatu sistem yang utuh ke dalam bagian-bagian dengan maksud untuk mengevaluasi permasalahan sehingga dapat dibuat rancangan sistem yang baru sesuai dengan kebutuhan. Analisis sistem yang dilakukan adalah:

1. Analisis Permasalahan. Suatu permasalahan pasti ada penyebabnya. Begitu pula dengan pengembangan kernel Android Xperia Ray ini. Sistem ini dibuat dengan alasan antara lain:

a. Adanya penghentian pembaruan software produk ini yang disebabkan semakin banyaknya telepon seluler berbasis android yang dikeluarkan oleh Sony.

b. Bagaimana meningkatkan kemampuan dari Xperia Ray sehingga dapat mengejar kemampuan smartphone keluaran terbaru lainnya. c. Seluruh aktivitas dari hardware yang digunakan pada smartphone

android tergantung dari pengaturan yang dilakukan pada kernel android tersebut.

(56)

a. Kebutuhan kode sumber yang akan dikembangkan guna pengembangan kernel.

b. Sebuah smartphone tepatnya sebuah sony Xperia Ray yang akan menjadi objek penerapan.

c. Perlunya pengenalan yang mendalam mengenai dasar-dasar sistem linux yang merupakan dasar dari pengembangan kernel ini.

3.2Perancangan sistem

Perancangan sistem merupakan upaya untuk memulai membangun sistem yang akan dibuat. Perancangan ini dilakukan setelah mendapat gambaran dengan jelas apa yang harus dikerjakan. Agar lebih mudah untuk memahaminya, maka dibuatlah perancangan kernel Android untuk Sony Xperia Ray.

3.2.1 Perancangan Output

Sebuah kernel android dibangun atas 2 bagian yaitu isi kernel (zImage) dan ramdisk. Akan tetapi bagian-bagian utama dari android terletak pada zImage, sedangkan ramdisk adalah sebuah tempat yang mengatur beberapa bagian seperti recovery tambahan.

Adapun perancangan output kernel ini adalah sebagai berikut:

3.2.1.1Tampilan Bootlogo

(57)

Gambar 3.1 Tampilan Bootlogo

3.2.1.2Tampilan identitas kernel pada menu about phone smartphone android

Identitas kernel selalu memasukkan identitas berdasarkan host dan username dari lingkungan mesin pembuatnya yaitu host dan username OS linux yang dijadikan wadah pembuatan kernel android ini. Bisa dilihat pada kernel bawaan pabrikan berikut.

(58)

3.3Perancangan kernel

3.3.1 Perancangan Governor

Perancangan Governor kernel adalah perancangan dan penyeleksian governor yang dianggap sesuai dengan kebutuhan multitasking dan gaming, sehingga didapatkan sebuah kernel multifungsi yang dapat mendukung semua kebutuhan pengguna.

Governor yang sesuai dengan kriteria diatas adalah governor Brazilianwax dan SmartassV2. Kedua governor ini memiliki kemampuan untuk mengatur frekuensi CPU sedemikian rupa yang kemudian menghasilkan sebuah manejemen CPU yang maksimal, sehingga cocok digunakan ketika proses multitasking

ataupun gaming.

Akan tetapi dikarenakan Cpu yang digunakan pada Sony Xperia Ray masih berinti satu (single core) maka governor yang dapat ditetapkan sebagai governor bawaan hanya salah satu governor diatas. Sehingga, SmartasV2 lah yang digunakan sebagai governor kernel dikarenakan governor ini sangat cocok diterapkan pada CPU single core.

Governor sendiri pada sistem kernel android terletak pada bagian “drivers/cpufreq/Kconfig”. Pada file Kconfig ini penulis inputkan konfigurasi

pemilihan governor smartassV2 sebagai governor bawaan yang diletakkan di antara governor bawaan vendor.

config CPU_FREQ_DEFAULT_GOV_SMARTASSV2

bool "smartassV2"

(59)

help

Use the CPUFreq governor 'smartassV2' as default.

config CPU_FREQ_GOV_SMARTASSV2

tristate "'smartassV2' cpufreq governor"

depends on CPU_FREQ

help

smartassV2' - a "smartv2" optimized governor!

If in doubt, say N.

Pada script diatas dapat dilihat penulis menetapkan governor smartassV2 sebagai governor bawaan pada line yang paling bawah yaitu “Use the CPUFreq

governor 'smartassV2' as default.”.

Ketika mengubah pengaturan kernel penulis juga diharuskan mengubah sebuah file yaitu “drivers/cpufreq/Makefile”. File ini berisi bagian-bagian apa saja yang harus dikompilasi sehingga terbentuk file-file governor yang dapat digunakan.

Script yang penulis masukkan pada file ini adalah :

obj-$(CONFIG_CPU_FREQ_GOV_SMARTASSV2) += cpufreq_smartassV2.o

Script diatas berfungi membuat sebuah file berekstensi “.o” yang

merupakan hasil dari kompilasi kode sumber dalam bahasa C.

(60)

penulis membuat sebuah file “cpufreq_smartassV2.c” yang berisi tentang kode sumber governor smartassV2 yang ditulis dalam bahasa C. Penulis meletakkannya pada bagian “drivers/cpufreq/cpufreq_smartassV2.c”.

Selain itu diperlukan kode tambahan pada bagian “include/linux/cpufreq.h” yang berfungsi mengenali governor yang penulis masukkan tadi.

#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SMARTASS)

extern struct cpufreq_governor cpufreq_gov_smartass;

#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_smartass)

Script diatas penulis masukkan pada bagian “Cpufreq_Default”. Pada

bagian inilah yang bertugas melakukan pengenalan governor-governor yang dapat digunakan pada kernel.

Cara diatas dilakukan pada saat penambahan setiap governor yang akan digunakan selanjutnya.

3.3.2 Perancangan I/O scheduler

I/O scheduler yang kan digunakan adalah sebuah I/O scheduler yang dapat mengatur keseimbangan antara pengaturan kapasitas permintaan pembacaan drive dan proses penulisan pada drive.

(61)

dihindari.

I/O scheduler pada android terletak pada bagian /block didalam kode sumber kernel android. Pada direktori inilah nantinya akan dimasukkan kode sumber SIO scheduler yang ditulis dalam bahasa C. Kemudian penulis mengedit file Kconfig.iosched yang berisikan pengaturan I/O scheduler bawaan.

config IOSCHED_SIO

tristate "Simple I/O scheduler"

default y

---help---

The Simple I/O scheduler is an extremely simple scheduler,

based on noop and deadline, that relies on deadlines to

ensure fairness. The algorithm does not do any sorting but

basic merging, trying to keep a minimum overhead. It is aimed

mainly for aleatory access devices (eg: flash devices).

Kode diatas bertujuan untuk menempatkan scheduler tambahan agar dapat dikenali oleh kernel. Pada bagian Default_choice penulis menambahkan kode “default "sio" if DEFAULT_SIO” yang bertujuan kernel dapat memilih scheduler SIO sebagai scheduler bawaan.

Penulis juga mengubah isi berkas MAKEFILE yang berfungsi sebagai pengaturan ketika kernel akan di compile. Sehingga, scheduler yang telah dipilih dapat berjalan dengan lancar pada kernel yang akan dibuat.

(62)

Kode di atas bertujuan untuk mengubah berkas sumber “sio-iosched.c” agar dapat dimasukkan ke dalam pengaturan kernel.

3.3.3 Overclock Prosesor

Overclock prosesor android tidak sama halnya dengan overclock pada prosesor Komputer. Dikarenakan arsitektur kernel android yang bersifat monolitik.

Sehingga, overclock dilakukan terhadap pengaturan clock secara manual yang dilakukan oleh bagian arch/arm.

Pengaturan clock CPU setiap perangkat android berbeda. Hal ini disebabkan oleh jenis arsitektur dan vendor pembuat prosesor. Pada Sony Xperia Ray, prosesor yang digunakan adalah prosesor yang diproduksi oleh vendor Qualcomm dengan seri msm7x30 sehingga pengaturan pada kode sumber dilakukan pada bagian “/arch/arm/mach-msm/acpuclock-7×30.c”.

Pada pengaturan pabrikan clock yang diterapkan pada prosesor perangkat ini adalah 1024 Mhz. Sehingga clock yang masih dapat didukung oleh prosesor perangkat ini adalah dua kali dari clock bawaan pabrikan yaitu 2048 Mhz. Akan tetapi, penulis akan menaikkan hingga pada batas 2000 Mhz untuk menghindari adanya pemakaian baterei secara drastis dan peningkatan suhu yang sangat tinggi pada prosesor.

Secara pengertian dasar, overclock dapat di katakan sebagai perbandingan array frekuensi dengan tegangan pada prosesor. Penulis melakukan pengaturan clock CPU perangkat ini dengan cara melakukan beberapa perubahan pada kode sumber “/arch/arm/mach-msm/acpuclock-7×30.c”.

(63)

{ 42, 0, 1, 0 }, /* 806 MHz */

{ 53, 1, 3, 0 }, /* 1024 MHz */

{ 125, 0, 1, 1 }, /* 1200 MHz */

{ 73, 0, 1, 0 }, /* 1401 MHz */

};

static struct clkctl_acpu_speed acpu_freq_tbl[] = {

{ 0, 24576, SRC_LPXO, 0, 0, 30720000, 900, VDD_RAW(900) },

{ 0, 61440, PLL_3, 5, 11, 61440000, 900, VDD_RAW(900) },

{ 1, 122880, PLL_3, 5, 5, 61440000, 900, VDD_RAW(900) },

{ 0, 184320, PLL_3, 5, 4, 61440000, 900, VDD_RAW(900) },

{ 0, MAX_AXI_KHZ, SRC_AXI, 1, 0, 61440000, 900, VDD_RAW(900) },

{ 1, 245760, PLL_3, 5, 2, 61440000, 900, VDD_RAW(900) },

{ 1, 368640, PLL_3, 5, 1, 122800000, 900, VDD_RAW(900) },

/* AXI has MSMC1 implications. See above. */

{ 1, 768000, PLL_1, 2, 0, 153600000, 1050, VDD_RAW(1050) },

/*

* AXI has MSMC1 implications. See above.

*/

{ 1, 806400, PLL_2, 3, 0, UINT_MAX, 1100, VDD_RAW(1100), &pll2_tbl[0]},

{ 1, 1024000, PLL_2, 3, 0, UINT_MAX, 1200, VDD_RAW(1200),

&pll2_tbl[1]},

{ 1, 1200000, PLL_2, 3, 0, UINT_MAX, 1200, VDD_RAW(1200),

&pll2_tbl[2]},

{ 1, 1401600, PLL_2, 3, 0, UINT_MAX, 1250, VDD_RAW(1250),

&pll2_tbl[3]},

(64)

Pada bagian clkctl_acpu_speed diatas clock maksimum yang digunakan adalah 1250 Mhz dan batasan nilai clock tertinggi adalah 1401 Mhz atau dapat dikatakan batas paling tinggi sebelum perangkat akan melakukan proses mulai ulang sendiri dikarenakan beban berlebih adalah 200 Mhz diatas clock maksimum. Penaikan tegangan prosesor dilakukan pada setiap nilai 100 hingga 150 pada setiap langkah. Maka, penulis akan melakukan langkah aman dengan menaikkan tegangan prosesor dengan nilai 50 per tingkatan kenaikan. Sehingga bagian di atas penulis rubah menjadi seperti berikut :

static struct cpufreq_frequency_table freq_table[] = { { 0, 134400 },

/* 806.4MHz is updated to 1024MHz at runtime for MSM8x55. */ { 8, 806400 },

{ 17, CPUFREQ_TABLE_END }, #else

{ 17, 1708800 }, { 18, 1804800 }, { 19, 1900800 }, { 20, 2016000 },

{ 21, CPUFREQ_TABLE_END }, #endif

};

/* Use negative numbers for sources that can't be enabled/disabled */ #define SRC_LPXO (-2)

#define SRC_AXI (-1) /*

(65)

static struct clkctl_acpu_speed acpu_freq_tbl[] = {

// { 24576, SRC_LPXO, 0, 0, 30720000, 900, VDD_RAW(900) }, // { 61440, PLL_3, 5, 11, 61440000, 900, VDD_RAW(900) },

{ 134400, PLL_3, 5, 5, 61440000, 900, VDD_RAW(900) }, { 184320, PLL_3, 5, 4, 61440000, 900, VDD_RAW(900) },

{ MAX_AXI_KHZ, SRC_AXI, 1, 0, 61440000, 900, VDD_RAW(900) }, { 249600, PLL_3, 5, 2, 61440000, 900, VDD_RAW(900) },

{ 364800, PLL_3, 5, 1, 122800000, 900, VDD_RAW(900) }, /* AXI has MSMC1 implications. See above. */

{ 460800, PLL_1, 2, 0, 153600000, 950, VDD_RAW(950) }, { 576000, PLL_1, 2, 0, 153600000, 1000, VDD_RAW(1000) }, { 652800, PLL_1, 2, 0, 153600000, 1050, VDD_RAW(1050) }, { 768000, PLL_1, 2, 0, 153600000, 1050, VDD_RAW(1050) }, /*

* AXI has MSMC1 implications. See above.

* 806.4MHz is increased to match the SoC's capabilities at runtime */ dapat disimpan ke dalam media penyimpanan menurut struktur tertentu. Pada android Xperia Ray, file sistem yang digunakan sebagai media penyimpanan kilat adalah sistem file FAT32 (File Alocation Table 32).

(66)

[FAT32 maximum : 128 sectors per cluster × 33,550,325 clusters = 2,198,754,099,200 bytes (≈2,047 GiB)]. Untuk sistem file penyimpanan pihak kedua (second partition) pada Xperia ray hanya terbatas dukungan terhadap sistem file EXT2.

Memori kilat yang telah beredar dipasaran memiliki kapasitas penyimpanan yang lebih besar, termasuk ukuran berkas yang kini berada di atas ukuran 3GB. Akan tetapi, apabila memori kilat tersebut masih dalam format FAT32 maka pemanfaatan memori kilat berukuran besar akan tidak maksimal. Atas dasar ini, penulis akan melakukan perubahan terhadap sistem file yang didukung baik untuk penyimpanan kilat utama maupun pihak kedua. Untuk sistem file penyimpanan kilat pertama penulis memilih untuk menambahkan fitur pendukung file sistem NTFS (New Technology File System). NTFS telah mendukung untuk pembacaan hingga file 16TB (16 × 10246 or 264 bytes). Untuk file sistem pihak kedua, penulis menambahkan dukungan file sistem EXT4 yang memiliki kemampuan lebih efisien daripada EXT2.

Kode sumber Android sendiri telah mendukung kedua sistem file tersebut. Sehingga memudahkan penulis dalam menambahkan dukungan sistem file ini. Penulis hanya melakukan beberapa perubahan kode pada berkas /arch/arm/configs/Semc_urushi_defconfig.

Semula bagian sistem file tersebut adalah : # DOS/FAT/NT Filesystems

#

CONFIG_FAT_FS=y

Gambar

Gambar 2.1 Arsitektur Sistem Android
Gambar 3.1 Tampilan Bootlogo
Gambar 3.3 Tampilan isi kode sumber Ramdisk
Gambar 3.7 berkas autoroot pada direktori sbin
+3

Referensi

Dokumen terkait