MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu...

87
MODUL PRAKTIKUM REKAYASA APLIKASI BERGERAK OLEH ASISTEN REKAYASA APLIKASI BERGERAK S1 ILMU KOMPUTER JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG 2017

Transcript of MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu...

Page 1: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

MODUL PRAKTIKUM REKAYASA APLIKASI BERGERAK

OLEH

ASISTEN REKAYASA APLIKASI BERGERAK

S1 ILMU KOMPUTER

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

2017

Page 2: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

1

Pengenalan Android dan Installasi

IDEAndroid Studio

Tujuan Instruksional :

Pokok bahasan ini menjelaskan tentangpengenalan system operasi android dan

installasi IDE

Kompetensi yang Diharapkan :

1. Mahasiswa mampu memahami apa itu OS Android

2. Mahasiswa mampu melakukan installasi IDE Android Studio.

Waktu Pertemuan : 120 menit

Page 3: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

2

Apa itu Android?

Installasi IDE Android Studio

- Instalasi Java Development Kit (JDK)

Download melalui URL :

http://www.oracle.com/technetwork/java/javase/downloads/index.html

- Download Androd Studio

Download melalui URL :

http://developer.android.com/sdk/index.html

Android merupakan sistem operasi yang dikembangkan untuk perangkat

mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

Android Inc. Yang kemudian dibeli oleh Google pada tahun 2005.

Dalam usaha mengembangkan Android, pada tahun 2007 dibentuklah Open

Handset Alliance (OHA), sebuah konsorsium dari beberapa perusahaan,

yaitu Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG,

Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung

Electronics, Sprint Nextel, dan T-Mobile dengan tujuan untuk

mengembangkan standar terbuka untuk perangkat mobile. Pada taanggal 9

Desember 2008, ia diumumkan bahwa 14 anggota baru akan bergabung

Proyek Android, termasuk PacketVideo, ARM Holdings, Atheros

Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony

Ericsson, Toshiba Corp dan Vodafone Group Plc

Page 4: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

3

Setelah selesai men-download, cari file Android Studio instalasi executable

(bernama android-studio-bundle- <version> .exe) di jendela Windows Explorer dan klik dua

kali untuk memulai proses instalasi, klik tombol Yes pada dialog User Account Control jika

muncul - klik pada tombol 'Next'.

Klik tombol 'Next' ketika layar berikutnya (ditampilkan di bawah) akan muncul.

Page 5: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

4

Layar berikutnya (ditampilkan di bawah) adalah perjanjian lisensi. Jika Anda setuju untuk itu,

klik pada tombol "I Agree".

Layar berikutnya (ditampilkan di bawah) adalah pengaturan konfigurasi di mana semua jalur

instalasi yang akan ditampilkan. Mengubahnya jika Anda inginkan dan klik tombol 'Next'

untuk melanjutkan.

Page 6: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

5

Layar berikutnya adalah untuk menciptakan sebuah shourcuts pada start menu - biarkan saja

pengaturan ini default dan klik pada tombol 'Install'.

Instalasi yang sebenarnya dari Android Studio akan mulai - dan tunggu proses instalasi

hingga Completed.

Page 7: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

6

Setelah instalasi telah selesai, maka layar seperti di bawah akan muncul. Klik tombol 'Next'.

Setelah itu masuk kehalaman Finish. Centang Start Android Studio jika kalian ingin memulai

membuka Android Studio untuk pertama kali - Klik tombol Finish.

Page 8: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

7

Pertama kali Android Studio diluncurkan setelah diinstal, dialog akan muncul menyediakan

opsi untuk mengimpor pengaturan dari versi Android Studio sebelumnya. Jika Anda memiliki

pengaturan dari versi sebelumnya dan ingin mengimpor mereka ke dalam instalasi terbaru,

pilih opsi yang sesuai dan lokasi. Atau, menunjukkan bahwa Anda tidak perlu mengimpor

pengaturan sebelumnya.

Jika kalian baru pertama kali menginstal Android Studio sebelumnya. Pilih "I do not have a

previous version of Android Studio or I do not want to import my settings" dan klik

tombol OK untuk melanjutkan.

Dan Anda akan diarahkan kehalaman berikutnya untuk mendownload dan menginstall

komponen Android SDK Tools. Pastikan komputer Anda terhubung dengan

internet. Tunggulah proses download dan menginstall Android SDK tools hingga selesai.

Page 9: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

8

Pengenalan IDE dan Pembuatan

Aplikasi Pertama

Tujuan Instruksional :

Pokok bahasan ini dilakukan untuk mengenalkan praktikan tentang IDE dan

membimbing dalam pembuatan aplikasi android dasar.

Kompetensi yang Diharapkan :

Mahasiswa diharapkan dapat memahami tentang IDE dan dapat membuat aplikasi

pertama di android.

Waktu Pertemuan : 120 menit

Page 10: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

9

1. IDE

IDE merupakan singkatan dari Integrated Development Environment yang merupakan

Lembar Kerja Terpadu untuk pengembangan program. Adapun kegunaan IDE tersebut

adalah:

1. Menulis Naskah Program

2. Mengkompilasi Program(Compile)

3. Melakukan Pengujian Program(Debugging)

4. Mengaitkan Object dan Library ke Program(Linking)

5. Menjalankan Program(Running)

Eclipse adalah IDE yg paling populer untuk pengembangan Android, karena memiliki

Android plug-in yg tersedia untuk memfasilitasi pengembangan android. Eclipse juga

mendapat dukungan langsung dari Google untuk menjadi IDE pengembangan aplikasi

Android (adanya penambahan plug-in untuk eclipse untuk membuat project android di

mana source software langsung dari situs resminya Google). IDE lainnya adalah Netbeans,

Android Studio, Basic4Android, dan masih banyak lagi.

Aplikasi android dapat dikembangkan pada OS berikut:

- Windows XP Vista/7/8/10

- Mac OS X (Mac OS X 10.4.8 atau lebih baru)

- Linux

2. Membuat Aplikasi Pertama di Android

A. Alat dan Bahan:

1. Komputer dengan sistem operasi minimal Windows XP

2. Program aplikasi Eclipse atau Android Studio

3. Modul Praktikum Rekayasa Aplikasi Bergerak

Page 11: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

10

B. Langkah

1. Buka Aplikasi Eclipse

Maka akan muncul Workspace Launcher untuk menentukan folder yang digunakan

untukmenyimpan project-project Eclipse nantinya, simpan pada folder :

Ketik : home/”npm_anda” → OK

2. Lalu buat project baru :

Click File → New → Android Application Project

3. Masukkan Nama Aplikasi, Nama Project, dan Nama Package Aplikasi yang akan

dibuat

Page 12: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

11

4. Mengkonfigurasi Project yang akan dibuat

5. Mengkonfigurasi Icon yang akan digunakan untuk Aplikasi

6. Membuat Activity pada Project : - Pilih Blank Activity

Page 13: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

12

7. Masukkan Nama untuk Activity utama yang akan dibuat, Setelah itu Click Finish

8. Aplikasi Android Baru telah dibuat

Page 14: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

13

MainActivity.java → Digunakan untuk proses pada aplikasi

Activity_main.xml → Membuat tampilan antarmuka (Graphical User Interface)

9

. Membuka Android pada VirtualBox

- Buka VirtualBox → Jalankan Android

Page 15: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

14

-

L

i

h

a

t

A

l

a

m

at IP dari Android VirtualBox untuk dihubungkan dengan eclipse

- Android Pada VirtualBox

10. Menghubungkan PC/Computer dengan Android VirtualBox

- Buka Terminal/CommandPrompt

Page 16: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

15

- Ketik adb connect <<IP address dari Android VirtualBox>>

- default : adb connect 192.168.56.101

11. Menjalankan Aplikasi

- Klik Kanan Pada Project (NewProject)

- Klik Run As → Android Application

-Pilih Device (Nama Android VirtualBox)

Page 17: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

16

-Android VirtualBox Menjalankan Aplikasi

Page 18: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

17

Pengenalan Macam – macam Widget

Android

Tujuan Instruksional :

Pokok bahasan ini menjelaskan tentang pengenalan widget-widget yang ada di

android.

Kompetensi yang Diharapkan :

1. Mahasiswa mampu memahami widget-widget yang ada di android.

2. Mahasiswa mampu membuat aplikasi sederhana menggunakan widget-widget yang

ada.

Waktu Pertemuan : 120 menit

Page 19: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

18

� TextView

Sebuah TextView menampilkan teks ke pengguna. Sebuah TextView adalah editor teks

lengkap, namun kelas dasar dikonfigurasi untuk tidak mengizinkan pengeditan seperti

EditText.

Contoh:

� EditText

EditText seperti TextView yang memiliki kemampuan untuk di edit.

Contoh:

<TextView android:id="@+id/text_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:capitalize="characters" android:text="@string/hello_world"/>

<EditText android:id="@+id/edittext" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button" android:layout_below="@+id/textView1" android:layout_marginTop="61dp" android:ems="10" android:text="@string/enter_text"android:inputType="text"/>

Page 20: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

19

� Button

Tombol yang dapat ditekan, atau diklik, oleh pengguna untuk melakukan suatu tindakan.

Contoh:

� ImageButton

Tombol yang menampilkan gambar yang memiliki fungsi yang sama dengan Button.

Contoh:

� CheckBox

Merupakan kotak yang dapat di on dan off kan oleh pengguna.

<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/edittext3" android:layout_marginTop="35dp" android:text="@string/click_button"/>

<ImageButton android:id="@+id/imageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginRight="35dp" android:layout_marginTop="32dp" android:contentDescription= "@string/android_launcher_image" android:src="@drawable/ic_launcher"/>

Page 21: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

20

Contoh:

� RadioButton

Seperti CheckBox namun berbentuk lingkaran dan hanya bisa di pilih salah satu dari

beberapa pilihan.

Contoh:

<CheckBox android:id="@+id/checkBox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="88dp" android:text="@string/check_one"/>

<RadioButton android:id="@+id/radio0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="@string/website_radio0"/>

Page 22: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

21

T U G A S!

Buatlah Aplikasi sederhana berdasarkan widget-widget yang sudah di

pelajari.

Page 23: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

22

Pengenalan Macam-macam Layout

pada Android

Tujuan Instruksional :

Pokok bahasan ini menjelaskan tentang pengenalan layout yang ada di android.

Kompetensi yang Diharapkan :

1. Mahasiswa mampu memahami layout yang ada di android.

2. Mahasiswa mampu membuat aplikasi sederhana menggunakan layout yang ada.

Waktu Pertemuan : 120 menit

Page 24: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

23

File .xml dapat dibuat dengan 2 cara :

Atau

Ada 3 macam layout(dari 6 macam) yang secara luas digunakan. Layout-layout tersebut

adalah :

1. Linear Layout

Adalah jenis layout yang mengatur child element (contoh : TextView, Button, CheckBox,

dll) ke dalam suatu baris horizontal ataupun vertikal. Untuk mengatur direction dari Linear

Layout ini sendiri bisa mengedit pada atribut android:orientation.

Untuk lebih jelasnya sebagai contoh:

Misal kita mempunyai suatu text view dengan nama TextView1 dan TextView2

Ketika kita menuliskan kode XML nya kita tulis berurutan TextView1 ditulis pertama dan

TextView2 setelahnya. Jika kita menggunakan android:orientation="vertical" maka

TextView1 akan berada di atas karena ditulis pertama dan TextView2 berada di bawah

TextView1 karena ditulis kedua.

Sedangkan jika kita menggunakan android:orientation="horizontal" maka TextView 1

akan berada di sebelah kiri dan TextView2 akan berada di sebelah kanan.

Layout sendiri memiliki suatu atribut "weight" yang mempengaruhi size atau besar dari

element child yang ada di dalamnya terhadap layar dari suatu device.

Buka Eclipse kamu

Create File -> New -> Android Application Project

Klik kanan di folder res/layout -> New -> Android

XML File

Buat .txt di folder res/layout

Rename file .txt menjadi .xml

Page 25: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

24

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity">

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/hello_world"/>

<Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/click" />

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world"/>

<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/click" />

</LinearLayout>

</LinearLayout>

Tampilan yang terjadi setelah kode di eksekusi

Page 26: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

25

2. Relative Layout

Relative Layout memiliki karakteristik menempatkan view secara relatif. Posisi dari setiap

view bergantung kepada view yang lain. Mudahnya adalah, programmer memiliki

kebebasan untuk menempatkan view yang diinginkan. Penempatan satu view dapat berupa

di sisi kanan, kiri, atas, ataupun bawah dari view lain. Jika tidak di tetapkan di sisi mana

view akan berada, maka dapat terjadi penumpukan antara satu view dengan view yang

lain.

1

2

3

4

5

6

7

8

9

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<TextView

Page 27: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

26

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" android:layout_alignParentLeft="true" android:id="@+id/tv1" />

<Button android:layout_width="wrap_content" android:layout_height="wrap_content"

android:text="@string/click" android:layout_toRightOf="@id/tv1" />

<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/click2" android:layout_alignParentBottom="true" /> </RelativeLayout>

Tampilan yang terjadi setelah kode di eksekusi

Page 28: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

27

Pengenalan Macam-macam Layout

pada Android

3. Table Layout

Table Layout memiliki karakteristik yang mirip dengan pembuatan layout di HTML. Jika

anda familiar dengan pemprograman web berjenis html, <table> dan <TableLayout />

adalah 2 hal yang hampir sama. TableLayout mengatur tampilan berdasarkan kolom dan

baris. Dan jangan lupa untuk selalu menambahkan tag <TableRow /> jika ingin membuat

baris baru dalam layout.

1

2

3

4

5

6

7

8

9

1

0

1

1

1

2

1

3

1

4

1

5

1

6

1

7

1

8

1

9

2

0

2

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff"

android:shrinkColumns="*" android:stretchColumns="*" >

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

android:textSize="18sp"android:text="@string/hello_world" android:layout_span="3" android:padding="18dip"android:background="#b0b0b0" android:textColor="#000"/> </TableRow>

<TableRow android:id="@+id/tableRow1" android:layout_height="wrap_content" android:layout_width="match_parent"> <TextView android:id="@+id/tv1"android:text="@string/hello_world" android:layout_weight="1"android:background="#dcdcdc" android:textColor="#000000" android:padding="20dip"android:gravity="center"/> <Button android:id="@+id/but1"android:text="@string/click" android:layout_weight="1"android:background="#d3d3d3" android:textColor="#000000" android:padding="20dip"android:gravity="center"/>

Page 29: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

28

1

2

2

2

3

2

4

2

5

2

6

2

7

2

8

2

9

3

0

3

1

3

2

3

3

3

4

3

5

3

6

3

7

3

8

</TableRow>

</TableLayout>

Tampilan yang terjadi setelah kode di eksekusi

Page 30: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

29

4. GridView

GridView merupakan serangkaian item-item atau daftar yang tersusun secara vertikal

dan horizontal yang dapat ditampilkan secara keseluruhan seperti bentuk kotak. Adapun

contoh nya seperti Kalender yang anda pakai. Nah didalam GridView ini diisi

menggunakan Array ataupun Query Database, sama layaknya dengan ListView. GridView

ini banyak dipakai saat kita membuat sebuah project dengan daftar seperti kotak-kotak.

Pasti anda tahu bagaimana bentuknya. Pada Tutorial kali ini kita akan membuat sebuah

masih mengenai daftar bulan dalam bentuk GridView.

Buatlah komponen GridView. GridView terdapat dalam Container. Untuk membuatnya

dapat dilakukan dengan “Drag and Drop” dari komponen yang tersedia atau langsung

menuliskan script XML.Untuk script XML dapat dituliskan seperti berikut.

Page 31: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

30

01

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

02

xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"

03

android:layout_height="match_parent"android:paddingLeft="@dimen/activity_horizontal_margin"

04

android:paddingRight="@dimen/activity_horizontal_margin"

05

android:paddingTop="@dimen/activity_vertical_margin"

06

android:paddingBottom="@dimen/activity_vertical_margin"tools:context=".MainActivity">

07

08 <TextView

09 android:id="@+id/txtJudul"

10 android:layout_width="wrap_content"

11 android:layout_height="wrap_content"

12 android:text="Daftar Bulan"

13 android:textSize="30sp"/>

14

15 <GridView

16 android:id="@+id/gridView1"

17 android:layout_width="fill_parent"

18 android:layout_height="fill_parent"

19 android:layout_alignParentRight="true"

20 android:layout_below="@+id/txtJudul"

21 android:layout_marginTop="50dp"

22 android:columnWidth="100dp"

23 android:horizontalSpacing="20dp"

24 android:numColumns="auto_fit"

25 android:stretchMode="columnWidth"

26 android:verticalSpacing="40dp">

27 </GridView>

28

29 </RelativeLayout>

Langkah 4 : Bukalah MainActivity.java lalu edit seperti berikut ini

01 package com.androidnajwa.gridview;

02

03 import android.app.Activity;

04 import android.os.Bundle;

05 import android.widget.ArrayAdapter;

06 import android.widget.GridView;

07

08 publicclass MainActivity extends Activity {

Page 32: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

31

09 private String[] bulan = {"Januari","Februari","Maret",

10 "April","Mei","Juni","Juli",

11 "Agustus","September","Oktober",

12 "Nopember","Desember"};

13

14 private GridView grid1;

15

16 private ArrayAdapter<String> adapter;

17

18 @Override

19 protected void onCreate(Bundle savedInstanceState) {

20 super.onCreate(savedInstanceState);

21 setContentView(R.layout.activity_main);

22

23 grid1 = (GridView) findViewById(R.id.gridView1);

24

25 //membuat adapter agar item bulan menempel pada gridview

26 adapter = new ArrayAdapter<String>(MainActivity.this,

27 android.R.layout.simple_list_item_1,

28 bulan);

29 //menerapkan adapter pada objek grid1

30 grid1.setAdapter(adapter);

31

32 //penggunaan listenernya mirip dengan listener pada listview

33 }

34

35 }

Sampai tahap disini sudah selesai. Sekarang lakukan testing, dengan cara

menekan Shift+F10.

Page 33: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

32

Page 34: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

33

Pengenalan Macam-macam Layout

pada Android

5. TabLayout

TabLayout adalah salah satu elemen utama dan paling sering digunakan sebagai menu

navigasi pada aplikasi Android. Biasanya TabLayout dikombinasikan dengan Fragment,

Fragment tersebut akan berganti sesuai dengan menu Tab yang diklik. Namun kali ini kita

hanya akan membahas tentang implementasi TabLayout-nya saja, tidak sampai ke bagian

TabLayout dan Fragment. Lain kali saja kita bahas soal itu

Membuat Material TabLayout menggunakan Android Support Library

Sebelum kita memulai belajar untuk membuat TabLayout pada Android, ada beberapa

pre-requisites yang sebaiknya kalian pelajari terlebih dahulu :

Pre-requisites

• Mengenal Android Material Design

• Membuat Project Hello World dengan Android Studio

• Membuat Color Resources untuk Material Design Theme

Setelah membuat project baru pada Android Studio, kalian harus mengimpor beberapa

dependencies seperti berikut :

1

2

3

4

5

6

dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:design:22.2.0' compile 'com.android.support:support-v4:22.2.0' }

Kemudian, yang perlu kita buat pertama-tama adalah sebuah layout xml yang mempunyai

elemen TabLayout di dalamnya, contohnya seperti layout activity_tab.xml di bawah ini :

01

02

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coor_Layout"

Page 35: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

34

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/ic_bg_tab">

<!-- rest of code -->

<android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_below="@id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/twoh_primary" android:scrollbars="horizontal" app:tabGravity="center" app:tabMode="scrollable"/>

<!-- rest of code -->

</RelativeLayout>

Berikutnya, pada file Activity di java kita bisa memanggil elemen TabLayout pada xml

dengan cara seperti saat kita memanggil elemen layout lainnya :

0

1

0

2

0

3

0

4

0

5

0

6

0

7

0

8

0

9

1

0

1

1

1

2

1

packageid.web.twoh.coolandroiddesign;

importandroid.os.Bundle; importandroid.support.design.widget.TabLayout; importandroid.support.v7.app.ActionBar; importandroid.support.v7.app.AppCompatActivity; importandroid.support.v7.widget.Toolbar;

/** * Created by Hafizh Herdi on 8/3/2015 www.twoh.co */ publicclassTabLayoutActivity extendsAppCompatActivity{

privateTabLayout tabLayout;

@Override protectedvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_tab);

// rest of code

tabLayout = (TabLayout) findViewById(R.id.tabLayout); tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER); tabLayout.addTab(tabLayout.newTab().setText("Home")); tabLayout.addTab(tabLayout.newTab().setText("Profile")); tabLayout.addTab(tabLayout.newTab().setText("Settings")); tabLayout.addTab(tabLayout.newTab().setText("More")); tabLayout.addTab(tabLayout.newTab().setText("About"));

Page 36: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

35

3

1

4

1

5

1

6

1

7

1

8

1

9

2

0

2

1

2

2

2

3

2

4

2

5

2

6

2

7

2

8

2

9

3

0

3

1

3

2

3

3

3

4

3

5

3

6

3

7

3

tabLayout.addTab(tabLayout.newTab().setText("Help")); tabLayout.addTab(tabLayout.newTab().setText("Friends"));

tabLayout.setOnTabSelectedListener(newTabLayout.OnTabSelectedListener() { @Override publicvoidonTabSelected(TabLayout.Tab tab) { tab.getPosition(); tab.getText(); }

@Override publicvoidonTabUnselected(TabLayout.Tab tab) {

}

@Override publicvoidonTabReselected(TabLayout.Tab tab) {

} }); } // rest of code }

Page 37: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

36

8

3

9

4

0

4

1

Pada kode di atas kita bisa lihat betapa mudahnya untuk menambahkan tab baru pada

TabLayout, hanya dengan memanggil fungsi addTab() dan kemudian membuat tab baru

dengan memanggil fungsi newTab() pada TabLayout. Hal ini memungkinkan kita untuk

menambahkan tab baru secara programmatically, ataupun saat aplikasi berjalan.

Kemudian untuk mendeteksi saat suatu tab diselect (diklik) kita bisa mengeset

onTabSelectedListener() yang akan memberikan callback ketika suatu tab diklik. Kita bisa

mengetahui tab mana yang diklik dengan memanggil tab.getPosition() untuk

mendapatkan posisi tab mana yang diklik atau tab.getText() untuk mendapatkan text title dari

tab yang terpilih tersebut. Dari situ kita bisa menentukan mana fragment atau layout yang

akan ditampilkan berdasarkan tab yang kita pilih.

Sedangkan untuk element TabLayout pada xml ada beberapa atribut tambahan yang bisa kita

set, seperti

app:tabGravity="center" app:tabMode="scrollable"

tabGravity berfungsi untuk mengeset tata letak posisi dari TabLayout tersebut, dengan

memberikan value center maka kita mengeset posisi TabLayout tersebut rata tengah.

Kemudian tabMode berfungsi untuk mengatur apakah TabLayout tersebut fixed

atau scrollable, apabila kita memilih scrollable maka apabila jumlah tab membuat ukuran tab

melebihi lebar layar maka tab akan bisa discroll secara horizontal. Fixed akan membuat

ukuran tab selalu sesuai layar berapapun jumlah tab yang ada pada TabLayout.

Demo

Ketika dijalankan, maka inilah hasil dari TabLayout yang telah kita buat :

Page 38: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

37

7. ListView

ListView dikatakan sederhana atau komplek ditentukan oleh kompleksitas item dari

ListView tersebut. Jika masing-masing item dari ListView menampilkan sebuah kata atau

kalimat saja, maka ListView tersebut sederhana. Jika masing-masing item dari ListView

memiliki isi yang komplek seperti item dari sebuah status jejaring sosial dimana pada

masing-masing item memiliki foto profil, nama, waktu, status dan komentar, maka

ListView tersebut adalah ListView komplek. Pembuatan ListView komplek dilakukan

dengan Custom ListView.

Page 39: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

38

Untuk membuat ListView sederhana, kita buat terlebih dahulu file layout.xml pada folder

layout. Copy-paste code di bawah ini pada file tersebut.

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

Kemudian kita buat class MainActivity (class ini biasanya sudah dibuat otomatis pada

project). Hapus isi class tersebut kemudian copy-paste code di bawah ini pada class

tersebut.

import android.os.Bundle; import android.app.Activity; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); String[] arrName = {"Samsung","Sony","Apple","LG","Motorola", "HTC","Acer","Lenovo","Oppo","Nokia","BlackBerry","Huawei", "ZTE","Meizu","HP","Asus","Panasonic"}; ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, arrName); ListView listView = (ListView) findViewById(R.id.id_list); listView.setAdapter(adapter); } }

Array String[] arrName merupakan kumpulan data String yang akan ditampilkan pada

ListView. Array ini dimasukkan ke dalam object dari ArrayAdapter yang bernama adapter.

Adapter ini merupakan adapter sederhana yang hanya menampilkan sebuah TextView

pada item ListView. Code ListView listView = (ListView) findViewById(R.id.

id_list); membuat object dari class ListView dengan menginisiasi object tersebut

Page 40: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

39

dengan ListView yang kita buat pada file layout.xml. Jalankan project, maka ListView

tampil seperti berikut ini.

Page 41: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

40

Event Handling

Tujuan Instruksional :

Pokok bahasan ini menjelaskan tentang bagaimana mengatur perintah pada saat event.

Misal saat clik, drag dll

Kompetensi yang Diharapkan :

Mahasiswa diharapkan dapat membuat aplikasi android yang telah menggunakan

event handling

Waktu Pertemuan : 120 menit

Page 42: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

41

1. Buat projek baru dengan nama myaplication, lalu

2. Buat file MainActivity.java

1. package com.example.myapplication;

2.

3. publicclassMainActivityextendsActionBarActivity{

4. privateProgressDialog progress;

5. Button b1,b2;

6.

7. @Override

8. protectedvoid onCreate(Bundle savedInstanceState){

9. super.onCreate(savedInstanceState);

10. setContentView(R.layout.activity_main);

11. progress =newProgressDialog(this);

12.

13. b1=(Button)findViewById(R.id.button);

14. b2=(Button)findViewById(R.id.button2);

15. b1.setOnClickListener(newView.OnClickListener(){

16. @Override

17. publicvoid onClick(View v){

18. TextView txtView =(TextView) findViewById(R.id.textView);

19. txtView.setTextSize(25);

20. }

21. });

22.

23. b2.setOnClickListener(newView.OnClickListener(){

24. @Override

25. publicvoid onClick(View v){

26. TextView txtView =(TextView) findViewById(R.id.textView);

27. txtView.setTextSize(55);

28. }

29. });

30. }

31.

32. @Override

33. publicboolean onCreateOptionsMenu(Menu menu){

34. // Inflate the menu; this adds items to the action bar if it is present.

35. getMenuInflater().inflate(R.menu.menu_main, menu);

36. returntrue;

37. }

38.

39. @Override

40. publicboolean onOptionsItemSelected(MenuItem item){

41. // Handle action bar item clicks here. The action bar will

42. // automatically handle clicks on the Home/Up button, so long

43. // as you specify a parent activity in AndroidManifest.xml.

44.

45. int id = item.getItemId();

46.

47. //noinspection SimplifiableIfStatement

48. if(id == R.id.action_settings){

49. returntrue;

50. }

51. returnsuper.onOptionsItemSelected(item);

52. }

53. }

Page 43: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

42

3. Buat file res/layout/activity_main.xml

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity">

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Event Handling "

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true"

android:textSize="30dp"/>

<TextView

android:id="@+id/textView2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Tutorials point "

android:textColor="#ff87ff09"

android:textSize="30dp"

android:layout_above="@+id/imageButton"

android:layout_centerHorizontal="true"

android:layout_marginBottom="40dp"/>

<ImageButton

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/imageButton"

Page 44: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

43

android:src="@drawable/abc"

android:layout_centerVertical="true"

android:layout_centerHorizontal="true"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Small font"

android:id="@+id/button"

android:layout_below="@+id/imageButton"

android:layout_centerHorizontal="true"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Large Font"

android:id="@+id/button2"

android:layout_below="@+id/button"

android:layout_alignRight="@+id/button"

android:layout_alignEnd="@+id/button"/>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World!"

android:id="@+id/textView"

android:layout_below="@+id/button2"

android:layout_centerHorizontal="true"

android:textSize="25dp"/>

</RelativeLayout>

4. Buat file res/values/strings.xml

Page 45: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

44

<?xml version="1.0" encoding="utf-8"?>

<resources>

<stringname="app_name">myapplication</string>

<stringname="action_settings">Settings</string>

</resources>

5. Buat fileAndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.myapplication"

android:versionCode="1"

android:versionName="1.0">

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="22"/>

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme">

<activity

android:name="com.example.myapplication.MainActivity"

android:label="@string/app_name">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

Page 46: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

45

</application>

</manifest>

Page 47: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

46

Intent dan Activity

Tujuan Instruksional :

Pokok bahasan ini menjelaskan tentang bagaimana membuat sebuah aplikasi yang ada

di android yang bisa berpindah dari satu halaman ke halaman lain, atau biasa disebut

dengan intent.

Kompetensi yang Diharapkan :

Mahasiswa diharapkan dapat memahami bagaimana membuat sebuah aplikasi android

yang tidak hanya menggunakan satu halaman saja, tetapi aplikasi yang bisa berpindah

dari satu halaman ke halaman lainnya.

Waktu Pertemuan : 120 menit

Page 48: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

47

1. Buka Aplikasi Eclipse, kemudian buat sebuah proyek baru. Setelah itu tambahkan layout

baru dengan nama second_main.xml, dan juga tambahkan clas java baru dengan nama

SecondActivity.java . Jadi nantinya kita akan bekerja di keempat class yaitu,

activity_main.xml, second_activity.xml, MainActiviy.java, SecondActivity.java. Ataupun

seperti pada gambar.

Page 49: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

48

2. Buka class activity_main.xml dan tambahkan baris program berikut

3. Selanjutnya buka class second_main.xml dan tambahkan baris program berikut

Page 50: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

49

4. Setelah itu buka class MainActivity.java dan tambahkan baris program berikut

Page 51: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

50

5. Setelah itu buka class SecondActivity.java dan tambahkan baris program berikut

Adapun outputnya yaitu :

Page 52: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

51

Tugas!

Membuat Sebuah Program Android yang bisa berpindah halaman.

Page 53: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

52

Parameter Intent

A. Parameter Intent

Tujuan Instruksional :

Menjelaskan tentang bagaimana menghubungkan dua Activity di Android dengan halaman

lain dengan membawa beberapa pesan(parameter) yang nantinya akan disimpan dalam Intent.

Kompetisi Yang Diharapkan :

Mahasiswa mampu memahami bagaimana membuat sebuah aplikasi android yang tidak

hanya menggunakan satu halaman saja, tetapi aplikasi yang bisa berpindah dari satu halaman

ke halaman lain dengan membawa beberapa pesan(parameter) yang nantinya akan disimpan

dalam intent.

Waktu Pertemuan : 120 Menit.

Page 54: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

53

Buka Aplikasi Eclipse, kemudian buat sebuah proyek baru. Setelah itu tambahkan layout baru

dengan nama activity2.xml, dan juga tambahan class java baru dengan nama Activity.java.

Jadi nanti kita akan bekerja di keempat class yaitu : activity_main.xml, MainActivity.java,

activity2.xml dan Activity2.java.

1. Berikut ini isi dari class Activity_main.xml

2. Berikut ini isi codingan dari class java : MainActivity.java

Page 55: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

54

3. Berikut ini isi codingan dari class java : Activity2.java

4. Berikut ini isi codingan dari class xml : Activity2.xml

Page 56: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

55

Berikut ini adalah tampilan dari running APK :

Page 57: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

56

Custom Intent

Tujuan Instruksional :

Menjelaskan tentang bagaimana menghubungkan dua Activity di Android dengan

halaman lain dengan membawa beberapa pesan(parameter) yang nantinya akan

diterima oleh aplikasi lain.

Kompetisi Yang Diharapkan :

Mahasiswa mampu memahami bagaimana membuat sebuah aplikasi android yang

tidak hanya menggunakan satu halaman saja, tetapi aplikasi yang bisa berpindah dari

satu halaman ke halaman lain dengan membawa beberapa pesan(parameter) yang

nantinya akan diterima oleh aplikasi lain.

Waktu Pertemuan : 120 Menit.

Page 58: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

57

Buka Aplikasi Eclipse, kemudian buat sebuah proyek baru. Tidak ada penambahan layout

baru. Jadi nanti kita akan bekerja di dua class yaitu : activity_main.xml dan

MainActivity.java.

1. Berikut ini isi codingan dari xml : activity_main.xml

Page 59: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

58

2. Berikut ini isi codingan dari java : MainActivity.java

Berikut ini hasil running APK :

Page 60: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

59

Android ListView

Tujuan Instruksional :

Pokok bahasan ini akan dipelajari cara untuk membuat lisview, yaitu view yang

mengelompokan beberapa item dna menampilkan secara vertical dan dapat di scroll.

Kompetensi yang Diharapkan :

1. Mahasiswa mampu memahami proses proses pembuatan listview.

2. Mahasiswa mampu mengimplementasikan listview pada aplikasi yang lebih

advance.

Waktu Pertemuan : 120 menit

Page 61: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

60

Langkah 1 – Membuat Project

Buat sebuah project android baru dengan nama project ListDisplay dan

packagecom.example.ListDisplay

Langkah 2 -ListDisplay.java

Berikut merupakan isi konten main activity

filesrc/com.example.ListDisplay/ListDisplay.java yang telah dimodifikasi :

package com.example.ListDisplay;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.widget.ArrayAdapter;

import android.widget.ListView;

publicclassListDisplayextendsActivity{

// Array of strings...

String[] mobileArray

={"Android","IPhone","WindowsMobile","Blackberry","WebOS","Ubuntu","Windows7"

,"Max OS X"};

@Override

protectedvoid onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ArrayAdapter adapter =newArrayAdapter<String>(this,

R.layout.activity_listview, mobileArray);

ListView listView =(ListView)findViewById(R.id.mobile_list);

listView.setAdapter(adapter);

}

}

Page 62: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

61

Langkah 3 -ListDisplay.java

Berikut merupakan isi konten fileres/layout/activity_main.xml :

Langkah 4 -ListDisplay.java

Berikut merupakan isi konten fileres/values/strings.xmlyang ditambahkan dua konstanta

baru:

Langkah 5 -ListDisplay.java

Berikut merupakan isi konten fileres/layout/activity_listview.xml :

<?xml version="1.0" encoding="utf-8"?>

<!-- Single List Item Design -->

<TextViewxmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/label"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:padding="10dip"

android:textSize="16dip"

android:textStyle="bold">

</TextView>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android

"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context=".ListActivity">

<ListView

android:id="@+id/mobile_list"

android:layout_width="match_parent"

android:layout_height="wrap_content">

</ListView>

</LinearLayout>

<?xml version="1.0" encoding="utf-8"?>

<resources>

<stringname="app_name">ListDisplay</string>

<stringname="action_settings">Settings</string>

</resources>

Page 63: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

62

Langkah 5 –Running

Jalankan aplikasi yang dibuat dan pahami tiap fungsi-fungsinya dna bagaimana proses

tersebut berjalan.

Page 64: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

63

Tugas !

Buat aplikasi sederhana dengan tema masing-masing untuk setiap

praktikan dan implementasikan listview yang telah dipelajari hari ini.

Page 65: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

64

Pembuatan Aplikasi Music Player

Tujuan Instruksional :

Pokok bahasan ini menjelaskan tentang pembuatan aplikasi Music Player pada

Android.

Kompetensi yang Diharapkan :

Mahasiswa diharapkan dapat membuat aplikasi Music Player pada Android dengan

menambahkan dan mengedit sesuai keinginan mahasiswa sendiri.

Waktu Pertemuan : 120 menit

Page 66: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

65

Main Activity.java

package com.example.musicplayer;

import java.util.concurrent.TimeUnit;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.os.Handler;

import android.app.Activity;

import android.view.Menu;

import android.view.View;

import android.widget.ImageButton;

import android.widget.SeekBar;

import android.widget.TextView;

import android.widget.Toast;

publicclass MainActivity extends Activity {

public TextView songName,startTimeField,endTimeField;

private MediaPlayer mediaPlayer;

privatedoublestartTime = 0;

privatedoublefinalTime = 0;

private Handler myHandler = new Handler();

privateintforwardTime = 5000;

privateintbackwardTime = 5000;

private SeekBar seekbar;

private ImageButton playButton,pauseButton;

publicstaticintoneTimeOnly = 0;

@Override

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Page 67: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

66

mediaPlayer = MediaPlayer.create(this, R.raw.alones);

seekbar.setClickable(false);

pauseButton.setEnabled(false);

}

publicvoid play(View view){

Toast.makeText(getApplicationContext(), "Playing sound",

Toast.LENGTH_SHORT).show();

mediaPlayer.start();

finalTime = mediaPlayer.getDuration();

startTime = mediaPlayer.getCurrentPosition();

if(oneTimeOnly == 0){

seekbar.setMax((int) finalTime);

oneTimeOnly = 1;

}

endTimeField.setText(String.format("%d min, %d sec",

TimeUnit.MILLISECONDS.toMinutes((long) finalTime),

TimeUnit.MILLISECONDS.toSeconds((long) finalTime) -

TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.

toMinutes((long) finalTime)))

);

startTimeField.setText(String.format("%d min, %d sec",

TimeUnit.MILLISECONDS.toMinutes((long) startTime),

TimeUnit.MILLISECONDS.toSeconds((long) startTime) -

TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.

toMinutes((long) startTime)))

);

Page 68: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

67

seekbar.setProgress((int)startTime);

myHandler.postDelayed(UpdateSongTime,100);

pauseButton.setEnabled(true);

playButton.setEnabled(false);

}

private Runnable UpdateSongTime = new Runnable() {

publicvoid run() {

startTime = mediaPlayer.getCurrentPosition();

startTimeField.setText(String.format("%d min, %d sec",

TimeUnit.MILLISECONDS.toMinutes((long) startTime),

TimeUnit.MILLISECONDS.toSeconds((long) startTime) -

TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.

toMinutes((long) startTime)))

);

seekbar.setProgress((int)startTime);

myHandler.postDelayed(this, 100);

}

};

publicvoid pause(View view){

Toast.makeText(getApplicationContext(), "Pausing sound",

Toast.LENGTH_SHORT).show();

mediaPlayer.pause();

pauseButton.setEnabled(false);

playButton.setEnabled(true);

}

publicvoid forward(View view){

int temp = (int)startTime;

if((temp+forwardTime)<=finalTime){

Page 69: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

68

startTime = startTime + forwardTime;

mediaPlayer.seekTo((int) startTime);

}

else{

Toast.makeText(getApplicationContext(),

"Cannot jump forward 5 seconds",

Toast.LENGTH_SHORT).show();

}

}

publicvoid rewind(View view){

int temp = (int)startTime;

if((temp-backwardTime)>0){

startTime = startTime - backwardTime;

mediaPlayer.seekTo((int) startTime);

}

else{

Toast.makeText(getApplicationContext(),

"Cannot jump backward 5 seconds",

Toast.LENGTH_SHORT).show();

}

}

@Override

publicboolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

returntrue;

}

Page 70: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

69

activity_main.xml

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".MainActivity">

<ImageButton

android:id="@+id/imageButton1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="285dp"

android:layout_marginLeft="80dp"

android:onClick="play"

android:src="@android:drawable/ic_media_play"/>

<ImageButton

android:id="@+id/imageButton2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="285dp"

android:layout_marginLeft="140dp"

android:onClick="pause"

android:src="@android:drawable/ic_media_pause"/>

Page 71: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

70

<ImageButton

android:id="@+id/imageButton3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="285dp"

android:layout_marginLeft="200dp"

android:onClick="forward"

android:src="@android:drawable/ic_media_ff"/>

<ImageButton

android:id="@+id/imageButton4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="285dp"

android:layout_marginLeft="20dp"

android:onClick="rewind"

android:src="@android:drawable/ic_media_rew"/>

<SeekBar

android:id="@+id/seekBar1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="235dp"/>

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="260dp"

android:layout_marginLeft="200dp"

android:text="@string/inital_Time"

android:textAppearance="?android:attr/textAppearanceSmall"/>

Page 72: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

71

<TextView

android:id="@+id/textView2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="260dp"

android:layout_marginLeft="15dp"

android:text="@string/inital_Time"

android:textAppearance="?android:attr/textAppearanceSmall"/>

<TextView

android:id="@+id/textView3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="40dp"

android:text="Now Playing : "

android:textAppearance="?android:attr/textAppearanceMedium"/>

<TextView

android:id="@+id/textView4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="40dp"

android:layout_marginLeft="130dp"/>

<ImageView

android:id="@+id/imageView1"

android:layout_width="170dp"

android:layout_height="170dp"

android:layout_marginTop="70dp"

android:layout_marginLeft="60dp"

android:src="@drawable/music"/>

Page 73: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

72

MusicPlayer Manifest

<?xmlversion="1.0"encoding="utf-8"?>

<manifestxmlns:android="http://schemas.android.com/apk/res/android"

package="com.example.musicplayer"

android:versionCode="1"

android:versionName="1.0">

<uses-sdk

android:minSdkVersion="16"

android:targetSdkVersion="16"/>

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme">

<activity

android:name=".MainActivity"

android:label="@string/app_name">

<intent-filter>

<actionandroid:name="android.intent.action.MAIN"/>

<categoryandroid:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

</application>

</manifest>

Page 74: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

73

Running program :

Page 75: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

74

JSON Parsing

Tujuan Instruksional :

Pokok bahasan ini menjelaskan tentang ekstraksi data JSON dari internet

Kompetensi yang Diharapkan :

Mahasiswa diharapkan dapat memahami dan mengimplementasikan proses ekstarksi

data JSON dari internet.

Waktu Pertemuan : 120 menit

Page 76: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

75

1. Buatlah class HttpUtils dengan kode berikut

Page 77: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

76

2. Tambahkan kode berikut pada activity_main.xml

Page 78: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

77

3. Tambahkan kode berikut pada MainActivity.java

6. Tambahkan permission berikut pada android manifest

<uses-permission android:name="android.permission.INTERNET" />

Page 79: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

78

Tugas!

Buatlah JSON anda sendiri menggunakan hostingan gratis kemudian

buatlah aplikasi android nya.

Page 80: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

79

Drag and Drop

Tujuan Instruksional :

Pokok bahasan ini menjelaskan tentang Fungsi Drag and Drop pada Android

Kompetensi yang Diharapkan :

Mahasiswa diharapkan dapat mengerti penemparan dan cara menggunakan fungsi

drag and drop yang sudah dijelaskan.

Waktu Pertemuan : 120 menit

Page 81: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

80

1. Menggunakan drag and drop in Android

Untuk menggunakan drag and drop maka dibutuhkan android version 4.0

2. Allowing a view to be dragged

Untuk menggunakan menyeret pandangan Anda mendaftar OnTouchListener atau

LongClickListener pada tampilan yang dapat diseret.

startDrag metode View yang memulai operasi drag. Dalam metode ini Anda juga

menentukan data yang akan diteruskan ke target penurunan melalui sebuah contoh dari

ClipData.

Anda juga lolos ke metode startDrag contoh DragShadowBuilder. Objek ini menentukan

gambar yang digunakan untuk operasi drag. Misalnya Anda dapat lulus dalam pandangan

langsung, yang menunjukkan gambar dari pandangan selama operasi drag.

Setup operasi drag ini dalam pendengar sentuhan ditunjukkan dalam contoh berikut.

3. Defining drop target

Page 82: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

81

Pandangan yang dapat target penurunan mendapatkan contoh dari OnDragListener

ditugaskan. Dalam penurunan pendengar ini Anda menerima panggilan punggung dalam

kasus hambatan yang telah ditetapkan dan peristiwa penurunan terkait.

*DragEvent.ACTION_DRAG_STARTED *DragEvent.ACTION_DRAG_ENTERED *

DragEvent.ACTION_DRAG_EXITED *DragEvent.ACTION_DROP *

DragEvent.ACTION_DRAG_ENDED

Sebuah tampilan dengan OnDragListener yang digunakan sebagai zona degradasi,

mendapat OnDragListener diberikan melalui setOnDragListener tersebut.

3. Exercise: Drag and drop

Page 83: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

82

3.1 Create XML Drawables

In this exercise you are using XML drawables.

In this part you create several XML drawables in the res/drawable folder.

Create the following shape.xml file in this folder.

3.2 Activity and layout

Also create the following shape_droptarget.xml file.

Page 84: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

83

Change the layout of your activity to the following code.

Page 85: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

84

Change your activity class to the following code.

Page 86: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

85

Page 87: MODUL PRAKTIKUM REKAYASA APLIKASI …lab.ilkom.unila.ac.id/modul/semester genap/S1 Ilmu Komputer/Modul... · mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh

86

Hasil Tampilan :