Minggu, 06 Maret 2016

PROGRAM JAM SEDERHANA PADA APLIKASI ANDROID STUDIO

Nama/NIM : Lalu Septiyan Adi Wijaya / 1404505111
Jurusan/Fakultas/Perguruan Tinggi : Teknologi Informasi/ Teknik/ Universitas Udayana
Mata Kuliah : Pemrograman Mobile
Dosen : I Putu Agus Eka Pratama, S.T., M.T.




"Membuat  Program Jam Sederhana pada Aplikasi Adroid Studio" 

1. Langkah pertama Buka Android Studio, dan buatlah project baru. Pada contoh kali ini, saya memberikan nama project sebagai TI-CLOCK. Setelah itu click Next.

2. Setelah langkah pertama selesai selanjutnya yaitu menentukan Target Android Device, pada kasus kali ini, saya menggunakan Android versi 4.0.3. Setelah selesai, klik next.

3. Setelah klik next, pilihlah blank activity.

4. Setelah memilih template blank activity, selanjutnya akan di arahkan ke jendela Cuztomize the Activity, biarkan saja settingan default, lalu klik Finish.

5. Selanjutnya akan muncul tampilan utama pada android studio.

6. Untuk membuat sebuah aplikasi jam, carilah bagian palette, lalu pada bagian suh menu Date & time akan terdapat sebuah widget Analog Clock, Drag and drop widget tersebut dan bawa ke areal kerja dari Android Studio.


7. Setelah selesai, run aplikasi, dan akan muncul seperti gambar di bawah ini.


 selamat mencoba kawan-kawan dan semoga bermanfaat terimakasih

Minggu, 28 Februari 2016

Membuat Aplikasi Sederhana Dengan Android Studio

Nama : Lalu Septiyan Adi Wijaya
NIM : 1404505111
Jurusan : Teknologi Informasi, Universitas Udayana
Mata Kuliah : Pemrograman Mobile (C)
Dosen : I Putu Agus Eka Pratama, S.T.,M.T.


1. Pastikan terlebih dahulu komponen-komponen yang di butuhkan sudah terinstall. Kemudian jalankan Android Studio.

2. Apabila anda berada di Welcome to Android Studio bisa memlih Start new Android Studio project.


3. Setelah itu isikan nama project, dan nama domain yang nantinya akan diconvert menjadi nama package. Kalian juga bisa memilih folder lokasi untuk menyimpan project ini. Setelah itu klik Next.


4. Di halaman selanjutnya, anda akan diminta untuk memilih minimum SDK yang akan digunakan. Kesediaan jenis SDK yang muncul di list sesuai dengan SDK apa saja yang telah anda download. Pada Android Studio juga akan otomatis ditampilkan persentase devices yang support dengan SDK yang kalian pilih. Klik Next.


5. Langkah berikutnya, anda akan memilih jenis Activity yang akan ditampilkan pada aplikasi Android. Android Studio menyediakan banyak jenis template untuk tiap-tiap Activity, seperti MapActivity, FragmentActivity, FullScreen, dan lain sebagainya. Untuk keperluan tutorial ini kita pilih saja Empty Activity. Kemudian klik Next.


6. Tahap ke enam adalah memberi nama untuk Activity Android anda, anda hanya perlu mengisi kolom “Activity Name”, dari situ otomatis Android Studio akan meng-generate nama untuk layout dan lain sebagainya. Jika sudah klik Finish.


Setelah tahap-tahap di atas selesai dijalankan, maka kalian akan masuk ke halaman utama Android Studio.


Pada gambar di atas akan terlihat layout dari aplikasi yang sedang anda buat langsung muncul di bagian tengah. Sedangkan pada bagian kiri adalah struktur project dari aplikasi Android yang sedang anda buat. Pada Android Studio, struktur aplikasi akan dibagi menjadi beberapa elemen seperti di bawah :


Pada gambar itu, bisa dilihat struktur aplikasi Android tersebut mempunyai root di folder app, app itu adalah nama module dari aplikasi HelloWorld yang kita buat.

Bisa dilihat juga aplikasi Android di Android Studio mempunyai 3 folder utama, yaitu manifest, java, dan res. Tidak jauh berbeda dengan struktur pada Eclipse. Untuk penjelasannya sebagai berikut :
1. Manifest : berisi file AndroidManifest.xml
2. Java : berisi source code aplikasi Android yang kita buat dalam bentuk file .java. Perlu diketahui ada dua folder androidTest dan main, source code yang kita pakai berada pada folder main, bukan di androidTest.
3. Res : kemudian folder res berisi file-file resource, seperti layout, drawable, dan sebagainya. Untuk file layout dan kebanyakan resource lain, Android menggunakan file .xml. Untuk resource drawable bisa berupa gambar (PNG/JPEG) bisa juga berupa file xml.

Untuk mengubah kata Hello World kita dapat mengubahnya dengan cara klik text pada properties yang berada di pojok kanan. Lalu ubah kata Hello World dengan apa yang anda inginkan


Jika sudah, maka anda bisa menjalankan aplikasi yang telah anda buat. Untuk menjalankan aplikasi cukup dengan menekan Shift + F10, atau dengan mengklik tombol panah hijau pada toolbar bagian atas Android Studio.


Setelah di run maka tab baru yang mengharuskan anda untuk memilih emulator untuk aplikasi yang telah anda buat akan muncul. Maka pilih emulator yang akan di gunakan. Saya menggunakan emulator BlueStack karena menurut saya emulator ini tidak terlalu menggunakan banyak memori. Anda juga dapat memilih emulator bawaan dari Android Studio dengan memilih Launch Emulator beserta API yang akan di gunakan untuk menjalankan aplikasi anda.


Apabila pesan sukses telah muncul maka aplikasi yang telah anda buat akan berjalan dengan.


Selesai, Selamat mencoba.

Cara Install Android Studo DI Windows 7

Nama / NIM : Lalu Septiyan Adi Wijaya / 1404505111
Jurusan / Fakultas / Perguruan Tinggi : Teknologi Informasi / Teknik / Universitas Udayana
Mata Kuliah : Pemrograman Mobile

Dosen : I Putu Agus Eka Pratama, ST., MT.

Sebelum melanjutkan tutorial cara instal android studio di windows pastikan bahwa komputer anda telah terinstal JDK terlebih dahulu. Adapun tahapan instalasi JDK sebagai berikut.
1. Download Java JDK Versi Terbaru
Silahkan men-download versi terbaru dari Java JDK dengan mengunjungi halaman berikut, kemudian memilih Java Platform (JDK) ..

2. Klik dua kali pada file instalasi yang sudah di download dan akan membuka dialog installer java.

3. Klik next, kemudian membaca dan menerima lisensi.

4. Pada layar berikutnya akan terlihat proses instalasi java jdk sedang berjalan dan melihat status instalasi sedang melakukan extracting installer. Tunggu hingga proses ini selelasi.

5. Setelah selesai java akan memunculkan pemeberitahuan bahwa Java SE Development Kit Successfully instaled. Klik pada tombol Close untuk menyelesaikan.

Sampai disini proses install java di windows telah berhasil, 

Setelah selesai menginstall SDK selanjutnya user dapat menginstall aplikasi Android Studio. Adapun tahapan instalasi Android Studio seperti dibawah ini.
Langkah - langkah Instal Android Studio
1. Siapkan file installer Android Studio bisa didapatkan nya di https://developer.android.com/sdk/index.html
2. Jalankan file installer kemudian pilih Next
Cara Instal Android Studio di Windows

3. Pilih komponen yang ingin di instal kemudian Next

Cara Instal Android Studio di Windows

4. Akan muncul License Agreement, pilih I Agree.

Cara Instal Android Studio di Windows

5. Setelah itu akan muncul lagi license dari intel, pilih I Agree 

Cara Instal Android Studio di Windows

6. Setelah itu,pilih lokasi untuk menginstal SDK 

Cara Instal Android Studio di Windows

7.  Kemudian tentukan ukuran RAM yang ingin di pakai

Cara Instal Android Studio di Windows

8. Kemudian pilih Install untuk memulai proses instalasi Android Studio

Cara Instal Android Studio di Windows

9. tunggu proses instal sedang berjalan

Cara Instal Android Studio di Windows

10. Instalasi telah selesai Finish untuk mulai menjalankan android studio

Cara Instal Android Studio di Windows

11. Pada awal penggunaan, biasanya android studio meminta untuk melakukan download beberapa komponen untuk SDK. User harus dalam keadaan online agar proses download dan instal SDK berjalan dengan lancar (Jika sebelumnya user belum menginstall SDK di komputernya)

Cara Instal Android Studio di Windows

12. Setelah semua selesai maka akan muncul jendela welcome dari android studio, maka android studio user telah selesai di instal

Cara Instal Android Studio di Windows

Dan iser bisa langsung membuat project baru untuk memulai membuat aplikasi android menggunakan android studio

Minggu, 21 Februari 2016

Penjelasan Singkat OOP

Nama / NIM : Lalu Septiyan Adi Wijaya / 1404505111
Jurusan / Fakultas / Perguruan Tinggi : Teknologi Informasi / Teknik / Universitas Udayana
Mata Kuliah : Pemrograman Mobile

Dosen : I Putu Agus Eka Pratama, ST., MT.



A. Pengertian OOP (Object Oriented Programming)
OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi. Saya ambil contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu sendiri terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda, baling-baling, kursi, dll. Pesawat sebagai objek yang terbentuk dari objek-objek yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program, sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling berkirim pesan kepada objek yang lain.
B. Konsep OOP (Object Oriented Programming)
1. Kelas Abstrak (Class Abstraksi)
2. Enkapsulasi (encapsulation)
3. Pewarisan (Inheritance)
4. Polimorfisme (polymorphism)

1. Kelas Abstrak (Class Abstraksi)

  • Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
  • Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
  • Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal.
  • Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).

2. Enkapsulasi (encapsulation)

  • Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.
  • Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.
  • Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.
  • Contoh: kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita perlu tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk proses tersebut.

3. Pewarisan (Inheritance)

  • Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
  • Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
  • Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
  • Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kodekode itu.

4. Polimorfisme (polymorphism)

  • Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
  • Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.
  • Method overriding.
  • Method name overloading.

C. Karakteristik OOP (Object Oriented Programming)

  • Semua adalah objek.
  • Komputasi dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan objek yang lain melalui pengiriman dan penerimaan pesan.
  • Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.
  • Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.
  • Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.
  • Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.
  • Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).
  • Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan identitas objek.
  • Operasi merupakan tindakan yang dapat dilakukan oleh sebuah objek.
  • Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat.
  • Informasi yang terkandung pada objek tersebut pada akhirnya memberikan identitas khusus yang membedakan suatu objek dengan objek lainnya.


Contoh Programclass Kendaraan{int posisi1; int kecepatan; int posisi2; int pergerakan;int getPosisi1(){ return posisi1; }void setPosisi1(int theposisi1){ posisi1 = theposisi1; }int getKecepatan(){ return kecepatan; }void setKecepatan(int thekecepatan){ kecepatan = thekecepatan; }posisi2 bergerak(){int jarak; int waktu;posisi2 = getKecepatan * waktu; } }class Mobil extends Kendaraan{ }class KendaraanTestDrive{ Mobil avanza = new Mobil; avanza.setPosisi1(30); avanza.setKecepatan(45); avanza.bergerak(); }

Mobile Computing Dan Mobile Programming

Nama / NIM : Lalu Septiyan Adi Wijaya / 1404505111
Jurusan / Fakultas / Perguruan Tinggi : Teknologi Informasi / Teknik / Universitas Udayana
Mata Kuliah : Pemrograman Mobile

Dosen : I Putu Agus Eka Pratama, ST., MT.


MOBILE COMPUTINNG

Mobile Computing yang dalam pengertiannya adalah menggunakan komputer dimana saja. Jadi kita dapat menggunakan segala fasilitas yang ada pada komputer untuk dapat dibawa kemana saja. Disini saya akan membahas :
·         Definisi Mobile Computing
·         Sejarah & Perkembangan Mobile Computing
·         Jenis Mobile Computing
·         Tool Untuk Mobile Computing      
·         Infrastruktur dari mobile computing
·          Kelebihan & kekurangan

1.    Definisi

adalah kemampuan teknologi untuk menghadapi perpindahan/pergerakan manusia dalam penggunaan komputer secara praktis. Dari pengertian ini kita dapat menyimpulkan bahwa Mobile Computing saat ini memang sangat dibutuhkan, mengingat kebutuhan penggunaan komputer saat ini pun sangat tinggi, sehingga penggunaan Mobile Computing dapat memudahkan para pemakai komputer dalam melakukan segala aktifitasnya dengan menggunakan komputer.

2.    Sejarah & Perkembangan
Perkembangan mobile computer hingga kini sangatlah luar biasa. Hal ini tidak lepas dari perkembangan-perkembangan mobile computer dari waktu ke waktu. Berikut dibahas sedikit mengenai sejarah perkembangan mobile computer, yakni :

·         Dynabook (1968)
Alan kay mengembangkan sebuah komputer portabel yang nantinya menawarkan sebuah media elektronik yang modern yang diperuntukan untuk anak anak. Graphical control interface dengan icon pada Komputer ini merupakan cikal bakal dari system operasi yang ada saat ini.

·         Gir Compass 1100(1982)
Teknologi ini di rancang dan di kembangkan oleh gird sangat terdepan . cover nya dapat dilipat dan teringrasi sebauh flatscreen serta casing dari magnesium yang ultralight. Namun ini di teruskan dan dikembangkan oleh bil moggridge ini terlalu mahal dengan harga mencapai dengan US$ 10.000. hanya kalangan militer AS dan NASA saja yang dapat membelinya.

·         Oseborne 1 (1981)
IBM 1311 diperkenalkan pada tanggal 11 oktober 1962 hardisk ini bisa menyipan sampai dengan 2 juta karakter pada diskpack yang dapat di ganti (1316). Ketebalan hardisk ini mencapai 4 inci dan berat 4,5 kg dan memiliki 6 disk yang berukuran 6 disk yang berukuran 14 inci dan permukaan yang dapat ditulis.

·         Compaq Portable (1983)
Laptop pertama yang kompetibel dengan IBM ditawarkan oleh Compaq. Berat dan tanpa batrai lantaran masih menggunakan system operasi MS DOS laptop ini tidak popular.

·         Gavilan SC (1984)
Touchpad pertama ini ditawarkan oleh laptop Gavilan dan berada di atas keyboard. Model komputer ini sudah dilipat dan menyediakan laya LCD serta processor intel 80168 yang kompetibel dengan harga MS DOS.

·         Bondwell 2 (1985)
Walaupun era CP /M yang sudah lewat tetapi kehadiran ini tetap sukses dengan RAM sebesar 64 Kb floppy drive 3.5 inci dan layer LCD laptop ini menjadi jawara di eranya.

·         COMPAQ SLT 286 (1988)
Laptop pertama yan sudah dilengkapi dengan batrai hardisk dan LCD. Layarnya menawarkan resolusi VGA penuh.notebook ini ditujukan untuk kalangan bisnis. Tidak heran harganya mencapai harga mobil pada saat itu.

·         Sharp Multicolor 386 PC 8041(1990)
Dengan spec :
-Prosesor : Intel 80386
-Frekuensi clock 20 mhz
-Ram 2MB
-Harddrive 40 mb
-Harga US$23.00

·         USB interface (1997)
Setelah penganalan port interface USB hamper semua perangkat terhubung dengan notebook computer portable mendadak menjadi universal.

·         WLAN untuk semua (1999)
Berkat penggunaan WLAN notebook kini tidak lagi statis hotspot menghubungkan perangkat ini ke internet dan jaringan kantor serta dapat diakses dimana saja.

3.    Jenis Mobile Computing
·         Laptop merupakan komputer portabel, kecil dan dapat dibawa kemana saja dengan sangat mudah yang terintegrasi pada sebuah casing. Berat laptop berkisar dari 1 sampai 6 kilogram tergantung ukurannya, bahan dan spesifikasi. Sumber listrik berasal dari baterai atau A/C adaptor yang dapat digunakan untuk mengisi ulang baterai dan untuk menyalakan laptop itu sendiri. Laptop kegunaannya sama dengan Komputer desktop, yang membedakannya hanya ukuran sehingga memudahkan pemakai untuk membawanya kemana-mana.
·         Wearable Computer atau komputer yang dipakaikan di tubuh manusia. Contohnya adalah Computer Gletser Ridgeline W200. W200 ini terbuat dari paduan magnesium bertulang yang memaksimalkan kekuatan dan meminimalkan berat keseluruhan. Pada hanya 10,2 ons dan dibentuk pada kontur lengan, W200 yang mengkombinasikan fitur yang sama dari sebuah komputer standar dengan sebuah perangkat yang memberikan kenyamanan dan ergonomis pergelangan tangan instrumen aus. W200 ini memiliki sebuah 3.5 “layar warna dengan layar sentuh, keyboard backlit dan baterai hot swappable. Fungsi nirkabel dari W200 memastikan konektivitas berkelanjutan terlepas dari lokasi pengguna dengan plug and play Wi-Fi, Bluetooth dan modul GPS. Menggunakan CE Windows atau sistem operasi Linux, unit cepat dapat dikonfigurasi untuk mengakses sistem host remote melalui kabel terintegrasi atau antarmuka nirkabel. Operasi bebas dari tangan-W200 yang mengatasi keterbatasan fisik yang terkait dengan komputer genggam normal. Hal ini memungkinkan pengguna kebebasan penuh untuk melanjutkan kegiatan sehari-hari dengan menggunakan kedua tangan sedangkan komputer memiliki akses penuh pada setiap saat. Selain kompas elektronik, sistem juga mengintegrasikan fitur terbaru dan paling inovatif, seperti tilt dan perhitungan diam, yang memungkinkan penghematan baterai kritis ketika unit tidak digunakan. Kegunaan tangan-bebas dari W200 membuatnya kepentingan khusus untuk Layanan Darurat, Keamanan, Pertahanan, Gudang, Lapangan Logistik dan setiap wilayah di mana akses ke sejumlah besar informasi yang diperlukan. W200 punggung bukit itu bergabung baris gletser saat komputer kasar dikembangkan untuk pengumpulan data.
·          PDA(Personal Digital Assistants) adalah sebuah alat elektronik yang berbasis komputer dan berbentuk kecil serta dapat dibawa kemana-mana.  Menurut  sepengetahuan saya PDA banyak digunakan sebagai pengorganisir pribadi pada awalnya, tetapi karena perkembangannya, kemudian bertambah banyak fungsi kegunaannya, seperti kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet, penerima dan pengirim surat elektronik (e-mail), penerima radio, perekam video, dan pencatat memo. Selain dari itu dengan PDA (komputer saku) ini, kita dapat menggunakan buku alamat dan menyimpan alamat, membaca buku-e, menggunakan GPS dan masih banyak lagi fungsi yang lain. Bahkan versi PDA yang lebih canggih dapat digunakan sebagai telepon genggam, aksesinternet, intranet, atau extranet lewat Wi-Fi atau Jaringan Wireless. Salah satu ciri khas PDA yang paling utama adalah fasilitas layar sentuh

·         SmartPhone adalah ponsel yang menawarkan kemampuan canggih, boleh dikata kemampuannya menyerupai kemampuan PC (komputer). Umumnya suatu ponsel dikatakan sebagai smartphone bila dapat berjalan pada software operating system yang lengkap dan memiliki interface danplatform standar bagi pengembang aplikasi. Sementara itu ada yang mengatakan smartphone adalah ponsel sederhana dengan fitur canggih seperti kemampuan mengirim dan menerima email, menjelajah internet dan membaca e-book, built in full keyboard atau external USB keyboard,atau memiliki konektor VGA. Dengan kata lain, smartphone adalah miniatur komputer dengan kemampuan ponsel .

4.    Tool untuk Mobile Computing
- GPS (Global Positioning System)
- Wireless (Acess)
- GIS (Location)

Contoh-contoh-Applikasi Mobile Computing : BBM(Blackberry Massanger), WhatsApp, Bayar listrik online, dll.
Hardware & Software
Dengan dukungan Mobile Computing, seseorang dimanapun berada, tetap dapat bekerja dan melakukan aktifitas business dengan konsep Mobile Computing
- Mobile/Migrasi
- Security
- Authentication
- Privacy


Hardware Computing :
- Laptop (Computing Unit)
- LCD (Display Unit)
- Wireless (Comunication Unit)


Sofware Computing :
- Operating System
- GUI
- Application, Cell phone application, Calendar dll
- Java ME, Popular untuk game
- Mobile Operation System
Mobile Operation System :
- Java Mobile
- Symbian for Nokia
- Android berbasis Linux
- I phone mac OSX
- Palm OS (PDA)
- Blackberry System
- Dll
5.   Kelebihan & kekurangan
Kelebihan Mobile Computing
- Aplikasi yang luas
- Bergerak/berpidah lokasi secara bebas
- Bebas berpindah jaringan

Kekurangan Mobile Computing
Minimnya Bandwith
Akses internet pada peralatanini lambat jika dibandingkan dengan akses dengan kabel, akan tetapi dengan menggunakan teknologi GPRS, EDGE dan jaringan 3G, LAN Nirkabel berkecepatan tinggi tidak terlalu mahal tetapi memiliki bandwith terbatas.
Konsumsi tenaga
Mobile computing sangat bergantung pada daya tahan baterai.
Gangguan Transmisi
Jarak dengan pemancar sinyal dan cuaca sangat mempengaruhi transimis data pada mobile computing.
Potensi Terjadinya Kecelakaan
Beberapa kecelakaan akhir2 ini kerap disebabkan oleh pengendara yang menggunakan peralatan mobile computing saat berkendara

MOBILE PROGRAMMING

Pemrograman Mobile adalah pemrograman yang ditujukan untuk pembuatan aplikasi diperangkat mobile yang dapat kita buat dengan menggunakan Java. Keterbatasan yang sangat umum dalam bahasa pemrograman untuk peralatan mobile adalah kendala dalan segala dalam hal sumber daya, seperti ukuran layar, memori, CPU, penyimpanan dan cara menginput data. Perbedaan tampilan juga disebabkan adanya perbedaan hardware dan API yang di gunakan. Berikut macam-macam Mobile Programming untuk ponsel :
         a.   J2ME
         b.   C++
         c.   Objective C
         d.   C#.
         e.   Javafx
         f.   PHP


Bagian Pendukung Mobile Programming
Emulator
Aplikasi yang memungkinkan sebuah software dari sebuah platform berjalan di atas platflorm lain. Emulator menjalankan kode-kode software pada virtual machine. Sehingga software tersebut mengira bahwa Ia sedang berjalan di atas platform aslinya.Sebagai contoh suatu program Windows dapat dijalankan di sistem operasi Linux dengan menggunakan piranti lunak emulator Wine. Ada pula program yang mengemulasikan suatu komputer dalam komputer, misalnya VMware. Contoh lain adalah program-program emulator untuk menjalankan permainan komputer yang awalnya hanya bisa dijalankan pada konsolnya masing-masing, misalnya Nintendo, Atari, PlayStation, XBox dan lain-lain.

WAP
Teknologi WAP (Wireless Aplication Protocol ) merupakan sebuah metode untuk menghadirkan halaman web di dalam layar Ponsel (Telepon Seluler). Dengan begitu, maka bentuk informasi dari sebuah instansi tidak hanya ditampilkan dengan metode Web yang hanya dapat di akses melalui Browser, akan tetapi dapat ditampilkan dalam bentuk WAP yang dapat dilihat dengan ponsel. Dengan adanya dukungan GPRS dari pesawat Handphone, maka memungkinkan kita untuk mengakses semua informasi yang disajikan dalam internet dalam bentuk WAP. WAP dapat dibuat dengan menggabungkan pemrograman WML (Wireless Markup Language)dengan pemrograman PHP sehingga dapat menghadirkan aplikasi WAP yang dinamis.


VIRTUAL MACHINE 

Virtual machine (VM) adalah suatu environment, biasanya sebuah program atau sistem operasi, yang tidak ada secara fisik tetapi dijalankan dalam environment lain. Dalam konteks ini, VM disebut “guest” sementara environment yang menjalankannya disebut “host”. Ide dasar dari virtual machine adalah mengabtraksi perangkat keras dari satu komputer (CPU, memori, disk, dst) ke beberapa environment eksekusi, sehingga menciptakan illusi bahwa masing-masing environment menjalankan komputernya (terpisah) sendiri. VM muncul karena pada satu komputer. Virtual Machine (VM) sendiri mulai dikenalkan oleh IBM ketika meluncurkansistem operasi mainframenya pada tahun 1965-an. Diperkenalkan untuk sistem S/370 dan S/390 dan disebut sebagai sistem operasi VM/ESA (Enterprise System Architecture).
     Teknologi virtual machine memiliki banyak kegunaan seperti memungkinkan konsolidasi perangkat keras, memudahkan recovery sistem, dan menjalankan perangkat lunak terdahulu. Salah satu penerapan penting dari teknologi VM adalah integrasi lintas platform. Beberapa penerapan lainnya yang penting adalah:
a. Konsolidasi server
Jika beberapa server menjalankan aplikasi yang hanya memakan sedikit sumber daya, VM dapat digunakan untuk menggabungkan aplikasi-aplikasi tersebut sehingga berjalan pada satu server saja, walaupun aplikasi tersebut memerlukan sistem operasi yang berbeda-beda.
b. Otomasi dan konsolidasi lingkungan pengembangan dan testing
Setiap VM dapat berperan sebagai lingkungan yang berbeda, ini memudahkan pengembang sehingga tidak perlu menyediakan lingkungan tersebut secara fisik.
c. Menjalankan perangkat lunak terdahulu
Sistem operasi dan perangkat lunak terdahulu dapat dijalankan pada sistem yang lebih baru.
d. Memudahkan recovery sistem
Solusi virtualisasi dapat dipakai untuk rencana recovery sistem yang memerlukan portabilitas dan fleksibilitas antar platform.
e. Demonstrasi perangkat lunak
Dengan teknologi VM, sistem operasi yang bersih dan konfigurasinya dapat disediakan secara cepat.
Contoh virtual machine : Vmware, Xen VMM , Java VM

Jenis-jenis dari Virtual Machine
VM sistem di mana sebuah VM dapat menjalankan sebuah sistem operasinya sendiri.
VM proses di mana VM hanya menjalankan sebuah proses saja.
Kemudian VM juga dibagi berdasarkan tingkat virtualisasinya:
Virtualisasi penuh yang mensimulasikan seluruh fitur perangkat keras sehingga memungkinkan  perangkat lunak berjalan pada VM tanpa modifikasi.
Virtualisasi paruh, di mana tidak semua fitur perangkat keras disimulasikan.
Virtualisasi asli, yang mana merupakan virtualisasi penuh yang digabungkan dengan bantuan perangkat keras yang mendukung virtualisasi.

Kelebihan dan Kekurangan Virtual Machine
Kelebihan virtual machine :

Hal keamanan
VM memiliki perlindungan yang lengkap pada berbagai sistem sumber daya, yaitu dengan meniadakan pembagian sumber daya secara langsung, sehingga tidak ada masalah proteksi dalam VM. Sistem VM adalah kendaraan yang sempurna untuk penelitian dan pengembangan sistem operasi. Dengan VM, jika terdapat suatu perubahan pada satu bagian dari mesin, maka dijamin tidak akan mengubah komponen lainnya.

Memungkinkan untuk mendefinisikan suatu jaringan dari Virtual Machine (VM)
Tiap-tiap bagian mengirim informasi melalui jaringan komunikasi virtual. Sekali lagi, jaringan dimodelkan setelah komunikasi fisik jaringan diimplementasikan pada perangkat lunak.

Kekurangan virtual machine :

Sistem Penyimpanan
Sebagai contoh kesulitan dalam sistem penyimpanan adalah sebagai berikut: Andaikan kita mempunyai suatu mesin yang memiliki 3 disk drive namun ingin mendukung 7 VM. Keadaan ini jelas tidak memungkinkan bagi kita untuk dapat mengalokasikan setiap disk drive untuk tiap VM, karena perangkat lunak untuk mesin virtual sendiri akan membutuhkan ruang disk secara substansial untuk menyediakan memori virtual dan spooling. Solusinya adalah dengan menyediakan disk virtual atau yang dikenal pula dengan minidisk, dimana ukuran daya penyimpanannya identik dengan ukuran sebenarnya. Dengan demikian, pendekatan VM juga menyediakan sebuah antarmuka yang identik dengan perangkat keras yang mendasari.

Pengimplementasian Sulit
Meski konsep VM cukup baik, namun VM sulit diimplementasikan.