PMO PERTEMUAN 2 PENGENALAN PEMROGRAMAN MOBILE

Pengertian Pemgrograman Mobile

Pemrograman Mobile adalah pemrograman yang ditujukan untuk pembuatan aplikasi diperangkat mobile. Banyak sekali platform mobile salah satunya yang sedang populer adalah Android Mobile. Android merupakan sistem operasi berbasis linux yang bahasa pemrograman aplikasinya dapat kita buat menggunakan java.

 

Sistem Operasi Perangkat Penggerak

Perangkat komputasi bergerak seperti smartphone dan tablet, tidak bisa dilepaskan dari adanya sistem operasi (operating system).

Sistem operasi pada perangkat bergerak memadukan kemampuan sistem operasi pada komputer dengan kemampuan untuk mengelola komponen yang biasa ada dalam perangkat bergerak seperti layar sentuh, jaringan seluler, bluetooth, WiFi, navigasi GPS, NFC, dan fitur standar lainnya.

Sistem operasi perangkat bergerak yang terkenal karena banyaknya perangkat yang dipakainya adalah iOS keluaran Apple dengan perangkat iPhone dan iPad (termasuk iPod), Android keluaran Google yang banyak digunakan pada perangkat keluaran Samsung, HTC, LG dan yang lainnya, Blackberry OS keluaran RIM (sekarang Blackberry) dengan perangkatnya Blackberry, Windows Phone keluaran Microsoft dengan perangkat buatan Nokia, HTC dan lainnya.

 

Lingkungan Pengembangan

Masing-masing platform untuk aplikasi mobile memiliki lingkungan pengembangan terintegrasi, yang menyediakan alat untuk memungkinkan pengembang untuk menulis, menguji dan menyebarkan aplikasi ke dalam lingkungan platform target.

IDE (Integrated Development Environment) adalah program computer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak.

Sebuah IDE setidaknya memiliki fasilitas:

  • Editor, untuk menuliskan kode sumber dari perangkat lunak.
  • Compiler, untuk mengecek sintaks dari kode sumber kemudian mengubah dalam bentuk binari yang sesuai dengan bahasa mesin.
  • Linker, untuk menyatukan data kode sumber yang dihasilkan compiler sehingga data-data binari tersebut menjadi satu kesatuan dan menjadi suatu program yang siap dieksekusi.
  • Debuger, untuk mengetes jalannya program, untuk mencari bug/kesalahan yang terdapat dalam program.

Beberapa IDE yang populer digunakan dalam pengembangan aplikasi mobile:

Android Studio(Android), XCode(iOS), Visual Studio(Windows Phone), Momentics IDE(BlackBerry).

 

Software Development

Pengembangan perangkat lunak adalah proses pemrograman komputer, mendokumentasikan, pengujian, dan memperbaiki bug yang terlibat dalam menciptakan dan memelihara aplikasi dan kerangka kerja sehingga menghasilkan produk perangkat lunak. Pengembangan perangkat lunak adalah proses menulis dan memelihara yang kode sumber, tetapi dalam arti yang lebih luas, itu mencakup semua yang terlibat antara konsepsi perangkat lunak yang diinginkan melalui manifestasi akhir dari perangkat lunak, kadang-kadang dalam terencana dan terstruktur proses.

 

Kegiatan pengembangan perangkat lunak:

  1. Identifikasi kebutuhan.
  2. Perencanaan.
  3. Merancang.
  4. Implementasi, pengujian dan mendokumentasikan.
  5. Penyebaran dan pemeliharaan.

Ada juga point penting lainnya yaitu:

  1. Model tampilan.
  2. Proses bisnis dan data pemodelan.
  3. Dibantu komputer rekayasa perangkat lunak.
  4. Lingkungan pengembangan terintegrasi.
  5. Bahasa pemodelan.
  6. Pemgrograman paradigm.

 

 

Arsitektur sistem operasi mobile

Arsitektur sistem operasi adalah arsitektur perangkat lunak yang digunakan dalam membangun perangkat lunak sistem operasi.

 

Arsitektur system opersi Android

Linux Kernel

Tumpukan paling bawah pada arsitektur Android ini adalah kernel,dimana Google menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang mencakup memory management, security setting, power management, dan beberapa driver hardware.

 

Libraries

Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:

  • Media Library untuk memutar dan merekam berbagai macam format audio dan video.
  • Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.
  • Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D.
  • SQLite untuk mengatur relasi database yang digunakan pada aplikasi.
  • SSl dan WebKit untuk browser dan keamanan internet.

 

Android Runtime

Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux.

Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada.

 

Aplication Framework

Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi android. Bagian terpenting dalam kerangka aplikasi android adalah sebagai berikut:

  • Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan.
  • Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.
  • Resuource Manager, untuk mengatur sumber daya yang ada dalam program. Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout.
  • Location Manager, berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada.
  • Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada

 

Application Layer

Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi.

Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi.

 

Versi-Versi sistem operasi Android

Dari tahun 2008 sampai sekarang Android sudah banyak merilis versi dan perubahan yang sangat cepat. Sampai sekarang versi terakhir adalah android Oreo.

 

Cupcake (Versi: 1.5)

Android Cupcake adalah merupakan pembaharuan sistem yang diluncurkan pada April 2009.

  • Linux kernel 2.6.27.
  • Rilis awal yang menggunakan nama makanan yang manis.

Fitur:

Dukungan untuk pihak ketiga.

Perekaman dan pemutaran video.

Fitur copy dan paste di browser

Transisi layar animasi dan pilihan auto-rotasi.

Kemampuan untuk meng-upload foto dan video.

 

 

Donut (Versi: 1.6)

Rilis September 2009

Linux kernel 2.6.29

Fitur :

Kotak telusur kilat

Keragaman ukuran layer

Android market

 

Eclair (Versi: 2.1)

Rilis Oktober 2009

Linux kernel 2.6.29

Fitur :

Google Map Navigasi

Penyesuaian Layar Utama

Speech-to-text

 

Froyo (Versi: 2.2)

Rilis Mei 2010

Linux kernel 2.6.32

Fitur :

Voice Action

Hotspot Portable

Performa

 

 

Froyo (Versi: 2.2)

Rilis Mei 2010

Linux kernel 2.6.32

Fitur :

Voice Action

Hotspot Portable

Performa

 

Honeycomb (Versi: 3.0)

Rilis Februari 2011

Linux kernel 2.6.36

Fitur :

Desain yang sesuai untuk Tablet

Bilah Sistem

Setelan Cepat

 

Ice Cream Sandwich (Versi: 4.0)

Rilis Oktober 2011

Linux kernel 3.0.1

Fitur :

Layar Utama Khusus

Kontrol penggunaan data

Android Beam

 

 

Jelly Bean (Versi: 4.1)

Rilis Juni 2012

Linux kernel 3.0.31

Fitur :

Google Now

Notifikasi yang dapat ditindaklanjuti

Beralih Akun

 

KitKat (Versi: 4.4)

Rilis Oktober 2013

Fitur :

Voice: OK Google

Desain Impresif

Telepon Cerdas

 

Lollipop (Versi: 5.0)

Rilis Juni 2014

Fitur :

Desain Material

Multilayar

Notifikasi

 

Marshmallow (Versi: 6.0)

Rilis Mei 2015

Fitur :

Now On Tap

Izin

Baterai

 

Nougat (Versi: 7.0)

Rilis Pertengahan 2016

Fitur :

Google Assistant

Split-screen

Dukungan Virtual Reality

 

Oreo (Versi: 8.0)

Rilis Agustus 2017

Fitur :

Background limit

Notification Channel

Picture in Picture

 

Perbandingan sistem operasi mobile

Android

Developer : Google

Source : Open

  • Keterjangkauan, antarmuka, dan aplikasi
  • Google play store
  • Kebebasan kustomisasi
  • Konektivitas
  • Wearable

iOS

Developer : Apple

Source       : Closed

  • Interface sangat bagus
  • App store
  • Dukungan penuh sistem operasi
  • Kamera bagus
  • Sederhana & aman

Windows Phone

Developer : Microsoft

Source : Closed

  • Asisten suara
  • Windows Store
  • Dukungan Microsoft

 

Kelebihan dan kekurangan sistem operasi pada mobile

Kelebihan

  1. Merupakan sistem operasi open source, sehingga mudah dikembangkan oleh developer handset.
  2. Mudah dikustomisasi dan dimodifikasi.
  3. OS android dapat dijalankan pada banyak pilihan spesifikasi hardware.
  4. Dukungan aplikasi yang sangat banyak dan beragam.
  5. Dapat diaplikasikan di banyak peralatan elektronik.
  6. Dikembangkan oleh salah satu raksasa telekomunikasi dunia, yaitu Google.
  7. Merupakan salah satu sistem operasi yang cepat dan responsive.

Kekurangan

  1. Memiliki proses kerja sistem yang cukup berat, sehingga memakan RAM cukup banyak.
  2. Terkadang apabila disandingkan dengan spesifikasi hardware yang buruk, menjadi kurang responsive.
  3. Sistem operasi yang di custom sering tidak stabil dan kurang optimal.

 

 

 

Pengembangan aplikasi mobile

Di ranah pengembangan aplikasi mobile, kamu akan sering mendengar istilah seperti aplikasi native atau aplikasi web, atau bahkan aplikasi hybrid.

Native

Aplikasi native adalah aplikasi yang dibangun dengan bahasa pemrograman yang spesifik untuk platform tertentu.

Contoh : penggunaan Bahasa Swift untuk iOS app, java untuk Android app, dsb

Keuntungan memilih aplikasi native adalah yang tercepat dan paling dapat diandalkan saat berhubungan dengan pengalaman pengguna. Aplikasi asli juga dapat berinteraksi dengan semua fitur sistem operasi perangkat, seperti mikrofon, kamera, daftar kontak, dll.

Web app

Aplikasi web bisa menjadi pilihan yang terbaik untuk membangun produk yang diinginkan. Karena benar-benar minim persyaratan, dengan kata lain akses ke fitur dari perangkat mobile seperti Push Notification tidak diperlukan. Aplikasi web bisa menjadi pilihan yang murah dari sisi budget. Namun sayangnya, aplikasi web tidak bisa didistribusikan melalui toko aplikasi native seperti App Store atau Google Play.

Web app dibangun dengan HTML CSS Javascript dan Bahasa pemrograman sebagai Backendnya.

Hybrid

Aplikasi hybrid adalah aplikasi web yang ditransformasikan menjadi kode native pada platform seperti iOS atau Android. Aplikasi hybrid biasanya menggunakan browser untuk mengijinkan aplikasi web mengakses berbagai fitur di device mobile seperti Push Notification, Contacts, atau Offline Data Storage. Beberapa tools untuk mengembangkan aplikasi hybrid antara lain Phonegap, Rubymotion dan lain-lain.

 

Untuk File presentasi dapat diunduh dilink berikut : http://www91.zippyshare.com/v/hjofkyE6/file.html

 

Sumber