Percabangan merupakan sebuah logika didalam pemrograman dimana hasil memiliki nilai True atau False. Ada 2 jenis metode percabangan yang digunakan di dalam bahasa pemrograman. yaitu IF dan Switch Case. Namun disini kita akan membahas tentang percabangan IF. Mari Mulai...
Percabangan IF Tunggal
Percabagan IF tunggal adalah sebuah logica dimana hanya terdapat nilai TRUE. Jika nilai FALSE proses akan berhenti.
penulisan percabangan adalah:
if(Kondisi){
Statement
}
Contoh Kasus:
Buatlah projek baru di android studio. Anda bisa menggunakan bahasa java/kotlin. Di hlaamn Activity_Main.xml buatlah desain halaman UI. silahkan anda lihat scriptnya seperti berikut:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:orientation="vertical"
android:background="?android:attr/windowBackground"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Apakah anda anggota [Y/T]?"
android:textSize="16dp"
android:layout_marginRight="10dp"/>
<EditText
android:id="@+id/txtJawab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Y | T"
android:inputType="text"/>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Jawaban"
android:onClick="Jawab"/><EditText</LinearLayout>
android:id="@+id/lblJawab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Ket :"/>
Program
Selanjutnya buka halaman MainActivity.java, jika anda menggunakan basa java dan ketikkan program berikut:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void Jawab(View view) {
EditText tJawab = findViewById(R.id.txtJawab);
EditText lJawab = findViewById(R.id.lblJawab);
//variable
String jawab = tJawab.getText().toString();
//Logical
if(jawab =="Y"){
lJawab.setText("Anda Adalah Anggota");
}
}
Percabangan IF Bertingkat
Percabangan IF Bertingkat merupakan percabangan yang memiliki nilai keputusan lebih dari satu Penulisan percabangan ini adalah"
if(kondis){
Statement
}else{
Statement
}
Masih dalam desain yang diatas, lengkapi programnya seperti script dibawah ini:
Program:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void Jawab(View view) {
EditText tJawab = findViewById(R.id.txtJawab);
EditText lJawab = findViewById(R.id.lblJawab);
//variable
String jawab = tJawab.getText().toString();
String ket;
//Logical
if(jawab.equals("Y")){
ket = "Anda Adalah Anggota";
}else if(jawab.equals("T")){
ket = "Anda bukan Anggota";
}else{
ket ="Jawban Salah";
}
lJawab.setText("KET :"+ket);
}
}
Pada bahasa kotlin anda buat seperti berikut:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
fun Jawab(view: View) {}
val tJawab = findViewById<EditText>(R.id.txtJawab)
val lJawab = findViewById<EditText>(R.id.lblJawab)
//variable
//variable
val jawab = tJawab.text.toString()
val ket: String
//Logical
ket = if (jawab == "Y") {
"Anda Adalah Anggota"
} else if (jawab == "T") {
"Anda bukan Anggota"
} else {
"Jawban Salah"
}
lJawab.setText("KET :$ket")
}
Metode equals() membandingkan dua String berdasarkan kontennya. Sehingga, apabila dua buah String memiliki huruf-huruf yang sama, diurutan yang sama dan besar-kecil yang sama maka dua String ini akan dianggap sama.
Jangan lakukan pembandingan karakter dengan operator '=='. karena operator tersebut berfungsi untuk membandingkan angka.
Latihan:
Buatlah UI dengan Code berikut:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:orientation="vertical"
android:background="?android:attr/windowBackground"
tools:context=".MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="APP_NILAI"
android:textAlignment="center"
android:textSize="28dp"
android:background="@color/purple_200"
android:textColor="@color/white"
android:textStyle="bold"
android:padding="15dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Nilai Tugas"
android:textSize="16dp"
android:layout_marginTop="20dp"/>
<EditText
android:id="@+id/txtTugas"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nilai Tugas"
android:inputType="number"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Nilai Quiz"
android:textSize="16dp"
android:layout_marginTop="20dp"/>
<EditText
android:id="@+id/txtQuiz"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nilai Quiz"
android:inputType="number"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Nilai UTS"
android:textSize="16dp"
android:layout_marginTop="20dp"/>
<EditText
android:id="@+id/txtUTS"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nilai UTS"
android:inputType="number"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Nilai UAS"
android:textSize="16dp"
android:layout_marginTop="20dp"/>
<EditText
android:id="@+id/txtUAS"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nilai UAS"
android:inputType="number"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Cek Nilai"
android:layout_marginTop="20dp"
android:onClick="bobot"/>
<EditText
android:id="@+id/lblRerata"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Rata-rata :"/>
<EditText
android:id="@+id/lblKet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Ket :"/>
</LinearLayout>
Berikut Programnya:
package com.example.latihan_app;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void bobot(View view) {
EditText Quiz = findViewById(R.id.txtQuiz);
EditText Tugas = findViewById(R.id.txtTugas);
EditText UAS = findViewById(R.id.txtUTS);
EditText UTS = findViewById(R.id.txtUAS);
TextView lRerata = findViewById(R.id.lblRerata);
TextView lKet = findViewById(R.id.lblKet);
//variable
double quiz = Double.parseDouble(Quiz.getText().toString());
double tugas = Double.parseDouble(Tugas.getText().toString());
double uts = Double.parseDouble(UTS.getText().toString());
double uas = Double.parseDouble(UAS.getText().toString());
double rerata;
String ket;
//proses
rerata = (0.4*quiz) + (0.3*tugas) + (0.2*uts) + (0.1*uas);
//Logical
if(rerata >= 80){
ket ="A";
}else if(rerata >= 65){
ket ="B";
}else if(rerata >= 55){
ket ="C";
}else if(rerata >= 45){
ket ="D";
}else{
ket="E";
}
lRerata.setText("Rerata "+rerata);
lKet.setText("KET :"+ket);
}
}
Penutup
Demikianlah artikel kali ini, Semoga bermanfaat..