Anda di halaman 1dari 14

Pemrograman Berorientasi Obyek

PBO3 – Empty View Activty

WAHYUDIN

September 19, 2021


Pemrograman Berorientasi Obyek

Empty View Activity

Praktik 1
Pada praktik pertama adalah membuat aplikasi menghitung volume balok.

Alur Logika
Mulai

Input data
Komponen TextView

Tidak

Validasi
Input

Ya
Pemrograman Berorientasi Obyek | 9/19/2021

Perhitungan Volume Balok

Output data

Textview

Mulai

1
Membuat Project Baru
Buat proyek baru dengan klik File → New → New Project pada Android Studio Anda atau Anda bisa
memilih Start a new Androi Studio project di bagian dashboard.

Pilih Template Phone and Tablet, Empty View Activity

Selanjutnya masukkan nama aplikasi dan nama package aplikasi Anda. Sebaiknya jangan sama dengan apa yang ada di
contoh, karena ini berfungsi sebagai id dari aplikasi yang Anda buat. Kemudian Anda bisa menentukan lokasi proyek
yang akan Anda buat. Setelah itu pilih tipe gawai/peranti (device) untuk aplikasi beserta target minimum SDK yang
akan digunakan. Pilihan target Android SDK akan mempengaruhi banyaknya peranti yang dapat menggunakan
aplikasi. Di sini kita memilih nilai minimum SDK kita pasang ke Level 21 (Lollipop). Klik Finish untuk melanjutkan.

Pemrograman Berorientasi Obyek | 9/19/2021

2
Jika sudah berhasil membuat project baru, RUN project untuk uji project dengan emulator android studio atau HP
android.
Pemrograman Berorientasi Obyek | 9/19/2021

Edit Layout
Untuk melakukan edit layout yang tersimpan pada file activity_main.xml bisa dilakukan dengan Code maupun
dengan Desain. Tampaillan layout pertama kali project dibuat seperti dibawah ini

3
Tampilan editor di atas dengan pilihan code, yang tampil adalah code xml.

Mari kita lakukan langkah edit Layout

1. Hapus komponen TextView, sekarang code jadi seperti dibawah ini

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


<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
</androidx.constraintlayout.widget.ConstraintLayout>

2. Mengganti Constraintlayout dengan LinearLayout

Pemrograman Berorientasi Obyek | 9/19/2021


Cara blok androidx.constraintlayout.widget.ConstraintLayout lalu tulis Line.. (jika muncul pilihan LinearLayout
klik), hasilnya sebagai berikut
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
</LinearLayout>

4
3. Tambahkan pada layout baris yang cetak tabal
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
android:orientation="vertical"
tools:context=".MainActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Panjang" />
<EditText
android:id="@+id/edt_panjang"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:lines="1" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Lebar" />
<EditText
android:id="@+id/edt_lebar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:lines="1" />
Pemrograman Berorientasi Obyek | 9/19/2021

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Tinggi" />
<EditText
android:id="@+id/edt_tinggi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:lines="1" />
<Button
android:id="@+id/btn_hitung"
android:layout_width="match_parent"
android:layout_height="wrap_content"

5
android:text="Hitung" />
<TextView
android:id="@+id/tv_hitung"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hasil"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
4. Extract string resource
Cara pada android:text="Panjang" , kursr tempatkan pada kata panjang dan tekan tombol ALT + ENTER

Klik Extract string resource

Pemrograman Berorientasi Obyek | 9/19/2021

Resource name: panjang_


Resource value: Panjang

6
5. Coba Run Project
6. Hasil seperti dibawah ini

Edit code MainActivity.kt


Langkah selanjutnya mengedit file MainActivty.kt, app  java  nama package  MainAvtivity.kt.

Code awal sebagai berikut;

package com.nim2021.volumebalok
Pemrograman Berorientasi Obyek | 9/19/2021

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}

7
Tambahkan code yang huruf cetak tebal, untuk identivikasi variable komponen.

package com.nim2021.volumebalok

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView

class MainActivity : AppCompatActivity() {


lateinit var edtpanjang: EditText
lateinit var edtlebar: EditText
lateinit var edttinggi: EditText
lateinit var btnhitung: Button
lateinit var tvhasil: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}

Tambahkan code yang tercetak tebal dibawah ini untuk mengkaitkan variabel komponen dengan komponen pada
layout (file activity.xml).

package com.nim2021.volumebalok

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView

Pemrograman Berorientasi Obyek | 9/19/2021


class MainActivity : AppCompatActivity() {
lateinit var edtpanjang: EditText
lateinit var edtlebar: EditText
lateinit var edttinggi: EditText
lateinit var btnhitung: Button
lateinit var tvhasil: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
edtpanjang = findViewById(R.id.edt_panjang)
edtlebar = findViewById(R.id.edt_lebar)
edttinggi = findViewById(R.id.edt_tinggi)
btnhitung = findViewById(R.id.btn_hitung)

8
tvhasil = findViewById(R.id.tv_hasil)
}
}

Tambahkan code yang tercetak tebal dibawah ini untuk membuat fungsi onclik pada komponen Button (jika tombol
button diklik maka akan menjalankan fungsi onclik).

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

edtpanjang = findViewById(R.id.edt_panjang)
edtlebar = findViewById(R.id.edt_lebar)
edttinggi = findViewById(R.id.edt_tinggi)
btnhitung = findViewById(R.id.btn_hitung)
tvhasil = findViewById(R.id.tv_hasil)
btnhitung.setOnClickListener(this)
}

Pada kode btnhitung.setOnClickListener(this), masih error dimana parameter this masih ada garis merah
disebabkan masih belum lengkap pada code ini, langkah berikutnya, kursor diarahkan pada parameter this, tekan
tombol alt + Enter maka akan tampil sebagai berikut

Pilih “Let ‘MainActivity implement interace ‘Vie.OnClikListener’

Maka akan tampil


Pemrograman Berorientasi Obyek | 9/19/2021

9
Pilih onClick(p0: View?) : View, akan menghasilkan code fungsi seperti di bawah ini

}
override fun onClick(p0: View?) {
TODO("Not yet implemented")
}
}

Tambahkan code dibawah TODO pada fungsi onClick(p0: View?)

override fun onClick(p0: View?) {


if (p0?.id == R.id.btn_hitung) {
val panjang = edtpanjang.text.toString().trim()
val lebar = edtlebar.text.toString().trim()
val tinggi = edttinggi.text.toString().trim()
val volume = panjang.toDouble() * lebar.toDouble() * tinggi.toDouble()
tvhasil.text = volume.toString()
}
}

if (p0?.id == R.id.btn_hitung) kode untuk logika untuk menetukan jika tombol Button diclik.

val panjang = edtpanjang.text.toString().trim()


val lebar = edtlebar.text.toString().trim()
val tinggi = edttinggi.text.toString().trim()

Kode di atas untuk mendefinisakan variabel

val volume = panjang.toDouble() * lebar.toDouble() * tinggi.toDouble()


Kode di atas untuk menghitung dan mendefinisi variable volome.

tvhasil.text = volume.toString()

Kode di atas untuk menampilkan varibel volume pada komponen layout kompenen TextView.

Pemrograman Berorientasi Obyek | 9/19/2021

10
Pemrograman Berorientasi Obyek | 9/19/2021

11
Jalankan proect “RUN”!
Tugas : Activity

1. Buat Aplikasi Android untuk perhitungan:


 Volume Kubus
 Volume Tabung
 Volume bola
 Konversi bilangan Desimal menjadi bilangan Biner
2. Petunjuk
 Projek yang dibuat 4 projek
 Nama projek disesuaikan (contoh: Volume Kubus)
 Nama Package : com.(NIM).namaprojek (contoh: com.nim23123.volumekubus)
 Tampilkan Foto Mahasiswa pada layout
 RUN dengan menggunakan emulator HP

Pemrograman Berorientasi Obyek | 9/19/2021

12
Daftar Pustaka

__, https://developer.android.com/

__, https://jdk.java.net/16/

__, https://openjdk.java.net/

__, https://notepad-plus-plus.org/

__, https://www.jetbrains.com/

__, https://gradle.org
Pemrograman Berorientasi Obyek | 9/19/2021

13

Anda mungkin juga menyukai