pemanfaatan teknologi android
TRANSCRIPT
I am using
Pemanfaatan Teknologi Android untuk Solusi Permasalahan Bangsa IndonesiaPembicara : Arif Akbarul Huda
One Day Android Workshop by IEEE Amikom Student Branch | 24/09/2016 | STMIK AMIKOM YOGYAKARTA
perkenalan
Arif Akbarul Huda
Programmer | Lecture | Book writer | Researcher
Follow me @omayib
Agenda
● Perkenalan● Cakupan Teknologi Android● Penerapan Teknologi Android● Bedah Teknologi
Stop pembajakan software!
Cakupan Teknologi Android
Mobile OS distribution
● Android : Java, xml
● Performa sangat diutamakan
● User experiece sesuai standar
● Mudah mengakses fitur-fitur
native seperti sensor, kamera,
wifi, dsb
● Multiple platform dalam sekali
pengembangan
● Dapat mengakses fitur native
● Mendukung semua platform
● Pembaruan secara cepat
3 langkah awal menjadi pengembang aplikasi android
3. Setup peralatan tempur
PC / laptop Android Studio Perangkat Android
Koneksi Internet
2. Referensi Belajar
● Referensi utama : www.developer.android.com( design | develop | training | distribute )
● Code review from Github https://github.com/codepath/android_guides/wiki/Sample-Android-Apps
● Free online course https://www.udacity.com/courses/android
● Stackoverflow, teman dan komunitas
System Requirements
Windows
● Microsoft® Windows® 7/8/10 (32- or 64-bit)
● 2 GB RAM minimum, 8 GB RAM recommended
● 2 GB of available disk space minimum,
● 4 GB Recommended (500 MB for IDE + 1.5 GB for Android SDK and emulator system image)
● 1280 x 800 minimum screen resolution
● JDK 8● For accelerated emulator:
64-bit operating system and Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality
Mac
● Mac® OS X® 10.8.5 or higher, up to 10.11.4 (El Capitan)
● 2 GB RAM minimum, 8 GB RAM recommended
● 2 GB of available disk space minimum,
● 4 GB Recommended (500 MB for IDE + 1.5 GB for Android SDK and emulator system image)
● 1280 x 800 minimum screen resolution
● JDK 6
Linux
● GNOME or KDE desktop● 64-bit distribution capable
of running 32-bit applications
● GNU C Library (glibc) 2.11 or later
● 2 GB RAM minimum, 8 GB RAM recommended
● 2 GB of available disk space minimum,
● 4 GB Recommended (500 MB for IDE + 1.5 GB for Android SDK and emulator system image)
● 1280 x 800 minimum screen resolution
● JDK 8
1. ACTION!
Penerapan Teknologi Android(7 Masalah dan Solusinya)
7. Transportation
6. Productivity
5. Travel & Communication
4. Entertainment & Games
3. Indoor Positioning
2. Modern Education
1. Your Problem Solution Idea
Bedah Teknologi
sistem pemesanan ojek/taksi online
Alur pada umumnya
Teknologi yang digunakan pada sistem pemesanan ojek / taksi melalui aplikasi android secara garis besar sama.
1. calon penumpang (customer) menentukan posisi penjemputan dan lokasi tujuan
2. driver mendapatkan notifikasi, menjelaskan bahwa ada calon penumpang baru.
3. driver melakukan bidding
4. customer diberi kesempatan untuk memilih, menolak atau menyetujui bidding dari driver.
5. driver mendapatkan notifikasi, menjelaskan bahwa bidding yang baru saja dilakukan diterima atau ditolak.
6. jika diterima, driver akan melanjutkan ke tahap penjemputan
7. jika customer berhasil dijumpai, driver segera memulai perjalanan. Pada saat yg bersamaan, aplikasi akan merekam direction yang dilalui.
8. setelah sampai tujuan, driver mengakhiri perjalanan. Customer membayar sesuai kesepakatan.
9. customer diberi kesempatan memberikan feedback.
Infrastruktur sistem
Teknologi di dalam server
1. Restful API webservice
API Engine database
iPhone
Webpage
Android
● API Engine : PHP, Ruby, Go, Scala, NodeJS, Python
● Database : MySQL, MariaDB, MongoDB, postgree.
Alternatif bahasa pemrogaman
2. Websocket vs HTTP
HTTPserver
‘halo’Any message?
Joko say ‘halo’ jokobudi
Websocketserver
‘halo’
Joko say ‘halo’
Apa kabar?
Budi say ‘apa kabar?’
budijoko
HTTP
Websocket
3. Push Notification
database
server
Push notification engine
client
12
3
4
a
b
1) perangkat client (android/lainnya) melakukan registrasi dgn cara mengirim senderi-id dan application-id ke Push Notification (PN) Server
2) PN server mengembalikan registration-id ke perangkat client.
3) Setelah mendapatkan regsitration-id, perangakt client mengirim ke server sendiri.
4) Server kita menyimpan registration-id kedalam database untuk digunakan kemudian.
a) Pada saat fitur PN dibutuhkan, server kita akan mengirim message ke PN server bersama registration-id device yang dituju
b) PN server akan melanjutkan pengiriman message ke perangkat client yang registration-idnya sesuai.
Teknologi di dalam Aplikasi
Gambar arsitektur aplikasi