0% menganggap dokumen ini bermanfaat (0 suara)
492 tayangan59 halaman

Pengenalan Mobile Programming

Diunggah oleh

Nathan Fam
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
492 tayangan59 halaman

Pengenalan Mobile Programming

Diunggah oleh

Nathan Fam
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 59

KATA PENGANTAR

Dunia saat ini berada pada era industri 4.0 yang lebih banyak menggunakan teknologi
digital dan Indonesia telah mempersiapkan diri untuk masuk ke dalam tahap industri
4.0 tersebut melalui agenda percepatan transformasi digital. Salah satu langkah yang
dilakukan dalam percepatan transformasi digital adalah penyiapan talenta digital.
Laporan Bank Dunia tahun 2019 menyatakan bahwa Indonesia memiliki kekurangan 9
juta pekerja berketerampilan teknologi informasi dan komunikasi, sehingga perlu
dilakukan penyiapan talenta digital untuk memenuhi kebutuhan tersebut dengan
alokasi 600.000 orang setiap tahun. Upaya penyiapan talenta digital dilakukan oleh
berbagai unsur baik pemerintah, institusi pendidikan, industri, komunitas masyarakat,
maupun media publik.

Sejak tahun 2018, Kementerian Komunikasi dan Informatika melalui Badan


Pengembangan SDM Kominfo menginisiasi Program Beasiswa Pelatihan Digital
bernama Digital Talent Scholarship (DTS) yang telah berhasil dianugerahkan kepada
lebih dari 300.000 penerima pelatihan bidang teknologi informasi dan komunikasi.
Program Digital Talent Scholarship ini ditujukan untuk memberikan pelatihan dan
sertifikasi berbagai tema pada bidang informatika, komunikasi, dan telekomunikasi,
serta diharapkan melengkapi pemenuhan kebutuhan talenta digital Indonesia.

Program DTS tahun 2024 secara garis besar dibagi menjadi delapan akademi, salah
satunya Vocational School Graduate Academy (VSGA). VSGA merupakan program
pelatihan berbasis kompetensi kerja nasional bagi lulusan pendidikan vokasi
SMK/sederajat dan diploma bidang Science, Technology, Engineering, Mathematics
(STEM) yang belum mendapatkan pekerjaan atau sedang tidak bekerja. Tujuan
Program VSGA adalah menyiapkan talenta digital dengan standar kompetensi sesuai
Standar Kompetensi Kerja Nasional Indonesia (SKKNI). Oleh karena itu, penyusunan
modul pelatihan untuk Program VSGA disusun dengan berbasis pada kompetensi
(Competency Based Training). Kami berpesan agar modul pelatihan berbasis
kompetensi yang telah disusun ini dapat menjadi referensi bagi peserta dan pengajar
agar pelatihan berjalan efektif dan efisien.

Selamat mengikuti Pelatihan Digital Talent Scholarship, mari persiapkan diri kita
menjadi talenta digital Indonesia yang kompeten.

Jakarta, Januari 2024


Kepala Badan Pengembangan SDM Kominfo
Kementerian Komunikasi dan Informatika Republik Indonesia

Dr. Eng. Hary Budiarto, M.Kom


Pendahuluan

Unit kompetensi ini berhubungan dengan pengetahuan, keterampilan, dan sikap kerja
yang dibutuhkan dalam membuat aplikasi berbasis mobile Android.

A. Tujuan Umum
Setelah mempelajari modul ini peserta latih diharapkan mampu membuat aplikasi
berbasis mobile sederhana.

B. Tujuan Khusus
Adapun tujuan mempelajari unit kompetensi melalui buku informasi Pelatihan Mobile
Programming ini guna memfasilitasi peserta latih sehingga pada akhir pelatihan
diharapkan memiliki kemampuan dalam menunjukkan platform operating system dan
bahasa pemrograman di dalam perangkat lunak (Dasar Platform mobile).

Latar belakang

Unit kompetensi ini dinilai berdasarkan tingkat kemampuan dalam merancang


mobile programming. Adapun penilaian dilakukan dengan menggabungkan
serangkaian metode untuk menilai kemampuan dan penerapan pengetahuan
pendukung penting. Penilaian dilakukan dengan mengacu kepada Kriteria Unjuk Kerja
(KUK) dan dilaksanakan di Tempat Uji Kompetensi (TUK), ruang simulasi atau
workshop dengan cara:
1.1 Lisan
1.2 Wawancara
1.3 Tes tertulis
1.4 Demonstrasi
1.5 Metode lain yang relevan.

Deskripsi Pelatihan

Materi ini berisi penjelasan mengenai cara menunjukkan Platform Operating Sistem
serta Bahasa Pemrograman di dalam Perangkat Lunak (Dasar Java untuk Mobile
Programming).

1
Tujuan Pembelajaran

Setelah pertemuan selesai peserta pelatihan mampu :

a. Peserta mampu menunjukkan arsitektur dasar sistem operasi berbasis mobile


sesuai dengan perangkat keras yang digunakan.

b. Peserta mampu menunjukkan platform sistem operasi berbasis mobile sesuai


dengan perangkat keras yang terkait.

c. Peserta mampu nenunjukkan security pada platform sistem operasi berbasis


mobile sesuai dengan perangkat keras yang digunakan

d. Peserta mampu merancang kebutuhan user berdasarkan spesifikasinya

Kompetensi Dasar

Cara menunjukkan Platform Operating Sistem serta Bahasa Pemrograman di dalam


Perangkat Lunak (Dasar Java untuk Mobile Programming)

Indikator Hasil Belajar

a. Peserta mampu menunjukkan arsitektur dasar sistem operasi berbasis mobile


sesuai dengan perangkat keras yang digunakan.

b. Peserta mampu menunjukkan platform sistem operasi berbasis mobile sesuai


dengan perangkat keras yang terkait.

c. Peserta mampu nenunjukkan security pada platform sistem operasi berbasis


mobile sesuai dengan perangkat keras yang digunakan

d. Peserta mampu merancang kebutuhan user berdasarkan spesifikasinya

2
INFORMASI PELATIHAN

Akademi Vocational School Graduate Academy

Mitra Pelatihan Perguruan Tinggi

Tema Pelatihan Junior Mobile Programmer

Sertifikasi Sertifikasi Kompetensi Junior Mobile Programming


dari BNSP

Persyaratan Sarana Peserta/spesifikasi device Laptop dengan spesifikasi:


Tools/media ajar yang akan digunakan
1. RAM minimal 4 GB (disarankan 8 GB)
2. Laptop dengan 32/64-bit processor
3. Laptop dengan Operating System Windows 7,8,10,
Linux, atau MAC OSX
4. Laptop dengan konektivitas WiFi dan memiliki
webcam
Akses Internet Dedicated 126 kbps per peserta per
perangkat

Aplikasi yang akan di gunakan selamat pelatihan 1. JDK (Java Development Kit)
2. Android Studio
3. Pencil
4. Sublime Text
5. XAMPP

Tim Penyusun ● Alif Akbar Fitrawan, S.Pd, M. Kom (Politeknik


Negeri Banyuwangi);
● Anwar, S.Si, MCs. (Politeknik Negeri
Lhokseumawe);
● Eddo Fajar Nugroho (BPPTIK Cikarang);
● Eddy Tungadi, S.T., M.T. (Politeknik Negeri Ujung
Pandang);
● Fitri Wibowo (Politeknik Negeri Pontianak);
● Ghifari Munawar (Politeknik Negeri Bandung);
● Hetty Meileni, S.Kom., M.T. (Politeknik Negeri
Sriwijaya) ;

3
● I Wayan Candra Winetra, S.Kom., M.Kom
(Politeknik Negeri Bali) ;
● Irkham Huda (Vokasi UGM) ;
● Josseano Amakora Koli Parera, S.Kom., M.T.
(Politeknik Negeri Ambon) ;
● I Komang Sugiartha, S.Kom., MMSI (Universitas
Gunadarma) ;
● Lucia Sri Istiyowati, M.Kom (Institut Perbanas) ;
● Maksy Sendiang,ST,MIT (Politeknik Negeri
Manado) ;
● Medi Noviana (Universitas Gunadarma) ;
● Muhammad Nashrullah (Politeknik Negeri
Batam) ;
● Nat. I Made Wiryana, S.Si., S.Kom., M.Sc.
(Universitas Gunadarma) ;
● Rika Idmayanti, ST, M.Kom (Politeknik Negeri
Padang) ;
● Rizky Yuniar Hakkun (Politeknik Elektronik
Negeri Surabaya) ;
● Robinson A.Wadu,ST.,MT (Politeknik Negeri
Kupang) ;
● Roslina. M.IT (Politeknik Negeri Medan) ;
● Sukamto, SKom., MT. (Politeknik Negeri
Semarang) ;
● Syamsi Dwi Cahya, M.Kom. (Politeknik Negeri
Jakarta) ;
● Syamsul Arifin, S.Kom, M.Cs (Politeknik Negeri
Jember) ;
● Usmanudin (Universitas Gunadarma) ;
● Wandy Alifha Saputra (Politeknik Negeri
Banjarmasin) ;

4
INFORMASI PEMBELAJARAN

Unit Kompetensi Materi Kegiatan Durasi Rasio Sumber


pembelajaran pembelajaran Pelatihan Praktek : pembelajaran
Teori

Modul dan Slide Daring/Online Live Class 2 60:40


Kebutuhan dalam dalam Sistem JP
membuat aplikasi Operasi, Bahasa LMS 4 JP
berbasis mobile Pemrograman, @ 45 Menit
Android. dan Dasar
pemrograman

Materi Pokok

Menunjukkan Platform Operating Sistem serta Bahasa Pemrograman di dalam Perangkat Lunak (Dasar
Java untuk Mobile Programming).

Sub Materi Pokok

1.1 Menunjukkan jenis platform sistem operasi berbasis mobile


1.2 Menentukan platform sistem operasi yang sesuai kebutuhan user
1.3 Menjelaskan bahasa pemrograman berbasis mobile

MENUNJUKKAN PLATFORM OPERATING SYSTEM DAN BAHASA PEMROGRAMAN DI


DALAM PERANGKAT LUNAK

A. Pengetahuan yang diperlukan dalam menunjukkan platform


operating system dan bahasa pemrograman di dalam perangkat
lunak
Menunjukkan jenis platform sistem operasi berbasis mobile
a. Karakteristik Mobile Device
Mobile devices have similar characteristics.
1) Portable, secara garis besar dapat diartikan sebagai Praktis, User
friendly, mudah dibawa kemana mana dan bersifat mandiri

5
2) Small size, Ukuran dan berat yang bisa dibawa dengan satu
tangan dan dapat dimanipulasi dengan tangan lainnya
3) Wi-Fi or Wireless Communication, memiliki koneksi tanpa kabel
dengan frekuensi tinggi standart IEEE
4) Hampir secara keseluruhan mobile device saat ini memiliki
interface touchscreen
5) Memory Terbatas, mungkin argument ini cocok digunakan untuk
ponsel ponsel kelahiran 2015 kebawah, dimana ponsel tersebut
memang memiliki RAM dan ROM yang terbatas, tetapi unutk
Ponsel saat ini mungkin sudah mendekati layaknya laptop, atau
bahkan sudah ada yang melebihi kelas laptop. Contoh misalnya
smatphone kita memiliki ram 4 GB dan ROM 128 GB, untuk
sekelas Smartphone ini merupakan suatu memory yang lebih
dari cukup.
6) Adanya virtual assistant, seperti Siri, Cortana atau Google
Assistant, bahkan dulu kita sering mendengar nama Jarvis di film
ironman 2 sebagai Virtual asisten,kalua sekarang virtual asisten
ironman di avenger end game bernama friday

b. Arsitektur dasar sistem operasi


Sistem Operasi mobile adalah software utama yang melakukan
manajemen dan kontrol terhadap hardware pada mobile device secara
langsung.

6
1) Jenis-jenis Sistem Operasi

a) Windows
Hampir 90% pengguna Sistem Operasi menggunakan Windows.
Diperkenalkan pada 1985 sudah Sistem operasi ini sudah mature
dan telah memiliki bagian-bagian software yang lengkap.
Kelebihan
● Kompatibilitas: Hampir setiap aplikasi, driver atau game akan
berfungsi di Windows.
● Dukungan teknis: Memiliki begitu banyak pengguna, mudah
menemukan seseorang (baik online atau offline) yang dapat
membantu dengan Windows.
● Banyak fungsi: Ketika mengenal Windows dengan baik, maka
akan menemukan bahwa ada begitu banyak fungsi yang dapat
dilakukan hampir semua hal dengan mudah.
Kelemahan:
● Virus: perlu membeli program antivirus, meskipun ada yang
gratis.
● Lambat: Windows, terutama Vista dan 7, membutuhkan banyak
sumber daya komputer (memori, prosesor, ruang disk), dan
dengan demikian, berjalan lebih lambat.
b) Macintosh
Sistem Operasi Macintosh dari Apple lebih tua dari Windows
merupakan sistem operasi berbasis grafis pertama yang sukses, yang
dirilis satu tahun sebelum Microsoft.
Kelebihan:
● Virus: Apple Mac hampir tidak memiliki virus.
● Reliabilitas: Mac hanya berjalan di komputer Apple, dan dengan
demikian kurang rentan terhadap kerusakan perangkat keras
dan perangkat lunak.

7
● Tampilan: Mac terlihat lebih baik daripada Windows.
Kekurangan:
● Mahal: biaya Mac lebih dari Windows.
● Hanya tersedia di komputer Apple: Jika Anda sudah memiliki
komputer, Anda tidak dapat menginstal MAC di atasnya kecuali
Apple.
● Kompatibilitas: Hanya beberapa program yang akan berjalan di
Mac, dan hampir tidak ada game.
c) Linux
Linux adalah jawaban GNU untuk Mac dan Windows. Linux gratis,
pengguna dapat mengunduh, memodifikasi, dan mendistribusikan
ulang tanpa biaya. Linux telah ditulis pada tahun 1991, dan
dioptimalkan untuk penggunaan modern (baik, lebih dari Windows
dan Mac).
Kelebihan:
● Harga: Linux adalah gratis (F-R-E-E). Pengguna dapat
mengunduh, menginstal, menggunakannya, memodifikasinya.
● Ragam: Linux bukan sistem operasi penuh. Itu hanya sebuah
kernel. Untuk menggunakan kernel, perangkat lunak tambahan
harus dipaketkan dengan Linux. Tersedia beberapa ratus bundel
ini (disebut “distribusi” atau hanya “distro”). Yang paling
populer termasuk Ubuntu, Mint dan Fedora. Hal yang baik
adalah, dengan begitu banyak rasa Linux yang berbeda, selalu
ada satu yang sesuai dengan kebutuhan pengguna
● Virus: Meskipun lebih rentan terhadap virus daripada Mac
(karena open source), Linux masih memiliki sangat sedikit virus.
Kekurangan:
● Rumit: Meskipun beberapa distro cukup mudah digunakan,
kebanyakan dari mereka akan membutuhkan banyak
pengetahuan komputer untuk membuatnya bekerja.
● Kompatibilitas: Seperti Mac, yang hanya mewakili beberapa
persen pangsa pasar, Linux tidak memiliki banyak program dan
game seperti Windows.

8
● Vendor: Pengguna tidak akan menemukan banyak vendor yang
menjual komputer Linux. Biasanya, Anda akhirnya harus
membeli komputer Windows, memformat ulang hard drive, dan
menginstal Linux sendiri.
d) Android
Android dikembangkan oleh Google Inc. Android adalah platform
Open Source, yang diturunkan dari Linux yang didukung oleh
Google, bersama dengan pengembang perangkat keras dan
perangkat lunak utama (seperti Intel, HTC, ARM, dan eBay, untuk
beberapa nama), yang membentuk Open Aliansi Handset. OS ini,
meskipun sangat baru, sudah memiliki sekte berikut di antara
programmer yang ingin mengembangkan aplikasi untuk, Open
Source, back end yang fleksibel. Android menjanjikan untuk
memberi pengembang akses ke setiap aspek operasi ponsel.
Kelebihan: Multitasking, Kemudahan akses ke ribuan aplikasi,
beragam pilihan telepon.
Kekurangan: Diperlukan koneksi Internet berkelanjutan, Iklan,
Rentang aplikasi masih dapat diperluas.
e) iOS
System operasi seluler yang dikembangkan oleh Apple Inc. dan
didistribusikan secara eksklusif untuk perangkat keras Apple.
Iphone menggunakan sistem operasi yang disebut iPhone OS, yang
berasal dari Mac OS X.
Kelebihan: Integrasi Twitter Langsung, Advance Voice Recognition,
Facetime untuk melakukan panggilan Video.
Kekurangan: Tidak ada dukungan flash, Tergantung pada perangkat
keras Apple, Proses Persetujuan Aplikasi sebagian besar adalah
kotak hitam untuk pengembang, facetime eksklusif untuk perangkat
yang didukung iOS.

9
Gambar 5
Perbandingan Sistem Operasi
(http://socialcompare.com/en/comparison/operating-system-1g1rzjcn)

c. Arsitektur Dasar Sistem Operasi berbasis mobile


1) Java Micro Edition
ConfiguratioN
menggambarkan fitur minimal runtime dasar dari suatu sistem J2ME,
merupakan core library, virtual machine, fitur keamanan dan jaringan.
● CDC(Connected Device Configuration)
● CLDC (Connected Limited Device Configuration)
Profile
memberikan library tambahan untuk suatu kelas tertentu pada
sebuah perangkat, seperti menyediakan user interface(UI) API,
persistence, messaging library
● MIDP 1.0 : Aplikasi berbasis text
● MIDP 2.0 : Aplikasi berbasis Multimedia

MIDlet
Aplikasi Java Micro Edition menggunakan teknologi MIDP
● public void startApp() {}
● public void pauseApp() { }
● public void destroyApp(boolean unconditional) { }

10
2) Android
Sistem operasi Android terdiri dari komponen perangkat lunak yang
diatur di stack. Komponen yang berbeda dari sistem operasi android
adalah:
● Kernel Linux
● Perpustakaan (libraries)
● Android Run time
● Kerangka Aplikasi (application framework)
● Aplikasi

11
Gambar 6
Arsitektur sistem operasi Android

a) Layer Applications dan Widget


Layer ini merupakan layer yang berhubungan dengan
aplikasi-aplikasi inti yang berjalan pada Android OS. Seperti klien
email, program SMS, kalender, browser, peta, kontak, dan lain-lain.
Semua aplikasi ini dibuat dengan menggunakan bahasa Java.
layer pertama pada OS Android, biasa dinamakan layer Applications
dan Widget. Layer ini merupakan layer yang berhubungan dengan
aplikasi-aplikasi inti yang berjalan pada Android OS. Seperti klien
email, program SMS, kalender, browser, peta, kontak, dan lain-lain.
Semua aplikasi ini dibuat dengan menggunakan bahasa Java. Apabila
kita membuat aplikasi, maka aplikasi itu ada di layer ini.
b) Layer Applications Framework
Applications Framework merupakan layer dimana para pembuat
aplikasi menggunakan komponen-komponen yang ada di sini untuk
membuat aplikasi mereka.
c) Libraries

12
Libraries merupakan layer tempat fitur-fitur android berada. Pada
umumnya libraries diakses untuk menjalankan aplikasi. Beberapa
library yang terdapat pada android diantaranya adalah libraries
Media untuk memutar media video atau audio, libraries untuk
menjalankan tampilan, libraries Graphic, libraries SQLite untuk
dukungan database, dan masih banyak library lainnya.
d) Android RunTime
Android RunTime terletak pada level yang sama dengan libraries,
dibagi menjadi dua bagian yaitu:
● Core Libraries : berfungsi untuk menerjemahkan bahasa
Java/C
● Dalvik Virtual Machine : sebuah mesin virtual berbasis
register yang dioptimalkan untuk menjalankan fungsi-fungsi
pada Android secara efisien.
e) Linux Kernel
Linux Kernel merupakan layer tempat keberadaan inti dari
operating system android. Kernel yang digunakan adalah kernel
Linux versi 2.6, dan versi 3.x pada Android versi 4.0 ke atas. Kernel
ini berbasis monolithic
Layer ini berisi file-file system yang mengatur system processing,
memory, resource, drivers, dan sistem android lainnya. Inilah yang
membuat file sistem pada Android mirip dengan file sistem pada
sistem operasi berbasis Linux.

Fitur Perangkat Keras Android


Touchscreen
Perangkat Android memiliki fitur layar sentuh (touchscreen) yang
memberikan beberapa kemungkinanan bagi pengguna untuk
berinteraksi dengan aplikasi dengan menggunakan jari. Pengguna
dapat melakukan swipe, flip, drag, dan pinch untuk zoom. Android
juga mendukung multitouch yang berarti keseluruhan layar dapat
disentuh dengan satu atau lebih jari pada saat yang bersamaan.
GPS

13
Sistem operasi Android mendukung GPS yang memungkinkan
developer untuk mengakses lokasi pengguna. Contoh aplikasi yang
memanfaatkan GPS adalah Aplikasi Peta (Map) yang menunjukkan
lokasi pengguna dan memberikan petunjuk untuk menuju suatu
lokasi.
Accelerometer
Android mendukung Accelerometer, yaitu perangkat yang digunakan
untuk mengukur percepatan. Accelerometer dapat memberitahukan
apabila suatu Perangkat Android bergerak, atau terguncang, atau
berbalik arah posisinya.
SD Card
Android memiliki fitur yang memungkinkan pengguna atau aplikasi
untuk mengakses (menyimpan atau membuka) file pada SD Card. SD
Card merupakan media penyimpanan medium yang digunakan
Perangkat Android dan beberapa perangkat mobile lain non Android
sebagai media penyimpanan.

3) IOS
IOS (Iphone Operating System) adalah sistem operasi perangkat keras
dari Apple. Awalnya dibuat hanya untuk Iphone. iOS kemudian
berkembang hingga bisa mendukung perangkat Apple yang lain
seperti IPod, touch,iPad dan Apple TV. Apple tidak melisensikan iOS
untuk digunakan di perangkat keras lain. Hal ini berbeda
dengan Android yang bisa ditemukan di berbagai merk perangkat
genggam.

iPhone OS memiliki empat lapisan abstraksi: lapisan OS Inti, lapisan


Layanan Inti, lapisan Media, dan lapisan Cocoa Touch. Sistem operasi ini
menggunakan sekitar 500megabyte penyimpanan perangkat.
Lapisan Cocoa Touch
Lapisan teratas dari layer OS iPhone dan berisi kerangka kerja yang
paling sering digunakan oleh pengembang aplikasi iPhone. Cocoa Touch

14
terutama ditulis dalam Objective-C, dan ini didasarkan pada standar
Mac OS X Cocoa API.
Lapisan Media
Lapisan kedua dari bagian atas layer, menyediakan OS iPhone dengan
audio, video, animasi dan kemampuan grafis. Seperti halnya lapisan lain
dari layer OS iPhone, lapisan Media terdiri dari sejumlah kerangka yang
dapat digunakan saat mengembangkan aplikasi iPhone.
Lapisan Layanan Inti
Lapisan ketiga iPhone menyediakan banyak fondasi di mana lapisan di
atas dibangun.
Lapisan OS Inti
Lapisan OS Inti adalah lapisan bawah dari layer OS iPhone dan langsung
berada di atas perangkat keras perangkat. Lapisan ini menyediakan
berbagai layanan termasuk jaringan tingkat rendah, akses ke aksesori
eksternal dan layanan sistem operasi dasar yang biasa seperti
manajemen memori, penanganan sistem file dan untaian.

Perangkat Keras iPhone


Perangkat keras dikelola oleh OS iPhone dan menyediakan teknologi
yang diperlukan untuk mengimplementasikan aplikasi asli di telepon.
OS dikirimkan dengan beberapa aplikasi sistem seperti Mail, Safari,
Phone, yang memberikan layanan standar kepada pengguna.

15
Gambar 7
Arsitektur sistem operasi IOS
https://codeingwithios.blogspot.com/2017/09/ios-layered-architecture.ht
ml

d. Perangkat keras Mobile


Setiap smartphone modern saat ini menggunakan Arsitektur Sistem pada Chip
(System on chip/SoC) dengan 3 komponen utama berikut:
1) Prosesor aplikasi yang mengeksekusi perangkat lunak aplikasi
pengguna dengan instruksi dari middleware dan sistem operasi (OS)
2) Sebuah prosesor baseband (atau modem) dengan komponen OS-nya
sendiri yang melakukan transmisi radio baseband dan penerimaan
audio, video, dan data
3) Berbagai perangkat periferal untuk antarmuka pengguna

16
:

Gambar 8
Arisitektur Perangkat mobile

Security (Enkripsi)
Enkripsi merupakan cara untuk menjaga kerahasiaan data dengan
mengubah data yang dapat dibaca (plaintext) menjadi tidak dapat dibaca
(chipertext) menggunakan algoritma dan kunci tertentu. Enkripsi ini
merupakan cara agar data yang ada pada smartphone kita terjaga
kerahasiaannya. Beberapa sistem operasi memiliki fitur enkripsi sebagian
yang mana maksudnya yaitu user dapat memilih data mana yang ingin
dijaga kerahasiaannya.

17
Menentukan platform sistem operasi yang sesuai kebutuhan user
a. Cara merancang kebutuhan user berdasarkan spesifikasinya
Agar proyek perangkat lunak berhasil, kebutuhan (requirement) harus
dikumpulkan dan dianalisis secara profesional. Dokumen Persyaratan
Pengguna (User Requirement Document) atau Spesifikasi kebutuhan
pengguna (User Requirement Spesification/URS) adalah dokumen yang
biasanya digunakan dalam rekayasa perangkat lunak yang menentukan
harapan pengguna terhadap apa yang dapat dilakukan oleh perangkat
lunak. URS merupakan dokumen kunci di seluruh siklus hidup
pengembangan sistem yang diperlukan untuk bisnis (perlindungan
investasi) dan alasan regulasi (mendefinisikan tujuan yang
dimaksudkan).
Persyaratan harus spesifik dan sesuai untuk sistem yang diinginkan.
Prinsip SMART umumnya harus diikuti ketika menulis persyaratan
● Specific (Spesifik)
● Measurable (Terukur)
● Achievable (Dapat diraih)
● Realistic (Realistis)
● Testable (Dapat diuji)

Panduan dalam menyusun URS:


● Setiap pernyataan persyaratan harus direferensikan secara unik.
● URS harus konsisten dan pernyataan persyaratan tidak boleh
diduplikasi atau bertentangan.
● Fokusnya harus pada apa yang diperlukan, bukan bagaimana hal itu
harus dicapai.
● Setiap persyaratan harus dapat diuji. Ini memungkinkan pengujian
dirancang segera setelah URS selesai.
● URS harus ditulis sedemikian rupa sehingga pelanggan dan vendor
dapat memahami dokumen.
● Persyaratan harus diprioritaskan sebagai wajib atau diinginkan.
● URS harus dimodifikasi tetapi perubahan harus di bawah prosedur
kontrol formal.

18
Dalam urutan kronologis, tujuh topik mendasar yang harus
dieksplorasi sebagai bagian dari proses pengumpulan persyaratan
adalah:
1. Output yang harus dihasilkan oleh aplikasi
2. Input yang akan masuk ke aplikasi perangkat lunak
3. File-file logis yang harus dikelola oleh aplikasi
4. Entitas dan hubungan yang akan ada di file logis dari aplikasi
5. Jenis pertanyaan yang dapat digunakan dengan aplikasi
6. Antarmuka antara aplikasi dan sistem lain
7. Algoritma utama yang harus ada dalam aplikasi

Beberapa hal yang juga perlu dieksplorasi dan diputuskan selama fase
persyaratan. Beberapa di antaranya adalah persyaratan nonfungsional,
dan beberapa persyaratan bisnis diperlukan untuk menentukan
apakah pendanaan harus disediakan untuk aplikasi. Topik tambahan
ini antara lain:
1) Ukuran aplikasi dalam poin fungsi dan kode sumber
2) Jadwal aplikasi mulai dari persyaratan hingga pengiriman
3) Staf tim pengembangan, termasuk spesialis utama
4) Biaya aplikasi berdasarkan aktivitas dan juga dalam hal biaya per
poin fungsi
5) Nilai bisnis dari aplikasi dan laba atas investasi (ROI)
6) Nilai non finansial, seperti keunggulan kompetitif dan loyalitas
pelanggan
7) Risiko utama yang dihadapi aplikasi, yaitu, penghentian,
penundaan, overruns, dan sebagainya
8) Fitur aplikasi yang kompetitif oleh pesaing bisnis
9) Metode pengiriman, seperti SOA, SaaS, disk, unduhan, dan
sebagainya
10)Rantai suplai aplikasi, atau aplikasi terkait di hulu atau hilir
11)Persyaratan warisan yang berasal dari aplikasi yang lebih lama
digantikan

19
12)Hukum dan peraturan yang memengaruhi aplikasi (yaitu,
undang-undang perpajakan, privasi, dll.)
13)Tingkat kualitas dalam hal cacat, keandalan, dan kemudahan
penggunaan kriteria
14)Fitur penanganan kesalahan dalam kasus kesalahan pengguna atau
pemadaman listrik, dan sebagainya
15)Ketentuan garansi aplikasi dan tanggapan atas klaim garansi
16)Platform perangkat keras tempat aplikasi akan beroperasi
17)Platform perangkat lunak (s), seperti sistem operasi dan basis data
18)Kriteria nasionalisasi, atau jumlah versi bahasa asing
19)Kriteria keamanan untuk aplikasi dan basis data pendampingnya
20)Kriteria kinerja, jika ada, untuk aplikasi
21)Persyaratan pelatihan atau bentuk materi tutorial yang mungkin
diperlukan
22)Prosedur penginstalan untuk memulai dan menginisialisasi aplikasi
23)Kriteria penggunaan kembali untuk aplikasi dalam hal kedua bahan
yang digunakan kembali ke dalam aplikasi dan juga apakah fitur
aplikasi dapat ditujukan untuk digunakan kembali berikutnya oleh
aplikasi hilir
24)Kasus penggunaan atau tugas utama yang diharapkan dapat
dilakukan oleh pengguna melalui aplikasi
25)Aliran kontrol atau urutan informasi yang bergerak melalui aplikasi
26)Kemungkinan persyaratan masa depan untuk rilis selanjutnya
27)Tingkat bahaya dari setiap persyaratan yang mungkin berpotensi
“beracun”
28)Harapan hidup aplikasi dalam hal kehidupan layanan sekali
digunakan
29)Proyeksi total biaya kepemilikan (TCO) dari aplikasi
30)Frekuensi rilis untuk fitur dan perbaikan baru (setiap tahun, setiap
bulan, dll.)

b. Cara menentukan platform sistem operasi untuk mengembangkan


aplikasi mobile

20
Hal yang perlu dilakukan saat membuat aplikasi mobile adalah
memilih sistem operasi. Banyak platform yang ada saat ini seperti
pada gambar 9, dalam buku informasi ini dibahas pasar platform
seluler saat ini yaitu iOS dan Android.

Gambar 9
Pasar global Sistem Operasi mobile 2009 – 2017

Ketika memilih platform perlu mempertimbangkan hal-hal berikut:


a. Audiens target. Lakukan penelitian dan buat profil pelanggan.
Perhatikan kriteria geografis karena mungkin yang paling penting bagi
Anda. Platform sangat bervariasi menurut wilayah.

Gambar 10
Peta pengguna Andorid dan iOS di dunia

b. Perilaku pengguna (User behavior)


Perilaku pengguna berbeda-beda tergantung pada OS dan juga negara.
Jika mengembangkan aplikasi gratis tanpa monetisasi apa pun, maka

21
mungkin tidak penting untuk mengetahui di mana orang cenderung
membeli aplikasi dan melakukan pembelian dalam aplikasi. Pengguna
Apple lebih cenderung menghabiskan uang untuk aplikasi. Pengguna
Android cenderung menggunakan aplikasi gratis dan tidak mau
membeli apa pun dari Google Play Store atau melakukan pembelian
dalam aplikasi.
c. fitur (Features)
Pertimbangkan fitur yang diperlukan serta pengalaman pengguna dan
bandingkan dengan kemampuan platform tertentu. Jika ingin
mengembangkan aplikasi khusus dengan tampilan dan nuansa asli,
pertimbangkan solusi seperti iOS, Android, WP. Aplikasi asli selalu
berkinerja terbaik.
Jika mengikuti pendekatan “run-once-run-everywhere” lebih lanjut,
pertimbangkan pengembangan lintas platform. Namun perlu disadari
bahwa tidak semua fitur, yang dapat dengan mudah
diimplementasikan, didukung oleh solusi lintas platform.
d. Biaya pengembangan (The cost of development)
Harga pengembangan aplikasi bergantung pada fitur dan desain
aplikasi, bukan pada bahasa pemrograman atau sistem operasi.
Untuk mendapatkan perkiraan biaya pembangunan yang tepat, Anda
dapat melipatgandakan tarif per jam tim Anda dengan perkiraan
waktu pengembangan. Tidak ada cara lain untuk menentukan harga
tanpa membuat perhitungan untuk proyek tertentu.
e. Perangkat yang akan didukung (Devices you need to support)
Perangkat yang didukung Android sejumlah 160 item dan terus
berusaha untuk meningkatkan jumlah ini, Apple memiliki strategi
yang berbeda. IOS 9 mendukung 15 perangkat, di antaranya terdapat
berbagai versi iPad, iPhone dan iPod. Melihat persaingan dua
pemegang pasar utama ini, jelas bahwa itu merupakan tantangan
untuk menyesuaikan aplikasi untuk setiap gadget. Windows Phone 8.1
berfungsi pada 100 perangkat, sementara Blackberry hanya didukung
oleh 10. Windows phone dan blackberry sudah semakin menurun,
beberapa aplikasi paling populer seperti WhatsApp menolak untuk

22
mendukungnya. Untuk mengembangkan aplikasi lintas platform, perlu
menyesuaikan dengan semua perangkat itu secara bersamaan.
f. Biaya tambahan terkait dengan pemrograman (Additional costs
related to programming)
Salah satu hal yang perlu dipertimbangkan asalah adalah biaya
tambahan yang terkait dengan pengembangan aplikasi. Untuk
mengirimkan aplikasi ke toko aplikasi, Anda harus membeli akun
pengembang. Google Play mengenakan biaya $ 25 untuk layanan ini,
Apple membenakan biaya $ 100 untuk akun pengembang dan $ 299
untuk Program Perusahaan.
g. Moderasi (Moderation)
Aplikasi iOS selalu sangat dimoderasi. Apple memiliki aturan tertentu
tentang bagaimana aplikasi harus berperilaku agar dapat dikirimkan
ke pasar mereka. Jika tidak sesuai dengan mereka, kemungkinan besar
akan ditolak. Anda dapat dengan mudah menemukan Pedoman
Peninjauan App Store di situs web resmi mereka. Misalnya, mereka
tidak akan menerima aplikasi yang mogok atau berisi spanduk ID
kosong. Apple membutuhkan waktu hingga 10 hari untuk memeriksa
sebuah proyek dan menerima atau menolak pengirimannya.
Lain halnya dengan Google Play yang juga memiliki pedoman tertentu,
tetapi pasar ini terlibat dalam rumor buruk tentang banyak aplikasi
pembajakan. Ini dapat dijelaskan oleh sistem moderasi yang lemah.
Selain itu, pengguna dapat dengan mudah mengunduh file .apk dari
aplikasi apa pun dan menginstalnya ke perangkatnya.
h. Harapan pengguna (User expectations)
Tergantung pada platform dan pembuatnya, pengguna memiliki
harapan tertentu dari aplikasi di perangkat mereka. Jika ingin
membuat pengguna merasa puas, pertimbangkan harapan mereka.
Misalnya, Apple terkenal dengan kualitas dan inovasi kelas atas.
Pengikut merek sangat setia dan berkomitmen terhadap layanan
perusahaan dan berharap untuk mengalami desain trendi dan
kegunaan ekstrem dari aplikasi yang mereka gunakan. Mereka
bersedia menjadi yang pertama dalam hal inovasi dan siap membayar

23
lebih untuk mendapatkannya. Pengguna aplikasi Android tidak suka
membelanjakan uang untuk aplikasi atau pembelian dalam aplikasi.
Mereka lebih suka desain bergaya material dan gratisan.
i. Technical specifications
Saat merancang aplikasi Android, desainer umumnya mengikuti
Pedoman Desain Material (Material Design Guidelines) dari Google,
yang menentukan ukuran tabel, jarak ikon, rekomendasi palet warna,
dan banyak hal lainnya. Untuk iOS, desainer dapat merujuk pada
Pedoman Antarmuka Manusia (Human Interface Guidelines) dari
Apple. Panduan ini tidak mendikte detail, melainkan menawarkan
rekomendasi untuk mencapai desain intuitif.
Tiga perbedaan utama antara Pedoman Desain Material dan Pedoman
Antarmuka Manusia:
1) Kedalaman dan persepsi. Google menganjurkan desain material,
yang menyerupai lembaran kertas yang ditumpuk di atas satu sama
lain. Apple lebih memilih desain yang memiliki kedalaman. Di iOS,
garis tipis dan margin kabur membuat elemen tampak mengapung
di ruang mereka sendiri.
2) Animasi. Google ingin animasi untuk meningkatkan pengalaman
pengguna dan memeriahkan desain; lampu dan getaran
menciptakan pengalaman pengguna yang lebih praktis. Apple
melihat animasi sebagai sesuatu dengan utilitas murni. Di iOS,
animasi harus sederhana dan diskrit.
3) Navigasi. Google yang menggunakan navigasi agak santai. Itu bisa di
mana saja; hanya membuatnya jelas. Kebebasan ini dapat
meningkatkan kreativitas tetapi juga dapat mengarah pada desain
yang tidak begitu ramah pengguna. Apple membatasi opsi navigasi,
membuat perancang berpikir dengan hati-hati tentang fungsi apa
yang harus disertakan. Tetapi pembatasan ini biasanya mengarah
pada desain yang nyaman dan intuitif.
j. Fragmentasi perangkat dan platform
Android adalah platform terbuka. Pengembang dapat menggunakan
kode sumber Android untuk menyesuaikan sistem operasi Android.

24
Lingkungan terbuka merupakan kelebihan namun dapat membuat
pengembangan mobile menjadi bermasalah karena:
1) Produsen smartphone cenderung mengubah Android agar sesuai
dengan perangkat mereka, yang memaksa pengembang untuk
menyesuaikan aplikasi agar mereka bekerja pada smartphone dan
tablet tertentu;
2) Beberapa perangkat memiliki komponen yang lebih murah
(seperti prosesor dan kamera), yang dapat menyebabkan bug atau
memperlambat aplikasi, membuat aplikasi kurang menarik bagi
sebagian pengguna.

Gambar 11
Platform OS Android dan iOS

Menjelaskan bahasa pemrograman berbasis mobile


Pemrograman Mobile adalah pemrograman yang ditujukan untuk
pembuatan aplikasi diperangkat mobile. Diterapkan di
mobile/Handphone atau Laptop.
Contoh pemrograman mobile :
● Android menggunakan beberapa Bahasa pemrograman yaitu C++, Java,
Kotlin dll
● IOS menggunakan bebrapa Bahasa pemrograman yaitu C++,
Objective-C, Swift
● Windows Phone, bahasa yang digunakan adalah bahasa pemograman
C# dan juga Visual Basic. Dan untuk mendesign dan membuat

25
animasinya kita bisa menggunakan Silverlight yang ada di Micosoft
Expression Blend.
● Blacberry menggunakan bebrapa Bahasa pemrograman yaitu C++, Java.

Beberapa faktor utama yang mempengaruhi pemilihan bahasa pemrograman


tertentu adalah:
• Keseluruhan strategi pengembangan aplikasi seluler native, cross
platform, hybrid dan sebagainya
• Skill set dari tim pengembangan
• Sasaran pengguna aplikasi dan dukungan platform yang dipilih
• Kebutuhan khusus aplikasi.
• Kategori aplikasi : Utility, games, B2B atau B2C dan lainnya.

a. menentukan jenis bahasa pemrograman pemrograman berbasis


mobile
1) Bahasa pemrograman
Bahasa pemrograman adalah kosakata dan seperangkat aturan
gramatikal (sintaksis) untuk menginstruksikan komputer untuk
melakukan tugas-tugas tertentu dan digunakan untuk membuat
program komputer.
Program harus diubah menjadi bahasa mesin sehingga komputer
dapat memahaminya. Ada dua cara untuk melakukan ini yaitu
kompilasi (Compile) program menafsirkan (Interpret).
Bahasa Pemrograman mana yang sesuai dengan Strategi
Pengembangan Aplikasi Mobile? Jika kita ingin mendevelop aplikasi
IOS maka pelajari Bahasa pemrograman yang digunakan IOS.
Jika kita ingin mendevelop aplikasi IOS maka pelajari Bahasa
pemrograman yang digunakan IOS
Sama halnya jika kita ingin mendevelop aplikasi Android maka kita
pelajari Bahasa pemrograman yang support untuk android
Tetapi jangan coba coba untuk mendevelop aplikasi Blackberry, sebab
smatphone tersebut sudah jarang dipasarkan,

26
Ketika kita ingin menjadi pengembang aplikasi, lebih baik untuk
kedepan kita harus menguasai dasar dan konsep dari mobile
programing
Jika dilihat secara keseluruhan, Bahasa programming C,C++ terdapat
di semua platform mobile application, begitu pula Bahasa
pemrograman Java
Hanya saja standar pemrograman antar platform memiliki beberapa
perbedaan, misalnya android dengan apple.

b. membandingkan perbedaan bahasa pemrograman berbasis


mobile
Perangkat seluler adalah platform yang tumbuh paling cepat di industri
TI. Karena semakin banyak orang yang memilih Apps untuk memperluas
bisnis mereka di tingkat global, industri pengembangan aplikasi seluler
mendapatkan popularitas yang sangat besar. Tujuan utama dari pembuat
perangkat lunak adalah untuk mengembangkan aplikasi yang berjalan
pada smartphone, tablet dan smartwatches yang baru.
Pemilihan bahasa pemrograman yang tepat untuk digunakan untuk
pengembangan aplikasi Mobile menjadi perhatian utama bagi para
pengembang aplikasi. Pemilihan bahasa pemrograman tidak hanya
tergantung pada bahasa tetapi juga tergantung pada sistem operasi yang
berbeda yang mendukung bahasa-bahasa pemrograman tersebut.
Tantangannya adalah memilih bahasa pemrograman yang tepat. Sistem
Operasi Mobile dan bahasa pemrograman:
o Java Micro Edition (sebelumnya J2ME)
o NET Compact Framework : C++, C#, VB.NET untuk Windows
Mobile
o Qualcomm’s BREW : C atau C++
o Symbian : C++
o BlackBerry : Java
o Android : Java

27
o iPhone : Objective-C, Swiftt

1) Swift
Swift, dirilis oleh Apple Inc. Pada Juni 2014 adalah bahasa
pemrograman utama yang digunakan untuk mengembangkan
aplikasi iOS dan OSX. Swift adalah salah satu bahasa yang cepat
berkembang. Permintaan untuk pengembang Swift telah meningkat
secara dan menyebabkan mereka menjadi pengembang yang paling
banyak dipekerjakan. Swift berfungsi di Linux dan hanya tersedia
untuk pengembangan iOS
Fitur-fitur utama:
• Open source.
• Mudah jika sudah memehami Objective-C.
• masa depan dari pengembangan iOS
• Perawatan mudah
• Swift membutuhkan lebih sedikit pengkodean (coding) dibandingkan
dengan bahasa lain

2) Python
Python adalah bahasa tingkat tinggi yang kuat yang mudah dipelajari dan bagus
dalam hal keterbacaan (readability). Semua jenis aplikasi seluler dapat dibuat
dengan Python. Python adalah salah satu bahasa yang paling mudah dipelajari
untuk membuat aplikasi Android dan Desktop.
Situs terkenal seperti Dropbox, BitTorrent, Instagram, dan Quora dibuat dengan
Python.
Fitur-fitur utama:
● Berorientasi objek dan bahasa interaktif
● Mudah dipelajari dan mudah dibaca
● Berjalan di Windows, Mac, Unix, dan Linux
● Scalable
● Mendukung aplikasi GUI

3) Java

28
It is most suitable language because it runs on all the platforms including the all
the versions of Android. Apart from Android apps, developers can create server
apps, web apps, games, websites, big data technology, etc.
Java adalah bahasa pemrograman pengembangan aplikasi seluler yang paling
banyak digunakan. Jadi seseorang memiliki pengetahuan tentang Java, niscaya
akan dapat membuat aplikasi Android dari semua jenis. Java adalah bahasa yang
paling cocok (suitable) karena dapat berjalan di semua platform termasuk
semua versi Android. Selain aplikasi Android, pengembang dapat membuat
aplikasi server, aplikasi web, game, situs web, teknologi big data, dll.
Fitur-fitur utama:
• Bahasa berorientasi objek.
• Mendukung integrasi API.
• Berjalan di semua platform
• Mudah dipelajari dan dibaca.
• Java menyediakan rich dokumentation.
• Banyak pakar tersedia di komunitas Android.
• Powerful IDEs
• IDE membuat coding mudah dan bebas dari kesalahan.

4) PHP
Hypertext Preprocessor (PHP) adalah open source bahasa scripting server-side
(server-side scripting open source language). Sengaja dikembangkan untuk
membuat situs web, tetapi sekarang digunakan untuk pengembangan tujuan
umum. Ini membantu dalam membuat situs web dinamis, aplikasi web, dan
semua jenis aplikasi seluler. Banyak Sistem Manajemen Konten menampilkan
PHP sebagai bahasa pemrograman mereka.
Dengan PHP, seseorang dapat membuat GUI, aplikasi Facebook, PDFs,
WordPress dan plugin Joomla, situs web e-commerce dan banyak lagi.
Fitur-fitur utama:
• Open-source
• Uses Object-oriented and procedure oriented approaches
• Independent of platform
• Easy-to-learn

29
• Integration with database is easy
• Have numerous uses
• Server compatibility

5) JavaScript
JavaScript adalah bahasa pemrograman tingkat tinggi yang diinterpretasi.
Mendukung pemrograman berorientasi objek dan fungsional. JavaScript
dijalankan oleh browser yang digunakan untuk mengembangkan dan
mengontrol halaman web. Aplikasi seluler dapat dibuat hanya dengan JavaScript
bila digunakan dengan CSS, HTML, dan AJAX untuk membuat aplikasi seluler.
Beberapa framework membuat aplikasi JavaScript profesional seperti jQuery
Mobile, angular js, Iconic, dll.
Fitur-fitur utama:
• Salah satu bahasa yang paling mudah.
• Cepat dan efisien.
• Kode satu kali dan kemudian dijalankan di semua platform
• Dieksekusi pada sisi-klien.
• Menghemat bandwidth dengan tidak menggunakan server.
• Digunakan membuat animasi dan dinamis pada situs web yang
membosankan.

6) Kotlin
Kotlin terhitung baru dalam dunia bahasa pemrograman untuk pengembangan
aplikasi seluler. Dianggap sebagai era baru dalam pengembangan aplikasi
Android, merupakan masa depan. Google mendukung Kotlin sebagai bahasa
pemrograman pengembangan aplikasi Android ”first-class”. Basis Kotlin adalah
Java Virtual Machine (JVM), diharapkan menjadi hal besar dalam pemrograman
untuk Android. Karena berbasis JVM maka Kotlin dapat dijalankan pada hampir
semua Platform OS.

Fitur-fitur utama:
• Open-source
• Membutuhkan lebih sedikit pengkodean

30
• Mudah dipelajari dan beradaptasi
• Aman digunakan karena keamanannya yang bebas gangguan
• Tanpa biaya adopsi
• Menyediakan fungsi ekstensi
• Java Interoperability penuh
• Hasil Aplikasi dapat dijalankan pada Plaform Android.

Kelebihan Kotlin
Kelebihan dari kotlin dibandingkan dengan bahasa pemrogaman lainnya (dalam
hal ini Java) dapat di simpulkan ke dalam poin-poin berikut :
Concise : Kotlin mampu mengurangi boilerplate of code atau tingkat kerumitan
dari kode yang biasa kita tulis, ketika menggunakan bahasa Java
Safe : Kotlin mampu menjamin bahwa setiap syntax yang kita tulis secara proses
kompilasi dapat mencegah kemungkinan terjadinya error, misalnya mampu
mencegah terjadinya NullPointerExceptions ketika kita coding menggunakan
bahasa Java
Versatile : Kotlin sejatinya sama seperti Java, karena memang kotlin itu sendiri
di turunkan dari bahasa induknya, yaitu Java. Sehingga kotlin juga dapat di pakai
dalam pengembangan aplikasi di Web maupun Mobile
Interoperable : Kotlin tidak sama seperti bahasa Java turunan lainnya (misal;
Scala ataupun Clojure) yang tidak dapat dijalankan bersamaan dengan kode
yang kita tulis menggunakan Java. Kotlin mampu membaca kode lama
atau library yang kita gunakan atau kita tulis dengan bahasa Java dan begitupun
sebaliknya

Sebelum memilih salah satu bahasa pengembangan aplikasi seluler yang ada,
pertimbangkan persyaratan klien dan platform yang ditargetkan. Juga, pilih
bahasa pemrograman dengan cara membangun kemampuan pengembang yang
membuat aplikasi seluler berkualitas tanpa kompromi.

Beberapa faktor utama yang mempengaruhi pemilihan bahasa


pemrograman tertentu adalah:

31
• Keseluruhan strategi pengembangan aplikasi seluler native, cross
platform, hybrid dan sebagainya
• Skill set dari tim pengembangan
• Sasaran pengguna aplikasi dan dukungan platform yang dipilih
• Kebutuhan khusus aplikasi.
Kategori aplikasi : Utility, games, B2B atau B2C dan lainnya.

Komponen Alta Bantu Pengembangan:


Hardware:
Komputer development, mobile device
Software /Tool Pengembangan:
▪ Windows Phone : Windows Phone SDK, Visual Studio Express
Expression Blend (hanya di windows)
▪ iOS : xCode , iOS SDK
▪ Android : Java JDK, Android SDK, Eclipse IDE, Android ADT, Android
Studio IDE
▪ Java Micro Edition : Java JDK, Java Micro Edition SDK, Netbeans IDE,
Eclipse
▪ Blackberry : Eclipse, Blackberry Plugin, Blackberry Simulatior
Pemilihan Platform :
Android, iOS, Blackberry, Windows Phone, Symbian

1. Cara menghasilkan alur program untuk pembuatan aplikasi berbasis


mobile
a. Alur Program
Alur progarm adalah suatu bagan dengan simbol tertentu yang
menggambarkan urutan proses secara detail dan hubungan antara suatu
proses dengan proses lainnya dalam suatu program.
Dalam membuat diagram alur tidak ada rumus dasar yang mutlak karena
pada dasarnya adalah gambaran hasil pemikiran (logika) manusia dalam
menganalisa masalah.

32
b. Cara Pemecahan masalah
Proses pemcehan masalah dengan algoritma tertentu hingga menjadi program
dapat dibagi dalam sebilan tahap (Thomspson Susabda Ngoen, 2008:6) :
1) Mendefinisikan Masalah. Masalah yang ingin dipecahkan harus jelas
lingkupnya.
2) Membuat Model. Model yang dimaksud adalah model (bentuk)
matematis yang dapat digunakan untuk memecahkan masalah, misalnya
apakah harus dilakukan pengurutan terhadap data, apakah
menggunakan perhitungan kombinatorik dan sebagainya.
3) Merancang algoritma (flowchart/pseudocode). Yang perlu
dipertimbangkan dalam merancang algoritma adalah masukannya
bagaimana rincian prosesnya, apa keluarannya.
4) Menulis program. Merubah algoritma menjadi program (source code)
sesuai dengan bahasa pemrograman tertentu.
5) Mengubah source code menjadi executable code melalui proses
compiling.
6) Memeriksa hasil compiling, jika salah maka kembali ke tahap empat.
7) Menjalankan program (run) untuk diuji kebenarannya dengan
menggunakan berbagai data
8) Memperbaiki kesalahan
Apabila hasilnya tidak seuai dengan keluaran yang diharapkan,
kesalahan mungkin terjadi saat konversi rancangan algoritma manjadi
program, atau salah rancang algoritma, atau salah menentukan model,
atau salah mendefinisikan masalah. Ulangi langkah yang sesuai.
9) Membuat dokumentasi

33
Gambar 18
Tahapan pembuatan algoritma hingga program

2. Cara menentukan konsep variabel dan konstanta dalam salah satu bahasa
pemrograman
a. Dasar Java Android
Java adalah bahasa pemrograman yang terkenal, dibuat pada tahun 1995.
Dimiliki oleh Oracle. Java dapat digunakan untuk :
o Aplikasi Mobile (spesial Android apps)
o Aplikasi Desktop
o Aplikasi Web
o Web Server dan Application server
o Game
o Koneksi Basisdata, dll
Beberapa alasana menggunakan Java?
o Java berfungsi pada berbagai platform (Windows, Mac, Linux,
Raspberry Pi, dll.)
o Salah satu bahasa pemrograman paling populer di dunia
o Mudah dipelajari dan mudah digunakan
o Open-source dan gratis
o Aman, cepat dan kuat
o Memiliki dukungan komunitas yang sangat besar (puluhan juta
pengembang)
b. Sintaks Java

34
kode berikut untuk mencetak "Hello World" ke layar:

c. Java Comment
Komentar dapat digunakan untuk menjelaskan kode Java, dan membuatnya
lebih mudah dibaca. Juga dapat digunakan untuk mencegah eksekusi ketika
menguji kode alternatif. Komentar baris tunggal dimulai dengan dua garis
miring (//). Teks apa pun antara // dan akhir baris diabaikan oleh Java (tidak
akan dieksekusi).

d. Java Multi-line Comments


Komentar banyak baris dimulai dengan / * dan diakhiri dengan * /.
Teks apa pun antara / * dan * / akan diabaikan oleh Java.

// This is a comment
/* The code below will print the words Hello World
to the screen, and it is amazing */
System.out.println("Hello World");

Public class myclass” merupakan pembuatan class dengan nama Myclass


yang bersifat Publik(bias diakses siapa saja)
“Public static void main(string[] args)” pembuatan void main yang akan
dieksekusi dengan tpie data string
{system.out.println(“hello world”); merupakan isi dari void main, yaitu
perintah untuk system agar mencetak kalimat “Hello World”

d. Konsep Variabel
Variabel adalah wadah untuk menyimpan nilai data. Ada berbagai jenis
variabel, misalnya:
o String - menyimpan teks, seperti "Halo". Nilai string ditandai oleh tanda
kutip ganda

35
o int - Integer (bilangan bulat), tanpa desimal, seperti 123 atau -123
o float - menyimpan angka floating point, dengan desimal, seperti 19,99
atau -19,99
o char - menyimpan karakter tunggal, seperti 'a' atau 'B'. Nilai-nilai Char
ditandai oleh tanda kutip tunggal
o boolean - menyimpan nilai dengan dua status: benar atau salah

Mendeklarasikan variabel
Untuk membuat variabel, Anda harus menentukan tipe dan memberinya
nilai:
Sintaksis: type variable = value;
Untuk membuat variabel yang harus menyimpan teks, misalnya memuat
variabel bernama nama tipe String dan berikan nilai "John":
String name = "John";
System.out.println(name);
Contoh Lain :
int myNum = 5;
float myFloatNum = 5.99f;
char myLetter = 'D';
boolean myBool = true;
String myText = "Hello“

Untuk menampilakan variabel sering digunakan metode println () dan untuk


menggabungkan teks dan variabel, gunakan karakter +:

String name = "John";


System.out.println("Hello " + name);
Java Identifiers
Semua variabel Java harus diidentifikasi dengan nama unik. Nama-nama unik
ini disebut identifiers. Identifiers dapat berupa nama pendek (seperti x dan
y) atau nama yang lebih deskriptif (usia, jumlah, total Volume).
Aturan umum untuk membuat nama untuk variabel (unique identifiers)
adalah:

36
o Nama dapat berisi huruf, angka, garis bawah, dan tanda dolar
o Nama harus dimulai dengan huruf
o Nama juga dapat dimulai dengan $ dan _ (tetapi tidak dalam tutorial
ini)
o Case-sensitive ("myVar" dan "myvar" adalah variabel yang berbeda)
o Nama harus dimulai dengan huruf kecil dan tidak boleh mengandung
spasi
o Kata-kata yang dicadangkan (seperti kata kunci Java, seperti int atau
String) tidak dapat digunakan sebagai nama
Tipe Data
Jenis Tipe data dibagi menjadi dua kelompok:
1) Tipe data primitif, seperti byte, short, int, long, float, double, boolean dan
char
Tipe data primitif menentukan ukuran dan jenis nilai variabel, tidak
memiliki metode tambahan.

2) Tipe data non-primitif - seperti String, Array, dan Class


Tipe data non-primitif disebut tipe referensi karena merujuk pada objek.
Perbedaan utama antara tipe data primitif dan non-primitif adalah:
o Tipe primitif sudah ditentukan sebelumnya (sudah ditentukan) di
Jawa. Tipe non-primitif dibuat oleh programmer dan tidak
didefinisikan oleh Java (kecuali untuk String).
o Tipe non-primitif dapat digunakan untuk memanggil metode untuk
melakukan operasi tertentu, sedangkan tipe primitif tidak bisa.

37
o Tipe primitif selalu memiliki nilai, sedangkan tipe non-primitif bisa
menjadi nol.
o Tipe primitif dimulai dengan huruf kecil, sedangkan tipe non-primitif
dimulai dengan huruf besar.
o Ukuran tipe primitif tergantung pada tipe data, sedangkan tipe
non-primitif memiliki semua ukuran yang sama.
o Contoh tipe non-primitif adalah String, Array, Class, Interface, dll.
Keyword final
Pengubah non-akses yang digunakan untuk kelas, atribut, dan metode, yang
membuatnya tidak dapat diubah (tidak mungkin diwariskan atau ditimpa)
Final pada variable
class Lingkaran {
final double PI = 3.14;
}
Final Pada Method
class Kampus {
final void tampil() {
System.out.println(“I LOVE JAVA”) }
}
Final pada class
class Kampus {
final void tampil() {
System.out.println(“I LOVE JAVA”) }
}

Operator Java
Operator Aritmatika digunakan untuk melakukan operasi matematika umum.

38
3. Cara menentukan konsep struktur kondisi dan perulangan dalam salah
satu bahasa pemrograman berbasis mobile

a. Struktur Kondisi
Kondisi Java dan Pernyataan if
Java mendukung kondisi logis yang biasa dari matematika:
o Kurang dari: a < b
o Kurang dari atau sama dengan: a <= b
o Lebih besar dari: a > b
o Lebih besar atau sama dengan: a >= b
o Sama dengan a == b
o Tidak sama dengan: a != B
Anda dapat menggunakan kondisi ini untuk melakukan tindakan berbeda untuk
keputusan yang berbeda. Java memiliki pernyataan kondisional berikut:
✔ Gunakan if untuk menentukan blok kode yang akan dieksekusi, jika
kondisi yang ditentukan benar
✔ Gunakan else untuk menentukan blok kode yang akan dieksekusi, jika
kondisi yang sama salah
✔ Gunakan else if menentukan kondisi baru untuk diuji, jika kondisi
pertama salah
✔ Gunakan switch menentukan banyak blok kode alternatif yang akan
dieksekusi

Pernyataan if

39
int x = 20;
int y = 18;
if (x > y) {
System.out.println("x is greater than y");
}

Pernyataan else
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}

Pernyataan else if
int time = 22;
if (time < 10) {
System.out.println("Good morning.");
} else if (time < 20) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}

Pernyataan Switch Java


Gunakan pernyataan switch untuk memilih salah satu dari banyak blok kode
yang akan dieksekusi.
✔ Ekspresi switch dievaluasi sekali.
✔ Nilai ekspresi dibandingkan dengan nilai setiap kasus.
✔ Jika ada kecocokan, blok kode terkait dijalankan.
✔ break dan kata kunci default adalah opsional.

Kata kunci break

40
✔ Ketika Java mencapai kata kunci break, maka keluar dari blok switch.
✔ Ini akan menghentikan pelaksanaan lebih banyak kode dan pengujian
kasus di dalam blok.
✔ Ketika kecocokan ditemukan, dan pekerjaan selesai, saatnya
break(dihentikan). Tidak perlu pengujian lebih lanjut.
✔ Break dapat menghemat banyak waktu eksekusi karena "mengabaikan"
eksekusi semua kode lainnya di blok switch.

Kata Kunci default


Kata kunci default untuk dijalankan jika tidak ada kecocokan .

Contoh :
int day = 4;
switch (day) {
case 6:
System.out.println("Today is Saturday");
break;
case 7:
System.out.println("Today is Sunday");
break;
default:
System.out.println("Looking forward to the Weekend");
}

b. Struktur Perulangan
Perulangan while
Perulangan while dikerjakan selama kondisi yang ditentukan benar.
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
Perulangan Do/While

41
Do / while loop adalah varian dari perulangan while. Perulangan ini akan
mengeksekusi blok kode sekali, sebelum memeriksa apakah kondisinya benar,
akan mengulang loop selama kondisinya benar.
int i = 0;
do {
System.out.println(i);
i++;
}
while (i < 5);

Perulangan for
for (int i = 0; i <= 10; i = i + 2) {
System.out.println(i);
}

● Pernyataan 1 dieksekusi (satu kali) sebelum eksekusi blok kode.


Menetapkan variabel sebelum perulangan dimulai (int i = 0).
● Pernyataan 2 mendefinisikan kondisi untuk mengeksekusi blok kode.
Mendefinisikan kondisi untuk menjalankan perulangan ( harus kurang
dari sama dengan 10). Jika kondisinya benar, perulangan akan memulai
lagi, jika itu salah, perulangan akan berakhir.
● Pernyataan 3 dieksekusi (setiap kali) setelah blok kode dieksekusi.
Meningkatkan nilai (i ++) setiap kali blok kode dalam perulangan telah
dieksekusi.
Perulangan for-Each
Perulangan for-each, digunakan secara eksklusif untuk mengulang
elemen-elemen dalam array
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
System.out.println(i);
}

Java break pada perulangan for

42
for (int i = 0; i < 10; i++) {
if (i == 4) {
break;
}
System.out.println(i);
}

4. Cara menjelaskan konsep layout dan object dalam salah satu


pemrograman berbasis mobile
a) Konsep Layout
Layout mendefinisikan struktur visual untuk antarmuka pengguna, seperti
UI sebuah aktivitas atau widget aplikasi Anda dapat mendeklarasikan
layout dengan dua cara:
● Deklarasikan elemen UI dalam XML.
Android menyediakan sebuah kosakata XML sederhana yang sesuai
dengan kelas dan subkelas View, seperti halnya untuk widget dan layout.
Keuntungan mendeklarasikan UI dalam XML
✔ Memungkinkan Anda memisahkan penampilan aplikasi dari kode
yang mengontrol perilakunya dengan lebih baik.
✔ Keterangan UI Anda bersifat eksternal bagi kode aplikasi Anda,
yang berarti bahwa Anda bisa memodifikasi atau menyesuaikannya
tanpa harus memodifikasi dan mengompilasi ulang kode sumber.
✔ Misalnya, Anda bisa membuat layout XML untuk berbagai orientasi
layar, berbagai ukuran layar perangkat, dan berbagai bahasa

● Buat instance elemen layout saat runtime.


Dalam suatu aplikasi bisa membuat objek View dan ViewGroup (dan
memanipulasi propertinya) lewat program.

Layout (Tata letak) menentukan struktur untuk antarmuka pengguna (user


interface) di aplikasi, seperti dalam suatu aktivitas. Semua elemen dalam
tata letak dibangun menggunakan object hierarki View dan ViewGroup.
View biasanya menampilkan sesuatu yang dapat dilihat dan berinteraksi

43
dengan pengguna. Sedangkan ViewGroup adalah wadah yang tidak terlihat
yang mendefinisikan struktur tata letak untuk View dan objek ViewGroup
lainnya, seperti yang ditunjukkan pada gambar 20.

Gambar 20
Ilustrasi hierarki tampilan, yang mendefinisikan tata letak UI

Layout-XML
File --> New --> Project…
Choose Android --> Android Application Project
Edit res/layout/activity_main.xml, and replace everything with the
following:

44
Compile aplikasi
1) Masing-masing file layout XML akan dikompilasi dalam sebuah sumber
daya View.
2) Harus memuat sumber daya layout dari kode aplikasi, dalam
implementasi callback Activity.onCreate().
3) Lakukan dengan memanggil setContentView(), dengan meneruskan
acuan ke sumber daya layout berupa:
R.layout.layout_file_name.

Misalnya, jika XML layout Anda disimpan sebagai main_layout.xml, Anda


akan memuatnya untuk Activity seperti ini:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
}

Atribut
Setiap objek View dan ViewGroup mendukung variasi atribut XML-nya
sendiri. Sebagian atribut bersifat spesifik untuk objek View (misalnya,
TextView mendukung atribut textSize ). Sebagian atribut bersifat umum
untuk semua objek View, karena diwarisi dari kelas Root View (seperti
atribut id).

45
Atribut lain dianggap sebagai "parameter layout" yaitu atribut yang
menjelaskan orientasi layout tertentu dari objek View, seperti yang
didefinisikan oleh objek ViewGroup induk dari objek itu.

ID
Objek View apa saja dapat memiliki ID integer yang dikaitkan dengannya,
untuk mengidentifikasi secara unik View dalam pohon.
Bila aplikasi dikompilasi, ID ini akan diacu sebagai integer, namun ID
biasanya ditetapkan dalam file XML layout sebagai string, dalam atribut id.
Ini atribut XML yang umum untuk semua objek View (yang didefinisikan
oleh kelas View) dan Anda akan sering sekali menggunakannya
android:id="@+id/my_button“

Parameter Layout
Atribut layout XML bernama layout_something mendefinisikan parameter
layout View yang cocok untuk ViewGroup tempatnya berada.
Semua grup tampilan berisi lebar dan tinggi
(layout_width dan layout_height), dan masing-masing tampilan harus
mendefinisikannya. Banyak LayoutParams yang juga menyertakan margin
dan border opsional.
Salah satu konstanta ini untuk mengatur lebar atau tinggi:
✔ wrap_content memberi tahu tampilan agar menyesuaikan sendiri
ukurannya dengan dimensi yang dibutuhkan oleh materinya.
✔ match_parent memberi tahu tampilan agar menjadi sebesar yang akan
diperbolehkan oleh kelompok tampilan induknya.

Grup tampilan root.


Rangkaian tampilan anak dan grup tampilan pertama yang induknya

46
Ada sejumlah layout yang disediakan antara lain
1) Linear Layout
LinearLayout adalah tampilan grup yang menyelaraskan semua anak
dalam satu arah, secara vertikal atau horizontal. Menetapkan arah layout
dengan atribut android:orientation.

(1) Layout akar LinearLayout, yang berisi semua tampilan anak, disetel ke
orientasi vertikal.
(2) Button (button_toast) tampilan anak. Sebagai tampilan anak pertama,
muncul di bagian atas di layout linear.
(3) TextView (show_count) tampilan anak. Sebagai tampilan anak kedua,
muncul di bawah tampilan anak pertama di layout linear.

47
(4) Button (button_count) tampilan anak. Sebagai tampilan anak ketiga,
muncul di bawah tampilan anak kedua di layout linear.

48
2) Relative Layout
RelativeLayout dalah grup tampilan yang menampilkan tampilan anak
dalam posisi relatif terhadap tampilan dalam grup tampilan. Dengan kata
lain, posisi tampilan anak bisa dijelaskan dalam hubungan satu sama lain
atau dengan grup tampilan induk.
.

49
3) Constraint Layout
Bangun tampilan yang responsive. Mirip seperti layout relatif, dimana
tampilan bergantung dengan view lain atau parent layoutnya.
Didukung oleh android studio, gunakan drag and drop daripada
mengedit kode xml.

50
4) Table Layout
TableLayout adalah tampilan yang mengelompokan tampilan dalam baris
dan kolom.

5) Absolute Layout
AbsoluteLayout memungkinkan untuk menentukan lokasi pasti
anak-anaknya.

51
6) Frame Layout
FrameLayout adalah placeholder di layar yang dapat digunakan untuk
menampilkan satu tampilan.

b) Konsep Object
Pemrograman berorientasi objek (OOP) memperkenalkan konsep objek.
Objek OOP adalah batas enkapsulasi yang menyediakan beberapa jenis
perilaku publik. Konsep objek tidak terbatas pada bahasa tertentu. Banyak
objek yang diwakili dalam bahasa berbasis kelas seperti Java / C # / Ruby /
Python, serta bahasa berbasis prototipe seperti JavaScript. Objek-objek ini
adalah konstruksi bahasa, bukan konstruk konseptual.
Objek dalam OOP adalah konstruksi yang melakukan sesuatu – ia
berperilaku dan bertindak.

52
Struktur data Orang memiliki atribut nama depan, nama belakang, dan
nomor telepon. Objek Seseorang berjalan, berlari, melompat, dan berbicara.
Objek Seseorang melakukan banyak hal.

Contoh objek OOP object:

public interface PhoneNumberValidator {


boolean validate(String phoneNumber);
}

PhoneNumberValidator memvalidasi bahwa String yang diberikan mewakili


nomor telepon yang diformat dengan benar. Tidak ada indikasi keadaan
internal di dalam validator.

5. Cara membangun aplikasi mobile sederhana dengan bahasa


pemrograman mobile

B. Keterampilan yang diperlukan dalam menunjukkan platform


operating system dan bahasa pemrograman di dalam perangkat
lunak
1. Membaca, meneliti, menggali dan mengolah data informasi
2. Berkomunikasi dengan para pihak

C. Sikap yang diperlukan dalam menunjukkan platform operating


system dan bahasa pemrograman di dalam perangkat lunak
1. Ketelitian
2. Kesabaran
3. Sopan

53
Tugas Dan Proyek Pelatihan

1. Kuis 2 Mobile Programming

Link Referensi Modul Kedua

1. Video Pembelajaran
2. E-book
3. Link Youtube/Website rujukan

Link Pertanyaan Modul Kedua

https://app.sli.do/ (bisa mengunakan aplikasi ini)

Bahan Tayang

Bisa berupa Link/ Screen Capture Slide pelatihan

Link room Pelatihan dan Jadwal live sesi bersama instruktur

Zoom, Blue Jeans, Meets

Penilaian

Komposisi penilaian Kuis 2 Mobile Programming: Nilai 10 (Range 0 -10)

Target Penyelesaian Modul Kedua

1hari/sampai 6JP

54
REFERENSI

1. Dhingra, M. et al, Wireless Network Security Threats and Their Solutions: a short
study, International Journal of Smart Sensors and Ad Hoc Networks (IJSSAN),
ISSN No. 2248-9738 (Print), Vol-2, Iss-1,2, 2012
2. Efraim Turban, D. K.-P. (2012). Electronic commerce (Seventh Edition ed.).
Pearson.
3. Gottapu Sasibhushana Rao, 2013. Mobile Cellular Communication (First Edition
). Pearson.
4. Guowang Miao, Jens Zander, Ki Won Sung, and Ben Slimane, Fundamentals of
Mobile Data Networks, Cambridge University Press, ISBN 1107143217, 2016.
5. Herbert Schildt, Java2 : A beginner’s Guide, Second Edition,
McGraw-Hill/Osborne
6. Larsson, J. and Waller, Ida. Security in wireless networks: V ulnerabilities and
countermeasures, Department of Software Engineering and Computer Science
Blekinge Institute of Technology, Springer, 2003
7. Matthew Mathias, Swift Programming, 2nd edition, Big Nerd Ranch
8. https://developer.android.com/reference/android/os/Environment.html

9. https://developer.android.com/reference/java/io/File.html

10. https://developer.android.com/guide/topics/data/data-storage?hl=id

11. https://developer.android.com/training/data-storage/files#InternalVsExternalS
torage

12. Owens, Michael (2006). The Definitive Guide to SQLite.


https://www.sqlite.org/chronology.html
13. https://developer.android.com
14. https://www.quora.com/How-does-the-algorithm-of-Google-Maps-work
15. https://tips-droid.blogspot.com/2013/07/mengenal-android-sensor.html>
16. https://mainthebest.com/smartphones/sensor-smartphone-android/#accelero
meter
17. PROFESSIONAL Android™ Sensor Programming Greg Milette Adam Strou

55
18. Irwanto, A. (2013, September 7). area teknik. Retrieved Oktober 25, 2017, from
http://area-teknik.blogspot.co.id/2013/09/perbedaan-teknologi-1g-2g-25g-3g-
35g-4g.html
19. Wulan. (2015, November 2015). Srydari. Retrieved Oktober 25, 2017, from
http://srydari.blogspot.co.id/2015/11/perkembangan-teknologi-dari-1g-sampa
i-5g.html
20. “ “, Java TM Programming Language, Oracle America
21. https://developer.apple.com/library/archive/referencelibrary/GettingStarted/D
evelopiOSAppsSwift/index.html/
22. https://developer.android.com/topic/libraries/architecture
23. https://www.oracle.com/technetwork/java/javase/overview/index.html
24. Android Cook Book, McGraw-Hill/Osborne, 2013

56
57

Anda mungkin juga menyukai