Pengenalan Mobile Programming
Pengenalan Mobile Programming
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.
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.
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
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
Kompetensi Dasar
2
INFORMASI PELATIHAN
Aplikasi yang akan di gunakan selamat pelatihan 1. JDK (Java Development Kit)
2. Android Studio
3. Pencil
4. Sublime Text
5. XAMPP
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
Materi Pokok
Menunjukkan Platform Operating Sistem serta Bahasa Pemrograman di dalam Perangkat Lunak (Dasar
Java untuk Mobile Programming).
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
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)
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
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.
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.
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.
15
Gambar 7
Arsitektur sistem operasi IOS
https://codeingwithios.blogspot.com/2017/09/ios-layered-architecture.ht
ml
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)
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.)
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
Gambar 10
Peta pengguna Andorid dan iOS di dunia
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
25
animasinya kita bisa menggunakan Silverlight yang ada di Micosoft
Expression Blend.
● Blacberry menggunakan bebrapa Bahasa pemrograman yaitu C++, Java.
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.
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.
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.
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).
// 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");
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“
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.
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.");
}
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.
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);
}
42
for (int i = 0; i < 10; i++) {
if (i == 4) {
break;
}
System.out.println(i);
}
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.
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.
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.
53
Tugas Dan Proyek Pelatihan
1. Video Pembelajaran
2. E-book
3. Link Youtube/Website rujukan
Bahan Tayang
Penilaian
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
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