Pemrograman Mobile
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 :
-
J2ME
-
C++
-
Objective
C
-
C#.
-
Javafx
-
PHP
Java Mobile
Java
adalah sebuah bahasa pemrograman pada komputer sama seperti pendahulunya
c++.Bahasa pemrograman ini dikembangkan pada tahun 1995 oleh Sun
microsystems. Awalnya java diciptakan pada tahun 1991 oleh Patrick Naughton,
Mike Sheridan, James Gosling dan Bill Joy beserta programer dari Sun Microsystems.
Uniknya nama java diambil dari nama pulau jawa ( bahasa inggris dari jawa )
karena James Gosling " Bapak Java " menyukai kopi tubruk yang berasal
dari pulau Jawa . Jadi kita perlu berbangga menjadi warga negara Indonesia.
Java sendiri merupakan bahasa pemrograman yang berbasis objek,maksudnya adalah
semua aspek yang terdapat pada java adalah objek sehingga sangat memudahkan
untuk mendesain, membuat dan mengembangkan program java dengan cepat.
Sedangkan dalam artian lain Java adalah bahasa pemrograman yang multi platform dan multi
device. Sekali anda menuliskan sebuah program dengan menggunakan Java, anda
dapat menjalankannya hampir di semua komputer dan perangkat lain yang support
Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya.
Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa
dijalankan dengan Java Virtual Machine. Fungsionalitas dari Java ini dapat
berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum
dan non-spesifik. Slogan Java adalah “Tulis sekali, jalankan di manapun”.
Sekarang ini Java menjadi sebuah bahasa pemrograman yang populer dan
dimanfaatkan secara luas untuk pengembangan perangkat lunak. Kebanyakan
perangkat lunak yang menggunakan java adalah ponsel feature dan ponsel pintar
atau smartphone.
J2ME
J2ME adalah
lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak Java
pada barang elektonik beserta perangkat pendukungnya. J2ME membawa Java kedunia
informasi, komunikasi, dan perangkat komputasi selain perangkat
komputer desktop yang biasanya lebih kecil dibandingkan perangkat
komputer desktop. J2ME biasa digunakan pada ponsel, peger, PDA dan sejenisnya.(M.
Salahuddin, Rosa A.S, 2006:5).
Menurut
(Budi Raharjo 2007:3) J2ME merupakana kombinasi yang terbentuk antara
sekumpulan interface Java yang sering disebut Java API (application Programming
Interface) dengan JVM (Java Virtual Machine) yang didisain khusus untuk alat,
yaitu JVM dengan ruang yang terbatas. Kombinasi tersebut kemudian digunakan
untuk melakukan pembuatan aplikasi-aplikasi yang dapat berjalan diatas alat
(dalam hal ini mobile device).
J2ME
merupakan sebuah kombinasi yang terbentuk antara sekumpulan interface Java yang
sering disebut dengan Java API dengan JVM (Java Virtual Machine) yang didesain
khusus untuk alat yang memiliki ruang yang terbatas dan berukurang kecil. J2ME
di desain khusus untuk perangkat-perangkat komputasi yang berukuran kecil
terutama wireless seperti handphone, PDA, smartphone, embedded device dll, J2ME
memiliki konfigurasi dan profile yang mendefinisikan kelas Java API yang dapat
digunakan oleh aplikasi. dengan menyediakan platform standar untuk pengembangan
perangkat wireless, J2ME terdiri atas perangkat-perangkat komponen sebagai
berikut:
- Java Virtual Machine (JVM), komponen untuk menjalankan program-program Java pada emulator atau handheld device.
- Java Application Programming Interface (API), merupakan kumpulan library untuk menjalankan dan mengembangkan program Java pada Handheld Devices.
- Tools lain untuk mengembangkan Java, semacam emulator Java Phone, Emulator Nokia, Emulator Siemens dan Emulator Motorola.
C++
Menurut wikipedia C++ adalah bahasa pemrograman komputer yang di buat oleh
(Bjarne Stroustrup) merupakan perkembangan dari bahasa C dikembangkan di Bell
Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa itu diturunkan dari
bahasa sebelumnya, yaitu B, Pada awalnya, bahasa tersebut dirancang sebagai
bahasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya,
versi ANSI (American National Standart Institute) Bahasa pemrograman C menjadi
versi dominan, Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan
sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup pada Bel
labs pertama kali mengembangkan C++ pada awal 1980-an. Untuk mendukung
fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman
tingkat rendah (low level coding). Pada C++ ditambahkan konsep-konsep baru
seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Salah
satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap
konsep pemrograman berorientasi objek (Object Oriented Programming)
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#
Menurut wikipedia C# merupakan sebuah bahasa
pemrograman yang
berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari
inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan
bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang
terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual
Basic, dan lain-lain) dengan beberapa penyederhanaan. Menurut
standar ECMA-334 C# Language Specification, nama C# terdiri atas sebuah
huruf Latin C (U+0043) yang diikuti oleh tanda pagar yang menandakan
angka # (U+0023). Tanda pagar # yang digunakan memang bukan tanda
kres dalam seni musik, dan tanda pagar # tersebut digunakan karena karakter
kres dalam seni musik tidak terdapat di dalam keyboard standar.
Standar European Computer
Manufacturer Association (ECMA) mendaftarkan beberapa tujuan desain dari bahasa
pemrograman C#, sebagai berikut:
- Bahasa pemrograman C# dibuat sebagai bahasa pemrograman yang bersifat bahasa pemrograman general-purpose (untuk tujuan jamak), berorientasi objek, modern, dan sederhana.
- Bahasa pemrograman C# ditujukan untuk digunakan dalam mengembangkan komponen perangkat lunak yang mampu mengambil keuntungan dari lingkungan terdistribusi.
- Portabilitas programmer sangatlah penting, khususnya bagi programmer yang telah lama menggunakan bahasa pemrograman C dan C++.
- Dukungan untuk internasionalisasi (multi-language) juga sangat penting.
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.
Meskipun
aplikasi C# ditujukan agar bersifat 'ekonomis' dalam hal kebutuhan pemrosesan
dan memori komputer, bahasa C# tidak ditujukan untuk bersaing secara langsung
dengan kinerja dan ukuran perangkat lunak yang dibuat dengan menggunakan bahasa
pemrograman C dan bahasa rakitan.
Bahasa
C# harus mencakup pengecekan jenis (type checking) yang kuat, pengecekan larik
(array), pendeteksian terhadap percobaan terhadap penggunaan Variabel-variabel
yang belum diinisialisasikan, portabilitas kode sumber, dan pengumpulan sampah
(garbage collection) secara otomatis.
Javafx
Menurut JavaFX adalah bahasa
pemrograman modern yang memungkinkan untuk membuat aplikasi mencari dengan
antarmuka pengguna grafis yang canggih. JavaFX adalah anggota baru dari
keluarga besar Java, JavaFx merupakan sebuah tambahan baru untuk platform Java
yang menjanjikan pemakaian konsisten dari desktop ke alat-alat portabel. JavaFX
ini memungkinkan RIA (Rich Internet Application) untuk tampil di layar mobile
device, desktop, televisi dan sebagainya.
JavaFX
diintegrasikan sepenuhnya dengan Java Runtime Environment (JRE). JavaFX
aplikasi akan dijalankan pada desktop dan browser yang menjalankan dan JRE di
atas ponsel menjalankan JavaME. JavaFX didasarkan pada konsep sebuah “common
profil” yang ditujukan ke seluruh perangkat span didukung oleh JavaFX.
Pendekatan ini memungkinkan para pengembang untuk menggunakan model pemrograman
Commonmobile dan berbagi banyak kode, grafis dan konten aset antara desktop dan
versi mobile.
Maka
bisa disimpulkan bahwa JavaFX ini memungkinkan RIA [Rich Internet
Application]untuk tampil di layar mobile device, desktop, televisi dsb. JavaFX
mampu berjalan pada berbagai sistem operasi mobile, termasuk Symbian OS,
Windows Mobile, dan kepemilikan real-time sistem operasi.
PHP
PHP menurut
adalah bahasa pemograman web yang digunakan untuk membuat halaman web
dinamis (wikipedia). Walaupun pada perkembangannya, PHP saat ini
juga dapat digunakan untuk membuat aplikasi selain web, seperti aplikasi
desktop. PHP pertama kali di kembangkan pada tahun 1995
oleh Rasmus Lerdorf, namun sekarang di ambil oleh oleh The PHP Group.
Pada awalny PHP adalah singkatan dari Personal Home Page, namun
dalam perkembangannya, di ubah menjadiPHP: Hypertext Preprocessor, sebuah
kepanjangan rekursif. PHP dirilis dalam lisensi PHP
License, yang sedikit berbeda dengan lisensi GNU General Public
License (GPL) yang biasa digunakan untuk proyek Open Source. Namun
penggunaan PHP tetap tidak dikenakan biaya (gratis). Kemudahan dan
kepopuleran PHP sudah menjadi standar bagi programmer web di seluruh
dunia. Dan menurut wikipedia, PHP telah terinstall pada lebih dari
244 juga website dan 2,1 web server hingga saat ini.
Sedangkan menurut wikipedia adalah
bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP
banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk
membangun sebuah CMS.
Connected Limeted Device Configuration (CLDC)
CLDC
atau Connected Limited Device Cofiguration adalah perangkat dasar dari J2ME,
spesifikasi dasar yang berupa library atau API yang diimplementasikan pada
J2ME, seperti yang digunakan pada telepon selular, pager, dan PDA. Perangkat
tsb dibatasi dengan keterbatasan memory, sumber daya, dan kemampuan memproses.
Spesifikasi CLDC pada J2ME adalah spesifikasi minimal pada package, class, dan
sebagian fungsi Java Virtual Machine yang dikurangi agar dpat diimplementasikan
dengan keterbatasan sumber daya pada alat tersebut, JVM yang digunakan adalah
KVM (Kilobyte Virtual Machine).
Mobile
Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profil J2ME. MIDP memilik lapisan diatas CLDC, API tambahan untuk daur hidup aplikasi, antar muka, jaringan, dan pemyimpanan persisten. Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0. Fitur tambahan pada MIDP 2.0 dibandingkan MIDP 1.0 adalah API untuk multimedia. Pada MIDP 2.0 terdapat dukunagan memainkan tone, tone sequence, dan file WAV walaupun tanpa adanya Mobile Media API (MMAPI).
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.
Daur Hidup
MIDlet
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.
Ketika
MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan
pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada
startApp(). Metode yang ada tersebut diimplementasikan sebagai protected, hal
ini dimaksudkan agar MIDlet lain tidak dapat memanggil method tersebut. Pada
saat pemakai keluar dari MIDlet, maka method destroyApp() akan dijalankan
sebelum MIDlet benar-benar tidak berjalan lagi. Method notifyDestroyed() akan
dipanggil sebelum MIDlet benar-benar tidak berjalan lagi, DestroyApp() akan
memanggil notifyDestroyed(), dan notifyDestroyed() akan memberi tahu platform
untuk menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada
MIDlet
Sumber