Pendidikan Untuk Semua Golongan

Setiap warga negara wajib mengikuti pendidikan dasar dan pemerintah wajib membiayainya.

Gapai dan raihlah masa depanmu

Jangan berubah tuk menyenangkan seseorang. Berubahlah karena buatmu pribadi yg lebih baik dan bawamu ke masa depan yg lebih baik

Tuntulah ilmu pengetahuan itu mulai dari buaian, sampai keliang lahat.

Ilmu lebih utama daripada harta. Sebab ilmu warisan para nabi adapun harta adalah warisan Qorun, Firaun dan lainnya. Ilmu lebih utama dari harta karena ilmu itu menjaga kamu, kalau harta kamulah yang menjaganya. (Ali bin Abi Thalib )

It is literally true that you can succeed best and quickest by helping others to succeed

Orang-orang yang sukses hidup dengan lengkap. Mereka bahagia dan penuh rasa syukur dan cinta terhadap segala sesuatu dalam kehidupan mereka.

Butuh perjuangan untuk meraih puncak tertinggi

Hidup yang besar, kehidupan yang sempurna, adalah kulminasi atau puncak dari semua pikiran-pikiran besar, yang diikuti dengan tindakan-tindakan besar pula.~ P eter Sinclair ~

Tampilkan postingan dengan label Materi Kelas XII RPL. Tampilkan semua postingan
Tampilkan postingan dengan label Materi Kelas XII RPL. Tampilkan semua postingan

5.23.2012

Buku Sekolah Elektronik Rekayasa Perangkat Lunak Kelas XII


Buku yang berjudul “Rekayasa Perangkat Lunak”,sama dengan salah satu program keahlian pada Sekolah Menengah Kejuruan (SMK). Meskipun demikian, sebenarnya isi dari buku ini tidak secara khusus membahas tentang Rekayasa Perangkat Lunak. Dari sisi pandang bidang Ilmu Komputer ada lima
sub-bidang yang tercakup dalam dalam buku ini, yaitu sub-bidang Rekayasa Perangkat Lunak, Sistem Operasi, Algoritma dan Struktur Data, Bahasa Pemrograman dan Basis Data. Hal ini disesuaikan dengan kurikulum tingkat SMKuntuk Program Keahlian Rekayasa Perangkat Lunak.Pokok bahasan tentang Rekayasa Perangkat Lunak secara umum membahas dasar-dasar pengertian Rekayasa Perangkat Lunak, masalah dan pemecahan masalah, dan metode-metode pengembangan perangkat lunak. Pembahasan tentang sub-bidang Sistem Operasi berisi sistem computer, sistem operasi dan bekerja dalam jaringan computer. Cakupan materi algoritma meliputi algoritma dasar dan algoritma lanjutan.   Sub bidang Bahasa Pemrograman mengambil porsi yang cukup besar, meliputi pemrograman GUI dengan VB & VB.Net, pemrograman Java, pemrograman C++, pemrograman berorientasi obyek dan Pemrograman berbasis web. Sub-bidang terakhir yang menjadi bagian dari buku ini adalah Basis Data dengan cakupan tentang system basis data, pemodelan konseptual, basis data relasional, Microsoft Access dan SQL.

BSE Rekayasa Perangkat Lunak KelasXII download disini

5.22.2012

Statemen Pernyataan Percabangan Switch Pada Java


Penyataan percabangan kedua yang dimiliki Java adalah switch. Pernyataan switch lebih jarang digunakan, tetapi sering bermanfaat apabila kita ingin menuliskan percabangan multi arah.
Pernyataan switch memiliki bentuk sebagai berikut
switch (ekspresi) {
    case nilai1:
        perintah1
        break;
    case nilai2:
        perintah2
        break;
    case nilai3:
        perintah3
        break;
    default:
        perintah_lain
}
Di sini pernyataan switch akan mencari nilai ekspresi yang sesuai dengan nilai-nilai yang didaftarkan pada pernyataan case. Jika salah satu nilai ditemui, maka program akan melompat ke cabang case tersebut dan melakukan perintah yang terdapat di sana. Jika tidak ditemui, maka program akan melompat ke perintah yang terdapat pada pernyataan default.
Catatan ekspresi hanya bisa berbentuk nilai bilangan bulat (int, short, dan sejenisnya) atau karakter, sehingga kita tidak bisa menggunakan switch untuk mengevaluasi ekspresi yang berbentuk String.
Pernyataan break di atas sebetulnya tidak harus selalu ada. Tetapi, perintah break di sini memerintahkan komputer agar segera keluar dari blok switch apabila perintah tersebut telah selesai dilaksanakan.
Apabila perintah break tidak diberikan, maka program akan terus mengeksekusi perintah lain meskipun sudah berada di luar nilai yang tertera dalam pernyataan casenya.
Misalnya, lihat kode berikut ini :
switch (N)
    case 1:
        System.out.println("Angka tersebut bernilai 1");
        break;
    case 2:
    case 3:
    case 4:
    case 5:
        System.out.println("Angka tersebut bernilai 2, 3, 4, atau 5");
        break;
    case 6:
    case 7:
    case 8:
        System.out.println("Angka tersebut bernilai 6, 7, atau 8");
        break;
    default:
        System.out.println("Angka tersebut tidak bernilai 1 - 8");
}
Salah satu aplikasi di mana pernyataan switch berguna adalah untuk memproses menu. Menu memiliki beberapa pilihan dan user akan diminta untuk memilih suatu pilihan. Kita dapat menggunakan switch untuk menginstruksikan komputer untuk melakukan tugas tertentu sesuai dengan menu yang dipilih oleh user.
Jika Anda ingat pernyataan main() pada program Java, pernyataan main memiliki parameter String[] args, di mana args merupakan argumen yang diberikan pada saat program dijalankan melalui konsol. Biasanya argumen yang diberikan berupa opsi bagaimana program harus dilaksanakan. Di sini pernyataan switch juga berguna untuk memilih bagaimana program akan berjalan.
Jika Anda terbiasa atau pernah bergaul dengan Linux, maka tidak asing untuk menemukan perintah pada Linux seperti "ls -l" atau "tar xfz blabla". Di sini ls atau tar adalah nama program dan "-l" atau "xfz blabla" adalah argumen yang diberikan pada saat program dijalankan.
Pernyataan kosong
Pernyataan kosong sebenarnya merupakan blok kosong, atau sama dengan {} tanpa perintah apa-apa di dalamnya. Dalam Java, pernyataan kosong juga berarti tanda ; sehingga apabila Anda menulis kode seperti
if (x > 0);
    perintah1
maka perintah1 akan tetap dilaksanakan walaupun x <= 0.
Perintah kosong sering merupakan sumber kesalahan dan salah satu fitur yang sulit untuk dicari kesalahannya pada saat debugging. Misalnya perintah berikut
for (i = 1; i <= 10; i++);
    System.out.println("hallo");
Anda berharap untuk mencetak kata hallo 10x di layar, pada kenyataannya hanya 1 hallo yang dicetak. Kenapa? Karena tanda ";" setelah for menyatakan bahwa program tidak melakukan apa-apa di dalam perulangan. Perintah System.out.println("hallo") tidak berada di dalam perulangan for, sehingga perintah ini hanya dijalankan 1x saja.
Pernyataan-pernyataan lain
Hingga saat ini kita sudah membahas hampir semua pernyataan yang Java sediakan. Ada beberapa yang akan kita bahas kemudian, tetapi pernyataan-pernyataan ini merupakan pernyataan lanjutan Java, seperti return yang digunakan untuk membuat subrutin sendiri, atau try...catch dan throw untuk mengontrol alur kesalahan apabila ditemui di tengah program (atau dengan kata lain eksepsi atau pengecualian), dan synchronized untuk mengatur kontrol untuk multi-threading.
Sumber: http://java.lyracc.com/belajar/java-untuk-pemula/pernyataan-switch

Statement Pernyataan Percabangan if pada java


Pernyataan if merupakan salah satu pernyataan percabangan pada Java, dengan bentuk umum seperti

if (suatu_kondisi)
     perintah1
else
    perintah2
Seperti biasa, perintah1 dan perintah2 bisa berbentuk blok yang terdiri dari beberapa perintah. Pernyataan if merupakan bentuk percabangan 2 arah. Bagian else yang terdiri dari kata "else" dan perintah2 tidak selalu harus ada.
Perhatikan bahwa baik perintah1 dan perintah2 bisa merupakan pernyataan if itu sendiri. Ada beberapa hal menarik yang mungkin berguna. Ambil contoh dalam pernyataan berikut
if (x > 0)
    if (y > 0)
        System.out.println("perintah1");
else
    System.out.println("perintah2");
Pertama-tama, komputer tidak peduli bagaimana Anda memformat paragraf dan indentasi dari pernyataan if tersebut. Java akan menganggap else terkait dengan if terdekat, sehingga kode di atas akan dianggap seperti
if (x > 0)
    if (y > 0)
        System.out.println("perintah1");
    else
        System.out.println("perintah2");
else di program di atas akan dianggap bagian dari pernyataan jika y > 0, padahal yang kita maksud adalah else jika x > 0. Untuk memperbaikinya, kita tambahkan tanda kurung {} sehingga menjadi
if (x > 0) {
    if (y > 0)
        System.out.println("perintah1");
}
else
    System.out.println("perintah2");
Kedua pernyataan tersebut memiliki arti yang berbeda. Jika x <= 0, pada kode pertama Java tidak mencetak apa-apa ke layar, sedangkan kode kedua java akan mencetak "perintah2".
Lebih menarik lagi, perhatikan kode berikut
if (kondisi_pertama)
    perintah1
else
    if (kondisi_kedua)
        perintah2
    else
        perintah3
Lagi-lagi karena Java tidak membedakan indentasi penulisan, maka kode tersebut akan diterjemahkan Java seperti
if (kondisi_pertama)
    perintah1
else if (kondisi_kedua)
    perintah2
else
    perintah3
Dengan kata lain perintah tersebut lebih seperti percabangan 3 arah. Komputer akan mengeksekusi hanya salah satu dari perintah1, perintah2, atau perintah3. Komputer akan mengevaluasi kondisi_pertama, jika true, maka perintah1 dieksekusi sementara perintah2 dan perintah3 diabaikan. Jika false, maka kondisi_kedua akan dievaluasi. Jika true, maka perintah2 akan dieksekusi dan perintah3 diabaikan. Jika false, maka hanya perintah3 saja yang dieksekusi.
Berikut ini adalah contoh penggunaan percabangan 3 arah.

if (suhu < 20)
    System.out.println("Dingin");
else if (suhu < 30)
    System.out.println("Lumayan");
else
    System.out.println("Panas");
Kita bahkan dapat membentuk pernyataan if-else ini menjadi percabangan N arah, misalnya
if (kondisi_pertama)
    perintah1
else if (kondisi_kedua)
    perintah2
else if (kondisi_ketiga)
    perintah3
else if (kondisi_keempat)
    perintah4
.
.
.
else if (kondisi_keNminus1)
    perintahNmin1
else
    perintahN
Contoh berikut ini adalah mengurutkan 3 bilangan dari kecil ke besar. Misalnya kita mempunyai 3 variabel a,b dan c. Bilangan yang paling kecil adalah bilangan yang lebih kecil dari kedua bilangan yang lain. Sekarang mari kita rangkai logika untuk menentukan urutan bilangan dari kecil ke besar. Mula-mula kita cek apakah a lebih kecil dari b dan c, yaitu dengan pernyataan
if (a < b && a <c)
Jika a betul merupakan bilangan terkecil, maka kita uji apakah b lebih kecil dari c dengan perintah
if (b < c)
Jika a bukan bilangan terkecil, maka b atau c, salah satunya bisa merupakan bilangan terkecil. Kita hanya perlu membandingkan apakah b lebih kecil dari c dengan
if (b < c)
Jika b lebih kecil dari c, berarti kita tahu bahwa b adalah bilangan terkecil. Tetapi kita belum tahu apakah bilangan terkecil berikutnya adalah a atau c, sehingga kita harus menguji lagi dengan
if (a < c)
Jika a lebih kecil dari c, maka urutannya adalah b, a, c. Jika tidak, maka urutannya adalah b, c, a.
Demikian halnya apabila jika b > c, maka kita bisa tentukan urutan bilangannya.
Keseluruhan logika ini, bisa kita tuangkan dalam bentuk :
if (a < b && a < c) {
    if (b < c)
        System.out.println(a + " " + b + " " + c);
    else
        System.out.println(a + " " + c + " " + b);
} else if (b < c) {
    if (a < c)
        System.out.println(b + " " + a + " " + c);
    else
        System.out.println(b + " " + c + " " + a);
} else {
    if (a < b)
        System.out.println(c + " " + a + " " + c);
    else
        System.out.println(c + " " + b + " " + a);
}
Logika di atas bisa juga dituangkan dengan cara lain, yaitu melihat urutannya. Pertama kita cek apakah a < b. Jika ya, kita tahu bahwa urutannya pasti a terlebih dahulu baru b. Kemudian kita lihat apakah c berada di sebelah kiri a atau disebelah kanan b atau di tengah-tengah.
Demikian seterusnya jika urutannya b terlebih dahulu baru a. Sehingga kodenya bisa dituliskan dalam bentuk :
if (a < b) {
    if (c < a)
        System.out.println(c + " " + a + " " + b);
    else if (c > b)
        System.out.println(a + " " + b + " " + c);
    else
        System.out.println(a + " " + c + " " + b);
} else {
    if (c < b)
        System.out.println(c + " " + b + " " + a);
    else if (c > a)
        System.out.println(b + " " + a + " " + c);
    else
        System.out.println(b + " " + c + " " + a);
}
 
Sumber:http://java.lyracc.com/belajar/java-untuk-pemula/pernyataan-if 

Perulangan For Pada Java


Setiap bentuk perulangan for dapat diubah menjadi bentuk perulangan while dengan fungsi yang sama tanpa mengubah alur program. Tetapi tergantung dari permasalahan yang akan kita pecahkan, menulis program dengan for akan membuat alur program lebih mudah dipahami. Misalnya, kita akan menghitung 1+2+3+4+5+...+100. Kita bisa ekspresikan program tersebut dalam bentuk
i = 1;
jumlah = 0;
while (i <= 100) {
    jumlah += i;
    i++;
}
Perulangan ini dapat ditulis juga dengan
jumlah = 0;
for (i = 1; i <= 100; i++)
    jumlah += i
Apa point-point penting yang kita lihat dari perubahan ini? Pertama mari kita lihat bentuk penggunaan while yang umum dilakukan
inisialisasi variabel
while (suatu_kondisi_variabel) {
    perintah
    update_variabel
}
Di sini perulangan while memiliki 3 komponen penting, yaitu inisialisasi, yaitu memberikan nilai awal suatu variabel, suatu_kondisi_variabel, yaitu pengujian bahwa perulangan akan terus dilakukan selama kondisi ini bernilai true, dan terakhir update_variabel, yaitu instruksi mengubah nilai kondisi variabel untuk membatasi perulangan sehingga akan selesai suatu saat, tidak berulang terus menerus.
Pada perulangan for, ketiga komponen ini dirangkai menjadi satu dalam bentuk
for (inisialisasi_variabel; kondisi_variabel; update_variabel)
   perintah
atau jika perintah merupakan blok yang terdiri dari banyak perintah, dapat dituliskan juga dalam bentuk
for (inisialisasi_variabel; kondisi_variabel; update_variabel) {
   banyak_perintah
}
Di sini inisialisasi variabel bisa berupa apa saja yang berbentuk perintah, misalnya memberikan variabel dengan nilai awal tertentu, dalam bentuk variabel = nilai_awal.
kondisi_variabel harus berbentuk pernyataan boolean seperti suatu_kondisi pada pernyataan while. Sedangkan update_variabel juga berbentuk perintah.
inisialisasi_variabel, kondisi_variabel, atau update_variabel dapat dikosongkan dan tidak harus selalu diisi. Bagian yang tidak diisi yang selalu digantikan dengan true, yang artinya perulangan akan terus dieksekusi tanpa henti. Untuk menghentikannya, perintah break harus diberikan ditengah-tengah badan perulangan.
Bentuk paling umum dari perulangan for adalah menghitung. Biasanya perulangan ini memiliki bentuk seperti
for (variabel = nilai_minimum; variabel <= nilai_maksimum; variabel++) {
    perintah
}
Perhatikan bagian terakhir adalah menaikkan nilai variabel dengan 1, yang artinya perulangan akan dimulai dengan nilai_minimum, diakhiri dengan nilai_maksimum dengan jeda 1.
Contoh, jika kita ingin berhitung 2,5,8,11,14,17, atau dengan kata lain, mulai dari 2 hingga 17 dengan jeda 3, kita bisa mengekspresikan for dengan
for (i = 2; i <= 17; i += 3) {
    System.out.println(i);
}
Untuk menghitung mundur, kita bisa menggunakan perintah seperti
for (i = 20; i >= 0; i--) {
    System.out.println(i);
}
Atau jika kita ingin menghitung maju dan mundur pada saat yang bersamaan, misalnya i dari 1 hingga 10 dan j dari 10 hingga 1, kita bisa ekspresikan dengan
for (i = 1, j = 10; i <= 10; i++, j--) {
    System.out.println(i + " " + j);
}
Catatan penting! Variabel yang akan digunakan, dalam contoh di atas i dan j, adalah variabel yang harus dideklarasikan sebelumnya. Java adalah bahasa pemrograman ketat, yang artinya semua harus didefinisikan dengan jelas sebelum digunakan. Untuk banyak kasus, deklarasi variabel dan perulangannya bisa dilakukan serentak pada bagian inisialisasi variabel. Misalnya
for (int i = 1; i <= 10; i++) {
    System.out.println(i)
}
Perhatikan ada imbuhan int di depan inisialisasi variabel i, yang merupakan deklarasi variabel i dengan tipe data int sekaligus menginisialisasi nilainya dengan 1.
Perulangan for bertingkat
Seperti pada perulangan while, perulangan for pun dapat dilakukan bertingkat, artinya perulangan for di dalam perulangan for.
Kita ambil contoh sederhana misalnya membuat tabel perkalian seperti

 1   2   3   4   5   6   7   8   9  10  11  12
 2   4   6   8  10  12  14  16  18  20  22  24
 3   6   9  12  15  18  21  24  27  30  33  36
 4   8  12  16  20  24  28  32  36  40  44  48
 5  10  15  20  25  30  35  40  45  50  55  60
 6  12  18  24  30  36  42  48  54  60  66  72
 7  14  21  28  35  42  49  56  63  70  77  84
 8  16  24  32  40  48  56  64  72  80  88  96
 9  18  27  36  45  54  63  72  81  90  99 108
10  20  30  40  50  60  70  80  90 100 110 120
11  22  33  44  55  66  77  88  99 110 121 132
12  24  36  48  60  72  84  96 108 120 132 144
Program untuk membuat tabel perkalian tersebut bisa diekspresikan dengan algoritma pseudocode sebagai berikut
untuk setiap baris i = 1,2,3...,12
    cetak perkalian i dengan 1,2,3..12
    cetak baris baru
Kalau kita jabarkan lebih lanjut, perintah kedua juga merupakan perulangan dari 1 hingga 12, sehingga algoritma di atas bisa kita tulis sebagai
untuk setiap baris i = 1,2,3...,12
    untuk setiap kolom j = 1,2,3...,12
        cetak i*j
    cetak baris baru
Kita bisa terjemahkan ke dalam bahasa Java sebagai
for (int i = 1; i <= 12; i++) {
    for (int j = 1;  j <= 12; j++) {
        System.out.print(i*j + " ");
    }
    System.out.println("");
}
Berikut ini adalah contoh program yang bisa diunduh dalam bentuk zip file atau dari gudang SVN di alamat http://belajarjava.googlecode.com/svn/trunk/TabelPerkalian :
package tabelperkalian;
 
public class TabelPerkalian {
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  for (int i = 1; i <= 12; i++) {
      for (int j = 1;  j <= 12; j++) {
          System.out.print(i*j + " ");
      }
      System.out.println("");
  }
 }
}
Berikut ini hasil kelurannya:




Sumber :http://java.lyracc.com/belajar/java-untuk-pemula/perulangan

Statemen Perulangan Do-While pada Java

While dan do...while

Pernyataan while
Perulangan while memiliki bentuk
 
while (suatu_kondisi)
    perintah

perintah bisa juga berupa blok yang berisi kumpulan perintah-perintah di antara { dan }. perintah ini disebut juga dengan inti perulangan. Inti perulangan akan terus dieksekusi selama suatu_kondisi bernilai true. suatu_kondisi ini disebut juga penguji perulangan.
Ada beberapa hal yang mungkin jadi pertanyaan. Apa yang terjadi jika suatu_kondisi sudah bernilai false sejak pertama kali komputer sampai pada pernyataan ini? Dalam hal ini blok perulangan tidak akan dieksekusi sama sekali. Program akan melompat ke perintah berikutnya di luar blok perulangan.
Lalu apa yang terjadi jika suatu_kondisi bernilai false di tengah-tengah perulangan, apakah program keluar dari perulangan saat itu juga? Dalam hal ini, tentunya tidak. Program akan mengeksekusi semua perintah hingga akhir blok selesai. Setelah itu program akan kembali ke pernyataan while, dan setelah mengevaluasi kembali suatu_kondisi, dan jika hasilnya salah, baru program akan melompat ke perintah berikutnya di luar blok.
Mari kita ubah sedikit algoritma yang kita buat di bagian sebelumnya. Kali ini kita akan membuat program yang menghitung rata-rata dengan cara menanyakan suatu bilangan kepada user, kemudian program akan berhenti jika masih ada data yang akan diproses.
 
Inisialisasi jumlah dengan 0 
Inisialisasi n (berapa data yang dimasukkan user) dengan 0
while (masih ada data yang akan diproses):
    Minta input dari user
    Tambah jumlah dengan input dari user
    Tambah n dengan 1
Bagi jumlah dengan n untuk menghitung rata-rata
Cetak rata-rata ke layar

Pertanyaan berikutnya, bagaimana menentukan masih ada data yang akan diproses? Cara yang paling mudah adalah melihat apakah nilai yang dimasukkan user bernilai 0. Nol di sini bukan termasuk data yang akan dijumlahkan tetapi bertugas sebagai sinyal bahwa tidak ada lagi data yang harus dimasukkan.
Lalu bagaimana kita harus menguji bahwa data yang dimasukkan bernilai 0 atau bukan? (Ingat, kita baru menanyakan data di dalam blok perulangan. Pada saat komputer pertama kali menemui perulangan while, komputer tidak tahu apa-apa.) Dalam hal ini, kita akan sedikit ubah algoritma kita seperti berikut :
 
Inisialisasi jumlah dengan 0
Inisialisasi n (berapa data yang dimasukkan user) dengan 0
Minta input dari user
while (input tidak sama dengan 0):
    Tambah jumlah dengan input dari user
    Tambah n dengan 1
    Minta input dari user
Bagi jumlah dengan n untuk menghitung rata-rata
Cetak rata-rata ke layar

Pada dasarnya, kita tanyakan user terlebih dahulu sebelum perulangan while. Dengan cara ini, kita bisa mendapat nilai input untuk dievaluasi pada pernyataan while. Di dalam perulangan while, kita tempatkan pertanyaan untuk mendapat input dari user di akhir perulangan. Artinya, setelah kita memproses input dari user, kita akan tanyakan lagi kepada user untuk mendapatkan kondisi untuk mengevaluasi kondisi while berikutnya.
Perhatikan juga bahwa ketika 0 dimasukkan, program tidak akan menghitung nilai 0 lagi. Di algoritma sebelumnya, nilai 0 akan ikut dijumlahkan dan n akan bertambah 1, padahal 0 bukan data. Nol hanya berfungsi sebagai sinyal bahwa perulangan harus selesai. Masalah ini sangat amat umum ditemui oleh programmer, karena menghitung satu demi satu ternyata tidak mudah. Untuk itu debugger diperlukan untuk melihat lebih detail apa yang dilakukan oleh komputer.
Kita bisa ubah algoritma di atas menjadi program Java sebagai berikut. (Seperti biasa program ini bisa diunduh dalam bentuk zip file atau di alamat SVN berikut: http://belajarjava.googlecode.com/svn/trunk/RataRata )
package ratarata;
 
import java.io.*;
 
public class RataRata {
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  double jumlah = 0;
  double bilangan = 0;
  int n = 0;
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  String strbilangan = null;
 
  System.out.print("Masukkan bilangan pertama : ");
  try {
   strbilangan = br.readLine();
  } catch (IOException ioe) {
          System.out.println("Kesalahan IO, program berhenti");
          System.exit(1);
  }
 
  // mengubah input menjadi double agar bisa diproses lebih lanjut
  bilangan = Double.parseDouble(strbilangan);
 
  while (bilangan != 0) {
      jumlah += bilangan;  // sama dengan : jumlah = jumlah + bilangan
      n++;   // sama dengan : n = n+1
 
      // tanya user input
      System.out.print("Masukkan bilangan berikutnya (atau 0 untuk mengakhiri) : ");
      try {
          strbilangan = br.readLine();
      } catch (IOException ioe) {
          System.out.println("Kesalahan IO, program berhenti");
          System.exit(1);
      }
 
      // mengubah input menjadi double agar bisa diproses lebih lanjut
      bilangan = Double.parseDouble(strbilangan);
  }
 
  // hitung rata-rata
  double ratarata = jumlah/n;
 
  // cetak hasilnya ke layar
  if (n == 0) {
   System.out.println("Data kosong, rata-rata tidak bisa dihitung"); 
  } else {
   System.out.println("Anda memasukkan " + n + " data");
   System.out.println("Rata-rata bilangan yang dimasukkan adalah " + ratarata); 
  }
 }
}
Berikut hasil keluarannya :



Pernyataan do ... while
Kadang-kadang akan lebih mudah menulis perulangan jika penguji perulangan dilakukan di akhir badan perulangan. Dalam hal ini badan perulangan akan dieksekusi terlebih dahulu tanpa memperdulikan apakah suatu kondisi bernilai true atau false. Pengujian dilakukan di akhir setelah suatu kondisi didapat dalam eksekusi perulangan pertama kali.
Pernyataan do ... while pada dasarnya merupakan pernyataan while terbalik, dengan bentuk.
 
do
    perintah
while (suatu_kondisi);
Atau apabila perintah berbentuk blok kumpulan perintah-perintah, bisa juga ditulis dalam bentuk
do {
    perintah-perintah
} while (suatu_kondisi);

Perlu diingat bahwa pernyataan do ... while diakhiri dengan tanda ; di akhir while.
Contoh sederhana adalah program bermain game, di mana game akan menanyakan apakah user ingin bermain lagi.
 
do {
    main game
    tanya user apakah ingin main lagi
} while (user menjawab ya);

Jika suatu saat Anda harus menulis kondisi pada pernyataan while seperti ini while (jawaban == true), Anda bisa mengganti pernyataan ini menjadi while (jawaban). Menguji apakah jawaban sama dengan true sama artinya dengan melihat apakah jawaban berisi "true".
Demikian juga dengan while (jawaban == false), bisa diganti dengan while (!jawaban). Seperti dijelaskan pada bab tentang operator boolean, operator ! membalik isi dari boolean, misalnya dari true menjadi false atau sebaliknya. Dengan menuliskan while (!jawaban) berarti sama dengan menguji apakah jawaban berisi false.
Pernyataan do ... while memberikan keleluasaan kepada Anda untuk berekspresi dengan lebih lugas. Sebenarnya, untuk memecahkan suatu masalah dengan perulangan do ... while juga bisa diekspresikan dengan perintah while, demikian juga sebaliknya.
 
do
   perintah
while (suatu_kondisi);

bisa dituliskan dalam bentuk perintah  

while (suatu_kondisi) perintah
Demikian juga dengan
 
while (suatu_kondisi)
   perintah

 bisa juga dituliskan dalam bentuk
 
if (suatu_kondisi) {
    do {
        perintah
    while (suatu_kondisi);
}
tanpa merubah aliran program sama sekali.

Pernyataan break dan continue
Pernyataan while dan do ... while menguji kondisi di awal atau di akhir badan perulangan. Pengujian bisa juga dilakukan di tengah-tengah badan perulangan, kemudian memerintahkan program untuk keluar dari badan perulangan saat itu juga. Caranya dengan menggunakan perintah
break<code>, sehingga program seperti
 
<code>while (suatu_kondisi)
    perintah
bisa ditulis dalam bentuk
while (true)
    perintah
    if (!suatu_kondisi)
        break;
<code>
 
Apa makna dari program di atas? <code>while (true)
artinya memerintahkan program untuk melakukan perulangan selamanya, karena true tidak akan berubah. Di tengah-tengah program, kita uji apakah suatu_kondisi bernilai false. Jika ya, maka perintah break akan dieksekusi yang menyebabkan program keluar dari badan perulangan ke perintah berikutnya di luar badan perulangan.
Kadang-kadang gaya penulisan ini lebih masuk akal ketimbang gaya penulisan baku seperti while atau do ... while, tapi tentu saja ini tergantung dari cara pikir masing-masing programmer dan juga masalah yang akan dipecahkan.
Pernyataan while atau do ... while dapat dibuat bertingkat, misalnya membuat blok while dalam blok  
while.
while (suatu_kondisi) {
    perintah
    while (kondisi_lain) {
        perintah_lain
        while (kondisi_lain_lagi) {
            perintah_baru
        }
    }
}

Apabila perintah break diberikan, maka program akan keluar dari perulangan yang berada persis di atasnya. Misalnya, apabila perintah break diberikan setelah perintah_lain maka program akan keluar dari dalam perulangan while (kondisi_lain).
Perlu diingan juga apabila perintah break diberikan di dalam pernyataan if, maka program akan keluar dari perulangan yang persis di atasnya.
Selain perintah break yang secara langsung menghentikan perulangan, perintah continue digunakan untuk menghentikan operasi saat itu, mengabaikan perintah hingga perulangan berakhir, kemudian kembali kepada perintah while lagi. Misalnya,
while (suatu_kondisi) {
    perintah
    continue;
    perintah_lagi
    perintah_lain_lagi
}
Perulangan akan menjalankan perintah, mengabaikan perintah_lagi dan perintah_lain_lagi, kemudian kembali kepada pernyataan while untuk mengevaluasi apakah suatu_kondisi bernilai true. Jika ya perulangan akan diteruskan. Tetapi karena ada perintah continue, artinya selama perulangan tersebut berjalan, perintah_lagi dan perintah_lain_lagi tidak akan pernah dieksekusi.

Sumber :http://java.lyracc.com/artikel/java-untuk-pemula/while-dan-do-while

Related Posts Plugin for WordPress, Blogger...
Twitter Delicious Facebook Digg Stumbleupon Favorites More