menggunakan do .. while 7 comments
Konstruksi do .. while pada java serupa dengan repeat until pada Pascal
do {
} while(logical expression)
logical expression: ekspresi yang hasilnya true atau false.
misalnya (i<10) atau lebih kompleks (berat>70 & tinggi<160)
contoh 1: tebak angka
Sekaligus memperkenalkan cara input dari keyboard dengan class Scanner
Program akan berhenti meminta input jika angka yang diketik 0 (nol) atau lebih besar dari 1000. Atau jika tebakan jitu
import java.util.Scanner;
public class TebakAngka {
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
int angkaSembunyi = 1000;
int tebakan;
do {
System.out.print("tebakan anda: ");
tebakan = sc.nextInt();
if (tebakan==angkaSembunyi)
{ System.out.println("tebakan anda jitu !!! ");
break; // keluar dari loop
}
} while ((tebakan <= 0) || (tebakan > angkaSembunyi));
System.out.println("trimzzz sudah menebak ");
}
}
contoh di atas masih belum aman karena jika input dari keyboard bukan angka, program akan error! Wanted!!! contoh yang ada pencegah run time error/exception
contoh satu lagi … dengan tambahan mengunakan sub-routine
Program berikut akan berulang-ulang meminta nilai angka dan dikonversi menjadi nilai huruf. Program akan berhenti jika input 0 atau > 100 (atau minus).
import java.util.Scanner;
public class KonversiNilaiAngka {
static char nilaiHuruf(int nilai)
{
char nhuruf;
if (nilai >= 90)
nhuruf = 'A';
else if (nilai >= 80)
nhuruf = 'B';
else if (nilai >= 70)
nhuruf = 'C';
else if (nilai >= 60)
nhuruf = 'D';
else
nhuruf = 'E';
return nhuruf;
}
public static void main(String[] args) {
int nilaiAngka;
char nh;
Scanner sc = new Scanner(System.in);
do {
System.out.print("nilai : ");
nilaiAngka = sc.nextInt();
nh=nilaiHuruf(nilaiAngka); // nh menerima "return"
System.out.println("Nilai : "+nilaiAngka+" "+nh);
} while ((nilaiAngka > 0) && (nilaiAngka <= 100));
System.out.println(" while loop selesai");
}
}
contoh skrensyut proses
nilai : 45
Nilai : 45 E
nilai : 78
Nilai : 78 C
nilai : 95
Nilai : 95 A
catatan while ((nilaiAngka > 0) && (nilaiAngka <= 100)); gaya C, C++ dan while ((nilaiAngka > 0) & (nilaiAngka <= 100)); sama saja
supaya contoh hitung upah makin terang, kita coba lagi dengan do .. while
import javax.swing.*;
class HitungUpah
{
static String InputString(String s1)
{ return JOptionPane.showInputDialog(s1); }
static int InputInteger(String s1)
{
int i;
String x=JOptionPane.showInputDialog(s1);
try {
i=Integer.parseInt(x);
}
catch(Exception e){ i=100; }
return i;
}
public static void main(String[] args)
{
String nama;
int jam_kerja,jam_lembur,upah_per_jam,lembur_per_jam,gol,
upah,upah_lembur;
do
{
nama=InputString("Karyawan");
gol=InputInteger("Golongan");
if (gol==100) continue;
if(gol<1 | gol>5) break;
jam_kerja=InputInteger("JamKerja");
if (jam_kerja==100) continue;
if(jam_kerja > 40)
{ jam_lembur=jam_kerja-40;
jam_kerja=40; }
else
{jam_lembur=0;}
switch (gol) {
case 1 : upah_per_jam=2000; lembur_per_jam=3000; break;
case 2 : upah_per_jam=2500; lembur_per_jam=4000; break;
case 3 : upah_per_jam=3500; lembur_per_jam=5000; break;
case 4 : upah_per_jam=5000; lembur_per_jam=7000; break;
case 5 : upah_per_jam=7500; lembur_per_jam=9000; break;
default : upah_per_jam=0; lembur_per_jam=0; break;
}
upah=jam_kerja*upah_per_jam;
upah_lembur=jam_lembur*lembur_per_jam;
System.out.println(nama+"\t"+upah+"\t"+upah_lembur);
//
// silakan modifikasi tampilan data input dan hasil hitung
//
} while (gol<1000);
}
}
Why 1000?
yang membuat loop selesai adalah jika bilangan selain 1 s.d.5 diisi pada saat input golongan. Kalau while(gol<4), nanti pada setelah ada input golongan 5, loop selesai. while(gol>0) atau while(gol<6) akan berfungsi sama dengan while(gol<1000).
penjelasan program sudah ada di contoh sebelumnya.
7 partisipasi untuk 'menggunakan do .. while'
abonemen komentar via RSS or TrackBack to 'menggunakan do .. while'.
-
klo return fungsinya bwt apa??
[Reply]
-
http://java.lyracc.com/belajar/java-untuk-pemula/tipe-keluaran
tuh baca sendiri pembahasan na…bhs indo lhooo,
ktimbang gw kasi yg bhs inggris malah mkin bingung dahh…
kalau masih susah ngertinya… baca lagi, baca lagi, baca lagi, baca lagi, baca lagi, dan baca lagi plus coba lagi, coba lagi, dan coba lagi …..dijamin bisa ngerti ….. admin
… masih dari admin
import java.util.Scanner; public class KonversiNilaiAngka { static char nilaiHuruf(int nilai) { char nhuruf; if (nilai >= 90) nhuruf = 'A'; else if (nilai >= 80) nhuruf = 'B'; else if (nilai >= 70) nhuruf = 'C'; else if (nilai >= 60) nhuruf = 'D'; else nhuruf = 'E'; return nhuruf; } public static void main(String[] args) { int nilaiAngka; char nh; Scanner sc = new Scanner(System.in); do { System.out.print("nilai : "); nilaiAngka = sc.nextInt(); nh=nilaiHuruf(nilaiAngka); // nh menerima "return" System.out.println("Nilai : "+nilaiAngka+" "+nh); } while ((nilaiAngka > 0) && (nilaiAngka < = 100)); System.out.println(" while loop selesai"); } }contoh skrensyut proses
nilai : 45
Nilai : 45 E
nilai : 78
Nilai : 78 C
nilai : 95
Nilai : 95 Acatatan
while ((nilaiAngka > 0) && (nilaiAngka < = 100)); gaya C, C++
dan
while ((nilaiAngka > 0) & (nilaiAngka <= 100));
sama saja[Reply]
-
thank’s ya bosssssssss,blog kamu sangat membantu
[Reply]
-
kalo gabungin array ama looping gmn caranya y?
buatn contoh dunk
thx y[Reply]
-
gimana yaa cara ngukur running time pake java… help
[Reply]










Rockes13 Reply:
August 19th, 2009 at 4:23 pm
udh bnyak mass contoh” nya yg udh kami posting…silahkan mass cek di halaman Home kami,
[Reply]