Anda di halaman 1dari 42

KATA PENGANTAR

Puji syukur kami ucapkan kehadirat Allah SWT, atas segala rahmat dan hidayah-Nya.
Sehingga penulis dapat menyelesaikan Modul dengan judul “Modul Pemrograman Web dan
Perangkat Bergerak Menggunakan Android Studio untuk SMK Perangkat Lunak (RPL)
Kelas XII Semester Genap Tahun Ajaran 2019/2020". Modul ini digunakan untuk membantu
para siswa SMK Negeri 2 Surakarta kelas XII untuk memudahkan memahami materi
Pemrograman Web dan Perangkat Bergerak Menggunakan Android Studio .
Penulis menyadari bahwa dalam menyelesaikan penulisan modul, penulis mengalami
kendala karena keterbatasan dan kemampuan penulis. Penulis juga menyadari bahwa dalam
pelaksanaan dan penulisan modul ini tidak bisa lepas dari bantuan berbagai pihak. Dengan
rasa tulus ikhlas penulis mengucapkan terimakasih kepada:
• Kepala SMK Negeri 2 Surakarta.
• Teman – teman Bapak dan Ibu guru SMK Negeri 2 Surakarta yang selalu memberikan
bimbingan, dorongan, ilmu dan motivasi.
• Keluarga tercinta yang selalu memberikan motivasi dan dukungan.
• Semua pihak yang telah membantu penulis dalam pelaksanaan modul ini.
Semoga Allah SWT memberikan balasan yang lebih baik atas kebaikan dan bantuan
yang telah mereka berikan. Dalam penyusunan modul, penulis menyadari bahwa masih
terdapat banyak kekurangan baik dalam isi maupun cara penyajian materi. Oleh karena itu,
penulis mengharapkan kritik dan saran guna perbaikan di masa datang. Semoga modul ini
dapat memberi manfaat bagi penulis khususnya dan siswa – siswi SMK Negeri 2 Surakarta
dan pembaca pada umumnya.

Surakarta, Juli 2019


Penulis,

Arika Prihastanti Sutami, S.Pd


PEMERINTAH PROVINSI JAWA TENGAH
DINAS PENDIDIKAN DAN KEBUDAYAAN
SEKOLAH MENENGAH KEJURUAN NEGERI 2
SURAKARTA
Jalan L.U. Adisucipto Nomor 33 Banjarsari, Surakarta Kode Pos 57139
Telp. 0271-714901 Fax. 0271-727003 E-mail : info@smkn2solo.sch.id – http://www.smkn2solo.sch.id

PENGESAHAN
MODUL

1. Judul Modul MODUL PEMROGRAMANWEB DAN


PERANGKAT BERGERAK MENGGUNAKAN
ANDROID STUDIO UNTUK SMK
PERANGKAT LUNAK (RPL) KELAS XII
SEMESTER GENAP TAHUNAJARAN
2019/2020

2. Mata Pelajaran PEMROGRAMAN WEB DAN PERANGKAT


BERGERAK

3. Identitas Penulis
a. Nama lengkap (gelar) Arika Prihastanti Sutami, S.Pd
b. Jenis Kelamin Perempuan
c. Pangkat / Golongan Penata Muda Tk 1/ III b
d. NIP/NUPTK 19900918 201402 2 003 / 2250 7686 7022 003
e. Unit Kerja SMK Negeri 2 Surakarta
f. Kota Surakarta
g. Provinsi Jawa tengah

Modul ini disahkan oleh Kepala Sekolah SMK Negeri 2 Surakarta.


Surakarta, Juli 2019

Disahkan oleh,
Kepala SMK N 2 Surakarta Penulis

Suratno, S.Pd, M.Pd Arika Prihastanti Sutami, S.Pd


NIP. 19671021 199103 1 005 NIP. 19900918 201402 2 003
`
PEMERINTAH PROVINSI JAWA TENGAH
DINAS PENDIDIKAN DAN KEBUDAYAAN
SEKOLAH MENENGAH KEJURUAN NEGERI 2
SURAKARTA
Jalan L.U. Adisucipto Nomor 33 Banjarsari, Surakarta Kode Pos 57139
Telp. 0271-714901 Fax. 0271-727003 E-mail : info@smkn2solo.sch.id – http://www.smkn2solo.sch.id

PENGESAHAN PERPUSTAKAAN
Yang bertandatangan dibawah ini Kepala Perpustakaan SMK Negeri 2 Surakarta :
Nama : Mudrig Triyanto, S.Pd
NIP : 19760531 200701 1 007
Pangkat / Gol : Penata/ IIIc
Menerangkan bahwa :
Nama : Arika Prihastanti Sutami, S.Pd
NIP : 19900918 201402 2 003
Unit Kerja : SMK Negeri 2 Surakarta
Modul dengan judul :

“MODUL PEMROGRAMAN WEB DAN PERANGKAT BERGERAK MENGGUNAKAN


ANDROID STUDIO UNTUK SMK PERANGKAT LUNAK (RPL) KELAS XII
SEMESTER GENAP TAHUN AJARAN 2019/2020” .

Telah dipublikasikan di perpustakaan SMK Negeri 2 Surakarta.


Demikian surat keretangan ini dibuat agar dapat dipergunakan sebagaimana mestinya

Surakarta, Juli 2019


Disahkan oleh Penulis
Kepala Perpustakaan

Mudrig Triyanto, S.Pd Arika Prihastanti Sutami, S.Pd


NIP. 19760531 200701 1 007 NIP. 19900918 201402 2 003
Mengetahui

Kepala Sekolah

Suratno, S.Pd, M.Pd


NIP. 19671021 199103 1 005
PETA KONSEP MODUL

1. 2. 3.
Menerapkan Menerapkan teknik Menerapkan teknik
pengkodean alur pengolahan input user
program dalam aplikasi desain aplikasi lanjutan

UJI
KOMPETENSI

4. 5.
5.
Menerapkan Menerapkan aplikasi
konektifitas aplikasi Mengevaluasi basis data mobile
mobile dengan web penggunaan library
pada aplikasi mobile
DAFTAR ISI

HALAMAN JUDUL..................................................................................................................................i
KATA PENGANTAR..............................................................................................................................ii
PENGESAHAN KEPALA SEKOLAH..........................................................................................iii
PENGESAHAN PERPUSTAKAAN................................................................................................iv
PETA MODUL...........................................................................................................................................v
DAFTAR ISI..............................................................................................................................................vi
BAB I PENDAHULUAN
A. Kompetensi Inti.......................................................................................................................1
B. Kompetensi Dasar...................................................................................................................1
C. Deskripsi....................................................................................................................................1
D. Waktu.........................................................................................................................................2
E. Prasyarat....................................................................................................................................2
F. Petunjuk Penggunaan Modul...............................................................................................3
G. Peran Guru................................................................................................................................3
BAB II PEMBELAJARAN
KD 3.28 Menerapkan Pengkodean Alur Program Dalam Aplikasi
A. Tujuan Pembelajaran.............................................................................................................4
B. Materi Pembelajaran..............................................................................................................4
C. Rangkuman...............................................................................................................................7
D. Lembar Kerja Siswa...............................................................................................................7
E. Uji Kompetensi........................................................................................................................9
KD 3.29 Menerapkan Teknik Pengolahan Input User
KD 3.30 Menerapkan Teknik Desain Aplikasi Lanjutan
A. Tujuan Pembelajaran...........................................................................................................10
B. Materi Pembelajaran............................................................................................................10
C. Rangkuman.............................................................................................................................12
D. Lembar Kerja Siswa............................................................................................................12
E. Uji Kompetensi.....................................................................................................................13
KD 3.31 Menerapkan Aplikasi Basis Data Mobile
KD 3.32 Mengevaluasi Penggunaan Library Pada Aplikasi Mobile
KD 3.33 Menerapkan Konektifitas Aplikasi Mobile Dengan Web
A. Tujuan Pembelajaran...........................................................................................................16
B. Materi Pembelajaran............................................................................................................16
C. Rangkuman.............................................................................................................................21
D. Lembar Kerja Siswa............................................................................................................21
E. Uji Kompetensi.....................................................................................................................24
Soal Latihan Ulangan Tengah Semester Gasal............................................................25
Kunci Jawaban...........................................................................................................................33
BAB I
PENDAHULUAN

A. KOMPETENSI INTI
Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan
faktual, konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan
lingkup kerja pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan
ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks
pengembangan potensi diri sebagai bagian dari keluarga, sekolah, dunia kerja, warga
masyarakat nasional, regional, dan internasional.

B. KOMPETENSI DASAR
3.28 Menerapkan pengkodean alur program dalam aplikasi
3.29 Menerapkan teknik pengolahan input user
3.30 Menerapkan teknik desain aplikasi lanjutan
3.31 Menerapkan aplikasi basis data mobile
3.32 Mengevaluasi penggunaan library pada aplikasi mobile
3.33 Menerapkan konektifitas aplikasi mobile dengan web

C. DESKRIPSI
Pemrograman Web dan Perangkat Bergerak memiliki tujuan agar peserta didik
mampu membuat suatu aplikasi berbasis mobile yang mampu membantu kerja suatu
organisasi ataupun dapat bermanfaat bagi yang lain. Sebelum peserta didik membuat
aplikasi mobile sesuai kompetensinya terlebih dahulu peserta didik harus memahami
berbagai materi yang diperlukan, antara lain:
• Menjelaskan prosedur pengkodean alur program dalam aplikasi mobile.
• Menerapkan pengkodean alur program dalam aplikasi mobile.
• Menjelaskan prosedur teknik pengolahan input dari pengguna (user).
• Menerapkan kode program untuk mengolah input pengguna.
• Menerapkan kode program antar muka untuk mengolah input user.
• Menerapkan teknik lanjut dalam membuat aplikasi mobile.
• Menjelaskan penerapan aplikasi basis data mobile.
• Menerapkan prosedur akses basis data dalam aplikasi mobile.

1
• Menjelaskan penggunaan library dalam mebuat aplikasi mobile.
• Menerapkan library dalam aplikasi berbasis mobile.
• Menjelaskan prosedur konektifitas aplikasi mobile dengan web.
• Menerapkan aplikasi konektor dalam program aplikasi mobile dengan web.

D. WAKTU
Waktu yang digunakan untuk meguasai kompetensi adalah :
Menerapkan pengkodean alur program dalam 4 Pertemuan atau (26 x 45 Menit)
aplikasi
Menerapkan teknik pengolahan input user 4 Pertemuan atau (26 x 45 Menit)
Menerapkan teknik desain aplikasi lanjutan 4 Pertemuan atau (26 x 45 Menit)
Menerapkan aplikasi basis data mobile 4 Pertemuan atau (26 x 45 Menit)
Mengevaluasi penggunaan library pada aplikasi 4 Pertemuan atau (26 x 45 Menit)
mobile
Menerapkan konektifitas aplikasi mobile dengan 4 Pertemuan atau (26 x 45 Menit)
web

E. PRASYARAT
Modul ini merupakan panduan praktis dalam proses pembelajaran. Agar
memperoleh hasil yang maksimal, ada baiknya siswa atau guru membaca petunjuk
penggunaan ini: Materi yang disajikan dalam modul ini berupa materi esensial dari
kompetensi dasar yang terdapat dalam Kompetensi. Sesuai namanya materi ini
disajikan secara ringkas dan padat serta jelas. Kompetensi terdiri dari :

• Menerapkan pengkodean alur program dalam aplikasi


• Menerapkan teknik pengolahan input user
• Menerapkan teknik desain aplikasi lanjutan
• Menerapkan aplikasi basis data mobile
• Mengevaluasi penggunaan library pada aplikasi mobile
• Menerapkan konektifitas aplikasi mobile dengan web

2
F. PETUNJUK PENGGUNAAN MODUL
Agar peserta didik berhasil menguasai dan memahami materi dalam modul ini,
kemudian dapat mengimplementasikan dalam kehidupan sehari-hari, maka bacalah
dengan cermat dan ikuti petunjuk berikut ini dengan baik:
• Bacalah doa terlebih dulu sesuai dengan keyakinanmu, agar diberikan kemudahan
dalam mempelajari materi ini
• Bacalah materi ini dengan seksama, sehingga isi materi ini dapat dipahami dengan
baik
• Kerjakan lembar kegiatan peserta didik yang sudah disediakan dengan baik

G. PERAN GURU
Peran guru sebagai berikut:
• Membimbing dalam kegiatan belajar mengajar
• Membantu dalam mencari sumber pembelajaran yang sesuai dengan materi
• Memahami peserta didik yang mengalami kesulitan dalam memahami materi

3
BAB II
PEMBELAJARAN

KD 3.28 Menerapkan pengkodean alur program dalam aplikasi

PENGGUNAAN WIDGET PADA APLIKASI MOBILE

A. TUJUAN PEMBELAJARAN
Dengan mempelajari modul ini diharapkan peserta didik dapat:
• Menjelaskan prosedur pengkodean alur program dalam aplikasi mobile.
• Menerapkan pengkodean alur program dalam aplikasi mobile.

B. MATERI PEMBELAJARAN

Widget android pada dasarnya merupakan visualisasi dari elemen user


interface (UI) yang digunakan pada layar aplikasi ndroid dimana kita dapat
merancang sendiri sesuai kebutuhan kita. Widget di dalam android ditampilkan dengan
konsep View. Di mana aplikasi android pada umumnya menggunakan widget sebagai
layout XML. Untuk mengimplementasikan widget, selain file java kita juga
membutuhkan tambahan dua file. Berikut ini adalah file-file yang umumnya kita
butuhkan apabila kita membuat widget:
• File Java
Berupa file java dimana merupakan file yang mengimplementasikan aksi dari
widget. Jika kita mendefinisikan suatu widget beserta posisinya di layar yang
didefinisikan dari file XML, kita harus melakukan coding di file java dimana kita
dapat mengambil semua nilai atribut dari tata letak file xml yang didefinskan.
• File XML
Sebuah file XML yang berada di res/values/ yang mendefinisikan komponen
elemen-elemen XML yang digunakan untuk inisialisasi widget serta atribut yang
mendukungnya. Layout XML[optional]. File ini tidak harus ada, file XML berada di
dalam res/layout/ yang menggambarkan atau penambahan keterangan pada layout
widget. Sebenarnya ini kita dapat dilakukan pada file java kita (file dikenal dengan
string.xml pada bab bagian-bagian sebelumnya, dimana fungsi string.xml itu bias
dihandle oleh file javanya).

4
1. Message Box
Dalam sebuah aplikasi, kotak dialog atau message box merupakan sarana
interaktif antara user dengan aplikasi itu sendiri. Misalnya jika kita ingin keluar
dari aplikasi, biasanya muncul peringatan berisi pertanyaan “Are you sure to quit?”
dan tersedia tombol “yes” dan “no”. Pada bagian ini kita akan menggunakan
message box yakni toast dan alert dialog. Message box dengan menggunakan toast
Toast adalah kotak kecil transparan, apabila di panggil akan muncul diatas
apalikasi yang sedang berjalan. Biasanya toast berisi pesan singkat. Contoh
penerapannya adalah pesan yang muncul ketika melakukan save pada suatu
aplikasi.

Gambar 1.1: Tampilan Message Box

Message box dengan menggunakan alert dialog Definisi dari Alert dialog adalah
dialog/window yang muncul sebagai respon dari system yang berfungsi untk
memberikan informasi kepada user saat itu juga dan sebagian dari dialog ini
memerlukan respon dari user untuk proses lebih lanjutnya. Alerti dialog dapat
menampilkan informasi berupa 1 pilihan, 2 pilihan dan 3 pilihan. Dibawah ini
contoh penggunaan alert dialog :

5
Gambar 1.2: Tampilan Message Box Pesan

2. Spinner/Combolist
Mengenal widget spinner pada android Widget spinner dalam android adalah
untuk menampilkan pilihan list dalam bentuk drop-down. Penggunaannya tidak
jauh dengan komponen listview. Berikut contoh penggunaan spinner:

Gambar 1.3: Tampilan Spinner

6
3. Popup Menu

Gambar 1.4: Tampilan Popup Menu

C. RANGKUMAN
• Widget android pada dasarnya merupakan visualisasi dari elemen user interface
(UI) yang digunakan pada layar aplikasi android dimana kita dapat merancang
sendiri sesuai kebutuhan kita.
• File java merupakan file yang mengimplementasikan aksi dari widget.
• File-file yang umumnya kita butuhkan apabila kita membuat widget adalah java
dan XML

D. LEMBAR KERJA SISWA

STUDI KASUS
Petunjuk:
Analisislah Gambar di bawah ini, tentukanlah widget dan layout apa yang digunakan
untuk membuat UI tersebut!

7
a.

………………………………………………………………………………………
………………………………………………………………………………………
b.

………………………………………………………………………………………
………………………………………………………………………………………
c.

………………………………………………………………………………………
………………………………………………………………………………………

8
D. UJI KOMPETENSI
Jawablah dengan uraian yan singkat dan tepat!
1. Widget android adalah ….
2. Dua file yang perlu ditambahkan untuk mengimplementasikan widget adalah ….
3. File yang mengimplementasikan aksi dari widget adalah ….
4. File XML diletakkan di direktori ….
5. Sebuah widget yang dapat memunculkan pertanyaan “Are you sure to quit?” dan
tersedia tombol “yes” dan “no” adalah ….

9
KD 3.29 Menerapkan teknik pengolahan input user
KD 3.30 Menerapkan teknik desain aplikasi lanjutan

A. TUJUAN PEMBELAJARAN
Dengan mempelajari modul ini diharapkan peserta didik dapat:
1. Menjelaskan prosedur teknik pengolahan input dari pengguna (user).
2. Menerapkan kode program untuk mengolah input pengguna.
3. Menerapkan kode program antar muka untuk mengolah input user.
4. Menerapkan teknik lanjut dalam membuat aplikasi mobile.

B. MATERI PEMBELAJARAN

1. INPUT USER

Gambar 2.1: Tampilan Input

Input adalah komponen interaktif dalam antarmuka pengguna aplikasi anda.


Android menyediakan aneka ragam kontrol yang bisa Anda gunakan dalam UI, seperti
tombol, bidang teks, bilah pencarian, kotak centang, tombol zoom, tombol toggle, dan
masih banyak lagi. Menambahkan sebuah input ke UI adalah semudah menambahkan
satu elemen XML ke layout XML. Misalnya, inilah sebuah layout dengan satu bidang
teks dan satu tombol. Tiap kontrol masukan mendukung satu set kejadian masukan
sehingga Anda bisa menangani berbagai kejadian seperti saat pengguna memasukkan
teks atau menyentuh tombol.

10
Tabel 2.1: Tipe Kontrol

2. INTENT

Gambar 2.2: Tampilan Intent

Intent adalah sebuah kelas dalam programming Android yang berfungsi untuk
perpindahan halaman. Intent juga merupakan suatu objek yang terdapat dalam suatu
activity dimana objek tersebut dapat komunikasi dengan activity yang lain, baik activity
pada fungsi internal android misal seperti memanggil activity dalam satu package atau
beda package yang masih berada dalam satu project. Intent merupakan objek tipe
android.content.Intent. Melalui metode startActivity() yang digunakan untuk memulai
sebuah activity lain.

11
Intent dibagi menjadi 2, yaitu :
1. Explicit Intent berfungsi untuk mengaktifkan komponen-komponen dalam satu
aplikasi yang sama. Misalnya seperti : Berpindah Activity.
2. Implicit Intent berfungsi untuk memanggil fungsi activity yang sudah ada di fungsi
internal android seperti Dial Number, Open Browser dan lainnya.

C. RANGKUMAN
• Input adalah komponen interaktif dalam antarmuka pengguna aplikasi anda.
Android menyediakan aneka ragam kontrol yang bisa Anda gunakan dalam UI,
seperti tombol, bidang teks, bilah pencarian, kotak centang, tombol zoom, tombol
toggle, dan masih banyak lagi.
• Intent adalah sebuah kelas dalam programming Android yang berfungsi untuk
perpindahan halaman.
• Intent dibagi menjadi 2, yaitu :
1. Explicit Intent berfungsi untuk mengaktifkan komponen-komponen dalam satu
aplikasi yang sama. Misalnya seperti : Berpindah Activity.
2. Implicit Intent berfungsi untuk memanggil fungsi activity yang sudah ada di
fungsi internal android seperti Dial Number, Open Browser dan lainnya.

D. LEMBAR KERJA SISWA

STUDI KASUS
Petunjuk:
Analisislah Gambar di bawah ini, tentukanlah widget dan layout apa yang digunakan
untuk membuat UI tersebut!

12
a.

………………………………………………………………………………………
………………………………………………………………………………………

D. UJI KOMPETENSI
Pilihlah jawaban yang paling tepat !
1. Untuk melakukan interaksi antar komponen pada sistem aplikasi Android
anda dikenal dengan
a. Intent
b. View
c. Widget
d. Layout
e. Transision

2. Agar intent dapat digunakan dalam aplikasi android maka harus


dilakukan deklarasi import dengan perintah
a. import android.app.Activity;
b. import android.content.Intent;
c. import android.os.Bundle;
d. import android.view.View;
e. import android.widget.Button;

3. Cara membuat sebuah intent baru dengan menuliskan seperti:


a. Intent int = new Intent();
b. Intent int = Intent();
c. Intent int = new ();

13
d. Intent int = new Intent
e. int = new Intent();

4.

Fitur di atas dimiliki oleh palet …


a. widget
b. text
c. layouts
d. images
e. date

14
5.

Fitur di atas dimiliki oleh palet …


a. widget
b. text
c. layouts
d. images
e. date

15
KD 3.31 Menerapkan aplikasi basis data mobile
2.32 Mengevaluasi penggunaan library pada aplikasi mobile
2.33 Menerapkan konektifitas aplikasi mobile dengan web

A. TUJUAN PEMBELAJARAN
Dengan mempelajari modul ini diharapkan peserta didik dapat:
1. Menjelaskan penerapan aplikasi basis data mobile.
2. Menerapkan prosedur akses basis data dalam aplikasi mobile.
3. Menjelaskan penggunaan library dalam mebuat aplikasi mobile.
4. Menerapkan library dalam aplikasi berbasis mobile.
5. Menjelaskan prosedur konektifitas aplikasi mobile dengan web.
6. Menerapkan aplikasi konektor dalam program aplikasi mobile dengan web.

B. MATERI PEMBELAJARAN

1. BASIS DATA PADA ANDROID

Sumber: https://farizdotid.com/crud-sqlite-android-studio/
Gambar 3.1: Layout Pada Android

Banyak opsi media penyimpanan yang bisa kita pakai untuk menyimpan data ke
dalam aplikasi Android, menggunakan database SQLite adalah salah satu opsi yang
paling serbaguna dan praktis untuk kita implementasikan. Database SQLite adalah
solusi penyimpanan yang baik jika anda memiliki data terstruktur yang perlu diakses
dan disimpan secara persisten serta sering ditelusuri dan diubah. Anda juga bisa
menggunakan SQLite sebagai media penyimpanan utama untuk data aplikasi atau

16
pengguna, atau anda juga bisa menggunakannya untuk proses caching serta
menyediakan data yang diambil dari cloud.
Jika anda bisa menyatakan data berupa baris dan kolom, pertimbangkan untuk
memakai database SQLite. Jika anda menggunakan database SQLite, yang dinyatakan
sebagai objek SQLiteDatabase adalah semua interaksi dengan database adalah melalui
instance dari kelas SQLiteOpenHelper yang akan mengeksekusi permintaan dan
pengelolaan database. Aplikasi anda hanya boleh berinteraksi dengan
SQLiteOpenHelper, yang akan kita bahas bersama-sama dibawah ini.
Ada dua tipe data yang dikaitkan secara khusus dengan penggunaan database
SQLite, yaitu Cursor dan ContentValues.
1. Cursor
SQLiteDatabase selalu menyajikan hasil berupa Cursor dalam format tabel yang
menyerupai database SQL. Anda bisa menganggap data sebagai larik baris dan cursor
adalah pointer ke dalam satu baris data terstruktur. Kelas Cursor menyediakan metode
untuk menggerakan cursor melalui struktur data, dan metode untuk mendapatkan data
dari bidang-bidang setiap baris. Kelas Cursor memiliki sejumlah subkelas yang
mengimplementasikan cursor untuk tipe data tertentu, yaitu:
- SQLiteCursor untuk mengekspos hasil query dari sebuah SQLiteDatabase.
SQLiteCursor tidak disinkronkan secara internal, sehingga kode yang
menggunakan SQLiteCursor dari beberapa thread harus melakukan sinkronisasi
sendiri saat menggunakan SQLiteCursor.
- MatrixCursor adalah implementasi cursor lengkap dan tidak tetap, yang didukung
oleh larik objek yang secara otomatis meluaskan kapasitas internal bila diperlukan.
Beberapa operasi umum yang ada pada cursor adalah :
• getCount(), mengembalikan jumlah baris dalam cursor.
• getColumnNames(), mengembalikan larik string yang berisi nama semua kolom
dalam rangkaian hasil dalam urutan pencantumannya dalam hasil/result.
• getPosition(), mengembalikan posisi cursor saat ini dalam rangkaian baris.

Getter tersedia untuk tipe data tertentu, seperti getString(int column) dan getInt(int
column). Operasi seperti moveToFirst() dan moveToNext() akan menggerakan cursor.
close(), membebaskan semua sumber daya dan membuat cursor menjadi tidak valid. Ingat,
untuk menutup panggilan, guna membebaskan sumber daya!

17
2. ContentValues
Serupa dengan cara ekstra menyimpan data, instance ContentValues menyimpan
data sebagai pasangan nilai kunci, dalam ini kuncinya adalah nama kolom dan nilainya
untuk cell. Satu instance ContentValues menyatakan satu baris tabel. Metode insert()
untuk database memerlukan nilai untuk mengisi baris yang diteruskan sebagai instance
ContentValues.

2. ANDROID LIBRARY
Library Android secara struktural sama dengan modul aplikasi Android. Library
ini dapat mencakup semua yang diperlukan untuk mem-build aplikasi, termasuk kode
sumber, file resource, dan manifes Android. Namun, library Android tidak
mengompilasi ke APK yang berjalan di perangkat, tetapi mengompilasi ke file Android
Archive (AAR) yang dapat Anda gunakan sebagai dependensi untuk modul aplikasi
Android. Tidak seperti file JAR, file AAR dapat berisi resource Android dan file
manifes, yang memungkinkan Anda mem-bundle dalam resource bersama seperti tata
letak dan resource yang dapat digambar selain class dan metode Java.
Modul library berguna dalam situasi berikut:
- Ketika Anda mem-build beberapa aplikasi yang menggunakan beberapa
komponen yang sama, misalnya aktivitas, layanan, atau tata letak UI.
- Ketika Anda mem-build aplikasi yang ada dalam beberapa variasi APK,
misalnya versi gratis dan berbayar, Anda membutuhkan komponen inti yang
sama dalam kedua versi.
- Dalam kasus tersebut, Anda cukup memindahkan file yang ingin digunakan
kembali ke dalam modul library, kemudian menambahkan library sebagai
dependensi untuk setiap modul aplikasi. Halaman ini mengajarkan petunjuk
untuk melakukan keduanya.
Library dapat membatu kita untuk mempercepat dan mempermudah proses
pembuatan aplikasi. Saat ini kita dapat menemukan libary dengan mudah, melalui
search engine kesayangan kita, namun bagaimana cara menggunakannya pada Android
Studio. Nah.. tutorial ini akan mengungkapkan cara menggunakan library namun
khusus library jenis project (untuk library berupa .jar dapat melihat tutorial:
https://komputasistat.blogspot.co.id/2016/04/cara-menggunakan-library-jar-ke-
android.html).

18
Semua resource dalam library secara default bersifat publik. Untuk menjadikan
semua resource agar bersifat pribadi secara implisit, Anda harus mendefinisikan
setidaknya satu atribut tertentu sebagai publik. Resource menyertakan semua file
dalam direktori res/ Anda, misalnya gambar. Untuk mencegah agar pengguna library
Anda tidak mengakses resource yang hanya dimaksudkan bagi penggunaan internal,
Anda harus menggunakan mekanisme pengelompokan pribadi otomatis ini dengan
menyatakan satu atau beberapa resource publik. Selain itu, Anda dapat menjadikan
semua resource bersifat pribadi dengan menambahkan tag <public /> kosong, yang
tidak menandai apa pun sebagai publik dan menjadikan resource lainnya (semua
resource) bersifat pribadi.
Untuk mendeklarasikan resource publik, tambahkan deklarasi <public> ke file
public.xml library Anda. Jika belum menambahkan resource publik, Anda perlu
membuat file public.xml dalam direktori res/values/ pada library.
Hari ini kita akan membahas beberapa library yang bisa kalian coba dalam
membuat aplikasi android, sebagaimana kita tahu peran library sangat membantu
dalam membuat aplikasi android. Library merupakan layer tempat fitur-fitur tambahan
android berada. Pada umumnya library diakses untuk mempermudah atau
mempercepat pembuatan suatu aplikasi.

Sumber: gifts.com
Gambar 3.2: Tampilan Library Setelah Diterapkan

19
Beberapa situs yang menyediakan library android diantaranya:
• https://github.com/
• https://android-arsenal.com/
• https://medium.freecodecamp.org
• http://www.gookkis.com/

3. KONEKTIFITAS APLIKASI MOBILE DENGAN WEB


Dalam mengakses informasi melalui perangkat mobile, pastinya Anda sering
menggunakan web browser ataupun membuka sebuah aplikasi untuk mencari
informasi yang Anda butuhkan. Secara tidak langsung Anda telah menggunakan mobil
apps ataupun mobile web di perangkat Anda. Mungkin Anda juga tidak sadar bahwa
keduanya adalah hal yang berbeda, atau kadang kurang memahami arti dari keduanya.
Untuk itu mari kita cari tahu lebih lengkap apa itu mobile apps / mobile aplikasi dan
mobile web.
Mobile web adalah halaman HTML berbasis browser yang diakses menggunakan
perangkat portable (smartphone atau tablet) melalui jaringan seluler seperti 3G, 4G
maupun Wifi. Mobile Web dirancang untuk menampilkan data seperti teks, gambar,
dan video dari sebuah website kedalam sebuah tampilan yang lebih kecil yakni
perangkat mobile.
Sedangkan mobile apps adalah sebuah aplikasi yang dibuat untuk perangkat
mobile yang penggunanya harus melakukan pengunduhan atau download serta
menginstall dari toko aplikasi seperti Google Play Store untuk perangkat Android dan
Apple App Store untuk perangkat iOS dan masih banyak lagi toko aplikasi yang sesuai
dengan platform smartphone.
Secara garis besar perbedaan keduanya terletak di cara pengaksesan informasi
atau data. Mobile web memerlukan aplikasi browser untuk mengakses informasi dari
sebuah domain yang telah ditentukan. Mobile web juga sangat bergantung dengan
saluran internet Anda. Secara jelas, mobile web tidak akan dapat digunakan jika tidak
ada koneksi internet. Sedangkan mobile apps bisa saja keduanya. Konten – konten
yang tersedia di mobile apps bisa di akses tanpa internet atau berbasis offline. Tetapi
ada juga perangkat mobile apps yang harus terkoneksi dengan internet atau online.

20
Ini semua tergantung dari target pengguna. Ada beberapa bisnis yang hanya
mengandalkan website dan mobile web dalam pemasaran produknya. Tetapi ada pula
pemilik bisnis yang membutuhkan keduanya dalam menarik target market mereka.

C. RANGKUMAN
• Database SQLite adalah solusi penyimpanan yang baik jika anda memiliki data
terstruktur yang perlu diakses dan disimpan secara persisten serta sering ditelusuri
dan diubah.
• Ada dua tipe data yang dikaitkan secara khusus dengan penggunaan database
SQLite, yaitu Cursor dan Cont entValues.
• Kelas Cursor menyediakan metode untuk menggerakan cursor melalui struktur
data, dan metode untuk mendapatkan data dari bidang-bidang setiap baris.
• Beberapa operasi umum yang ada pada cursor adalah :
- getCount()
- getColumnNames()
- getPosition()
• Library dapat membatu kita untuk mempercepat dan mempermudah proses
pembuatan aplikasi.
• Library Android secara struktural sama dengan modul aplikasi Android. Library ini
dapat mencakup semua yang diperlukan untuk mem-build aplikasi, termasuk kode
sumber, file resource, dan manifes Android.
• Mobile web adalah halaman HTML berbasis browser yang diakses menggunakan
perangkat portable (smartphone atau tablet) melalui jaringan seluler seperti 3G, 4G
maupun Wifi.
• Sedangkan mobile apps adalah sebuah aplikasi yang dibuat untuk perangkat
mobile yang penggunanya harus melakukan pengunduhan atau download serta
menginstall dari toko aplikasi seperti Google Play Store

21
D. LEMBAR KERJA

SISWA STUDI KASUS

1. Terdapat aplikasi yang menggunakan library dan database seperti gambar di bawah
ini. Berikan penjelasan penggunaan library dan database pada aplikasi!

Gambar 3.3: Penerapan Library dan database


………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

2. Rich-store adalah sebuah aplikasi online shop bebabasis Web dan Android mobile
yang memungkinkan penggunanya untuk berbelanja Smartphone dan Sepatu.
Richstore terinspirasi dari platform online shop ternama seperti tokopedia,
bukalapak.

22
Gambar 3.4: Penerapan Web dan Android mobile

- Berikan penjelasan tentang hak akses user pelanggan dan administrator yang
ada!
- Berikan penjelasan untuk penggunaan database dan mobile apps, serta mobile
web yang digunakan!
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

23
D. UJI KOMPETENSI
Jawablah dengan uraian yan singkat dan tepat!
1. Database SQLite adalah ….
2. Objek SQLiteDatabase adalah ….
3. Ada dua tipe data yang dikaitkan secara khusus dengan penggunaan database
SQLite, yaitu ….
4. SQLiteCursor digunakan untuk ….
5. getCount() digunakan untuk ….
6. Sebutkan kegunaan Modul Library pada aplikasi android ….
7. Bagaimanakah sifat semua resource dalam library ?
8. Bagaimanakah cara mencegah agar pengguna library Anda tidak mengakses
resource yang hanya dimaksudkan bagi penggunaan internal?
9. Bagaimanakah cara anda dapat menjadikan semua resource bersifat pribadi?
10. Bagaimanakah cara anda dapat menjadikan semua resource bersifat public?

24
SOAL LATIHAN SEMESTER
Pilihlah jawaban di bawah iini dengan jawaban yang benar!
1. Visualisasi dari elemen user interface (UI) yang digunakan pada layar aplikasi ndroid
dimana kita dapat merancang sendiri sesuai kebutuhan kita disebut ...
a. Widget
b. Intent
c. Button
d. Picker
e. TextBox

2. File yang menyatakan aksi dari sebuah program android adalah ...
a. File .exe
b. File Java
c. File Src
d. File Img
e. File XML

3. File yang mendefinisikan komponen elemen-elemen XML yang digunakan untuk


inisialisasi widget serta atribut yang mendukungnya/ Layout XML[optional] disebut
….
a. File .exe
b. File Java
c. File Src
d. File Img
e. File XML

4. Peringatan “Are you sure to quit?” dan tersedia tombol “yes” dan “no” digunakan pada
widget?
a. Text Box
b. Pop Up
c. Spinner
d. Message Box
e. Picker

25
5. Widget yang menampilkan pilihan list dalam bentuk drop-down disebut ….
a. Text Box
b. Pop Up
c. Spinner
d. Message Box
e. Picker

6.

Tampilan diatas dapat dibuat dengan menggunakan widget ….


a. Text Box
b. Pop Up
c. Spinner
d. Message Box
e. Picker

7. Komponen UI, seperti tombol, bidang teks, bilah pencarian, kotak centang,
tombol zoom, tombol toggle termasuk komponen ...
a. Input
b. Output
c. Widget
d. Picker
e. Date & Time
8. Sebuah kelas dalam programming Android yang berfungsi untuk perpindahan
halaman. Intent juga merupakan suatu objek yang terdapat dalam suatu activity
dimana objek tersebut dapat komunikasi dengan activity yang lain disebut...
a. Widget

26
b. Intent
c. Button
d. Picker
e. TextBox

9. Intent yang berfungsi untuk memanggil fungsi activity yang sudah ada di
fungsi internal android seperti Dial Number, Open Browser dan lainnya ....
a. Explicit Intent
b. Implicit Intent
c. Button
d. Picker
e. TextBox

10. Intent yang berfungsi berfungsi untuk mengaktifkan komponen-komponen dalam


satu aplikasi yang sama. Misalnya seperti : Berpindah Activity ....
a. Explicit Intent
b. Implicit Intent
c. Button
d. Picker
e. TextBox

11 Tipe data yang dikaitkan secara khusus dengan penggunaan database SQLite yaitu ….
a. Cursor dan ContentValues
b. Cursor dan Content
c. Cursor dan Values
d. Content dan Values
e. Semua jawaban salah

12 Subkelas dari Kelas Cursor yang mengekspos hasil query dari sebuah
SQLiteDatabase disebut
a. SQLiteCursor
b. MatrixCursor
c. TableCursor
d. RelativeCursor

27
e. WrappedCursor

13 Subkelas dari Kelas Cursor yang implementasi cursor lengkap dan tidak tetap, yang
didukung oleh larik objek yang secara otomatis meluaskan kapasitas internal bila
diperlukan. disebut
a. SQLiteCursor
b. MatrixCursor
c. TableCursor
d. RelativeCursor
e. WrappedCursor

14 Operasi umum yang ada pada cursor yang mengembalikan jumlah baris dalam
cursor disebut ...
a. getCount()
b. getColumnNames()
c. getRelative()
d. getPosition()
e. getLong()

15 Operasi umum yang ada pada cursor yang mengembalikan larik string yang berisi
nama semua kolom dalam rangkaian hasil dalam urutan pencantumannya dalam
hasil/result disebut ...
a. getCount()
b. getColumnNames()
c. getRelative()
d. getPosition()
e. getLong()

16 Operasi umum yang ada pada cursor yang mengembalikan posisi cursor saat ini dalam
rangkaian baris disebut ...
a. getCount()
b. getColumnNames()
c. getRelative()
d. getPosition()

28
e. getLong()

17 Sebuah penyimpanan yang menyimpan data sebagai pasangan nilai kunci, dalam
ini kuncinya adalah nama kolom dan nilainya untuk cell disebut
a. Content
b. Values
c. Content
d. ContentValues
e. Semua jawaban salah

18 aplikasi yang dibuat untuk perangkat mobile yang penggunanya harus melakukan
pengunduhan atau download serta menginstall dari toko aplikasi seperti Google Play
Store disebut ….
a. mobile apps
b. web apps
c. mobile web
d. mobile phone
e. google play store

19. halaman HTML berbasis browser yang diakses menggunakan perangkat portable
(smartphone atau tablet) melalui jaringan seluler seperti 3G, 4G maupun Wifi disebut
….
a. mobile apps
b. web apps
c. mobile web
d. mobile phone
e. google play store

20.

29
Item di atas merupakan bagian dari Pallete ....
a. Widget
b. Layouts
c. Time&Date
d. Image&Media
e. Transition

21.

Item di atas merupakan bagian dari Pallete ....


a. Widget
b. Layouts
c. Time&Date
d. Image&Media
e. Transition

22.

Item di atas merupakan bagian dari Pallete ....


a. Widget
b. Layouts
c. Time&Date
d. Image&Media
e. Transition

23

Item di atas merupakan bagian dari Pallete ....

30
a. Widget
b. Layouts
c. Time&Date
d. Image&Media
e. Transition

24 Sintaks XML di bawah ini yang digunakan untuk mengatur ukuran panjang
button adalah ....
a. <Button />
b. android:id
c. android:layout_width
d. android:layoutwidth
e. android:layout_below

25.

Dari penulisan sintaks TextView di atas, Terdapat kesalahan penulisan pada baris ke
....
a. [1]
b. [2]
c. [3]
d. [4]
e. [5]

26. Sintaks XML yang digunakan untuk mengatur layout horizontal adalah ....
a. android:orientation="horizontal"
b. android:orientation=horizontal
c. orientation=horizontal
d. android:layout="horizontal"
e. layout=horizontal

31
27. Sintaks XML yang digunan untuk mengatur warna latar belakang adalah ....
a. android:background="#aa0000"
b. android =#aa0000
c. background=#aa0000
d. android_background="#aa0000"
e. android:background=#aa0000

28. Agar intent dapat digunakan dalam aplikasi android maka harus dilakukan deklarasi
import dengan perintah ....
a. import android.app.Activity;
b. import android.content.Intent;
c. import android.os.Bundle;
d. import android.view.View;
e. import android.widget.Button;

29. Cara membuat sebuah intent baru dengan menuliskan seperti ....
a. Intent int = new Intent();
b. Intent int = Intent();
c. Intent int = new ();
d. Intent int = new Intent
e. int = new Intent();

30. File main.xml terdapat pada folder ....


a. Src
b. Res
c. Bin
d. Assets
e. Values

32
KUNCI JAWABAN

KD 2.28
1. Widget merupakan visualisasi dari elemen user interface (UI) yang digunakan pada
layar aplikasi android dimana kita dapat merancang sendiri sesuai kebutuhan kita.
2. File Java dan XML
3. File Java
4. res/values/
5. Message box

KD 3.29
No Jawaban
1 A
2 B
3 A
4 C
5 B

KD 2.29
1. Database SQLite adalah solusi penyimpanan yang baik jika anda memiliki data
terstruktur yang perlu diakses dan disimpan secara persisten serta sering ditelusuri
dan diubah.
2. Objek SQLiteDatabase adalah semua interaksi dengan database adalah melalui
instance dari kelas SQLiteOpenHelper yang akan mengeksekusi permintaan dan
pengelolaan database
3. Ada dua tipe data yang dikaitkan secara khusus dengan penggunaan database
SQLite, yaitu Cursor dan ContentValues.
4. SQLiteCursor untuk mengekspos hasil query dari sebuah SQLiteDatabase.
SQLiteCursor tidak disinkronkan secara internal, sehingga kode yang
menggunakan SQLiteCursor dari beberapa thread harus melakukan sinkronisasi
sendiri saat menggunakan SQLiteCursor.
5. getCount() digunakan untuk mengembalikan jumlah baris dalam cursor
6. Modul library berguna dalam situasi berikut:

33
- Ketika Anda mem-build beberapa aplikasi yang menggunakan beberapa
komponen yang sama, misalnya aktivitas, layanan, atau tata letak UI.
- Ketika Anda mem-build aplikasi yang ada dalam beberapa variasi APK,
misalnya versi gratis dan berbayar, Anda membutuhkan komponen inti
yang sama dalam kedua versi.
- Dalam kasus tersebut, Anda cukup memindahkan file yang ingin digunakan
kembali ke dalam modul library, kemudian menambahkan library sebagai
dependensi untuk setiap modul aplikasi. Halaman ini mengajarkan
petunjuk untuk melakukan keduanya.
7. Sifat semua resource dalam library adalah public
8. Untuk mencegah agar pengguna library Anda tidak mengakses resource yang
hanya dimaksudkan bagi penggunaan internal, Anda harus menggunakan
mekanisme pengelompokan pribadi otomatis ini dengan menyatakan satu atau
beberapa resource publik.
9. Cara anda dapat menjadikan semua resource bersifat pribadi yaitu dengan
menambahkan tag <public /> kosong.
10. Untuk mendeklarasikan resource publik, tambahkan deklarasi <public>

34
Latihan Ulangan Semester
1 A 16 C
2 B 17 D
3 E 18 A
4 D 19 C
5 C 20 A
6 B 21 B
7 A 22 D
8 B 23 C
9 B 24 C
10 A 25 B
11 A 26 A
12 A 27 A
13 B 28 B
14 A 29 A
15 B 30 B

35

Anda mungkin juga menyukai