Upload
duongcong
View
244
Download
0
Embed Size (px)
Citation preview
31
BAB III
PEMBAHASAN
3.1. Analisa Perancangan Aplikasi
3.1.1. Tinjauan Kasus
Perhitungan sejauh ini masih dilakukan dengan cara metode manual, termasuk
perhitungan luas dan keliling bangun datar. Dengan cara tersebut pantas saja jika
banyak terjadi kesalahan yang biasa kita sebut dengan human error, seringkali terjadi
kesalahan yang seharusnya bisa lebih diminimalisir lagi, seperti dengan cara
menghitung menggunakan kalkulator agar mendapatkan hasil yang tepat, tetapi tetap
saja akan terjadi kesalahan apabila perhitungan tersebut tidak menggunakan rumus
yang benar dan tepat.
Pada Tinjauan Kasus ini penulis membahas tentang aplikasi berbasis android
dengan tema Aplikasi Menghitung Luas Dan Keliling Bangun Datar, dimana aplikasi
ini dapat digunakan secara offline. Aplikasi ini dibuat supaya dapat dipergunakan
sebagai alat untuk menghitung luas serta keliling bangun datar secara cepat, tepat,
dan juga efisien.
Adapun kelebihan aplikasi Menghitung Luas dan Keliling Bangun Datar ini
antara lain adalah :
1. Tampilan yang sederhana dan mudah untuk dioperasikan oleh pengguna.
2. Menyediakan slide rumus dari bangun datar.
3. Perhitungan menjadi lebih cepat dan tentunya tepat.
32
3.2. Spesifikasi Perancangan Aplikasi
Pada spesifikasi perancangan apk ini, penulis akan membahas beberapa hal
yang berkaitan tentang rancangan aplikasi yang dibuat. Pokok bahasan tersebut antara
lain :
3.2.1. Spesifikasi Bentuk Masukan
Dokumen input adalah bentuk masukan sebuah data yang diolah dalam proses
untuk mendapatkan sebuah hasil yang diharapkan. Adapun data yang dimasukan pada
aplikasi ini adalah sebagai berikut :
1. Nama Form : Segiempat (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
2. Nama Form : Segitiga (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
3. Nama Form : Lingkaran (input)
33
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
4. Nama Form : Persegipanjang (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
5. Nama Form : Jajargenjang (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
6. Nama Form : Trapesium (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
34
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
7. Nama Form : Layanglayang (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
8. Nama Form : Belahketupat (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
9. Nama Form : Kelpersegi (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
35
Frekuensi : setiap angka diinputkan
10. Nama Form : Kelsegitiga (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
11. Nama Form : Kellingkaran (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
12. Nama Form : Kelpersegipanjang (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
36
13. Nama Form : Keljajargenjang (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
14. Nama Form : Keltrapesium (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
15. Nama Form : Kellayanglayang (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
16. Nama Form : Kelbelahketupat (input)
Fungsi : Sebagai form awal untuk memasukan bilangan
37
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap angka diinputkan
3.2.2. Spesifikasi Bentuk Keluaran
Dokumen output atau dokumen keluaran adalah segala bentuk data dari
pengelolaan data input konversi bilangan yang mendukung hasil perhitungan aplikasi
tersebut.
Adapun data keluaran yang dipergunakan pada aplikasi Menghitung Luas Dan
Keliling Bangun Datar adalah sebagai berikut :
1. Nama Form : Segiempat (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
2. Nama Form : Segitiga (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
38
Frekuensi : setiap memilih button hasil
3. Nama Form : Lingkaran (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
4. Nama Form : Persegipanjang (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
5. Nama Form : Jajargenjang (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
39
6. Nama Form : Trapesium (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
7. Nama Form : Layanglayang (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
8. Nama Form : Belahketupat (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
9. Nama Form : KelPersegi (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
40
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
10. Nama Form : KelSegitiga (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
11. Nama Form : KelLingkaran (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
12. Nama Form : KelPersegipanjang (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
41
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
13. Nama Form : KelJajargenjang (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
14. Nama Form : KelTrapesium (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
15. Nama Form : KelLayanglayang (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
42
16. Nama Form : KelBelahketupat (output)
Fungsi : Untuk menampilkan keluaran hasil dalam bentuk bilangan
Media : Handphone Android
Sumber : Pengguna
Tujuan : Dari pengguna untuk pengguna
Frekuensi : setiap memilih button hasil
3.2.3. Spesifikasi File
1. Spesifikasi Tampilan Awal
Nama : Splashscreen
Akronim : Splashscreen.java
Bahasa : Java (Android Studio)
Fungsi : Untuk menampilkan layar awal
Proses : Jika layar disentuh, akan menampilkan welcome screen
2. Spesifikasi Menu Utama
Nama : MainActivity
Akronim : ActivityMain.java
Bahasa : Java (Android Studio)
Fungsi : Untuk menampilkan pilihan sub menu yang tersedia.
Proses :
a. Jika anda memilih menu Rumus Bangun Datar maka akan
menampilkan slide tentang rumu luas dan juga keliling bangun datar
secara lengkap.
43
b. Jika memilih menu Menghitung Luas Bangun Datar maka akan
menampilkan sub menu dari berbagai macam bangun datar yang ingin
dihitung berapa luasnya.
c. Jika memilih menu Menghitung Keliling Bangun Datar maka akan
menampilkan sub menu dari berbagai macam bangun datar yang ingin
dihitung berapa kelilingnya.
d. Jika memilih menu Bantuan maka akan menampilkan cara menangani
permasalahan yang berhubungan dengan penggunaan aplikasi
Menghitung Luas Dan Keliling Bangun Datar.
3.2.4. HIPO (Hierarcy Plus Input-Process-Output)
Diagram HIPO berfungsi untuk memperlihatkan jenjang atau hirarki dari
program yang akan dikembangkan. Dengan demikian dapat dijabarkan urutan kerja
dari tiap program.
Berikut adalah perancangan Diagram HIPO :
44
Gambar III.1 Visual Table Of Content
Aplikasi Menghitung Luas Dan Keliling Bangun Datar
Penjelasan masing-masing menu utama dan sub utama pada diagram tersebut adalah
sebagai berikut :
1. Skenario 0.0 Halaman Awal (Splash Screen)
Halaman ini menampilkan tampilan awal aplikasi yang jika disentuh akan
menampilkan menu utama yang berisi menu pilihan Rumus Bangun Datar,
Menghitung Luas Bangun Datar dan Menghitung Keliling Bangun Datar.
2. Skenario 1.0 Pilihan Menu Rumus Bangun Datar
45
Halaman ini berisi slide rumus luas bangun datar dan juga keliling bangun
datar.
3. Skenario 2.0 Pilihan Menu Menghitung Luas Bangun Datar
Halaman ini berisi tentang berbagai macam konten perhitungan luas dari
bangun datar.
4. Skenario 3.0 Pilihan Menu Menghitung Keliling Bangun Datar
Halaman ini berisi tentang berbagai macam konten perhitungan keliling
dari bangun datar.
3.2.5. Spesifikasi Program
1. Use Case Diagram
Use Case Diagram berguna sebagai langkah awal untuk memodelkan
interaksi tunggal antara pengguna dengan system. Diagram use case tersebut
dimaksudkan sebagai model actor utama dan komponen fungsional dari system yang
terdiri dari kategori subjek, predikat dan objek. Dimana subjek sebagai actor atau
pengguna, predikat sebagai pengantar antara subjek dan objek dan objeknya adalah
tujuan.
Untuk memudahkan pemahaman penggunaan use case dalam aplikasi ini
berikut ini merupakan gambaran dari desain sistem Aplikasi Menghitung Luas dan
Keliling Bangun Datar Dengan Menggunakan Android Studio 2.2.3
46
Gambar III.2 Use Diagram
Aplikasi Menghitung Luas Dan Keliling Bangun Datar
Use Case Diagram pada Gambar III.2 Menunjukan perluasan atau extend dari
setiap use case dasar, secara harfiah memperluas behavior yang digambarkan oleh
use case dasar
2. Deployment Diagram
Deployment Diagram menggambarkan rinci bagaimana komponen dideploy
dalam infrastruktur sistem. Dalam diagram ini digambarkan dua node yang berelasi
atau berhubungan yaitu antara Personal Computer (PC) dengan AndroidApp. Adapun
tampilan Deployment Diagram pada aplikasi ini adalah sebagai berikut :
47
Gambar III.3 Deployment Diagram
Aplikasi Menghitung Luas Dan Keliling Bangun Datar
4. Perancangan Aplikasi
Perancangan suatu aplikasi termasuk dalam kegiatan rekayasa perangkat
lunak. Proses rekayasa perangkat lunak dimulai jauh sebelum coding dilakukan dan
berlanjut sampai tercapainya sebuah aplikasi yang diinginkan (Pohan, 1997).
a. Tampilan Layar Awal (Splash Screen)
Layar awal adalah layar yang pertama kali muncul, layar ini berisi
informasi singkat tentang aplikasi, seperti judul aplikasi.
Berikut adalah implementasi layout layar awal.
48
Gambar III.4 Tampilan Layar Awal (Splash Screen)
1) splashscreen.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/splashscreen"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.kresna.nim13121127.aplikasikresna.Splashscr
een">
<ImageView
android:src="@drawable/splashscreenena"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitXY"/>
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
49
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="58dp" />
</RelativeLayout>
2) Splashscreen.java
package com.kresna.nim13121127.aplikasikresna;
import android.support.v7.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;
import android.view.WindowManager;
public class Splashscreen extends AppCompatActivity {
private static int splashInterval = 5000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREE
N,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.splashscreen);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Intent i = new Intent(Splashscreen.this,
MainActivity.class);
startActivity(i); // menghubungkan activity
splashscren ke main activity dengan intent
//jeda selesai Splashscreen
this.finish();
}
private void finish() {
// TODO Auto-generated method stub
}
}, splashInterval);
};
50
}
b. Tampilan Menu Utama
Menu utama merupakan tampilan beberapa pilihan yang mengarahkan
user untuk memilih diantara menu tersebut.
Berikut adalah tampilan interface menu utama aplikasi Menghitung Luas
Dan Keliling Bangun Datar.
Gambar III.5 Tampilan alert Selamat Datang dan Menu Utama
Deskripsi pada tampilan layout interface di atas tersebut adalah sebagai
berikut :
1. WelcomeAlert Selamat Datang, Alert ini difungsikan sebagai
WelcomeAlert untuk menampilkan layout Selamat Datang.
2. ImageView Menghitung Luas Dan Keliling Bangun Datar ini
difungsikan untuk tittle dari aplikasi.
51
3. Button Rumus Bangun Datar ini difungsikan sebagai button untuk
menampilkan layout Rumus.
4. Button Menghitung Luas Bangun Datar ini difungsikan sebagai button
untuk menampilkan layout Menghitung Luas Bangun Datar.
5. Button Menghitung Keliling Bangun Datar ini difungsikan sebagai
button untuk menampilkan layout Menghitung Keliling Bangun Datar.
6. Button Bantuan ini difungsikan sebagai button untuk menampilkan
layout Bantuan.
7. Alert Keluar, Alert ini difungsikan untuk menampilkan alert dialog,
dimana akan tampil confirmation keluar dalam bentuk pop up dan
messagebox.
1) MainActivity.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.kresna.nim13121127.aplikasikresna.MainActiv
ity">
<RelativeLayout
android:id="@+id/welcome_pesan"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_margin="16dp"
android:padding="16dp"
android:background="@drawable/menghitungyuk"
android:visibility="visible">
<TextView
android:id="@+id/welcome_title"
android:layout_width="wrap_content"
52
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:text="Selamat datang"
android:textColor="#ddd"
android:textSize="28sp"
android:textStyle="bold" />
<TextView
android:id="@+id/welcome_messgae"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/welcome_title"
android:text="Aplikasi ini saya buat semata-mata
hanya bertujuan untuk kelulusan dalam perkuliahan Tugas Akhir
D3 Tekhnik Komputer. \n\n Kresna Bayu Pratama. \n (13121127)"
android:textColor="#ddd"
android:textSize="18sp" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_gravity="bottom"
android:background="@drawable/buttonall"
android:onClick="dismisWelcomeMessageBox"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:text="Saya Paham!"
android:textColor="#fff" />
</RelativeLayout>
<LinearLayout
android:id="@+id/content_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/menghitungyuk"
android:orientation="vertical"
android:visibility="invisible">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/luasmain"
android:id="@+id/imageViewmenghitungyuk" />
<Button
android:id="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage3"
android:background="#2d2d4f"
53
android:textColor="#FFFFFF"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="5"
android:text="Rumus Bangun Datar"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:textStyle="bold"
android:textSize="10sp"
android:textAllCaps="true"
android:gravity="center_horizontal"
android:typeface="sans"
android:textColor="#bbd3d7"
android:text="================================================
====="/>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage1"
android:background="#2d2d4f"
android:textColor="#FFFFFF"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="5"
android:text="Menghitung Luas Bangun Datar" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:textStyle="bold"
android:textSize="10sp"
android:textAllCaps="true"
android:gravity="center_horizontal"
android:typeface="sans"
android:textColor="#bbd3d7"
android:text="================================================
====="/>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage2"
android:background="#2d2d4f"
54
android:textColor="#FFFFFF"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="5"
android:text="Menghitung Keliling Bangun Datar" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginTop="16dp"
android:textStyle="bold"
android:textSize="10sp"
android:textAllCaps="true"
android:gravity="center_horizontal"
android:typeface="sans"
android:textColor="#bbd3d7"
android:text="================================================
====="/>
<Button
android:id="@+id/button4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage4"
android:background="#2d2d4f"
android:textColor="#FFFFFF"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="5"
android:text="Bantuan" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/cretedby"
android:id="@+id/imageViewcreatedby" />
</LinearLayout>
</RelativeLayout>
2) ActivityMain.java
package com.kresna.nim13121127.aplikasikresna;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.app.AlertDialog;
import android.content.DialogInterface;
55
import android.view.Menu;
public class MainActivity extends AppCompatActivity {
RelativeLayout introMessage;
LinearLayout appContent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
introMessage = (RelativeLayout)
findViewById(R.id.welcome_pesan);
appContent = (LinearLayout)
findViewById(R.id.content_layout);
}
public void dismisWelcomeMessageBox(View view) {
introMessage.setVisibility(View.INVISIBLE);
appContent.setVisibility(View.VISIBLE);
}
public void klikPage1(View v) {
Intent iMain2Activity = new Intent(this,
Main2Activity.class);
startActivity(iMain2Activity);
}
public void klikPage2(View v) {
Intent iMain3Activity = new Intent(this,
Main3Activity.class);
startActivity(iMain3Activity);
}
public void klikPage3(View v) {
Intent iMain4Activity = new Intent(this,
Main4Activity.class);
startActivity(iMain4Activity);
}
public void klikPage4(View v) {
Intent iMain5Activity = new Intent(this,
Main5Activity.class);
startActivity(iMain5Activity);
}
public void onBackPressed() {
new AlertDialog.Builder(this)
.setMessage("Apa kalian ingin Exit?")
.setCancelable(false)
56
.setPositiveButton("Yes", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface
dialog, int id) {
MainActivity.this.finish();
}
})
.setNegativeButton("No", null)
.show();
}
@Override public boolean onCreateOptionsMenu(Menu menu) {
return true;
}
}
c. Tampilan Rumus Bangun Datar
Tampilan rumus bangun datar berisi tentang slide pembahasan seputar
luas dan keliling dari bangun datar. Dalam implementasinya tidak begitu
banyak menggunakan listing program. Untuk tampilan layout
menggunakan ScrollView dan tittle menggunakan ImageView lalu text
menggunakan TextView. Berikut implementasi layout Rumus Bangun
Datar.
57
Gambar III.6 Tampilan Rumus
1) rumus.xml
<ScrollView
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:paddingRight="3dp"
android:background="@drawable/rumus"
android:scrollbarThumbVertical="@drawable/vertical_scrollvi
ew_bg"
android:scrollbarTrackVertical="@drawable/vertical_scrollvi
ew_line"
tools:context="com.kresna.nim13121127.aplikasikresna.Main4A
ctivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/rumuspicture"
58
android:id="@+id/imageViewrumuspicture" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="1. Persegi\n" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/persegi"
android:id="@+id/imageViewpersegi" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="\nSifat-Sifat Dan Rumus
Persegi\n\nPada bangun datar persegi, mempunyai sifat-sifat
diantaranya :\n\na.Memiliki 4 sisi dan 4 titik
sudut\nb.Memiliki 2 pasang sisi yang sejajar dan sama
panjang\nc.Keempat sisinya sama panjang\nd.Keempat Sudutnya
sama besar yaitu 90 derajat (siku-siku)\ne.Memiliki 4
simetri lipat\nf.Memiliki simetri putar tingkat 4\n\nLuas =
s x s\nKeliling = 4 x s" />
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="#FFCCCCFF"
android:text="==========================="
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="2. Persegi Panjang\n" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/persegipanjang"
android:id="@+id/imageViewpersegipanjang" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="\nSifat-Sifat Dan Rumus Persegi
Panjang \n\nPada bangun datar persegi, mempunyai sifat-
sifat diantaranya :\n\na.Memiliki 4 sisi dan 4 titik
59
sudut\nb.Sifat Sifat Bangun Datar - Rumus Bangun
Datar\nc.Memiliki 2 pasang sisi sejajar, berhadapan dan
sama panjang\nd.Memiliki 4 sudut yang besarnya 90
derajat\ne.Keempat sudutnya siku-siku\nf.Memiliki 2
diagonal yang sama panjang\ng.Memiliki 2 simetri
lipat\nh.Memiliki Simetri putar tingkat 2\n\nLuas = p x
l\nKeliling = 2(p+l)"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="==========================="
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="3. Segitiga\n" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/segitiga"
android:id="@+id/imageViewsegitiga" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="\nSifat Sifat Dan Rumus
Segitiga\n\nPada bangun datar Segitiga, mempunyai sifat-
sifat diantaranya :\n\na.Mempunyai 3 sisi dan 3 titik
sudut\nb.Jumlah ketiga sudutnya 180 derajat\n\nLuas = ½ x a
x t\nKeliling = AB + BC + AC"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="==========================="
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="4. Trapesium\n" />
<ImageView
android:layout_width="match_parent"
60
android:layout_height="wrap_content"
app:srcCompat="@drawable/trapesiumm"
android:id="@+id/imageViewtrapesium" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="\nSifat Sifat Dan Rumus
Trapesium\n\nPada bangun datar Trapesium, mempunyai sifat-
sifat diantaranya :\n\na.Memiliki 4 sisi dan 4 titik
sudut\nb.Memiliki sepasang sisi yang sejajar tetapi tidak
sama panjang\nc.Sudut - sudut diantara sisi sejajar
besarnya 180 derajat\n\nLuas = (Jumlah sisi Sejajar) x t
/2\nKeliling = AB + BC + CD + AD"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="==========================="
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="5. Layang-Layang\n" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/layanglayang"
android:id="@+id/imageViewlayanglayang" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="\nSifat Sifat Dan Rumus Layang -
Layang\n\nPada bangun datar Layang - Layang, mempunyai
sifat-sifat diantaranya :\n\na.Memiliki 4 sisi dan 4 titik
sudut\nb.Memiliki 2 pasang sisi yang sama
panjang\nc.Memiliki 2 sudut yang sama besar\nd.Diagonalnya
berpotongan tegak lurus\ne.Salah satu diagonalnya membagi
diagonal yang lain sama panjang\nf.Memiliki 1 simetri
lipat.\n\nLuas = ½ x AC x BD\nKeliling = AB + BC + CD +
AD"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
61
android:text="==========================="
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="6. Belah Ketupat\n" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/belahketupat"
android:id="@+id/imageViewbelahketupat" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="\nSifat Sifat Dan Rumus Belah
Ketupat\n\nPada bangun datar Belah Ketupat, mempunyai
sifat-sifat diantaranya :\n\na.Memiliki 4 sisi dan 4 titik
sudut\nb.Keempat sisinya sama panjang\nc.Memiliki 2 pasang
sudut yang berhadapan sama besar\nd.Diagonalnya berpotongan
tegak lurus\ne.Memiliki 2 simetri lipat\nf.Memiliki simetri
putar tingkat 2\n\nLuas = ½ AC x BD\nKeliling = AB + BC +
CD + AD"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="==========================="
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="7. Lingkaran\n" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/lingkaran"
android:id="@+id/imageViewlingkaran" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
62
android:text="\nSifat Sifat Dan Rumus
Lingkaran\n\nPada bangun datar Lingkaran, mempunyai sifat-
sifat diantaranya :\n\na.Mempunyai 1 sisi\nb.Memiliki
simetri putar dan simetri lipat tak terhingga\n\nLuas =
πr2\nKeliling = 2πr"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="==========================="
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="8. Jajar Genjang\n" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/jajargenjang"
android:id="@+id/imageViewjajargenjang" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="\nSifat Sifat Dan Rumus Jajaran
Genjang\n\nPada bangun datar Jajaran Genjang, mempunyai
sifat-sifat diantaranya :\n\na.Memiliki 4 sisi dan 4 titik
sudut\nb.Sifat Sifat Bangun Datar - Rumus Bangun
Datar\nc.Memiliki 2 pasang sisi yang sejajar dan sama
panjang\nd.Memiliki 2 sudut tumpul dan 2 sudut
lancip\ne.Sudut yang berhadapan sama besar\nf.Diagonalnya
tidak sama panjang\ng.Tidak memiliki simetri
lipat\nh.Memiliki simetri putar tingkat 2\n\nLuas = a x
t\nKeliling = AB + BC + CD + AD"/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/cretedby"
android:id="@+id/imageViewcreatedby" />
</LinearLayout>
</ScrollView>
63
2) rumus.java
package com.kresna.nim13121127.aplikasikresna;
/**
* Created by Kresna on 1/7/2017.
*/
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class Main4Activity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
}
}
d. Tampilan Bantuan
Tampilan help atau bantuan berisi instruksi tentang penggunaan aplikasi.
Dalam implementasinya sama halnya dengan tampilan Rumus Bangun
Datar yang tidak begitu menggunakan banyak listing program. Untuk
tampilan latar layout menu bantuan menggunakan
android:background=”@drawable/image” yang disertai dengan
ScrollView, dan untuk tittle menggunakan ImageView lalu penulisan text
menggunakan TextView. Berikut implementasi layout Bantuan.
64
Gambar III.7 Tampilan Bantuan
1) bantuan.xml
<ScrollView
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:paddingRight="3dp"
android:background="@drawable/bantuan"
android:scrollbarThumbVertical="@drawable/vertical_scrollview_
bg"
android:scrollbarTrackVertical="@drawable/vertical_scrollview_
line"
tools:context="com.kresna.nim13121127.aplikasikresna.Main5Acti
vity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
65
android:padding="16dp">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:srcCompat="@drawable/inibantuan"
android:id="@+id/imageViewinibantuan" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="Hal-hal yang bisa didapat ketika
menghubungi pengembang aplikasi:\n"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="========================"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="Anda seharusnya mendapatkan
tanggapan sopan dan profesional ketika menghubungi pengembang
terkait dengan masalah. Jika pertanyaan Anda adalah tentang
masalah yang terkait penggunaan aplikasi ini, Anda akan
mendapatkan tanggapan dalam waktu kurang lebih
2x24jam.\n\n\nSetelah menghubungi pengembang, Anda dapat
memberikan ulasan publik untuk aplikasi tersebut. Sertakan
pengalaman Anda terkait dukungan pengembang sebagai masukan
bagi pengembang dan informasi bagi pengguna lainnya.\n\n "
android:textSize="12sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="More info :
android:textSize="12sp"
android:textStyle="bold"
android:textAlignment="textEnd"/>
<TextView
66
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="========================"
android:textSize="24sp"
android:textStyle="bold" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/cretedby"
android:id="@+id/imageViewcreatedby" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="========================"
android:textSize="24sp"
android:textStyle="bold" />
</LinearLayout>
</ScrollView>
2) Bantuan.java
package com.kresna.nim13121127.aplikasikresna;
/**
* Created by Kresna on 1/19/2017.
*/
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class Main5Activity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main5);
}
}
e. Tampilan Menghitung Luas Bangun Datar
67
Tampilan menghitung luas bangun datar mencangkup sub menu dengan
jumlah delapan Button sebagai pilihan, diantaranya :
android:onClick="klikPage1"
android:text="@string/segitga",
android:onClick="klikPage2"
android:text="@string/segiempat",
android:onClick="klikPage3"
android:text="@string/lingkaran",
android:onClick="klikPage4"
android:text="@string/persegipanjang",
android:onClick="klikPage5"
android:text="@string/jajargenjang",
android:onClick="klikPage6"
android:text="@string/jajargenjang",
android:onClick="klikPage7"
android:text="@string/trapesium",
android:onClick="klikPage8"
android:text="@string/belahketupat",
Berikut implementasi layout menu Menghitung Luas Bangun Datar.
Gambar III.8 Tampilan Menu Luas Bangun Datar
68
Tampilan menu utama hitung luas terdiri dari 8 sub menu pilihan button
penghitungan luas bangun datar. Berikut implementasi layout hitung luas :
1) Activity_main2.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/menghitungyuk"
tools:context="com.kresna.nim13121127.aplikasikresna.Main2Acti
vity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/headerluas"
android:id="@+id/imageViewluasheader"/>
<Button
android:id="@+id/button1"
android:layout_below="@+id/imageViewluasheader"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage1"
android:text="@string/segitga" />
<Button
android:id="@+id/button2"
android:layout_below="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage2"
android:text="@string/segiempat" />
<Button
android:id="@+id/button3"
android:layout_below="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage3"
android:text="@string/lingkaran"/>
<Button
android:id="@+id/button4"
android:layout_below="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
69
android:onClick="klikPage4"
android:text="@string/persegipanjang" />
<Button
android:id="@+id/button5"
android:layout_below="@+id/button4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage5"
android:text="@string/jajargenjang" />
<Button
android:id="@+id/button6"
android:layout_below="@+id/button5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage6"
android:text="@string/trapesium" />
<Button
android:id="@+id/button7"
android:layout_below="@+id/button6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage7"
android:text="@string/layanglayang"/>
<Button
android:id="@+id/button8"
android:layout_below="@+id/button7"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage8"
android:text="@string/belahketupat"/>
<ImageView
android:layout_below="@+id/button8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cretedby"
android:id="@+id/imageViewcreatedby" />
</RelativeLayout>
2) Main2Activity.java
package com.kresna.nim13121127.aplikasikresna;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
70
import android.view.Menu;
import android.view.View;
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
public void klikPage1(View v) {
Intent iSegitiga = new Intent(this, Segitiga.class);
startActivity(iSegitiga);
}
public void klikPage2(View v) {
Intent iSegiempat = new Intent(this,
Segiempat.class);
startActivity(iSegiempat);
}
public void klikPage3(View v) {
Intent iLingkaran = new Intent(this,
Lingkaran.class);
startActivity(iLingkaran);
}
public void klikPage4(View v) {
Intent iPersegipanjang = new Intent(this,
Persegipanjang.class);
startActivity(iPersegipanjang);
}
public void klikPage5(View v) {
Intent iJajargenjang = new Intent(this,
Jajargenjang.class);
startActivity(iJajargenjang);
}
public void klikPage6(View v) {
Intent iTrapesium = new Intent(this,
Trapesium.class);
startActivity(iTrapesium);
}
public void klikPage7(View v) {
Intent iLayanglayang = new Intent(this,
Layanglayang.class);
startActivity(iLayanglayang);
}
public void klikPage8(View v) {
71
Intent iBelahKetupat = new Intent(this,
BelahKetupat.class);
startActivity(iBelahKetupat);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
f. Tampilan Hitung Luas Pesegi
Mewakili pilihan lain yang sejenis dalam pilihan sub menu menghitung
luas bangun datar, pada tampilan menghitung luas persegi berisi tampilan
ImageView, EditText, Button dan Text View. Berikut implementasi dari
layout menghitung luas persegi.
Gambar III.9 Tampilan Hitung Luas Persegi
72
1) segiempat.xml
<?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"
android:background="@drawable/backgroundhasilluas">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/luasheader"
android:id="@+id/imageViewluasheader" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="@string/sisi"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:ems="10"
android:inputType="number" />
<requestFocus />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="@string/sisi2"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:ems="10"
android:inputType="number" />
<requestFocus />
<Button
android:id="@+id/button1"
73
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#121149"
android:textColor="#FFCCCCFF"
android:text="Hasil" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="@string/luasadl"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
2) segiempat.java
package com.kresna.nim13121127.aplikasikresna;
/**
* Created by Kresna on 11/30/2016.
*/
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Segiempat extends Activity implements
OnClickListener {
EditText input;
Button check;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.segiempat);
input = (EditText) findViewById(R.id.editText1);
input = (EditText) findViewById(R.id.editText2);
check = (Button) findViewById(R.id.button1);
Button btnklik = (Button) findViewById(R.id.button1);
btnklik.setOnClickListener(this);
}
74
public void onClick(View v) {
EditText edtSisi = (EditText)
findViewById(R.id.editText1);
if (input.getText().toString().equals("")) {
Toast.makeText(Segiempat.this, "Input Text Kosong.
Tolong masukan Text", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(Segiempat.this, "HASIL..",
Toast.LENGTH_SHORT).show();
EditText edtSisi2 = (EditText)
findViewById(R.id.editText2);
if (input.getText().toString().equals("")) {
Toast.makeText(Segiempat.this, "Input Text
Kosong. Tolong masukan Text", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(Segiempat.this, "HASIL..",
Toast.LENGTH_SHORT).show();
TextView tvLuas = (TextView)
findViewById(R.id.textView4);
double sisi =
Double.valueOf(edtSisi.getText().toString());
double sisi2 =
Double.valueOf(edtSisi2.getText().toString());
double luas = sisi * sisi2;
tvLuas.setText("Luas adalah : " + luas);
}
}
}
}
g. Tampilan Menghitung Keliling Bangun Datar
Tampilan menghitung keliling bangun datar mencakup sub menu dengan
delapan button pilihan. Diantaranya :
android:onClick="klikPage1"
android:text="@string/kelilingsegitga",
android:onClick="klikPage2"
android:text="@string/kelilingpersegi",
android:onClick="klikPage3"
android:text="@string/kelilinglingkaran",
android:onClick="klikPage4"
android:text="@string/kelilingpersegipanjang",
android:onClick="klikPage5"
android:text="@string/kelilingjajargenjang",
android:onClick="klikPage6"
android:text="@string/kelilingtrapesium",
75
android:onClick="klikPage7"
android:text="@string/kelilinglayanglayang",
android:onClick="klikPage8"
android:text="@string/kelilingbelahketupat",
Berikut implementasi layout Menghitung Keliling Bangun Datar.
Gambar III.10 Tampilan Menu Keliling Bangun Datar
Tampilan menu utama hitung keliling terdiri dari 8 sub menu pilihan button
penghitungan luas bangun datar. Berikut implementasi layout hitung keliling :
1) Activity_main3.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/menghitungyuk"
76
tools:context="com.kresna.nim13121127.aplikasikresna.Main3Acti
vity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/headerkeliling"
android:id="@+id/imageViewheaderkeliling" />
<Button
android:id="@+id/button1"
android:layout_below="@+id/imageViewheaderkeliling"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage1"
android:text="@string/kelilingsegitiga" />
<Button
android:id="@+id/button2"
android:layout_below="@id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage2"
android:text="@string/kelilingpersegi"/>
<Button
android:id="@+id/button3"
android:layout_below="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage3"
android:text="@string/kelilinglingkaran" />
<Button
android:id="@+id/button4"
android:layout_below="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage4"
android:text="@string/kelilingpersegipanjang" />
<Button
android:id="@+id/button5"
android:layout_below="@+id/button4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage5"
android:text="@string/kelilingjajargenjang" />
<Button
android:id="@+id/button6"
android:layout_below="@+id/button5"
77
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage6"
android:text="@string/kelilingtrapesium" />
<Button
android:id="@+id/button7"
android:layout_below="@+id/button6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage7"
android:text="@string/kelilinglayanglayang" />
<Button
android:id="@+id/button8"
android:layout_below="@+id/button7"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="klikPage8"
android:text="@string/kelbelahketupat" />
<ImageView
android:layout_below="@+id/button8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/cretedby"
android:id="@+id/imageViewcreatedby" />
</RelativeLayout>
2) Main3Activity.java
package com.kresna.nim13121127.aplikasikresna;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
public class Main3Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
}
public void klikPage1(View v) {
Intent iKelSegitiga = new Intent(this, KelSegitiga.class);
startActivity(iKelSegitiga);
}
public void klikPage2(View v) {
Intent iKelPersegi = new Intent(this, KelPersegi.class);
startActivity(iKelPersegi);
78
}
public void klikPage3(View v) {
Intent iKelLingkaran = new Intent(this, KelLingkaran.class);
startActivity(iKelLingkaran);
}
public void klikPage4(View v) {
Intent iKelPersegiPanjang = new Intent(this,
KelPersegiPanjang.class);
startActivity(iKelPersegiPanjang);
}
public void klikPage5(View v) {
Intent iKelJajarGenjang = new Intent(this,
KelJajarGenjang.class);
startActivity(iKelJajarGenjang);
}
public void klikPage6(View v) {
Intent iKelTrapesium = new Intent(this, KelTrapesium.class);
startActivity(iKelTrapesium);
}
public void klikPage7(View v) {
Intent iKelLayangLayang = new Intent(this,
KelLayangLayang.class);
startActivity(iKelLayangLayang);
}
public void klikPage8(View v) {
Intent iKelBelahKetupat= new Intent(this,
KelBelahKetupat.class);
startActivity(iKelBelahKetupat);
}
}
h. Tampilan Hitung Keliling Persegi
Mewakili pilihan lain yang sejenis dalam pilihan sub menu menghitung
keliling bangun datar, pada tampilan menghitung keliling persegi berisi
tampilan ImageView, EditText, Button dan Text View. Berikut
implementasi dari layout menghitung luas persegi.
79
Gambar III.11 Tampilan Hitung Keliling Persegi
1) kelpersegi.xml
<?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"
android:background="@drawable/backgroundhasilluas">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/keliling"
android:id="@+id/imageViewkelilheader" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
80
android:text="@string/sisi"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:ems="10"
android:inputType="number" />
<requestFocus />
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:background="#121149"
android:text="HASIL" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFCCCCFF"
android:text="@string/hitungkeliling"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
2) Kelpersegi.java
package com.kresna.nim13121127.aplikasikresna;
/**
* Created by Kresna on 11/30/2016.
*/
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class KelPersegi extends Activity implements OnClickListener {
EditText input;
Button check;
81
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.kelpersegi);
input = (EditText) findViewById(R.id.editText1);
check = (Button) findViewById(R.id.button1);
Button btnklik = (Button) findViewById(R.id.button1);
btnklik.setOnClickListener(this);
}
public void onClick(View v) {
EditText edtSisi = (EditText) findViewById(R.id.editText1);
if (input.getText().toString().equals("")) {
Toast.makeText(KelPersegi.this, "Input Text Kosong.
Tolong masukan Text", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(KelPersegi.this, "HASIL..",
Toast.LENGTH_SHORT).show();
TextView tvLuas = (TextView)
findViewById(R.id.textView3);
double sisi =
Double.valueOf(edtSisi.getText().toString());
double keliling = 4 * sisi;
tvLuas.setText("Keliling adalah : " + keliling);
}
}
}
i. Android Manifest
Manifest digunakan untuk konfigurasi aplikasi di Android. Setiap kita
membuat activity baru, kita harus tambahkan konfigurasi defile manifest.
Selain itu konfigurasi nama paket, minimum sdk, kode versi, nama versi
dan akses ke OS android juga harus di tuliskan pada manifest. Manifest
memiliki fungsi utama sebagai pusat pengendali informasi aplikasi dan
activity. Dalam manifest ini menjalankan mengendalikan class load.java,
konversi, tampilan nama pada layout dan semua button yang ada pada
aplikasi. Berikut merupakan keseluruhan program pada manifest aplikasi
82
menghitung luas dan keliling bangun datar. Berikut adalah manifest dari
aplikasi menghitung luas dan keliling bangun datar.
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.kresna.nim13121127.aplikasikresna">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<!-- Splash screen -->
<activity
android:name=".Splashscreen"
android:label="@string/app_name"
android:noHistory="true"
android:screenOrientation="portrait"
android:theme="@style/Splashscreen">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name"/>
<activity
android:name=".Main2Activity"
android:label="SUB MENU LUAS" />
<activity
android:name=".Main3Activity"
android:label="SUB MENU KELILING" />
<activity
android:name=".Main4Activity"
android:label="RUMUS" />
<activity
android:name=".Main5Activity"
android:label="BANTUAN" />
<!-- Luas Bangun Datar-nya Kresna -->
<activity android:name=".Segitiga" />
<activity android:name=".Segiempat" />
<activity android:name=".Lingkaran" />
<activity android:name=".Persegipanjang" />
83
<activity android:name=".Jajargenjang" />
<activity android:name=".Trapesium" />
<activity android:name=".Layanglayang" />
<activity android:name=".BelahKetupat"/>
<!-- Keliling Bangun Datar-nya Kresna -->
<activity android:name=".KelSegitiga" />
<activity android:name=".KelPersegi" />
<activity android:name=".KelLingkaran" />
<activity android:name=".KelPersegiPanjang" />
<activity android:name=".KelJajarGenjang" />
<activity android:name=".KelTrapesium" />
<activity android:name=".KelLayangLayang" />
<activity android:name=".KelBelahKetupat"/>
</application>
</manifest>
3.2.6. Flowchart
Menurut Jogiyanto (2005:795) “Bagan alir (flowchart) adalah bagan (chart)
yang menunjukkan alir (flow) di dalam program atau prosedur system secara logika”.
Bagan alir program yang penulis gunakan dalam penulisan Tugas Akhir ini adalah
sebagai berikut :
1. Terimantor
Digunakan untuk menggambarkan awal dan akhir suatu proses.
2. Decision
Digunakan untuk menggambarkan pengujian suatu kondisi di dalam program.
3. Process
Digunakan untuk menggambarkan suatu proses yang akan dilakukan.
4. Predefined process
Digunakan untuk menggambarkan suatu proses yang ditulis sebagai sub
program.
84
5. Data (Input/Output)
Digunakan untuk menggambarkan pembacaan input atau output.
Berikut adalah Flowchart dari aplikasi Menghitung Luas Dan Keliling
Bangun Datar :
Gambar III.12 Flowchart Menu
Gambar III.13 Flowchart Rumus Bangun Datar
85
Gambar III.14 Flowchart Hitung Luas Bangun Datar
Gambar III.15 Flowcart Menu Hitung Keliling Bangun Datar
86
3.3. Sarana Pendukung Program
3.3.1. Perangkat Keras
Dalam membangun aplikasi Menghitung Luas Dan Keliling Bangun Datar ini,
perangkat keras yang digunakan untuk pemasangan system yang telah diujikan adalah
sebagai berikut :
1. Perseonal Computer (PC)
Spesifikasi :
a. Operating System : Windows 7 Ultimate 32bit
b. Processor : Intel(R) Core(TM) i5-2540M CPU @ 2.60Ghz
c. Memory : 4 GB
d. VGA : Intel(R) HD Graphics 3000
e. Hardisk : 500 GB
2. Handphone
a. Nama Perangkat : Oppo F1s
b. Processor : Octa-core 1.5 GHz Cortex-A53
c. Memory : 3 GB
d. Operating System : Android OS, v5.1 (Lollipop) ColorOS
e. Layar : 5,5 inches
Percobaan instalasi file apk di dalam OS Android Lollipop dan percobaan
dalam menjalankan aplikasi berjalan dengan baik.
87
3.3.2. Perangkat Lunak
Adapun perangkat lunak (software) sebagai sarana pendukung perancangan
aplikasi ini adalah sebagai berikut :
1. Android Studio
Software ini penulis gunakan sebagai alat untuk melakukan penulisan
program berbasis android dengan menggunakan bahasa java dan xml sebagai
layout. Versi Android Studio yang penulis gunakan adalah Android Studio
2.2.3 Build #AI-145.35377739.
2. Adobe Photoshop CS6 Portable
Software ini penulis gunakan untuk desain grafis dalam pembuatan aplikasi
Menghitung Luas Dan Keliling Bangun Datar, dimana diantaranya adalah
untuk pembuatan logo dan tampilan-tampilan konten dalam aplikasi supaya
menghasilkan interface yang menarik.
3. Genymotion
Software ini adalah sejenis plug-in yang terdapat pada Android Studio, yang
penulis gunakan sebagai emulator untuk mencoba dan menjalankan aplikasi
yang sedang dibuat.
4. Microsoft Office Visio
Software ini penulis gunakan sebagai alat pembuatan Flowchart