TeachMeSoft

andoid






activity_main.xml
<?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"
    tools:context=".MainActivity"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Mengambil Nilai dari Edit Text"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="35dp"
        android:textStyle="bold"
        android:textColor="#000000"
        android:background="#FFC0CB"
        android:textSize="24sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Nama:"
        android:textStyle="bold"
        android:textColor="#000000"
        android:textSize="24sp"/>

    <EditText
        android:id="@+id/edit1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:hint="Masukan Nama ..."
        android:textSize="24sp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="NIM:"
        android:textStyle="bold"
        android:textColor="#000000"
        android:textSize="24sp"/>

    <EditText
        android:id="@+id/edit2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:hint="Masukan NIM ..."
        android:textSize="24sp"/>

    <Button
        android:id="@+id/btnProcess"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onProcess"
        android:text="Process"
        android:layout_gravity="right"
        android:textColor="@android:color/white"
        android:theme="@style/AppTheme" />

    <TextView
        android:id="@+id/hasil"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:textStyle="bold"
        android:textColor="#000000"
        android:layout_gravity="center"
        android:text="Nama " />
    <TextView
        android:id="@+id/hasil2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:textStyle="bold"
        android:textColor="#000000"
        android:layout_gravity="center"
        android:text="Nim" />

</LinearLayout>

MainActivity.java
package com.example.datamahasiswa;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    EditText edPesan1, edPesan2;
    TextView textPesan1, textPesan2;
    String pesan1, pesan2;

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

        edPesan1 = (EditText) findViewById(R.id.edit1);
        edPesan2 = (EditText) findViewById(R.id.edit2);
        textPesan1 = (TextView) findViewById(R.id.hasil);
        textPesan2 = (TextView) findViewById(R.id.hasil2);
    }

    public void onProcess (View view){
        pesan1 = String.valueOf(edPesan1.getText());
        textPesan1.setText(pesan1);

        pesan2 = String.valueOf(edPesan2.getText());
        textPesan2.setText(pesan2);
    }
}



style.xml
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorControlHighlight">@color/orange</item>
        <item name="colorButtonNormal">@color/green</item>
    </style>

</resources>



color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#6200EE</color>
    <color name="colorPrimaryDark">#3700B3</color>
    <color name="colorAccent">#03DAC5</color>
    <color name="orange">#FFA500 </color>
    <color name="green">#2F4F4F</color>
</resources>




Membuat Login Sederhna Menggunakan Java (Constructor)






Materi


Soal

Class login
variabel: username, password, nama
username bebas (String)
password = NIM masing-masing (String)
nama = nama lengkap (String)
setter & getter

didalam main
inputkan username & password
cek input user

jika username & password input sudah sesuai dengan yang diclass
berhasil ==> Selamat datag nama
program selesai

jika tidak
Gagal ==> ulang masukkan username & password


Source code

import java.io.*;

class Login
{
 //deklarasi
 private String username, password, nama;
 
 //constructor
 public Login()
 {
 username = "imam";
 password = "5180721002";
 nama = "Imam Ibnu Badri";
 }
 
 public Login(String username, String password, String nama)
 {
   this.username = username;
   this.password = password;
   this.nama = nama;
 }
 
 //setter
 public void setUsername(String username)
 {
 this.username = username;
 }
 public void setPassword(String password)
 {
 this.password = password;
 } 
 
 public void setNama(String nama)
 {
 this.nama = nama;
 } 
 
 //getter
 public String getUsername()
 {
 return username;
 }
 public String getPassword()
 {
 return password;
 }
  public String getNama()
 {
 return nama;
 }
 
}



class Menu
{
 public static void main (String [] args) throws Exception
 {
 String usr, psw,lg, my_user,my_password;;
 BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
  
 //instance of class
 Login user1= new Login();
 System.out.println("=============LOGIN===============");
 System.out.print("|  Masukan username = "); my_user=br.readLine();
 System.out.print("|  Masukan password = "); my_password=br.readLine();
 System.out.println("=================================");
  
 if(my_user.equals(user1.getUsername())&& my_password.equals(user1.getPassword()))
     {
   System.out.println("=================================");
   System.out.println("      *** Login Sukses ***");
   System.out.println(" Selamat Datang "+user1.getNama());
   System.out.println("=================================");
     }
     else
     {
   System.out.println("=================================");
   System.out.println("       *** Login Galgal***");
   System.out.println("=================================");
   do{
    System.out.println("=============LOGIN===============");
    System.out.print("|  Masukan username = "); my_user=br.readLine();
    System.out.print("|  Masukan password = "); my_password=br.readLine();
    System.out.println("=================================");
   }while(my_user.equals(user1.getUsername())&& my_password.equals(user1.getPassword()));
     }  
 }
} 



Output

JIka Login benar


JIka Login Salah











Pertemuan 4 - Constructor






Konfigurasi CMD untuk Compile dan Run Java

  1. Buka Command Promp dengan cara Window + R  ➜ ketik “cmd”.
  2. Ketikan perintah set path=”C:\Program Files\Java\jdk-13.0.2\bin”, ➜ kemudian tekan enter.

  3. Untuk mengecek java di laptop/pc ➜ ketik perintah “javac”.


Constructor


Latihan ke-1 - Constructor

  1. Buka notepad++ ➜ buat program hello world, dengan source code berikut.
    kelas3.java
    class Handphone                     
    { 
     //deklarasi
     private String nama;
     private int harga;
     
     Handphone(String nama, int harga){
      this.nama=nama;
      this.harga=harga;
     }
      
     public void setNama(String nama)
     {
      this.nama=nama;
     }
     
     public void setHarga(int harga )
     {
      this.harga=harga;
     }
     public String getNama(){
      return nama;
     }
     
     public int getHarga(){
      return harga;
     }
     //getter
     
     //method tambahan 
    } 
    
    public class kelas3{
     public static void main(String[]args){
      Handphone hp = new Handphone("Nokia", 150000);  
      System.out.println("=======================");  
      System.out.println("Nama HP = "+hp.getNama());
      System.out.println("Harga HP= "+hp.getHarga());  
      System.out.println("=======================");
      
     }
    }
    
  2. Simpan file dengan dengan nama kelas3.java.
  3. Arahkan direktori ke file java yang disimpan sebelumnya.
  4. Compile dengan mengetik perintah “javac kelas3.java” dan ketik perintah “java kelas” untuk Run program.
  5. Output yang di tampilkan sebagai berikut


Latihan ke-2 - Overloading Constructor ke-1

  1. Buka notepad++ ➜ buat program baru dengan source code berikut.
    kelas3.java
    class Handphone                     
    { 
     //deklarasi
     private String nama;
     private int harga;
     
     Handphone(){
      nama="Sony";
      harga=999;
     }
     
     Handphone(String nama, int harga){
      this.nama=nama;
      this.harga=harga;
     }
      
     public void setNama(String nama)
     {
      this.nama=nama;
     }
     
     public void setHarga(int harga )
     {
      this.harga=harga;
     }
     public String getNama(){
      return nama;
     }
     
     public int getHarga(){
      return harga;
     }
     //getter
     
     //method tambahan 
    } 
    
    public class kelas3{
     public static void main(String[]args){
      Handphone hp = new Handphone();  
      System.out.println("=======================");  
      System.out.println("Nama HP = "+hp.getNama());
      System.out.println("Harga HP= "+hp.getHarga());  
      System.out.println("=======================");
      
     }
    }
    
  2. Simpan file dengan dengan nama kelas3.java.
  3. Compile dengan mengetik perintah “javac kelas3.java” dan ketik perintah “java kelas” untuk Run program.
  4. Output yang di tampilkan sebagai berikut

Latihan ke-3 - Overloading Constructor ke-2

  1. Buka notepad++ ➜ buat program baru dengan source code berikut.
    kelas3.java
    class Handphone                     
    { 
     //deklarasi
     private String nama;
     private int harga;
     
     Handphone(){
      nama="Sony";
      harga=999;
     }
     
     Handphone(String nama, int harga){
      this.nama=nama;
      this.harga=harga;
     }
      
     public void setNama(String nama)
     {
      this.nama=nama;
     }
     
     public void setHarga(int harga )
     {
      this.harga=harga;
     }
     public String getNama(){
      return nama;
     }
     
     public int getHarga(){
      return harga;
     }
     //getter
     
     //method tambahan 
    } 
    
    public class kelas3{
     public static void main(String[]args){
      Handphone hp = new Handphone();  
      System.out.println("=======================");  
      System.out.println("Nama HP = "+hp.getNama());
      System.out.println("Harga HP= "+hp.getHarga());  
      System.out.println("=======================");
      
      Handphone hp2 = new Handphone("Xiomi", 500000);
      System.out.println("=======================");  
      System.out.println("Nama HP = "+hp2.getNama());
      System.out.println("Harga HP= "+hp2.getHarga());  
      System.out.println("=======================");
     }
    }
    
  2. Simpan file dengan dengan nama kelas3.java.
  3. Compile dengan mengetik perintah “javac kelas3.java” dan ketik perintah “java kelas” untuk Run program.
  4. Output yang di tampilkan sebagai berikut


Latihan ke-4 - Overloading Constructor Input Output

  1. Buka notepad++ ➜ buat program baru dengan source code berikut.
    kelas3.java
    import java.util.Scanner;
    
    class Handphone                     
    { 
     //deklarasi
     private String nama;
     private int harga;
     
     Handphone(){
      nama="Sony";
      harga=999;
     }
     
     Handphone(String nama, int harga){
      this.nama=nama;
      this.harga=harga;
     }
      
     public void setNama(String nama)
     {
      this.nama=nama;
     }
     
     public void setHarga(int harga )
     {
      this.harga=harga;
     }
     public String getNama(){
      return nama;
     }
     
     public int getHarga(){
      return harga;
     }
     //getter
     
     //method tambahan 
    } 
    
    public class kelas3{
     public static void main(String[]args){
      //variabel
      String nama2;
      int harga2;
      
      Scanner s = new Scanner(System.in);
      
      Handphone hp = new Handphone();  
      System.out.println("=======================");  
      System.out.println("Nama HP = "+hp.getNama());
      System.out.println("Harga HP= "+hp.getHarga());
      
      Handphone hp2 = new Handphone("Xiomi", 500000);
      System.out.println("=======================");  
      System.out.println("Nama HP = "+hp2.getNama());
      System.out.println("Harga HP= "+hp2.getHarga());
      
      
      System.out.println("=========INPUT=========");  
      System.out.print("Masukan Nama Hp  = "); nama2=s.nextLine(); 
      System.out.print("Masukan Harga Hp = Rp."); harga2=s.nextInt(); 
      Handphone hp3 = new Handphone(nama2, harga2);
      System.out.println("=========OUTPUT========");
      System.out.println("Nama HP = "+hp3.getNama());
      System.out.println("Harga HP= "+hp3.getHarga());
      System.out.println("=======================");
     }
    }
    
  2. Simpan file dengan dengan nama kelas3.java.
  3. Compile dengan mengetik perintah “javac kelas3.java” dan ketik perintah “java kelas” untuk Run program.
  4. Output yang di tampilkan sebagai berikut




Materi
















Java Methods

Java Methods

Daftar Isi



Java Methods

Java Method Parameters


Java Method Overloading




Java Methods


Sebuah metode adalah blok kode yang hanya berjalan ketika dipanggil.

Anda dapat mengirimkan data, yang dikenal sebagai parameter, ke dalam metode.

Metode digunakan untuk melakukan tindakan tertentu, dan mereka juga dikenal sebagai fungsi .

Mengapa menggunakan metode? Untuk menggunakan kembali kode: tentukan kode sekali, dan gunakan berkali-kali.


Buat Metode


Metode harus dideklarasikan dalam kelas. Itu didefinisikan dengan nama metode, diikuti oleh tanda kurung () . Java menyediakan beberapa metode yang telah ditentukan, seperti System.out.println(), tetapi Anda juga dapat membuat metode Anda sendiri untuk melakukan tindakan tertentu:


Contoh
buat metode di dalam MyClass:
public class MyClass {
  static void myMethod() {
    // code to be executed
  }
}


  • myMethod() adalah nama metodenya
  • static berarti bahwa metode tersebut milik kelas MyClass dan bukan objek dari kelas MyClass. Anda akan belajar lebih banyak tentang objek dan cara mengakses metode melalui objek nanti dalam tutorial ini.
  • void berarti bahwa metode ini tidak memiliki nilai balik. Anda akan belajar lebih banyak tentang nilai pengembalian nanti di bab ini








Panggil Metode


Untuk memanggil metode di Jawa, tulis nama metode yang diikuti oleh dua tanda kurung () dan tanda titik koma ;

Dalam contoh berikut, myMethod() digunakan untuk mencetak teks (tindakan), ketika dipanggil:


Contoh
Di dalam main, panggil myMethod() metode: 

public class MyClass {
  static void myMethod() {
    System.out.println("I just got executed!");
  }

  public static void main(String[] args) {
    myMethod();
  }
}

// Outputs "I just got executed!"

Suatu metode juga dapat dipanggil beberapa kali:

Contoh
public class MyClass {
  static void myMethod() {
    System.out.println("I just got executed!");
  }

  public static void main(String[] args) {
    myMethod();
    myMethod();
    myMethod();
  }
}



Java Method Parameters


Parameter dan Argumen


Informasi dapat diteruskan ke metode sebagai parameter. Parameter bertindak sebagai variabel di dalam metode.

Parameter ditentukan setelah nama metode, di dalam tanda kurung. Anda dapat menambahkan sebanyak mungkin parameter yang Anda inginkan, cukup pisahkan dengan koma.

Contoh berikut memiliki metode yang menggunakan fname yangString disebut sebagai parameter. Ketika metode dipanggil, kami memberikan nama depan, yang digunakan di dalam metode untuk mencetak nama lengkap:

contoh
public class MyClass {
  static void myMethod(String fname) {
    System.out.println(fname + " Refsnes");
  }

  public static void main(String[] args) {
    myMethod("Liam");
    myMethod("Jenny");
    myMethod("Anja");
  }
}
// Liam Refsnes
// Jenny Refsnes
// Anja Refsnes

Ketika parameter dilewatkan ke metode, itu disebut argumen . Jadi, dari contoh di atas: fname adalah parameter , sementara LiamJenny dan Anja yang argumen .



Beberapa parameter

Anda dapat memiliki banyak parameter yang Anda inginkan:

contoh
public class MyClass {
  static void myMethod(String fname, int age) {
    System.out.println(fname + " is " + age);
  }

  public static void main(String[] args) {
    myMethod("Liam", 5);
    myMethod("Jenny", 8);
    myMethod("Anja", 31);
  }
}

// Liam is 5
// Jenny is 8
// Anja is 31


Perhatikan bahwa ketika Anda bekerja dengan beberapa parameter, pemanggilan metode harus memiliki jumlah argumen yang sama dengan parameter, dan argumen harus diteruskan dalam urutan yang sama.



Nilai Pengembalian


Kata voidkunci, yang digunakan dalam contoh di atas, menunjukkan bahwa metode tidak boleh mengembalikan nilai. Jika Anda ingin metode untuk mengembalikan nilai, Anda dapat menggunakan tipe data primitif (seperti int, char, dll) bukan void, dan menggunakan return kata kunci dalam metode:

contoh
public class MyClass {
  static int myMethod(int x) {
    return 5 + x;
  }

  public static void main(String[] args) {
    System.out.println(myMethod(3));
  }
}
// Outputs 8 (5 + 3)
Contoh ini mengembalikan jumlah dari dua parameter metode :

contoh
public class MyClass {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    System.out.println(myMethod(5, 3));
  }
}
// Outputs 8 (5 + 3)
Anda juga dapat menyimpan hasilnya dalam variabel (disarankan, karena lebih mudah dibaca dan dipelihara):

contoh
public class MyClass {
  static int myMethod(int x, int y) {
    return x + y;
  }

  public static void main(String[] args) {
    int z = myMethod(5, 3);
    System.out.println(z);
  }
}
// Outputs 8 (5 + 3)


Metode dengan If ... Else

Adalah umum untuk menggunakan if...else pernyataan di dalam metode:

contoh
public class MyClass {

  // Create a checkAge() method with an integer variable called age
  static void checkAge(int age) {

    // If age is less than 18, print "access denied"
    if (age < 18) {
      System.out.println("Access denied - You are not old enough!");

    // If age is greater than 18, print "access granted"
    } else {
      System.out.println("Access granted - You are old enough!");
    }

  }

  public static void main(String[] args) {
    checkAge(20); // Call the checkAge method and pass along an age of 20
  }
}

// Outputs "Access granted - You are old enough!"



Java Method Overloading


Metode Overloading


Dengan method overloading , beberapa metode dapat memiliki nama yang sama dengan parameter yang berbeda:



Contoh
int myMethod(int x)
float myMethod(float x)
double myMethod(double x, double y)

Pertimbangkan contoh berikut, yang memiliki dua metode yang menambahkan nomor dari tipe yang berbeda:


Contoh

static int plusMethodInt(int x, int y) {
  return x + y;
}

static double plusMethodDouble(double x, double y) {
  return x + y;
}

public static void main(String[] args) {
  int myNum1 = plusMethodInt(8, 5);
  double myNum2 = plusMethodDouble(4.3, 6.26);
  System.out.println("int: " + myNum1);
  System.out.println("double: " + myNum2);
}


Daripada mendefinisikan dua metode yang harus melakukan hal yang sama, lebih baik membebani satu metode.

Dalam contoh di bawah ini, kami membebani plusMethod metode untuk bekerja untuk keduanya int dan double:


Contoh

static int plusMethod(int x, int y) {
  return x + y;
}

static double plusMethod(double x, double y) {
  return x + y;
}

public static void main(String[] args) {
  int myNum1 = plusMethod(8, 5);
  double myNum2 = plusMethod(4.3, 6.26);
  System.out.println("int: " + myNum1);
  System.out.println("double: " + myNum2);
}


Catatan: Banyak metode dapat memiliki nama yang sama selama jumlah dan / atau tipe parameternya berbeda.






Sumber


  • https://www.w3schools.com/java/default.asp