. .

TUGAS & LATIHAN:  Bahasa Pemrograman JAVA Netbeans IDE Mencari Armstrong Number  

Posted by CHRISTIANTO D,WIBOWO | D3MI-2016 STMIK BUMI GORA On Sabtu, Desember 10, 2016 No comments

Bilangan atau Angka atau nomor Armstrong adalah bilangan atau angka yang sama dengan jumlah dari digit "pangkat" dari jumlah digit di nomor bilangan atau angka itu sendiri. Agar lebih jelas, umpamakan sebuah Bilangan atau angka atau nomor menjadi n dan jumlah digit menjadi x. Kita umpamakan sebuah bilangan atau angka atau nomor sebagai :  nn-1nₓ₋₂ ... nnn dimana n, n, n... n adalah satu digit 0-9. Maka n adalah jumlah Armstrong.
n1x + n2x + n3x + nx-1x + nxx = n
153, 371, 9474 and 54748 adalah bilangan - angka - nomor Armstrong.
153 = 13 + 53 + 33
371 = 33 +73 +13
9474 = 94 + 44 +74 + 44
54748 = 55 + 45 + 75 + 45 + 85
Untuk itu TUGAS dan LATIHAN kali ini adalah :
BUATLAH Java Program yang bisa memeriksa dan mengecek apakah suatu Bilangan - Angka atau Nomor adalah termasuk dalam Bilangan - Angka atau Nomor Armstrong.
BUATLAH Java Program yang bisa memeriksa dan mengecek serta mencetak Bilangan - Angka atau Nomor Armstrong dalam range Bilangan - Angka atau Nomor yang di input oleh user. 
Tempatkanlah suatu Bilangan - Angka atau Nomor yang akan diperiksa dalam variabel masukan int. Kita membuat salinan dari masukan dan menyimpannya di copyOfInput. Hal ini diperlukan bahwa kita membuat salinan karena jumlah yang akan diperiksa akan berubah selama pelaksanaan program dan menjelang akhir, kita perlu jumlah input asli untuk menyatakan apakah itu nomor Armstrong atau tidak.

Kita pertama kali menemukan jumlah digit dalam jumlah input. Untuk melakukannya, kita membangun String dengan menggabungkan jumlah input dengan string null. Kita juga dapat menggunakan method valueOf (int)  dari class String. Panjang string yang dihasilkan memperoleh menggunakan method lenght() yang akan memberi kita jumlah digit dalam jumlah input.
Kita juga menyatakan sejumlah variabel dan menginisialisasinya ke nol. Variabel ini akan terus menjumlahkan digit diangkat ke "pangkat" yang sesuai.

Selanjutnya, dalam while loop, kita mengekstrak digit input dari kanan ke kiri, mengangkat mereka dengan "pangkat" yang tepat dan menambah nilai yang ada dari sum. Untuk mengekstrak digit terakhir nomor, kita menemukan sisanya diperoleh dan membagi jumlah tersebut dengan 10 menggunakan operator modulo. sisanya diangkat ke "pangkat" numberOfDigits  menggunakan fungsi Math.pow(). Fungsi ini mengembalikan nilai ganda yang secara eksplisit dilemparkan ke int sehingga kita dapat menambahkannya dengan jumlah yang ada. Sekarang, angka terakhir dari copyOfInput akan dipotong dengan menelusuri dengan 10. while loop akan mengeksekusi selama copyOfInput tidak nol. Dan ketika itu adalah nol, maka semua angka akan diproses. Akhirnya, kita akan memeriksa apakah jumlahnya sama dengan jumlah input. Jika sudah demikian, maka jumlah tersebut merupakan jumlah Armstrong atau nomor Armstrong atau angka Armstrong atau bilangan Armstrong.
❶ Maka source code java programnya Java Program yang bisa memeriksa dan mengecek apakah suatu Bilangan - Angka atau Nomor adalah termasuk dalam Bilangan - Angka atau Nomor Armstrong :
//@uthor Christianto "GEMBLONG" Dharma Wibowo
package armstrongnumber;
import java.util.Scanner;
public class ArmstrongNumber {

public static boolean isArmstrong(int input) {
       System.out.println("MENCARI BILANGAN - ANGKA - NOMOR ARMSTRONG");
       System.out.println("------------------------------------------");   
    String inputAsString = input + "";
       int numberOfDigits = inputAsString.length();
       int copyOfInput = input;
       int sum = 0;
       while (copyOfInput != 0) {
           int lastDigit = copyOfInput % 10;
           sum = sum + (int) Math.pow(lastDigit, numberOfDigits);
           copyOfInput = copyOfInput / 10;
       }
       if (sum == input) {
           return true;
       } else {
           return false;
       }
   }

   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.print("Masukkan Bilangan - Angka - Nomor : ");
       int inputNumber = scanner.nextInt();
       boolean result = isArmstrong(inputNumber);
       if (result) {
           System.out.println(inputNumber + " => Adalah Bilangan - Angka - Nomor Armstrong");
       } else {
           System.out.println(inputNumber + " is not an armstrong number");
       }
   }
}

❷ Berikut ini adalah Java program  yang bisa memeriksa dan mengecek serta mencetak Bilangan - Angka atau Nomor Armstrong dalam range Bilangan - Angka atau Nomor yang di input oleh user.
///@uthor Christianto "GEMBLONG" Dharma Wibowo
package armstrongnumbers;
import java.util.Scanner;
public class ArmstrongNumbers {
    public static boolean isArmstrong(int input) {
       String inputAsString = input + "";
       int numberOfDigits = inputAsString.length();
       int copyOfInput = input;
       int sum = 0;
       while (copyOfInput != 0) {
           int lastDigit = copyOfInput % 10;
           sum = sum + (int) Math.pow(lastDigit, numberOfDigits);
           copyOfInput = copyOfInput / 10;
       }
       if (sum == input) {
           return true;
       } else {
           return false;
       }
   }
public static void printAll(int start, int end) {
       System.out.println("List of Armstrong Numbers between " + start + " and " + end + " :");
       for (int i = start; i <= end; i++) {
           if (isArmstrong(i)) {
               System.out.println(i);
           }
       }
   }
public static void main(String[] args) {
       System.out.println("MENCARI BILANGAN - ANGKA - NOMOR ARMSTRONG");
       System.out.println("------------------------------------------");
       Scanner scanner = new Scanner(System.in);
       System.out.print("Masukkan Nomor Awal : ");
       int start = scanner.nextInt();
       System.out.print("Masukkan Nomor Akhir : ");
       int end = scanner.nextInt();
       printAll(start, end);
    }
}

SELESAI DAN TAMPIASIH
Untuk memperoleh contoh-contoh lain tentang ARMSTRONG NUMBER click gambar diatas.

0 komentar:

Posting Komentar