Jumat, 08 Mei 2009

contoh modul ajar

A. TUJUAN
  •  Memahami bagaimana menggunakan statement kontrol (control structure)
  •  Memahami bagaimana menggunakan struktur perulangan (repetition control structure)
  •  Memahami menggunakan statement bercabang (branching statement)
B. PETUNJUK
• Awali setiap aktivitas dengan doa, semoga berkah dan mendapat kemudahan
• Pahami tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar
• Kerjakan tugas-tugas praktikum dengan baik, sabar, dan jujur
• Tanyakan kepada guru apabila ada hal-hal yang kurang jelas
C. DASAR TEORI
Statement kontrol digunakan untuk mengatur jalannya alur program sesuai dengan yang kita inginkan. Statemen-statemen ini dikategorikan ke dalam tiga jenis, yaitu: pemilihan, pengulangan, dan statement peloncatan. Pemilihan digunakan untuk menentukan statemen mana yang akan dieksekusi tergantung dari ekspresi atau kondisi yang didefinisikan. Pengulangan digunakan untuk melakukan eksekusi terhadap statemen secara berulang sesuai dengan kondisi yang ditentukan. Statement peloncatan digunakan untuk memindahkan proses eksekusi ke bagian kode program yang kita inginkan.


C.1 Pemilihan
Ada dua buah statemen: if dan switch.
1. If Statement
Statemen if dapat digunakan untuk menangani percabangan atau pemilihan statement berdasarkan atas: satu, dua, atau lebih dari dua kondisi.
Bentuk penulisan if


Flowchart if statement:

Gambar 1 Proses logis pada statemen if yang memiliki satu kondisi

Contoh program:
class DemoIfSatuKondisi1 {
public static void main(String[] args) {

int a=1, b=10;

if (a < 5) { System.out.println("Nilai a lebih kecil dari 5"); } if (b < 5) { System.out.println("Nilai b lebih kecil dari 5"); } } } 2. If-else Statement Pada bentuk ini, program menyediakan kondisi tambahan untuk menangani kejadian yang kondisi pertamanya tidak terpenuhi atau bernilai false. Bentuk umum: //apabila hanya terdiri dari satu statemen if(kondisi) statemen jika kondisi benar else statemen jika kondisi salah //apabila terdiri dari dua statemen atau lebih if(kondisi){ //statemen yang akan dilakukan jika kondisi benar statemen1; statemen2; ... } else{ //statemen yang akan dilakukan jika kondisi salah statemen1; statemen2; ... } Proses logis dari jenis pemilihan ini dapat digambarkan sebagai berikut: Gambar 2 Proses Logis pada statemen if yang memiliki dua kondisi Contoh program: class DemoIfDuaKondisi1 { public static void main(String[] args) { int a=1, b=10; if (a < 5) { System.out.println(a + " lebih kecil dari 5"); } else { // (a >= 5)
System.out.println(a + " lebih besar dari 5");
}

if (b < 5) { System.out.println(b + " lebih kecil dari 5"); } else { // (b >= 5)
System.out.println(b + " lebih besar dari 5");
}
}
}

Tiga Kondisi Atau Lebih
Proses logis dari struktur pemilihan jenis ini dapat digambarkan seperti dibawah ini:

Gambar 3 Proses Logis pada statemen if yang memiliki tiga kondisi.

Bentuk penulisan:
//apabila hanya terdiri dari satu statemen
if(kondisi1)
statemen jika kondisi benar
else if(kondisi2)
statemen jika kondisi salah
else
statemen jika kondisi1 dan kondisi2 salah

//apabila terdiri dari dua buah statemen atau lebih
if(kondisi1){
//statemen yang akan dilakukan jika kondisi1 benar
statemen1;
statemen2;
...
}
else if(kondisi2)
//statemen yang akan dilakukan jika kondisi salah
statemen1;
statemen2;
...
}else{
//statemen yang akan dilakukan jika kondisi1 dan kondisi2 salah
statemen1;
statemen2;
...
}

3. Error dalam menggunakan If-Else Statement
• Kondisi dimana di dalam if-statement tidak mengevaluasi ke nilai boolean, contoh:
// salah
int number = 0 ;
if (number) {
// statement
}
Variabel nomor bukan bernilai boolean
• “ = “ berbeda dengan “ = = “ untuk perbandingan, contoh:
//salah
int number = 0;
if (number = 0 ) {
//statement
}
Seharusnya ditulis:
//benar
int number = 0;
if (number == 0 ){
//statement
}
• Penulisan “ elseif” berbeda dengan “ else if”

Statement switch
Statement switch merupakan statemen alternatif untuk melakukan pemilihan statemen. Biasanya digunakan untuk menyederhanakan kompleksitas statemen if yang banyak mengandung kondisi.
Berikut ini bentuk umum penulisan sintaks:
switch(ekspresi){
case nilai1:
//statemen yang akan dilakukan bila ekspresi sama dengan nilai1
break;
case nilai2:
//statemen yang akan dilakukan bila ekspresi sama dengan nilai2
break;
case nilaiN:
//statemen yang akan dilakukan bila ekspresi sama dengan nilaiN
break;
default:
//statemen yang akan dilakukan bila semua nilai
//yang didefinisikan
//tidak ada yang sama dengan ekspresi
}
Dalam Java, tipe ekspresi harus merupakan salah satu dari tipe: byte, short, int, ataupun char.
Contoh program:
class DemoSwitch1 {
public static void main(String[] args) {

int noHari = 4;

switch (noHari) {
case 1:
System.out.println("Hari ke-" + noHari +
" adalah Minggu");
break;
case 2:
System.out.println("Hari ke-" + noHari +
" adalah Senin");
break;
case 3:
System.out.println("Hari ke-" + noHari +
" adalah Selasa");
break;
case 4:
System.out.println("Hari ke-" + noHari +
" adalah Rabu");
break;
case 5:
System.out.println("Hari ke-" + noHari +
" adalah Kamis");
break;
case 6:
System.out.println("Hari ke-" + noHari +
" adalah Jum\'at");
break;
case 7:
System.out.println("Hari ke-" + noHari +
" adalah Sabtu");
break;
default:
System.out.println("Tidak ada hari ke-" + noHari);
}
}
}
Statemen yang akan dieksekusi adalah statemen yang berada pada nilai konstan yang didefinisikan. Apabila semua nilai konstan yang didefinisikan tidak sesuai dengan ekspresi, maka yang akan dieksekusi adalah nilai default. Nilai default dalam statemen switch bersifat opsional (dapat ditulis, bisa juga tidak)

C.2 Pengulangan
Pengulangan adalah suatu proses di dalam program yang dapat mengeksekusi satu (beberapa) statemen yang sama secara berulang sampai ditemukan kondisi untuk berhenti.
Struktur For
Struktur for digunakan pada umumnya untuk melakukan perulangan yang banyaknya sudah pasti diketahui sebelumnya
Bentuk umum:
for(inisialisasi;kondisi;iterasi){
//statemen yang akan diulang
}
proses perulangan akan terus dilakukan selama kondisi true
Contoh program:
class DemoFor1 {
public static void main(String[] args) {
for (int i=0; i<10; i++) { System.out.println("Java"); } } } pada kasus tertentu, terkadang ingin memasukkan lebih dari satu statemen pada bagian inisialisasi dan iterasi dalam struktur perulangan for. Untuk menjawab kasus ini digunakan tanda kome (,) sebagai pembatas atau pemisah statemen pada inisialisasi dan iterasi bersangkutan contoh: class DemoFor2 { public static void main(String[] args) { for (int i=10; i>0; i--) {
System.out.println("Java");
}
}
}
Struktur while
Struktur while adalah jenis perulangan yang mendefinisikan kondisi di awal blok, apabila kondisi tidak terpenuhi (false) maka perulangan tidak akan pernal dilakukan.
Bentuk umum penulisan:
inisialisasi
while(kondisi){
//statemen yang akan diulang
...
iterasi
}
Contoh program:
class DemoWhile1 {
public static void main(String[] args) {

int i=0;
while (i<10) {
System.out.println("Java");
i++;
}
}
}
Struktur do-while
Sebenarnya do-while mirip dengan while, perbedaannya hanya terletak pada penempatan kondisinya saja. While ditempatkan pada awal blok, do-while kondisinya berada pada akhir blok
Bentuk umum penulisan struktur do-while:
inisialisasi
do{
//statemen yang akan diulang
...
iterasi
}while(kondisi);
Contoh program:
class DemoDoWhile1 {
public static void main(String[] args) {

int n=5; // 5 buah bilangan positif pertama

int hasil=0;
int i=1;
do {
System.out.print(i);
if (i != n) {
System.out.print(" + ");
} else {
System.out.print(" = ");
}
hasil += i;
i++;
} while (i <= n);
System.out.println(hasil);
}
}
Perulangan Bersarang
Perulangan bersarang artinya dalam sebuah perulangan terdapat struktur perulangan lainnya.
Contoh:
class DemoForBersarang {
public static void main(String[] args) {

for (int i=1; i<=5; i++) {
for (int j=1; j<=i; j++) {
System.out.print(i*j + " ");
}
System.out.println();
}
}
}
C.3 Statemen Peloncatan
Menggunakan break
Dalam Java, break memiliki tiga kegunaan yaitu:
a. Menghentikan runtutan pemilihan pada statemen switch
Ini artinya, pada saat kita menempatkan statemen break pada blok pengulangan, maka pengulangan akan langsung dihentikan dan eksekusi program akan berlanjut ke bagian kode di bawah struktur pengulangan yang bersangkutan.
Contoh:
class DemoBreak1 {
public static void main(String[] args) {

for (int i=0; i<10; i++) {
if (i == 5) {
break; // keluar dari blok pengulangan
}
System.out.println("baris ke-" + i);
}
System.out.println("Statemen setelah blok pengulangan");
}
}
b. Menghentikan proses pengulangan (keluar dari blok pengulangan)
c. Keluar dari blok label tertentu (mirip dengan statemen goto dalam bahasa pemrograman lain).
Java tidak memiliki statemen goto; yaitu statemen yang digunakan untuk meloncat ke baris/label tertentu yang kita definisikan sendiri. Oleh karena itu digunakan statemen break.
Contoh program:
class DemoBreakLabel {
public static void main(String[] args) {
int i=4;
label1: {
label2: {
label3: {
System.out.println("Statemen di dalam " +
"blok label ke-3");
if (i < 5) {
break label2; // keluar dari blok label ke-2
}
}
System.out.println("Statemen di dalam blok label ke-2");
}
System.out.println("Statemen di dalam blok label ke-1");
}
}
}
Menggunakan continue
Digunakan untuk memaksa program melanjutkan proses perulangan.
Contoh program:
class DemoContinue {
public static void main(String[] args) {

for (int i=0; i<10; i++) {
System.out.print(i + " ");
if (i % 2 == 0) {
continue;
}
System.out.println();
}
}
}
Menggunakan return
return digunakan untuk keluar dari eksekusi kode program yang terdapat dalam sebuah method.
Contoh:
class DemoReturn {
public static void main(String[] args) {

int banyak = 0;

tulis(banyak);

}

// Mendefinisikan method tulis()
private static void tulis(int n) {
if (n < 1) {
System.out.println("Nilai i tidak boleh lebih kecil " +
"dari 1");
return; // keluar dari method tulis()
}

// statemen ini tidak akan dilakukan bila n < 1
for (int i=0; i
System.out.println("Baris ke-" + i);
}
}
}
D. TUGAS PRAKTIKUM
1. Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Java
Tuliskan kode program nya (input berasal dari keyboard)
2. Buat program yang menampilkan bilangan fibonaci

Tidak ada komentar:

Posting Komentar