Modul Logika Java Android
Modul Logika Java Android
TUJUAN PEMBELAJARAN:
1. Mengaplikasikan pengaturan atribut widget
2. Mengaplikasikan penggunaan operator aritmatika
3. Mengaplikasikan penggunaan operator logika
4. Mengaplikasikan penggunaan instruksi pemilihan
5. Mengaplikasikan penggunaan instruksi pengulangan
6. Mengaplikasikan penggunaan array
c. Atribut Checkbox
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#FFFFFF"/>
<stroke android:width="2dp" android:color="#4f000000"
/>
<corners
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>
5. Hasil tampilan rounded corner pada edit text dan button, terlihat seperti
berikut ini.
Folder Values dalam struktur project android studio berisi file strings.xml dan
colors.xml. Kedua file ini berfungsi untuk pengaturan warna dan dapat mengatur
semua string yang digunakan pada layout aplikasi. File colors.xml dapt
ditambahkan atau diubah beberapa warna sesuai keinginan, seperti berikut ini.
Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai
boolean. Operator Logika diantaranya: && (logika AND), || (logika OR), | (boolean
logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
Hasil Operand Logika && (AND) akan bernilai true jika kedua operand
bernilai true dan akan bernilai false jika ada salah satu operand yang
bernilai false. Untuk lebih jelasnya coba perhatikan tabel kebenaran berikut ini.
/**
* Demonstrasi1 penggunaan Logika AND, hasilnya akan true
* karena kedua operand tersebut bernilai true
*/
boolean test1 = operand1 > 20 && operand2 <= 100;
System.out.println(test1);
/**
* Demonstrasi2 penggunaan Logika AND, hasilnya akan false
* karena ada salah satu operand yang bernilai false
*/
boolean test2 = operand1 < 20 && operand2 <= 100;
System.out.println(test2);
}
}
Hasil Operand Logika || (Logika OR) akan bernilai true jika kedua operand
bernilai true atau ada salah satu operand yang bernilai true dan akan
bernilai false jika kedua operand bernilai false. Coba perhatikan tabel kebenaran
berikut ini.
Perbedaan dasar antara logika | | (OR) dan | (inclisive OR) adalah bahwa logika | |
(OR) mendukung short-circuit evaluations (proses evaluasi sebagian), sementara
| tidak. Contoh penulisan kode programnya seperti berikut ini.
Hasilnya:
Coba perhatikan, pada Logika | | (OR), variable operand2++ tidak akan di evaluasi
karena pada operand1 sudah bernilai true jadi program tidak akan memperdulikan
sesuatu yang terjadi pada operand2 tapi jika operand1 bernilai false maka program
akan mengevaluasi operand2.
Pada logika ^ (exclusive OR), operand akan bernilai true jika nilai boolean pada
kedua operand tidak sama dan akan bernilai false jika nilai boolean pada kedua
operand sama. Berikut ini merupakan tabel kebenaran untuk logika ^ (exclusive
OR).
---- OPERAND1 ---- ---- OPERAND2 ---- ---- HASIL ----
Logika ! (NOT) digunakan hanya untuk satu Operand saya, logika NOT akan
menghasilkan true jika nilai pada boolean berisi false dan akan bernilai false jika
nilai pada boolean berisi true, singkatnya operator ini merupakan kebalikan
dari true menjadi false dan false menjadi true. Tebel kebenaran untuk logika
NOT seperti ini.
true false
false true
Untuk contoh programnya seperti berikut ini.
A. Operator Arithmatika
1. Buat Project baru, beri nama project, dan pilih empty activity
2. Buka file activity_main.xml, lalu desain widget menggunakan layout
linear dan relative seperti berikut ini.
3. Atau bisa dari tab code membuat coding seperti berikut ini.
<EditText
android:id="@+id/inputpertama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="bilangan pertama"
android:inputType="number" />
<EditText
android:id="@+id/inputkedua"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="bilangan kedua"
android:inputType="number" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="20dp"
android:gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:onClick="prosestambah"
android:id="@+id/tambah"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/tambah"
android:text="-"
android:onClick="proseskurang"
android:id="@+id/kurang"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/kurang"
android:text="x"
android:onClick="proseskali"
android:id="@+id/kali"/>
<TextView
android:id="@+id/hasil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="50dp"
android:background="#ED5A5A"
android:text="HASIL"
android:textAlignment="center"
android:textSize="30sp" />
</LinearLayout>
package com.example.contohoperator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
1. Buat project baru, pilih empty activity, beri nama project sesuai keinginan
2. Buka file activity_main.xml, desain activity tambahkan edittext, button dan
textview, seperti berikut ini.
<EditText
android:id="@+id/inputpertama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="operator logika kesatu"
android:inputType="text" />
<EditText
android:id="@+id/inputkedua"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="operator logika kedua"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingTop="20dp">
<Button
android:id="@+id/opor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="logikaor"
android:text="OR" />
<Button
android:id="@+id/opand"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/opor"
android:onClick="logikaand"
android:text="AND" />
<Button
android:id="@+id/opnot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/opand"
android:onClick="logikanot"
android:text="NOT" />
<Button
android:id="@+id/bagi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/opnot"
android:onClick="logikaxor"
android:text="XOR" />
</RelativeLayout>
<TextView
android:id="@+id/hasil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
<TextView
android:id="@+id/hasil"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="50dp"
android:background="#ED5A5A"
android:text="HASIL"
android:textAlignment="center"
android:textSize="30sp" />
</LinearLayout>
package com.example.operatorlogika;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Buatlah project android yang terdiri dari beberapa activity, ketika diklik
next muncul activity berikutnya, dengan ketentuan sebagai berikut.
HITUNG
HITUNG
TOTAL HARGA
A. Instruksi Pemilihan/Pengkondisian
If kontrol
Multi If - else
Pada sebuah hotel, harga ditentukan oleh Tipe Kamar dan Lama Menginap pada
hotel tersebut. Hotel tersebut memiliki 3 tipe kamar, yaitu : Superior, Deluxe, dan
Premium. Dengan aturan harga tampak seperti berikut :
A. Instruksi Pemilihan If
package com.example.latihaninput;
import android.support.v7.app.AppCompatActivity;
btnhitung.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
nuh = Double.parseDouble(input1.getText().toString());
nuts = Double.parseDouble(input2.getText().toString());
nuas = Double.parseDouble(input3.getText().toString());
na= (nuh+nuts+nuas)/3;
txtnilai.setText(Double.toString(na));
if (na>70 && na<100){
txtket.setText("Alhamdulilah lulus");
}
else if(na<70){
txtket.setText("belum lulus");
}
else {
txtket.setText("tidak ada nilai");
}
}
});
}
}
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:gravity="center"
android:text="Daftar Diklat di BBPPMPV BMTI"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
<CheckBox
android:id="@+id/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Diklat Android" />
<CheckBox
android:id="@+id/basisdata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Diklat Basis Data" />
</LinearLayout>
<Button
android:id="@+id/daftar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=" Daftar" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:gravity="center"
android:text="Diklat yang ingin diikuti"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/pilihan_satu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Pilihan 1: "
android:textColor="#000000"
android:textSize="14sp" />
<TextView
android:id="@+id/pilihan_dua"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="Pilihan 2: "
android:textColor="#000000"
android:textSize="14sp" />
<TextView
</LinearLayout>
package com.example.proyekif;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
//deklarasi variabel
daftar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PENGGUNAAN RADIO BUTTON!"
android:textColor="#100F0F"
<RadioGroup
android:id="@+id/menuopsi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.416">
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:buttonTint="#F65889"
android:text="MEMBUAT LAYOUT"
android:textColor="#F3F2F5"
android:textSize="18sp"
tools:layout_editor_absoluteX="133dp"
tools:layout_editor_absoluteY="247dp" />
<RadioButton
android:id="@+id/radio2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:buttonTint="@color/teal_200"
android:text="CODING MAINACTIVITY.JAVA"
android:textSize="18sp"
tools:layout_editor_absoluteX="133dp"
tools:layout_editor_absoluteY="247dp" />
<RadioButton
android:id="@+id/radio3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:buttonTint="@color/purple_700"
android:text="MEMPERBAIKI ERROR CODE"
</RadioGroup>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="APA KESULITAN ANDA DALAM CODING ANDROID?"
android:textColor="#100F0F"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.276" />
</android.support.constraint.ConstraintLayout>
package com.example.radiobutton5;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.Toast;
//deklarasi variabel
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pilihan=findViewById(R.id.menuopsi);
pilihan.setOnCheckedChangeListener(new
RadioGroup.OnCheckedChangeListener() {
@Override
5. Jalankan program pada AVD, akan terlihat output, jika dipilih salah satu
radio buttonnya misalnya memilih pilihan ketiga, maka akan terlihat
tampilan text memperbaiki error code (pilihan ketiga) pada toast, seperti
berikut ini.
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PROFIL SMK"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.175"
android:textColor="#191717"
android:textSize="24sp"
tools:layout_editor_absoluteX="153dp"
package com.example.proyekmenu;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.content.Intent;
import android.view.MenuItem;
import android.widget.Toast;
import android.app.AlertDialog;
import android.content.DialogInterface;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menusaya, menu);
return true;
}
case R.id.menu2:
Toast.makeText(getApplicationContext(), "Struktur
Organisasi", Toast.LENGTH_SHORT).show();
break;
case R.id.menu3:
Toast.makeText(getApplicationContext(), "Kompetensi
Keahlian", Toast.LENGTH_SHORT).show();
break;
Toast.makeText(getApplicationContext(), "EXIT",
Toast.LENGTH_SHORT).show();
break;
}
return true;
}
}
6. Jalankan program pada AVD, sehingga terlihat output, ketika menu profil
SMK diklik, akan membuka activity kedua, yang berisi textview profil SMK
dan akan muncul toast Profil SMK seperti berikut ini.
3. Desain layout dapat dilakukan dari tab code dengan membuat coding
berikut ini.
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FOR"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.817"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.346" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="WHILE"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.157"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.346" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DO WHILE"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.346" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="HASILNYA"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
</android.support.constraint.ConstraintLayout>
6. package com.example.contohulang;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
twhile=(Button)findViewById(R.id.button1);
tdo=(Button)findViewById(R.id.button2);
tfor=(Button)findViewById(R.id.button3);
twhile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int angka=0;
while (angka<=12){
output.setText(output.getText().toString()+angka);
angka++;
}
}
});
tdo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int angka=0;
output.setText(output.getText().toString()+angka+"\n");
angka=angka+1;
}while (angka<=12);
}
});
tfor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int angka;
for (angka=0;angka<=12;angka++){
output.setText(output.getText().toString()+angka+"\n");
}
}
});
}
}
7. Jalankan program pada AVD, klik salah satu tombol while, do while atau
for, maka akan terlihat tampilan berikut ini.
3. Desain layout dapat juga dibuat dari tab code, dan buat coding berikut
ini
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Instruksi Pengulangan!"
android:textColor="#100F0F"
<EditText
android:id="@+id/edit1"
android:layout_width="280dp"
android:layout_height="43dp"
android:ems="10"
android:hint="input batas akhir pengulangan"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.368"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.298" />
<TextView
android:id="@+id/txthasil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="HASILNYA"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.598" />
<Button
android:id="@+id/button1"
android:layout_width="72dp"
android:layout_height="52dp"
android:text="FOR"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.049"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.423" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.337"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.426" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="WHILE"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.647"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.426" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CLEAR"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.95"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.426" />
</android.support.constraint.ConstraintLayout>
6. package com.example.contohwhile;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.EditText;
import android.widget.Button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input1 = (EditText) findViewById(R.id.edit1);
output = (TextView) findViewById(R.id.txthasil);
tfor = (Button) findViewById(R.id.button1);
twhile = (Button) findViewById(R.id.button3);
tdo = (Button) findViewById(R.id.button2);
tclear = (Button) findViewById(R.id.button4);
tfor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Integer no =
Integer.parseInt(input1.getText().toString());
StringBuilder tampil = new StringBuilder();
for (int i = 0; i <= no; i++) {
tampil.append(i);
}
output.setText(tampil);
}
});
tdo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Integer no =
Integer.parseInt(input1.getText().toString());
StringBuilder tampil = new StringBuilder();
int i = 0;
do {
tampil.append(i);
i++;
} while (i <= no);
output.setText(tampil);
}
});
}
});
tclear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
output.setText("");
}
});
}
NEXT
Buatlah activity keenam ini, dengan yang ditampilkan adalah input nama
konsumen, pemilihan tipe kamar dan lama menginap, serta total harga
hotel. Penggunaan widget dan layout disesuaikan dengan kebutuhan
Akses sebuah aplikasi dapat dibatasi dengan membuat form login, dimana user
harus memasukkan username dan password untuk dapat membuka aplikasi. Form
login dapat dibuat menggunakan fasilitas login activity yang ada pada android
studio. Sedangkan untuk pembatasan akses dengan memasukkan username dan
password dapat menerapkan instruksi pemilihan if else. Berikut ini tahapan
pembuatan form login.
1. Buka salah satu proyek yang sudah ada sebelumnya, lalu buat activity baru
dengan cara klik File, new Activity, pilih empty Activity, seperti berikut ini.
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DIKLAT ANDROID 2020"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.613"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.16" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Selamat datang di BMTI"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.566"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.085" />
<EditText
android:id="@+id/edit1"
android:layout_width="360dp"
android:layout_height="49dp"
android:inputType="textPersonName"
android:hint="username"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.49"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
<ImageView
android:id="@+id/imageView2"
android:layout_width="210dp"
android:layout_height="198dp"
android:src="@drawable/ikon1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.542"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.313" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="LOGIN"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.894" />
<EditText
android:id="@+id/edit2"
android:layout_width="349dp"
android:layout_height="63dp"
android:ems="10"
android:hint="password"
android:inputType="textPassword"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.403"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.76" />
</android.support.constraint.ConstraintLayout>
package com.example.projekkesatu;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.content.Intent;
import android.app.AlertDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_form_login);
//inisialisasi widget
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
usernamekey = username.getText().toString();
passwordkey = password.getText().toString();
if (usernamekey.equals("bmti") &&
passwordkey.equals("bmti")) {
//jika login berhasil
Toast.makeText(getApplicationContext(), "LOGIN SUKSES",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(FormLogin.this,
MainActivity.class);
FormLogin.this.startActivity(intent);
finish();
} else {
//jika login gagal
AlertDialog.Builder builder = new
AlertDialog.Builder(FormLogin.this);
builder.setMessage("Username atau Password Anda salah!")
.setNegativeButton("Retry",
}
});
<application
android:allowBackup="true"
android:icon="@mipmap/jinlewbbm"
android:label="@string/app_name"
android:roundIcon="@mipmap/jinlewbbm"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FormLogin">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity">
</activity>
</application>
</manifest>
// cara pertama
String[] nama;
// cara kedua
String nama[];
Contoh: String namasiswa[5] ini artinya nama array adalah namasiswa berjumlah
5 elemen,dengan tipe data string. Array yang kosong dapat diisi data, pastikan
mengisinya dengan data yang sesuai dengan tipe datanya.
nama[0] = "Linda";
nama[1] = "Santi";
nama[2] = "Susan";
nama[3] = "Mila";
nama[4] = "Ayu";
Pengisian array dapat dilakukan secara langsung mengisi datanya seperti berikut
ini.
Array memiliki indeks untuk memudahkan kita mengakses datanya, oleh sebab itu
bisa mengambil data array dapat dilakukan dengan cara seperti ini:
// membuat array
String[] nama = {"Linda", "Santi", "Susan", "Mila", "Ayu"};
Outputnya adalah elemen array ke-2 , yatu Susan karena indeks array dimulai dari
0.
Jika elemen array jumlahnya sangat banyak maka pengambilan data satu persatu
akan membuat baris code menjadi sangat panjang, selain itu juga harus membuat
ulang nama array-nya dengan indeks yang berbeda.
Contoh:
System.out.println(teman[0]);
System.out.println(teman[1]);
System.out.println(teman[2]);
System.out.println(teman[3]);
Jika data array-nya sampai 1000, maka harus mengetik kode sebanyak seribu kali.
Oleh sebab itu akan lebih mudah menggunakan instruksi perulangan untuk array
dengan jumlah elemen yang sangat banyak. Contoh coding java penggunaan
instruksi pengulangan pada array
import java.util.Scanner;
// membuat scanner
Scanner scan = new Scanner(System.in);
System.out.println("---------------------------");
}
}
Output:
String[][] kontak = {
{"Lili","08111"},
{"Lala","08122"},
{"Maya","08133"}
};
Indek ke-0 pada array kontak berisi array {"lili","08111"}.
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Contoh Array!"
android:textColor="#101010"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.11" />
<ListView
android:id="@+id/list1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="30dp"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="32dp">
</ListView>
</android.support.constraint.ConstraintLayout>
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
ListView list;
ArrayAdapter adapter1;
String namasiswa[] = {"andi", "ali", "fina",
"dodo"};
//Button tombol;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//inisialisasi widget
//tombol=(Button)
findViewById(R.id.button1);
adapter1 = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, namasiswa);
list = (ListView)
findViewById(R.id.list1);
list.setAdapter(adapter1);
}
}
3. Desain dapat dilakukan dengan cara membuat coding berikut ini pada tab
code
4. <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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">
<TextView
android:id="@+id/judul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ARRAY DINAMIS"
android:textColor="#0E0E0E"
<EditText
android:id="@+id/anama"
android:layout_width="326dp"
android:layout_height="54dp"
android:ems="10"
android:inputType="text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.494"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.146" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hasilnya"
android:textColor="#0B0B0B"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.203"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.359" />
<Button
android:id="@+id/btnsubmit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.255" />
<ListView
android:id="@+id/list_data"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.constraint.ConstraintLayout>
package com.example.contoharray2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//inisialisasi widget
listView = findViewById(R.id.list_data);
InputData = findViewById(R.id.anama);
simpan = findViewById(R.id.btnsubmit);
simpan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ambildata myKonten = new ambildata();
myKonten.setData(InputData.getText().toString());
adapter.add(myKonten);
Toast.makeText(getApplicationContext(),"Data Tersimpan",
9. Jalankan program pada AVD, input nama siswa, lalu klik tombol submit,
terlihat output seperti berikut ini.
TUJUAN PEMBELJARAN:
1. Membuat Basis data menggunakan DBMS MYSQL
2. Membuat API Web Services
3. Membuat project android studio terhubung ke API Web Services
Dalam membuat aplikasi android yang terhubung ke basis data dapat dilakukan
dengan berbagai cara diantaranya menggunakan SQLITE untuk pembuatan basis
datanya. SQLITE merupakan single database yang dapat menyatu dengan aplikasi
androidnya, artinya semua query databasenya mencakup create database, add,
edit, delete database berada pada file aplikasi androidnya. Tetapi penggunaan
SQLITE memiliki keterbatasan yaitu tidak bisa untuk database client server dan juga
keterbatasan dalam ukuran dan jumlah data. Artinya SQLITE tidak bisa
menampung data dalam jumlah yang sangat besar. Oleh sebab itu dalam kegiatan
pembelajaran ini, akan digunakan cara lain yaitu menggabungkan aplikasi android
yang dibuat dengan android studio, dengan database MYSQL. Ada 3 hal yang perlu
dilakukan dalam membuat aplikasi android dengan cara tersebut yaitu:
MySQL adalah salah satu contoh perangkat lunak DBMS yang memiliki fitur
pengelolaan data serta menggunakan perintahSQL ( Structured Query
Language). MySQL memiliki dua bentuk lisensi, yaitu FreeSoftware dan
Shareware. MySQL yang biasa digunakan adalah MySQL FreeSoftware yang
berada dibawah lisensi GNU/GPL (General Public License).
MySQL merupakan sebuah database server yang free, artinya bebas menggu
nakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli
pada bagian ini klik pada bagian apache dan mysql untuk
mengaktifkan xampp, kemudian klik tombol start.
a b
a
3. Mengisi data, type, dan value pada tabel siswa
a. Struktur tabel yang akan dibuat,
Name Type Value index
nis Varchar 10 primary
namasiswa Varchar 50 -
alamat Varchar 50 -
jk Varchar 15 -
b. klik simpan
b. Cara melihat tabel, klik tabel siswa pada database sekolah lalu klik menu
jelajahi / browse
b. Cara melihat tabel, klik tabel siswa pada database sekolah lalu klik menu
jelajahi / browse
b. Tabel Keahlian
Name Type Value index
kdpk Varchar 10 primary
namapk Varchar 30 -
c. Tabel Admin
Name Type Value index
no Int 18 primary
username Varchar 15 -
password Varchar 15 -
d. Tabel Galery
Name Type Value index
Id Int 11 primary
deskripsi Varchar 50 -
foto text -
e. Tabel Kelas
Name Type Value index
kdkelas Varchar 10 primary
namakelas Varchar 30 -
f. Tabel Mapel
Name Type Value index
kdmapel Varchar 10 primary
namamapel Varchar 30 -
g. Tabel Mengajar
Name Type Value index
kdmengajar Varchar 10 primary
h. Tabel Nilai
Name Type Value index
kdnilai Varchar 10 primary
nis Varchar 10 -
kdguru Varchar 10 -
kdpk Varchar 10 -
Kdkelas Varchar 10 -
kdmapel Varchar 10 -
uh Double - -
uts Double - -
uas Double - -
na Double - -
c. Pilih tabel yang akan direlasikan klik yang menjadi primary key (kunci
rujukan), dalam contoh ini adalah kdguru pada tabel guru
h. Cara menghapus relasi, klik pada ujung relasi foreign key lalu klik
hapus/delete
Pembuatan API web services akan menggunakan PHP, dimana file PHP ini
digunakan untuk parsing data aplikasi Android. Pada tahap pembuatan API web
services ini, ada beberapa tahap yang harus dilakukan, seperti berikut ini.
<?php
?>
include 'koneksi.php';
$username = $_POST["username"];
$password = md5($_POST["password"]);
$response = array();
$data = array();
<?php
<?php
$nis = $_GET['nis'];
//Import File Koneksi Database
require_once('../koneksi.php');
//Membuat SQL Query
$sql = "DELETE FROM siswa WHERE nis=$nis;";
mysqli_close($con);
?>
Tahapan terakhir adalah membuat project android studio yang akan terhubung
dengan API web services yang telah dibuat sebelumnya. Berikut ini adalah tahapan
pembuatan project android studio aplikasi android smkbmti.
A. Pengaturan android.manifes
Buka file androidmanifest.xml, tambahkan source code android permisiion
seperti berikut ini.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.aplikasibmti">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Aplikasibmti">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
1. Klik kanan pada package, klik new java class, beri nama konfigurasi
seperti berikut ini
//JSON Tags
//ID karyawan
//emp merupakan singkatan dari Employee
public static final String EMP_ID = "emp_id";
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import javax.net.ssl.HttpsURLConnection;
//Konfigurasi koneksi
conn.setReadTimeout(15000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
writer.flush();
writer.close();
os.close();
int responseCode = conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK) {
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}
String s;
while ((s = bufferedReader.readLine()) != null) {
sb.append(s + "\n");
}
} catch (Exception e) {
}
return sb.toString();
}
result.append(URLEncoder.encode(entry.getKey(), "UTF-
8"));
result.append("=");
result.append(URLEncoder.encode(entry.getValue(),
"UTF-8"));
}
return result.toString();
}
}
2. Desain bisa dibuat dari tab code dengan membuat coding berikut ini.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent" android:paddingLeft="16dp"
android:paddingRight="20dp"
android:paddingTop="50dp"
android:paddingBottom="20dp"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NIS Siswa" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextnis" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextName" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Jenis kelamin" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextDesg" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alamat" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextSalary" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Tambah Siswa"
android:id="@+id/buttonAdd" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Tampilkan data Siswa"
android:id="@+id/buttonView" />
</LinearLayout>
import android.support.v7.app.AppCompatActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.HashMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextnis = (EditText) findViewById(R.id.editTextnis);
editTextName = (EditText) findViewById(R.id.editTextName);
editTextDesg = (EditText) findViewById(R.id.editTextDesg);
editTextSal = (EditText) findViewById(R.id.editTextSalary);
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String nis = editTextnis.getText().toString().trim();
final String name =
editTextName.getText().toString().trim();
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(MainActivity.this,
"Menambahkan...", "Tunggu...", false, false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(MainActivity.this, s,
Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(Void... v) {
HashMap<String, String> params = new HashMap<>();
params.put(Konfigurasi.KEY_EMP_ID, nis);
params.put(Konfigurasi.KEY_EMP_NAMA, name);
params.put(Konfigurasi.KEY_EMP_POSISI, desg);
params.put(Konfigurasi.KEY_EMP_GAJIH, sal);
});
}
}
3. Desain tersebut dapat dibuat dari tab code seperti berikut ini.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listView" />
</LinearLayout>
4. Buat file xml, dengan nama list_item.xml, lalu tambahkan coding berikut
ini.
<TextView
android:id="@+id/id"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
package com.example.aplikasibmti;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
listView = (ListView) findViewById(R.id.listView);
listView.setOnItemClickListener(this);
getJSON();
} catch (JSONException e) {
listView.setAdapter(adapter);
}
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(MainActivity2.this, "Mengambil
Data", "Mohon Tunggu...", false, false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
JSON_STRING = s;
showEmployee();
}
@Override
protected String doInBackground(Void... params) {
RequestHandler rh = new RequestHandler();
String s = rh.sendGetRequest(Konfigurasi.URL_GET_ALL);
return s;
}
}
GetJSON gj = new GetJSON();
gj.execute();
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
}
}
8. Desain dapat dilakukan dari tab code dengan membuat coding berikut ini.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent" android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:paddingBottom="16dp" tools:context=".MainActivity3">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextId" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama Pegawai" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextName" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Posisi" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextDesg" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Salary" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editTextSalary" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Update Pegawai"
android:id="@+id/buttonUpdate" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hapus Pegawai"
android:id="@+id/buttonDelete" />
</LinearLayout>
package com.example.aplikasibmti;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AlertDialog;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
id = intent.getStringExtra(Konfigurasi.EMP_ID);
buttonUpdate.setOnClickListener(this);
buttonDelete.setOnClickListener(this);
editTextId.setText(id);
getEmployee();
}
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(MainActivity3.this,
"Fetching...", "Wait...", false, false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
showEmployee(s);
}
@Override
protected String doInBackground(Void... params) {
RequestHandler rh = new RequestHandler();
String s = rh.sendGetRequestParam(Konfigurasi.URL_GET_EMP,
id);
return s;
}
}
GetEmployee ge = new GetEmployee();
ge.execute();
}
editTextName.setText(name);
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(MainActivity3.this,
"Updating...", "Wait...", false, false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(MainActivity3.this, s,
Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(Void... params) {
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put(Konfigurasi.KEY_EMP_ID, id);
hashMap.put(Konfigurasi.KEY_EMP_NAMA, name);
hashMap.put(Konfigurasi.KEY_EMP_POSISI, desg);
hashMap.put(Konfigurasi.KEY_EMP_GAJIH, salary);
String s = rh.sendPostRequest(Konfigurasi.URL_UPDATE_EMP,
hashMap);
return s;
}
}
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(MainActivity3.this,
"Updating...", "Tunggu...", false, false);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(MainActivity3.this, s,
Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(Void... params) {
RequestHandler rh = new RequestHandler();
String s =
rh.sendGetRequestParam(Konfigurasi.URL_DELETE_EMP, id);
return s;
}
}
alertDialogBuilder.setPositiveButton("Ya",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
deleteEmployee();
startActivity(new Intent(MainActivity3.this,
MainActivity2.class));
}
});
alertDialogBuilder.setNegativeButton("Tidak",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
@Override
public void onClick(View v) {
if (v == buttonUpdate) {
updateEmployee();
}
if (v == buttonDelete) {
confirmDeleteEmployee();
}
}
}
10. Jalankan program pada AVD, terlihat output, input data siswa , klik
tambah maka data akan bertambah ke tabel siswa.
3. Pembuatan desain bisa dilakukan dari tab code seperti berikut ini.
<?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:layout_width="match_parent"
android:layout_height="match_parent"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:orientation="vertical">
<ImageView
android:id="@+id/logo"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="@drawable/ikon1" />
<TextView
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:text="DIKLAT ANDROID BBPPMPV BMTI 2020"
android:textSize="18dip"
android:textStyle="bold" />
<View
android:id="@+id/View1"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#448AFF" />
<TextView
android:id="@+id/txt_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:text="ID" />
<TextView
android:id="@+id/txt_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:text="Username" />
<Button
</LinearLayout>
</RelativeLayout>
1. Buat activity baru, klik File, New Activity, empty activity, beri nama activity
sesuai keinginan.
2. Buat desain tampilan seperti berikut ini.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:orientation="vertical">
<ImageView
android:id="@+id/logo"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="@drawable/ikon1" />
<TextView
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:text="DIKLAT ANDROID BBPPMPV BMTI 2020"
android:textSize="18dip"
android:textStyle="bold" />
<View
android:id="@+id/View1"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#448AFF" />
<TextView
android:id="@+id/TextView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="30dip"
android:text="SILAKAN LOGIN"
android:textSize="16dip" />
<EditText
android:id="@+id/txt_username"
android:layout_width="match_parent"
<EditText
android:id="@+id/txt_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:hint="Password"
android:password="true"
android:singleLine="true" />
<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="15dp"
android:text="Login"
android:background="#448AFF"
android:textColor="#fff"
android:textStyle="bold" />
<Button
android:id="@+id/btn_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="15dp"
android:background="#00555555"
android:text="Register"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:orientation="vertical">
<ImageView
android:id="@+id/logo"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="@drawable/ikon1" />
<TextView
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
<View
android:id="@+id/View1"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#448AFF" />
<TextView
android:id="@+id/TextView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="30dip"
android:text="REGISTER BELOW"
android:textSize="16dip" />
<EditText
android:id="@+id/txt_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:hint="Username"
android:inputType="textEmailAddress"
android:singleLine="true" />
<EditText
android:id="@+id/txt_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:hint="Password"
android:password="true"
android:singleLine="true" />
<EditText
android:id="@+id/txt_confirm_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:hint="Comfirmation Password"
android:password="true" />
<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="15dp"
android:background="#00555555"
android:text="Login"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>