Apa Itu Method Void, Return dan Static pada Java

Apa Itu Method Void, Return dan Static pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Bagi kalian yang sedang mempelajari dasar-dasar pemrograman java, istilah method sering kali kita dengar dalam bahasa pemrograman, method tersebut digunakan sebagai container yang menampung berbagai statement atau sesutu rangkaian algoritma yang memiliki tujuan tertentu, terdapat beberapa jenis method pada bahasa pemrograman Java dan yang akan saya bahas pada tutorial ini yaitu Method void, return (non-void) dan static, ketiga method tersebut mempunyai fungsi yang sama, hanya saja cara penulisannya saja yang berbeda.

Panduan dasar cara menggunakan Method Void, Return dan Static pada Java

Materi Yang Harus Kalian Pelajari Sebelumnya:

A. Method Void

Void adalah method yang tidak memiliki nilai kembali/return, bisanya digunakan tidak untuk mencari nilai dalam suatu operasi, untuk mendeklarasikannya kita harus menembahkan kata kunci void.

Agar method tersebut dapat berjalan, kita perlu mamanggilnya pada method main, kita harus membuat objek dari class yang kita gunakan terlibuih dahulu, lalu panggil pada method main. Contohnya seperti berikut ini:

public class tutorial_dasar {
    
    String nama, makanan;
    
    public static void main(String[] args){
        // Membuat Objek dari Class tutorial_dasar
        tutorial_dasar Hewan = new tutorial_dasar();
        System.out.println("====== KUCING =======");
        Hewan.Kucing();
        System.out.println("====== KAMBING ======");
        Hewan.Kambing();
    }
    
    void Kucing(){
        nama = "Carberus";
        makanan = "Daging";
        System.out.println("Nama Kucing Saya Adalah "+nama);
        System.out.println("Kucing Saya Suka Makan "+makanan);
    }
    
    void Kambing(){
        nama = "Amaterasu";
        makanan = "Rumput";
        System.out.println("Nama Kambing Saya Adalah "+nama);
        System.out.println("Kambing Saya Suka Makan "+makanan);
    }
}

Demo:

Membuat Method Void pada Java

Disana terdapat 2 buah methode yang berbeda, pada masing-masing method mempunyai atribut yang berbeda pula, jadi method tersebut digunakan untuk mengkategorikan statement atau algoritma yang kita buat lalu memanggilnya pada method main menggunakan objek dari class.

B. Method Return (non-void)

Return adalah method yang mengembalikan nilai secara langsung atau sebuah nilai dari variable, cara penulisan method return seperti berikut ini:

//TipeData //NamaMethod(){
  return //Nilai yang ingin dikembalikan;
}

Tipe data pada method return harus sama dengan nilai yang ingin dikembalikan, contoh sederhanaya seperti ini:

public class tutorial_dasar {
    
    String hewan = "Domba";
    int kandang1 = 20, kandang2 = 100, hasil;
    
    public static void main(String[] args){
        // Membuat Objek dari Class tutorial_dasar
        tutorial_dasar data = new tutorial_dasar();
        System.out.println("Jenis Hewan: "+data.jenis());
        System.out.println("Jumlahnya: "+data.Jumlah()+ " Ekor");
    }
    
    String jenis(){
        //Mengembalikan Nilai Hewan
        return hewan;
    }
    
    int Jumlah(){
        hasil = kandang1 + kandang2;
        return hasil; //Mngembalikan Nilai dari Hasil
    }
}

Demo:

Contoh penggunaan method return pada java

C. Method Static

Static merupakan suatu sifat yang bisa kita gunakan pada variable atau method, jika kita menggunakan static pada sebuah variabel ataupun method, untuk memanggilnya kita tidak perlu menginisialisasi suatu class maksudnya kita tidak perlu membuat sebuah objek dari class, berbeda dengan jenis mthod sebelumnya, pada jenis method sebelumnya seperti Void dan Return kita harus membuat objek dari class terlebih dahulu untuk memanggil method tersebut.

Berikut ini merupakan contoh sederhana penggunaan static pada java, coba kalian perhatikan:

public class tutorial_dasar {
    
    //Menambahkan Sifat Static pada Variable
    static String nama;
    static int tahun_s = 2017, tahun_l = 1998, umur;
    static double IPK;
    
    public static void main(String[] args){
        //Memanggil Data Static pada Method Main
        nama = "Wildan";
        System.out.println("Nama Saya: "+nama);
        System.out.println("Umur Saya: "+Umur_Saya()+" Tahun");
        NilaiIPK();
    }
    
    //Menambahkan Sifat Static pada Method Return
    static int Umur_Saya(){
        umur = tahun_s - tahun_l;
        return umur;
    }
    
    //Menambahkan Sifat Static pada Method Void
    static void NilaiIPK(){
        IPK = 4.0;
        System.out.println("Nilai IPK Saya: "+IPK);
    }
}

Demo:

Menggunakan sifat static pada variable dan method

Perlu kalian ketahui, jika data yang kalian buat diubah menjadi static maka kalian harus memanggilnya pada method static juga, jika kalian memanggilnya seperti ini maka akan terjadi error.

public class tutorial_dasar {
    
    //Variable Bukan Static
    int tahun_s = 2017, tahun_l = 1998, umur;
    
    public static void main(String[] args){
        System.out.println("Umur Saya: "+Umur_Saya()+" Tahun");
    }
    
    static int Umur_Saya(){
        umur = tahun_s - tahun_l;
        return umur;
    }
}

Jika kalian jalankan, akan terjadi error, karena variable yang bukan static tidak bisa dipanggil pada method yang mempunyai sifat static, jadi keduanya harus memunyai sifat static.

Itulah tutorial dasar mengenai penggunaan macam-macam method pada java, jika ada yang ingin kalian tanyakan, silakan isi komentar dibawah, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Fungsi Perintah Break & Continue pada Java

Fungsi Perintah Break & Continue pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Dalam Java, kata kunci  Break dan Continue adalah struktur kontrol yang pada umumnya digunakan dalam sebuah perulangan seperti while, do-while dan for loops atau statement lainnya seperti switch-case, kedua keyword tersebut digunakan dalam sebuah statement untuk menghentikan dan melanjutkan pernyataan didalam statement pada kondisi tertentu

Cara Menggunakan Perintah Break dan Continue pada Java

Tutorial  kali ini kita akan belajar mengenai cara penggunaan Break dan Continue pada Java, disini kita akan membuat contoh program sederhana dengan menggunakan kedua kata kunci tersebut. Ok langsung saja kalian mulai tutorial berikut ini.

Materi Yang Harus Kamu Pelajari Sebelumnya:

A. Kata Kunci Break

Break pada umumnya digunakan dalam java untuk mengakhiri sebuah eksekusi dalam statement, dengan menggunakan kata kunci Break, pernyataan didalam statement akan langsung berhenti, jadi kita harus membuat sebuah kondisi. kapan program akan berhenti.

for loops digunakan saat diamana kita ingin melakukan hal yang khusus seperti jika nilainya mencapai angka tertentu atau lebih dari angka tertentu maka kita akan menghentikan program tersebut.

Contohnya seperti pad program berikut ini:

public class break_continue {
    public static void main(String[] args){
        for(int w=0; w<7; w++){
            if(w == 5){
                break;
            }else{
            System.out.println(w);
            }
        }
    }
}

Demo:

Contoh program menggunakan Kata Kunci Break

Dimana saat nilai pada variable w mencapai angka 5, maka program akan berhenti total dan pernyataan dialam for loops tidak akan di eksekusi kembali.

Selain pada statement perulangan, pada umumnya saat kita menggunakan statement switch-case, pernyataan didalam case perlu kita tambahkan atau akhiri dengan Break,

Seperti pada contoh berikut ini:

public class break_continue {
    public static void main(String[] args){
        int Makanan = 2;
        switch(Makanan){
            case 1:
                System.out.println("Ayam Goreng");
                break;
            case 2:
                System.out.println("Mie Rebus");
                break;
            case 3:
                System.out.println("Bakso");
                break;
            default:
                System.out.println("Menu Tidak Ditemukan");
        }
    }
}

Demo:

Contoh penggunaan Break pada statement Switch

Jika kita hilangkan kata kunci switch pada case tersebut, maka menjadi seperti ini:

public class break_continue {
    public static void main(String[] args){
        int Makanan = 2;
        switch(Makanan){
            case 1:
                System.out.println("Ayam Goreng");
            case 2:
                System.out.println("Mie Rebus");
            case 3:
                System.out.println("Bakso");
            default:
                System.out.println("Menu Tidak Ditemukan");
        }
    }
}

Demo:

Contoh statement switch-case tampa diakhiri dengan Break

B. Kata Kunci Continue

Berbeda dengan Break, kata kunci Continue tidak akan menghentikan program saat dieksekusi misalnya menggunakan for loops tapi hanya akan mengskip atau melewatinya saja.

Contohnya seperti berikut ini:

public class break_continue {
    public static void main(String[] args){
        for(int w=0; w<7; w++){
            if(w == 4){
                continue;
            }else{
            System.out.println(w);
            }
        }
    }
}

Demo:

Contoh program menggunakan Keyword Continue

Coba kalian perhatikan, saat nilai pada variable w berada pada angka 4, maka program akan mengskip atau melewatkan pengeksekusin tersebut maka for loops akan langsung melanjutkan pada perulangan selanjutnya tampa mencetak nilai 4 terlebih dahulu.

Itulah tutorial dasar mengenai penggunaan Break dan Continue pada Java, semoga bermanfaat serta mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Cara Mendapatkan Input dan Menampilkan Output pada Java

Cara Mendapatkan Input dan Menampilkan Output pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Dalam pemrograman Java, ada beberapa class yang bisa kita digunakan untuk mengambil input dari user, yaitu Scanner, BufferedReader dan JOptionPane, ketiga class tersebut mempunyai fungsi yang sama, akan tetapi pada JOptionPane, class ini memiliki tampilan visual atau GUI.

Cara menggunakan Scanner, BufferedReader, JOptionPane pada Java

Sebuah project aplikasi pastinya memerlukan input data dari user untuk diproses menjadi output, dalam java kita dapat membuat program yang memungkinkan user untuk menginputkan data pada sebuah variable dan mencetak hasilnya pada layar monitor.

A. Class Scanner

Untuk menggunakan Scanner, kita perlu membuat objek dari class Scanner, class tersebut berada didalam package java.util.*, jadi kita perlu menginport packagenya terlebih dahulu, setelah package dan objek selesai dibuat, selanjutnya kita membutuhkan sebuah variabel untuk menampung nilai yang di inputkan dari user.

Kita akan membuat program sederhana menggunakan scanner, pada program tersebut user diminta untuk menginputkan sesuatu, hasilnya akan di cetak menggunakan System.out.println(), coba kalian perhatikan contoh program berikut ini:

//Package Yang Dibutuhkan Untuk Memuat Class Scanner
import java.util.Scanner;

public class input_example {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in); //Membuat Objek dari Class Scanner
        String nama; //Variabel String, Untuk Menyimpan Input dari User
        System.out.print("Siapa Nama Kamu: ");
        nama = input.nextLine(); //Mendapatkan Input dari User
        System.out.println("Nama Saya "+nama); //Mencetak Output
    }
}

Demo

WildanTechnoArt-Scanner Example

Untuk menyimpan data String, kita bisa menggunakan method next() atau nextLine() pada Scanner, selain tipe data String, ada beberapa method lainnya yang bisa kalian gunakan pada Scanner, diantaranya:
  • nextInt - Menerima input bilangan bulat/Integer
  • nextBoolean - Menerima input Boolean (true/false)
  • nextFloat - Menerima input pecahan/Float
  • nextDouble - Menerima input pecahan/Double
  • nextByte - Menerima bilangan bulat/Byte
  • nextLong - Menerima bilangan bulat/Long
  • nextShort - Menerima bilangan bulat/Short

Untuk contoh yang kedua, kita akan membuat program penjumlahan dengan menggunakan tipe data angka seperti Integer pada scanner.

import java.util.Scanner;

public class input_example {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int angka1, angka2, jumlah;
        System.out.print("Masukan Input Pertama: ");
        angka1 = input.nextInt();
        System.out.print("Masukan Input Kedua: ");
        angka2 = input.nextInt();
        jumlah = angka1 + angka2;
        System.out.println("Jumlah: "+jumlah);
    }
}

Demo

Contoh Penggunaan Scanner menggunakan Integer

B. Class BufferedReader

Pada bagian ini, kita akan menggunakan class BufferedReader, class tersebut berada di dalam package java.io, class ini dignakan untuk mendapatkan input dari user, hampir sama seperti Scanner, yang membedakan hanya cara penulisan syntaxnya saja.

Baca Juga:

Untuk menggunakannya class tersebut, terlebih dahulu kita harus mengimport bebrapa package berikut ini:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

Agar lebih mudah, kalian dapat menuliskannya sepert ini:

import java.io.*; //Mengeluarkan semua class yang berada didalam package tersebut

Pada contoh berikut ini, disana kita membuat objek dari class BufferedReader, untuk mendapatkan input dari user, kita perlu menggunakan method readLine() dan jangan lupa untuk menambahkan try-catch untuk berjaga jaga jika terjadi kesalahan saat proses input berlangsung.

import java.io.*;

public class input_example {
    public static void main(String[] args){
        //Membuat Objek dari Class BufferedReader
        BufferedReader input = 
        new BufferedReader(new InputStreamReader(System.in));
        String Universitas; //Variable Untuk Meynimpan data
        try{
            System.out.print("Masukan Universitas: ");
            Universitas = input.readLine();//Mendapatkan Input String dari User
            System.out.println("Saya Kuliah Di "+Universitas); //Cetak Output
        }catch(IOException ex){
            // Jika terdapat kesalahan saat menginputkan data
            System.out.println("Terjadi Kesalahan pada Input");
        }
    }
}

Demo

Contoh Program Menggunakan BufferedReader

Pada class tersebut, jika kita ingin menjumlahkan 2 buah angka misalnya bilangan bulat/Integer, kita harus memparsenya terlebih dahulu, seperti beikut ini:

int angka1, angka2, jumlah = 0;
        try{
            System.out.print("Masukan Input Pertama: ");
            angka1 = Integer.parseInt(input.readLine());
            System.out.print("Masukan Input Kedua: ");
            angka2 = Integer.parseInt(input.readLine());
            jumlah = angka1+angka2;
            System.out.println("Jumlahnya: "+jumlah);
        }catch(IOException ex){
            System.out.println("Terjadi Kesalahan pada Input");
        }

Demo

Contoh Program Menggunakan BufferedReader dengan tipe data Integer

C. Class JOptionPane

Cara terakhir untuk mendapatkan input dari user adalah dengan menggunakan class JOptionPane calss tersebut terdapat pada package javax.swing. berbeda dari class sebelunya, JOptionPane memiliki tampilan visual atau GUI untuk memudahkan pengguna, tampilan tersebut berupa dialog box standard yang memfasilitasi kepada user untuk mengkonfirmasi sesuatu.

Contoh programnya seperti berikut ini:

// Mengimport Class JOptionPane
import javax.swing.JOptionPane;

public class input_example {
    public static void main(String[] args){
        String nama; // Variale String Untuk Menyimpan Input
        //Memunculkan Pesan Dialog serta Menerima Input Dari User
        nama = JOptionPane.showInputDialog("Siapa Nama Kamu?");
        //Menampilkan Pesan kepada User
        JOptionPane.showMessageDialog(null, "Salam Kenal "+nama);
    }
}

Demo

Menerima Input dari User:

Menerima Input dari User menggunakan JOptionPane

Memunculkan Pesan:

Memunculkan Pesan menggunakan JOptionPane

Semoga membantu dan bisa bermanfaat untuk kalian semua, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Cara Membuat RatingBar Material Design Android Studio

Cara Membuat RatingBar Material Design Android Studio


Assalamualaikum Warahmatullahi Wabarakatuh.

Kembali lagi dengan saya, kali ini kita akan belajar mengenai konsep material design pada widget RatingBar di Android Studio, tutorial ini akan membahas mengenai cara membuat serta penggunaan RatingBar untuk aplikasi android.

Tutorial dasar cara membuat RatingBar Material Design pada android studio, start, rating, setOnRatingBarChangeListener, onClickListener, java programming, android studio. Dari WILDAN TECHNO ART.

RatingBar adalah elemen UI yang digunakan untuk mereview sesuatu, contohnya seperti memberikan bintang, memberikan penilaian ke suatu objek seperti game, musik, film, dll. pada umumnya didalam RatingBar terdapat beberapa bintang yang bisa dipilih oleh klien/konsumen, semakin banyak bintang yang di dapat dari klien/konsumen, semakin meningkat juga popularitas pada produk aplikasi tersebut.

Membuat RatingBar pada Aplikasi Android

Buat project baru pada android studio kalian, buat new Empty Activity, berinama "MainActivity".

Untuk menambahkan RatingBar, kita akan menggunakan AppCompatRatingBar yang berasal dari android-support-v7 library, tujuannya agar style dari RatingBar tersebut mengikuti aturan dari Material Design saat aplikasi dijalankan pada varsi android dibawah lollipop.

Kalian dapat melihat versi dari android-support-v7 library pada file build.gradle (direktori app), contohnya seperti ini:

dependencies {
    compile 'com.android.support:appcompat-v7:26.1.0'
}

Baca Juga:

Untuk menerapkan RatingBar pada project kita, buka file activity_main.xml, disini saya akan menembahkan beberapa widget pendukung seperti, Button dan TextView, gambarannya seperti ini:

WildanTechnoArt-Screenshot_RatingBar Example

Berikut ini adalah kode xml pada layout tersebut:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:layout_margin="12dp"
    android:orientation="vertical"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Berikan Penilaian Anda:"
        android:textSize="16sp"
        android:textStyle="bold" />

    <android.support.v7.widget.AppCompatRatingBar
        android:id="@+id/penilaian"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5"
        android:rating="0"
        android:stepSize="0.5" />

    <Button
        android:id="@+id/submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Kirim" />

    <TextView
        android:id="@+id/rate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Rating:"
        android:textSize="16sp"
        android:textStyle="bold" />
</LinearLayout>

Pada RatingBar tersebut ada beberapa artibut yang bisa kalian set, yaitu:

  • android:numStarts jumlah maksimal bintang yang bisa diisi oleh user.
  • android:rating nilai default pada rating
  • android:stepSize yaitu skala pada rating, diisi 0.5 agar kita bisa memberikan rating dengan nilai setengah, seperti 0.5, 1.5, dsb. 

Selanjutnya buka file MainActivity.java, masukan source code berikut ini:

package android.cianjur.developer.net.basicandroid;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.AppCompatRatingBar;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity{

    private TextView getRating;
    private Button Submit;
    private AppCompatRatingBar RatingBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getRating = findViewById(R.id.rate);
        Submit = findViewById(R.id.submit);
        RatingBar = findViewById(R.id.penilaian);
        // Menambahkan Listener Pada RatingBar
        RatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float nilai, boolean b) {
                // Nilai pada TextView Akan Berupa/Terupdate Saat Nilai Ratingnya Berubah
                getRating.setText("Rating: "+nilai);
            }
        });
        Submit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // Menampilkan Pesan Berupa Nilai Yang Di inputkan User Pada RatingBar
                Toast.makeText(getApplicationContext(), "Nilai Yang Anda Kirimkan: "+RatingBar.getRating(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

Coba kalian perhatikan, disana kita menambahkan listener pada RatingBar, agar saat nilai ratingnya berubah maka nilai pada textView juga akan ikut terupdate dan saat user menekan tombol kirim, maka akan muncul pesan yang menampilkan nilai dari user.

Jalankan project tersebut, hasilnya akan terlihat seperti ini:

WildanTechnoArt-Screenshot_RatingBar Example Finish

Terimakasih telah mengunjungi blog pribadi saya, semoga tutorial yang saya bagikan bisa bermanfaat untuk kalian, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Cara Menerapkan Widget SeekBar Android Studio

Cara Menerapkan Widget SeekBar Android Studio


Assalamualaikum Warahmatullahi Wabarakatuh.

Di kesempatan kali ini saya akan berbagi tutorial mengenai cara penerapan widget control SeekBar pada Android Studio, SeekBar merupakan turunan dari ProgressBar yang digunakan untuk menampilkan indikasi kemajuan suatu proses, hampir sama dengan progressBar biasanya, yang membedakan hanyalah indikasi kemajuan pada SeekBar dapat kita geser maju atau mundur dengan cara di drag dengan jadi.

Panduan dasar cara menerapkan seekBar pada android studio, progress, setOnSeekBarChangeListener, onProgressChanged, onStartTrackingTouch, onStopTrackingTouch, java programing, android studio. Dari WILDAN TECHNO ART.

Widget ini umumya digunakan untuk mengatur volume, kecerahan, dan juga digunakan saat memutar musik atau video, dimana user dapat mengeser progress, maju atau mundur sesuai kehendak.

Materi Sebelumnya Yang Direkomendarikan Untuk Kalian:

Menerapkan Widget SeekBar

1) Buat Project baru pada Android Studio kalian, lalu buat activity baru, berinama "MainActivity".

2) Buka file activity_main.xml pada project tersebut, kita akan menggunakan 2 buah widget, yaitu SeekBar dan TextView, SeekBar akan kita gunakan agar user bisa mengatur indikasi kemajuan yang sedang diproses dan TextView digunakan untuk menampilkan persentase dari progres tersebut.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:layout_margin="14dp"
    android:gravity="center"
    android:orientation="vertical"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <SeekBar
        android:id="@+id/seekBar"
        style="@style/Widget.AppCompat.SeekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:progress="0" />

    <TextView
        android:id="@+id/persentase"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="0%"
        android:textSize="15sp"
        android:textStyle="bold" />

</LinearLayout>

Disana kita mengset maximum value pada seekBar menjadi 100 dan memulai progres tersebut dari 0, pada atribut style, kalian dapat mengatur memilih gaya dan tampilan  seekBar tersebut sesuai keinginan.

Jika tidak menggunakan kode xml secara manual, kalian dapat mendrag/drop pada bagian Pallet dibagian layout, seperti ini:

WildanTechnoArt-SeekBar Example

3) Selanjutnya masukan souce code berikut ini pada MainActivity.java kalian:

package android.cianjur.developer.net.basicandroid;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements SeekBar.OnSeekBarChangeListener{

    private SeekBar seekBar;
    private TextView Persentase;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        seekBar = findViewById(R.id.seekBar);
        Persentase = findViewById(R.id.persentase);
        seekBar.setOnSeekBarChangeListener(this); // Menambahkan Listener Pada SeekBar
    }

    @Override
    public void onProgressChanged(SeekBar seekBar, int value, boolean b) {
        // Pemberitahuan Bahwa Nilai Pada Progress Telah Berubah
        Persentase.setText(String.valueOf(value));
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        // Pemberitahuan Bahwa User Telah Menyentuh/Mengendalikan Progress Pada SeekBar
        Toast.makeText(this, "Progress Dimulai", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        // Pemberitahuan Bahwa User Telah Selesai Mengendalikan Progress Pada SeekBar
        Toast.makeText(this, "Progress Berhenti", Toast.LENGTH_SHORT).show();
    }
}

Terakhir jalankan project tersebut, kurang lebih hasilnya akan seperti berikut ini:

WildanTechnoArt-Screenshot_SeekBar Finish Example

Sekian dari Saya, Wassalamualaikum Warahmatullahi Wabarakatuh.

Cara Menerapkan ProgressBar pada Android Studio

Cara Menerapkan ProgressBar pada Android Studio


Assalamualaikum Warahmatullahi Wabarakatuh.

Didalam sebuah aplikasi, sering kali kita melihat sebuah prosses/progress yang memungkinkan user untuk menunggu sejenak saat mengakses sebuah konten, contohnya saat pengguna sedang mengakses konten online atau saat kita sedang memdownload file, maka proses tersebut terlihat oleh user.

Tutorial dasar cara menerapkan ProgressBar pada android studio, setProgress, setMax, loading, progress, java programming, android studio. Dari WILDAN TECHNO ART.

ProgressBar merupakan elemen UI yang digunakan untuk indikasi suatu proses dalam aplikasi, elemen UI tersebut akan menampilkan suatu pemrosesan pada konten yang di akses oleh user.

Materi Yang Harus Kalian Pelajari Sebelumnya:

Setelah kalian selesai membuat project pada android studio, selanjutnya, buat new Empty Activity, berinama "splashActivity", activity tersebut harus dijadikan activity yang pertama tampil pada layar.

Ada 2 jenis progressBar yang terdapat pada android studio, pertama yaitu yang indikasi kemajuannya dapat ditentukan, contohnya, saat kita mendownload file, user harus menunggu beberapa saat, sampai value dari progressBar tersebut mencapai 100%, atau saat menyalin file ke tempat penyimpanan yang berbeda.

A. ProgressBar (Horizontal)

Sebagai contoh, kita akan membuat program sederhana menggunakan ProgressBar yang indikasi kemajuannya dapat ditentukan, pada program tersebut, menggunakan 2 buah activity, activity pertama digunakan sebagai halaman splash screen, dimana pada halaman tersebut, akan menampilkan progressBar yang nilai kemajuannya telah ditentukan, lalu akan berpindah pada activity selanjutnya setelah nilai yang ditentukan mencapai 100%.

1) Buka file activity_splash.xml, untuk membuat progressBar, kalian perlu menambahkan tag <ProgressBar>, agar user bisa mengetahui persentasenya, kita akan mengunakan TextView yang akan menampilkan persentase dari progress tersebut:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:layout_margin="16dp"
    android:orientation="vertical"
    android:gravity="center"
    tools:context="android.cianjur.developer.net.basicandroid.splashActivity">

    <ProgressBar
        android:id="@+id/progress"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"/>

    <TextView
        android:id="@+id/persentase"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="0%"
        android:textSize="15sp"
        android:textStyle="bold" />
</LinearLayout>

Ada beberapa atribut didalam tag <ProgressBar> yang perlu kalian ketahui, diantaranya:
  • style="?android:attr/progressBarStyleHorizontal" Digunakan untuk membuat progressBar horizontal yang nilai indikasi kemajuannya dapat ditentukan.
  • android:max="100" Untuk menentukan maksimal nilai/value pada progressBar tersebut.

2) Buat Activity baru, berinama "MainActivity", disini saya cukup menambahkan textView saja pada layout tersebut:

<?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"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Selamat Datang Di WILDAN TECHNO ART"
        android:textSize="15sp"
        android:textStyle="bold" />
</RelativeLayout>

3) Selanjutnya buka class splashActivity.java, pada class tersebut kita akan menggunakan thread, untuk indikasi pemrosesan dapat berjalan hingga selesai dan menampilkan persentasenya pada textView, dari 0% sampai 100%  menggunakan class handler, class ini akan kita gunakan untuk mengirimkan data berkali-kali pada activity,  handler tersebut akan kita daftarkan pada thread dan mengirim pesan menggunakan method sendMessage(),

package android.cianjur.developer.net.basicandroid;

import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

public class splashActivity extends AppCompatActivity {

    private ProgressBar progressBar;
    private TextView persentase;
    private int Value = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        progressBar = findViewById(R.id.progress);
        persentase = findViewById(R.id.persentase);
        progressBar.setProgress(0); //Set Progress Dimulai Dari O

        // Handler untuk Updating data pada latar belakang
        final Handler handler = new Handler(){
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                // Menampung semua data yang ingin diproses oleh thread
                persentase.setText(String.valueOf(Value)+"%");
                if(Value == progressBar.getMax()){
                    Toast.makeText(getApplicationContext(), "Progress Completed", Toast.LENGTH_SHORT).show();
                    startActivity(new Intent(splashActivity.this, MainActivity.class));
                    finish();
                }
                Value++;
            }
        };

        // Thread untuk updating progress pada ProgressBar di Latar Belakang
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try{
                    for(int w=0; w<=progressBar.getMax(); w++){
                        progressBar.setProgress(w); // Memasukan Value pada ProgressBar
                        // Mengirim pesan dari handler, untuk diproses didalam thread
                        handler.sendMessage(handler.obtainMessage());
                        Thread.sleep(100); // Waktu Pending 100ms/0.1 detik
                    }
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }
            }
        });
        thread.start();
    }
}

Perlu kalian ingat, setiap data yang ingin di proses oleh thread harus berada didalam method handleMessage(), yaitu subclass dari class handler,

Jalankan project tersebut:

WildanTechnoArt-Screenshot_progressBar Example

B. ProgressBar (Rolling)

Jenis ini merupakan turunan dari progressBar yang nilai indikasi kemajuannya tidak tentu, dengan tampilan seperti roda yang berputar-putar.

Untuk contoh berikut ini kita tidak akan menggunakan TextView untuk menmpilkan persentasenya, buka kembali file activity_splash.xml, lalu ubah artibut style dan tambahkan atribut android:indeterminate pada tag <ProgressBar> menjadi seperti ini:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:layout_margin="16dp"
    android:orientation="vertical"
    android:gravity="center"
    tools:context="android.cianjur.developer.net.basicandroid.splashActivity">

    <ProgressBar
        android:id="@+id/rolling"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="match_parent"
        android:indeterminate="true"
        android:layout_height="wrap_content" />
</LinearLayout>

Pada class SplashActivity.java, untuk contoh kali ini, kita cukup menggunakan thread yang sederhana saja, tapi kalian bisa membuatnya sekreatif mungkin:

package android.cianjur.developer.net.basicandroid;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class splashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try{
                    Thread.sleep(3000); // Waktu Pnding 3 Detik
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }finally {
                    startActivity(new Intent(splashActivity.this, MainActivity.class));
                    finish();
                }
            }
        });
        thread.start();
    }
}

Berikut ini screenshot dari activity yang menggunakan progressBar(Rolling):

WildanTechnoArt-Screenshot_progressBar(Rolling) Example

Selamat mencoba, silakan sesuaikan dengan project yang ingin kalian buat, hanya itu saja yang bisa saya jelaskan, mohon maaf bila ada kesalahan,

Wassalamualaikum Warahmatullahi Wabarakatuh.

Cara Membuat Splash Screen pada Android Studio

Cara Membuat Splash Screen pada Android Studio


Assalamualaikum Warahmatullahi Wabarakatuh.

Splash Screen merupakan tampilan tambahan pada sebuah aplikasi, tampilan ini muncul hanya sementara saat aplikasi pertama kali dijalankan, biasanya digunakan sebagai "Branding" dari pemilik aplikasi, yang akan menampilkan logo atau nama aplikasi pada aplikasi yang akan kita gunakan.

Belajar memahami dan membuat splash screen pada android studio untuk aplikasi android, progress, thread, runnable, java programming, android studio.Dari WILDAN TECHNO ART.

kali dijalankan akan muncul tampilan logo hanya dalam beberapa detik saja, setelah itu akan berpindah pada activity utama.

Materi Yang Harus Kamu Pelajari Sebelumnya:

Membuat Splash Screen

Untuk membuat splash screen, kita akan menggunakan 2 buah activity pada contoh project kali ini, activity pertama akan kita gunakan sebagai splash screen yang menampilkan logo aplikasi/judul yang akan muncul dalam beberapa detik, setelah itu akan berpindah pada activityMain.

Disini kita akan menggunakan android studio sebagai IDEnya, pertama-tama buat project baru, lalu buat  new Empty Activity, dengan nama "splashActivity", dalam activity tersebut kita akan menggunakan ImageView untuk menampilkan gambar/logo aplikasi kita, karena menggunakan ImageView, disarankan kalian sudah memiliki gambar/logo tersebut dan menyimpannya pada direktori res > drawable.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:layout_marginLeft="16dp"
    android:layout_marginRight="16dp"
    tools:context="android.cianjur.developer.net.basicandroid.splashActivity">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        app:srcCompat="@drawable/logomeduim" />

</RelativeLayout>

WildanTechnoArt-SplashScreen Example

Sebelumnya kita harus menghapus ActionBar bawaan pada activity tersebut dan perlu kalian ingat, splashActivity harus dijadikan activity yang pertama kali tampil pada layar, jika kalian belum mengubahnya menjadi activity yang pertama tampil, maka kalian harus mengubah file AndroidManifest.xml (app > src > main) terlebih dahulu, menjadi seperti ini:

<activity android:name=".MainActivity"></activity>
     <activity android:name=".splashActivity"
         android:theme="@style/Theme.AppCompat.NoActionBar">
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />

             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
     </activity>

Coba kalian perhatikan, untuk menghapus ActionBar pada activity tersebut, kalian harus menambahkan atribut android:theme="@style/Theme.AppCompat.NoActionBar" pada splashActivity, selanjutnya agar splashActivity tampil di awal, tag <intent-filter> beserta isinya harus berada didalam tag <activity android:name=".splashActivity">.

Selanjutnya buka file activity_main.xml, kalian bisa mengeditnya sesuka hati, tapi untuk contoh kali ini saya hanya akan menggunakan TextView saja pada activity tersebut.

<?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"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="Selamat Datang Di WILDAN TECHNO ART"
        android:textSize="15sp"
        android:textStyle="bold" />
</RelativeLayout>

WildanTechnoArt-MainActivity Example

Buka file splashActivity.java pada project kalian, untuk membuat splash screen, pada source kode berikut ini, kita akan menggunakan fungsi thread untuk membuat waktu pending yang bisa kita tentukan sendiri.

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class splashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
        Thread thread = new Thread(){
            public void run(){
                try{
                    sleep(2000); // set Waktu Pending selama 2 detik
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }finally {
                    startActivity(new Intent(splashActivity.this, MainActivity.class));
                    finish(); // Menutup Activity
                }
            }
        };
        thread.start();
    }
}

Coba kalian perhatikan, sleep(2000) artinya kita mengset waktu pending selam 2000ms/2detik, jadi splash screen akan tampil selama 2 detik, setelah itu akan berindah pada activity_main, dan jangan lupa untuk menambahkan finish() supaya user tidak bisa kembali ke halaman splash screen lagi.

Terakhir, jalankan project tersebut, dan lihatlah hasilnya.

Selamat mencoba, semoga sukses, jika ada yang ingin ditanyakan silakan isi komentar dibawah, mohon maaf bila ada kesalahan, Wassalamualaikum Warahmatullahi Wabarakatuh.

Tutorial Cara Membuat Array Pada Java

Tutorial Cara Membuat Array Pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Pada pembahasan kali ini saya akan mengajarkan pada kalian mengenai cara pembuatan array pada java. dalam bahasa pemrograman, array merupakan tipe data yang bisa kalian gunakan untuk menyimpan beberapa nilai/value dalam satu variable, Sebuah array akan menyimpan beberapa item yang memiliki tipe data yang sama, item tersebut akan disimpan pada sebuah blok memori.

Panduan dasar cara membuat array dan array 2 dimensi pada java, pengertian array, pengenalan, pendeklarasian, contoh program menggunakan array. java programming, netbeans IDE. Dari WILDAN TECHNO ART.

Berbeda dengan variable biasa yang hanya menyimpan satu item saya, dengan menggunakan array kita dapat menyimpan beberapa item dalam satu variable, ada 2 macam array yang bisa kalian gunakan pada bahasa pemrograman java, yaitu array 1 dimensi dan array 2 dimensi, kedua array tersebut akan kita bahas pada tutorial ini.

Materi Yang Harus Kalian Pelajari Sebelumnya:

A. Array 1 Dimensi

Pendeklarasian array sama seperti variable, yaitu tipe data - nama variable - value (opsional), yang membedakannya adalah pada variable array diikuti dengan tanda kurung [] (square bracket), contoh pendeklarasianya seperti ini:

//Pendeklarasian Array
String[] siswa;
//Atau Bisa Juga Menuliskannya Seperti Ini
int nomor[];

Contoh pertama, kita akan membuat program sederhana menggunakan array dan mencatak bebrapa item dari array tersebut:

public class array_example {
        public static void main(Strin args) {
            // Pendeklarasian Array
            String siswa = new String[3];// Variable Dengan Panjang Array 3
            siswa[0] = "Wildan"; // Data Pada Kolom 0
            siswa[1] = "Adit"; // Data pada Kolom 1
            siswa[2] = "Ferdi"; // Data pada Kolom 2
            System.out.println(siswa[0]);
            System.out.println(siswa[1]);
            System.out.println(siswa[2]);
    }
}

Coba kalian perhatikan, disana kita membuat variable array dengan jumlah maximal 3 item, jadi data yang bisa kita masukan pada variable tersebut maximal 3 buah, perlu kalian ingat, array 1 dimensi terdiri dari kolom saja, 3 item tersebut harus kalian masukan dimulai dari kolom/angka 0 sampai dengan 2.

Jalankan project tersebut, hasilnya akan seperti ini:

WildanTechnoArt-Array Example

Agar lebih mudah, kalian dapat mendeklarasikan variablenya seperti ini:

String[] siswa = {"Wildan", "Adit", "Ferdi"};
System.out.println(siswa[0]);
System.out.println(siswa[1]);
System.out.println(siswa[2]);

Jika kita memanggil item pada variable tersebut dengan jumlah yang melebihi batas, misalnya seperti ini:

System.out.println(siswa[3]);

Maka akan terjadi error/exception ArrayIndexOutOfBoundsException, error ini terjadi karena kita memanggil array di luar batas, data pada kolom 3 tidak ditemukan.

Untuk mengantisipasi dan memberitahukan user, apa kesalahan yang di buatnya, kita dapat mengunakan statement try-catch, seperti ini:

try{
    int[] nomor = {10, 20}; // Terdiri dari Kolom 0-1
    System.out.println(nomor[0]); // Kolom 0
    System.out.println(nomor[1]); // Kolom 1
    System.out.println(nomor[2]); // Kolom 2
}catch(ArrayIndexOutOfBoundsException ex){
    System.out.println("Array Melebihi Batas, Kolom 2 Tidak Ditemukan");
}

Sebelumnya kita memanggil nilai pada variable tersebut satu per satu, sekarang kita akan mencoba memanggil data tersebut sekaligus dengan menggunakan for loops, diharapkan kalian sudah memahami konsep perulangan/looping pada java.

try{
String[] makanan = {"Ayam Goreng", "Mie Rebus", "Soto Betawi"};
for(int x=0; x<makanan.length; x++){
     System.out.println(makanan[x]);
    }
}catch(ArrayIndexOutOfBoundsException ex){
    System.out.println("Array Melebihi Batas);
}

Program tersebut akan melooping sebanyak 3 kali, dan memanggil data dari nomor kolom yang terdapat pada variable x, makanan.length digunakan untuk menghitung jumlah/panjang array pada variable makanan.

WildanTechnoArt-Array Example 2

B. Array 2 Dimensi/Multidimensi

Array jenis ini mempunyai baris dan kolom, berbeda dengan jenis array sebelumnya yang hanya mempunyai kolom saja, untuk mendeklarasikan variabe array 2 dimensi hampir sama dengan janis array sebelumnya, yang membedakan adalah variable array 2d diikuti dengan tanda kurung [][].

Kalian dapat membuatnya seperti ini

String[][] programming = new String[1][1];
programming[0][0] = "C++"; // Baris 0 Kolom 0
programming[0][1] = "Java"; // Baris 0 Kolom 1
programming[1][0] = "PHP"; // baris 1 Kolom 0
programming[1][1] = "Kotlin"; // Baris 1 Kolom 1

Atau Seperti ini:

String[][] programming = {
           {"C++", "Java"},
           {"PHP", "kotlin"}
         };

Untuk mencetak nilai array 2D, caranya hampir sama dengan array biasa:

System.out.println(programming[0][0]);
System.out.println(programming[0][1]);
System.out.println(programming[1][0]);
System.out.println(programming[1][1]);

Contoh terakhir, pada array 2 dimensi/multidimensi juga kita dapat mencetak data dari variable tersebut secara sekaligus, dengan menggunakan for loop, seperti ini:

String[][] programming = {
           {"C++", "Java"},
           {"PHP", "kotlin"}
          };
for(int b=0; b<programming.length; b++){
    for(int k=0; k<programming[b].length; k++){
        System.out.println(programming[b][k]);
    }
}

Coba kalian perhatikan, variable b untuk baris dan k untuk kolom, kedua variable tersebut digunakan untuk mencetak semua data pada array, disana terdapat dua buah for loops, for loops pertama digunakan untuk memilih nomor baris, dan for loops kedua untuk memilih nomor kolom, perlu kalian tahu, for loops kedua harus berada didalam for loops pertama.

programming.length digunakan untuk menghitung jumlah baris dan programming[b].length digunakan untuk menghitung jumlah kolom.

Jika kita jalankan program tersebut, hasilnya akan seperti ini:

WildanTechnoArt-Array 2D Example

Terimakasih telah mengunjungi website pribadi saya, semoga tutorial yang saya buat bisa bermanfaat untuk kalian semua, jika ada yang ingin kalian tanyakan, silakan isi komentar dibawah.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Tutorial Dasar Exception Handling (try-catch) Pada Java

Tutorial Dasar Exception Handling (try-catch) Pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Pada tutorial kali ini, saya akan membagikan tutorial mengenai teknik penanganan kondisi dimana program mengalami crash atau error saat dijalankan pada bahasa pemrograman java, teknik tersebut dinamakan Exception Handling.

Tutorial Dasar Exception Handling (try-catch) Pada Java, try-catch, exception, throw, finally, ArrayIndexOutOfBoundsException, InterruptedException, Throwable, java programming, netbeans IDE. Dari WILDAN TECHNO ART.

A. Apa Itu Exception ?

Exception adalah sebuah alur peristiwa yang menjalankan proses pada program, pristiwa tersebut bisa berupa kesalahan atau error pada program yang kita buat, error tersebut bisa terjadi karena beberpa faktor, diantaranya: kesalahan input, jenis format data yang dimasukan salah, peggunaan array yang melebihi batas, Dll.

Ada banyak sekali jenis Exception yang bisa kita tangkap menggunakan fungsi try-catch, salah satunya adalah ArrayIndexOutOfBoundsException, exception ini menandakan bahwa jumlah array yang kita inputkan melebihi batas, pesan tersebut akan muncul saat aplikasi dijalankan yang akan menyebabkan terhentinya program tersebut.

B. Statement try-catch

Bagaimana cara kita mengetahui jenis error atau exception apa yang muncul, pada contoh berikut ini kita akan membuat program sederhana, dimana program tersebut sengaja kita buat menjadi error atau terjadi kesalahan.

public class exception_example {

    public static void main(String[] args) {
        int angka = 7;
        int hasil = angka/0;
        System.out.println(hasil);
    }
    
}

Program tersebut akan menghasilkan, output berupa kesalahan seperti ini:

WildanTechnoArt-Exception Handling Example

Jenis Exception yang tampil pada program tersebut adalah ArithmeticException, error tersebut terjadi karena ada pembagian 0 (nol), jika hal ini terjadi, user akan kebingungan dengan error tersebut serta menyebabkan force close.

Baca Juga:

Untuk mengatasi masalah tersebut, kita dapat menggunakan statement try-catch, seperti pada contoh berikut ini:

public class exception_example {

    public static void main(String[] args) {
        try{
            // pernyataan yang berpotensi mengakibatkan Exception
           int angka = 7;
           int hasil = angka/0;
           System.out.println(hasil);
        }catch(ArithmeticException ex){
            // pernyataan disini akan di eksekusi jika terjadi Exception
            System.out.println("Tidak Boleh Menggunakan Pembagian dengan 0 (nol)");
        }
    }
}

Setiap pernyataan yang dapat mengakibatkan exception harus berada didalam try, karena untuk menangani dimana munculnya kesalahan yang ingin di proses, catch digunakan untuk menagani jenis exception, kesalahan yang muncul akan dianggap sebagai objek.

WildanTechnoArt-Exception Handlling Example2

Untuk contoh yang kedua, kita akan membuat variable array dengan jumlah data yang sudah ditentukan, program akan menagkap dan mencetak exception jika kita memanggi value di luar batas array tersebut.

public class exception_example {

    public static void main(String[] args) {
        try{
            // pernyataan yang berpotensi mengakibatkan Exception
           String[] siswa = new String[2];
           siswa[0] = "Wildan";
           siswa[1] = "Ferdi";
           siswa[2] = "Taufiq";
           System.out.println(siswa[4]);
        }catch(ArrayIndexOutOfBoundsException ex){
            // pernyataan disini akan di eksekusi jika terjadi Exception
            System.out.println("Data Array Yang Ingin Dikeluarkan Tidak Ada");
        }
    }
}

C. Multiple catch

Dalam bahasa pemrograman java, kita dapat menggunakan catch lebih dari satu, untuk menangkap jenis exception yang berbeda pada pernyataan didalam try.

Pada contoh berikut ini, kita akan menggabungkan kedua program yang sebelumnya sudah kita buat menjadi satu, didalam program tersebut kita akan menangkap 2 jenis exception yang berbeda, yaitu ArithmeticException dan ArrayIndexOutOfBoundsException.

public class exception_example {

    public static void main(String[] args) {
        try{
           String[] siswa = new String[2];
           siswa[0] = "Wildan";
           siswa[1] = "Ferdi";
           siswa[2] = "Taufiq";
           System.out.println(siswa[4]);
           //====================================
           int angka = 7;
           int hasil = angka/0;
           System.out.println(hasil);
        }catch(ArrayIndexOutOfBoundsException ex){
            System.out.println("Data Array Yang Ingin Dikeluarkan Tidak Ada");
        }catch(ArithmeticException ex2){
            System.out.println("Tidak Boleh Menggunakan Pembagian dengan 0 (nol)");
        }
    }
}

Program akan memeriksa catch ArrayIndexOutOfBoundsException terlebih dahulu apakah ditemukan exception jenis ini di dalam try, jika iya, maka akan mengeluarkan pernyataan didalamnya, dan jika tidak, program akan memeriksa catch kedua yaitu ArithmeticException.

Jadi program tidak akan mengeluarkan output pada kedua catch tersebut secara bersamaan, walaupun ditemukan 2 jenis error didalam try, jenis exception paling atas dulu yang akan di tampilkan.

D. Finally

Statement finally digunakan untuk mengeksekusi kode program jika terjadi exception atau tidak terjadi exception, jadi blok kode didalamnya akan terus di eksekusi pada kondisi apapun.

public class exception_example {

    public static void main(String[] args) {
        try{
            // pernyataan yang berpotensi mengakibatkan Exception
           int angka = 10;
           int hasil = angka/0;
           System.out.println(hasil);
        }catch(ArithmeticException ex){
            // pernyataan disini akan di eksekusi jika terjadi Exception
            System.out.println("Tidak Boleh Menggunakan Pembagian dengan 0 (nol)");
        }finally{
            /*
            Pernyataan disini akan di eksekusi jika terjadi Exception
            Ataupun tidak terjadi Exception
            */
            System.out.println("Program Diakhiri");
        }
    }
}

Hasilnya akan seperti ini:

WildanTechnoArt-Exception Handlling Example 3

Sekian tutorial yang kali ini saya bagikan, mohon maaf bila kesalahan, jika ada yang ingin kalian tanyakan silakan isi komentar dibawah, terakhir dari saya, Wassalamualaikum Warahmatullahi Wabarakatuh.

Belajar Cara Membuat Thread Pada Java

Belajar Cara Membuat Thread Pada Java


Assalamualaikum Warahmatullahi Wabarakatuh.

Pada kesempatan kalin ini saya akan mengajarkan pada kalian mengenai Dasar-dasar penggunaan Thread dan Runnable pada java, Thread dan Runnable digunakan untuk membuat aplikasi multitasking atau aplikasi yang bisa menjalankan tugas ganda secara bersamaan.

Belajar Cara Membuat Thread Pada Java

Contohnya jika saat kita menggunakan windows, kita pasti sering sekali mendengarkan musik menggunakan VLC atau sejenisnya, sambil berselancar di Internet, atau menonton video sambil mendownload file, itulah yang disebut multitasking, proses multitasking akan diolah oleh sumberdaya CPU yang sama.

A. Thread

Thread merupakan sebuah rangkaian eksekusi yang berjalan ketika program dijalankan atau bisa disebut sebagai kode yang mengatur alur jalannya program, jika kalian masih bingun, kita akan membuat contoh program sederhana menggunakan Thread pada java.

Materi Yang Harus Kalian Kuasai:

Pada contoh yang pertama ini, kita akan membuat program sederhana yang menampilkan output setiap 1 detik sekali menggunakan thread dan for loops, sebelumnya kita sudah belajar mengenai penggunaan for loop pada java, jadi disarankan kalian sudah memahaminya.

public class latihan_thread {
    
    public static void main(String[] args) {
        int jumlah = 10;
        Thread thread = new Thread(){
            public void run(){
                try{
                    for(int w=1; w<=jumlah; w++){
                        System.out.println("Nomor: "+w);
                        sleep(1000); //Waktu Pending
                    }
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }
            }
        };
        thread.start();
    }
}

Jika kita jalankan program tersebut akan melooping dan mengeluarkan output sebanyak 10 kali, program akan mengeluarkan output 1 kali per detiknya, itulah yang membedakan program yang menggunakan thread dan yang tidak, jika kita tidak menggunakan thread atau hanya for loop saja, maka program akan mengeluarkan semua output tersebut sekaligus, sleep(1000) artinya kita mengset waktu pending selama 1000 millisecond/1detik, try dan catch digunakan untuk mengkap jenis error InterruptedException agar program tidak crash saat error itu terjadi.

InterruptedException terjadi karena thread berhenti sementara, jadi kalian bisa melakukan apa saja jika thread berhenti sementara.

Selanjutnya untuk contoh kedua, kita akan membuat program multitasking sederhana menggunakan thread, pada program tesebut, kita akan membuat 2 buah method, kedua method tersebut mempunyai output yang berbeda, saat program dijalankan, output tersebut akan keluar secara bersamaan setiap 1 detik sekali.

import static java.lang.Thread.sleep;

public class latihan_thread{
    
    Thread thread;
    int jumlah = 7;
    
    public static void main(String[] args) {
        latihan_thread test = new latihan_thread();
        test.proses_satu();
        test.proses_dua();
    }
    
    void proses_satu(){
         thread = new Thread(){
            public void run(){
                try{
                    for(int w=1; w<=jumlah; w++){
                        System.out.println("Nomor: "+w);
                        sleep(1000); //Waktu Pending
                    }
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }
            }
        };
         thread.start();
    }
    
    void proses_dua(){
            thread = new Thread(){
            public void run(){
                try{
                    for(int w=1; w<=jumlah; w++){
                        System.out.println("Salam Programmer");
                        sleep(1000); //Waktu Pending
                    }
                }catch(InterruptedException ex){
                    ex.printStackTrace();
                }
            }
        };
         thread.start();
    }
}

B. Runnable

Runnable digunakan agar thread bisa menjalankan tugasnya, cara paling sederhana untuk membuat thread adalah dengan mengimplementasikan interface Runnable pada class java kita, jadi kalian cukup menimplementasiakan fungsi dari method run.

import static java.lang.Thread.sleep;

public class latihan_thread implements Runnable{
    
    int jumlah = 10;
    
    public static void main(String[] args) {
        latihan_thread test = new latihan_thread();
        test.run();
    }

    @Override
    public void run() {
       try{
          for(int w=1; w<=jumlah; w++){
            System.out.println("ID: "+w);
            sleep(1000); //Waktu Pending
          }
       }catch(InterruptedException ex){
              ex.printStackTrace();
       }
    }
}

Jalankan program tersebut, hasilnya akan sama dengan program sebelumnya, kedua cara tersebut sama saja fungsinya, tergantung kebutuhan kalian.

Sekian tutorial dari saya, mohon maaf bila ada keslahan, jangan lupa untuk share serta follow fansPage blog ini untuk mendapatkan update terbaru, jika ada yang ingin kalian tanyakan, silakan isi komentar dibawah.

Wassalamualaikum Warahmatullahi Wabarakatuh.

Tutorial Looping (while, do-while, for loops) Pada Java

Tutorial Looping (while, do-while, for loops) Pada Java


Assalamualaikum Warahmatullahi Wabarakatuh. Pada kesempatan kali ini, saya akan membagikan tutorial dasar mengenai penggunaan looping/perulangan pada java, ada 3 macam jenis perulangan pada java, yaitu while, do-while dan for loops. ketiganya memiliki fungsi yang sama, hanya saya syntax atau cara penulisannya saja yang berbeda, kalian bisa menggunakannya sesuai kebutuhan.

Panduan dasar pengunaan looping (while, do-while, for loops) pada java netbeans, struktur kontrol, boolean, true, false, statement, expression, java programming, netbenas IDE. Dari WILDAN TECHNO ART.

Looping atau struktur perulangan merupakan pernyataan dari java yang memungkinkan program untuk mengeksekusi block kode berulang kali, sesuai dengan jumlah yang telah ditentukan, ketiga jenis perulangan tersebut akan kita bahas pada tutorial ini.

Materi Yang Harus Kalian Kuasai Sebelumnya:

A. while loop

while loop digunakan untuk mengeksekusi kode program berulang-ulang sampai kondisi tertentu, cara penulisan syntax pada while, seperti ini:

while(boolean_expression){
   //statement;
}

Pernyataan atau kode program didalam while akan terus di eksekusi berulang-ulang selama nilai pada boolean_expression bernilai "true", untuk menghentikan perulangan tersebut, kalian perlu memberikan pernyataan yang dapat mengubah boolean_expression menjadi "false". Contohnya seperti ini:

public class latihan_looping {

    public static void main(String[] args) {
        String sapaan = "Halo Pejuang";
        int jumlah = 0;
        while(jumlah < 5){
            System.out.println(sapaan);
            jumlah++;
        }
    }
}

Coba kalian perhatikan, program tersebut akan mengeluarkan output "Halo Pejuang" sebanyak 5 kali, kode program didalam while akan terus di eksekusi selama jumlah lebih kecil dari 5, di akhir statement, kita menambahkan jumlah++ (Increment), agar perulangan berhenti pada suatu kondisi diamana jumlah tidak lebih kecl dari 5.

Program tersebut akan menghasilkan output seperti ini:

WildanTechnoArt-While Loop Example Java Programming

Perlu kalian ingat, jika variable jumlah++ dihilangkan, itu akan mengakibatkan infinite loop atau looping berulang-ulang tanpa berhenti.

B. do-while loop

do-while hampir sama dengan while loop, yang membedakannya adalah, while loop akan meihat kondisi boolean_expression terlehih dahulu, jika bernilai "true", maka pernyataan didalamnya akan dijalankan, berbeda dengan do-while, pada do-while, pernyataan akan di eksekusi terlebih dahulu sebelum mengevaluasi boolean_expression.

do{
   //statement;
}while(boolean_expression);

Coba kalian perhatikan kode program berikut ini, program akan mengeksekusi pernyataan didalam do terlebih dahulu, walaupun kondisi pada boolean_expressionnya bernilai "false",

public class latihan_looping {

    public static void main(String[] args) {
        String saya = "Indonesia";
        int x = 0;
        do{
            System.out.println(saya);
            x++;
        }while(x > 9);
    }
}

WildanTechnoArt-Do-While Loop Example Java Programming

Program tersebut hanya akan mengeluarkan outputnya satu kali, pernyataan didalam do akan di eksekusi lagi jika kondisi boolean_expression bernilai "true".

public class latihan_looping {

    public static void main(String[] args) {
        String saya = "Indonesia";
        int x = 0;
        do{
            System.out.println(saya);
            x++;
        }while(x < 6);
    }
}

WildanTechnoArt-Do-While Loop Example 2 Java Programming

C. for loops

Penggunaan for loops hampir sama dengan kedua struktur perulangan sebelumnya yaitu while dan do-while, cara penulisan syntaxnya pun berbeda dengan kedua statement tersebut. tetapi memiliki fungsi yang sama yaitu untuk melakukan looping/perulangan sebanyak jumlah yang telah ditentukan.

for(inisialisasi_variable; kondisi; stepExpression){
  //statement
}

Ada tiga paramater yang umum digunakan untuk membuat for loop, yaitu:
  • inisialisasi_variable - menginisialisasi dari variable loop.
  • kondisi - membandingkan nilai pada variable loop dengan nilai batas, yang menghasilkan nilai boolean.
  • stepExression - melakukan update pada variable loop.

Contoh penggunaan for loops seperti berikut ini:

public class latihan_looping {

    public static void main(String[] args) {
        String kamu = "Bisa";
        int jumlah = 5;
        for(int x=0; x<jumlah; x++){
            System.out.println(kamu);
        }
    }
}

Program tersebut akan menghasilkan output "Bisa" sebanyak 5 kali, pertama-tama, for akan melihat kondisi jika x lebih kecil dari 5 (jumlah) maka statement didalamnya akan dijalankan, setelah itu value pada variable x akan bertambah 1 (x++) sampai kondisi bernilai "false".

WildanTechnoArt-For Loops Example Java Programming

Terimakasih telah berkunjung, semoga tutorial yang saya buat bisa bermanfaat untuk kalian semua, jika ada yang ingin kalian tanyakan, silakan isi komentar dibawah, Wassalamualaikum Warahmatullahi Wabarakatuh.

Tutorial Menggunakan RadioButton & RadioGroup Android

Tutorial Menggunakan RadioButton & RadioGroup Android


Assalamualaikum Warahmatullahi Wabarakatuh. Tutorial kali ini saya akan mengajarkan pada kalian mengenai penggunaan RadioButton pada android stuido, RadioButton hampir mirip dengan Checkbox, digunakan untuk mencatat opsi pilihan bernilai true dan false.

Panduan dasar menggunakan RadioButton & RadioGoup pada android studio, isChecked, boolean, true, false, mutual exclusive, onCheckedChangedListener, java programming, android studio.  Dari WILDAN TECHNO ART.

RadioButton dan RadioGroup harus digunakan bersama untuk membuat opsi pilihan yang mempunyai sifat mutual exclusive artinya user hanya diperbolehkan memilih salah satu dari bebrapa opsi pilihan yang ada, jadi tidak bisa memilih semua opsi sekaligus.

RadioButton dan RadioGroup

RadioButton adalah widget yang umumnya digunakan bersama dengan RadioGroup, untuk membuat menu/opsi pilihan yang bersifat mutual exclusive, artinya user hanya diperbolehkan untuk memilih salah satu dari sekian banyak opsi, jika tadi kita menggunakan checkbox, kita bisa memilih 3 opsi sekaligus, jika menggunakan RadioButton dan RadioGroup, user hanya dapat memilih salah satu saja.

Jika RadioButton tidak berada didalam RadioGroup, saat user mengklik salah satu opsi pada RadioButton tersebut akan bernilai true akan tetapi tidak bisa menjadi false kembali.

Perlu kalian ingat, tag <RadioButton> harus berada didalam tag <RadioGroup> dan jangan lupa untuk menambahkan atribut android:orientation untuk menentukan jenis orientasi (vertical atau horizontal).

Untuk contoh yang pertama, kita akan membuat program sederhana, buka file activity_main.xml kalian, lalu masukan kode xml seperti berikut ini:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:layout_margin="8dp"
    android:orientation="vertical"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Bahasa Pemrograman Apa yang Kamu Suka ?"
        android:textSize="15sp"
        android:textStyle="bold" />

    <RadioGroup
        android:id="@+id/opsi"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        android:orientation="vertical">

        <RadioButton
            android:id="@+id/java"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Java" />

        <RadioButton
            android:id="@+id/kotlin"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Kotlin" />

        <RadioButton
            android:id="@+id/cpp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="C++" />
    </RadioGroup>

</LinearLayout>

Disini kita akan menggunakan fungsi setOnCheckedChangedListener() pada RadioGroup, akan dipanggil saat status pada opsi berubah, jadi fungsi tersebut bisa kita gunakan untuk mengecek status kondisi pada semua opsi, jika ada salah satu opsi yang terpilih, maka program akan menjalankan statement atau perintah menurut opsi yang dipilihnya.

package android.cianjur.developer.net.basicandroid;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity{

    private RadioGroup list_opsi;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list_opsi = findViewById(R.id.opsi);
        list_opsi.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int id) {
                switch (id){
                    case R.id.java:
                        Toast.makeText(getApplication(), "Saya Suka Java", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.kotlin:
                        Toast.makeText(getApplication(), "Saya Suka Kotlin", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.cpp:
                        Toast.makeText(getApplication(), "Saya Suka C++", Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        });
    }
}

Jalankan project tersebut:

WildanTechnoArt-RadioButton Example

Baca Juga:

Pada contoh yang kedua ini, kita akan membuat program sederhana, dimana user harus menjawab pertanyaan yang kita buat, lalu user memilih jawaban tersebut pada RadioButton, jika jawaban benar, maka akan muncul dialog "Benar" dan Jika Salah "Salah".

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:layout_margin="8dp"
    android:orientation="vertical"
    tools:context="android.cianjur.developer.net.basicandroid.MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Siapakah Nama Presiden RI Pertama Di Indonesia ?"
        android:textColor="#000000"
        android:textSize="15sp" />

    <RadioGroup
        android:id="@+id/list_jawaban"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        android:orientation="vertical">

        <RadioButton
            android:id="@+id/habibie"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="A. B. J. Habibie" />

        <RadioButton
            android:id="@+id/soekarno"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="B. Ir. Soekarno" />

        <RadioButton
            android:id="@+id/jokowi"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="C. Jokowi" />
    </RadioGroup>

    <Button
        android:id="@+id/jawab"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Jawab" />

</LinearLayout>

Bisa kalian lihat, tampilannya akan seperti ini:

WildanTechnoArt-RadioButton & RadioGroup Example


Pada program tersebut kita tidak akan menggunakan onCheckedChangedListener(), tapi kita akan menggunakan onClickListener pada Button, jadi outputnya (benar atau salah) akan tampil saat user menekan tombol.

Buka file.MainActivity.java kalian, masukan source code berikut ini:

package android.cianjur.developer.net.basicandroid;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity{

    private Button jawab;
    private RadioGroup list_jawaban;
    private RadioButton soekarno, habibie, jokowi;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list_jawaban = findViewById(R.id.list_jawaban);
        soekarno = findViewById(R.id.soekarno);
        habibie = findViewById(R.id.habibie);
        jokowi = findViewById(R.id.jokowi);
        jawab = findViewById(R.id.jawab);
        jawab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                UserAnswer();
            }
        });
    }

    private void UserAnswer(){
        if(soekarno.isChecked()){
            Toast.makeText(getApplicationContext(), "Benar", Toast.LENGTH_SHORT).show();
        }else if(habibie.isChecked()){
            Toast.makeText(getApplicationContext(), "Salah", Toast.LENGTH_SHORT).show();
        }else if(jokowi.isChecked()){
            Toast.makeText(getApplicationContext(), "Salah", Toast.LENGTH_SHORT).show();
        }else{
            Toast.makeText(getApplicationContext(), "Tidak Ada Jawaban Yang Dipilih", Toast.LENGTH_SHORT).show();
        }
    }
}

Jalankan project tersebut:

WildanTechnoArt-RadioButton Example2

Sekian dari saya, terimakasih telah mengunjungi blog ini, semoga tutorial yang saya buat bisa bermanfaat bagi kalian semua, mohon maaf bila ada kesalahan. Wassalamualaikum Warahmatullahi Wabarakatuh.