PMO PERTEMUAN 2 PENGENALAN PEMROGRAMAN ANDROID

Pengertian Pemrograman Mobile :

  1. Pemrograman yang ditujukan untuk pembuatan aplikasi diperangkat mobile yang dapat kita buat dengan menggunakan Java.
  2. Pembuatan aplikasi yang berjalan pada perangkat bergerak seperti HP / tablet.  Aplikasi mobile  dikembangkan untuk platfrom tertentu.

 

JENIS – JENIS SISTEM OPERASI

1.Sistem Operasi Stand Alone

2.Sistem Operasi Jaringan

3.Sistem Operasi Embedded

4.Sistem Operasi Live CD

5.Sistem Operasi DOS

6.Sistem Operasi Windows

7.Sistem Operasi Linux

8.Sistem Operasi Stand Alone

9.Sistem Operasi Google Chrome

 

LINGKUNGAN PENGEMBANGAN

          Pengembangan aplikasi mobile adalah proses dimana perangkat lunak aplikasi yang dikembangkan untuk perangkat genggam-daya rendah, seperti PDA (Personal Data Asisten/Tablet),  atau telepon genggam/handphone yang mana aplikasi ini dapat re-instal pada ponsel selama masih dalam operasi, didownload oleh pelanggan dari berbagai platform pada perangkat lunak ponsel, atau sebagai aplikasi web menggunakan sistem server-side atau pengolahan sisi-klien (misalnya JavaScript) bagi aplikasi yang support dalam Web browser. Aplikasi pengembang perangkat lunak juga harus mempertimbangkan kualitas graphics pernagkatnya, spesifikasi hardware dan konfigurasi karena persaingan yang ketat dalam perangkat lunak mobile akan mempengaruhi sisi perangkat kerasnya juga.

 

SOFTWARE DEVELOPMENT

Software Development adalah salah satu tipe proyek IT yang berfokus pada penciptaan atau pengembangan perangkat lunak. Software Development dapat didetailkan lagi menjadi proses: 1) penciptaan software untuk memenuhi kebutuhan manusia, 2) desain software, 3) pengembangan software aplikasi perusahaan, atau 4) pengembangan platform (Wales, 2012).

Karena berfokus pada sesuatu yang tidak tampak (software), Software development memiliki tingkat pengerjaan yang lebih sulit. Tidak heran jika banyak Software development yang gagal dikarenakan proses pengerjaan tidak sesuai dengan yang telah direncanakan. Salah satu criteria tambahan untuk output Software Development adalah kemampuan software untuk dapat dikembangkan lagi. Disinilah tingkat kesulitan yang utama dimana pihak pencipta harus dapat mendokumentasikan dengan baik setiap source code agar dapat dipahami oleh orang lain.

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.

 

ARSITEKTUR SISTEM OPRASI ANDROID

 

lapisan-lapisan Android dari yang paling dalam hingga paling luar

  • 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:

  1. Abstraksi Hardware
  2. Program Manajemen Memory
  3. Pengaturan Sekuritas
  4. Manajemen Energi Software ( Baterai )
  5. Driver (Driver adalah program yang mengontrol hardware)
  6. Network Stack
  • Library

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.

  • Android Runtime

Terletak pada level yang sama dengan lapisan Library juga terdapat Lapisan Android Runtime dan juga 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).

  • Application 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.

  • Application

Aplikasi berada pada lapisan terluar dari Arsitektur Android. Pengguna awam Android pasti akan berinteraksi dengan lapisan ini untuk fungsi umum seperti menelepon, mengakses website, dll. Lapisan di bawah dari lapisan aplikasi ini diakses kebanyakan oleh Developer, Programmer atau sejenisnya.

 

Versi – versi android

  • 1.0,”Alpha” dirilis pada tanggal 23 September 2008
  • 1.1,”Beta” dirilis pada tanggal 9 Februari 2009
  • 1.5 “Cupcake” dirilis pada tanggal 27 April 2009
  • 1.6 “Donut”, dirilis pada tanggal 15 September 2009
  • 2.0-2.1 “Eclair”, dirilis pada tanggal 3 Desember 2009
  • 2.2-2.2.3 “Froyo”, dirilis pada tanggal 20 Mei 2010
  • 2.3-2.3.7 “Gingerbread”, dirilis pada tanggal 6 Desember 2010
  • 3.0-3.2.6 “Honeycomb”, dirilis pada tanggal 22 Februari 2011
  • 4.0-4.0.4 “Ice Cream Sandwich”, dirilis pada tanggal 18 Oktober 2011
  • 4.1-4.3.1 “Jelly Bean”, dirilis pada tanggal 9 Juli 2012
  • 4.4-4.4.4 “KitKat”, dirilis pada tanggal 31 Oktober 2013
  • 5.0-5.1.1 “Lolipop”, dirilis pada tanggal 12 November 2014
  • 6.0-6.x.x “Marsmallow”, diriilis pada tanggal 5 Oktober 2015
  • 7.0 “Nougat”, diriilis pada tanggal 22 Agustus 2016

 

Perbandingan sistem operasi mobile

Android IOS
Open Source Close Source
Harga Murah Harga Mahal
Aplikasi mudah terserang malware Aplikasi jarang terkena virus
Mudah di customisasi Susah di costumisasi
Setiap versi interface berbeda Hampir setiap versi interface sama

 

Kelebihan dan Kekurangan sistem operasi mobile

  • Kelebihan :

1.Penggunaan yang didesain mudah pada fitur-fitur aplikasi, serta tidak sulit untuk dipahami.

2.Android dapat juga dikatakan sistem operasi berbasis Linux yang open source. Dengan begitu akan memberikan peluang besar untuk para developer membuat dan mengembangkan aplikasi-aplikasi yang bagus dan canggih.

3.Pengguna dapat dengan bebas untuk memilih aplikasi yang mana saja yang ingin digunakan.

  • Kekurangan :
  1. Sistem operasi Android tampaknya menuntut pengguna untuk harus memiliki koneksi internet dalam keadaan aktif. Seperti minimalnya perlu koneksi internet GPRS, hal ini agar perangkat siap untuk online sesuai dengan kebutuhan pengguna.
  2. Memang terdapat banyak Aplikasi Android yang dapat digunakan secara gratis, akan tetapi seringkali  pada aplikasi yang digunakan akan memunculkan iklan yang cukup mengganggu.
  3. Baterai pada smartphone dengan sistem Android akan sangat boros dibandingkan OS lainnya, hal tersebut disebabkan dengan banyaknya proses yang berjalan secara background yang membuat energi baterai menjadi cepat habis.

 

Pengembangan aplikasi mobile

  • Metode yang digunakan dalam pengembangan adalah dengan menggunakan urutan waterfall method.
  1. Analisis kebutuhan, langkah ini merupakan analisis terhadap kebutuhan sistem, analis melakukan observasi terhadap user sehingga keinginan dari user akan diterjemahkan kedalam bahasa pemrograman.
  2. Design, proses design akan menterjemah- kan syarat kebutuhan kedalam sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuat coding. Fokus proses pada bagian ini yaitu struktural data, arsitektur perangkat lunak, representasi interface, detail alogaritma prosedural. Dari kesemua fokus proses yang telah dijalani akan menghasilkan software requirement yang akan menjadi dasar dari programmer melaksanakan aktivitas pembuatan sistem.
  3. Coding, merupakan penerjemahan design dalam bahasa yang bisa dikenali komputer. Dilakukan oleh programmer yang akan menterjemahkan transaksi yang akan diminta oleh user.

 

Download file presentasi : Click Here

Source:

http://intanstemapal24.blogspot.co.id/2014/08/pemograman-mobile.html

http://dinus.ac.id/repository/docs/ajar/01_PengenalanPemrogramanMobile.pdf

http://www.vedcmalang.com/pppptkboemlg/index.php/menuutama/teknologi-informasi/825-arsitektur-sistem-operasi-android

http://www.seputarit.com/macam-macam-sistem-operasi-mobile-smartphone.html

http://artikel.dikti.go.id/index.php/PKMKC/article/download/122/123


ANGGOTA KELOMPOK 2 :

  • IKMAM NUR FAUZI (15.11.0016)
  • BAGAS PRATIKTO (15.11.0019)
  • SUPRAYITNO (15.11.0032)
  • YUSUF BUDIAJI (15.11.0037)
  • UPIT LIANA SARI (15.11.0042)
  • EDI SUSANTO (15.11.0046)
  • ADIMAS DWI NUR HIDAYAH (15.11.0062)