Pengertian 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 dalam 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
Sistem Operasi Perangkat Bergerak
Perangkat sitem operasi bergerak mencangkup beberapa perangkat seperti Android ,Ios , Blackberry dan Windows Phone.
Android
Android merupakan OS yang dibuat oleh Andy Rubin pada tahun 2005 sebelum diakuisisi oleh Google, dirilis tahun 2007 bersamaan dibentuk Open Handset Alliance. Pada saat perilisan Android bersama Open Handset Alliance mendukung penuh pengembangan terbuka pada perangkat seluler atau biasanya di sebut dengan mobile. Device Android pertama adalah HTC Desire
iOS
Sistem operasi ini pertama diluncurkan tahun 2007 untuk iPhone dan iPod Touch, dan telah dikembangkan untuk mendukung perangkat Apple lainnya seperti iPad dan Apple TV.
Windows Phone
Windows Mobile merupakan sistem operasi mobile yang dikembangkan oleh Microsoft, produk Mobile Windows seperti Sagem myS-7, O2 Xphone dll. Sistem operasi yang berhasil dikembangkan dan diaplikasikan mulai dari Pocket PC 2000 hingga Windows Mobile versi 6.5.5. Meskipun ada beberapa kelebihan seperti fitur GPS, dapat menonton televisi, mobile blog, mobile database namun kelemahan dari Windows Mobile adalah minim developer independen.
Windows Phone adalah keluarga sistem operasi perangkat bergerak yang dikembangkan oleh Microsoft dan merupakan pengganti platform Windows Mobile. Tidak seperti pendahulunya, Windows Phone ditujukan pada pasar konsumen alih alih perusahaan. Sistem operasi ini pertama diluncurkan bulan Oktober 2010 dan diluncurkan di Asia pada awal 2011. Di Windows Phone, Microsoft menciptakan antarmuka pengguna baru menggunakan bahasa desainnya yang diberi nama Modern Style UI
BlackBerry
Blackberry adalah OS yang dikembangkan Research in Motion (RIM), perusahaan IT asal Kanada. RIM ditujukan bagi pelanggan korporasi atau bisnismen sehingga pelanggan dapat menerima dan mengirim email.
Lingkungan Pengembangan
Lingkungan pengembangan yang biasa di sinonimkan dengan IDE (Integrated Development Environment) adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak.Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak.
Sebuah IDE, atau secara bebas dapat diterjemahkan sebagai Lingkungan Pengembangan Terpadu, setidaknya memiliki fasilitas:
- Editor, yaitu fasilitas untuk menuliskan kode sumber dari perangkat lunak.
- Compiler, yaitu fasilitas untuk mengecek sintaks dari kode sumber kemudian mengubah dalam bentuk binari yang sesuai dengan bahasa mesin.
- Linker, yaitu fasilitas untuk menyatukan data binari yang beberapa kode sumber yang dihasilkan compiler sehingga data-data binari tersebut menjadi satu kesatuan dan menjadi suatu program komputer yang siap dieksekusi.
- Debuger, yaitu fasilitas untuk mengetes jalannya program, untuk mencari bug/kesalahan yang terdapat dalam program.
Sampai tahap tertentu IDE modern dapat membantu memberikan saran yang mempercepat penulisan.Pada saat penulisan kode, IDE juga dapat menunjukan bagian-bagian yang jelas mengandung kesalahan atau keraguan.
Software Development
Software Development adalah jasa pembuatan program aplikasi berdasarkan keinginan anda. penerapan program tersebut dapat disesuaikan atas kebutuhan otomatisasi perusahaan, apakah itu berupa sistem penagihan, laporan keuangan atau sistem pemasaran yang terintegrasi dengan seluruh cabang perusahaan.
Secara garis besar Software Development terbagi menjadi beberapa tahapan, yaitu:
Planning – Merupakan tahap awal untuk memulai Software Development. Tujuan dari tahap ini adalah menghasilkan: 1) proses kerja yang jelas antar setiap anggota, 2) timeline, dan 3) anggaran dana. Pada tahap ini juga, ketua proyek berkoordinasi dengan stakeholder untuk membuat kontrak kerja yang jelas. Selain berisi tentang estimasi dana, kontrak kerja juga harus memiliki batasan-batasan pengerjaan yang jelas. Hal ini dilakukan agar tim proyek tidak terikat dengan tambahan-tambahan modul yang nanti mungkin agar terjadi.
Requirement and Specification – Tahap ini dilakukan untuk menentukan fitur-fitur yang tepat serta kebutuhan sistem untuk software yang akan dibuat. Tahap ini dapat dilakukan dengan interview, observasi lapangan, dan studi pustaka.
Architecture and Design – Merupakan tahap untuk menentukan detail sistem yang akan dipakai. Tahap ini bertujuan untuk menentukan desain keseluruhan dari software, yang meliputi: konseptual database, sistem keamanan, dan interface.
Implementation and Testing – Tahap implementasi merupakan tahap pembuatan software dengan berpedoman pada tahap-tahap sebelumnya. Sedangkan tahap Testing merupakan serangkaian uji coba yang diberikan kepada software untuk menentukan kapabilitasnya. Tsting dapat terbagi menjadi: 1) security testing, 2) performance testing, 3) stress testing, 4) recovery testing.
Deployment and Maintenance – Kedua tahap terakhir ini adalah tahap dimana software telah mulai digunakan oleh user. Terdapat 2 hal penting yag ada pada tahap ini, antara lain: 1) training penggunaan software dan 2) pemantauan software. Pemantauan dilakukan untuk mengecek apakah software telah stabil atau belum. Kestabilan ini dapat dinilai dengann tidak adanya bug yang muncul selama penggunaan.
Beberapa metode dibuat untuk menerapkan tahapan-tahapan di atas, di antaranya adalah :
- Tahap-tahap di atas dikerjakan secara berurutan
- Telah terdapat prototype atau software sebelumnya untuk kemudian dikembangkan, sehingga tahap observasi tidak perlu dilakukan.
- Waktu keseluruhan pengerjaan proyek dibagi menjadi beberapa bagian yang lebih kecil, kemudian tahap-tahap di atas dilakukan secara berurutan. Dengam metode ini, keseluruhan fitur tidak langsung dikerjakan dalam satu fase melainkan terbagi menjadi beberapa periode.
- Hampir sama dengan metode incremental, tetapi terdapat kemungkinan untuk dilakukan perbaikan, sehingga terjadi perulangan dan bentuknya seperti spiral.Pengerjaan dengan metode ini memakan waktu yang sangat singkat.
Arsitektur sistem operasi mobile
Yang membedakan seorang pengguna Android dan seorang developer Android adalah kemampuan seorang developer untuk memahami seluk beluk aplikasi Android. Jadi, sebelum kita mulai mengembangkan aplikasi Android ada baiknya kita memahami hal-hal yang dasar terlebih dahulu, yaitu Arsitektur dari Android.
Linux karnel
Di lapisan terbawah Arsitektur Android terdapat Linux Kernel. Lapisan ini tidak benar benar berinteraksi dengan pengguna maupun developer, tapi lapisan ini merupakan jantung dari seluruh sistem di Android karena lapisan inilah yang memberikan fungsi-fungsi berikut pada sistem Android:
- Abstracksi hardware
- Progaram management memory
- Pengaturan sekuritas
- Manajemen energi sortware (Baterai)
- Driver (program mengontrol hardware)
- Network stack
Libraries
Library membawa sekumpulan instruksi untuk mengarahkan perangkat Android kita dalam menangani berbagai tipe data. Contohnya,perekam dari berbagai macam format Video dan Audio ditangani oleh Media Framework Library.
Berikut kegunaan dari libraries :
- Surface Manager: Mengolah tampilan Windows Pada Layar
- SGL: Grafik 2 Dimensi
- Open GL|ES: Grafik 3 Dimensi maupun 2 Dimensi
- Media Framework: Menunjang perekaman dari berbagai macam format audio, video, dan gambar
- Free Type: Penerjemah Font
- WebKit: Mesin Browser
- libc (System C libraries)
- SQLite: Database
- Open SSL: Sekuritas Jaringan
Android Runtime
Merupakan layer yang membuat aplikasi android berjalan dimana dalam prosesnya menggunakan implementasi linux
Lapisan Android Runtime adalah sekumpulan Library Java yang dikhususkan untuk Android. Programmer Aplikasi Android membuat aplikasinya menggunakan bahasa pemrograman Java. Dalam lapisan Android Runtime juga terdapat Dalvik VM (Virtual Machine)
Applikasi framework
Lapisan ini berinteraksi langsung dengan aplikasi kita. Program-program di atas memanajemen fungsi dasar dari perangkat seperti manajemen Resource, Manajemen Panggilan, Manajemen Window dll. Sebagai seorang developer, kita dapat melihat lapisan ini sebagai alat dasar yang dapat digunakan untuk mengembangkan aplikasi.
Beberapa fungsi aplication framework :
- Activity Manager − Mengontrol semua aspek dari siklus hidup aplikasi dan Activity Stack.
- Content Providers − Mengizinkan aplikasi untuk mempublikasikan dan berbagi data dengan aplikasi lainnya.
- Resource Manager − Memberikan akses kepada resources yang bukan kode seperti strings, setting warna, dan layout User Interface.
- Notifications Manager − Membuat aplikasi dapat menampilkan pengingat dan notifikasi kepada pengguna.
- View System − Digunakan untuk membuat User Interface aplikasi.
Application layer
Aplikasi berada pada lapisan terluar dari Arsitektur Android. Pengguna Android pasti akan berinteraksi dengan lapisan ini untuk fungsi umum seperti menelepon, mengakses website, dll.
Aplikasi standar yang pasti ada disetiap perangkat :
- Aplikasi SMS
- Penelepon
- Web Browser
- Contact Manager
Versi-versi Sistem Operasi Mobile
Versi-versi Android
- 0,”Alpha” dirilis 23 September 2008
- 1,”Beta” dirilis 9 Februari 2009
- 5 “Cupcake”, dirilis 27 April 2009
- 6 “Donut”, dirilis 15 September 2009
- 0-2.1 “Eclair”, dirilis 3 Desember 2009
- 2-2.2.3 “Froyo”, dirilis 20 Mei 2010
- 3-2.3.7 “Gingerbread”, dirilis 6 Desember 2010
- 0-3.2.6 “Honeycomb”, dirilis 22 Februari 2011
- 0-4.0.4 “Ice Cream Sandwich”, dirilis 18 Oktober 2011
- 1-4.3.1 “Jelly Bean”, dirilis 9 Juli 2012
- 4-4.4.4 “KitKat”, dirilis 31 Oktober 2013
- 0-5.1.1 “Lolipop”, dirilis 12 November 2014
- 0-6.x.x “Marsmallow”, September 2015
- 0 – 7.1 “Nougat”,
- 0 “Android 8.0”
Versi-versi iOS
- iPhone OS 1.x, dirilis 6 Maret 2008
- iPhone Os 2.x, dirilis 11 Juli 2008
- iPhone OS 3.x, dirilis 17 Juni 2009
- iOS 4, dirilis 22 November 2010
- iOS 5, dirilis 12 Oktober 2011
- iOS 6, dirilis 19 September 2012
- iOS 7, dirilis 18 September 2013
- iOS 8, dirilis 17 September 2014
- iOS 9, dirilis 16 September 2015
Versi-versi Windows Phone
- Windows Phone 7, dirilis 21 Oktober 2010
- Windows Phone 7.5, dirilis 27 September 2011
- Windows Phone 7.8, dirilis 1-2 Februari 2012
- Windows Phone 8, dirilis 29 Oktober 2012
- Windows Phone 8.1, dirilis 14 April 2014
- Windows Phone 10, dirilis akhir 2015
Versi-versi BlackBerry OS
- BlackBerry OS pertama kali dirilis pada januari 1999, versi 1.0 digunakan pada Pager BlackBerry 580.
- Versi 3.6 dirilis pada Maret 2002, versi ini digunakan pada BlackBerry 5810.
- Blackberry melepas versi 5.0 pada 4 Agustus 2008, digunakan pertama kali pada Bold 9000.
- OS versi 6.0 diumumkan pada April 2010 dan dirilis pada Q3 2010.
- BlackBerry versi 7 mulai dirilis pada Agustus 2011.
- Versi BlackBerry OS terakhir adalah versi 10 yang dirilis pada tahun 2012. Pada versi ini, BlackBerry OS dapat digunakan untuk tablet.
Perbandingan Sistem Operasi Mobile
Masing-masing smartphonememiliki Operating System sendiri yang diusungnya, dan 4 OS yang paling terkenal saat ini adalah Android dari Google, iOS dari Apple, Windows Phone dari Microsoft, dan Blackberry.
Untuk sekedar informasi, masing-masing OS ini memiliki beberapa perbedaan yang bisa kita bandingkan, dan dengan informasi ini kita bisa memilih platform yang tepat untuk kebutuhan kita.
Android
Android adalah sistem operasi yang dikeluarkan oleh perusahaan internet raksasa Google yang diluncurkan pada 2007. Hanya beberapa tahun saja, Android sudah menguasai pasar smartphone, OS ini bersifat Open Source sehingga bisa digunakan diperangkat gadget lainnya selain di perangkat smartphone. Android memiliki banyak aplikasi-aplikasi pilihan yang bisa diunduh di Play Store.
iOS
iOS adalah OS yang diciptakan oleh perusahaan Apple yang hanya bisa digunakan pada perangkat Apple saja dan tidak bersifat Open Source. Aplikasi-aplikasi yang tersedia di iOS tersedia di iOS AppStore memiliki keamanan dari virus yang lebih baik dibandingkan dengan Android.
Windows Phone
Windows Phone dikembangkan oleh Microsoft untuk menyaingi kepopuleran Android namun masih kalah populer oleh Android. Smartphone yang menggunakan OS ini adalah Nokia Lumia, HTC dan Lenovo. Aplikasi yang tersedia masih sedikit dan kalah jika dibandingkan Android maupun iOS.
Blackberry
OS BlackBerry dikembangkan oleh perusahaan Research In Motion (RIM) yang berada di Kanada. OS ini digunakan hanya pada produk BlackBerry saja seperti iOS. Keunggulan dari BB mungkin hanyalah aplikasi chatting BlackBerry Messenger (BBM) yang pada akhirnya bisa digunakan di OS lainnya juga.
Kelebihan dan Kekurangan Sistem Operasi Mobile
Android
Kelebihan
- Banyak pilihan devices mulai dari kalangan bawah sampai atas
- Aplikasi yang banyak dan sebagian besar gratis
- Open-Source , jadi kita mudah oprek-oprek kode sumber Android
- User-Friendly
- Terdapat Google Now (untuk Android Jelly Bean)
- Multitasking
Kekurangan
- Update OS system yang lama
- Android terkadang menimbulkan lag bahkan hang
- Banyak memakan resource sehingga mengurangi pemakaian baterai
- Terkadang Android rentan sekali terhadap virus
IOS
Kelebihan
- Touch ID, menggunakan keamanan sensor jari, walaupun sudah ada di OS lain seperti Android (Samsung Galaxy, Nexus 6)
- Aplikasi terbaik seperti CoC (Clash of Clans) dan Instagram mapipr lebih dulu di iOS
- Update OS yang cepat dibanding OS lain
- Layanan purna jual yang terbaik
- Multitasking
- Desainnya yang premium membuat pengguna OS lain klepek-klepek
- Terdapat Siri yang siap mendampingi hidup agan
- User-Friendly
Kekurangan
- Seperti halnya MacOS, harganya mahal
- iOS hanya terdapat di devices merk Apple
- Tidak bisa konektivitas ke devices lain seperti bluetooth
- Cukup sulit menghubungkan data ke PC seperti halnya Android
- App nya yang kebanyakan berbayar
- Susah sekali dioprek-oprek karena closed-source
Windows Phone
Kelebihan
- Cortana, terinspirasi dari game Halo, Microsoft membuat virtual Assistant untuk Windows Phone. Virtual assistant ini bukan memberikan hasil penelusuran seperti Siri dan Google Now, namun langsung memberikan jawabannya
- Customize Lockscreen
- Fitur Hub
- Fitur Continuum (khusus WP 10)
- Relatif bebas virus
Kekurangan
- Jumlah aplikasi tidak sebanyak Android dan iOS
- UI tidak bisa diotak-atik
- Closed source
Blackberry
Kelebihan
- BlackBerry Messenger, sebelum tahun 2013 BBM ini adalah eksklusif untuk Blackberry
- Mengirim Email secepat mengirim SMS
- Sistem keamanan yang baik
- Mempunyai fungsi autotext
- Mempunyai Pushmail
Kekurangan
- Browser yang tidak user-friendly juga payah
- Aplikasi tidak sebanyak Android dan iOS
- Untuk menikmati Blackberry harus ada paket internet khusus yaitu Blackberry Internet Service. Misalnya kita pake sim yang ada paket internet biasa, ketika dimasukkan BB, Cuma bisa dipakai buat browser dan tidak bisa dipakai BBM
- Closed Source
- Hanya terdapat pada Blackberry device
Pengembangan Aplikasi Mobile
Aplikasi Android MIT App Inventor
Software ini berbasis open source (gratis) dan dikelola oleh MIT. Bagi anda yang mengerti tentang koding, software ini sangat cocok untuk para calon developer aplikasi android.
Kelebihan dari MIT App Inventor yakni sederhana, gratis, mudah dioperasikan dan cocok bagi anda yang bukan dari lulusan ilmu komputer. Bahkan, menurut situr instanshift.com, software gratis pembuat aplikasi android ini telah menjadi tempat penjualan beberapa aplikasi sukses di pasaran.
Aplikasi android eclipse
Salah satu tool yang cukup terkenal di kalangan developer aplikasi android yakni eclipse. Software berbentuk IDE ( Integrated Depelopmnet Environtmen ) yang berfungsi untuk membuat atau sekedar ingin mengembangkan aplikasi android.
Tool Eclipse banyak digunakan oleh pengembang aplikasi karena cara penggunaannya yang sangat mudah dan gratis. Kelebihan dari Eclipse dibandingkan software lainnya karena adanya plug-in yang membantu anda untuk membuat aplikasi android sendiri.
Aplikasi android netbeans
Software ini dikhususkan bagi para pengembang aplikasi android dengan berbasis pemrograman JAVA. Tools ini memiliki lisensi open source sehingga dapat dinikmati secara gratis.
Aplikasi android Xamarin
Awalnya Xamarin merupakan perusahaan tersendiri dan memiliki tools sendiri. Setelah dibeli oleh Microsoft, kini perangkat pengembangan Xamarin sudah terintegrasi menjadi satu dengan Visual Studio . Sebuah IDE (Integrated Development Environment) dari Microsoft. Dengan menggunakan Xamarin kamu dapat mengembangkan aplikasi mobile dengan menggunakan bahasa pemrograman C# atau F#, dan bisa berjalan di Android, iOS, dan Windows Phone sekaligus.
Jika komponen-komponen yang sudah disediakan oleh Xamarin dirasa kurang mencukupi kebutuhan, anda bisa membuat komponen atau modul sendiri menggunakan Java untuk Android dan Swift/ObjectiveC untuk di iOS.
Download Presentasi
Download Document
Daftar Pustaka
http://buzzitech.blogspot.co.id/2015/10/macam-macam-sistem-operasi-mobile.html
http://blogs.unpas.ac.id/kisworo/2014/03/20/pengertian-ide-dan-sata/
http://afridatriana.blogspot.co.id/2013/01/software-development.html
http://www.insinyoer.com/komponen-arsitektur-android/
http://smart-phone-ok.blogspot.co.id/2012/09/versi-versi-blackbarry-os.html
https://bisniss-pulsa.blogspot.co.id/2016/02/perbandingan-os-android-ios-windows.html
http://buzzitech.blogspot.co.id/2015/10/macam-macam-sistem-operasi-mobile.html
http://intanstemapal24.blogspot.co.id/2014/08/pemograman-mobile.html