Mobile adalah perangkat yang bergerak, misalnya telepon seluler atau komputer bergerak
yang digunakan untuk mengakses jasa jaringan. Jadi mobile programming adalah program yg di
gunakan utk perangkat mobile.
1. J2ME , ini rasanya paling umum dan paling banyak HP yang support teknologi ini, blackberry
pun masih menggunakan J2ME dengan tambahan API
4. Objective C (mirip C tapi beda struktur bahasa program ) , ini untuk iphone,dan hanya bisa
didevelop via OS Macintosh
Perangkat Mobile
Perangkat mobile memiliki banyak jenis dalam hal ukuran, desain, dan layout tetapi
mereka memiliki kesamaan karakteristik yang sangat berbeda dari system desktop.
Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan perangkat yang
terkecil untuk kenyamanan dan mobilitas mereka.
Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan
secondary(disk). Pembatasan ini adalah salah satu faktor yang mempengaruhi penulisan program
untuk berbagai jenis dari perangkat ini. Dengan pembatasan jumlah dari memory, pertimbangan -
pertimbangan khusus harus diambil untuk memelihara pemakaian dari sumber daya yang mahal
ini.
Sistem mobile tidaklah setangguh rekan mereka yaitu desktop. Ukuran, teknologi dan biaya
adalah beberapa faktor yang mempengaruhi status dari sumber daya ini. Seperti hardisk dan
RAM, Anda dapat menemukan mereka dalam ukuran yang pas dengan sebuah kemasan kecil.
Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin desktop. Perangkat
ini harus menghemat daya karena mereka berjalan pada keadaan dimana daya yang disediakan
dibatasi oelh baterai - baterai.
karena perangkat mobile selalu dibawa kemana saja, mereka harus cukup kuat untuk
menghadapi benturan - benturan, gerakan, dan sesekali tetesan air.
perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan tidak tersambung.
Kebanyakan dari mereka menggunakan koneksi wireless
Perangkat - perangkat konsumen ini menyala dalam hitungan detik kebanyakan dari mereka
selalu menyala. Coba ambil kasus sebuah handphone, mereka booting dalam hitungan detik dan
kebanyakan orang tidak mematikan handphone mereka bahkan ketika malam hari. PDA akan
menyala jika anda menekan tombol power mereka.
Mobile Computers :
1. Notebook PC
2. Ultra-Mobile PC
3. Handheld PC
4. Personal Digital Assistant / enterprice Digital Assistant
5. Graphing Calculator
6. Pocket Computer
1. Nintendo DS (NDS)
2. Gane Boy, Game Boy Color
3. Game Boy Anvance
4. Sega Game Gear
5. Pokemon Mini
6. NeoGeo Pocket, NeoGeo Color
7. Atari Lynx
8. Pandora
9. GP2x / GP32
10. Gizmondo
11. PlayStasion Portable (PSP)
12. N-Gage
Media Recorders :
Communication Devices :
1. Mobile Phone
2. Cardless Telephone
3. Pager
Penggunaan
Pengguna dapat menonton teloivisi melalui internet dan perngakat mobile. Handphone
penerima televise sudah ada dari sejak 1960-an, dan pada abad ke-21 penyedia ponsel mulai
membuat televise tersedia di telepon selular.
Web operator situs mengembangkan perngakat pendetekdi genggam perngakat lunak untuk
memastikan bahwa versi yang benar dari situs web yang dikirim ke perangkat mobile yang
benar.
Keterbatasan yang sangat umum dalam bahasa pemrograman untuk peraltan 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.
PEMROGRAMAN MOBILE
Posted by : Agus Prasetya Selasa, 12 Agustus 2014
JAVA
Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan
program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-
metode yang melakukan pekerjaan dan mengembalikan informasi setelah
melakukan tugasnya. Para pemrogram Java banyak mengambil keuntungan dari
kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application
Programming Interface (API). Kelas-kelas ini diorganisasikan menjadi sekelompok
yang disebut paket(package). Java API telah menyediakan fungsionalitas yang
memadai untuk menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang
harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan bagaimana
mempergunakan kelas pada Java API. Kelas merupakan satu-satunya cara
menyatakan bagian eksekusi program, tidak ada cara lain. Pada Java program javac
untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode
sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan
file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama
sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java.
Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana. Java
dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak
menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak
pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang
digantikan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi
pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa
Java namun harus waspada karena mungkin Java mengambil arah (semantiks) yang
berbeda dibanding C++.
Java merupakan bahasa berorientasi objek (OOP) yaitu cara ampuh dalam
pengorganisasian dan pengembangan perangkat lunak. Pada OOP, program
komputer sebagai kelompok objek yang saling berinteraksi. Deskripsi ringkas OOP
adalah mengorganisasikan program sebagai kumpulan komponen, disebut objek.
Objek-objek ini ada secara independen, mempunyai aturan-aturan berkomunikasi
dengan objek lain dan untuk memerintahkan objek lain guna meminta informasi
tertentu atau meminta objek lain mengerjakan sesuatu. Kelas bertindak sebagai
modul sekaligus tipe. Sebagai tipe maka pada saat jalan, program menciptakan
objek-objek yang merupakan instan-instan kelas. Kelas dapat mewarisi kelas lain.
Java tidak mengijinkan pewarisan jamak namun menyelesaikan kebutuhan
pewarisan jamak dengan fasilitas antarmuka yang lebih elegan.
Seluruh objek diprogram harus dideklarasikan lebih dulu sebelum digunakan. Ini
merupakan keunggulan Java yaitu Statically Typed. Pemaksaan ini memungkinkan
kompilator Java menentukan dan melaporkan terjadinya pertentangan
(ketidakkompatibelan) tipe yang merupakan barikade awal untuk mencegah
kesalahan yang tidak perlu (seperti mengurangkan variabel bertipe integer dengan
variabel bertipe string). Pencegahan sedini mungkin diharapkan menghasilkan
program yang bersih. Kebaikan lain fitur ini adalah kode program lebih dapat
dioptimasi untuk menghasilkan program berkinerja tinggi.
Java menggunakan model pengamanan tiga lapis (three-layer security model) untuk
melindungi sistem dari untrusted Java code. Pertama, bytecode
verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi
aturan-aturan dasar bahasa Java. Kedua, class loader menangani pemuatan kelas
Java ke runtime interpreter. Ketiga, manajer keamanan menangani keamanan
tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber
daya seperti sistem file, port jaringan, proses eksternal dan sistem window.
Platform independence adalah kemampuan program bekerja di sistem operasi yang
berbeda. Bahasa Java merupakan bahasa yang secara sempurna tidak bergantung
platform. Tipe variabel Java mempunyai ukuran sama di semua platform sehingga
variabel bertipe integer berukuran sama tidak peduli dimana program java
dikompilasi. Begitu telah tercipta file .class dengan menggunakan kompilator Java di
platform manapun, maka file .class tersebut dapat dijalankan di platform manapun.
Jadi dimanapun dibuat, dimanapun dapat dijalankan. Slogan ini biasa diringkas
sebagaiWrite Once, Run Anywhere (WORA).
Java termasuk bahasa Multithreading. Thread adalah untuk menyatakan program
komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java
menyediakan kelas untuk menulis program multithreaded, program mempunyai
lebih dari satu thread eksekusi pada saat yang sama sehingga memungkinkan
program menangani beberapa tugas secara konkuren.
Program Java melakukan garbage collection yang berarti program tidak perlu
menghapus sendiri objek-objek yang tidak digunakan lagi. Fasilitas ini mengurangi
beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi
sumber kesalahan terbesar yang terdapat di bahasa yang memungkinkan alokasi
dinamis.
Java mempunyai mekanisme exception-handling yang ampuh. Exception-
handling menyediakan cara untuk memisahkan antara bagian penanganan
kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode
program yang lebih bersih dan menjadikan aplikasi lebih tegar. Ketika kesalahan
yang serius ditemukan, program Java menciptakan exception. Exception dapat
ditangkap dan dikelola program tanpa resiko membuat sistem menjadi turun.
Program Java mendukung native method yaitu fungsi ditulis di bahasa lain, biasanya
C/C++. Dukungan native method memungkinkan pemrogram menulis fungsi yang
dapat dieksekusi lebih cepat dibanding fungsi ekivalen di java. Native
method secara dinamis akan di-link ke program java, yaitu diasosiasikan dengan
program saat berjalan.
Selain itu keuntungan menggunakan bahasa pemrograman Java antara lain
memori pada Java secara otomatis dilengkapi garbage collector yang berfungsi
mendealokasi memori yang tidak diperlukan. Tidak ada lagi upaya yang dilakukan
pemrogram untuk melakukan dispose(). Kita tidak lagi dibebani urusan korupsi
memori. Java menerapkan array sebenarnya, menghilangkan keperluan aritmatika
pointer yang berbahaya dan mudah menjadi salah. Menghilangkan pewarisan
jamak (multiple inheritance) diganti fasilitas antarmuka. Dan mudah dijalankan
diberbagai platform.
Grafical User Interface (GUI) adalah salah satu kemampuan Java dalam mendukung
dan manajemen antarmuka berbasis grafis. Tampilan grafis yang akan ditampilkan
terhubung dengan program serta tempat penyimpanan data. Elemen dasar di Java
untuk penciptan tampilan berbasis grafis adalah dua paket yaitu AWT dan
Swing. Abstract Windowing Toolkit (AWT), atau disebut juga Another Windowing
Toolkit, adalah pustaka windowing bertujuan umum dan multiplatform serta
menyediakan sejumlah kelas untuk membuat GUI di Java. Dengan AWT, dapat
membuat window, menggambar, manipulasi gambar, dan komponen seperti Button,
Scrollbar, Checkbox, TextField, dan menu pull-down.
Penggunaan komponen AWT ditandai dengan adanya
instruksi : import java.awt.*; Swing merupakan perbaikan kelemahan di AWT.
Banyak kelas swing menyediakan komponen alternatif terhadap AWT. Contohnya
kelas JButton swing menyediakan fungsionalitas lebih banyak dibanding
kelas Button. Selain itu komponen swing umumnya diawali dengan huruf J,
misalnya JButton, JTextField, JFrame, JLabel, JTextArea, JPanel, dan sebagainya.
Teknologi swing menggunakan dan memperluas gagasan-gagasan AWT. Sementara,
penggunaan komponen Swing ditandai dengan adanya
instruksi : importjavax.swing.*;
Beberapa perbedaan AWT dan Swing, AWT merupakan
komponen heavyweight (kelas berat) sedangkan Swing lightweight (kelas ringan).
Swing memiliki lebih banyak komponen. Fasilitas SwingLook and Feel : Metal,
Windows, Motif. Komponen Swing berdasar model-view, yaitu suatu cara
pengembangan komponen dengan pemisahan penyimpanan dan penanganan data
dari representasi visual data.
Pemrograman Mobile
23.09 No comments
Mobile Programming
2. Perangkat Mobile
a. Ukuran Yang Kecil Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan
perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
J2ME
1. Pengertian J2ME
J2ME (Java 2 Micro Edition) merupakan subset dari J2SE yang ditujukan untuk implementasi
pada peralatan embeded system dan handheld yang tidak mampu mendukung secara penuh
implementasi menggunakan J2SE.
J2ME adalah teknologi Java yang diperuntukkan perngkat-perngakat kecil consumer device,
terutama wireless. Bebrapa perangkat wireless antara lain PC, PDA, communicator, embedded
device, smart card dan ponsel. Teknologi Java mungkin merupakan satu-satunya cara
memprogram beberapa perangkat, berbagi logic antara perangkat dan server, pengantaran
aplikasi secara dinamis, program yang kompak, lingkungan pengembangan yang aman dan
cepat. J2ME memungkinkan perangkat lunak dapat di-download perangkat sekaligus
memungkinkan layanan yang dapat disesuaikan di beragam perangkat. J2ME menyediakan
platform standar untuk pengembangan perangkat wireless. J2ME terdiri atas perangkat-
perangkat komponen sebagai berikut:
1. Java Virtual Machine (JVM), komponen untuk menjalankan program-program Java pada
emulator atau handheld device.
3. Tools lain untuk mengembangkan Java, semacam emulator Java Phone, Emulator Nokia,
Emulator Siemens dan Emulator Motorola.
2. J2ME Configuration
J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime. Oleh karena setiap
handheld device memiliki fitur-fitur yang berbeda-beda, J2ME Configuration ini dirancang
yaitu menyediakan library standar yang mengimplementasikan fitur standar dari sebuah
Handled device.
Digunakan untuk aplikasi java pada perangkat-perangkat keras dengan ukuran memori yang
sangat terbatas, yaitu pada kisaran 160 samapi 512 KiloBytes, seperti handphone, organizer atau
PDA seperti PALM, Poket PC dan two way pagers.
Digunakan untuk aplikasi Java pada Handheld devices dengan ukuran memori paling tidak 2
Megabytes, seperti : Internet TV, Nokia, Communicator dan car television.
3. J2ME Profile
J2ME Profile mengimplementasikan kemampuan / fitur lain yang sangat bergantung pada jenis
handheld yang digunakan.
MIDP menyediakan librari-librari java untuk implementasi dasar antarmuka (GUI), imp-
lementasi jaringan (networking), database dan timer. MIDP dirancang khususnya untuk
wireless phone dan pager.
b. Foundation Profile
Standar grafik, Generasi selanjutnya dari lingkungan personal java, dan RMI yang support
untuk CDC dan profile standart device.
a. Walled garden application yaitu aplikasi yang berdiri sendiri atau standalone yang berjalan
pada handphone tanpa perlu mengakses sumber data eksternal melalui jaringan pembawa atau
carier network. Contoh dari aplikasi ini adalah kalkulator atau single player games.
b. Network aware application yaitu aplikasi yang berinteraksi dengan jaringan. Tidak seperti
aplikasi pertama, aplikasi ini memiliki kemampuan untuk mengakses sumber daya eksternal.
Contoh dari aplikasi jenis ini adalah aplikasi email yang berada pada handphone, aplikasi untuk
mendapatkan kembali data alamat-alamat yang tersimpan melalui jaringan, dan pengiriman
email berbagai alamat melalui jaringan data.
MIDlet
MIDlet merupakan aplikasi yang dijalankan pada sebuah perangkat handheld. MIDlet tidak
berinteraksi langsung dengan hardware dari handheld devices, melainkan berinteraksi melalui
AMS (Application Management Software). AMS inilah yang akan menerima sinyal dari MIDlet
bahwa MIDlet akan dijalakan atau berhenti.
b. Javax.microedition.lcdui, merupakan package yang berisi kelas-kelas yang user interface dan
pemrograman GUI.
d. Javax.io, java.lang and java.util, merupakan package yang berisi I/O, language dan kelas-
kelas utility.
a. Retrieval
AMS menerima MIDlet kemudian disimpan didalam memori. Media untuk mendowload MIDlet
dapat berupa : Kabel serial, port IRDA, atau jaringan wireless.
b. Instalation
Setelah MIDlet di-download, AMS akan menginstall MIdlet Pada Device. Selama proses
instalasi, MIDP akan menjamin MIDlet tidak melanggar akses security.
c. Version Management
AMS akan menyimpan semau informasi mengenai MIDlet yang telah diinstal termasuk
informasi versinya. Ini akan berguna untuk meng-upgrade MIDletke versi baru.
d. Removal
AMS akan menghapus MIDlet dan membersihkan alokasi memori yang digunakan.
Setelah di-Launch oleh AMS Midlet akan berada dalam tiga status berikut :
a. Paused
Status ini terjadi ketika MIDlet selesai disosialisasikan dan tidak melakukan aksi apapun.
b. Active
Status ini terjadi ketika MIDlet sedang berjalan dengan normal, yakni setelah memanggil fungsi
MIDlet.startApp()
c. Destroyed
Status ini terjadi ketika MIDlet berhenti berjalan (exit), sehingga seluruh sumber daya yang
digunakan akan dibebaskan. Status ini terjadi ketika berhasil dilakukan pemanggilan fungsi
MIDlet.destroyApp() atau MIDlet.notifyDestroyed().
b. Testing.
c. Packaging
Merupakan operasi terakhir untuk membungkus aplikasi MIDlet menjadi file JAR dan file JAD.
d. Running
sumber: http://tahuajah.blogspot.com/2014/08/mobile-programming.html
Pemrograman Mobile
Java Mobile
J2ME
o Tools lain untuk mengembangkan Java, semacam emulator Java Phone, Emulator
Nokia, Emulator Siemens dan Emulator Motorola.
C++
Objective-C
Objective-C menurut adalah bahasa pemrograman native utama yang
dipakai untuk membuat aplikasi Mac. Bahasa ini diextend dari bahasa C yang
menggunakan style dari Smalltalk. Semua syntax untuk operasi non object
oriented hampir sama dengan C, sedangkan untuk operasi object oriented
mengimplementasi dari style Smalltalk. Jadi, sebaiknya anda mempunyai
dasar yang cukup dalam pemrograman bahasa C.
C#
C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem
klien-server (hosted system) maupun sistem embedded (embedded system), mulai dari perangkat
lunak yang sangat besar yang menggunakan sistem operasi yang canggih hingga kepada
perangkat lunak yang sangat kecil yang memiliki fungsi-fungsi terdedikasi.
Javafx
PHP
MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah
bagian dari class javax.microedition.midlet.MIDlet yang didefinisikan pada
MIDP. MIDlet berupa sebuah class abstrak yang merupakan subclass dari
bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2ME dan aplikasi
manajemen pada perangkat bisa terbentuk.
MIDlet terdiri dari beberapa method yang harus ada, yaitu contructor(),
protected void startApp() throws MIDletStateChangeException, protected
void pauseApp(), protected void destroyApp (Boolean unconditional) throws
MIDletStateChangeException.
Sumber
http://fatkhurrizq.blogpsot.com/
http://absurdinfo.blogspot.com/