. .

BAGIAN KE LIMA : JAVA METODE indexOf() PADA NETBEANS IDE

Posted by CHRISTIANTO D,WIBOWO | D3MI-2016 STMIK BUMI GORA On Rabu, November 30, 2016 No comments

Sebelum kita meneruskan mempelajari pembelajaran ini, ada baiknya kita baca artikel-artikel sebelumnya yang terhubung dengan langkah-langkah pembelajaran ini (Link) BAHASA PEMROGRAMAN JAVA PADA NETBEANS IDE.

Metode indexOf - method indexOf() digunakan untuk menemukan karakter atau string dalam string lain. Misalnya, kita dapat menggunakannya untuk melihat apakah ada karakter @ di alamat email. Mari kita gunakan contoh bahwa dalam beberapa kode.
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
char ampersand='@';
String email_address="gemblong@stmikbumigora.ac.id";
int result;
result=email_address.indexOf(ampersand);
System.out.println(result);
}
}
Output:
8
Kita ingin memeriksa apakah tanda @ di String email_address, jadi kita pertama kali membentuk variabel char dan menetapkan nilai dari '@'. (Perhatikan tanda kutip tunggal untuk variabel char). Setelah menyetel alamat email - String email_address, kita memiliki variabel hasil. Ini adalah variabel int - int result;. Alasan bahwa hasil adalah bilangan bulat adalah karena method indexOf() akan mengembalikan nilai. Ini akan mengembalikan jumlah posisi karakter ampersand di String email_address. Berikut baris kode yang relevan:
result=email_address.indexOf(ampersand);
String yang kita coba cari, Setelah titik, ketik indexOf - .indexOf. Di antara kurung bulat dari indexOf, kita memiliki beberapa pilihan. Salah satu pilihan adalah dengan mengetikkan karakter tunggal (atau nama variabel char). Dan kita telah menempatkan variabel ampersand - (ampersand) antara kurung bulat dari indexOf. Java akan memberitahu kita posisi karakter @ di alamat email, dan akan menyimpan nilai dalam variabel hasil.
Ketika kita menjalankan kode, output akan 8. kita mungkin berpikir bahwa tanda @ adalah karakter kesembilan di alamat email. Tapi indexOf mulai menghitung pada 0 sebagai default index.
Namun, jika karakter tidak dalam kata yang kita cari, indexOf akan mengembalikan nilai -1. Untuk menguji hal ini, menghapus tanda @ dari String email_address. Kemudian jalankan kode Anda lagi. kita akan melihat -1 sebagai output.
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
char ampersand='@';
  String email_address="gemblongATstmikbumigora.ac.id";
  int result;
  result=email_address.indexOf(ampersand);
  System.out.println(result);
}
}

Output:
-1


Kita dapat menggunakan nilai kembali dari -1 untuk keuntungan kita juga. Berikut kode, dengan IF statement yang meneliti nilai  int result;:
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
char ampersand='@';
  String email_address="gemblongATstmikbumigora.ac.id";
  int result;
  result=email_address.indexOf(ampersand);
  if (result==-1){
  System.out.println("Invalid Email Address");
  }
  else {
  System.out.println("Email Address OK");
}
  }
}
Output:
Success time: 0.04 memory: 711168 signal:0

Invalid Email Address
Jika hasil dari indexOf adalah -1 maka kita bisa melakukan satu hal, yang lain memungkinkan pengguna untuk melanjutkan.
Kita juga dapat menggunakan indexOf untuk menguji lebih dari satu karakter. Kode di bawah memeriksa alamat email untuk melihat apakah itu berakhir dengan ".ac.id"?:
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String dotacid=".ac.id";
  String email_address="gemblong@stmikbumigora.ac.id";
  int result;
  result=email_address.indexOf(dotacid);
  if (result==-1){
   System.out.println("Invalid Email Address");
  }
  else {
  System.out.println("Email Address OK");
       }
}
}
Output:
Success time: 0.04 memory: 711168 signal:0
Email Address OK

Kode ini hampir identik, kecuali kita sekarang menggunakan variabel String untuk memegang teks yang ingin kita periksa ".ac.id", dan bukan variabel char.
Hasil dari -1 akan dikembalikan jika teks untuk mencari tidak ditemukan dalam String yang datang sebelum dot dari indexOf. Jika tidak, indexOf akan kembali posisi pertama dari karakter yang cocok, ketika kita mulai menghitung dari 0.
Kita juga dapat menentukan posisi awal untuk pencarian, dalam contoh alamat email, kita dapat mulai mencari ".ac.id" setelah simbol @. Berikut ini beberapa kode yang pertama menempatkan posisi simbol @, dan kemudian menggunakan itu sebagai posisi awal untuk mencari ".ac.id".
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String dotacid=".ac.id";
  char ampersand='@';
  String email_address="gemblong@stmikbumigora.ac.id";
  
  int atpos=email_address.indexOf(ampersand);
  int result=email_address.indexOf(dotacid, atpos);
  result=email_address.indexOf(dotacid);
  if (result==-1){
   System.out.println("Invalid Email Address");
  }
  else {
  System.out.println("Email Address OK");
       }
}
}
Output:
Success time: 0.05 memory: 711168 signal:0
Email Address OK
Baris baru kode adalah ini:
int result=email_address.indexOf(dotacid, atpos);
Satu-satunya hal yang berbeda adalah penambahan variabel tambahan antara kurung dari indexOf. Kita masih memiliki string dan kita ingin mencari (yang teks apa yang ada di variabel String dotacid=".ac.id";), tapi kita sekarang memiliki posisi awal untuk pencarian, adalah nilai dari variabel yang disebut atPos int atpos=email_address.indexOf(ampersand);. Kita mendapatkan nilai atPos dengan menggunakan indexOf untuk mencari posisi simbol @ di alamat email. Sehingga Java akan memulai pencarian dari posisi ini, bukan dimulai dari index 0, yang merupakan default.

Ends With … Starts With
Untuk program di atas, sebagai ALTERNATIF SOLUTION kita juga dapat menggunakan metode inbuilt endsWith:
Boolean ending = email_address.endsWith( dotacid );
kita perlu mengatur variabel Boolean untuk endsWith, karena metode tersebut mengembalikan jawaban benar - true atau salah - false. String akan mencoba untuk menguji antara kurung bulat dari endsWith, dan teks yang kita coba cari sebelumnya. Jika teks dalam string pencarian maka nilai benar - true dikembalikan, yang lainnya salah - false. Kita dapat menambahkan if … else statement untuk memeriksa nilai:
if (ending == false ) {
      System.out.println( "Invalid Email Address" );
            }
else {
     System.out.println( "Email Address OK " );
            }

*/Penulisan code
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String dotacid=".ac.id";
  char ampersand='@';
  String email_address="gemblong@stmikbumigora.ac.id";
  
  int atpos=email_address.indexOf(ampersand);
  int result=email_address.indexOf(dotacid, atpos);
  Boolean ending = email_address.endsWith( dotacid );
  result=email_address.indexOf(dotacid);
  if (ending == false ) {
      System.out.println( "Invalid Email Address" );
            }
else {
     System.out.println( "Email Address OK " );
            }
}

}

Metode Starts With juga bisa digunakan dengan cara yang sama:
Boolean startVal = email_address.startsWith( dotacid );
Dan nilai kembalinya adalah Boolean benar - true atau salah - false, silahkan dicoba rubah programnya dengan menggunakan Metode Starts With dan jalankan.

Metode indexOf () - method indexOf() bisa juga digunakan untuk mengetahui indeks dari karakter atau substring yang ditentukan dalam String tertentu. Ada 4 variasi metode ini:
  1. int indexOf (int ch) - int indexOf(int ch) : Mengembalikan indeks dari kejadian pertama ch karakter dalam String.
  2. int indexOf (int ch, int fromIndex) - int indexOf(int ch, int fromIndex): Mengembalikan indeks dari kejadian pertama jika karakter ch, mulai dari indeks tertentu "fromIndex".
  3. int indexOf (String str) - int indexOf(String str): Mengembalikan index string str dalam String tertentu.
  4. int indexOf (String str, int fromIndex) - int indexOf(String str, int fromIndex): Mengembalikan index string str, mulai dari indeks tertentu "fromIndex".
Semua variasi di atas mengembalikan -1 Jika karakter-ch/substring yang sudah ditentukan  tetapi tidak ditemukan dalam String tertentu.
public class IndexOfExample{
   public static void main(String args[]) {
       String str1 = new String("This is a BeginnersBook tutorial");
       String str2 = new String("Beginners");
       String str3 = new String("Book");
       String str4 = new String("Books");
       System.out.println("Index of B in str1: "+str1.indexOf('B'));
       System.out.println("Index of B in str1 after 15th char:"+str1.indexOf('B', 15));
       System.out.println("Index of B in str1 after 30th char:"+str1.indexOf('B', 30));
       System.out.println("Index of string str2 in str1:"+str1.indexOf(str2));
       System.out.println("Index of str2 after 15th char"+str1.indexOf(str2, 15));
       System.out.println("Index of string str3:"+str1.indexOf(str3));
       System.out.println("Index of string str4"+str1.indexOf(str4));
       System.out.println("Index of harcoded string:"+str1.indexOf("is"));
       System.out.println("Index of hardcoded string after 4th char:"+str1.indexOf("is", 4));
   }
}

Output:
Index of B in str1: 10
Index of B in str1 after 15th char:19
Index of B in str1 after 30th char:-1
Index of string str2 in str1:10
Index of str2 after 15th char-1
Index of string str3:19
Index of string str4-1
Index of harcoded string:2
Index of hardcoded string after 4th char:5
Java – String lastIndexOf() Method
Mari kita bahas  indexOf() method yang lainnya. Dalam bahasan ini kita akan membahas lastIndexOf() Method yang digunakan untuk mengetahui indeks kejadian terakhir dari char / sub-string dalam String tertentu.
Variasi:
  1. int lastIndexOf (int ch): Mengembalikan kejadian terakhir ch karakter dalam String tertentu.
  2. int lastIndexOf (int ch, int fromIndex): Mengembalikan kejadian terakhir ch, mulai mencari mundur dari indeks tertentu "fromIndex".
  3. int lastIndexOf (String str): Mengembalikan kejadian terakhir dari str dalam String.
  4. int lastIndexOf (String str, int fromIndex): Mengembalikan kejadian terakhir dari str, mulai mencari mundur dari indeks tertentu "fromIndex".
Contoh dari penggunaan lastIndexOf() Method
*/Penulisan kode dalam Netbeans IDE

public class LastIndexOfExample{
   public static void main(String args[]) {
       String str1 = new String("This is a BeginnersBook tutorial");
       String str2 = new String("Beginners");
       String str3 = new String("Book");
       String str4 = new String("Books");
       System.out.println("Last 'B' in str1: "+str1.lastIndexOf('B'));
       System.out.println("Last 'B' in str1 whose index<=15:"+str1.lastIndexOf('B', 15));
       System.out.println("Last 'B' in str1 whose index<=30:"+str1.lastIndexOf('B', 30));
       System.out.println("Last occurrence of str2 in str1:"+str1.lastIndexOf(str2));
       System.out.println("Last occurrence of str2 in str1 before 15:"+str1.lastIndexOf(str2, 15));
       System.out.println("Last occurrence of str3 in str1:"+str1.lastIndexOf(str3));
       System.out.println("Last occurrence of str4 in str1"+str1.lastIndexOf(str4));
       System.out.println("Last occurrence of 'is' in str1:"+str1.lastIndexOf("is"));
       System.out.println("Last occurrence of 'is' in str1 before 4:"+str1.lastIndexOf("is", 4));
   }
}

*/Penulisan kode dalam ideone.com
/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
       String str1 = new String("This is a BeginnersBook tutorial");
       String str2 = new String("Beginners");
       String str3 = new String("Book");
       String str4 = new String("Books");
       System.out.println("Last 'B' in str1: "+str1.lastIndexOf('B'));
       System.out.println("Last 'B' in str1 whose index<=15:"+str1.lastIndexOf('B', 15));
       System.out.println("Last 'B' in str1 whose index<=30:"+str1.lastIndexOf('B', 30));
       System.out.println("Last occurrence of str2 in str1:"+str1.lastIndexOf(str2));
       System.out.println("Last occurrence of str2 in str1 before 15:"+str1.lastIndexOf(str2, 15));
       System.out.println("Last occurrence of str3 in str1:"+str1.lastIndexOf(str3));
       System.out.println("Last occurrence of str4 in str1"+str1.lastIndexOf(str4));
       System.out.println("Last occurrence of 'is' in str1:"+str1.lastIndexOf("is"));
       System.out.println("Last occurrence of 'is' in str1 before 4:"+str1.lastIndexOf("is", 4));
   }


}
Output:
Success time: 0.04 memory: 711168 signal:0
Last 'B' in str1: 19
Last 'B' in str1 whose index<=15:10
Last 'B' in str1 whose index<=30:19
Last occurrence of str2 in str1:10
Last occurrence of str2 in str1 before 15:10
Last occurrence of str3 in str1:19
Last occurrence of str4 in str1-1
Dalam pembelajaran berikutnya, kita akan belajar bagaimana menggunakan metode yang disebut substring. - Substring

0 komentar:

Posting Komentar