Anda di halaman 1dari 2

Google Memilih Dalvik Virtual Machine untuk Android

Raydhitya Yoseph and 13509092 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia 13509092@std.stei.itb.ac.id raydhitya.yoseph@gmail.com
Makalah ini mengandung penjelasan mengenai bahasa pemrograman Java, Virtual Machine, dan Sistem Operasi Android. Semua penjelasan membuktikan bahwa Dalvik Virtual Machine lebih cocok digunakan untuk menjalankan aplikasi Java di Android. Index TermsJava, Android, Virtual Machine.

instruksi JVM. Seiring waktu tidak hanya Java yang dapat dijalankan di JVM, bahasa-bahasa pemrograman lain juga ditargetkan utnuk dijalankan secara alami di JVM, antara lain Scala dan Groovy4.

I. PENDAHULUAN
Google, raksasa teknologi informasi dunia mengembangkan sistem operasi bernama Android untuk telepon pintar genggam. Aplikasi untuk Android berbasis Java dan Google memilih menjalankan Java di Dalvik Virtual Machine, runtime yang tidak standar, daripada di Java Virtual Machine, yang sudah menjadi runtime standar di Java Platform1. Tulisan ini membahas apa itu Java, Android, Mesin Virtual, Dalvik Virtual Machine, dan mengapa Google memilih menggunakan itu daripada Java Virtual Machine.

III. VIRTUAL MACHINE


Virtual machine atau mesin virtual sendiri adalah sebuah sistem operasi yang terpisah dari sistem operasi normal5. Mesin virtual adalah bentuk perangkat lunak dari sebuah sistem atau komputer yang dapat menjalankan program seperti mesin fisik. Mesin virtual terbagi dua, yaitu system virtual machine yang mendukung eksekusi sistem operasi secara lengkap dan process virtual machine yang hanya menjalankan sebuah program. Dalam hal ini JVM adalah sebuah process virtual machine dimana JVM hanya mendukung eksekusi satu buah program saja. Process virtual machine menjalankan sebuah aplikasi dalam sistem operasi, dibuat ketika aplikasi dimulai dan dihancurkan ketika aplikasi berhenti. Model mesin yang umum digunakan adalah stack machine dan register machine. Stack machine mengeksekusi ekspresi melalui pushdown data stack dan menggunakan set instruksi notas reverse Polish8. Sebagai contoh untuk operasi penambahan dua buah operandnya dipop dari stack dan hasilnya dipush ke stack. Akses ke RAM dipisahkan dengan menggunakan instruksi Load dan Store yang mengandung satu buah alamat memori. Model yang kedua adalah register machine. Model ini menggunakan banyak, register beralamat unik, yang masing-masing menyimpan satu buah integer positif9. Register-register inilah yang nanti akan digunakan untuk menampung operand. Instruksi di stack machine berukuran lebih kecil dari instruksi di register machine. Namun, jumlah instruksi di stack machine lebih banyak daripada di register machine untuk instruksi tingkat tinggi yang sama. Perdebatan mana model mesin yang lebih baik masih terus berlangsung. Kedua model di atas mempunyai konsekuensi masing-masing. Tidak bisa satu model dikatakan lebih baik dari model yang lainnya. Kedua model di atas berlaku untuk mesin fisik dan mesin virtual. Dalam hal ini Java Virtual Machine adalah

II. JAVA
Java sendiri adalah bahasa pemrograman yang dikembangkan oleh James Gosling di Sun Microsystem, sekarang dimiliki oleh Oracle 2. Java dikompilasi menjadi Java bytecode, tidak seperti bahasa pemrograman lain yang dikompilasi menjadi kode mesin. Kode mesin dapat langsung dieksekusi oleh komputer, tidak seperti bytecode yang hanya dapat dieksekusi oleh mesin virtual yang sesuai. Java bytecode adalah kumpulan set instruksi yang dapat dieksekusi oleh Java Virtual Machine (JVM)3. Programmer menulis program dalam bahasa Java sebagai bahasa tingkat tinggi. Programmer tidak perlu tahu apa yang dilakukan oleh komputer, yang hanya mengenal 1 dan 0, lakukan untuk menjalankan apa yang ditulis oleh programmer. Kompilator Java akan mengkompilasi apa yang ditulis oleh programmer menjadi kumpulan set instruksi yang harus dilakukan oleh JVM, bukan komputer, atau lebih dikenal dengan Java bytecode. Java Virtual Machine adalah mesin virtual yang digunakan untuk mengeksekusi Java bytecode hasil kompilasi dari program yang dibuat dalam bahasa Java. Lingkungan eksekusi java disebut Java Runtime Environment (JRE). Java Runtime Environment mengeksekusi Java bytecode dengan mengemulasikan set

Makalah Dalvik Virtual Machine Laboratorium Sistem Terdistribusi Tahun 2010/2011

stack machine sedangkan Dalvik Virtual Machine adalah register machine.

V. KESIMPULAN
Secara teknis Google memilih Dalvik Virtual Machine dibandingkan dengan Java Virtual Machine untuk menjalankan aplikasi di Android karena keterbatasan perangkat keras dimana Android di implementasikan.

IV. ANDROID DAN DALVIK VIRTUAL MACHINE


Android adalah software stack untuk perangkat bergerak mencakup sistem operasi, middleware, dan aplikasi utama. Google membeli Android dari pengembang awalnya, yaitu Android Inc., di tahun 20056. Sistem operasi Android berbasis kernel Linux, dimana inti Anroid diprogram menggunakan C. Android memprogram User Interface dalam Java, begitu juga untuk aplikasi yang banyak dikembangkan oleh pengembang dari berbagai penjuru dunia. Android bukan Java secara sistem operasi, melainkan C. Jika berbicara pengembangan aplikasi, Android barulah Java. Setiap aplikasi Java di Android berjalan dalam Dalvik Virtual Machine, tidak seperti standar yang dibuat pengembang Java, menggunakan Java Virtual Machine. Jika ada aplikasi baru yang dibuka, Android akan menjalankan aplikasi tersebut melalui DVM yang baru tanpa menutup yang sebelumnya. Jika aplikasi ditutup, barulah Android menghancurkan DVM yang menjalankan aplikasi tersebut. Hal ini berarti DVM sama dengan JVM sebagai process virtual machine. Pertama kali Java dikembangkan, Java hanya ditargetkan menjadi bahasa pemrograman yang berparadigma berorientasi objek dan dapat dijalankan di platform apa saja. Moto Java compile once, run anywhere, membuat pengembang Java mengembangkan JVM untuk menjalankan Java di platform apapun. Secara teknis Java ditargetkan untuk dijalankan di komputer yang dari segi spesifikasi jauh lebih bertenaga dari smartphone tercanggih. Telepon pintar mempunyai keterbasan perangkat keras yang tidak akan pernah menyaingi kemampuan komputer. Dalvik Virtual Machine membantu mengatasi ini, salah satunya, dalam hal penggunaan memori yang terbatas. Sebuah aplikasi yang dibungkus dalam .jar dan dijalankan di JVM mempunyai memori untuk masingmasing isi kelasnya. Berbeda dengan aplikasi yang dibungkus dalam .dex da dijalankan di DVM. Aplikasi tersebut akan mempunyai satu buah tempat untuk menampung header semua isi dari setiap kelas yang ada. Hal ini akan mengurangi penggunaan memori yang dibutuhkan. Kelebihan kedua adalah dalam hal memulai aplikasi baru. Ketika sebuah aplikasi baru dimulai JVM meload semua library dasar yang dibutuhkan. Tidak seperti DVM, ketika sebuah aplikasi baru dimulai DVM akan meload sesuatu yang disebut zigot yang mengandung library dasar. Baru kemudian setelah itu meload aplikasi yang sebenarnya. Zigot ini disimpan dalam memori dan dishare untuk aplikasi lain. Jadi, jika ada aplikasi yang baru mulai, DVM akan menggunakan zigot yang telah diload dan kemudian meload library sisa yang dibutuhkan oleh aplikasi yang baru saja dibuka.

VII. ACKNOWLEDGMENT
Penulis ingin berterima kasih kepada asisten Laboratorium Sistem Terdistribusi yang memberikan tugas menulis tulisan ini.

REFERENCES
[1] [2] [3] [4] [5] [6] [7] [8] [9] David Ehringer, The Dalvik Virtual Machine Architecture, 2010. http://en.wikipedia.org/wiki/Java_(programming_language), diambil tanggal 26 Mei 2011 11:03 http://en.wikipedia.org/wiki/Java_bytecode diambil tanggal 26 Mei 2011 11:16 http://en.wikipedia.org/wiki/List_of_JVM_languages diambil tanggal 26 Mei 2011 11:36 http://en.wikipedia.org/wiki/Virtual_machine diambil tanggal 26 Mei 2011 11:44 http://en.wikipedia.org/wiki/Android_(operating_system) diambil tanggal 26 Mei 2011 11:51 http://en.wikipedia.org/wiki/Solution_stack diambil tanggal 26 Mei 2011 11:54 http://en.wikipedia.org/wiki/Stack_machine diambil tanggal 27 Mei 2011 10:21 http://en.wikipedia.org/wiki/Register_machine diambil tanggal 27 Mei 2011 10:25

PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 27 Mei 2011

Raydhitya Yoseph 13509092

Makalah Dalvik Virtual Machine Laboratorium Sistem Terdistribusi Tahun 2010/2011

Anda mungkin juga menyukai