industri.itn.ac.id · web viewproject baru telah selesai dibuat dan akan muncul tampilan sebagai...

44
MODUL PEMROGRAMAN KOMPUTER BAB 1 PENGENALAN ANDROID Android adalah sistem operasi yang dikeluarkan oleh Google. Android dibuat khusus untuk smartphone dan tablet. Berbagai macam produsen telah menggunakan Android sebagai sistem operasi untuk piranti (device) yang mereka produksi. Android juga mempunyai store dengan lebih dari 2 miliar pengguna aktif (tahun 2018). Android memanjakan penggunanya dengan fitur yang sangat canggih dan tampilan yang bagus. Sistem android dapat digunakan sebagai alat multimedia seperti pemutar musik dan video. Android juga memiliki perangkat keras seperti accelerometer, gyroscope, dan sensor lainnya. Antarmuka pengguna Android umumnya berupa manipulasi langsung, menggunakan gerakan sentuh (touch) yang serupa dengan tindakan nyata, misalnya menggeser (swipping), mengetuk (tapping), dan mencubit (pinching) untuk memanipulasi objek di layar, serta papan ketik virtual untuk menulis teks. Selain perangkat layar sentuh, Google juga telah mengembangkan Android TV untuk televisi, Android Auto untuk mobil, dan Android Wear untuk jam tangan, masing-masingnya memiliki antarmuka pengguna yang berbeda. Varian Android juga digunakan pada komputer jinjing, konsol permainan, kamera digital, dan peralatan elektronik lainnya. Disamping itu beberapa hal yang membuat Android sebagai sistem operasi yang memang layak digunakan oleh pengguna atau

Upload: others

Post on 02-May-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

MODUL PEMROGRAMAN KOMPUTERBAB 1

PENGENALAN ANDROID

Android adalah sistem operasi yang dikeluarkan oleh Google. Android dibuat khusus

untuk smartphone dan tablet. Berbagai macam produsen telah menggunakan Android sebagai

sistem operasi untuk piranti (device) yang mereka produksi. Android juga mempunyai store

dengan lebih dari 2 miliar pengguna aktif (tahun 2018).

Android memanjakan penggunanya dengan fitur yang sangat canggih dan tampilan yang bagus.

Sistem android dapat digunakan sebagai alat multimedia seperti pemutar musik dan video.

Android juga memiliki perangkat keras seperti accelerometer, gyroscope, dan sensor lainnya.

Antarmuka pengguna Android umumnya berupa manipulasi langsung, menggunakan gerakan

sentuh (touch) yang serupa dengan tindakan nyata, misalnya menggeser (swipping), mengetuk

(tapping), dan mencubit (pinching) untuk memanipulasi objek di layar, serta papan ketik

virtual untuk menulis teks. Selain perangkat layar sentuh, Google juga telah

mengembangkan Android TV untuk televisi, Android Auto untuk mobil, dan Android Wear untuk

jam tangan, masing-masingnya memiliki antarmuka pengguna yang berbeda. Varian Android

juga digunakan pada komputer jinjing, konsol permainan, kamera digital, dan peralatan

elektronik lainnya.

Disamping itu beberapa hal yang membuat Android sebagai sistem operasi yang memang layak

digunakan oleh pengguna atau dikembangkan para developer, seperti yang akan diuraikan

berikut ini.

1.1 Sistem Operasi Smartphone terpopuler

Sejak dirilis tahun 2008, Google telah mengeluarkan beberapa versi. Pada tahun 2013, android

menjadi operation system (OS) terlaris pada tablet dan smartphone. Tercatat pada tahun 2016,

store android memiliki lebih dari 2,8 juta aplikasi. Pada masa saat ini kebanyakan vendor-vendor

smartphone sudah memproduksi smartphone berbasis android. Hal ini karena android itu adalah

sistem operasi yang open source sehingga bebas didistribusikan dan dipakai oleh vendor

manapun. Tidak hanya menjadi sistem operasi di smartphone, saat ini android menjadi pesaing

Apple pada sistem operasi Tablet PC. Pesatnya pertumbuhan adroid adalah karena android itu

Page 2: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

sendiri merupakan platform yang lengkap, tersedianya tools pengembangan, adanya fasilitas

market dan didukung oleh komunitas open source.

1.2 Store

Aplikasi android bisa didistribusikan menggunakan web, copy APK, dan store. Store android,

yaitu google play merupakan cara termudah bagi para developer untuk mendistribusikan

aplikasinya ke pasar yang memiliki miliaran pengguna.

Google play merupakan store resmi android yang dikelola oleh google. Pengguna bisa mencari

dan mengunduh aplikasi yang dikembangkan dengan menggunakan Android Software

Development Kit. Tidak hanya aplikasi yang ditawarkan di Google Play, ada beragam konten

lainnya yang dapat dinikmati pengguna, misalnya media digital, musik, buku, majalah, film, dan

program televisi. Para developer memiliki beberapa cara dalam memonetisasi aplikasi yang ada

didalam Google Play, dimulai dari aplikasi berbayar (paid distribution), pembelian dalam

aplikasi (in-app purchase), langganan (subcriptions), dan iklan (ads). Tentunya developer harus

mengikuti aturan yang ada untuk memastikan bahwa pengguna mendapatkan pengalaman (user

experience) yang paling baik.

Page 3: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

1.3 Sejarah perkembangan Android

Perkembangan Android yang resmi diluncurkan oleh Google ( Sumber: Wikipedia)

Code name Version numbers Initial release date API level

No codename 1.0 September 23, 2008 1

Petit Four (only internally used) 1.1 February 9, 2009 2

Cupcake 1.5 April 27, 2009 3

Donut 1.6 September 15, 2009 4

Eclair 2.0 – 2.1 October 26, 2009 5 – 7

Froyo 2.2 – 2.2.3 May 20, 2010 8

Gingerbread 2.3 – 2.3.7 December 6, 2010 9 – 10

Honeycomb 3.0 – 3.2.6 February 22, 2011 11 – 13

Ice Cream Sandwich 4.0 – 4.0.4 October 18, 2011 14 – 15

Page 4: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

Jelly Bean 4.1 – 4.3.1 July 9, 2012 16 – 18

KitKat 4.4 – 4.4.4 October 31, 2013 19 – 20

Lollipop 5.0 – 5.1.1 November 12, 2014 21 – 22

Marshmallow 6.0 – 6.0.1 October 5, 2015 23

Nougat 7.0 – 7.1.2 August 22, 2016 24 – 25

Oreo 8.0 – 8.1 August 21, 2017 26 – 27

Pie 9.0 August 6, 2018 28

Android 10 10.0 September 3, 2019 29

1.4 Android Platform Development

Android SDK (Software Development Kit)

Android Software Development Kit menyediakan framework dan API (Application

Programming Interface) yang bisa digunakan oleh para developer untuk mengembangkan

aplikasi berbasis android dengan bahasa pemrograman java. Didalamnya terdapat beberapa tools

seperti debugger, software libraries, emulator, dokumentasi, simple code, dan tutorial.

API merupakan sekumpulan perintah, fungsi, serta protokol yang dapat digunakan oleh

programmer saat membangun perangkat lunak untuk sistem operasi tertentu.

Android Debugging Bridge (ADB)

Android debug bridge (ADB) merupakan tool untuk terhubung ke perangkat Android (virtual

atau real), untuk tujuan mengelola perangkat atau debugging aplikasi.

1.5 Runtime Environment

Page 5: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

Runtime environment merupakan konfigurasi perangkat keras dan perangkat lunak, termasuk

jenis CPU, sistem operasi, dan apa saja perangkat lunak sistem yang diperlukan oleh kategori

aplikasi tertentu. Runtime Environment adalah keadaan saat suatu program aplikasi dijalankan.

Saat dalam keadaan ini, program mengirimkan instruksi kepada prosesor dan mengakses memori

komputer serta sumber daya sistem lainnya. Dalvik Virtual Machine (DVM) dan Android Run

Time (ART) menunjukkan eksekusi kompilasi ketika menjalankan aplikasi Android.

Dalvik Virtual Machine (DVM)

Pada API Kitkat dan sebelumnya, android menggunakan Dalvik Virtual Machine (DVM).

Android berjalan di atas Dalvik Virtual Machine (DVM) bukan Java Virtual Machine (JVM)

layaknya Java SE. DVM menerapkan pendekatan JIT (Just-in-time), dimana kompilasi

dijalankan setiap kali ada permintaan untuk menjalankan aplikasi. Hal ini sangat mempengaruhi

kecepatan respon aplikasi. Setiap kali kita menyentuh ikon aplikasi maka kompilasi akan

dilakukan. Tentu proses ini menghabiskan CPU dan berimbas pada relatif lebih borosnya

penggunaan baterai.

Android Run Time (ART)

Dari versi Lollipop hingga Oreo, android sepenuhnya mengadopsi ART. ART menerapkan

pendekatan berbeda yaitu AOT ( Ahead-of-time) dimana melakukan kompilasi pada saat proses

instalasi aplikasi. Jadi setiap kali aplikasi dijalankan, sudah tidak ada lagi proses kompilasi. Hal

ini meningkatkan performa dalam menjalankan aplikasi dikarenakan penggunaan sumber daya

CPU bisa dikurangi, dan pemakaian baterai menjadi lebih hemat. Akan tetapi ART

membutuhkan space (ukuran berkas) yang lebih besar jika dibandingkan dengan DVM.

1.6 Mengenal Android Studio

Pada modul ini, kita akan menggunakan android studio sebagai IDE. Android Studio dirilis pada

16 Mei 2013. Android Studio adalah Lingkungan Pengembangan Terpadu (Integrated

Development Environment/IDE) resmi untuk pengembangan aplikasi Android, yang didasarkan

pada Jetbrains IntelliJ IDEA.

Antarmuka Android Studio

Jendela utama Android Studio terdiri dari beberapa area yang dijabarkan dalam gambar berikut.

Page 6: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

1. Toolbar, bagian yang sering digunakan untuk melakukan berbagai tindakan seperti

copy/paste, build, menjalankan aplikasi, dan menjalankan emulator.

2. Navigasi, membantu dalam menjelajah struktur project dan posisi project yang sedang

kita buka sekarang.

3. Project Editor, adalah tempat membuat dan memodifikasi kode. Tergantung jenis file

yang ada, editor ini dapat berubah. Misalnya, saat menampilkan file tata letak, editor

akan menampilkan Layout Editor.

4. Tool window bar, berada di sisi luar jendela IDE dan berisi tombol-tombol yang

memungkinkan Anda memperluas (expand) atau menciutkan (collapse) setiap jendela

tools.

5. Project window, memberi akses ke tugas tertentu seperti pengelolaan project (secara

default menampilkan struktut project yang telah kita buat), penelusuran, kontrol versi,

dan banyak lagi.

6. Status bar, berfungsi untuk menampilkan status project dan pesan peringatan (warning

message).

Page 7: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

PRAKTIKUM (Memulai Project Android)

1. Ketika pertama kali membuka aplikasi Android studio, maka anda akan melihat tampilan

seperti berikut. Pilih start a new android studio Project untuk membuat project baru.

2. Pada bagian ini, kita akan memilih tipe activity awal dari berbagai macam template yang

sudah disediakan oleh Android Studio mulai dari yang paling sederhana hingga yang

paling kompleks. Namun pada praktikum kali ini, kita akan menggunakan tipe Empty

Activity.

Page 8: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

Add No Activity : Tidak ada activity yang ditambahkan.

Basic Activity : Activity dengan template komponen material design

seperti floatingaction button.

Empty Activity : Activity dalam bentuk paling dasar.

Fullscreen Activity : Activity fullscreen tanpa status bar.

Google AdMob Ads : Activity dengan default konfigurasi iklan Admob

Google Maps Activity: Activity dengan menyediakan konfigurasi dasar

Google Maps.

Login Activity : Activity untuk halaman login.

Master/Detail Flow : Activity yang diperuntukan untuk alur aplikasi Master

Detail pada device tablet

Navigation Drawer : Activity dengan tampilan sidebar menu.

Scrolling Activity : Activity dengan kemampuan scroll konten di

dalamnya secara vertikal

Setting Activity : Activity yang diperuntukan untuk konfigurasi aplikasi

Tabbed Activity : Activity yang diperuntukkan untuk menampilkan lebih

dari satu tampilan, dapat digeser ke kanan dan ke kiri (swipe) dan dengan menggunakan

komponen ViewPager.

3. Selanjutnya tentukan nama Activity anda, atau nama dapat dibiarkan secara default sesuai

nama aslinya. Untuk nama package tidak perlu diubah, sama halnya dengan lokasi

penyimpanan project dapat dibiarkan secara default.

Untuk bahasa program dalam praktikum ini kita menggunakan bahasa java. Sedangkan

minimum API level dapat kita set agar tingkat compabilitynya tinggi. Kemudian klik

Finish.

Page 9: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

4. Project baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah

kanan anda adalah workspace dimana activity anda berada dengan nama

MainActivity.java dan layoutnya activity_main.xml.

Page 10: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

Struktur Project Android

Struktur project android terdiri dari 4 bagian utama yaitu file manifest, java source code, android

resources, dan gradle.

Manifest

Manifest adalah salah satu berkas yang harus ada dalam sebuah project android yang berisi file

AndroidManifest.xml. Manifest akan memberikan beragam informasi penting kepada sistem

android seperti (komponen dan pengaturan, permission, icon, nomor versi aplikasi). Sistem perlu

mengetahui apa yang akan digunakan oleh aplikasi sebelum dijalankan.

Java

Berisi berkas source code yang kita tulis dalam bahasa java, termasuk kode pengujian JUnit, dan

android test (instrument test).

Res

Folder ini berisi semua resources yang dibutuhkan aplikasi yang meliput gambar, file layout,

string,icon, dan styling. Foler ini memiliki beberapa subfolder sebagai berikut :

a. Drawable. Menyimpan semua gambar dari aplikasi yang dibuat

b. Layout. Setiap activity memiliki paling tidak satu file layout yang menggambarkan

user interface dalam bentuk XML file.

c. Mipmap. Menyimpan icon dari aplikasi ini.

d. Values. Berfungsi untuk menyimpan values seperti string, dimensi, color dalam

bentuk XML file.

Page 11: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

Gradle

Secara default gradle merupakan build tools yang digunakan oleh Android Studio. Fungsinya

adalah membantu dalam mengkompilasi dan menjalankan source code aplikasi yang

dikembangkan berdasarkan konfigurasi di Gradle. Gradle juga mendukung manajemen proyek

dalam hal penambahan library diluar framework android.

Hal penting yang harus diperhatikan dalam build.gradle(modul), yang berisi pengaturan versi

android SDK, bahwa versi pada compileSdkVersion seharusnya di set versi yang paling terbaru

dan versi compileSdkVersion harus lebih tinggi atau sama dengan versi pada targetSdkVersion

dan minSdkVersion

minSdkVersion <= targetSdkVersion <= compileSdkVersion

Menjalankan Project Android

Ada 2 cara untuk menjalankan aplikasi yang telah dibuat, yaitu menggunakan emulator atau

menggunakan device/perangkat android sebenarnya.

- Run dengan Emulator melalui Android Virtual Device

Android Virtual Device (AVD) adalah konfigurasi yang mendefinisikan karakteristik ponsel

Android, tablet, Wear OS, Android TV, atau perangkat Automotive OS yang ingin disimulasikan

dalam Android Emulator. Dengan AVD ini, anda bisa mengembangkan dan mencoba aplikasi

Android tanpa harus menggunakan perangkat Android yang sebenarnya. Anda juga bisa

menentukan karakteristik AVD, misalkan menentukan versi Android, jenis dan ukuran layar,

besarnya memori, dan lain sebagainya.

- Run dengan Device.

Pada praktikum ini kali ini, kita akan menggunakan perangkat android sebenarnya untuk

menjalankan aplikasi yang dibuat karena memiliki beberapa kelebihan jika dibandingkan dengan

emulator. Running dengan menggunakan piranti sebenarnya memiliki kelebihan yaitu :

Page 12: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

Lebih cepat.

Fitur seperti geo-location, push notification bisa digunakan.

Lebih mudah.

Tampilan langkah-langkah untuk menjalankan proses run atau debugging dengan menggunakan

perangkat sebenarnya pasti akan berbeda dari contoh yang ada tergantung dari tipe/jenis

perangkat yang digunakan. Namun secara garis besar langkahnya akan sama.

1. Pastikan piranti yang akan dipakai sesuai dengan target SDK atau minimal mendukung

versi SDK terendah yang digunakan aplikasi.

2. Buka menu setting pada perangkat anda, dan pilih menu About. Pada halaman menu ini,

coba temukan informasi tentang Build number.

3. Kemudian tekan build number sebanyak 7 kali hingga muncul notifikasi developer mode

enable.

Page 13: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

4. Kembali ke menu setting awal dan akan muncul menu baru yaitu Developer Option yang

letaknya dibawah menu about.

5. Pilih menu developer option dan nyalakan opsi USB Debugging mode.

6. Setelah pengaturan selesai, anda dapat menghubungkan perangkat/device dengan laptop

atau komputer yang anda gunakan untuk menjalankan aplikasi.

Page 14: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

BAB 2

USER INTERFACE

Aplikasi android dibangun oleh dua komponen utama yaitu layout dan business logic.

Secara umum user interface (UI) aplikasi android berasal dari tampilan/layout file yang

berekstensi xml (main_android.xml). File xml inilah yang menghandle tampilan aplikasi android

yang dapat dilihat oleh pengguna aplikasi.

Layout merupakan tempat dimana kita meletakkan komponen yang dibutuhkan dalam aplikasi

android sehingga tata letak dari komponen tersebut menjadi lebih teratur dan menarik. Android

layout berisikan tata letak komponen dalam bentuk textView,buttonView, imageView dll yang

dibuat dalam bentuk XML file.

Sementara business logic adalah berupa java file yang berfungsi untuk menghandle aspek event-

driven dari aplikasi. Selain java bahasa pemrograman lain yang dapat digunakan untuk business

logic dari aplikasi android adalah Kotlin.

Pada android studio telah disediakan fasilitas yang sangat membantu pada pengembangan

android layout yaitu android layout editor. Layar ini memiliki dua mode yaitu mode design dan

mode text. Mode design memungkinkan kita mendesign User Interface dengan menggunakan

drag and drop dari android view. Sementara pada mode text user harus memasukkan sintaks-

sintaks XML.

Secara umum setiap komponen atau elemen di xml memiliki atribut wajib dan tambahan.

Atribut yang wajib dimiliki setiap elemen di xml adalah atribut android:layout_width dan atribut

android:layout_height. Kemudian nilai dari atribut tersebut dapat berupa “match_parent” dan

“wrap_content”.

“android:layout_width” adalah tagging yang berisi tentang lebar layar dari elemen tersebut.

Sedangkan “android:layout_height” adalah tagging yang berisi tentang tinggi layar dari elemen

tersebut.

<TextView android:text="status" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignTop="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="78dp" android:id="@+id/textView2" />

Page 15: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

“match_parent” berarti ukuran dimensi sebuah View disesuaikan dengan ukuran layar secara

horizontal jika pada layout_width dan vertikal jika pada layout_height.

“wrap_content” berarti ukuran dimensi sebuah View disesuaikan dengan ukuran konten

didalamnya baik secara horizontal jika pada layout_width dan vertikal jika pada layout_height.

Untuk me-load atau mengakses XML Layout pada aplikasi yang kita jalankan, maka pada file

java diterapkan syntax setContentView(R.layout.namafile_xmlLayout).

android:layout_width="wrap_content"android:layout_height="wrap_content"

android:layout_width="match_parent"android:layout_height="wrap_content"

android:layout_width="wrap_content"android:layout_height="match_parent"

android:layout_width="match_parent"android:layout_height="match_parent"

Page 16: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

Tampilan atau layout yang digunakan pada aplikasi android secara umum terdiri dari Linear

layout, Relative layout, dan Table Layout.

LinearLayout

LinearLayout merupakan komponen view bertipe viewgroup yang menjadi parent dari semua

sub komponen view di dalamnya. LinearLayout akan membuat tampilan dengan konsep linear,

dimana elemen atau komponen tampilan akan menempati posisi linear dengan elemen lainnya

baik secara vertikal maupun horizontal. Anda bisa menetapkan arah layout dengan atribut

android:orientation.

Perlu diperhatikan, bahwa dalam satu file xml, hanya ada satu root tagging, tidak diperbolehkan

ada dua root tagging. Artinya semua elemen tagging anak mengakui atribut properties yang

dimiliki oleh root tagging sebagai induknya.

Catatan : root tagging adalah tagging utama atau disebut tagging induk, dimana semua tagging

lainnya berada di dalamnya. Contoh pada linear layaout, sebuah tagging dimulai dengan

<LinearLayout> dan diakhiri dengan </LinearLayout> dan semua tagging lainnya berada dalam

block tagging tersebut

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

vertical

horizontal

Page 17: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

<LinearLayout>

<

<

/>

/>

<

/>

</LinearLayout>

2.1 PRAKTIKUM

a. Pada Project Window klik app > res > layout folder, buka file activity_main.xml

b. Switch Design Tab (8) pada file yang terbuka. Lihat gambar berikut.

c. Pada pallete window (2), pilih komponen EditText sebanyak 3 kali dan Button sebanyak

1 kali, kemudian drag and drop kedua komponen tersebut pada layar design mode hingga

menghasilkan tampilan seperti gambar dibawah ini.

Block root tagging

Page 18: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

d. Klik Text tab untuk masuk ke kode view pada layout, kemudian lengkapi halaman

tersebut

e.

f.

g.

h.

i.

j.

k.

l.

m.

n.

o.

p.

q.

r. dengan sintaks berikut ini.

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent">

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="To" android:ems="10" android:id="@+id/editText" />

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="Subject" android:ems="10" android:id="@+id/editText2" />

<EditText android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:inputType="textPersonName" android:text="Message" android:gravity="top" android:ems="10" android:id="@+id/editText3" />

<Button android:text="Button" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="right" android:id="@+id/button" /></LinearLayout>

Page 19: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

RelativeLayout

RelativeLayout membuat posisi elemen didalamnya tergantung elemen lainnya. Tampilan

RelativeLayout memungkinkan kita membuat elemen yang satu relative dengan posisi elemen

yang lain tanpa aturan sesuai orientasi (horizontal atau vertical) seperti yang diterapkan pada

Linear Layout. Ada 4 dasar relative layout yaitu :

Di bawah (below)

Di atas (above)

Samping kiri (toLeftOf)

Samping kanan (toRightOf)

alignTop/alignBottom

alignParentTop/alignParentBottom

2.2 PRAKTIKUM

a. Pada Project Window klik app > res > layout folder, klik kanan pada layout folder lalu

pilih > new layout resource file. Isi nama file name “activity_main2”, lalu klik OK.

b. Switch Design Tab (8) pada file yang terbuka.

c. Lakukan hal yang sama untuk menambahkan komponen pada layar design hingga

menampilkan tampilan sebagai berikut

Page 20: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

d. Klik Text tab untuk masuk ke kode view pada layout, kemudian lengkapi halaman

tersebut dengan sintaks berikut ini.

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp">

<EditText android:layout_width="0dp" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="To" android:layout_below="@id/editText3" android:id="@+id/editText4" android:layout_alignParentLeft="true" android:layout_toLeftOf="@+id/editText5" />

<Button android:text="Button" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_below="@id/editText5" android:layout_alignParentRight="true" android:id="@+id/button2" />

<EditText android:layout_width="96dp" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="Subject" android:id="@+id/editText5" android:layout_below="@+id/editText3" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" />

<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="Message" android:id="@+id/editText3" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /></RelativeLayout>

Page 21: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

Table Layout

Layout yang digunakan untuk membangun user interface (tampilan antar muka) aplikasi android

dengan berdasarkan Baris dan Kolom.

2.3 PRAKTIKUM

a. Pada Project Window klik app > res > layout folder, klik kanan pada layout folder lalu

pilih > new layout resource file. Isi nama file name “activity_main3”, lalu klik OK.

b. Switch Design Tab (8) pada file yang terbuka.

c. Pada pallete window (2), pilih komponen Textview sebanyak 3 kali, EditText sebanyak 2

kali, dan Button sebanyak 1 kali, kemudian drag and drop ketiga komponen tersebut pada

layar design mode hingga menghasilkan tampilan seperti gambar dibawah ini.

d. Klik Text tab untuk masuk ke kode view pada layout, kemudian lengkapi halaman tersebut dengan sintaks berikut ini.

Page 22: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">

<TableRow android:paddingTop="10px" android:gravity="center" android:layout_marginTop="20px">

<TextView android:text="LOGIN" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView3" android:layout_gravity="center" android:layout_span="2" android:textColor="#890000" android:textSize="25sp" android:textStyle="bold" /> </TableRow>

<TableRow android:layout_width="match_parent" android:layout_height="match_parent">

<TextView android:text="Username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView4" android:textSize="20sp" android:layout_marginLeft="20dip"/> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="" android:ems="10" android:id="@+id/editText6" />

</TableRow>

<TableRow android:layout_width="match_parent" android:layout_height="match_parent">

<TextView android:text="Password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textView5" android:textSize="20sp" android:layout_marginLeft="20dip"/> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="" android:ems="10" android:id="@+id/editText7" />

</TableRow>

Page 23: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

TUGAS!

1. Buatlah design layout dari company profile berikut. Anda bisa menyesuaikan dan memilih tampilan layout yang telah dipelajari sebelumnya!

<TableRow android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:layout_marginTop="20dip"> <Button android:text="Submit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button3" />

</TableRow>

</TableLayout>

Page 24: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

BAB 3

EVENT HANDLING

Seperti halnya bahasa Object Oriented Programming lainnya, setiap object selalu berkaitan

dengan atributnya. Salah satu atribut yang penting dalam sebuah object adalah ‘event’. Event

merupakan sekumpulan prosedur yang akan dilakukan oleh objek yang dipicu oleh aksi oleh

user. Kita telah mengenal beberapa objek atau komponen dalam android studio sebagai view

yaitu seperti button,textview, combo box, checkbox, dll.

Pada objek ‘Button’, event yang menjadi default adalah onClick, yaitu event yang ditrigger jika

user menekan tombol atau button tersebut. Pada android studio yang menggunakan bahasa java,

ada 2 macam penanganan terhadap event onClick ini.

1. Melalui Event Listener

Beberapa method yang ada pada event listener diantaranya adalah :

onClick( ); dipanggil ketika user menyentuh item atau fokus pada item tertentu.

onLongClick( ); dipanggil ketika user menyentuh dan menahan item saat dimode sentuh.

onKey( ); dipanggil ketika user fokus pada item dan menekan atau melepas key pada

perangkat keras.

onTouch( ); dipanggil ketika user melakukan satu aksi meliputi tekan, lepas atau

pergerakan lainnya pada layar

Dengan menggunakan method ‘setOnClickListener’ pada sebuah object button, maka event

onclick sudah dapat didefinisikan berikut dengan event handlernya.

Pendefinisan event listener diatas sebaiknya dideklarasikan di event ‘onCreate’ milik Activity

utama aplikasi agar di-load saat aplikasi mulai berjalan.

2. Dengan mendefinisikan property onClick dari object Button tersebut.

Jika metode ini digunakan, maka anda harus mendefinisikan property onClick ini di file

layout yang berekstensi .xml (activity_main.xml) di folder /res/layout.

Button button1=(Button) findViewById (R.id.button1); button1.setOnClickListener(new View.OnClickListener() {  @Override public void onClick(View view) { TextView teks = (TextView) findViewById (R.id.textView1); teks.setText("event ini dipicu dr event listener"); } });

Page 25: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

android:onClick=”propertionclick”.

Selanjutnya definisikan event handler untuk property onClick tersebut di program utama

dalam file java di folder /src (MainActivity.java) sebagai berikut:

3.1 PRAKTIKUM

a. Buka project layout pertama berisi tampilan pengiriman email yang sudah anda buat pada

praktikum sebelumnya.

b. Pada Project Window klik app > java > namespace pertama, lalu pilih >

MainActivity.java file. kemudian lengkapi file java tersebut dengan sintaks berikut ini

menggunakan cara yang pertama.

Sesuaikan nama id pada sintaks berikut dengan nama id komponen yang ada pada project

kalian.

public void propertionclick (View v) {   TextView teks=(TextView) findViewById (R.id.textView1);   teks.setText("event ini dipicu dr properti onClick");   }

public class MainActivity extends AppCompatActivity {

Button kirim; EditText pesan,kepada,subjek;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

kirim = (Button) findViewById(R.id.button2); pesan = (EditText) findViewById(R.id.editText3); kepada = (EditText) findViewById(R.id.editText4); subjek = (EditText) findViewById(R.id.editText5);

kirim.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {

String psn = pesan.getText().toString(); String kpd = kepada.getText().toString(); String sbj = subjek.getText().toString();

if ((TextUtils.isEmpty(psn)) || (TextUtils.isEmpty(kpd)) || (TextUtils.isEmpty(sbj))){

Toast.makeText(MainActivity.this, "Tidak boleh kosong", Toast.LENGTH_SHORT).show(); } else{

Toast.makeText(MainActivity.this,"Berhasil diproses", Toast.LENGTH_SHORT).show(); } } }); }}

Page 26: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

c. Coba terapkan cara penanganan event handling yang ke-2 pada project tersebut.

3.2 PRAKTIKUM

a. Pada Project Window klik app > res > layout folder, buka file activity_main.xml

b. Switch Design Tab (8) pada file yang terbuka.

c. Tambahkan komponen checkbox pada layout sebanyak 2 kali. Kemudian beri label

“penting” pada checkbox pertama, dan label “sangat penting” pada checkbox kedua.

d. Pada Project Window klik app > java > namespace pertama, lalu pilih >

MainActivity.java file. kemudian lengkapi file java tersebut dengan sintaks berikut

public class MainActivity extends AppCompatActivity {

Button kirim; EditText pesan; EditText kepada; EditText subjek; CheckBox ptg, sgtptg;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

kirim = (Button) findViewById(R.id.button2); pesan = (EditText) findViewById(R.id.editText3); kepada = (EditText) findViewById(R.id.editText4); subjek = (EditText) findViewById(R.id.editText5); ptg = (CheckBox) findViewById(R.id.checkBox); sgtptg = (CheckBox) findViewById(R.id.checkBox2);

kirim.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {

String psn = pesan.getText().toString(); String kpd = kepada.getText().toString(); String sbj = subjek.getText().toString(); if ((TextUtils.isEmpty(psn)) || (TextUtils.isEmpty(kpd)) || (TextUtils.isEmpty(sbj))){

Toast.makeText(MainActivity.this, "Tidak boleh kosong", Toast.LENGTH_SHORT).show(); } else if(ptg.isChecked()) {

Toast.makeText(MainActivity.this, "Berhasil pesan ini penting", Toast.LENGTH_SHORT).show();

}

Page 27: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

TUGAS

1. Buatlah project baru pada android studio. Masukkan komponen combobox sebanyak dua kali,

komponen button dan komponen textview sebanyak satu kali. Berikan label nama kota pada

komponen combobox.

2. Terapkan event handling pada project anda untuk menampilkan pilihan kota pada textview

dengan cara pertama dan cara kedua!

else if(sgtptg.isChecked()) { Toast.makeText(MainActivity.this, "Berhasil pesan ini sangat penting", Toast.LENGTH_SHORT).show(); } else{

Toast.makeText(MainActivity.this, "Pilihan salah", Toast.LENGTH_SHORT).show(); }

} });

}}

Page 28: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

BAB 4

INTENT

Intent adalah mekanisme untuk melakukan sebuah aksi dan komunikasi antar komponen aplikasi

pada platform Android. Atau dapat juga dijelaskan sebagai sebuah object yang memungkinkan

kita untuk dapat berkomunikasi antara Activity satu dengan Activity lainnya. Ada beberapa

penggunaan umum Intent dalam aplikasi Android yaitu :

1. Memindahkan satu Activity ke Activity lain dengan atau tidak membawa data.

2. Menjalankan background Service, misal melakukan sinkronisasi ke server dan

menjalankan proses berulang (Periodic / Scheduler Task).

Intent memiliki dua bentuk, yaitu :

1. Explicit Intent, adalah tipe intent yang digunakan untuk menjalankan komponen aplikasi

dengan tahu detail dari nama kelas yang dituju misal: com.praktik.activity.DetailActivity.

Umumnya intent ini digunakan untuk mengaktifkan komponen pada aplikasi yang sama.

2. Implicit Intent, adalah tipe intent yang tidak memerlukan detail nama kelas yang ingin

diaktifkan. Ini memungkinkan komponen dari aplikasi lain bisa merespon request intent yang

dijalankan. Penggunaan tipe intent ini umumnya diperuntukkan guna menjalankan fitur / fungsi

dari komponen aplikasi lain. Contohnya, ketika kita membutuhkan aplikasi kita untuk

mengambil foto, daripada kita harus membuat sendiri fungsi kamera lebih baik kita menyerahkan

proses tersebut pada aplikasi kamera bawaan dari device atau aplikasi kamera lain yang telah

terinstal sebelumnya pada device. Atau jika kita membutuhkan fungsi berbagi konten, kita dapat

memanfaatkan intent untuk menampilkan mana saja aplikasi yang bisa menawarkan fungsi

berbagi (share) konten.

Secara umum, perintah yang digunakan untuk menjalankan fungsi “intent” adalah sebagai

berikut:

Intent pindah = new Intent(MainActivity.this, Main2Activity.class);

startActivity(pindah);

Page 29: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

PRAKTIKUM dan TUGAS

1. Buatlah project baru pada Android Studio, dengan memilih Start a new Android Studio

Project seperti Gambar berikut.

2. Pilih template Empty Activity pada project anda, seperti Gambar berikut:

3. Isian identitas diabaikan sesuai penamaan identitas secara default, kemudan klik Finish:

Page 30: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

4. Anda akan diantarkan pada Window IDE Android Studio, seperti Gambar berikut.

5. Praktikan membuat Activity baru dengan cara pilih Tab Project (pada window sebelah kiri) >> letakkan kursor pada nama package yang telah dibuat >> klik kanan >> pilih New >> pilih Activity >> pilih Empty Activity, seperti Gambar berikut

1

2

3

4

5

Page 31: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

6. Beri nama activity pada jendela konfigurasi Activity ke dua, seperti gambar berikut dan klik Finish.

7. Secara otomatis layout kedua akan terbentuk dengan nama activity_main2.

Page 32: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

8. Lakukan hal yang sama untuk membuat Activity ke-3 dengan penamaan secara default. Maka anda sekarang memiliki 3 file layout (activity_main.xml) dan 3 file java (MainActivity.java)

9. Buka file layout yang pertama dan atur tampilan layout seperti gambar berikut.

10. Buka file layout yang ke-2 dan atur tampilan layout seperti gambar berikut.

11. Buka file layout yang ke-3 dan atur tampilan layout seperti gambar berikut.

Page 33: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

12. Buka file MainActivity pertama dan isikan kode berikut.

13. Buka file MainActivity ke-2 dan isikan kode berikut.

public class MainActivity extends AppCompatActivity {

Button detail;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

detail = (Button) findViewById(R.id.button2);

detail.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {

Intent pindah = new Intent(MainActivity.this, Main2Activity.class);

startActivity(pindah);

} });

}}

Page 34: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

14. Buka file MainActivity ke-3 dan isikan kode berikut.

public class Main2Activity extends AppCompatActivity {

Button kembali; Button edit; TextView keterangan, web;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2);

kembali = (Button) findViewById(R.id.button2); edit = (Button) findViewById(R.id.button3); keterangan = (TextView) findViewById(R.id.textView2); web = (TextView) findViewById(R.id.textView8);

kembali.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {

Intent balek = new Intent(Main2Activity.this, MainActivity.class);

startActivity(balek); } });

web.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent webb = new Intent(Intent.ACTION_VIEW, Uri.parse(web.getText().toString())); startActivity(webb); } });

edit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent editt = new Intent(Main2Activity.this, Main3Activity.class);

editt.putExtra("KETT2", keterangan.getText()); startActivityForResult(editt,2); } }); }

protected void onActivityResult(int requestCode, int resultCode,Intent data){

super.onActivityResult(requestCode, resultCode, data);

if(requestCode==2){

String kettr = data.getStringExtra("KETT"); keterangan.setText(kettr); } }}

Page 35: industri.itn.ac.id · Web viewProject baru telah selesai dibuat dan akan muncul tampilan sebagai berikut. Disebelah kanan anda adalah workspace dimana activity anda berada dengan

15. Jalankan / Run Project Anda!

public class Main3Activity extends AppCompatActivity {

Button simpan; EditText ktrnya;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3);

simpan = (Button) findViewById(R.id.button4); ktrnya = (EditText) findViewById(R.id.editText);

String ket2 = getIntent().getExtras().getString("KETT2");

ktrnya.setText(ket2);

simpan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {

String kett2 = ktrnya.getText().toString(); Intent lanjut = new Intent(); lanjut.putExtra("KETT",kett2); setResult(2,lanjut); finish(); } }); }}