Anda di halaman 1dari 7

LAPORAN PRAKTIKUM

PENGEMBANGAN APLIKASI MOBILE


SEMESTER GENAP 2021/2022

NAMA : TRI ADI


NIM : 205150700111037
KELAS : Pengembangan Aplikasi Mobile – TI A

PROGRAM STUDI TEKNOLOGI INFORMASI


JURUSAN SISTEM INFORMASI
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
MALANG
2022
LAPORAN PRAKTIKUM PENGEMBANGAN APLIKASI MOBILE – TRI ADI– 205150700111037

BAB / MODUL PRAKTIKUM : MODUL 4 – EVENT HANDLER


TANGGAL PRAKTIKUM : 9 Maret 2022

1. Menambahkan asset ke direktori drawable

Pertama menambahkan asset kedalam folder drawable.

2. Membuat layout baru

2
LAPORAN PRAKTIKUM PENGEMBANGAN APLIKASI MOBILE – TRI ADI– 205150700111037

Mr_head_layout.xml

Membuat layout baru yaitu mr_head_layout.xml dengan root layout berupa Constraint
Layout dan menambahkan ImageView sesuai jumlah gambar png. Selain itu juga
menambakan checkbox untuk rambut, alis, kumis dan janggut. Tidak lupa menambahkan id
untuk setiap view.

3. Menambahkan class java baru


public class MrHead extends AppCompatActivity implements View.OnClickListener {
ImageView ivBody, ivHair, ivEyebrow,ivEye, ivMoustache, ivBeard;
CheckBox cbRambut, cbjanggut, cbAlis, cbKumis;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.mr_head_layout);
}
}

Menambahkan class java baru dengan extends AppCompatActivity dan implements


View.OnClickListener. Implement View.OnClickListener ini bertujuan untuk event handling
yang menggunkan konsep View binding setting view dengan setContentView() dan
parameter layout mr_head_layout.

4. Menambahkan event Handler pada setiap checkbox


package com.example.modul3;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

3
LAPORAN PRAKTIKUM PENGEMBANGAN APLIKASI MOBILE – TRI ADI– 205150700111037

import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

public class MrHead extends AppCompatActivity implements View.OnClickListener {


ImageView ivBody, ivHair, ivEyebrow,ivEye, ivMoustache, ivBeard;
CheckBox cbRambut, cbjanggut, cbAlis, cbKumis;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.mr_head_layout);

this.ivBody = findViewById(R.id.ivBody);
this.ivHair = findViewById(R.id.ivHair);
this.ivEyebrow = findViewById(R.id.ivEyebrow);
this.ivEye = findViewById(R.id.ivMustache);
this.ivMoustache = findViewById(R.id.ivMustache);
this.ivBeard = findViewById(R.id.ivBread);

this.cbAlis = findViewById(R.id.cbAlis);
this.cbjanggut = findViewById(R.id.cbJanggut);
this.cbRambut = findViewById(R.id.cbRambut);
this.cbKumis = findViewById(R.id.cbKumis);

this.cbAlis.setChecked(true);
this.cbjanggut.setChecked(true);
this.cbKumis.setChecked(true);
this.cbRambut.setChecked(true);

this.cbAlis.setOnClickListener(this);
this.cbjanggut.setOnClickListener(this);
this.cbRambut.setOnClickListener(this);
this.cbKumis.setOnClickListener(this);

@Override
public void onClick(View v) {
if(v.getId() == cbAlis.getId()) {
if(cbAlis.isChecked())
ivEyebrow.setVisibility(View.VISIBLE);
else ivEyebrow.setVisibility(View.INVISIBLE);
}
if(v.getId() == cbjanggut.getId()){

4
LAPORAN PRAKTIKUM PENGEMBANGAN APLIKASI MOBILE – TRI ADI– 205150700111037

if(cbjanggut.isChecked())
ivBeard.setVisibility(View.VISIBLE);
else ivBeard.setVisibility(View.INVISIBLE);

}
if (v.getId() == cbRambut.getId()){
if(cbRambut.isChecked())
ivHair.setVisibility(View.VISIBLE);
else
ivHair.setVisibility(View.INVISIBLE);
}
if (v.getId() == cbKumis.getId()){
if(cbKumis.isChecked())
ivMoustache.setVisibility(View.VISIBLE);
else
ivMoustache.setVisibility(View.INVISIBLE);
}

//
}
}

Melakukan findViewById pada setiap view dan memasukkan nya kedalam variable referensi. Jika
ImageView maka dimasukkan ke objek ImageView, jika checkbox dimasukkan ke object Button.

this.cbAlis.setOnClickListener(this);
this.cbjanggut.setOnClickListener(this);
this.cbRambut.setOnClickListener(this);
this.cbKumis.setOnClickListener(this);

Setelah itu, menambahkan event handler dengan menggunakan setOnClickListener dengan


parameter objek itu sendiri menggunakan this.

this.cbAlis.setChecked(true);
this.cbjanggut.setChecked(true);
this.cbKumis.setChecked(true);
this.cbRambut.setChecked(true);

Supaya secara default checkboxnya sudah terceklis, maka menggunakan kode seperti diatas yaitu
checkboxAlis.setChecked(true).

Setelah itu, menambahkan method onClick yang Overide ke interface OnClickListener.

5
LAPORAN PRAKTIKUM PENGEMBANGAN APLIKASI MOBILE – TRI ADI– 205150700111037

NB: melakukan event handler dapat dilakukan tanpa implement interface


View.OnClickListener, yaitu dengan menambahkan callback function.

@Override
public void onClick(View v) {
if(v.getId() == cbAlis.getId()) {
if(cbAlis.isChecked())
ivEyebrow.setVisibility(View.VISIBLE);
else ivEyebrow.setVisibility(View.INVISIBLE);
}
if(v.getId() == cbjanggut.getId()){
if(cbjanggut.isChecked())
ivBeard.setVisibility(View.VISIBLE);
else ivBeard.setVisibility(View.INVISIBLE);

}
if (v.getId() == cbRambut.getId()){
if(cbRambut.isChecked())
ivHair.setVisibility(View.VISIBLE);
else
ivHair.setVisibility(View.INVISIBLE);
}
if (v.getId() == cbKumis.getId()){
if(cbKumis.isChecked())
ivMoustache.setVisibility(View.VISIBLE);
else
ivMoustache.setVisibility(View.INVISIBLE);
}

//
}

Pada method onClick, melakukan pengecekan terhadap view yang diklik dengan if(view.getId() ==
cdAlis.getId()) untuk mengecek apakah yang diklik adalah checkbox Alis.

Kode if(view.isChecked()) digunakan untuk mengetahui checkbox sudah terceklis atau belum. Jika
terceklis maka akan visibilitas terlihat dengan kode

ivEyebrow.setVisibility(View.VISIBLE)

yang artinya image view Alis dapat terlihat. Jika belum terceklis, maka image alis akan Invisible atau
tidak terlihat dengan : ivEyebrow.setVisibility(View.INVISIBLE). Hal ini dilakukan untuk setiap
checkbox seperti potongan kode diatas.

6
LAPORAN PRAKTIKUM PENGEMBANGAN APLIKASI MOBILE – TRI ADI– 205150700111037

5. Hasil Akhir

Anda mungkin juga menyukai