Percabangan Switch Case| WHEN (2)

Baringin
By -
0

Percabangan Switch

Pernyataan switch(JAVA) when(kotlin) adalah pernyataan pilihan ganda. Setelah memberikan pilihan dan ekspresi yang relevan untuk setiap pilihan dan menemukan pilihan yang cocok dengan ekspresi dan mengeksekusinya.


Pernyatan IF vs SWITCH

Mungkin sekilas kedua pernyataan tersebut hampir sama, namun ada perbedaan diantra keduanya yaiut:

NOBasic TermsIFSWITCH | WHEN
1Pengujian Ekspresi BersyaratPernyataan if-else dapat menguji ekspresi berdasarkan rentang nilai atau kondisiPernyataan switch menguji ekspresi hanya berdasarkan satu integer, nilai enumerated, atau objek string.
2Ideal digunakan pada case tertentucabang bersyarat if-else bagus untuk kondisi variabel yang menghasilkan Boolean.cabang bersyarat if-else bagus untuk kondisi variabel yang menghasilkan Boolean.
3Kondisi & ekspresiMemiliki kondisi yang berbeda adalah mungkin.Kita hanya dapat memiliki satu ekspresi


Mari Kita mulai Membuat Projek

    Buat projek baru. Di halaman Activity_Main.xml. Ganti Layout menjadi LinearLayout. Silahkan tambahkan komponen 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"
tools:context=".MainActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="PERNYATAAN SWITCH"
android:textSize="28dp"
android:textAlignment="center"
android:background="@color/purple_500"
android:textColor="@color/white"
android:padding="15dp"/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="KODE"
android:textSize="18dp"/>

<RadioGroup
android:id="@+id/rKode"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<RadioButton
android:id="@+id/rKode1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="B001" />
<RadioButton
android:id="@+id/rKode2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="B002" />
</RadioGroup>

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="CEK"
android:onClick="cek"/>

<TextView
android:id="@+id/lblKet"
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="KET :"
android:textSize="20dp"/>
</LinearLayout>

Perhatikan setiap komponen yang memiliki id. Sebab id ini akan dihubungkan dengan program nantinya. 

Buka halaman MainActivity.java. tambahkan method cek untuk memberi nilai action terhadap button. Method ditambahkan dibawah method utama

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void cek(View view) {
    }

Tampung id RadionButton dan  TextView. Variabel ditulis didalam method cek:

    public void cek(View view) {
RadioGroup Kode = findViewById(R.id.rKode);
TextView Ket = findViewById(R.id.lblKet);
    }

 Buat variable untuk menampung nilai Chekc radio dan variable untuk Ket JAVA:

 public void cek(View view) {
RadioGroup Kode = findViewById(R.id.rKode);
TextView Ket = findViewById(R.id.lblKet);
        int kode = Kode.getCheckedRadioButtonId();
String ket;
    }

Sedamglam di Kotlin:

public void cek(View view) {
val Kode = findViewById<RadioGroup>(R.id.rKode)
val Ket = findViewById<TextView>(R.id.lblKet)        
()int kode = Kode.getCheckedRadioButtonId      
        String ket
    }

Buatlah logika pernyataan Swicth(Kode) dibawah variable (JAVA):

    switch (kode) {
case R.id.rKode1:
ket = "Minuman";
break;
case R.id.rKode2:
ket = "Makanan";
break;

default:
ket = "Tampa keterangan";
break;
}

    Sedangkan Kotlin:

    when(kode) {
R.id.rKode1-> ket = "Minuman"
R.id.rKode2->ket = "Makanan"
else-> ket = "Tampa keterangan"
}

   

Case yang memiliki nilai R.id.rKode1 atau R.id.rKode2 merupakan id dari RadioButton yang dibuat di Activity_Main.xml tadi. 

Terakhir buatlah output:

    Ket.setText("Keterangan:" + ket);
    

program Lengkap untuk JAVA:

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void cek(View view) {
RadioGroup Kode = findViewById(R.id.rKode);
TextView Ket = findViewById(R.id.lblKet);
int kode = Kode.getCheckedRadioButtonId();
String ket;

switch (kode) {
case R.id.rKode1:
ket = "Minuman";
break;
case R.id.rKode2:
ket = "Makanan";
break;

default:
ket = "Tampa keterangan";
break;
}
Ket.setText("Keterangan:" + ket);
}
}

KOTLIN

public void cek(View view) {
val Kode = findViewById<RadioGroup>(R.id.rKode)
val Ket = findViewById<TextView>(R.id.lblKet)        
()int kode = Kode.getCheckedRadioButtonId      
        String ket

when(kode) {
            R.id.rKode1-> ket = "Minuman"
R.id.rKode2->ket = "Makanan"
else-> ket = "Tampa keterangan"
}
Ket.setText("Keterangan:" + ket)
}

Penutup

Demikianlah sekilat tentang Swicth Case. Silahkan dikembangkan untuk membuat kasus yang lain. Terimakasih..


Post a Comment

0Comments

Post a Comment (0)