Anda di halaman 1dari 29

RESUME

MATERI

MOBILE PROGRAMMER

DISUSUN OLEH :
RIZAL HIDAYATULLAH

LOKASI PELATIHAN
POLITEKNK NEGERI KUPANG
2019
Review Alat Bantu

a. Java Development Kit atau disingkat JDK merupakan alat yang digunakan untuk
mengkompilasi file dengan ekstensi .java menjadi .class.dan hasil kompilasi ini
hampir mustahil dibaca manusia namun dengan mudah dapat dibaca oleh mesin.

b. JVM (Java VIrtual Machine) adalah mechine abstract dengan spesifikasi tertentu
yang menyediakan lingkungan untuk runtime menjalankan bytecode dari Java dan
JVM hadir untuk menjembatani antara OS dengan bytecode java

c. Java Runtime Environment atau JRE digunakan untuk menyediakan lingkungan agar
dapat mengeksekusi program yang terbuat dari Java dan JRE ini merupakan
implementasi dari JVM itu sendiri

d. Android Studio adalah sebuah IDE untuk Android Development yang diperkenalkan
oleh google pada acara Google I/O 2013. Merupakan pengembangkan dari Eclipse
IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio
merupakan IDE resmi untuk pengembangan aplikasi Android. Sebagai
pengembangan dari Eclipse, Android Studio mempunyai banyak fitur fitur baru
dibandingkan dengan Eclipse IDE, seperti :

 Menggunakan Gradle sebagai build environment

 Menggunakan Gradle based build system yang fleksibel

 Template support untuk Google Services dan berbagai macam tipe perangkat

 Built in support untuk Google Cloud Platform, sehingga mudah untuk integrasi
dengan Google Cloud Messaging dan App Engine

 Import library langsung dari Maven repository dan masih banyak lagi yang
lainnya

e. Pencil adalah sebuah aplikasi perangkat lunak open source yang di gunakan untuk
membuat desain UI (User Interface) dan juga tersedia untuk berbagai system operasi
seperti Linux, Windows, dan MacOS

f. XAMPP adalah perangkat yang menggabungkan tiga aplikasi kedalam satu paket
yaitu Apache MySQL, dan PHPMyAdmin. Fungsinya pun adalah sebagai server
yang berdiri sendiri

g. MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau
DBMS yang multithread dan multi user

h. PHP Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau
disisipkan ke dalam HTML dan banyak dipakai untuk memprogram situs web
dinamis dan juga dapat digunakan untuk membangun sebuah CMS (Content
Management System)

i. Git adalah version control system yang digunakan para developer untuk
mengembangkan software secara bersama bersama. Fungsi utama git yaitu mengatur
versi dari source code program dengan memberikan tanda baris dan code mana yang
ditambah atau diganti

j. DB Browser for SQLite (DB 4 S) adalah aplikasi open source yang berkualitas tinggi
berbasis visual untuk membuat mendesain dan mengedit file database yang
kompatibel dengan SQLite, digunakan untuk pengguna dan pengembang yang ingin
membuat mencari dan mengedit basis data.
Merancang Mobile Interface Menggunakan Android Studio

a. Pengenalan Model-View-Presenter pattern


• Model-View-Presenter (MVP) adalah salah satu pendekatan pengembangan
program yang membagi pengembangan menjadi 3 kelompok utama yaitu Model,
View dan Presenter.
• 3 kelompok resource dalam MVP tersebut adalah:
1. View adalah elemen user interface yang menampilkan data dan dapat
melakukan respon terhadap aksi yang dilakukan oleh user
2. Presenters adalah resource yang menghubungkan antara view dan model,
dimana presenter ini dapat memberikan data yang dispesifikasi oleh model
kepada view, dan sebaliknya memberikan data yang diinputkan ke view oleh
user kepada model.
3. Model adalah sfesifikasi dari struktur data dari sebuah aplikasi dimana model
juga dapat berisi perintah untuk mengakses dan memanipulasi data tersebut
• Satuan yang digunakan dalam penentuan lokasi dan dimensi ini biasanya adlah
device independent pixel (dp)
• Sistem Android menyediakan banyak class view yang sudah didefinisikan,
diantaranya:
1. Text, (TextView)
2. Fields, untuk input dan editing text (EditText)
3. Buttons, dimana user dapat melakukan tap (Button) dan komponen interactive
lainnya
4. Scrollable text (ScrollView)
5. Scrollable items (RecyclerView)
6. Images (ImageView)
7. Dan yang lainnya
• Views dapat dikelompokkan kedalam sebuah view group (ViewGroup) yang
berperan sebagai sebuah container dari views (container adalah sebuah kotak
penampung view).
• Bentuk ViewGroup yang umum adalah:
1. ScrollView : adalah group yang terdiri dari satu atau lebih child view yang
dapat di scrolling ke atas atau bawah
2. RecyclerView :Adalah group yang terdiri dari list view lain atau group view
yang dapat di scrolling dan juga dapat di tambahkan view baru atau menghapus
view yang sudah ada secara dinamis
• Terdapat 2 hal penting didalam Layout Group View
1. Root view group (view group paling utama)
2. View Group atau view yang merupakan anak dari viewgroup root

b. Pengenalan Layout dan Merancang Layout


• Layout adalah tata letak komponen
• Layout berfugsi untuk mengatur antarmuka aplikasi dan posisi penempatan
komponen seperti tombol atau text
• Beberapa jenis layout pada Android Studio yaitu:
1. Linear Layout
2. Relative Layout
3. Constraint Layout
4. Table Layout
5. Absolute Layout
6. Frame Layout
7. Grid Layout
8. List View
• Untuk merancang tampilan pada android studio dapat dilakukan dengan beberapa
cara seperti menggunakan template yang telah disediakan, atau dapat juga
merancang sendiri tampilan dengan memilih blank view.
• Tidak ada aturan baku dalam merancang layout tampilan. Tampilan aplikasi dapat
dibuat sesuai dengan kebutuhan system.
c. Komponen Tombol Pada Tampilan
• Tombol / Button adalah sebuah komponen interface yang sangat penting untuk
melakukan suatu aksi pada aplikasi, dimana dengan button user dapat melakukan
interaksi dengan aplikasi
• Beberapa komponen yang termasuk kedalam group buttons pada adroid yaitu:
1. Button( adalah komponen tombol biasa)
2. Image Button (tombol dengan gambar)
3. Check Box (check box untuk membuat pilihan misalnya true atau false dengan
bentuk kotak tercentang)
4. Radio Button (tombol yang berbentuk bulat yang kalua dipilih akan berwarna
hitam)
5. Radio Group (group dari radio button dimana kalua salah satu radio button
dipilih maka otomatis radio button yang lain di group tidak akan terpilih)
6. Switch (Tombol yang berbentuk seperti saklar on and of)

Platform Operating System


a. Sistem Operasi Mobile adalah software utama yang melakukan manajemen dan
kontrol terhadap hardware pada mobile device secara langsung
b. Arsitektur Platform
• Arsitektur Java Micro Edition

• Arsitektur iOS

• Arsitektur Android
• Security
1. Android : Versi 3.0 dan selanjutnya memiliki fitur enkripsi file system
enkripsi menggunakan algoritma AES128, CBC, SHA256)
2. Ios : iOS4 dan selanjutnya memiliki fitur enkripsi dengan algoritma AES256
untu mengenkripsi semua data yang tersimpan di memori
3. Windows Mobile : Memiliki beberapa algoritma enkripsi seperti AES,
SHA1, SHA256 , HMACSHA1, HMACSHA256
4. Blackberry : Enkripsi menggunakan kunci enkripsi simetrik saat transfer data
antara Blackberry device dan Blackberry enterprise serve
• Pemrograman Mobile adalah pemrograman yang ditujukan untuk pembuatan
aplikasi diperangkat mobile. Diterapkan di mobile/ Handphone atau Laptop
• Beberapa faktor utama yang mempengaruhi pemilihan bahasa pemrograman
tertentu adalah :
1. Keseluruhan strategi pengembangan aplikasi seluler native cross platform
hybrid dan sebagainya
2. Skill set dari tim pengembangan
3. Sasaran pengguna aplikasi dan dukungan platform yang dipilih
4. Kebutuhan khusus aplikasi
5. Kategori aplikasi Utility, games, B 2 B atau B 2 C dan lainnya
• Sistem Operasi Mobile dan bahasa pemrograman
1. Java Micro Edition (sebelumnya J2ME)
2. NET Compact Framework : C ++, C#, VB.NET untuk Windows Mobile
3. Qualcomm’s BREW : C atau C++
4. Symbian : C++
5. BlackBerry : Java
6. Android : Java
7. iPhone : Objective C , Swiftt
• Komponen Alat Bantu Pengembangan
1. Hardware : Komputer development, mobile device
2. Software /Tool Pengembangan :
a. Windows Phone : Windows Phone SDK, Visual Studio Express
Expression Blend (hanya di windows)
b. iOS : xCode iOS SDK
c. Android : Java JDK, Android SDK, Eclipse IDE, Android ADT, Android
Studio IDE
d. Java Micro Edition : Java JDK, Java Micro Edition SDK, Netbeans IDE,
Eclipse
e. Blackberry : Eclipse, Blackberry Plugin, Blackberry Simulatior
3. Pemilihan Platform : Android, iOS, Blackberry, Windows Phone, Symbian
• Penjelasan Mengenai Android
1. Kelebihan Android :
a. Sistem operasi seluler berbasis linux kernel
b. User interface layar sentuh
c. Digunakan oleh lebih dari 80 smartphone
d. Menjalankan perangkat seperti jam tangan, TV, dan mobil
e. Lebih dari 2 Juta aplikasi Android di Google Play store
f. Sangat mudah disesuaikan pada berbagai perangkat
g. Open source
2. Interaksi User
a. Isyarat sentuh: menggesek, mengetuk, mencubit
b. Keyboard virtual untuk karakter, angka, dan emoji
c. Mendukung Bluetooth, USB controller dan peripheral
3. Sensor dalam Android
a. Konten perangkat akan berotasi sesuai kebutuhan
b. Berjalan akan menyesuaikan posisi di peta
c. Memiringkan kemudi mobil virtual atau mengontrol mainan fisik
d. Bergerak terlalu cepat menonaktifkan interaksi game
4. Layar Android
a. Ikon peluncur aplikasi
b. Widget pembaruan otomatis untuk konten langsung
c. Bisa berisi beberapa ha laman
d. Folder untuk mengatur aplikasi
e. "OK Google”

• Android Software Developer Kit (SDK)


1. Development Tools (debugger , monitor, editor)
2. Pustaka (peta, perangkat yang dapat dikenakan)
3. Perangkat virtual (emulator)
4. Dokumentasi (developers.android.com)
5. Kode contoh
• Alur Membangun Aplikasi Mobile

• Algoritma Pemrogaman
1. Algoritma
a. Inti dari ilmu komputer
b. Defenisi Algoritma
c. Algoritma blueprint dari program.
d. Kriteria suatu algoritma :
 Ada input dan output
 Efektivitas dan efisien
 Terstruktur Algoritma
2. Notasi Algoritma Flowchart
a. Penyelesaian masalah dalam bentuk bagan
b. Ada 2 macam Flowchart
 System Flowchart
 Program Flowchart
3. Simbol simbol Flowchart
a. Flow Direction Symbols Simbol penghubung alur
b. Processing Symbols Simbol proses)
c. Input output Symbols Simbol input output
d. Decision Symbol Simbol Keputusan
e. Conector Symbol
4. Syarat Pembuatan Flowchart
a. Tidak ada kaidah yang baku
b. Flowchart = gambaran hasil analisa suatu masalah
c. Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram
lainnya
d. Secara garis besar ada 3 bagian utama :
 Input
 Proses
 Output

• Aplikasi Android
1. Satu atau beberapa layar interaktif
2. Ditulis menggunakan Bahasa Pemrograman Jav a dan XML
3. Menggunakan Android Software Development Kit (SDK)
4. Mengunakan pustaka Android dan Android Application Framework
5. Dijalankan oleh mesin Android Runtime Virtual (ART)

• Tantangan Development Android


1. Beragam ukuran layar dan resolusi
2. Kinerja membuat aplikasi Anda responsif dan mulus
3. Keamanan menjaga kode sumber dan data pengguna agar tetap aman
4. Kompatibilitas berjalan dengan baik pada versi platform yang lebih lama
5. Pemasaran memahami pasar dan pengguna Anda

• Dasar Dasar Pemrograman Android Studio


1. Java Identifier
a. Java Identifier adalah suatu tanda yang mewakili nama nama variable
method, class, dan lain lain
b. Syarat identifier
 Dimulai dengan salah satu huruf under score atau tanda dollar
 Huruf dapat berupa huruf besar maupun huruf kecil dapat
menggunakan nomor 0 smpai 9
 Identifier tidak dapat menggunakan kata kunci dalam Java seperti
class, public, void, dsb
c. Contoh Java Keyword
2. Pernyataan dan Block
a. Pernyataan merupakan satau atau lebih baris program yang diakhiri
dengan titik koma (semi colon)
b. Block adalah satu atau lebih baris program yang terletak antara kurung
kurawal buka dan kurung kurawal tutup
3. Tipe Data
a. Terdapat dua tipe data :
 Tipe data primitif
 Tipe data objek
4. Deklarasi Variabel
a. Sintak umum untuk mendeklarasikan dan menginisialisasi variable

DESAIN MOBILE INTERFACE (Pemanfaatan pattern, UI komponen) Design


Mockup Aplikasi Android
• Design Mockup Aplikasi Android menngunakan Pencil
1. Aplikasi Pencil ini sering digunakan untuk membuat sebuah rancangan
ataupun desain aplikasi desktop, mobile dan juga aplikasi berbasis web.
2. Aplikasi ini juga dapat digunakan untuk membuat flowchart.
3. Project yang dibuat, dapat langsung di export menjadi sebuah gambar
(.png), halaman web (.html), .pdf, hingga .svg.

Menunjukkan platform operating system dan bahasa pemrograman di dalam


perangkat lunak
• Kategori dan Jenis Bahasa Pemrogaman

• Pengaturan Environtment
1. Java Development Kit (JDK)
2. Android Studio
3. Software Development Kit (SDK)
• Alur Pengembangan Aplikasi
1. Dasar Alur Kerja
a. Instalasi Android Studio, dan membuat project baru.

b. Menulis code pada aplikasi anda dan menambahkan sumber daya


 Mulailah mengerjakan aplikasi.
 Android Studio memiliki berbagai alat yang dapat membantu Anda
bekerja lebih cepat, menulis kode kualitas, merancang UI, dan
membuat sumber daya untuk berbagai jenis perangkat.
c. Membangun dan menjalankan aplikasi anda
 Jalankan aplikasi pada smarphone atau emulator.
 Customize build untuk membentuk ukuran aplikasi yang lebih kecil.

d. Step perulangan
 Temukan bug dan tingkatkan kinerja aplikasi.
 Profile berguna untuk menganalisis kinerja seperti penggunaan
memori, lalu lintas jaringan, dampak CPU, dan lainnya.
 Testing aplikasi anda

e. Pasarkan aplikasi anda


 Atur versi aplikasi anda.
 Buat key dan tanda tangani aplikasi.
 Ketika update aplikasi, pastikan versi diatur lebih tinggai dan gunakan
key yang sama.

• Dasar
a. Aplikasi android dapat dibuat dengan menggunakan Bahasa java, kotlin
dan c++.
b. Android SDK mengkompilasi kode, data dan file sumber daya apa pun
ke dalam APK (Android application package), yang merupakan file arsip
dengan akhiran .apk.
c. Satu file apk memiliki semua konten dari aplikasi android dan dapat
digunakan untuk menginstal aplikasi.
• Dasar Lanjutan
a. Komponen
Terdapat 4 buah tipe komponen
 Activities
 Services
 Broadcast receivers
 Content providers
b. Activities
 Sebuah activity akan menyajikan user interface (UI) kepada pengguna,
sehingga pengguna dapat melakukan interaksi.
 Satu activity biasanya dipakai untuk menampilkan aplikasi atau
bertindak sebagai user interface (UI) saat aplikasi diperlihatkan
kepada user.
 Untuk pindah dari satu activity ke activity lain, dapat dilakukan
dengan satu even, misalnya klik tombol, memilih opsi atau
menggunakan triggers tertentu.

c. Service
 Service merupakan sebuah komponen yang digunakan untuk membuat
aplikasi tetap menjalankan fungsi pada background.
 Service tidak memiliki user interface.
 Contoh dari pengunaan service adalah ketika memainkan music.
d. Contoh penerapan
 Transaksi jaringan
 Memutar musik
 Melakukan file I/O
 Berinteraksi dengan penyedia materi
e. Karakteristik layanan
 Dimulai dengan Intent
 Bisa tetap berjalan ketika pengguna beralih aplikasi
 Daur hidup—yang harus Anda kelola
 Aplikasi lain bisa menggunakan layanan—mengelola izin
 Berjalan di thread utama dari proses hosting-nya
f. Service: tidak terikat (unbound service)
 Dimulai dengan Intent
 Bisa tetap berjalan ketika pengguna beralih aplikasi
 Berjalan di thread utama dari proses hosting-nya
 Daur hidup yang harus Anda kelola, jika tidak dihentikan, akan terus
berjalan.
g. Service: terikat (bound service)
 Menawarkan antarmuka klien-server yang memungkinkan komponen
untuk berinteraksi dengan service
 Klien mengirimkan permintaan dan mendapatkan hasil
 Dimulai dengan bindService()
 Berakhir ketika semua klien melepaskan kaitan

h. Broadcast receivers
 Broadcast receiver berfungsi menerima dan berekasi untuk
menyampaikan notifikasi.
 Contohnya adalah menampilkan notifikasi zona waktu berubah,
baterai lemah, atau
 pengubahan referensi bahasa yang digunakan.

i. Content providers
 Komponen pengambil data yang diminta aplikasi dari repositori
 Aplikasi ini tidak perlu mengetahui di mana atau bagaimana data
disimpan, diformat, atau diakses
• JAVA (Konsep variabel, Kondisi dan Perulangan)
1. Dasar Java Android
 Java adalah bahasa pemrograman yang terkenal, dibuat pada tahun 1995.
Dimiliki oleh Oracle. Digunakan untuk :
 Aplikasi Mobile (spesial Android apps)
 Aplikasi Desktop
 Aplikasi Web
 Web Server dan Application server
 Game
 Koneksi Basisdata
 Dan lain lian
 Alasan Menggunakan Java?
 Java berfungsi pada berbagai platform (Windows, Mac, Linux,
Raspberry Pi, dll.)
 Salah satu bahasa pemrograman paling populer di dunia
 Mudah dipelajari dan mudah digunakan
 Open-source dan gratis
 Aman, cepat dan kuat
 Memiliki dukungan komunitas yang sangat besar (puluhan juta
pengembang)
 Sintaks Java
 “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”
 Java Comment
Java Comments
 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).
Java Multi-line Comments
 Komentar banyak baris dimulai dengan / * dan diakhiri dengan */.
 Teks apa pun antara / * dan * / akan diabaikan oleh Java.
2. Konsep Variabel
a. Variabel adalah wadah untuk menyimpan nilai data. Ada berbagai jenis
variabel, misalnya :
 String - menyimpan teks, seperti "Halo". Nilai string ditandai oleh
tanda kutip ganda
 int - Integer (bilangan bulat), tanpa desimal, seperti 123 atau -123
 float - menyimpan angka floating point, dengan desimal, seperti 19,99
atau -19,99
 char - menyimpan karakter tunggal, seperti 'a' atau 'B'. Nilai-nilai Char
ditandai oleh tanda kutip tunggal
 boolean - menyimpan nilai dengan dua status: benar atau salah
b. Mendeklarasikan (Membuat) Variabel
 Untuk membuat variabel, Anda harus menentukan tipe dan
memberinya nilai: Sintaksis: type variable = value;
 Untuk membuat variabel yang harus menyimpan teks, lihat contoh
berikut: Contoh Buat 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“
c. Menampilkan Variabel
 Metode println () sering digunakan untuk menampilkan variabel.
 Untuk menggabungkan teks dan variabel, gunakan karakter +:
String name = "John";
System.out.println("Hello " + name);

d. 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).
e. Aturan umum untuk membuat nama untuk variabel (unique identifiers)
adalah:
 Nama dapat berisi huruf, angka, garis bawah, dan tanda dolar
 Nama harus dimulai dengan huruf
 Nama juga dapat dimulai dengan $ dan _ (tetapi tidak dalam tutorial
ini)
 Case-sensitive ("myVar" dan "myvar" adalah variabel yang berbeda)
 Nama harus dimulai dengan huruf kecil dan tidak boleh mengandung
spasi
 Kata-kata yang dicadangkan (seperti kata kunci Java, seperti int atau
String) tidak dapat digunakan sebagai nama
f. Jenis Tipe data dibagi menjadi dua kelompok:
 Tipe data primitif - termasuk byte,
short, int, long, float, double, boolean dan char
 Tipe data non-primitif - seperti String, Array, dan Class
g. Jenis Tipe data Primitif
 Tipe data primitif menentukan ukuran dan jenis nilai variabel, tidak
memiliki metode tambahan.
 Ada delapan tipe data primitif di Java:

h. Tipe Data Non-Primitif disebut tipe referensi karena merujuk pada objek.
Perbedaan utama antara tipe data primitif dan non-primitif adalah:
 Tipe primitif sudah ditentukan sebelumnya (sudah ditentukan) di
Jawa. Tipe non-primitif dibuat oleh programmer dan tidak
didefinisikan oleh Java (kecuali untuk String).
 Tipe non-primitif dapat digunakan untuk memanggil metode untuk
melakukan operasi tertentu, sedangkan tipe primitif tidak bisa.
 Tipe primitif selalu memiliki nilai, sedangkan tipe non-primitif bisa
menjadi nol.
 Tipe primitif dimulai dengan huruf kecil, sedangkan tipe non-primitif
dimulai dengan huruf besar.
 Ukuran tipe primitif tergantung pada tipe data, sedangkan tipe non-
primitif memiliki semua ukuran yang sama.
 Contoh tipe non-primitif adalah String, Array, Class, Interface, dll.
 Keyword final adalah 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”) }
}

i. Operator Java
 Operator Aritmatika digunakan untuk melakukan operasi matematika
umum.

3. Kondisi
a. Kondisi Java dan Pernyataan if
 Java mendukung kondisi logis yang biasa dari matematika:
 Kurang dari: a < b
 Kurang dari atau sama dengan: a <= b
 Lebih besar dari: a > b
 Lebih besar atau sama dengan: a >= b
 Sama dengan a == b
 Tidak sama dengan: a != B
b. 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
c. 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
 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 .
4. Perulangan
a. Perulangan while
 Perulangan while dikerjakan selama kondisi yang ditentukan benar.
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
b. Perulangan Do/While
 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);
c. 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.
d. 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
for (int i = 0; i < 10; i++) {
if (i == 4) {
break;
}
System.out.println(i);
}
5. Layout
a. 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.
 Buat instance elemen layout saat runtime. Dalam suatu aplikasi
bisa membuat objek View dan ViewGroup (dan memanipulasi
propertinya) lewat program.
b. 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
c. Attributes
 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).
 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.
d. 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“
e. 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.

f. Parameter Layout
 Grup tampilan root.
 Rangkaian tampilan anak dan grup tampilan pertama yang induknya
adalah root.

g. Linear Layout
 LinearLayout adalah sekelompok tampilan yang menyejajarkan semua
anak dalam satu arah, secara vertikal atau horizontal.
 Menetapkan arah layout dengan atribut android:orientation.

h. Relatif Layout
 Grup tampilan anak yang setiap tampilannya diposisikan dan
disejajarkan relatif terhadap tampilan dalam grup tampilan.
 Dengan kata lain, posisi tampilan anak bisa dijelaskan dalam
hubungan satu sama lain atau dengan grup tampilan induk.

i. 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.

Contraint = batasan
A memiliki constraint ke layout kiri, layout atas.
b memiliki constraint ke layout kanan,

Menyusun Mobile Location Based Service, GPS dan Mobile Navigation


1. Location Based Service
a. Location Based Service menentukan lokasi pengguna berdasarkan GSM
Network, Cell Tower dan Wi-Fi signals.
b. Kelebihan
 Mampu memberikan informasi lokasi pengguna baik di indoor dan
outdoor
 Respons lebih cepat
 Lebih hemat baterai
c. Kelemahan
 Informasi lokasi pengguna tidak se-akurat dibandingkan dengan GPS,
 Karena berdasarkan lokasi tower dan wifi
 Hasil akurasi pergeseran pembacaan yang diperoleh adalah sebesar
10.9489 meter

2. Metode Location Based Service


a. Time Difference of Arrival (TDOA)
 Minimum of 3 sites measure arrival time of MS transmission
 Location solution based on apparent arrival time differences between
pairs of sites

b. Enhanced Observed Time Difference (E-OTD)


 TDOA solution in handset
 Arrival time of transmissions from a minimum of 3 sites
 Location solution based on apparent arrival time differences between
pairs of sites

3. Global Positioning System (GPS - AGPS)


a. Get The Last Know Location
 Add Google Play Services ke Project
Untuk membuat API Google Play Services tersedia langkah-
langkahnya sebagai berikut :
 Buka build.gradle, terdapat di application module directory
 Tambahkan rule baru di dalam dependencies versi terbaru dari
play-services. (Lihat API Description)
 Pastikan top-level di build.grandle, menggunakan reference to the
google() repo or to maven { url "https://maven.google.com" }.
 Simpan perubahan, dan click Sync Project with Gradle Files
 API Description di build.gradle
 Implementasi penggunaaan API Description Dependencies

 Menentukan keakuratan lokasi yang dikembalikan oleh API

Android menyediakan 2 location permissions :


 ACCESS_COARSE_LOCATION
Lebih akurat dengan akurasi kira-kira setara dengan blok kota.
 ACCESS_FINE_LOCATION
Lebih cepat tetapi kurang akurat
 Penggunaaan request permission dengan menambahakan code berikut
pada app manifest.

 Dengan menggunakan Google Play Service Location API, aplikasi


diperbolehkan request lokasi terakhir pengguna (last known location)
dari Device (Handphone) pengguna.
 Menggunakan fused location provider untuk mendapatkan device’s
last known location.
 The fused location provider adalah salah satu dari location API di
Google Play Service, dengan akurasi yang tinggi
 serta dapat mengoptimalkan penggunaan daya baterai

 Metode getLastLocation() return location object dengan koordinat


latitude dan longitude dari lokasi geografi. Location object return null
dalam beberapa kondisi berikut :
 Akses Location dimatikan pada device settings
 Device tidak pernah mencatat lokasi -> device baru / device
setelah di factory reset
 Google Play Service pada device melakukan restrart sehingga
tidak terdapat Fused Location Provider Client.
b. Change Location Setting
 Diperlu me-request lokasi atau menerima pembaruan lokasi,
perangkat harus mengaktifkan pengaturan sistem yang sesuai, seperti
pemindaian GPS atau Wi-Fi.
 Daripada mengaktifkan langsung layanan seperti GPS perangkat,
aplikasi Anda menentukan tingkat akurasi / konsumsi daya yang
diperlukan dan interval pembaruan yang diinginkan,
 perangkat secara otomatis membuat perubahan yang sesuai dengan
pengaturan sistem. Pengaturan ini ditentukan oleh objek data
LocationRequest.
 Location Request
 Untuk menyimpan parameter ketika melakukan request ke Fused
Location Provider, dengan create Location Request.
 Menggunakan parameter untuk menentukan tingkat akurasi untuk
permintaan lokasi.

 Update Interval - setInterval()


 Untuk menentukan kecepatan dalam satuan milliseconds untuk
menerima perubahan lokasi pada aplikasi.
 Fastest update interval - setFastestInterval()
 Metode ini menetapkan tingkat tercepat dalam milliseconds di
mana aplikasi dapat menangani pembaruan lokasi.
 Hal ini dilakukan karena Jika kecepatan ini lebih cepat daripada
yang bisa ditangani aplikasi, Kemungkin mengalami masalah
dengan UI flicker atau data overflow. Untuk mencegah hal ini
menggunakan setFastestInterval().
 Priority - setPriority()
Metode ini untuk menetapkan prioritas permintaan, yang memberikan
layanan Google Play Location memberikan petunjuk tentang sumber
lokasi mana yang akan digunakan.
Nilai yang tersedia :
 PRIORITY_BALANCED_POWER_ACCURACY
 PRIORITY_HIGH_ACCURACY
 PRIORITY_LOW_POWER
 PRIORITY_NO_POWER
 Prompt user untuk mengubah location settings
 Hal ini diperlukan untuk memberikan anjuran user telah mengatur
location settings dengan benar.
 OnSuccessListener untuk validasi locations setting yang telah
sesuai.
 OnFailureListener adalah event ketika location settings yang
belum sesuai.
c. Receive Location Update
 Digunakan untuk mendapatkan perubahan lokasi device dari pengguna
 Return berupa lokasi koordinat dalam latitude dan longitude
 GetLastLocation()untuk mendapatkan lokasi terakhir
 metode ini untuk me-request pembaharuan lokasi agar sesuai dengan
lokasi terbaru.
 Keakuratan bergantung provider yang tersedia
d. Display a Location Address
 Lokasi koordinat didapatkan dari Get Last Know Location dan
Receive Location update.
 Tapi dibeberapa kasus, menampilkan alamat lokasi device lebih
bermanfaat daripada lokasi koordinat.
 Contoh : Untuk mengetahui nama jalan sekitar dari device pengguna.
e. Algorithm Mobile Navigation
 Algoritma Shortest Path Google Maps
 Algoritma yang digunakan sangat complex untuk mencari rute
terpendek pada google maps.
 Google maps melihat suatu peta sebagai grafik yang terdiri dari
nodus menghubungkan lokasi yang berbeda-beda
 Ketika kita ingin pergi dari tempat A ke tempat Z google akan
membacanya sebagai titik A ke titik Z, algortma dijkstra bekerja
dengan menghubungkan simpul simpul yang ada di setiap tepi
dan mencari jarak terpendek untuk sampai ditempat tujuan
 Algoritma Djikstra
 Algoritma yang dipakai untuk memecahkan permasalahan jarak
terpendek untuk graf berarah
 Memeriksa dan membandingkan setiap jalur yang ada
 Menentukan rute paling efisien
 Dijkstra juga menggunakan parameter seperti :
● Panjang jalan,
● Jumlah jalur,
● Lampu lalu lintas,
● Kepadatan Jalan
● Data lalu lintas (real time / perkiraan)
Untuk menentukan rute paling efisien.
 Terdapat 2 Label
 Sementara
 Permanen
o Label Sementara diganti dengan label lain jika ditemukan
rute lain yang lebih pendek.
o Jika tak ada rute lain yang lebih baik, status tetap (permanen).
Mobile Security
1. Mobile Communication Security
a. Mobile Security adalah Keamanan yang di miliki oleh sebuah
handphone dalam melindungi sebuah data yang di miliki, masing -
masing handphone miliki struktur mobile yang berbeda - beda namun
hampir semuanya sama mementingkan aspek keamanan.
2. Risiko Keamanan Perangkat Mobile
a. Risiko Fisik
b. Risiko data storage
c. Risiko strong Password
d. Risiko Internet Browsing
e. Risiko Privasi Lokasi
f. Risiko Sistem Operasi
3. Mobile Security Secure Design Principles
a. Prinsip-prinsip keamanan dalam mendesain aplikasi mobile:
 Identifikasi dan Proteksi Data Sensitif pada Perangkat Mobile
 Pastikan Data Sensitif Terlindungi Saat Transit
 Jalankan Aplikasi dengan Hak Akses Minimum
 Ikuti Praktik Secure Coding
4. Mobile Security Testing
a. Metodologi umum dalam melakukan pengujian aplikasi mobile:
 Memahami proses bisnis aplikasi (Understanding application
business process)
 Menguraikan aplikasi (Decomposing application)
 Mengembangkan skenario serangan (Developing attack scenarios)
 Menentukan prioritas risiko (Prioritizing risks)
 Melakukan pengujian (Conducting tests)
 Menganalisis hasil pengujian (Analyzing test results)
 Merekomendasikan perbaikan
5. Mobile Security Assessment
a. Mobile security assessment dapat dilakukan dengan melakukan
pengujian pada aplikasi yang sedang dijalankan atau pada aplikasi yang
sedang tidak dijalankan.
b. Metodologi pengujian aplikasi mobile :
 Analisis Dinamik (Dynamic Analysis)
 Analisis Statis (Static Analysis)
6. Pengujian statis dapat dilakukan
a. Ekstrak aplikasi dari perangkat atau dapatkan paket aplikasi dari
pengembang
b. Melakukan source code review.
c. Melakukan reverse engineering
d. Melakukan dissassembling
7. Security Wireless network
a. Sistem keamanan pada wireless LAN ;
 WEP (Wired Equivalent Privacy).
 WPA (Wi-Fi Protected Access).
8. Ancaman jaringan wireless.
a. Jenis-jenis ancaman jaringan wariless:
 Sniffing to Eavesdrop.
 Denial of Service Attack.
 Man in the Middle Attack.
 Rogue/Unauthorized Access Point.
 Konfigurasi access point yang tidak benar.
9. Virtual Private Network
a. VPN: suatu metode pengamanan dengan membentuk koneksi
logical antar beberapa node dalam jaringan yang bersifat public.
b. Teknologi VPN menyediakan tiga fungsi utama:
 Confidentially (Kerahasiaan) .
 Data Intergrity (Keutuhan Data / Keaslian Data) .
 Origin Authentication (Autentikasi Sumber).
c. Ada 2 jenis site-to-site VPN:
 Internet VPN.
 Extranet VPN.
d. Jenis VPN secara garis besar ada 2:
 Remote-Access VPN.
 Site-to-Site VPN.
e. Keamanan VPN
 Fitur-fitur penting yang ada dalam VPN :
 Enkripsi
 Tunneling
 IPSec

10. Mobile IP
a. IP mobile ( Mobile IP ) adalah protokol komunikasi standar terbuka
yang didefinisikan oleh IETF (Internet Engineering Task Force) yang
memungkinkan pengguna perangkat mobile untuk menjaga IP yang
sama ( Internet Protocol ) alamat saat roaming antara jaringan IP.
b. Komponen IP mobile:
 Mobile Node
 Home Agen
 Agen Asing
 Perawatan Alamat
 Koresponden Node
11. WLAN Vulnerabilities
a. The 802.11 WLAN beroperasi pada dua mode:

 Infrastructure mode
 Ad-hoc mode
b. Infrastructure mode

 Setiap pengguna langsung terkoneksi dengan perangkat Access


Point (AP)
 Tidak ada hubungan langsung (direct connection) antar pengguna
 AP juga menjalankan peran sebagai perangkat HUB untuk
menjembatani koneksi antar pengguna
c. Ad-hoc mode
 Setiap pengguna terhubung langsung dengan pengguna lainnya
(direct connection)
 Tidak ada Access Point untuk manajemen koneksi jaringan
 Jaringan biasanya bersifat sementara (temporary network)
dikarenakan tidak adanya perangkat yang mengatur koneksi
jaringan
d. WLAN memiliki kelebihan terhadap penggunanya dalam hal :
 portable (dapat dibawa kemana saja),
 fleksible (dapat digunakan kapanpun),
 dan biaya pemasangan yang rendah (tanpa memerlukan kabel).
e. WLAN memiliki kekurangan berupa :
 Jarak yang terbatas (berdasarkan radius),
 Perantara medium berupa gelombang (bisa mengakses jaringan
tanpa ketahuan secara fisik)
f. Konsentrasi keamanan pada WLAN mirip dengan lingkungan jaringan
LAN
 Kemiripannya adalah sebagai berikut :
 Confidentiality (Kerahasiaan),
 Integrity (keutuhan),
 Availability (ketersediaan),
 Authentication (keaslian)
 Accountability (akuntabilitas)
g. Secara umum terdapat dua perhatian pada jaringan WLAN :
 Akses
 Memastikan pengguna resmi dapat mengakses jaringan dan
tidak bisa mengakses system utama
 Privacy
 Memastikan privacy pengguna resmi terlindungi dari
penyadapan komunikasi di dalam jaringan oleh pihak luar

h. Bahaya dari Pengguna yang ilegal (Unauthorized users) yaitu :


 Dapat memperoleh akses ke sistem utama langsung,
 Kecenderungan ingin merusak sistem,
 Menggunakan jaringan bandwidth yang dikhususkan pada
pengguna resmi,
 Menurunkan kinerja jaringan bila melakukan serangan aktif,
 Meluncurkan serangan yang mencegah pengguna resmi (authorized
users) untuk mengakses jaringan,
 atau penyalahgunaan informasi sistem untuk menyerang sistem
jaringan lainnya.
12. Cellular Vulnerabilities
a. Jaringan seluler merupakan jaringan nirkabel yang bertujuan untuk
meningkatkan kapasitas penggunaan device mobile
b. Sistem yang digunakan pada jaringan seluler adalah sistem yang
menggunakan daya rendah, sehingga lebih cost effective dalam
penggunaannya.
c. Setiap device yang berperan dalam jaringan seluler akan memiliki
antena masing masing menggunakan daya yang relative randah, dan
antara device yang saling berhubungan, contohnya antara device
pengguna dengan BTS akan menggunakan frekuensi yang berbeda, agar
mengurangi terjadi interferensi ataupun crosstalk
d. FDMA (Frequency Division Multiple Access)
 Sistem multiple access yang menempatkan seorang pelanggan pada
sebuah kanal berbentuk pita frekuensi (frequency band)
komunikasi. Jika satu pita frekuensi dianggap sebagai satu jalan,
maka FDMA merupakan teknik “satu pelanggan, satu jalan”.
e. TDMA (Time-division Multiple Access)
 TDMA memberikan satu pita frekuensi untuk dipakai beberapa
pelanggan. Jadi kanal-kanal komunikasi dirupakan dalam bentuk
slot-slot waktu. Slot waktu adalah berapa lama seorang pelanggan
mendapat giliran untuk memakai pita frekuensi.
f. CDMA (Code-division Multiple Access)
 Kanal yang satu dengan lainnya tidak dibedakan dari
frekuensi/FDMA atau waktu/TDMA yang secara awam lebih
mudah dipahami, melainkan dengan perbedaan kode. Jadi pada
CDMA, seluruh pelanggan menggunakan frekuensi yang sama
pada waktu yang sama
g. GSM (GLOBAL SYSTEM FOR MOBILE COMMUNICATION)
 GSM merupakan standar seluler yang paling banyak digunakan
dunia
 Handsets and SIMs
 International Mobile Equipment Identifier (IMEI)
 International Mobile Subscriber Identity (IMSI)
 Kelebihan GSM
 Jaringan lebih luas karena telah ada banyak provider GSM
diseluruh Indonesia
 Bebas dari Roaming (1 nomor telepon tidak berubah walaupun
sering berpindah provinsi)
 Teorinya, timeslot dedicated yang disediakan ini menjamin
penggunanya bisa mendapatkan kualitas layanan komunikasi
yang lebih konstan, tidak naik turun.
 Handset & penyedia layanan yang tersedia untuk dipilih lebih
beragam.
 Kekurangan GSM
 Sistem keamanan yang kurang baik sehingga mudah disadap
 ketika jaringan GSM sudah penuh, maka pemilik ponsel
biasanya akan mengalami kesulitan untuk melakukan
panggilan atau bahkan menerima panggilan. Hal ini
disebabkan oleh tidak adanya timeslot kosong yang bisa
digunakan.

h. Penyalahgunaan di Indonesia
 Pemalsuan identitas pengisian informasi pengguna baru
 Pengoperasian penguat sinyal seluler (repeater) tanpa ijin
 Penyalahgunaan internet gratis dengan SSH
 Penyalahgunaan trafik roaming internasional menjadi nasional
melalui SIMBox
13. Application Vulnerabilities
a. Keamanan aplikasi termasuk didalamnya pengukuran melalui life-cycle
aplikasi untuk mencegah serangan pada sistemnya
b. Layer utama adalah layer 7
c. Keamanan aplikasi juga bagian dari Software (or System) Development
Life-Cycle (SDLC)
d. Pihak yang sangat memperhatikan keamanan pada aplikasi adalah
pengembang aplikasi dan manajer dari pengembang aplikasi

e. Resiko Pada Keamanan Aplikasi Desktop


 Akses Ilegal terhadap data pelanggan atau data perusahaan
 Pencurian data sensitive seperti data kartu kredit
 Terjadinya cracking aplikasi
f. Resiko Pada Keamanan Aplikasi Jaringan
 Pengalihan link ke web berbahaya
 Deface Web
 Phishing dan malware distribution
 Denial of service;

SENSOR ANDROID
1. Definisi sensor
a. Alat yang dapat digunakan untuk mengukur, menganalisis, memantau
suatu kondisi dan merespon terhadap perubahan di sekitarnya.
b. Dapat ditemukan pada perangkat modern seperti smartphone dengan
sistem operasi android.
2. Tiga kategori besar sensor:
a. Sensor gerak
b. Sensor lingkungan
c. Sensor posisi
3. Tiga kategori besar sensor:
a. Sensor gerak
b. Sensor lingkungan
c. Sensor posisi
4. Jenis-Jenis sensor
a. Accelerometer
 Berfungsi mengukur kemiringan perangkat
 Berfungsi mengukur kecepatan gerak perangkat
b. Gyroscope
 Mengukur rotasi.
 Ada tiga sumbu rotasi.
 Bernilai nol pada saat diam
c. Proximity
 Digunakan untuk mendeteksi keberadaan suatu objek tanpa
kontak fisik.
 Terletak di bagian muka perangkat.
 Menggunakan photo diode dan LED.
 Menggunakan pantulan inframerah.

d. Ambient Light Sensor


 Digunakan untuk mengatur mengukur intensitas cahaya.
 Terletak di bagian muka perangkat
 Menggunakan photo diode.
 Cahaya diukur dalam satuan lux.
 Digunakan untuk mengatur brightness layar secara otomatis.
 Dapat digunakan sebagai proximity sensor.
e. Digital Compass (Magnetometer)
 Digunakan untuk mengukur tingkat kemagnetan dari bahan
magnetik
 Digunakan untuk mengukur kekuatan arah medan magnet
 Digunakan sebagai kompas.
f. Orientation Sensor
 Mengetahui orientasi ponsel.
 Mendeteksi posisi perangkat: lancscape atau portrait.
 Digunakan untuk rotasi layar secara otomatis.
g. Location Sensor
 Mencari lokasi perangkat (find my location, mark your place, find
your phone)
 Mencari arah kiblat (qibla locator)
 Find your phone
 Mengukur jarak
 Mencari rute
 Mencari teman yang berada dekat dengan perangkat (find friends
nearby)
h. Sound / Microphone Sensor
 Mengukur kadar bunyi disekitar perangkat.
 Berfungsi menyesuaikan volume.
i. Humidity Sensor
 Mengukur kelembaban relatif.
 Dapat dimanfaatkan untuk mengkur kelembaban udara atau tanah
yang cocok untuk tanaman.
j. Fingerprint Sensor
 Dapat dimanfaatkan untuk verifikasi identitas pemilik perangkat.
k. Gesture Sensor
 Mengenali gerakan tangan
 Mendeteksi sinar infra merah dari telapak tangan manusia
 Mengukur perubahan arus lisrik ketika jari pengguna berada dekat
layar.
l. Heart Rate Sensor
 Menghitung jumlah denyut jantung.
 Hanya ada pada Galaxy S5 dan Galaxy Note.
m. Hall Sensor
 Mendeteksi apakah penutup perangkat (flip cover) menutupi
layar.
n. Pulse Oxymetry Sensor (SP02)
 Digunakan untuk mengukur saturasi oksigen tubuh dan jumlah
oksigen yang dibawa sel-sel darah merah.
 Untuk mengetahui efektivitas seseorang bernafas dan kualitas
darah yang diangkut ke seluruh tubuh.
o. UV sensor
 Digunakan untuk mengukur intensitas radiasi ultraviolet
 Hanya bekerja di bawah terik sinar matahari.

Menentukan Mobile Seluler Network


1. Definisi Cellular Network
a. Cellular network atau Mobile network merupakan jaringan nirkabel
yang didistribusikan melewati suatu area yang disebut dengan cell
bagi semua perangkat yang bersifat bergerak.
b. Daerah layanannya dibagi-bagi menjadi daerah yang kecil-kecil yang
disebut Sel (Cell).
c. Sifat: Pelanggan mampu bergerak secara bebas di dalam area layanan
tanpa terjadi pemutusan hubungan.
2. Cell (sel)
a. Definisi: Area cakupan (coverage area) dari Radio Base Station.
b. Ukuran Sel: Macrocell (>5km), Microcell (3-5km), Picocell(<1 km).
c. Konsep bentuk sel dalam perencanaan : Sel berbentuk heksagonal
( atau bentuk yang lain ) hanya digunakan untuk mempermudah
penggambaran pada layout perencanaan.
3. Mobile Cellular Network menawarkan beberapa fitur antara lain :
a. Kapasitasnya lebih besar dibandingkan dengan sistem pemancar besar
tunggal
b. Menggunakan daya lebih sedikit dibandingkan dengan sistem
pemancar tunggal
c. Area cakupan lebih luas dibandingkan dengan sistem pemancar
teresterial tunggal
d. Memiliki mekanisme kunci yang memungkinkan komunikasi tidak
terputus saat pengguna bergerak menuju cell atau area lain dalam
jaringan.
4. Komponen – Komponen dalam Jaringan Seluler Bergerak adalah :
a. Public Telecommunication Switching Network (PSTN )
b. Mobile Switching Center (MSC)
c. Base Station ( BTS )
d. Mobile Station (MS)
5. Evolusi Mobile Seluler Berdasarkan Generasi
a. 1G  AMPS (Advanced Mobile Phone Service)
b. 2G  GSM (Global System for Mobile Communication)
c. 2.5G  GPRS (General Packet Radio Services)
d. 2.75G  EDGE (Enhanced Data rates for GSM Evolution)
e. 3G  EVDO (Evolution Data Optimized)
f. 3.5G  HSDPA (High Speed Downlink Packet Access)
g. 3.75G  HSUPA (High Speed Uplink Packet Access)
h. 4G  LTE (Long Term Evolution)
6. Protokol dan Fitur-fitur pada Mobile Cellular Network
a. Yang termasuk teknologi dan protokol pada 1G yakni:
 AMPS (Advanced Mobile Phone Service) atau IS-136
 NMT ( Nordic Mobile Telephony)
 HICAP
 TACS
 C 450
 C-Netz
 Mobitex
 DataTAC
b. Yang termasuk teknologi dan protokol pada 2G yakni:
 Global System for Mobile (GSM)
 General Packet Radio Service (GPRS)
 Enhanced Data Rates for GSM Evolution (EDGE)
c. Yang termasuk teknologi dan protokol pada 3G yakni:
 EDGE (Enhanced Data Rates for Global/GSM Evolution) atau E-
GPRS (Enhanced -General Packet Radio Services).
 W-CDMA (Wideband – Coded Division Multiple Access) atau
UMTS (Universal Mobile Telecommunication System).
 CDMA2000-1X EV/DV (Evolution/Data/Voice) dan CDMA2000-
1X EV-DO (Data Only)/ (Data Optimized) atau IS-856.
 TD-CDMA (Time Division Code Division Multiple Access) atau
UMTS-TDD (Universal Mobile Telecommunication System –
Time Division Duplexing)
 GAN (Generic Access Network) atau UMA (Unlicensed Mobile
Access)
 HSPA (High-Speed Packet Access)
 HSDPA (High Speed Downlink Packet Access)
 HSUPA (High Speed Uplink Packet Access)
 HSPA+ (HSPA Evolution)
 FOMA (Freedom of Mobile Multimedia Access)
 HSOPA (High Speed OFDM Packet Access)
 TD-SCDMA (Time Division Synchronous Code Division Multiple
Access)
d. Yang termasuk teknologi dan protokol pada 4G yakni:
 4G Revolusioner (4G-R)
 4G Evolusioner (4G-E)
 IP-Media Subsystem (IMS)
7. Arsitektur GSM pada Mobile Cellular Network
a. Global System for Mobile Communication (GSM) merupakan sistem
teknologi seluler generasi ke-2 (2G).
b. Teknologi ini mengadopsi sistem modulasi digital, kapasitas lebih
besar, kualitas suara dan sekuritas yang lebih baik jika dibandingkan
teknologi seluler generasi pertama AMPS (1G) yang masih analog
c. Arsitektur Jaringan GSM terdiri dari 3 bagian utama :
 Switching Subsystem (SSS) = Network Switching Subsystem
(NSS)
 Radio Subsystem (RSS) = Base Station Subsystem (BSS)
& Mobile Station (MS)
 Operation & Maintenance System (OMS) = Operation and Support
System (OSS)
d. Sistem GSM memiliki tiga buah antarmuka standar yang terdiri dari :
 Antarmuka udara (Um-interface) yang menghubungkan perangkat
MS dan BTS,
 Antarmuka Abis (Abis-interface) yang menghubungkan BTS dan
BSC, serta
 Antarmuka A (A-interface) berupa PCM line yang menghubungkan
BSC dan MSC
e. Base Station Subsystem (BSS), BSS terdiri dari tiga perangkat yaitu
 BaseTransceiver Station (BTS)
 Base Station Controller (BTC)
 Transcoder (TRC)
f. Komponen NSS pada jaringan GSM terdiri dari :yaitu :
 Mobile Switching Center (MSC)
 Home Location Register ( HLR )
 Visitor Location Register ( VLR )
 Authentication Center ( AuC )
 Equipment Identity Register (EIR)
 Gateway MSC (GMSC)
g. Komponen OSS pada jaringan GSM terdiri dari:
 Operation and Maintenance Center ( OMC ), OMC sebagai pusat
pengontrolan operasi dan pemeliharaan jaringan. Fungsi utamanya
mengawasi alarm perangkat dan perbaikan terhadap kesalahan
operasi.
 Network Management Centre (NMC), NMC berfungsi untuk
pengontrolan operasi dan pemeliharaan jaringan yang lebih besar
dari OMC.
8. Mobile Phone Network
a. Contoh paling umum dari jaringan seluler adalah jaringan telepon
seluler (telepon seluler)
b. Ponsel adalah telepon portabel yang menerima atau melakukan
panggilan melalui BTS
c. Jaringan mobile phone modern menggunakan cell karena
keterbatasan frekuensi radio

d. Struktur dari mobile phone cellular network terdiri dari :


 Jaringan Radio Base Station atau base station subsystem.
 Core circuit switched network yang menangani panggilan suara dan
teks.
 Packet switched network yang menangani mobile data
 Public switched telephone network yang menghubungkan antar
bagian subscribers dengan jaringan telepon besar lainnya.
e. Handover
 Handover (HO) adalah pengalihan panggilan dari satu sel ke sel
lain ketika sebuah telepon seluler bergerak melewati wilayah
cakupan layanan lintas sel.
 Proses Handover terjadi karena kualitas atau daya ratio turun di
bawah nilai yang dispesifikasikan dalam BSC. Penurunan level
sinyal ini dideteksi dari pengukuran yang dilakukan MS maupun
BTS.
f. Frekuensi Seluler
 Pada perkembangan teknologi mobile phone network generasi
pertama kali menggunakan teknologi analog circuit-switched
dengan berbasis frequency division multiple access (FDMA),
bekerja pada pita frekuensi 800–900 MHz.
 Pada teknologi mobile phone network generasi kedua
menggunakan frekuensi yang dipakai dalam teknologi GSM yaitu
890–960 MHz dan 1710–1880 MHz.
 Pada teknologi mobile phone network generasi ketiga sampai
sekarang menggunakan frekuensi 1710–2170 MHz.
9. Proses- Proses pada Mobile IP Concept
a. Mobile IP
 Protokol komunikasi yang di desain untuk perangkat mobile agar
memiliki ip address permanen walaupun berpindah network
b. Mobile Node
 Semua bentuk perangkat mobile yang
terhubung ke Home Network.
 Mobile node pada protocol Mobile IP
memiliki 2 ip addres yaitu :
Permanent Address dan Care Off Address
c. Home Agent
 Router yang memiliki kemampuan khusus
yang sedang melayani jaringan dimana Mobile Node sedang
terhubung. Home Agent dianggap menjadi ”rumah”
permanen dimana Mobile Node terhubung
pertama kali. Permanent Addres di dapatkan oleh Mobile
Node pada Router ini.
d. Permanent Address
 Alamat IP yang didapat oleh Mobile Node
pada jaringan Home Agent nya, alamat ip
ini tidak berubah walaupun Mobile Node
berpindah jaringan.
e. Care Off Address
 Alamat IP dari router yang menjadi ”rumah”
baru bagi Mobile Node, alamat ip ini
merupakan tambahan terhadap IP
permanent address
f. Visited Network
 Jaringan Baru yang menjadi rumah bagi
Mobile Node.
g. Foreign Agent
 Router pada Visited Network yang melayani
Mobile Node pada jaringan yang baru.
h. Correspondent
 Mobile Node lain yang sedang berkomunikasi
dengan Mobile Node yang berpindah jaringan

10. Agent Discovery


a. Home Agent dan Foreing Agent, Melakukan broadcast paket ICMP
untuk memberi tahu seluruh
Mobile Node yang ada pada jaringannya.
b. Mobile Node akan selalu mendengarkan (listen) terhadap broadcast
dari Home Agent / Foreign Agent,
jika mendapatkan broadcast Mobile Network Menginisiasi Proses
Registrasi.
c. Proses Registrasi Selalu di inisiasi oleh Mobile Node baik ke Home
Agent atau Foreign Agent
11. Mobile Node Registration
a. Di Home Network
b. Mobile Node Registrasi Ke Home Agent
c. Hanya Mengisi Permanent Address, Tanpa Mengisi Care Off Address
d. Registrasi terjadi setiap kali Mobile Node berpindah jaringan

Anda mungkin juga menyukai