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

Berikut ini adalah pertanyaan dari djaki23 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

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

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

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

Catatan AwalBlueJ 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.PembahasanPada 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 BufferedReaderObjek yang diinstansiasi dari class BufferedReader harus “berpasangan“ dengan objek dari class InputStreamReader, yang menangani input dari System.in. Kode Program Versi 1import 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(Catatan AwalBlueJ 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.PembahasanPada 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 BufferedReaderObjek yang diinstansiasi dari class BufferedReader harus “berpasangan“ dengan objek dari class InputStreamReader, yang menangani input dari System.in. Kode Program Versi 1import 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(Catatan AwalBlueJ 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.PembahasanPada 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 BufferedReaderObjek yang diinstansiasi dari class BufferedReader harus “berpasangan“ dengan objek dari class InputStreamReader, yang menangani input dari System.in. Kode Program Versi 1import 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(

Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Sat, 24 Dec 22