Belajar Java Mengontrol Loop Dengan Sentinel
Belajar Java Mengontrol Loop Dengan Sentinel
Belajar Java Mengontrol Loop Dengan Sentinel - Perulangan atau loop dalam agenda sanggup dikontrol dengan memakai sentinel. Sentinel ini disebut juga dengan signal value atau dummy value atau flag value, dengan tujuan untuk memberitahu bahwa penggunaan sentinel tersebut ialah "akhir dari penginputan data". Cara kerja sentinel ini adalah, user akan memasukkan data sesuai dengan kebutuhannya, dan sesudah data tersebut semuanya diinput, lalu user akan memasukkan nilai sentinel untuk mengindikasikan bahwa tidak ada lagi data yang dimasukkan.
Pengontrolan loop dengan sentinel disebut juga dengan loop yang tidak terhingga, alasannya ialah jumlah perulangan tidak diketahui sebelum loop dieksekusi.
Tips Mengambil Nilai Yang Digunakan Sebagai Sentinel Pengontrol Loop
Untuk menentukan nilai yang akan digunakan, ada dua hal yang harus diperhatikan :
- Menggunakan nilai yang bukan termasuk data normal, contohnya untuk memasukkan umur, kita sanggup memakai nilai sentinel -1, alasannya ialah mustahil umur seseorang ialah -1.
- Akan lebih baik juga jika mengingatkan user dalam setiap perulangan, mengenai berapa nilai sentinel. Contoh : ("Masukkan tanggal lahir atau -1 untuk mengakhiri");
Banyak agenda mempunyai 3 fase yaitu:
- Inisialisasi variabel
- Memproses data yang di input dan mengatur variabel-variabel agenda dengan tepat.
- Penghentian, yaitu perhitungan dan menampilkan hasil akhir.
Contoh di bawah ini ialah agenda untuk menghitung berat rata-rata siswa, dengan memakai loop dan juga dipakai sentinel, nilai sentinel ialah 0.
Pseudocode algoritmanya ialah :
Pseudocode algoritmanya ialah :
- Inisialisasi variabel total ke 0
- Inisialisasi variabel counter ke 0
- Membuat prompt untuk user menginput data berat badan
- Input berat tubuh pertama (mungkin juga nilai sentinel diinput)
- while user belum memasukkan nilai sentinel
- Tambahkan berat tubuh tersebut ke total
- Tambahkan 1 untuk counter
- Prompt user untuk memasukkan berat tubuh selanjutnya
- Input berat tubuh selanjutnya (mungkin jua nilai sentinel diinput)
- If counter tidak sama dengan 0
- Set nilai rata-rata ialah total dibagi dengan counter
- Tampilkan nilai rata-rata
- else
- tampilkan "Tidak ada berat tubuh yang dimasukkan!"
class BeratRataRataSiswa2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | import java.util.Scanner; public class BeratRataRataSiswa2 { private String user; //konstruktor public BeratRataRataSiswa2(String nama){ user = nama; } //set method public void setUser( String nama ) { user = nama; // menyimpan nama user } //get method public String getUser() { return user;//mengembalikan nama user } // Menampilkan pesan selamat tiba kepada user public void tampilkanPesan(){ //Pernyataan ini memanggil method getUser untuk //mendapatkan nama dari pemilik user. System.out.printf( "Selamat tiba \n%s!\n", getUser()); } //Method untuk memutuskan rata-rata berat tubuh siswa public void menetapkanRataRataBerat(){ //Membuat objek Scanner untuk memperoleh input dari keyboard Scanner input = new Scanner( System.in ); int total;//jumlah total berat tubuh yang dimasukkan oleh user int counterBeratBadan;//counter untuk berat tubuh yang dimasukkan int beratBadan;//angka berat tubuh yang dimasukkan oleh user double rataRata;//rata-rata berat badan //inisialisasi total = 0;//inisialisasi total counterBeratBadan = 0;//Menginisialisasi loop counter // prompt untuk input berat badan System.out.print( "Masukkan berat tubuh atau masukkan 0 untuk berhenti: " ); beratBadan = input.nextInt(); //loop hingga user memasukkan sentinel, nilai entinel ialah 0 while(beratBadan != 0) { total = total + beratBadan;//menambahkan berat tubuh yang diinput ke total counterBeratBadan = counterBeratBadan + 1; //increment counter dengan 1 // prompt untuk menginput berat badan System.out.print( "Masukkan berat tubuh atau masukkan 0 untuk berhenti: " ); beratBadan = input.nextInt(); }//Akhir while loop //Bila user memasukkan minimal satu berat badan if(counterBeratBadan != 0){ //menghitung berat rata-rata dari pemilik Buku Angkatan //Dilakukan juga casting int ke double rataRata = (double)total / counterBeratBadan; System.out.printf("\nTotal dari %d berat tubuh siswa " + "adalah: %d Kg\n", counterBeratBadan,total); System.out.printf("Berat rata-rata ialah %.2f Kg\n", rataRata ); } else { System.out.print("Tidak ada berat tubuh yang dimasukkan!"); } } } |
class DemoBeratRataRataSiswa2
1 2 3 4 5 6 7 8 9 10 11 12 | public class DemoBeratRataRataSiswa2 { public static void main( String args[] ){ BeratRataRataSiswa2 rataRata = new BeratRataRataSiswa2("User"); rataRata.tampilkanPesan(); rataRata.menetapkanRataRataBerat(); } } |
Contoh Output 1 :
Selamat tiba User! Masukkan berat tubuh atau masukkan 0 untuk berhenti: 67 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 85 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 69 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 75 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 74 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 59 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 60 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 82 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 77 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 63 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 65 Masukkan berat tubuh atau masukkan 0 untuk berhenti: 0 Total dari 11 berat tubuh siswa adalah: 776 Kg Berat rata-rata ialah 70.55 Kg
Contoh output 2, jika user eksklusif memasukkan 0 :
Selamat tiba User! Masukkan berat tubuh atau masukkan 0 untuk berhenti: 0 Tidak ada berat tubuh yang dimasukkan!
Demikianlah pembahasan mengenai Belajar Java Mengontrol Loop Dengan Sentinel, diperlukan sanggup memudahkan anda dalam mempelajari Java.
Mohon di share jika dirasa bermanfaat, thanks.
Belum ada Komentar untuk "Belajar Java Mengontrol Loop Dengan Sentinel"
Posting Komentar