nur chaerah pux struktur data

37
 I. JUDUL : PERULANGAN PROGRAM REKURSIF II. TUJUAN : 1. Memahami perulangan (loop) dengan Java 2. Memahami fungsi Rekursif III. TEORI DASAR Struktur control perulangan digunakan untuk mengeksekusi bagian tertentu sesuai dengan  jumlah a ngka peru langanny a. Sifat-sifat Rekursif  Dapat digunakan ketika inti dari masalah terjadi berulang kali  Sedikit lebih efisien dari iterasi tapi lebih elegan  Method-methodnya dimungkikan untuk memanggil dirinya sendiri  Data yang berada dalam method tersebut seperti argument disimpan sementara ke dalam method pemanggilannya diselesaikan Struktur Kontrol Perulangan Struktur kontrol pengulangan adalah berupa pernyataan dari Java yang mengijinkan kita untuk mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu yang diinginkan. Ada tiga macam jenis dari struktur kontrol pengulangan yaitu while, dowhile, dan for-loops .  While Loop Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang sampai mencapai kondisi yang cocok. Bentuk pernyataan while, while( boolean_expression ){

Upload: nasria-gani

Post on 12-Jul-2015

191 views

Category:

Documents


2 download

TRANSCRIPT

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 1/37

 

I.  JUDUL :

PERULANGAN PROGRAM REKURSIF 

II. TUJUAN :

1.  Memahami perulangan (loop) dengan Java

2.  Memahami fungsi Rekursif 

III.  TEORI DASAR

Struktur control perulangan digunakan untuk mengeksekusi bagian tertentu sesuai dengan

 jumlah angka perulangannya.

Sifat-sifat Rekursif 

  Dapat digunakan ketika inti dari masalah terjadi berulang kali

  Sedikit lebih efisien dari iterasi tapi lebih elegan

  Method-methodnya dimungkikan untuk memanggil dirinya sendiri

  Data yang berada dalam method tersebut seperti argument disimpan sementara ke

dalam method pemanggilannya diselesaikan

Struktur Kontrol Perulangan

Struktur kontrol pengulangan adalah berupa pernyataan dari Java yang mengijinkan kita

untuk mengeksekusi blok code berulang-ulang sesuai dengan jumlah tertentu yang

diinginkan. Ada tiga macam jenis dari struktur kontrol pengulangan yaitu while, dowhile, 

dan for-loops.

  While Loop

Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang

sampai mencapai kondisi yang cocok.

Bentuk pernyataan while,

while( boolean_expression ){

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 2/37

 

statement1;

statement2;

. . .

}

Pernyataan di dalam while loop akan dieksekusi berulang-ulang selama kondisi

boolean_expression bernilai benar (true).

Contoh, pada kode dibawah ini,

int i = 4;

while ( i > 0 ){

System.out.print(i);

i--;

}

Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--;

dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop).

Sehingga, ketika menggunakan while loop atau bentuk pengulangan yang lain, pastikan

Anda memberikan pernyataan yang membuat pengulangan berhenti pada suatu kondisi.

Berikut ini adalah beberapa contoh while loop,

Contoh 1:

int x = 0;while (x<10)

{

System.out.println(x);

x++;

}

Contoh 2:

 //infinite loop

while(true)

System.out.println(“hello”); 

Contoh 3:

 //no loops

 // statement is not even executed

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 3/37

 

while (false)

System.out.println(“hello”); 

  Do-While Loop 

 Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop akan

dieksekusi beberapa kali selama kondisi bernilai benar(true).Perbedaan antara while

dan do-while loop adalah dimana pernyataan di dalam do-while loop akan dieksekusi

sedikitnya satu kali. 

Bentuk pernyataan do-while,

do{

statement1;

statement2;

. . .

}while( boolean_expression );

Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi

kondisi dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai

true, pernyataan di dalam do-while loop akan dieksekusi lagi.

Berikut ini beberapa contoh do-while loop:

Contoh 1:int x = 0;

do

{

System.out.println(x);

x++;

}while (x<10);

Contoh ini akan memberikan output 0123456789 pada layar.

Contoh 2:

 //infinite loop

do{

System.out.println(“hello”); 

} while (true);

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 4/37

 

Contoh di atas akan melakukan pengulangan terus menerus yang menulis kata “hello”

pada layar.

Contoh 3:

 //one loop

 // statement is executed once

do

System.out.println(“hello”); 

while (false);

Contoh di atas akan memberikan output hello pada layar.

 Panduan pemrograman:

1. Kesalahan pemrograman yang biasa terjadi ketika menggunakan do-while loop

adalah lupa untuk menulis titik koma (;) setelah ekspresi while.

do{

...

 }while(boolean_expression)//- salah>tidak ada titik koma(;)

2. Seperti pada while loop, pastikan do-while loop anda berhenti pada suatu kondisi.

  for loop 

Pernyataan  for loop memiliki kondisi hampir mirip seperti struktur pengulangan

sebelumnya yaitu melakukan pengulangan untuk mengeksekusi kode yang sama

sebanyak jumlah yang telah ditentukan.

Bentuk dari for loop,

for (InitializationExpression; LoopCondition; StepExpression){

statement1;

statement2;

. . .

}

dimana,

 InitializationExpression – inisialisasi dari variabel loop.

 LoopCondition - membandingkan variabel loop pada nilai batas tertentu

. StepExpression - melakukan update pada variabel loop.

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 5/37

 

Berikut ini adalah contoh dari for loop,

int i;

for( i = 0; i < 10; i++ ){

System.out.print(i);

}

Pada contoh ini, pernyataan i=0 merupakan inisialisasi dari variabel. Selanjutnya,

kondisi i<10 diperiksa. Jika kondisi bernilai true, pernyataan di dalam for loop

dieksekusi. Kemudian, ekspresi i++ dieksekusi, lalu akan kembali pada bagian

pemeriksaan terhadap kondisi i<10 lagi. Kondisi ini akan dilakukan berulang-ulang

sampai mencapai nilai yang salah (false).

Contoh tadi, adalah contoh yang sama dari while loop,

int i = 0;

while( i < 10 ){

System.out.print(i);

i++;

}

IV.  LANGKAH KERJA

Langkah 1 : NetBeans

Ada dua cara untuk menjalankan NetBeans. Pertama menulis perintah menggunakan

terminal, atau hanya dengan mengklik pada tombol shortcut yang dapat ditemukan di

desktop. Setelah Anda membuka NetBeans IDE, Anda akan melihat graphical user

interface (GUI) seperti yang ditunjukkan dibawah ini.

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 6/37

 

 

Langkah 2: Membuat sebuah Project 

Klik pada File->New Project. Setelah melakukannya, akan ditampilkan kotak dialog

project yang baru. Kemudian klik pada Java Application dan klik tombol NEXT.

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 7/37

 

Sekarang, dialog aplikasi yang baru akan ditampilkan.

Cobalah untuk mengubah lokasi aplikasi, dengan mengklik pada tombol BROWSE.

Kemudian dialog lokasi project akan muncul. Klik dua kali folder yanganda inginkan.

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 8/37

 

 

Lihatlah Project Location dan Project Folder telah berubah sesuai yang di inginkan.

Yang terakhir, pada textfield Create Main Class, tulislah Hello sebagai nama kelas

utama, dan kemudian klik tombol FINISH.

Langkah 3: Menulis dalam Program

Sebelum menulis program Anda, pertama akan dijelaskan mengenai jendela

utamasetelah membuat project. Seperti ditunjukkan di bawah, secara otomatis

NetBeans membuat kode dasar untuk program Java Anda. Anda dapat menambah

pernyataan-pernyataan Anda pada kode yang telah di-generate. Pada sisi kiri jendela,

Anda dapat melihat daftar folder dan filefile yang dihasilkan NetBeans setelah

membuat sebuah project. Semua ini dapat Anda temukan dalam folder

MYJAVAPROGRAMS, dimana dapat metapkan lokasi project tersebut.

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 9/37

 

 

Langkah 4: Menjalankan Program

Untuk menjalankan program Anda, klik pada Run->Run Main Project. Atau Anda

 juga dapat menggunakan tombol shortcut untuk menjalankan program Anda.

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 10/37

 

 

V.  HASIL PRAKTIKUM`

1.  program Loop While

  Source code

 /** To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package di_modul;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

 /**

** @author nurchaerah*/ public class main {public static void main(String[] args) {System.out.println("Masukkan angka Anda:");BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));String angkaInput = null;

try {angkaInput = bfr.readLine();

} catch (IOException e) {e.printStackTrace();

}int Data = Integer.valueOf(angkaInput).intValue();int i = 1;while (i <= Data) {

System.out.println("Bilangan" + i);i++;}

}}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 11/37

 

  Analisa

Source Code Penjelasan

import java.io.BufferedReader; digunakan untuk melakukan penginputan data

dengan menggunkan fungsi Buffered Reader.

import java.io.IOException; digunakan untuk melakukan penginputan data

dengan menggunakan fungsi IOException.

import java.io.InputStreamReader; digunakan untuk melakukan penginputan data

dengan menggunakan fungsi

InputStreamReader

public class loop_do while { Public class bernama loop do while

public static void main(String[] args) { mengindikasikan nama suatu method dalamclass loop do while yang bertindak sebagai

method utama. 

int Data;

do {

System.out.print("Masukkan

angka Anda :");

menampilkan teks “Masukkan angka Anda!”

pada layar.

BufferedReader bfr = new

BufferedReader

Membuat objek baru yang dibaca dari

keyboard.

(new InputStreamReader(System.in));

String angkaInput = null; Variable baru berupa string (yang bernama

angka input)

try {

angkaInput=bfr.readln();

} catch (IOException e) {

Akan menunggu sampai ada masukan data dari

keyboard

e.printStackTrace();e.printStackTrace();

}

Data =

Integer.valueOf(angkaInput).intValue();

Setelah ada input, input tersebut diubah

menjadiata tipe integer

} while (Data !=99); Pada saat program yang dijalankan akan

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 12/37

 

memilih data yang dimasukkan sampai data

yang dimasukkan bernilai 99

System.out.println("Anda keluar dari

LOOP");

}

}

menampilkan teks “Anda keluar dari LOOP”

pada layar.

  Output

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 13/37

 

2.  program Do While

  Source code

  Analisa

Source code Penjelasan

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

menjelaskan bahwa kita akan

menggunakan class BufferedReader,

InputStreamReader dan IOException

yang berada di java.io package.

public class main {

public static void main(String[] args) {

Statement ini menyatakan bahwa kita

mendeklarasikan sebuah class maindan

kita mendeklarasikan main method.

int Data; Deklarasi variable Data degan tipe Integer

do { Memulai perulangan dengan Do-While

 /** To change this template, choose Tools | Templates

* and open the template in the editor.*/ 

package di_modul;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

 /**** @author nurchaerah*/ 

public class Do_while {{public static void main(String[] args) {

int Data;do {

System.out.print("Masukkan angka Anda :");BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));String angkaInput = null;

try {angkaInput = bfr.readLine();

} catch (IOException e) {e.printStackTrace();

}Data = Integer.valueOf(angkaInput).intValue();

} while (Data !=99);System.out.println("Anda keluar dari LOOP");}

}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 14/37

 

 

System.out.println("Masukkan angka

Anda:");

Menampilkan text “Masukkan angka

Anda:" ke monitor

BufferedReader bfr = new

BufferedReader

(new InputStreamReader(System.in));

mendeklarasikan sebuah variabel bernama

bfr dengan tipe class BufferedReader.

String angkaInput = null; mendeklarasikan variabel String dengan

identifier angkaInput, Nama variabel

diinisialisasi sebagai String kosong

try { Memulai fungsi try-catch

angkaInput = bfr.readLine(); Pernyataan yag akan ditangkap dengan

fungsi try-catch

} catch (IOException e) {

e.printStackTrace();

}

Penanganan pernyataan dengan Exeption

Data

=Integer.valueOf(angkaInput).intValue();

Mendeklarasika variable Data dengan tipe

integer degan value dari variable

angkaInput

} while (Data !=99); Fungsi perulangan yang menyatakan

kondisi jika Data !=99

System.out.println("Anda keluar dari

LOOP");

}

}

Menampilkan text “Anda keluar dari

LOOP” 

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 15/37

 

  Output

3.  program Loop For

  Source code

 /** To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package di_modul;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

 /**** @author nurchaerah*/ public class main {public static void main(String[] args) {

System.out.println("Masukkan angka Anda:");BufferedReader bfr = new BufferedReader

(new InputStreamReader(System.in));String angkaInput = null;

try {angkaInput = bfr.readLine();

} catch (IOException e) {e.printStackTrace();}

int Data = Integer.valueOf(angkaInput).intValue();for(int ulang = 1;ulang<=Data; ulang++) {

System.out.println("Bilangan : " + ulang);}}

}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 16/37

 

 

  Analisa

Source code Penjelasan

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

menjelaskan bahwa kita akan

menggunakan class BufferedReader,

InputStreamReader dan IOException

yang berada di java.io package.

public class main {

public static void main(String[] args) {

Statement ini menyatakan bahwa kita

mendeklarasikan sebuah class maindan

kita mendeklarasikan main method.

System.out.println("Masukkan angka

Anda:");

Menampilkan text “Masukkan angka

Anda:" ke monitor

BufferedReader bfr = new

BufferedReader

(new InputStreamReader(System.in));

mendeklarasikan sebuah variabel bernama

bfr dengan tipe class BufferedReader.

String angkaInput = null; mendeklarasikan variabel String dengan

identifier angkaInput, Nama variabel

diinisialisasi sebagai String kosong

try { Memulai fungsi try-catch

angkaInput = bfr.readLine(); Pernyataan yag akan ditangkap dengan

fungsi try-catch

} catch (IOException e) {

e.printStackTrace();

}

Penanganan pernyataan dengan Exeption

int Data =

Integer.valueOf(angkaInput).intValue();

Mendeklarasika variable Data dengan tipe

integer degan value dari variable

angkaInput

for(int ulang = 1;ulang<=Data; ulang++) { Fungsi perulangan yang menyatakan

variable ulang = 1 dan selama ulang lebih

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 17/37

 

kecil atau sama dengan nilai pada variable

Data maka increment niali pada variable

ulang

System.out.println("Bilangan : " + ulang);

}

}

}

Menampilkan nilai dari variable ulang

setelah text “Bilangan:” 

  Output

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 18/37

 

4.  program nestedloop

  Source code

 /*

* To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package javaapplication14;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

 /**** @author nurchaerah*/ public class Main {

 /*** @param args the command line arguments*/ public static void main(String[] args) {

int ulang = inputData();buatSegitiga(ulang);}

private static int inputData() {System.out.print("Masukkan jumlah segitiga yang Anda mau :");

BufferedReader bfr = new BufferedReader

(new InputStreamReader(System.in));String angkaInput = null;

try {angkaInput = bfr.readLine();

} catch (IOException e) {e.printStackTrace();

}int Data = Integer.valueOf(angkaInput).intValue();return Data;}

private static void buatSegitiga(int ulang) {for(int i=1;i<=ulang; i++) {

for (int j=1;j<=(ulang-i);j++) {System.out.print(" ");

}for(int k=1;k<=i;k++) {

System.out.print("#");}

System.out.println("");}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 19/37

 

 

  Analisa

Source code Penjelasan

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

menjelaskan bahwa kita akan

menggunakan class BufferedReader,

InputStreamReader dan IOException

yang berada di java.io package.

public class main {

public static void main(String[] args) {

Statement ini menyatakan bahwa kita

mendeklarasikan sebuah class maindan

kita mendeklarasikan main method.

int ulang = inputData(); Mendeklarasikan variable “r” dengan tipe

data integer dan value adalah data yang

diinput dari keyboard.

buatSegitiga(ulang);

}

Mendeklarasikan nama dari private

program dengan variable ulang

private static int inputData() { Program private static dengan variable

inputData

System.out.print("Masukkan jumlah

segitiga yang Anda mau :");

Menampilkan text “Masukkan jumlah

segitiga yang Anda mau :" ke monitor

BufferedReader bfr = new

BufferedReader

(new InputStreamReader(System.in));

mendeklarasikan sebuah variabel bernama

bfr dengan tipe class BufferedReader.

String angkaInput = null; mendeklarasikan variabel String dengan

identifier angkaInput, Nama variabel

diinisialisasi sebagai String kosong

try { Memulai fungsi try-catch

angkaInput = bfr.readLine(); Pernyataan yag akan ditangkap dengan

fungsi try-catch

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 20/37

 

} catch (IOException e) {

e.printStackTrace();

}

Penanganan pernyataan dengan Exeption

int Data =

Integer.valueOf(angkaInput).intValue();

Mendeklarasika variable Data dengan tipe

integer degan value dari variable

angkaInput

return Data;

}

Keluar dari method

private static void buatSegitiga(int ulang)

{

Program private static dengan variable

buatSegitiga

for(int i=1;i<=ulang; i++) { Fungsi perulangan yang menyatakan i = 1

dan selama i lebih kecil atau sama dengan

nilai pada variable ulang maka increment i

for (int j=1;j<=(ulang-i);j++) { Fungsi perulangan yang menyatakan j = 1

dan selama j lebih kecil atau sama dengan

nilai pada variable ulang-i maka increment

 j

System.out.print(" ");

}

Menampilkan text kosong digunakan

sebagai space

for(int k=1;k<=i;k++) { Fungsi perulangan yang menyatakan k = 1

dan selama k lebih kecil atau sama dengan

nilai pada variable i maka increment k 

System.out.print("#");

}

Cetak “#” pada layar  

System.out.println("");

}

}

}

Menampilkan text kosong digunakan

sebagai perpindahan baris

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 21/37

 

  Output

5.  program TryCatch

  Source code

 /** To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package javaapplication15;

 /**** @author nurchaerah*/ 

public class Main {

 /*** @param args the command line arguments*/ 

public static void main(String args[]) {int[] myArray = new int[10];try {

System.out.println("Sebelum pemberian nilai yang sah");myArray[0] = 1;System.out.println("Sebelum pemberian nilai yang tidak

sah"); // Kode penyeModul kesalahan (eception).myArray[100] = 1;System.out.println("Setelah exception array");} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("Kesalahan dalam indeks array");}

}}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 22/37

 

  Analisa

Source code Penjelasan

public class main {

public static void main(String[] args) {

Statement ini menyatakan bahwa kita

mendeklarasikan sebuah class maindan

kita mendeklarasikan main method.

int[] myArray = new int[10]; Deklarasi variable myArray degan tipe

Integer

try { Memulai fungsi try-catch

System.out.println("Sebelum pemberian

nilai yang sah");

Menampilkan text "Sebelum pemberian

nilai yang sah"

myArray[0] = 1; Memesan tempat 0 dengan variable

myArray dengan nilai 1

System.out.println("Sebelum pemberian

nilai yang tidak sah");

Menampilkan text "Sebelum pemberian

nilai yang tidak sah"

myArray[100] = 1; Memesan tempat 100 dengan variable

myArray dengan nilai 1

System.out.println("Setelah exception

array");

Menampilkan text "Setelah exception

array"

} catch

(ArrayIndexOutOfBoundsException e) {

Penanganan pernyataan dengan Exeption

System.out.println("Kesalahan dalam

indeks array");

}

}

}

Menampilkan text “Kesalahan dalam

indeks array” 

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 23/37

 

  Output

6.  program BagidenganNol

  Source code

 

 /** To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package javaapplication16;

 /**** @author nurchaerah*/ public class Main {

public static void main(String[] args) {int bilangan = 100;System.out.println("Sebelum pembagian");for(int i=5; i>=0; i--) {

try {System.out.print(bilangan + "/" + i + "=");System.out.println(bilangan/i);

}catch(RuntimeException r){

System.out.println("Error karena pembagian nol!");

}

finally{System .out.println("Bagian finally dijalankan");

}}System.out.println("Selesai");

}}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 24/37

 

  Analisa

Source code Penjelasan

public class main {

public static void main(String[] args) {

Statement ini menyatakan bahwa kita

mendeklarasikan sebuah class maindan

kita mendeklarasikan main method.

int bilangan = 100; Deklarasi variable bilangan dengan tipe

Integer dan value “100” 

System.out.println("Sebelum

pembagian");

Menampilkan text “Masukkan angka

Anda:" ke monitor

for(int i=5; i>=0; i--) { Menyatakan kondisi perulang dimana i

berniali 5 dan selama i lebih besar atau

sama dengan 0 lakukan decrement i

(kurangkankan dengan 1)

try { Memulai fungsi try-catch

System.out.print (bilangan + "/" + i +

"=");

Pernyataan yang akan ditangkap dengan

fungsi try-catch dimana menampilkan nilai

 pada variable bilangan lalu text “/” nilai

 pada variable i dan text “=” 

System.out.println(bilangan/i);

}

Pernyataan yang akan ditangkap dengan

fungsi try-catch dimana menampilkan hasil

dari pembagian

catch(RuntimeException r){ Penanganan pernyataan dengan Exeption

Data

=Integer.valueOf(angkaInput).intValue();

Mendeklarasika variable Data dengan tipe

integer degan value dari variable

angkaInput

System.out.println("Error karenapembagian nol!");

}

Menampilkan text “Error karena  pembagian nol!” 

Finally Label finally

{ Menampilkan text “Bagian finally

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 25/37

 

System .out.println("Bagian finally

dijalankan");

}

dijalankan” 

}

System.out.println("Selesai");

}

}

Menampilkan text “selesai” 

  Output

7.  program Phytagoras

  Source code

 /** To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package javaapplication17;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

 /**** @author nurchaerah*/ public class Main {

 /*** @param args the command line arguments*/ 

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 26/37

 

 

  Analisa

Source code Penjelasan

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

menjelaskan bahwa kita akan

menggunakan class BufferedReader,

InputStreamReader dan IOException

yang berada di java.io package.

public class main {

public static void main(String[] args) {

Statement ini menyatakan bahwa kita

mendeklarasikan sebuah class maindan

kita mendeklarasikan main method.

System.out.print("Masukkan tinggi Menampilkan text "Masukkan tinggi

public static void main(String[] args) {System.out.print("Masukkan tinggi segitiga Phytagoras :");

final int tinggi = inputData();triangle(tinggi);

}

private static int triangle(int n) {int bilangan = 0;if (n == 1) {

bilangan = 1;System.out.println("Bilangan ke-" + n + " adalah " +

bilangan);return bilangan;

} else {bilangan = n + triangle(n - 1);System.out.println("Bilangan ke-" + n + " adalah " +

bilangan);}return bilangan;

}

private static int inputData() {BufferedReader bfr = new BufferedReader(

new InputStreamReader(System.in));String angkaInput = null;try {

angkaInput = bfr.readLine();} catch (IOException e) {

e.printStackTrace();}int Data = Integer.valueOf(angkaInput).intValue();return Data;

}

}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 27/37

 

segitiga Phytagoras :"); segitiga Phytagoras :"

final int tinggi = inputData(); Mendeklarasikan variable tinggi dengan

tipe integer final dan value diambil dari

nilai yang diinput dari keyboard

triangle(tinggi); Mendeklarasikan nama dari private

program dengan variable tinggi

private static int triangle(int n) { Program private static dengan variable

triangle

int bilangan = 0; Mendeklarasikan variable bilangan dengan

tipe integer dan value 0

if (n == 1) { Pernyataan jika n sama dengan 1

bilangan = 1; Kondisi jika pernyataan diatas benar maka

variable bilangan diisi dengan nilai 1

System.out.println("Bilangan ke-" + n + "

adalah " + bilangan);

Menampilkan text “Bilangan ke-”

kemudian nilai dari variable n lalu text

“adalah” dan nilai dari variable bilangan

return bilangan; Pernyataan untuk keluar dari sebuah

method

else {

bilangan = n + triangle(n - 1);

Jika pernyataan tadi salah maka bilangan

adalah n ditambah nilai pada variable

trangel (nilai variable dikurangkan 1)

System.out.println("Bilangan ke-" + n + "

adalah " + bilangan);

}

Menampilkan text “Bilangan ke-”

kemudian nilai dari variable n lalu text

“adalah” dan nilai dari variable bilangan

}

return bilangan;

Pernyataan untuk keluar dari sebuah

method

private static int inputData() { Program private static dengan variable

inputData

BufferedReader bfr = new

BufferedReader

mendeklarasikan sebuah variabel bernama

bfr dengan tipe class BufferedReader.

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 28/37

 

(new InputStreamReader(System.in));

String angkaInput = null; mendeklarasikan variabel String dengan

identifier angkaInput, Nama variabel

diinisialisasi sebagai String kosong

try { Memulai fungsi try-catch

angkaInput = bfr.readLine(); Pernyataan yag akan ditangkap dengan

fungsi try-catch

} catch (IOException e) {

e.printStackTrace();

}

Penanganan pernyataan dengan Exeption

int Data =

Integer.valueOf(angkaInput).intValue();

Mendeklarasika variable Data dengan tipe

integer degan value dari variable

angkaInput

return Data;

}

Keluar dari method

  Output

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 29/37

 

8.  program RekursifFaktorial

  Source code

 /*

* To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package javaapplication18;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;

 /**** @author nurchaerah*/ 

public class Main {

 /*** @param args the command line arguments*/ public static void main(String[] args) {

System.out.print("Masukkan bilangan yang akan di-FAKTORIAL-kan : ");final int bilangan = inputData();System.out.print("Faktorial dari " + bilangan

+ " adalah " + faktorial(bilangan)+ ".Mudah kan?");}private static int faktorial(int bilangan) {

if (bilangan == 0)return 1;

elsebilangan = bilangan * faktorial(bilangan - 1);

return bilangan;}

private static int inputData() {BufferedReader bfr = new BufferedReader(

new InputStreamReader(System.in));String angkaInput = null;try {

angkaInput = bfr.readLine();} catch (IOException e) {

e.printStackTrace();

}int Data = Integer.valueOf(angkaInput).intValue();return Data;

}}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 30/37

 

Output:

9.  program Hanoi Rekursif 

  Source code

 /** To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package javaapplication19;

 /**** @author nurchaerah*/ public class Main {static int nDisks = 4;public static void main(String[] args)

{doTowers(nDisks,'A','B','C');}public static void doTowers(int topN,char from, char inter, char to)

{if(topN==1)System.out.println("Disk 1 dari " + from + " ke "+ to);else{doTowers(topN-1, from, to, inter); // dari --> media tengah.System.out.println("Disk " + topN +" dari " + from + " ke "+ to);doTowers(topN-1, inter, from, to); // media tengah --> ke}}} // Akhir kelas HanoiRekursif

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 31/37

 

  Analisa

doTowers(nDisks,'A','B','C'); Bahwa variabel doTowers berisi

nDisk,A,B,dan C,

public static void doTowers

(int topN,char from,char inter,char

to)

mengindikasikan nama suatu method dalam

class loop do while yang bertindak sebagai

method utama.

Dimana dideklarasikan bahwa topN

merupakan integer,from,inter dan to

merupakan char.

if(topN==1) Jika TopN sama dengan 1

System.out.println("Disk 1 dari "+ from + "

ke "+ to);

Cetak atau tampilkan Disk 1 dari "+ from + "

ke "+ to

else

{

Jika tidak 

doTowers(topN-1,from,to,inter);//dari -->

media tengah.

Kerja Variabel DoTOWERS topN-

1,from,to,inter atau pindah dari ke median

tengah

System.out.println(" Disk " + topN + " dari "

+ from + " ke " + to);

Cetak atau tampilkan Disk 1 dari "+ from + "

ke "+ to

doTowers(topN-1,inter,from,to);// media

tengah--> ke

Kerja Variabel DoTOWERS topN-

1,inter,from,to) atau media tengah--> ke

}

}

}

Program selesai

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 32/37

 

 

  Output

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 33/37

 

Soal Praktikum

1.  Buat sebuah program yang mencetak nama Anda selama seratus kali. Buat tiga versi

program ini menggunakan while loop, do while loop dan for loop

while loop

  Source code

 /** To change this template, choose Tools | Templates* and open the template in the editor.*/ 

package soal_bab_4;

 /**** @author nurchaerah*/ public class Main {

 /*** @param args the command line arguments*/ public static void main(String[] args) {

int r=0;

while (r<100){System.out.println("NUR CHAERAH");r++;}}

}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 34/37

 

  Analisa

Source code Penjelasan

public class program_while_loop {

public static void main(String

args[]){

Statement ini menyatakan bahwa

kita mendeklarasikan sebuah class

program_while_loop dan kita

mendeklarasikan main method.

int r=0; Mendeklarasikan variable “r”

dengan tipe data integer dan value

“0”. 

while (r<100){ Menyatakan kondisi perulang

selama r lebih kecil dari 100.

System.out.println("NUR CHAERAH"); Menampilkan hasil yang berupa

text “NUR CHAERAH” 

r++;

}

}

}

Menyatakan variable r

dijumlahkan dengan 1 selama

kondisi masih benar

  Output

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 35/37

 

do while loop

  Source code

  Analisa

Source code Penjelasan

public class program_do_while {

public static void main(String

args[]){

Statement ini menyatakan bahwa

kita mendeklarasikan sebuah class

program_do_while dan kita

mendeklarasikan main method.

int r = 0; Mendeklarasikan variable “r”

dengan tipe data integer dan value

“0”. 

do { Menyatakan sesuatu yang harus

dikerjakan selama proses looping

System.out.println("nur chaerah"); Perintah untuk print text “nur

chaerah” 

r++; Menyatakan variable r

dijumlahkan dengan 1 selama

kondisi masih benar

} while (r<100);

}

}

Menyatakan kondisi perulang

selama r lebih kecil dari 100.

public class do_while_loop {public static void main(String args[]){int r = 0;do {System.out.println("nur chaerah");r++;} while (r<100);

}}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 36/37

 

 

  Output

for loop

  Source code

  Analisa

Source code Penjelasan

public class program_for_loop {

public static void main(String

args[]){

Statement ini menyatakan bahwa

kita mendeklarasikan sebuah class

program_for_loop dan kita

mendeklarasikan main method.

int r; Mendeklarasikan variable “r”

dengan tipe data integer

for (r=0; r<100; r++){ Menyatakan kondisi perulang

dimana r berniali 0 dan selama r

lebih kecil dari 100 lakukan

public class for_loop {public static void main(String args[]){int r;for (r=0; r<100; r++){System.out.println("Nur Chaerah");

}}

}

5/12/2018 Nur Chaerah Pux Struktur Data - slidepdf.com

http://slidepdf.com/reader/full/nur-chaerah-pux-struktur-data 37/37

 

increment r (jumlahkan dengan 1)

System.out.println("Nur Chaerah");

}

}

}

Perintah untuk print text “Nur

Chaerah” selama kondisi terpenuhi 

  Output

2.  Hitung pangkat sebuah nilai berdasarkan angka dan pangkatnya. Buat tiga versi dari

program ini menggunakan while loop, do while dan for loop