#TryHarder

#TryHarder

TI mencari rata rata di bluej pakai for loop tanpa scanner:)​

mencari rata rata di bluej pakai for loop tanpa scanner:)​

Catatan Awal
BlueJ hanyalah sebuah aplikasi IDE yang dapat memudahkan kita menulis, mengkompilasi, dan mengelola kode program sumber dalam bahasa Java. Compilernya tetap saja Java-compiler (javac). Menurut saya, dalam persoalan ini, di mana permasalahan masih bersifat umum, penggunaan aplikasi IDE atau bahkan editor teks apapun akan menghasilkan output yang sama.
Kecuali, jika ada “sesuatu” yang bisa dilakukan dengan BlueJ yang mungkin tidak ditawarkan oleh aplikasi IDE lainnya. “Sesuatu” ini akan dibahas pada cara khusus di akhir jawaban.

Pembahasan

Pada Java, sepengetahuan saya, selain dengan class Scanner, kita dapat menggunakan class BufferedReader atau Console untuk menangani atau membaca masukan dari user pada console/terminal.

Program Versi 1: Dengan objek BufferedReader

Objek yang diinstansiasi dari class BufferedReader harus “berpasangan“ dengan objek dari class InputStreamReader, yang menangani input dari System.in.

Kode Program Versi 1

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

public class RataRata_BufferedReader {
   public static void main(String[] args) throws IOException {
       // Deklarasi
       float jumlah = 0;
       int n = 0;
       // Instansiasi objek BufferedReader
       BufferedReader br = new BufferedReader(
           new InputStreamReader(System.in));

       // INPUT
       System.out.println("\nMENGHITUNG RATA-RATA");
       System.out.print("Berapa bilangan yang ingin dimasukkan? ");
       n = Integer.parseInt(br.readLine());
       for (int i = 1; i <= n; i++) {
           System.out.printf("Bilangan ke-%d: ", i);
           jumlah += Float.parseFloat(br.readLine());
       }

       // PROSES dan OUTPUT
       System.out.println("---------------------");
       System.out.printf("RATA-RATA = %.2f\n\n", jumlah/n);
   }
}
_______________

Program Versi 2: Dengan objek Console

Dengan objek dari class Console, serupa dengan BufferedReader, kita gunakan method readLine(), lalu konversi/casting ke tipe data yang diinginkan, jika perlu.

Kode Program Versi 2

import java.io.Console;
import java.io.IOException;

public class Ratarata_Console {
   public static void main(String[] args) throws IOException {
       // Deklarasi
       float jumlah = 0;
       int n = 0;
       // Instansiasi objek Console
       Console con = System.console();

       // INPUT
       System.out.println("\nMENGHITUNG RATA-RATA");
       System.out.print("Berapa bilangan yang ingin dimasukkan? ");
       n = Integer.parseInt(con.readLine());
       for (int i = 1; i <= n; i++) {
           System.out.printf("Bilangan ke-%d: ", i);
           jumlah += Float.parseFloat(con.readLine());
       }

       // PROSES dan OUTPUT
       System.out.println("---------------------");
       System.out.printf("RATA-RATA = %.2f\n\n", jumlah/n);
   }
}
_______________

Contoh hasil eksekusi kedua versi program di atas (pada BlueJ) dapat dilihat pada gambar.

_______________

CARA KHUSUS

Kemudian, “sesuatu” yang saya tuliskan pada catatan awal di atas adalah cara khusus yang dapat diaplikasikan pada BlueJ. Sebenarnya, dengan IDE lain pun bisa. Namun, karena cara yang saya gunakan tidak standar, maka saya tidak mengujinya di luar BlueJ.

Method utama pada sebuah program Java adalah private static void main(String[] args) { ... }.
Untuk cara khusus ini, saya ubah menjadi private static void main(float[] args) { ... }, sehingga parameter dari method main adalah array dengan elemen bertipe float.

Ingat, ini adalah “penyalahgunaan”. Jangan ditiru, karena dengan yang standar, kita juga dapat menambahkan parameter dengan cara lain.

Kode Program Versi 3

public class RataRata_Param {
   public static void main(float[] args) {
       // Deklarasi
       float jumlah = 0;
       int n = args.length;        

       System.out.println("\nMENGHITUNG RATA-RATA");
       if (n == 0) {
           System.out.println("Tidak ada bilangan yang dimasukkan.");
       }
       else {
           System.out.println("Bilangan yang dimasukkan = " + n);
           for (int i = 0; i < args.length; i++) {
               //jumlah += Float.parseFloat(args[i]);
               System.out.printf("Bilangan ke-%d: %.2f \n", i+1, args[i]);
               jumlah += args[i];
           }
           System.out.println("---------------------");
           System.out.printf("RATA-RATA = %.2f\n\n", jumlah/n);
       }
   }
}

_______________

Cara eksekusinya adalah sebagai berikut.

Klik kanan class RataRata_Param pada jendela Project dari BlueJ. Kemudian, pilih void main(float[] args]. Lalu muncul jendela Method Call, kita isi parameter dengan array, misalnya disamakan dengan eksekusi di atas yaitu {6, 7, 8, 9, 10} (seperti pada gambar kedua). Setelah itu, klik OK.

Hasil eksekusinya adalah:

MENGHITUNG RATA-RATA
Bilangan yang dimasukkan = 5
Bilangan ke-1: 6.00
Bilangan ke-2: 7.00
Bilangan ke-3: 8.00
Bilangan ke-4: 9.00
Bilangan ke-5: 10.00
---------------------
RATA-RATA = 8.00

[answer.2.content]