Modul PDK 2021
Modul PDK 2021
Komunitas Keahlian Studio Manajemen Industri Tim Asisten Studio Manajemen Industri
Penerbit :
Laboratorium Studio Manajemen Industri
Jurusan Teknik Industri
Fakultas Teknik Universitas Sultan Ageng Tirtayasa
Jl. Jenderal Sudirman KM. 3
Gedung Perkuliahan Lantai 3 R. 3.17 Kota Cilegon, Banten 42434
PERATURAN
Peraturan Umum
1. Praktikan wajib membawa modul dan tugas pendahuluan saat responsi.
2. Praktikan wajib memakai name tag saat responsi.
3. Praktikan wajib berlaku sopan dan santun.
4. Laporan yang dikumpulkan harus sudah di ACC H-2 oleh Asisten pembimbing
(dibuktikan dengan ttd Asisten pembimbing pada cover laporan).
5. Laporan dikumpulkan pada waktu yang telah ditentukan.
6. Telat mengumpulkan laporan dinyatakan BLACKLIST kelompok.
7. Kurang konten laporan dinyatakan pengurangan nilai 20%.
8. Laporan copy paste dinyatakan BLACKLIST MODUL.
9. BLACKLIST ≥ 3 KALI DOWN GRADE NILAI AKHIR.
10. Pengumuman mengenai Praktikum Pemrograman Dasar Komputer akan
diinformasikan melalui official account SMI dan asisten pembimbing.
11. Setiap praktikan wajib menaati seluruh peraturan yang berlaku.
12. Hal-hal yang belum tercantum dalam semua peraturan akan ditentukan
kemudian.
Peraturan Responsi
1. Praktikan wajib menggunakan pakaian rapih, sopan, berkemeja (Non PDH).
2. Praktikan wajib hadir tepat waktu.
a. Telat 1-10 menit = gugur nilai sikap
b. Telat 10-20 menit = gugur nilai sikap dan tidak dapat mengikuti pretest/post
test
c. Telat > 20 menit = GUGUR NILAI MODUL
d. Setiap keterlambatan mempengaruhi nilai sikap.
3. Saat responsi dilarang makan, minum, merokok dan membuat forum di dalam
responsi.
4. Pada saat responsi asisten berhak memperingatkan bahkan mengeluarkan
praktikan yang tidak dapat menjaga ketenangan, ketertiban, kebersihan, dan
kerapihan ruangan pada saat responsi dilaksanakan.
5. Praktikan dilarang meninggalkan ruangan praktikum tanpa seizin asisten
(toleransi meninggalkan ruangan maks 2x dengan alasan gangguan koneksi)
6. Mengikuti berlangsungnya praktikum dari awal hingga waktu selesai.
7. Tidak mengkuti responsi tanpa alasan yang jelas dan tidak dapat
dipertanggungjawabkan maka praktikan GUGUR NILAI MODUL tersebut.
8. Mekanisme Pemindahan Jadwal:
a. Memberikan keterangan yang jelas dan disertakan bukti yang dapat
dipertanggungjawabkan.
b. Konfirmasi maksimal 1 hari sebelum dilakukannya responsi.
c. Mengisi form change shift yang disediakan.
d. Diperbolehkan berpindah jadwal maksimal 1 kali.
9. Praktikan harus mematuhi semua tata tertib pelaksanaan praktikum di atas.
MODUL I
PENGENALAN ANDROID
I. PENDAHULUAN
1.1 TUJUAN PRAKTIKUM :
1. Praktikan mampu memahami sejarah pengenalan android dan
perkembangan android .
2. Praktikan mengetahui fitur-fitur android serta kelebihan dan kekurangan
andorid.
1.2 ALAT DAN BAHAN
Berikut ini merupakan alat dan bahan yang akan digunakan dalam praktikum
modul 1 pengenalan android studio:
1. Alat : Laptop dan perangkat seluler
2. Bahan : Modul praktikum dasar komputer 2021
1.3 PROSEDUR PRAKTIKUM
1. Seluruh kelompok mengikuti sesi pelatihan software android studio yang
menjelaskan tentang pengenalan sejarah android, versi-versi android,
distribusi platform android, fitur android, dan peralatan yang digunakan.
2. Sesi pelatihan selanjutnya, praktikan diberikan soal latihan sederhana dan
diminta untuk menyelesaikan soal latihan tersebut.
3. Tahap selanjutnya, praktikan melakukan tutorial membuat project
sederhana sesuai arahan asisten.
4. Kumpulkan hasil project sederhana pada asisten.
yang membuat peranti lunak untuk ponsel atau smartphone. Kemudian untuk
mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34
perusahaan peranti keras, peranti lunak dan telekomunikasi, termasuk Google,
HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan
perdana, 5 November 2007, Android bersama Open Handset Alliance menyatakan
mendukung pengembangan open source pada perangkat mobile. Di lain pihak,
Google merilis kode-kode Android di bawah lisensi Apache, sebuah lisensi
perangkat lunak dan open platform perangkat seluler
Android menawarkan pendekatan menyeluruh dalam pengembangan aplikasi.
Artinya, Suatu aplikasi android yang dibangun dapat berjalan di berbagai perangkat
yang menggunakan sistem operasi android (Smartphone, Smartwatch, Tablet, dan
perangkat lain). Perkembangan teknologi yang begitu pesat tidak dapat lepas dari
peran AOSP (Android Open Sourch Project) yang bertanggung jawab dalam
pengembangan sistem operasi android dan dipimpin oleh google.
2.1.1 Versi- versi Android
Sejak pertama kali diperkenalkan pada tahun 2007, Android telah mengalami
perkembangan yang begitu pesat, hal ini di tandai dengan banyaknya versi sistem
operasi android. Berikut ini beberapa versi android :
Versi Android API Level Tanggal Rilis Code Name
1.0 1 23 September 2008
1.1 2 9 Februari 2009
1.5 3 30 April 2009 Cupcake
1.6 4 15 September 2009 Donut
2.0/2.0.1/2.1 5/6/7 26 Oktober 2009 Éclair
2.2-2.2.3 8 20 Mei 2010 Froyo
2.3-2.3.2/2.3.3-2.3.7 9/10 6 Desember 2010 Gingerbeard
3.0/3.1/3.2-3.2.6 11/12/13 22 Februari 2011 Honeycomb
4.0-4.0.2/4.0.3-4.0.4 14/15 19 Oktober 2011 Ice cream sandwich
4.1-4.1.2/4.2 16/17/18 27 Juni 2012 Jelly Bean
4.1-4.1.2/4.3-4.2.2/4.3.1 19/20 31 Oktober 2013 KitKat
5.0-5.0.2/5.1-5.1.1 21/22 12 November 2014 Lollipop
6.0-6.0.1 23 5 Oktober 2015 Marshmallow
7.0-7.1 24/25 24 agustus 2016 Nougat
8.0.0-8.10 26/27 8 juni 2017 Oreo
9.0 28 6 agustus 2018 Pie
`
III. KESIMPULAN
Berikut ini adalah kesimpulan dari materi yang terdapat pada modul 1:
1. Praktikan memahami sejarah android dan perkembangan android,
diharapkan praktikan dapat mengenal sejarah android dan perkembangan
android.
2. Praktikan mengetahui fitur-fitur andorid serta mengetahui kelebihan dan
kekurangan andorid.
I. PENDAHULUAN
Perkembangan ilmu pengetahuan dan teknologi komputer semakin
berkembang dan maju dengan sangat pesat, hal ini tentunya dapat mengatasi
kesulitan mahasiswa dalam memperoleh informasi secara tepat dan aktual.
Perkembangan ini turut diikuti dengan berkembangnya teknologi Mobile
Smartphone. Dalam pemanfaatanya teknologi ini sangat membantu aktifitas
sehari-hari para penggunaannya, misalkan untuk media bisnis, media
pembelajaran, media hiburan, dan juga media informasi. Era informasi
memberikan ruang lingkup yang sangat besar untuk segala kegiatan melalui cara
baru, inovatif, instan, transparan, akurat, dan tepat waktu, memberikan
kenyamanan yang lebih dalam mengelola dan menikmati kehidupan.
Smartphone sudah menjadi tren gaya hidup, khususnya dengan ponsel
dengan sistem berbasis android. Android adalah sebuah sistem operasi mobile
yang dikhususkan untuk smartphone dan tablet. Dalam mempelajari pengenalan
android studio masing masing memiliki fitur dan komponen yang berbeda beda.
Disesuaiakn dengan kebutuhannya. Penggunaan coding adalah hal yang harus
diperhatikan dalam belajar android studio. Pada praktikum pengenalan android
studio ini praktikan diharapkan dapat mengenal pengertian android studio dengan
kelebihan serta kekurangan android studio dan juga dapat membuat aplikasi
sederhana seperti “Hello World” yang dapat run di smartphone masing-masing.
1.1 TUJUAN PRAKTIKUM
Tujuan dari Modul II Pemrograman Dasar Komputer antara lain:
1. Mampu memahami definisi pengertian Android Studio.
2. Mengenali konsep dasar sistem operasi beserta setting up pada Android Studio
3. Mampu membuat project sederhana Hello world beserta cara
menjalankannya, baik melalui perangkat virtual maupun dengan perangkat
nyata secara langsung.
1.2 ALAT DAN BAHAN
Berikut ini merupakan alat dan bahan yang akan digunakan dalam
praktikum modul 2 pengenalan android studio:
1. Alat : Laptop, Kabel USB, Smartphone, dan software Android Studio
2. Bahan : Modul praktikum dasar komputer 2020
1.3 PROSEDUR
Prosedur pelaksanaan dan penyelesaian Modul II antara lain:
1. Seluruh kelompok mengikuti sesi pelatihan software Android Studio melalui
teleconference yang dilakukan oleh SMI.
2. Seluruh praktikan wajib mengikuti sesi tutorial penginstallan Android
Studio dan membuat project sederhana Hello World.
3. Praktikan wajib mengerjakan soal latihan Modul II tentang Android
Studio dengan waktu ditentukan asisten.
4. Komunikasikan hasil pelatihan modul II dengan asisten dan dosen pengampu.
III. TUTORIAL
3.1 Setting Up Android Studio
Pada bagian ini kita akan mempelajari cara untuk menginstall Android
studio IDE pada Komputer anda. Android studio tersedia untuk seluruh sistem
operasi yang besar meliputi Windows, Mac OS X, dan Linux. Seperti yang telah
dijelaskan dalam sub-bab sebelumya.
Setelah selesai download file Android Studio maka yang pertama akan
muncul adalah halaman seperti pada gambar dibawah ini. Klik Next untuk
melanjutkan ke proses instalasi.
Gambar 1. Tampilan awal proses instalasi Android Studio 2020.3.1; laman unduh
(Windows OS 64bit: https://developer.android.com/studio)
Kemudian, pilih komponen tambahan untuk install Android Studio. AVD
(Android Virtual Device) fungsinya untuk mengkonfigurasi perangkat yang
dijalankan dengan emulator Android. Sesuaikan komponen tambahan yang
dipilih seperti pada gambar dibawah ini. Jika sudah klik Next untuk melanjutkan
instalasi
IV. KESIMPULAN
Berikut ini merupakan kesimpulan dari praktikum modul 2 mengenai pengenalan
Android Studio yaitu:
1. Dengan memahami definisi Android Studio, diharapkan praktikan dapat
mengetahui definisi Android.
2. Dengan memahami konsep dasar sistem operasi beserta setting up pada Android
Studio, diharapkan praktikan mampu menjalankan setting up pada masing masing
device.
3. Dengan membuat project sederhana Hello world beserta cara menjalankannya,
Diharapkan praktikan mampu membuat aplikasi sederhana pada android studio
baik melalui perangkat virtual maupun dengan perangkat nyata secara langsung.
V. TUGAS PENDAHULUAN
Kerjakan tugas pendahuluan berikut dengan seksama, cermat dan tepat untuk lebih
mengetahui mengenai android.
1. Jelaskan pengertian android secara detail!
2. Jelaskan secara singkat perkembangan android studio!
3. Sebutkan dan jelaskan penerapan teknologi android dibidang
kehidupan yang anda temui!
4. Sebutkan tujuan modul II!
5. Sebutkan dan jelaskan kelebihan Android Studio!
6. Sebutkan dan jelaskan kekurangan Android Studio!
7. Sebutkan dan jelaskan aplikasi android studio berbasis pendidikan!
8. Sebutkan dan jelaskan aplikasi android studio berbasis binis!
9. Sebutkan dan jelaskan aplikasi android studio berbasis sosial!
10. Sebutkan kesimpulan dari modul II!
PEMROGRAMAN DASAR KOMPUTER
MODUL III
ANDROID STUDIO IDE
I. PENDAHULUAN
Adanya penggunaan aplikasi dalam kegiatan sehari-hari memang semakin
banyak digunakan oleh masyrakat luas. Tidak hanya mahasiswa atau pelajar,
sekarang para penggiat bisnis pun menggunakan canggihnya teknologi sebagai
tempat mereka menjalankan usahanya (contoh dalam hal ini penggunaan aplikasi
sebagai media pembayaran).
Merancang sebuah aplikasi dapat menimbulkan keinginan untuk
membuatnya lebih menarik dengan melakukan berbagai improvement yang
tentunya dapat menambah nilai positif dari aplikasi yang dibuat. Salah satu cara
yang dapat ditempuh dalam upaya peningkatan kualitas dari sebuah aplikasi adalah
dengan mengetahui dan menguasai fitur-fitur apa saja yang ditawarkan,
penggunaan komponen dan tools yang beragam dan mendukung pembuatan
aplikasi yang akan dibuat, serta penggunaan sumber daya aplikasi yang tepat.
1.1 Tujuan Praktikum
Tujuan dari Modul III Pemrograman Dasar Komputer adalah sebagai
berikut:
a. Mampu mengetahui Android Studio IDE dan fitur-fiturnya.
b. Mengetahui komponen dan tools aplikasi android.
c. Mampu menggunakan tools-tools yang ada untuk membuat aplikasi.
d. Mengetahui sumber daya aplikasi android.
1.2 Alat dan Bahan
Adapun alat dan bahan yang perlu dipersiapkan dalam praktikum kali ini
adalah sebagai berikut:
1. Laptop yang sudah terinstall Android studio versi Artctic Fox // 2020.3.1.
2. Handphone android yang digunakan sebagai resources.
3. Modul sebagai bahan pendukung dalam praktikum.
1.3 Prosedur
Prosedur pelaksanaan dan penyelesaian Modul III antara lain:
1. Seluruh kelompok mengikuti sesi pelatihan software Android Studio
IDE melalui teleconference yang dilakukan oleh SMI.
2. Seluruh praktikan wajib mengikuti sesi tutorial mendesain interface
meggunakan elemen yang membentuk jendela kerja di Android Studio.
3. Seluruh praktikan diminta untuk membuat desain interface berdasarkan
aplikasi yang dibuat.
Praktikan wajib mengerjakan soal latihan Modul III tentang Android
Studio IDE dengan waktu yang telah ditentukan asisten.
4. Komunikasikan hasil pengolahan latihan dengan asisten dan dosen
pengampu.
5. Kumpulkan portofolio hasil latihan tersebut kepada asisten.
E G
D
H
Berwarna merah.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
3. Selanjutnya, untuk membuat button, klik activity_main.xml, lalu ketik
<Button maka akan muncul tampilan seperti gambar di bawah. Di sini kita
coba membuat button atau tombol “masuk”.
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/txtMasuk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Masuk"
android:inputType="text" />
}
4. Kemudian, untuk membuat edit text, klik activity_main.xml, lalu ketik
<EditText maka akan muncul tampilan seperti gambar di bawah. Di sini
kita menggunakan hint atau kata petunjuk “Lupa Kata sandi?”. Tampilan
design bisa dilihat di samping.
android:id="@+id/txtMasuk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Masuk"
android:inputType="text" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Lupa Kata Sandi?"
android:inputType="text"
tools:layout_editor_absoluteX="53dp"
tools:layout_editor_absoluteY="60dp" />
}
5. Jika sudah, maka kalian bisa langsung me-run hasil yang telah dibuat,
dengan mengklik gambar atau icon ini. Hal yang perlu diperhatikan adalah
pastikan perangkat yang akan digunakan sebagai real device sudah
terkoneksi ke Android Studio.
Gambar 13. Menjalankan Aplikasi di Real Device
6. Jika berhasil, maka tampilan akan seperti ini.
IV. KESIMPULAN
Android Studio merupakan IDE yang palin sering digunakan untuk
melakukan pengembangan aplikasi Android. Di sini terbagi menjadi beberapa
bagian, yaitu menu bar, document tabs, project windows, bottom sidebar, editor
area, dan sebagainya. Android studio memberikan banyak kemudahan dengan
banyaknya shortcut key yang membantu dalam pengembangan aplikasi android,
seperti code folding, code completion, code reformatting, commenting code,
refactoring code. Dalam pengembangan aplikasi.
V. TUGAS PENDAHULUAN
I. PENDAHULUAN
Saat menjalankan suatu aplikasi berbasis Android, maka yang kita lihat
adalah layar user interface beserta fungsionalitas yang terdapat didalamnya.
Untuk menampilkan user interface maka dibutuhkan sebuah jendala yang
disebut, activity. Activity menyediakan jendela tempat aplikasi menggambar user
interface-nya. Activity biasanya mengisi layar, tetapi bisa saja lebih kecil dari
layar dan mengambang di atas activity lain. Umumnya, satu activity
menerapkan satu layar dalam aplikasi. Misalnya, salah satu aktivitas aplikasi
mungkin menerapkan layar “Beranda”, sementara aktivitas lainnya menerapkan
layar “Profil”.
Sebagian besar aplikasi berisi beberapa layar, yang artinya bahwa aplikasi
terdiri dari banyak activity. Biasanya, satu activity dalam aplikasi ditetapkan
sebagai aktivitas utama, yang merupakan layar pertama yang muncul saat
pengguna meluncurkan aplikasi tersebut. Setiap activity dapat memulai activity
lain untuk melakukan tindakan yang berbeda. Misalnya, activity utama dalam
aplikasi WhatsApp dapat memberikan layar yang menampilkan daftar chat
terbaru. Dari sana, activity utama dapat meluncurkan activity lain yang
menyediakan layar untuk tugas seperti menulis chat baru dan membuka chat
satu per satu.
Ketika pengguna aplikasi memulai sebuah aplikasi, untuk meningatkan
kualitas penggunaan aplikasi, maka dibutuhkan activity lain untuk mendukung
fungsi dari aplikasi tersebut. Dalam hal ini, untuk memulai activity lainnya pada
aplikasi tesebut dibutuhkan intent. Intent sendiri memiliki tiga fungsi mendasar
yaitu, memulai activity, memulai layanan, dan mengirimkan broadcast. Setiap
intent memiliki fungsinya masing-masing pada sebuah aplikasi. Untuk
membedakan penggunaan masing-masing intent, maka diperlukan intent-filter.
1.1 Tujuan Praktikum
Tujuan praktikum pada modul IV Activites dan Intents adalah sebagai
berikut:
1. Mampu memahami konsep mengenai activities dan activity lifecycle
pada pengembangan aplikasi menggunakan Android Studio
2. Mampu membuat dan mendeklarasikan activity pada aplikasi yang
dikembangkan melalui Android Studio.
3. Mampu memahami konsep mengenai intents dan penggunaan intent-filters pada
aplikasi yang dikembangkan melalui Android Studio.
4. Mampu membuat button serta mengembalikan hasil dan mengirimkan data
menggunakan objek intent pada aplikasi yang dikembangkan melalui Android
Studio.
1.2 Alat dan Bahan
Berikut ini daftar alat dan bahan yang akan digunakan praktikan pada
pelaksanaan praktikum modul IV Activites dan Intents:
1. Alat : Software Android studio versi Artctic Fox // 2020.3.1.
2. Bahan : Modul praktikum
1.3 Prosedur
Berikut ini merupakan prosedur pelaksanaan dan penyelesaian IV
Activites dan Intents:
1. Praktikan membuat dan mendeklarasikan sebuah activity pada filemanifest
Android.
2. Praktikan membuat sebuah button sebagai intent dan mendefinisikan
penggunaan method pada button tersebut.
3. Praktikan membuat intent-filter untuk setiap activites pada file manifest
Android.
4. Praktikan melakukan peng-coding-an untuk membangun sebuah intent
yang bertujuan untuk mengembalikan hasil suatu activity.
5. Praktikan melakukan peng-coding-an untuk membangun sebuah intent
yang bertujuan untuk mengirimkan data menggunakan objek intent.
II. MEKANISME PROSES
2.1 Activity
Activity adalah sebuah jendela yang berisi antamuka pengguna dari suatu
aplikasi. Sebuah aplikasi dapat memiliki satu atau lebih activities. hampir semua
activities memerlukan interaksi dengan user karena activity menangani
pembentukan jendela aplikasi dan berbagai komponen UI (user interface) did
dalamnya. Dari saat sebuah activity muncul di layar hingga saat activity tersebut
hilang, terdapat sejumlah tahapan yang dilalui, yang dinamakan activity’s
lifecycle. Dalam memulai activity dapat menggunakan method startActivity().
2.1.1 Activity’s Lifecycle
Sebagaimana yang telah dijelaskan sebelumnya, class activity memiliki
sejumlah tahapan siklus hidup (lifecycle) yang bertindak sebagai penanganan
kejadian (event handlers) saat keadaan (state) suatu activity berubah. Gambar
dibawah memperlihatkan siklus hidup dari suatu activity semenjak dipanggil
hingga dihancurkan.
Activity
Launched
onCreate()
onStart() onRestart()
User navigates to
onResume()
the activity
The activity is no
longer visible User navigates to
the activity
onStop()
onDestroy()
Activity
Shut Down
Gambar 4.2 Cara intent implisit disampaikan melalui sistem untuk memulai aktivitas lain
(Sumber: http://developer.android.com/)
Ket :
[1]Aktivitas A membuat sebuah intent dengan keterangan tindakan dan
meneruskannya ke startActivity.
[2]Sistem android akan menelusuri semua aplikasi untuk filter intent yang cocok
dengan intent tersebut. Jika ada yang cocok.
[3]Sistem akan memulai aktivitas mencocokkan (aktivitas B) dengan memanggil
metode onCreate() dan meneruskan ke intent.
2.2.3 Button
Button merupakan widget digunakan untuk melaksanakan perintah intent.
Terdapat beberapa atribut untuk view Button tersebut, yakni:
a. android:layout_width, untuk mengukur ukuran lebar sebuah view
b. android:layout_height, untuk mengukur ukuran tinggi sebuah view
c. android:layout_id, yang memberikan penanda identifikasi unik untuk
view
d. android:layout_centerVertical, menentukan posisi pusat vertical sebuah
view di dalam suatu layout yang mana menerima dua parameter, yaitu true
dan false.
e. android:layout_centerHorizontal, menentukan posisi pusat horizontal
sebuah view di dalam suatu layout yang mana menerima dua parameter, yaitu
true dan false.
f. android:layout_below, menentukan posisi sebuah view secara relatif
dibawah view lainnya.
g. android:text, menampilakn isi teks untuk sebuah view.
h. android:onClick, menentukan aksi yang dilakukan pada saat view
tersebut ditekan.
2.2.4 Intent Filters
Elemen <intent-filter> mendefinisikan bagaimana cara activity yang satu
dipanggil oleh activity lainnya. Hal ini memungkinkan aplikasi untuk
mendeklarasikan sejumlah intents yang dapat dipenuhi untuk dilakukan. Elemen
intent-filter ini dideklarasikan dalam file manifest aplikasi.
Untuk mendemonstrasikan beberapa perilaku filter intent , berikut adalah
contoh dari file manifest aplikasi berbagi jejaring sosial:
<activity android:name="MainActivity">
<!-- This activity is the main entry, should appear in app
launcher -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity android:name="ShareActivity">
<!-- This activity handles "SEND" actions with text data -->
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
<!-- This activity also handles "SEND" and "SEND_MULTIPLE" with
media data -->
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<action
android:name="android.intent.action.SEND_MULTIPLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data
android:mimeType="application/vnd.google.panorama360+jpg"/>
<data android:mimeType="image/*"/>
<data android:mimeType="video/*"/>
</intent-filter>
</activity>
10. Membuat file kotlin class baru dengan menggunakan cara Klik Java >
Klik kanan pada Com > New > Kotlin file class > Beri nama
“DisplayActivity) > Pilih Class. Masukan coding seperti gambar di bawah ini:
13. Masukan Variable Message pada putExtra. Pada coding area buatlah
coding seperti di bawah ini:
Pada method ini juga diketikan coding intent untuk memanggil data dari
intent yang kemudian akan di masukkan ke dalam variable message.
16. Setelah coding selesai Run aplikasi dengan icon shortcut Run.
17. Tampilan awal pada device atau emulator akan seperti dibawah ini.
19. Tampilan ketiga hasil ketikkan kalimat “Praktikum PDK Modul 4” pada
device atau emulator akan seperti dibawah ini.
I. PENDAHULUAN
Android Studio merupakan aplikasi Integrated Development Environment
(IDE) untuk pembuatan aplikasi Android. Aplikasi Android Studio juga
memberikan fitur lebih banyak dalam membuat aplikasi Android dan salah satu
hal penting dalam pembuatansebuah aplikasi merupakan desain sebagai user
interface. User interface adalah bagian visual dari website, aplikasi software atau
device hardware yang memastikan bagaimana seorang user berinteraksi dengan
aplikasi atau website tersebut serta bagaimana informasi ditampilan di layarnya.
User interface sendiri menggabungkan konsep desain visual, desain interasi, dan
infrastruktur informasi. Tujuan dari user interface adalah untuk meningkatkan
usability dan tentunya user experience. Fragment adalah sebuah bagian dari user
interface atau perilaku sebuah aplikasi yang dapat ditempatkan pada activity yang
memungkinkan untuk mendesain activity yang modular. atau bisa dikatakan
fragment semacam sub-activity.
1.1 Tujuan Praktikum
Tujuan dari Modul V Pemrograman Dasar Komputer antara lain:
a. Mampu mengetahui dan memahami fregments dan fragment lifecycle
pada Android Studio IDE.
b. Mampu mengetahui dan menambahkan fregments pada Android
Studio IDE.
c. Mampu mengetahui dan memahami interaksi antar fregments pada
Android Studio IDE.
d. Mampu mengetahui dan memahami beberapa fregments khusus pada
Android Studio IDE.
1.2 Alat dan Bahan
Adapun alat dan bahan dari dari praktkum Pemrograman Dasar Komputer
Modul V antara lain:
1. Mempersiapkan Laptop atau PC yang sudah terinstall aplikasi Android
Studio ver. 3.6.2.
2. Mempersiapkan Handphone atau gadget berbasis Android.
3. Mempersiapkan materi Fragment Android Studio sebagai acuan
pelaksanaan praktikum.
1.3 Prosedur
Prosedur pelaksanaan dan penyelesaian Modul V antara lain:
1. Seluruh kelompok mengikuti sesi pelatihan software Android Studio
IDE melalui teleconference yang dilakukan oleh SMI.
III. TUTORIAL
Berikut merupakan contoh pembuatan fragment pada Android Studio:
1. Buatlah sebuah project baru pada Android. Pilih Empty Activity > Next.
<Button
android:id="@+id/btn_satu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
android:text="@string/Home"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<Button
android:id="@+id/btn_dua"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
android:text="@string/keranjang"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn_tiga"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginEnd="24dp"
android:text="@string/Akun"
app:layout_constraintStart_toStartOf="@id/btn_satu"
app:layout_constraintEnd_toEndOf="@id/btn_dua"
app:layout_constraintTop_toTopOf="parent"/>
<FrameLayout
android:id="@+id/fragment"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="48dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/btn_satu"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_home"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="bold"
android:text="@string/Home"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
7. Selanjutnya membuat fragment akun dan keranjang button dengan langkah
yang sama seperti membuat fragment Home button dengan memilih
Fragment(Blank) dan lanjutkan langkah berikutnya.
supportFragmentManager.beginTransaction().apply {
replace(R.id.fragment, Home)
commit()
}
val btn_satu = findViewById<Button>(R.id.btn_satu)
btn_satu.setOnClickListener {
supportFragmentManager.beginTransaction().apply {
replace(R.id.fragment, Home)
addToBackStack(null)
commit()
}
}
val btn_dua = findViewById<Button>(R.id.btn_dua)
btn_dua.setOnClickListener {
supportFragmentManager.beginTransaction().apply {
replace(R.id.fragment, Keranjang)
addToBackStack(null)
commit()
}
}
val btn_tiga = findViewById<Button>(R.id.btn_tiga)
btn_tiga.setOnClickListener {
supportFragmentManager.beginTransaction().apply {
replace(R.id.fragment, Akun)
addToBackStack(null)
commit()
}
}
}
}
V. TUGAS PENDAHULUAN
1. Apa yang anda ketahui mengenai fragment?
2. Bagaimana hubungan fragment dengan activity?
3. Apa itu fragment lifecycle?
4. Apakah lifecycle fragment dan lifecycle activity berbeda? Jelaskan!
5. Jelaskan sejarah singkat fragment!
6. Sebutkan fragment method beserta fungsi-fungsinya!
7. Berikan contoh bagaimana interaksi antar fragment ketika dijalankan!
8. Sebutkan fragment khusus yang anda ketahui!
9. Berikan contoh tampilan akhir seperti apa saja yang dapat dihasilkan dari
dialog fragment?
10. Apa fungsi dari PreferenceFragmentCompat ?
PEMROGRAMAN DASAR KOMPUTER
MODUL VI
USER INTERFACE (UI)
I. PENDAHULUAN
Setelah mengenal dan menguasai konsep dasar dalam pemrograman Android,
saatnya untuk mengenal lebih jauh mengenai berbagai komponen antarmuka (UI/
userinterface) yang dapat digunakan dalam pembangunan aplikasi Android. Dalam
modul ini, akan membahas berbagai komponen user interface yang ada, seperti:
1. Views, ViewGroup, dan Dialogs
2. Dynamics Layout
3. Menu
4. Notifikasi
5. Programmatical UI
1.1 Tujuan Praktikum
Berikut ini merupakan tujuan dari Modul VI “User Interface” , yaitu:
a. Mampu mengetahui dan memahami komponen-komponen pada User
Interface, seperti Views, Viewgroup dan Dialogs
b. Mampu mengetahui dan memahami dynamic layout pada User Interface.
c. Mampu mengetahui dan memahami menu pada User Interface.
d. Mampu mengetahui dan memahami notifikasi pada User Interface
e. Mampu membuat user interface secara langsung dengan coding program
(Programmmatical UI)
1.2 Alat dan Bahan
Alat dan bahan yang digunakan pada praktikum Modul VI, yaitu:
1. Laptop
2. Software Android Studio IDE
1.3 Prosedur
Prosedur pelaksanaan dan penyelesaian Modul VI antara lain:
1. Seluruh praktikan wajib mengikuti sesi pelatihan software
Android Studio IDE melalui teleconference yang dilakukan
oleh SMI.
2. Seluruh praktikan wajib mengikuti sesi tutorial membuat user interface
menggunakan software Android Studio IDE.
3. Seluruh praktikan wajib mengerjakan soal latihan Modul VI
tentang User Interface dengan waktu yang telah ditentukan
Asisten.
4. Komunikasikan hasil latihan dengan asisten dan dosen pengampu.
5. Kumpulkan portofolio hasil latihan tersebut kepada asisten.
Suatu activity terdiri atas views dan ViewGroup. Suatu view adalah sebuah
widget yang memiliki tampilan dalam layar. Satu atau lebih views dapat
dikelompokkan menjadi satu ViewGroup. ViewGroup menyediakan kerangka
layout yang dapat mengatur tampilan dan urutan dari views. Contoh ViewGroup
yaitu RadioGroup, LinearLayout, AbsoluteLayout, TableLayout,
RelativeLayout, FrameLayout, ScrollView, GridLayout, dan lain-lain.
Berikut beberapa ukuran yang dapat membuat dan menentukan
desain user interface yang tepat bagi aplikasi yang akan dibuat, yaitu:
a. dp – density-independent pixel
1 dp sama dengan 1 pixel pada suatu layar 160 dpi. Unit dengan
ukuran ini direkomedasikan untuk mengatur dimensi dari views. Unit
ukuran inijuga dapat ditulis sebagai dip
b. sp – scale-independent pixel
sp sama dengan 1 pixel pada suatu layar 160 dpi. Unit dengan ukuran
ini direkomedasikan untuk mengatur ukuran tulisan.
c. pt – point
Satu point sama dengan 1/72 inch pada ukuran layar fisik.
d. px – pixel
Berkaitan dengan pixel asli yang ada pada layar monitor. Unit
ukuran ini tidak direkomendasikan karena UI bisa saja tidak sesuai
harapan bila berjalan pada perangkat dengan resolusi layar yang
berbeda.
2.1.1 Views
Suatu views adalah sebuah widget yang memiliki tampilan dalam layar
aplikasi. Views yang umum digunakan, antara lain: TextView, EditText,
Button, ImageButton, CheckBox, ToggleButton, RadioButton, dan
RadioGroup.
Untuk menangani kejadian atau input user untuk tiap views yang ada,
dapat menggunakan fungsi-fungsi penanganan kejadian, seperti OnClik
pada ButtonView dan sebagainya. Untuk menangani input user tersebut secara
dinamis biasanya fungsi-fungsi tersebut didefinisikan dalam file.java activity
bersesuaian.
Ada dua view lain yang umum digunakan dalam aplikasi Android,
yakni AutoCompleteTextView dan progressBarView.
AutoCompleteTextView merupakan subclass dari EditText yang
menampilkan daftar saran kata yang komplet secara otomatis saat user sedang
mengetik. ProgressBar view memberikan suatu tanggapan visual bahwa suatu
hal sedang dikerjakan, seperti sedang mengerjakan tugas di background.
2.1.2 ViewGroup/Layout
ViewGroup menyediakan kerangka layout yang dapat mengatur tampilan
dan urutan dari views. Contoh ViewGroup yaitu RadioGroup, LinearLayout,
AbsoluteLayout, TableLayout, RelativeLayout, FrameLayout, ScrollView dan
GridLayout.
a) LinearLayout merupakan salah satu layout paling sering digunakan
dalam pengembangan aplikasi Android. Layout ini untuk mengatur
views ke dalam satu kolom atau baris tunggal. linear layout akan
meletakkan elemen yang ada di dalamnya secara berurutan tergantung
orientationnya. jika orientationnya vertical, maka peletakan elemen
akan terurut kebawah. Sedangkan jika orientationnya horizontal
(secara default, orientation horizontal tidak ditulis di dalam XML),
maka peletakan elemennya akan terurut ke samping. Kesederhanaan
Linear Layout memudahkan penggunaan namun membatasi
fleksibilitasnya. Untuk aplikasi yang memiliki design tidak terlalu
kompleks maka linear layout sangat cocok untuk digunakan.
b) AbsoluteLayout untuk mengatur lokasi yang tepat bagi view-view di
dalamnya. Namun, sering kali muncul masalah saat activity dilihat pada
layar resolusi tinggi. Oleh karena itu, AbsoulteLayout telah di
deprecated sejak Android 1.5
c) RelativeLayout untuk mengatur bagaimana child views diposisikan
secara relative antara view yang satu dengan view yang lainnya.
Relative Layout merupakan layout yang berfungsi untuk mengatur
layout komponen atau widget aplikasi android dengan cara relative
(secara bebas) tidak hanya vertikal atau horisontal saja seperti pada
Linear Layout. Relative Layout memungkinkan kita untuk
memposisikan komponen mana saja yang kita inginkan, sehingga
dianggap sebagai layout yang paling fleksibel.
d) TableLayout mengelompokkan views ke dalam baris dan kolom.
<TableRow> membuat sebuah baris, dimana tiap baria terdiri atas
beberapa views. Tiap views membentuk satu cell dan lebar kolom
ditentukan oleh lebar cell yang terbesar.
e) FrameLayout adalah suatu placeholder di layar yang dapat digunakan
untuk menampilkan satu view tunggal. View-view yang ditambahkan ke
suatu FrameLayout selalu diposisikan pada sisi kiri atas layout.
Perhatikan bahwa FrameLayout disisipkan di dalam suatu
RelativeLayout. Hal ini dikenal sebagai layout bersarang (nested
layout), dimana layout-layout saling menumpuk untuk menciptakan
desain antar muka yang lebih kompleks. Kita juga dapat menambahkan
views pada suatu FrameLayout, tetapi view-view tersebut akan saling
bertumpukkan. Untuk mengatasinya dapat menggunakan atribut
layout_gravity untuk mengatur posisi view yang satu dengan yang lain.
f) ScrollView merupakan bentuk khusus dari FrameLayout yang
memungkinkan user untuk men-scroll sekelompok views yang
memenuhi tempat melebihi ukuran fisik layar. ScrollView hanya bisa
memiliki satu child view atau ViewGroup, yang biasanya adalah
LinearLayout. Edit text secara otomatis memperoleh focus sehingga
memenuhi seluruh layar, (tinggi di-set 600dp). Untuk mencegahnya
memperoleh focus, tambahkan atribut android:focusable=”true” dan
android:focusableInTouchMode=”true” di ViewGroup
LinearLayout.
g) GridLayout diperkenalkan pada Android 4.0. Layout ini membagi
antarmuka menjadi grid-grid yang terdiri atas baris dan kolom cells.
2.1.3 Dialogs
Terkadang dalam suatu aplikasi dibutuhkan suatu kotak dialog untuk
memperoleh konfirmasi (masukan atau input) dari user. Caranya dapat dengan
menggunakan AlertDialog.Builder. AlertDialog.Builder digunakan untuk
membuat antarmuka sebuah alert box, seperti judul, pesan yang ditampilkan,
tombol dan fungsi tombol pada saat method onclick dijalankan.
1.2 Dynamics Layouts
Layout-layout umum yang disediakan oleh framework Android lebih sesuai
untuk antarmuka yang statis, dimana elemen-elemen antarmuka dapat definisikan
terlebih dahulu. Jika isi antarmuka tidak didefinisikan terlebih dahulu, dapat
menggunakan dynamics layout untuk mengembangkan antarmuka secara dinamis.
Beberapa contoh dynamics layouts yang akan dibahas yaitu ListView, SpinnerView
dan GridView.
2.2.1 ListView
ListView adalah views yang memungkinkan untuk menampilkan suatu
daftar panjang items. Terdapat 2 jenis list views, yaitu ListView dan SpinnerView.
ListView menampilkan suatu daftar items dalam betuk scrolling vertikal. Saat user
menekan salah satu daftar nama dosen yang ada maka akan muncul Toast yang
menampilkan informasi user memilih dosen yang mana.
2.2.2 Spinner
SpinnerView menampilkan satu item pada satu saat dari suatu daftar dan
memungkinkan users untuk memilih items tersebut. Kita akan modifikasi contoh
proyek sebelumnya dengan menambahkan spinner di dalamnya.
2.2.3 GridView
GridView menampilkan items dalam bentuk grid dua dimensi yang dapat
di-scroll. GridView yang digunakan bersama dengan ImageView untuk
menampilkan sederet gambar berbeda. Copy dan Paste semua gambar yang ingin
digunakan ke dalam folder redrawable. Penamaan gambar harus dimulai dengan
huruf kecil atau non kapital.
Hasil aplikasi bila dijalankan saat user menekan salah satu gambar yang ada
maka akan muncul Toast yang memberikan informasi gambar mana yang dipilih
user tersebut.
1.3 Menus
Menu dapat digunakan untuk menampilkan opsi tambahan yang tidak
terlihat secara langsung pada UI (user interface) utama aplikasi. Terdapat tiga
menu di Android, yaitu:
(a) Options menu atau Action bar
Menampilkan informasi berkaitan dengan activity yang sedang
berlangsung. Diaktifkan dengan menekan tombol MENU.
(b) Context menu
Menampilkan informasi berkaitan demgan suatu view pada suatu activity.
Diaktifkan dengan menekan dan menahan suatu view tertentu.
(c) Popup menu
Menampilkan modal menu yang terhubung dengan suatu view, tetapi tidak
mempengaruhi isi view secara langsung.
2.3.1 Options Menu/ Action Bar
Selain fragments, fitur baru lainnya yang diperkenalkan mulai Android 3
adalah action bar. Action bar menggantikan title bar yang terdapat pada bagian
atas layar perangkat. Menampilkan icon aplikasi, judul activity, serta (optional)
action items di sisi kanan action bar.
Action bar dapat disembunyikan dengan menambahkan atribut
android:theme=”@style/Theme.AppCompat.NoActionBar” dalam file
manifest aplikasi sesuai activity yang ingin disembunyikan action bar-nya. Cara
lain yang dapat dilakukan adalah dengan memanggil fungsi
getSupportActionBar().hide() di file activity yang bersesuain. Untuk
menampilkan kembali action bar dalam suatu activity, dapat dipanggil fungsi
getSupportActionBar().show().
Untuk menambahkan item-item dalam action bar dapat dilakukan melalui
file menu activity yang bersesuaian yang terletak di dalam folder res/menu. Setelah
melakukan penambahan items di dalam file .xml menu, selanjutnya dapat
ditentukan aksi yang akan dilakukan bila items dalam menu tersebut dipilih.
Dalam mengembangkan suatu aplikasi yang memiliki banyak activities dan
pemanggilan activity yang satu dengan yang lainnya dapat dilakukan berulang kali,
activity-activity yang dipanggil tersebut akan saling bertumpuk-tumpuk. Untuk
menghilangkan seluruh tumpukan activities yang ada maka dapat menggunakan
fungsi addFlags pada obyek intent yang dibuat.
2.3.2 Context Menu
Selain option menu, kita juga dapat membuat context menu. Context menu
biasanya berkaitan dengan suatu view pada activity dan dapat ditampilkan saat user
menekan dan menahan sebuah item. Jika ingin membuat context menu sebuah view,
method setOnCreateContextMenuListener() dari view tersebut harus dipanggil.
Saat user menekan Button view yang ada maka akan muncul suatu context menu
untuk Button view tersebut yang dapat dipilih aksinya.
1.4 Notifikasi
Notifikasi adalah suatu pesan yang dapat ditampilkan kepada user diluar UI
normal aplikasi. Untuk membuat notifications, digunakan NotificationManager
class yang dapat diperoleh dari Context, seperti suatu activity atau service, melalui
getSystemService() method. Notification.Builder menyediakan suatu builder
interface untuk membuat suatu notification. PendingIntent digunakan untuk
menentukan aksi yang harus dilakukan saat user memilih notification tersebut.
1.5 Programmatical UI
Selain dengan menggunakan file layout (.xml), kita juga dapat membuat UI
(user interface) secara langsung dalam coding program.
III. TUTORIAL
Berikut ini merupakan contoh proyek menggunakan user interface, yaitu:
3.1 Pembuatan Linear Layout
Berikut ini merupakan contoh project membuat linear layout, yaitu:
1. Buatlah project baru pada Android Studio. Pilih Empty Activity > Next.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_weight="1"
android:text="@string/Button"/>
<Button
android:layout_width="160dp"
android:layout_height="wrap_content"
android:text="@string/Button"
android:layout_gravity="center"
android:layout_weight="2"/>
<Button
android:layout_width="160dp"
android:layout_height="wrap_content"
android:text="@string/Button"
android:layout_gravity="end"
android:layout_weight="3"/>
</LinearLayout>
6. Setelah selesai, buka string.xml pada app > res > value > string.xml.
Kemudian, buatlah kode pemanggilan pada string.xml seperti berikut.
<resources>
<string name="app_name">Linear Layout Tutorial</string>
<string name="btn">BUTTON</string>
</resources>
<TableRow>
<TextView
android:layout_width="120dp"
android:text="@string/tvUsername"/>
<EditText
android:id="@+id/txtUsername"
android:layout_width="200dp"/>
</TableRow>
<TableRow>
<TextView
android:text="@string/tvPassword"/>
<EditText
android:id="@+id/txtPassword"
android:inputType="textPassword"/>
</TableRow>
<TableRow>
<TextView/>
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/chkRememberPassword"
android:text="@string/chkRememberPassword"/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btnSignIn"
android:text="@string/btnSignIn"/>
</TableRow>
</TableLayout>
4. Setelah selesai, buka string.xml pada app > res > value > string.xml.
Kemudian, buatlah kode pemanggilan pada string.xml seperti berikut.
<resources>
<string name="app_name">Table Layout</string>
<string name="tvUsername">Username</string>
<string name="tvPassword">Password</string>
<string name="chkRememberPassword">Remember Password</string>
<string name="btnSignIn">LOG IN</string>
</resources>
3. Kemudian, import library dengan mengikuti langkah berikut: File > Project
Structure > Dependencies > Klik tanda + > Klik Library dependency > Ketik “
cardview” > pilih Versi 1.0.0 > Ok.
<androidx.cardview.widget.CardView
android:id="@+id/cardView"
android:layout_width="0dp"
android:layout_height="320dp"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
app:cardCornerRadius="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:autofillHints="@string/email"
android:id="@+id/etEmail"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:ems="10"
android:hint="@string/email"
android:inputType="textEmailAddress"
android:textColor="@color/colorAccent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/login"
android:textColor="@color/colorPrimaryDark"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:autofillHints="@string/password"
android:id="@+id/etPassword"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:ems="10"
android:hint="@string/password"
android:inputType="textPassword"
app:layout_constraintEnd_toEndOf="@+id/etEmail"
app:layout_constraintStart_toStartOf="@+id/etEmail"
app:layout_constraintTop_toBottomOf="@+id/etEmail" />
<TextView
android:id="@+id/btnForgotPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/forgot_password"
app:layout_constraintEnd_toEndOf="@+id/etPassword"
app:layout_constraintTop_toBottomOf="@+id/etPassword" />
<Button
android:id="@+id/btnLogin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@color/purple_200"
android:text="@string/login"
android:textColor="#FFFFFF"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/etPassword"
app:layout_constraintStart_toStartOf="@+id/etPassword"
app:layout_constraintTop_toBottomOf="@+id/btnForgotPassword" />
<Button
android:id="@+id/btnRegister"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:background="@color/colorPrimaryDark"
android:text="@string/register"
android:textColor="#FFFFFF"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/btnLogin"
app:layout_constraintStart_toStartOf="@+id/btnLogin"
app:layout_constraintTop_toBottomOf="@+id/btnLogin" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>
6. Setelah selesai, buka string.xml pada app > src > main> res > value >
string.xml. Kemudian, buatlah kode pemanggilan pada string.xml seperti
pada gambar berikut.
<resources>
<string name="app_name">View Basic</string>
<string name="email">Email</string>
<string name="login">Login</string>
<string name="password">Password</string>
<string name="forgot_password">Forgot password?</string>
<string name="register">REGISTER</string>
</resources>
IV. KESIMPULAN
Terdapat beberapa komponen user interface. Pertama, views merupakan
komponen yang umum digunakan. Views terdiri dari TextView, EditText, Button,
ImageButton, CheckBox, ToogleButton, RadioButton, AutoCompeleteTextView,
dan ProgressBar. Kemudian, ViewGroup yang terdiri dari LinearLayout,
AbsoluteLayout, TableLayout, RelativeLayout, FrameLayout, ScrollView, dan
GridLayout. Selain komponen user interface, terdapat juga cara untuk
memanipulasi tampilan Android, yaitu secara programmatically UI. Terdapat juga
komponen menu yang dapat membantu dalam pembuatan menu pada aplikasi
Android.
V. TUGAS PENDAHULUAN
1. Jelaskan pengertian user interface dan fungsinya (minimal 3)!
2. Sebutkan komponen yang terdapat pada user interface di
Android!
3. Sebutkan dan jelaskan unit ukuran yang terdapat pada Android!
4. Jelaskan apa yang dimaksud dengan views dan viewgroup!
5. Sebutkan contoh cara kerja aplikasi dengan ProgressBar view!
6. Sebutkan dan jelaskan jenis-jenis viewgroup!
7. Sebutkan dan jelaskan jenis-jenis dynamic layouts!
8. Jelaskan apa yang dimaksud dengan menu kemudian sebutkan
dan jelaskan tipe-tipe menu di Android.
9. Jelaskan fungsi dialogs pada Android!
10. Sebutkan jenis-jenis views yang digunakan pada Android!
`
PEMROGRAMAN DASAR KOMPUTER
MODUL VII
RECYCLERVIEW
I. PENDAHULUAN
Pada awalnya, para developer android menggunakan widget Listview untuk
menampilkan data yang berbentuk daftar. Ketika menampilkan item yang banyak
berbentuk daftar (list) yang dapat digulir (scroll), sebagian item tidak akan terlihat.
Hal ini dikarenakan jumlah item yang ditampilkan menyesuaikan dengan layar dari
device yang digunakan. Selain itu listview akan memproses seluruh data atau item
pada satu waktu yang bersamaan. Jika item yang banyak tersebut diproses secara
bersamaan, maka hal ini dapat memakan kinerja RAM dari device dan membuat
aplikasi menjadi macet atau lag.
Recyclerview hadir sebagai solusi atas permasalahan ini. Dengan kemampuan
untuk memproses item yang hanya muncul pada layar device maka menampilkan
item dengan jumlah yang sangat banyak dapat dilakukan dengan sangat efisien.
Selain itu, recyclerview mampu membuat desain layout yang lebih beragam
dibandingkan listview. Konsep mengenai recyclerview dan cara pembuatannya akan
dijelaskan lebih lanjut pada tahapan selanjutnya.
2.2 Recyclerview
Recyclerview adalah tampilan fleksibel untuk menyediakan jendela terbatas ke
hasil atau kumpulan data yang besar. Recyclerview memiliki kemampuan untuk
mendaur ulang item yang sedang ditampilkan, dimana listview akan tetap
menampilkan item-item secara keseluruhan sehingga dapat memberatkan kinerja
sistem.
III. TUTORIAL
Berikut ini merupakan langkah pembuatan recyclerview, yaitu:
1. Tambahkan library recyclerview dengan cara klik gradle scripts > build.gradle
(Module:) > lalu tambahkan baris dengan kode sebagai berikut:
implementation 'androidx.recyclerview:recyclerview:1.2.1'
lalu klik Sync Now pada bagian atas tampilan android studio.
<ImageView
android:id="@+id/img_view"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginRight="8dp"
android:src="@mipmap/ic_launcher_round"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/txt_title"
android:text="Nama"
android:textColor="#000000"
android:textSize="24sp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/txt_sub_title"
android:text="Deskripsi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
Init()
}
}
5. Buat adapter dengan cara membuat class baru (Adapter) dengan menambahkan
kode sebagai berikut:
class Adapter(private val data: ArrayList<AsistenSMI>):
RecyclerView.Adapter<>() {
}
RecyclerView.ViewHolder(inflater.inflate(R.layout.recycler_v
iew_template, parent, false)) {
init {
imgView = itemView.findViewById(R.id.img_view)
txtTitle = itemView.findViewById(R.id.txt_title)
txtSubTitle =
itemView.findViewById(R.id.txt_sub_title)
}
fun bind(data:AsistenSMI){
imgView?.setImageResource(data.imgView)
txtTitle?.text = data.txtTitle
txtSubTitle?.text = data.txtSubTitle
}
}
Init()
recyclerView.layoutManager =
LinearLayoutManager(this)
recyclerView.adapter = adapter
}
adapter = Adapter(data)
}
}
MODUL VIII
DATABASE FIREBASE
FAKULTAS TEKNIK
2021
MODUL VIII
DATABASE FIREBASE
1. PENDAHULUAN
Firebase adalah API yang disediakan google untuk penyimpanan dan penyelarasan data
ke dalam aplikasi android, iOS, atau web. Realtime database adalah salah satu fasilitas yang
menyimpan data ke database dan mengambil data darinya dengan sangat cepat. Firebase
memiliki banyak fitur seperti authentication, database, storage, hosting, pemberitahuan.
1.1. Tujuan Praktikum
Berikut ini merupakan tujuan dari modul VIII “Database Firebase”, yaitu:
a. Praktikan mampu mengetahui teori terkait database Firebase
b. Praktikan mampu membuat realtime database dan authentication pada firebase
c. Praktikan mampu mensinkronisasi firebase realtime database dengan aplikasi android
1.2. Alat dan Bahan
Berikut ini adalah daftar alat dan bahan yang akan digunakan dalam
praktikum modul Database Firebase:
1. Alat : Laptop yang sudah terinstall Android Studio
2. Bahan : Modul praktikum
1.3. Prosedur
Prosedur pelaksanaan dan penyelesaian modul VIII “Database Firebase”, antara lain:
a. Seluruh praktikan wajib mengikuti sesi pelatihan software Android Studio IDE melalui
teleconference yang dilakukan oleh SMI.
b. Seluruh praktikan wajib mengikuti sesi tutorial membuat database dan coding program
penyimpanan data menggunakan software Android Studio IDE.
c. Seluruh praktikan wajib mengerjakan soal latihan Modul VIII tentang Database
Firebase dengan waktu yang telah ditentukan oleh Asisten.
d. Komunikasikan hasil pengolahan latihan dengan asisten dan dosen pengampu.
e. Kumpulkan portofolio hasil latihan tersebut kepada asisten.
2. MEKANISME PROSES
2.1. Database
Database merupakan kumpulan file-file yang saling berkaitan dan berinteraksi, relasi
tersebut bila ditunjukan dengan kunci dari tiap-tiap file yang ada. Satu database menunjukkan
suatu kumpulan data yang dipakai dalam suatu lingkup perusahaan, instansi. Pengolahan
database merupakan suatu cara yang dilakukan terhadap file-file yang berada di suatu instansi
yang mana file tersebut dapat disusun, diurut, diambil sewaktu-waktu serta dapat ditampilkan
dalam bentuk suatu laporan sehingga dapat mengolah file-file yang berisikan informasi tersebut
secara rapi (Sofia dan Febio, 2017).
Database merupakan wadah atau tempat berkumpulnya tabel-tabel yang memiliki atribut
dan data. Tabel yang ada dalam database tersebut saling berhubungan satu sama lainnya,
sehingga membentuk sebuah informasi yang dibutuhkan pengguna informasi tersebut.
Penyajian informasi diproses menggunakan aplikasi atau program komputer, (Beranda Agency
dalam Rizaldi dkk, 2015).
2.2. Firebase
Firebase merupakan platform untuk aplikasi realtime. Ketika data berubah, maka aplikasi
yang terhubung dengan firebase akan meng-update secara langsung melalui device (perangkat)
baik website ataupun mobile. Firebase mempunyai library (pustaka) yang lengkap untuk
sebagai platformweb dan mobile dan dapat digabungkan dengan berbagai framework lain
seperti node, java, javascript dan lain-lain. Application Programming Interface (API) untuk
menyimpan dan sinkronisasi data akan disimpan sebagai bit dalam bentuk JSON (Java Script
Object Notation) pada cloud dan akan disinkronisasi secara realtime.
3 TUTORIAL
Berikut adalah tutorial membuat suatu aplikasi yang menggunakan database Firebase
dalam penyimpanannya.
1. Buatlah sebuah project baru di Android studio, kemudian pilih empty activity.
Beri nama aplikasinya yaitu “FirebaseModul8”
2. Sambungkan project ke Firebase pada bagian Menu Bar pilih
Tools>Firebase>Realtime Database>Get Started with Realtime Database<conect
to firebase<Build
3. Masuk ke halaman firebase <Creat Proect<Add project<Nama project:
“FirebaseModul8”<continue<continue<ceklis I accept<pilih lokasi
“Indonesia”<pilih akun dengan membuat akun baru
“firebasemodul8”<save<continue<Connect
4. Android Studio telah berhasil terhubung dengan firebase
5. Kembali ke Android Studio dan pada Realtime Database pilih Add the Realtime
Database SDK<Accept Changes
6. Pada android studio buka folder res<layout<activity_main.xml lalu ketikkan kode
berikut:
7. Pada folder drawable klik kanan<new<Drawable Resource File<File Name
“input.xml<ok< masukkan kode berikut:
8. Buka file gambar yang telah dikirimkan asisten pembimbing lalu klik copy< klik
kanan pada folder drawable<paste
9. Buka folder values<colors.xml<masukkan kode berikut
s
11. Buka folder java<com.example.firebasemodul8<klik kanan<new<kotlin
class<data class<beri nama “user” <masukkan kode berikut:
5. TUGAS PENDAHULUAN
1. Jelaskan apa yang dimaksud database?
2. Sebutkan dan jelaskan jenis-jenis database?
3. Apa yang dimaksud primary key?
4. Apa perbedaan primary key dengan foreign key?
5. Jelaskan apa yang dimaksud dengan firebase?
6. Jelaskan apa saja kelebihan menggunakan database firebase?
7. Apa yang dimaksud dengan firebase realtime database?
8. Jelaskan perbedaan pemanggilan database tradisional dan pemanggilan firebase database?
9. Sebutkan dan jelaskan apa saja fitur yang dimiliki oleh firebase?
10. Apa saja kemampuan layanan yang dimiliki firebase realtime database?
REFERENSI
Hansun, Seng. Marcel Bonar K., Michael Wijaya S. 2016. Pemograman Android
dengan Android Studio IDE. Yogyakarta: Indonesia. Penerbit Andi.
developer.android.com (diakses pada 05 Agustus 2020)
Nazarudin Safaat Harahap. 2012. Pemograman Aplikasi Mobile Smartphone dan Tablet
PC Berbasis Android. Informatika. Bandung.
Azam, Moch. 2017. Pengertian Android Beserta Sejarah, Kelebihan dan Kekurangannya.
Diakses di https://www.nesabamedia.com/pengerti an-android-beserta-kelebihan-
dankekurangannya/ pada tanggal 25 April 2019.
Comalasari Enny dan Verawati. 2019. Pemanfaatan Android Dalam Dunia
Pendidikan. Universitas PGRI Palembang.
Mulyadi Bohati, dkk. 2019. Aplikasi Sistem Pemesanan Jasa Laundry (E-Laundry)
berbasis Android. Jurnal Sistem Informasi. Vol.1 No.1
Akbar Ricky, Silviana Meza, dan Alizar Fikri Aulia. Perancangan Aplikasi Pembayaran
Non Tunai untuk Pengelolaan Bisnis Pencucian Mobil dengan Memanfaatkan
Teknologi QR Code (Studi Kasus : Oto Pro Car Wash & Detailling Padang). 2019.
Fakultas Teknik Universitas Muhammadiyah Jakarta.
Aprilia Putri. 2020. Mengenal User Interface: Pengertian, Kegunaan, dan
Contohnya. https://www.niagahoster.co.id/blog/user-interface/ (Diakses : 8
Agustus 2020)
Budiman, Edi. 2019. Mobile programing for student. Mulawarman University
Press. Samarinda
Sanadi, dkk. 2018. Pemanfaatan Realtime Database di Platform Firebase Pada
Aplikasi E-Tourism Kabupaten Nabire. Jurnal Penelitian Enjinering. Vol 22
No.1