Kali ini saya akan mencoba membuat progam untuk mencari nilai suatu bilangan itu satuan puluhan ratusan atau mungkin ribuan. Tapi ini menurut caraku sendiri mungkin ada rekan rekan yang punya cara lebih efektif bisa di share disini.
Kita akan membuat progam yang menginputkan bilangan 1 < 1000, tampilannya akan seperti ini :
Bila yag di inputkan ternyata lebih dari 10000 maka bilangan yaang diatas 10000 diabaikan dan memberikan pesan bahwa bilangan yang di inputkan lebih besar atau sama dengan 10000. Langsung saja perhatikan script di bawah ini, boleh copy pastekan di netbean atau notepad. Tapi mohon dilihat dulu alur kerjanya yah.
import java.util.Scanner;
public class bilangan {
public static void main(String[] args) {
int i=1, input,nilai,pembagi=1;
Scanner masukan=new Scanner(System.in);
System.out.println("Masukan Data :");
input=masukan.nextInt();
for(i=1;i<=input;)
{
i*=10;
nilai=(input%i)/pembagi;
for(;pembagi==1;){
System.out.println(nilai+" : Satuan");break;}
for(;pembagi==10;){
System.out.println(nilai+" : Puluhan");break;}
for(;pembagi==100;){
System.out.println(nilai+" : Ratusan");break;}
for(;pembagi==1000;){
System.out.println(nilai+" : Ribuan");break;}
for(;pembagi==10000;){
System.out.println(nilai+" : Puluhan Ribu");break;}
pembagi*=10;
}
public class bilangan {
public static void main(String[] args) {
int i=1, input,nilai,pembagi=1;
Scanner masukan=new Scanner(System.in);
System.out.println("Masukan Data :");
input=masukan.nextInt();
for(i=1;i<=input;)
{
i*=10;
nilai=(input%i)/pembagi;
for(;pembagi==1;){
System.out.println(nilai+" : Satuan");break;}
for(;pembagi==10;){
System.out.println(nilai+" : Puluhan");break;}
for(;pembagi==100;){
System.out.println(nilai+" : Ratusan");break;}
for(;pembagi==1000;){
System.out.println(nilai+" : Ribuan");break;}
for(;pembagi==10000;){
System.out.println(nilai+" : Puluhan Ribu");break;}
pembagi*=10;
}
if(input<=0)
System.out.println(input+" kurang dari 1");
else if(input>=10000){
System.out.println("Nilai Yang Anda Masukan "+input+" lebih dari 10.000" );
System.out.println(nama); }
}
}
Penjelasan dari script tersebut sebagai berikut proses ini akan diulang terus selama nilai i <= input;jika kita menginputkan nilai 59 maka akan menghasikan hanya nilai 9 satuan dan 5 puluhan
Untuk menentukan nilai satuan,puluhan ratusan atau ribuan kita buat variabe nilai
variable nilai diperoleh dari sisa bagi nilai yang kita inputkan dibagi pembagi
saat kita menginputkan 12987
nilai inputan tersebut dibagi oleh nilai i yang sudah dikalikan 10; jadi hasilnya 12987%i= 7, kita dapat simpulkan bahwa pada saat pembagi bernilai 1 maka akan menghasilkan nilai 7 satuan berati sudah ditemukan bahwa 7 adalah satuan,
Dan pada saat pembagi bernilai 10 maka i bernilai 100 sisa bagi 12987%i akan menghasilkan nilai 87,nilai=87 dibagi oleh pembagi akan menghasilkan nilai 8. karena bilangan bertipe integer maka nilai dibelakang koma diabaikan.
Bagaimana ? apakah anda berhasil. semoga bisa bermanfaat yah. Terimaksih ^_^
NB : for bisa diganti while maupun if saya sengaja menggunakan for karena iseng ajah. hehe banyak jalan menjadi progamer.
for(;pembagi==10000;) //ingat for harus ada pemisah dengan tanda ";". ini baru aku coba hehe
while(pembagi==10000)
if(pembagi==10000) // standarnya si pakai if kalo pake if jangan lupa hapus statement "break;" yah karena akan membuat perulangan berakhir