. .

BAGIAN KE EMPAT : JAVA ARRAYS DAN STRINGS DI NETBEANS IDE

Posted by CHRISTIANTO D,WIBOWO | D3MI-2016 STMIK BUMI GORA On Senin, November 21, 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.

Java String Array Pertanyaan Umum: Dapatkah kita berbagi beberapa contoh java array, khususnya beberapa contoh array String, untuk sintaks lingkaran ?
Tentu saja. Dalam bahasan kita kali ini, kita akan menunjukkan bagaimana cara mendeklarasikan, mengisi, dan iterate melalui array Java String, termasuk Java 5 untuk sintaks lingkaran. Karena menciptakan array String adalah seperti menciptakan dan menggunakan objek array lain di Java, contoh-contoh ini juga dapat bekerja sebagai contoh objek array yang lebih umum.

Mendeklarasikan array Java String dengan ukuran awal
Jika kita tahu di awal seberapa besar array yang kita perlukan, kita dapat
  • Mendeklarasikan array String dan, 
  • Memberikan ukuran awal seperti ini:
public class JavaStringArrayTests
{
    private String[] toppings = new String[20];

    // more ...
}
Dalam contoh ini, kita menyatakan sebuah String array bernama toppings - private String[] toppings, dan kemudian memberikan ukuran awal 20 elemen - new String[20].
Kemudian, dalam metode Java class, kita dapat mengisi elemen dalam array seperti ini:

private void populateStringArray()
{
    toppings[0] = "Cheese";
    toppings[1] = "Pepperoni";
    toppings[2] = "Black Olives";

    // ...
}
Seperti yang kita lihat, Jawa array dimulai dengan unsur bernomor nol, nol adalah basis mereka - seperti bahasa pemrograman C.
Mendeklarasikan array Java String tanpa ukuran awal 
Jika kita tahu bahwa kita memerlukan array String, tetapi tidak tahu berapa besar awalnya array yang diperlukan, kita juga dapat mendeklarasikan variabel array tanpa memberikan ukuran awal, seperti ini:

public class JavaStringArrayTests
{
    private String[] toppings;

    // more ...
}
Kemudian kita dapat:

  • Memberikan array ukuran dan, 
  • Mengisinya sesuai keinginan kita, seperti ini:
private void populateStringArray()
{
    // you'll probably determine this size based on some algorithm
    toppings = new String[20];

    toppings[0] = "Cheese";
    toppings[1] = "Pepperoni";
    toppings[2] = "Black Olives";

    // ...
}
Pendekatan pemrograman array ini sangat mirip dengan pendekatan sebelumnya, tapi seperti yang kita lihat, kita tidak memberikan ukuran array sampai metode populateStringArray - populateStringArray method disebutkan/dipanggil.

Mendeklarasikan dan mengisi array Java String
Kita tidak perlu mendeklarasikan array String dalam dua langkah, kita dapat melakukan semuanya dalam satu langkah, seperti ini:


public class JavaStringArrayTests
{
    private String[] toppings = {"Cheese", "Pepperoni", "Black Olives"};
}
Contoh ini mirip dengan contoh sebelumnya, dengan perbedaan berikut:

  1. Topping array didefinisikan dan diisi dalam satu langkah.
  2. Array topping ini hanya memiliki tiga unsur di dalamnya.

Iterasi melalui array String
Kita dapat membuat loop sedikit lebih bersih dan lebih mudah dibaca, sehingga perulangan melalui array bahkan lebih mudah. Berikut adalah contoh kodenya :
public class JavaStringArrayTests2
{

    private String[] toppings = {"Cheese", "Pepperoni", "Black Olives"};

    // our constructor; print out the String array here
    public JavaStringArrayTests2()
    {
        // new `for` loop
        for (String s: toppings)
        {
          System.out.println(s);
        }
    }

    // main kicks everything off.
    // create a new instance of our class here.
    public static void main(String[] args)
    {
        new JavaStringArrayTests2();
    }
}

Kita bisa menempatkan string teks ke dalam array. Hal ini dilakukan dengan cara yang sama seperti untuk bilangan bulat:
String[ ] aryString = new String[5] ;

aryString[0] = "This";
aryString[1] = "is";
aryString[2] = "a";
aryString[3] = "string";
aryString[4] = "array";
kode di atas membuat sebuah array string dengan 5 posisi. Dan teks ditugaskan untuk setiap posisi dalam array.
Berikut adalah lingkaran yang berlangsung sepanjang semua posisi dalam array, mencetak apa pun yang pada setiap posisi:

int i;
for ( i=0; i < aryString.length; i++ ) {
System.out.println( aryString[i] );
}
Loop berjalan berputar-putar sementara nilai dalam variabel yang disebut i adalah kurang dari panjang dari array disebut aryString.
Ketika program di atas dijalankan, jendela Output akan terlihat seperti ini:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cobasortarray;

/**
 *
 * @author Christianto Dharma Wibowo a.k.a GEMBLONG
 */

public class CobaSortArray {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    String[] aryString = new String[5];
    aryString[0] = "This";
    aryString[1] = "is";
    aryString[2] = "a";
    aryString[3] = "string";
    aryString[4] = "array";  
 

    int i;
for (i=0; i < aryString.length; i++){
System.out.println(aryString[i] );
      }
   }
}

OUTPUT :
run:
This
is
a
string
array
BUILD SUCCESSFUL (total time: 0 seconds)


Kita dapat melakukan penyortiran - sort pada array string, seperti yang dapat dilakukan dengan bilangan - integers. Seperti menaikkan - ascending satu abjad, yang berarti bahwa "aa" akan muncul pertama atas "ab". Namun, Java menggunakan karakter Unicode untuk membandingkan satu huruf dalam string dengan yang lainnya. Ini berarti bahwa huruf besar akan muncul sebelum yang huruf kecil. Cobalah kode berikut:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cobasortarray;

/**
 *
 * @author Christianto Dharma Wibowo a.k.a GEMBLONG
 */
import java.util.Arrays;
public class CobaSortArray {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    String[] aryString = new String[5];
    aryString[0] = "This";
    aryString[1] = "is";
    aryString[2] = "a";
    aryString[3] = "string";
    aryString[4] = "array";  
 
Arrays.sort(aryString);    
    int i;
for (i=0; i < aryString.length; i++){
System.out.println(aryString[i] );
      }
   }
}


Meskipun kita sudah mengurutkan array, kata "This" lebih dulu. Jika ini adalah sebuah penyortiran abjad, kita mengharapkan kata "a" untuk muncul pertama. Dan itu jika semua memang huruf yang kecil. Dalam kode pemrograman kita dapat mengubah huruf besar/capital/Uppercase "T" dari kata "This" menjadi huruf kecil/lowercase " .. t "sekarang coba rubah kode nya dan jalankan programnya lagi .. [ PROBLEM TO SOLVE ].
PROBLEM SOLVED (1)
Permasalahan diatas dapat dipecahkan setelah kita mempelajari bahasan BAHASA PEMROGRAMAN JAVA PADA NETBEANS IDE  sampai dengan BAGIAN KE LIMA : JAVA STRING TINGKAT LANJUT DI NETBEANS IDE,  Mengapa huruf besar/UpperCase "T" lebih kecil dari huruf kecil/LoweCase "a" ?  PERHATIKAN baik-baik tabel ASCII dibawah ini :
pada saat OFFLINE, kita bisa memakai tabel ini sebagai panduan, jika ONLINE gunakan media converter online dari https://r12a.github.io/apps/conversion/  agar pembelajaran kita ini bisa lebih efektif dan efisien,  Mengapa huruf besar/UpperCase "T" lebih kecil dari huruf kecil/LowerCase "a" ?    Jelas pada tabel ASCII diatas bahwa huruf besar/UpperCase "T" (Hexa = \u0054) memiliki nilai decimal = 84, sedangkan huruf kecl "a" (Hexa = \u0061) memiliki nilai decimal = 97, maka 84 < 97, sehingga untuk menshortir secara alphabetik string diatas kita harus mengkonversi huruf besar/UpperCase "T" menjadi huruf kecil/LowerCase "t", karena "t" (Hexa = \u0116) memiliki nilai decimal = 116, maka 97 (a) < 116 (t). Maka penulisan script code pada Netbeans IDE, menjadi seperti ini :
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cobasortarray;

/**
 *
 * @author Christianto Dharma Wibowo a.k.a GEMBLONG
 */
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class CobaSortArray {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    String[] aryString = new String[5];
    aryString[0] = "this";
    aryString[1] = "is";
    aryString[2] = "a";
    aryString[3] = "string";
    aryString[4] = "array";  

Arrays.sort(aryString);  
    int i;
for (i=0; i < aryString.length; i++){
System.out.println(aryString[i].toLowerCase());
      }
   }
}
Output Menjadi :
run:
a
array
is
string
this
BUILD SUCCESSFUL (total time: 1 second)

Pemecahan masalah diatas masih bersifat manual, dimana kita masih merubah huruf besar/UpperCase "T" dengan huruf kecil/LowerCase "t" dengan mengetik manual, PROBLEM TO SOLVE (2), bagaimana jika sortir alphabetik diatas dilakukan tanpa merubah nilai aryString[0] "This" ?  

Buatlah sebuah array untuk memegang nilai berikut, dan dalam urutan ini: 23, 6, 47, 35, 6, 14. Tulis program untuk mendapatkan rata-rata semua 6 nomor.
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package sortaveragenumber;

/**
 *
 * @author Christianto Dharma Wibowo a.k.a GEMBLONG
 */
public class SortAverageNumber {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int[ ] aryNums = { 24, 6, 47, 35, 6, 14 };

int i;
int arrayTotal = 0;
int average = 0;

for (i=0; i < aryNums.length; i++) {

arrayTotal = arrayTotal + aryNums[ i ];

}

average = arrayTotal / aryNums.length;
System.out.println("total: " + average);
    }
 
}


Menggunakan nilai di atas, mencetak angka tertinggi dalam array.
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package sortaveragenumber;

/**
 *
 * @author Christianto Dharma Wibowo a.k.a GEMBLONG
 */
import java.util.Arrays;
public class SortAverageNumber {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int[ ] aryNums = { 24, 6, 47, 35, 6, 14 };

int i;
int arrayTotal = 0;
int average = 0;

for (i=0; i < aryNums.length; i++) {

Arrays.sort(aryNums);
int lastArrayNumber = aryNums.length - 1;
System.out.println("Highest Number: " + aryNums[lastArrayNumber]);
    }
    }
}


Menggunakan array yang sama di atas, mencetak hanya angka ganjil .
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package sortaveragenumber;

/**
 *
 * @author Christianto Dharma Wibowo a.k.a GEMBLONG
 */
import java.util.Arrays;
public class SortAverageNumber {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int[ ] aryNums = { 24, 6, 47, 35, 6, 14 };

int i;
int arrayTotal = 0;
int average = 0;

for (i=0; i < aryNums.length; i++) {

int oddNum = 0;

for (i=0; i < aryNums.length; i++) {

oddNum = aryNums[ i ] %2;

if (oddNum == 1) {

System.out.println("odd number = " + aryNums[i]);
    }
    }
}
    }
}


Dalam pembelajaran kita berikutnya, kita akan belajar tentang array multi-dimensi di java. - Multi-Dimensional Arrays
Terimakasih Pada Sumber Pembelajaran Ini :

0 komentar:

Posting Komentar