Archive for November, 2011

Perbedaan class dan object dalam pemrograman JAVA

Class & Object

  • Pengertian Class

Kelas merupakan salah satu konsep fundamental pemrograman berorientasi objek. Kelas dapat diilustrasikan sebagai suatu cetak biru (blue print) atau prototipe yang digunakan untuk menciptakan objek.

Definisi kelas terdiri atas dua komponen, yaitu deklarasi kelas dan body kelas. Deklarasi kelas

adalah baris pertama di suatu kelas, dan minimal mendeklarasikan nama kelas. Sementara itu, body dideklarasikan setelah nama kelas dan berada diantara kurung kurawal.

  • Pengertian Object

Objek adalah entitas dasar saat runtime. Pada saat kode program

dieksekusi, objek berinteraksi satu sama lain tanpa harus mengetahui detil data atau kodenya. Interaksi antara objek ini dilakukan menggunakan suatu message

Perbedaan Class & Object adalah :

objek adalah sebuah komponen software yang stukturnya mirip dengan objek pada dunia nyata. Setiap objek dibuat dari satu set data (sifat) dimana variable menjabarkan esensial karakter dari objek, dan juga terdiri dari satu set dari methode (tingkah laku) yang menjabarkan bagaimana tingkah laku dari objek sedangkan clas adalah sturktur dasa dari OOP. Terdiri dari dua tipe dari anggota dimana disebut dengan field (attribut/properti) dan method. Field memspesifikasi tipe data yang didefinisikan oleh class, sementara methode spesifikasi dari operasi. Sebuah objek adalah sebuah instance pada class.

Pengertian dan Paradigma OOP

Pemrograman berorientasi objek dalam bahasa Inggris disebut object-oriented programming disingkat (OOP) adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses/tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object, akan merespon pesan tersebut menjadi sebuah tindakan /action atau metode. Bahasa pemrograman berbasis object menyediakan mekanisme untuk bekerja seperti berikut seperti : class, object, methods, inheritance, polymorphism dan reusability

Paradigma OOP atau  object-oriented programming  adalah pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Algoritma dan Pemograman JAVA

1. Menghitung Bilangan Faktorial

Algoritma

Judul : BilanganFaktorial

Spesifikasi : Program akan menghitung jumlah bilangan faktorial dan akan menampilkan ke monitor

Deklarasi (kamus) :

input : String

nFaktorial : int

jumlahBilFaktorial : int

i : int

Deskripsi :

write(“Program Menghitung Bilangan Faktorial”)

read(“n = “, nFaktorial)

if nFaktorial = 1 then

jumlahBilFaktorial <– 1

else

for i = 1 to nFaktorial

jumlahBilFaktorial <– jumlahBilFaktorial * i

write(“Hasil = “, jumlahBilFaktorial)

Program

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

/**
 *
 * @author eko rudiawan
 */
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class BilanganFaktorial {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws IOException {
 // TODO code application logic here
 BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));
 String input;
 int nFaktorial = 0;
 int jumlahBilFaktorial = 1;
 int i;
 System.out.println("Program Menghitung Bilangan Faktorial");
 System.out.print("n = ");
 try {
 input = dataIn.readLine();
 nFaktorial = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.err.println("Input hanya berupa bilangan bulat !!");
 }
 if (nFaktorial == 1){
 jumlahBilFaktorial=1;
 }
 else {
 for(i=1; i<=nFaktorial; i++){
 jumlahBilFaktorial=jumlahBilFaktorial*(i);
 }
 }
 System.out.println("Hasil = " + jumlahBilFaktorial);
 }
}

2. Bilangan Febonacci

Algoritma

Judul : Menampilkan Bilangan Febonacci

Spesifikasi :

Deklarasi (kamus) :

banyakBilangan : int

a : int

b : int

c : int

i : int

Deskripsi :

banyakBilangan <– 0

a <– 0

b <– 1

write(“Bilangan Febonacci”)

read(“Masukkan banyak bilangan = “, banyakBilangan)

write(“Bilangan Febonacci = “, a , “ “, b)

for i = 0 to banyakBilangan – 2

c  <– a+b

write(c,” “ )

a <– b

b <– c

Program

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

/**
 *
 * @author eko rudiawan
 */
import java.io.*;

public class MenghitungFibonacci {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws IOException {
 // TODO code application logic here
 BufferedReader dataInput = new BufferedReader(new InputStreamReader(System.in));
 String input;
 int banyakBilangan = 0;
 int a = 0;
 int b = 1;
 int c;
 int i;
 System.out.println("Bilangan Fibonacci");
 System.out.print("Masukkan banyak bilangan = ");
 try {
 input = dataInput.readLine();
 banyakBilangan = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Error !!");
 }
 System.out.print("Bilangan Fibonacci = " + a + " " + b + " ");
 for (i = 0; i < banyakBilangan - 2; i++) {
 c = a + b;
 System.out.print(c + " ");
 a = b;
 b = c;
 }
 System.out.println("");
 }
}

3. Menentukan Polindrom

Algoritma

Judul : Menentukan Polindrom

Spesifikasi :

Deklarasi :

kata1[] : char

panjangString : int

polindrom : Boolean

i : int

j : int

Deskripsi :

write(“Program Menentukan Polindrom”)

read(“Masukkan kata = “,input)

panjangString <– input1.length

kata1 <– input1.toCharArray

j <– panjangString-1

polindrom <– true

for i = 0 to panjangString/2

if kata[i] != kata[j] then

polindrom <– false

if polindrom = true then

write(“POLINDROM”)

else

write(“TIDAK POLINDROM”)

Program

</pre>
/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package menentukanpolindrom;

&nbsp;

/**

*

* @author eko rudiawan

*/

import java.io.*;

&nbsp;

public class MenentukanPolindrom {

&nbsp;

/**

* @param args the command line arguments

*/

public static void main(String[] args) throws IOException {

// TODO code application logic here

BufferedReader dataInput = new BufferedReader(new InputStreamReader(System.in));

String input1;

char kata1[];

int panjangString;

boolean polindrom;

System.out.println("Program Menentukan Polindrom");

System.out.println("Masukkan Kata = ");

input1 = dataInput.readLine();

panjangString = input1.length();

kata1 = input1.toCharArray();

int j = panjangString - 1;

polindrom = true;

for (int i = 0; i < panjangString / 2; i++) {

if (kata1[i] != kata1[j]) {

polindrom = false;

}

j--;

}

if (polindrom) {

System.out.println("POLINDROM");

} else {

System.out.println("TIDAK POLINDROM");

}

}

}
<pre>

4. Menghitung Luas Segitiga, Lingkaran, dan Persegi

Algoritma

Judul : Menghitung Luas Segitiga, Lingkaran, dan Persegi

Spesifikasi :

Deklarasi (kamus) :

pilihan : int

luas : double

panjang : int

lebar : int

jariJari : int

alas : int

tinggi : int

Deskripsi :

write(“Program Mencari Luas Segitiga”)

write(“1. Luas Segitiga”)

write(“2. Luas Lingkaran”)

write(“3. Luas Persegi”)

read(“Masukkan Pilihan”, pilihan)

if pilihan = 1 then

read(“Masukkan nilai alas = “, alas)

read(“Masukkan nilai tinggi = “,tinggi)

luas <– 0.5 * alas * tinggi

else if pilihan = 2 then

read(“Masukkan nilai R = “, jariJari)

luas <– 3.14 * jariJari * jariJari

else if pilihan = 3 then

read(“Masukkan nilai panjang = “, panjang)

read(“Masukkan nilai lebar = “, lebar)

luas <– panjang * lebar

else

write(“Pilihan Tidak Tersedia”)

write(“Luas = “,luas)

Program

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

/**
 *
 * @author eko rudiawan
 */
import java.io.*;

public class MenghitungLuas {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws IOException {
 // TODO code application logic here
 BufferedReader dataInput = new BufferedReader(new InputStreamReader(System.in));
 String input;
 int pilihan = 0;
 double luas = 0;
 int panjang = 0;
 int lebar = 0;
 int jariJari = 0;
 int alas = 0;
 int tinggi = 0;
 System.out.println("Program Mencari Luas");
 System.out.println("1. Luas Segitiga");
 System.out.println("2. Luas Lingkaran");
 System.out.println("3. Luas Persegi");
 System.out.print("Masukkan Pilihan : ");
 try {
 input = dataInput.readLine();
 pilihan = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input hanya berupa angka !!");
 }
 if (pilihan == 1) {
 System.out.print("Masukkan nilai alas = ");
 try {
 input = dataInput.readLine();
 alas = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input hanya berupa angka !!");
 }
 System.out.print("Masukkan nilai tinggi = ");
 try {
 input = dataInput.readLine();
 tinggi = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input hanya berupa angka !!");
 }
 luas = 0.5 * alas * tinggi;
 } else if (pilihan == 2) {
 System.out.print("Masukkan nilai R = ");
 try {
 input = dataInput.readLine();
 jariJari = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input hanya berupa angka !!");
 }
 luas = 3.14 * jariJari * jariJari;
 } else if (pilihan == 3) {
 System.out.print("Masukkan nilai panjang = ");
 try {
 input = dataInput.readLine();
 panjang = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input hanya berupa angka !!");
 }
 System.out.print("Masukkan nilai lebar = ");
 try {
 input = dataInput.readLine();
 lebar = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input hanya berupa angka !!");
 }
 luas = panjang * lebar;
 } else {
 System.out.println("Pilihan Tidak Tersedia !");
 }
 System.out.println("Luas = " + luas);
 }
}

5. Konversi Jam Menit Detik

Algoritma

Judul : KonversiJam

Spesifikasi :

Deklarasi (kamus) :

detik : int

menit : int

jam : int

sisa : int

masukanAngka : int

Deskripsi :

write(”Program Konversi Angka ke Jam”)

read(“Masukkan angka = “, masukanAngka)

jam <– masukanAngka / 3600

sisa <– masukanAngka % 3600

menit <– sisa / 60

detik <– sisa % 60

write(jam,” Jam”,menit,” Menit”,detik,” Detik”)

Program

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

/**
 *
 * @author eko rudiawan
 */
import java.io.*;

public class KonversiJam {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws IOException {
 // TODO code application logic here
 BufferedReader dataInput = new BufferedReader(new InputStreamReader(System.in));
 String input;
 int detik;
 int menit;
 int jam;
 int masukanAngka = 0;
 int sisa;
 System.out.println("Program Konversi Angka ke Jam");
 System.out.print("Masukkan angka = ");
 try {
 input = dataInput.readLine();
 masukanAngka = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input hanya berupa angka");
 }
 jam = masukanAngka / 3600;
 sisa = masukanAngka % 3600;
 menit = sisa / 60;
 detik = sisa % 60;
 System.out.println(jam + " Jam " + menit + " Menit " + detik + " Detik ");
 }
}

6. Mengurutkan Data Ascending dan Descending

Algoritma

Judul : Sorting Data

Spesifikasi :

Deklarasi (rumus) :

data[10] : int

ascending[10] : int

descending[10] : int

i : int

x : int

Deskripsi :

write(“Program Mengurutkan Bilangan Bulat”)

write(“Masukkan bilangan sebanyak 10 kali”)

for i=0 to 10

read(“a[“,i,”]”)

write(“Data sebelum disorting = “)

for i = 0 to 10

write(data[i],” “)

for j=0 to 10

for k=0 to 10

if data[j] < data[k] then

x <– data[j]

data[k] <– x

write(“Data Ascending = “)

for i=0 to 10

write(data[i],” “)

for j=0 to 10

for k=0 to 10

if data[j] > data[k] then

x <– data[j]

data[k] <– x

write(“Data Descending = “)

for i = 0 to 10

write(data[i],” “)

Program

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

/**
 *
 * @author eko rudiawan
 */
import java.io.*;

public class SortingData {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws IOException {
 // TODO code application logic here
 int[] data = new int[10];
 int[] ascending = new int[10];
 int[] descending = new int[10];
 int i;
 int x; // menyimpan variabel sementara
 String input;
 BufferedReader dataInput = new BufferedReader(new InputStreamReader(System.in));
 System.out.println("Program Mengurutkan Bilangan Bulat");
 System.out.println("Masukkan bilangan sebanyak 10 kali");
 for (i = 0; i < 10; i++) {
 System.out.print("a[" + i + "] = ");
 try {
 input = dataInput.readLine();
 data[i] = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input harus bilangan bulat");
 }
 }
 System.out.print("Data Sebelum Disorting = ");
 for (i = 0; i < 10; i++) {
 System.out.print(data[i] + " ");
 }
 System.out.println("");

for (int j = 0; j < 10; j++) {
 for (int k = 0; k < 10; k++) {
 if (data[j] < data[k]) {
 x = data[j];
 data[j] = data[k];
 data[k] = x;
 }
 }
 }
 System.out.print("Data Ascending = ");
 for (i = 0; i < 10; i++) {
 System.out.print(data[i] + " ");
 }
 System.out.println("");
 for (int j = 0; j < 10; j++) {
 for (int k = 0; k < 10; k++) {
 if (data[j] > data[k]) {
 x = data[j];
 data[j] = data[k];
 data[k] = x;
 }
 }
 }
 System.out.print("Data Descending = ");
 for (i = 0; i < 10; i++) {
 System.out.print(data[i] + " ");
 }
 System.out.println("");
 }
}

7. Perkalian Matrix

Algoritma

Judul : Perkalian Matrix

Spesifikasi :

Deklarasi :

      barisMatrix1 : int

      kolomMtrix1 : int

      barisMatrix2 : int

      kolomMatrix2 : int

      matrix1[][] : int

      matrix2[][] : int

      matrixHasil[][] : int

      barisHasil : int

      kolomHasil : int

      data : int

      input : String

      write(“Program Perkalian Matrix”)

      read(“Masukkan jumlah baris matrix 1 = “, barisMatrix1)

      read(“Masukkan jumlah kolom matrix 1 = “, kolomMatrix1)

      read(“Masukkan jumlah baris matrix 2 = “, barisMatrix2)

      read(“Masukkan jumlah kolom matrix 2 = “, kolomMatrix2)

      if barisMatrix1 != kolomMatrix2

                  write(“Perkalian tidak dapat dilakukan”)

      else

                  read(“Masukkan data matrix 1 = “, matrix1)

                  read(“Masukkan data matrix 2 = “, matrix2)

                  write(“Matrix 1 = “, matrix1)

                  write(“Matrix 2 = “, matrix2)

                  barisHasil <– barisMatrix1

                  kolomHasil <– kolomMatrix2

                  for I = 0 to barisHasil

                              for j=0 to kolomHasil

                              for k=0 to barisMatrix2

                              matrixHasil[i][j] <– matrixHasil[i][j] + matrix1[i][k] * matrix2[k][j]

                  write(“Hasil = “,matrixHasil)

Program

</pre>
/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package perkalianmatriks;

&nbsp;

/**

*

* @author eko rudiawan

*/

import java.io.*;

&nbsp;

public class PerkalianMatriks {

&nbsp;

/**

* @param args the command line arguments

*/

public static void main(String[] args) throws IOException {

// TODO code application logic here

BufferedReader dataInput = new BufferedReader(new InputStreamReader(System.in));

int barisMatrix1 = 0;

int kolomMatrix1 = 0;

int barisMatrix2 = 0;

int kolomMatrix2 = 0;

int matrix1[][] = new int[10][10];

int matrix2[][] = new int[10][10];

int matrixHasil[][] = new int[20][20];

int barisHasil;

int kolomHasil;

int data;

String input;

System.out.println("Program Perkalian Matriks");

System.out.print("Masukkan jumlah baris matrix 1 = ");

try {

input = dataInput.readLine();

barisMatrix1 = Integer.parseInt(input);

} catch (NumberFormatException error) {

System.out.println("Input hanya berupa bilangan bulat !");

}

System.out.print("Masukkan jumlah kolom matrix 1 = ");

try {

input = dataInput.readLine();

kolomMatrix1 = Integer.parseInt(input);

} catch (NumberFormatException error) {

System.out.println("Input hanya berupa bilangan bulat !");

}

System.out.print("Masukkan jumlah baris matrix 2 = ");

try {

input = dataInput.readLine();

barisMatrix2 = Integer.parseInt(input);

} catch (NumberFormatException error) {

System.out.println("Input hanya berupa bilangan bulat !");

}

System.out.print("Masukkan jumlah kolom matrix 2 = ");

try {

input = dataInput.readLine();

kolomMatrix2 = Integer.parseInt(input);

} catch (NumberFormatException error) {

System.out.println("Input hanya berupa bilangan bulat !");

}

if (barisMatrix1 != kolomMatrix2) {

System.out.println("Perkalian tidak bisa dilakukan, Baris Matrix1 tidak sama dengan Kolom Matrix2");

} else {

System.out.println("Masukkan data matriks 1");

for (int i = 0; i < barisMatrix1; i++) {

for (int j = 0; j < kolomMatrix1; j++) {

System.out.print("A[" + i + "][" + j + "] = ");

try {

input = dataInput.readLine();

data = Integer.valueOf(input);

matrix1[i][j] = data;

} catch (NumberFormatException error) {

System.out.println("Input hanya bilangan bulat");

}

}

}

System.out.println("Masukkan data matriks 2");

for (int i = 0; i < barisMatrix2; i++) {

for (int j = 0; j < kolomMatrix2; j++) {

System.out.print("B[" + i + "][" + j + "] = ");

try {

input = dataInput.readLine();

matrix2[i][j] = Integer.parseInt(input);

} catch (NumberFormatException error) {

System.out.println("Input hanya bilangan bulat");

}

}

}

System.out.println("Matrix 1 = ");

for (int i = 0; i < barisMatrix1; i++) {

for (int j = 0; j < kolomMatrix1; j++) {

System.out.print(matrix1[i][j] + "\t");

}

System.out.println("");

}

System.out.println("Matrix 2 = ");

for (int i = 0; i < barisMatrix2; i++) {

for (int j = 0; j < kolomMatrix2; j++) {

System.out.print(matrix2[i][j] + "\t");

}

System.out.println("");

}

int h;

int l;

barisHasil = barisMatrix1;

kolomHasil = kolomMatrix2;

for (int i = 0; i < barisHasil; i++) {

for (int j = 0; j < kolomHasil; j++) {

matrixHasil[i][j] = 0;

for (int k = 0; k < barisMatrix2; k++) {

matrixHasil[i][j] += matrix1[i][k] * matrix2[k][j];

}

}

System.out.println("");

}

System.out.println("Hasil = ");

for (int i = 0; i < barisHasil; i++) {

for (int j = 0; j < kolomHasil; j++) {

System.out.print(matrixHasil[i][j] + "\t");

}

System.out.println("");

}

}

}

}

8. Searching Data

Algoritma

Judul : Searching Data

Spesifikasi :

Deklarasi :

namaBuah[] : string

input : string

i : int

ketemu : boolean

Deskripsi :

ketemu <– false

write(“Program Searching Data”)

write(“Data Berupa Nama Buah”)

read(“Masukkan Nama Buah”, input)

for i = 0 to namaBuah.length

if namaBuah[i] = input then

write(“Nama buah ketemu pada indeks ke “, i)

ketemu <– true

break

if ketemu = false then

write(“Nama buah tidak ditemukan”)

Program

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

/**
 *
 * @author eko rudiawan
 */
import java.io.*;

public class SearchingData {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws IOException {
 // TODO code application logic here
 String namaBuah[] = {"pisang", "pepaya", "jeruk", "mangga", "nanas", "apel", "semangka"};
 String input = null;
 int i;
 boolean ketemu = false;
 System.out.println("Program Serching Data");
 System.out.println("Data Berupa Nama Buah");
 BufferedReader dataInput = new BufferedReader(new InputStreamReader(System.in));
 System.out.print("Masukkan nama buah = ");
 try {
 input = dataInput.readLine();

} catch (NumberFormatException error) {
 System.out.println("Input hanya berupa string !!");
 }

for (i = 0; i < namaBuah.length; i++) {
 if (namaBuah[i].equals(input)) {
 System.out.println("Nama buah ketemu pada indeks ke " + i);
 ketemu = true;
 break;
 }
 }
 if (!ketemu) {
 System.out.println("Nama buah tidak ditemukan !!");
 }
 }
}

9. Pengecekan Bilangan Prima

Algoritma

Judul : Pengecekan Bilangan Prima

Spesifikasi :

Deklarasi :

input : String

bilangan : int

loop : boolean

bilPrima : boolean

Deskripsi :

loop <– true

while loop = true

read(“Masukkan bilangan bulat = “, bilangan)

if bilangan = 1 then

bilPrima = false

else

bilPrima = true

for i = 2 to bilangan

if bilangan mod i = 0 then

bilPrima = false

if bilPrima = true then

write(bilangan,”merupakan bilangan prima”)

else

write(bilangan,”bukan bilangan prima”)

read(“Apakah anda ingin mengulangi (ya/tidak) ? “, input)

if input.equals(“ya”) then

loop = true

else if input.equals(“tidak”) then

loop = false

else

write(“Jawaban hanya ya dan tidak”)

Program

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

/**
 *
 * @author eko rudiawan
 */
import java.io.*;

public class PengecekanBilanganPrima {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) throws IOException {
 // TODO code application logic here
 BufferedReader dataInput = new BufferedReader(new InputStreamReader(System.in));
 String input;
 int bilangan = 0;
 boolean loop = true;
 boolean bilPrima;
 while (loop) {
 System.out.print("Masukkan bilangan bulat = ");
 try {
 input = dataInput.readLine();
 bilangan = Integer.parseInt(input);
 } catch (NumberFormatException error) {
 System.out.println("Input hanya bilangan bulat");
 }
 if (bilangan == 1) {
 bilPrima = false;
 } else {
 bilPrima = true;
 for (int i = 2; i < bilangan; i++) {
 if (bilangan % i == 0) {
 bilPrima = false;
 }
 }
 }
 if (bilPrima) {
 System.out.println(bilangan + " Merupakan Bilangan Prima");
 } else {
 System.out.println(bilangan + " Bukan Merupakan Bilangan Prima");
 }
 System.out.println("Apakah Anda Ingin Mengulangi (ya/tidak) ? ");
 input = dataInput.readLine();
 if (input.equals("ya")) {
 loop = true;
 } else if (input.equals("tidak")) {
 loop = false;
 } else {
 System.out.println("Jawaban hanya ya/tidak");
 }
 }
 }
}

10. Parse String

Algoritma

Judul : Memisah String

Spesifikasi :

Deskripsi :

data : String

hasil = string

i : int

Deskripsi :

data <– “1|GA|18:55|10:00|Gate6|delay”

hasil <– data.split(“[ | ]+”)

for int i=0 to hasil.length

write(hasil[i])

Program

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

/**
 *
 * @author eko rudiawan
 */
//import java.io.*;
public class MemisahString {

/**
 * @param args the command line arguments
 */
 public static void main(String[] args) {
 // TODO code application logic here
 // "1|GA|18:55|10:00|Gate6|delay"
 String data = "1 | GA | 18:55 | 10:00 | Gate6 | delay";
 String[] hasil = data.split("[ | ]+");
 for(int i=0; i<hasil.length; i++){
 System.out.println(hasil[i]);
 }
 }
}

Pengalaman Outbond Bersama Seamolec

Tidak terasa, hari yang ditunggu itu akhirnya tiba. Setelah mengikuti pembukaan program D4 kerjasama dengan ITB dan SEAMOLEC, malamnya saya bersama teman-teman langsung bergegas menuju Pondok Cabe. Tempat dimana kami akan melakukan matrikulasi sebelum menjalani kuliah sebenarnya di ITB. Sebelum mengikuti matrikulasi, kami diwajibkan untuk mengikuti outbond terlebih dahulu. Akhirnya sabtu pagi setelah sholat subuh, kami bersama teman-teman langsung bersiap untuk menuju kantor SEAMOLEC yang berada di Universitas Terbuka. Awalnya kami berfikir akan melakukan outbond di alam terbuka dan bukan di kantor SEAMOLEC. Tak seberapa lama kami menunggu akhirnya datang seorang bapak-bapak yang berparas seperti militer. Ternyata dialah yang akan menemani outbond dua hari ini. Awalnya kami melakukan permainan sederhana untuk melatih otak kanan dan kiri, setelah itu kami mulai dengan permainan kecil seperti berlajan dengan mata tertutup, menyanyi dan hal-hal yang menyenangkan lainnya. Akhirnya kamipun dibagi menjadi 4 kelompok besar yaitu Harimau, Kerbau, Kuda dan Matahari, dan ternyata saya berada di tim Harimau.

Akhirnya sekitar jam 9.00 kami dibawa menuju ruangan, saya mulai bingung dan bertanya-tanya “Loh katanya mau outbond, lha ini kok malah masuk ke ruangan”. Kami ikuti saja semua perintah yang di berikan. Ternyata di ruangan ini kami diberikan suguhan film menarik tentang motivasi. Jujur, tontonan dan semua yang disajikan itu sungguh membuat motivasi saya meningkat. Satu hal yang sangat saya sukai yaitu cara penyampaian materi oleh motivator, sangat menarik karena motivator menggunakan berbagai media seperti gitar, lagu, tari, dll. Akhirnya tepat pukul 3.00 sore kami diberikan tugas yang sedikit aneh. Tugas itu adalah menjual pena dengan harga yang setinggi-tingginya atau minimal Rp. 20.000. Sebelumnya saya berfikir “Apakah ada orang yang mau beli pena dengan harga mahal segitu ?? “. Tapi saya sadar ini adalah tugas, bersama 2 orang teman saya lainnya kami langsung bergegas mencari pembeli. Akhirnya kami putuskan untuk menuju simpang lampu merah dekat daerah giant, karena menurut teman kami orang jakarta, disinlah pusat keramaian di pondok cabe ini. Rasanya penuh rasa malu untuk menawarkan pena saja, apalagi dengan harga yang mahal seperti itu. Satu persatu orang yang kami tawari tak satupun yang mau membeli. Sampai akhirnya ada seorang ibu berkebangsaan Polandia yang menyapa kami. Terlihat ibu itu sangat ramah, kami dipersilahkan masuk ke ruko miliknya. Setelah kami masuk, baru saya tahu ternyata dia membuka bisnis sejenis MLM. Langsung saja kami sampaikan niat kami yang sesungguhnya yaitu menjual pena. Ternyata dia tidak keberatan, namun kami diminta menonton film pendek. Ternyata film itu berisi tentang motivasi bisnis. Tak terasa jam sudah menunjukkan pukul 4.15, seharusnya kami sudah kembali karena waktu yang diberikan hanya 1 jam. Karena merasa terlalu lama, akhirnya saya kembali lagi tegaskan niat kami untuk menjual pena dan akhirnya ternyata pena yang saya jual dibeli oleh sang Ibu dengan harga Rp. 30.000. Tidak mahal memang, tapi saya cukup puas dengan hasil Rp. 30.000 yang saya dapatkan dengan waktu yang singkat. Saya harap ini menjadikan motivasi tersendiri bagi saya bahwa untuk memulai bisnis itu harus berani menawarkan barang, walau dengan harga tinggi sekaligus. :)

Tiba di hari kedua, kami diperintahkan untuk datang lebih pagi tepat pukul 5.00 kami harus sudah berkumpul. Ya, kali ini outbond sebenarnya akan diadakan. Ini dia saat yang sangat kami tunggu, bermain-main, menguji kekompakan, dll. Banyak permainan yang kami ikuti, mulai dari mengisi air pada pipa berlubang, mengisi air pada ember dengan menggunakan tali, dll. Ya, pastinya kami semua merasa senang dengan itu semua, diluar dari itu saya pribadi beranggapan 2 hari ini telah membuat saya lebih akrab dengan teman yang baru saya kenal, selain itu kami lebih merasa menjadi kompak satu dengan lainnya.

Latihan Pemrograman Java

LATIHAN PEMOGRAMAN JAVA

(1)

public class Hello

{

                /**

                 * Program Java My first

                 */

                public static void main( String[] args ){

                                                //menampilkan String Hello world pada layar

                                                System.out.println(“Hello world”);

                }

}

[/sourcecode language]

 

Output Program :

Hello world



 

(2)

public class ArithmeticDemo  {

     public static void main(String[] args){

          //beberapa angka

          int i = 37;

          int j = 42;

          double x = 27.475;

          double y = 7.22;

          System.out.println(“Nilai Variabel…”);

          System.out.println(”    i = ” + i);

          System.out.println(”    j = ” + j);

          System.out.println(”    x = ” + x);

          System.out.println(”    y = ” + y);
System.out.println(“Penjumlahan…”);

          System.out.println(”    i + j = ” + (i + j));

          System.out.println(”    x + y = ” + (x + y));

//pengurangan angka

          System.out.println(“Pengurangan…”);

          System.out.println(”    i – j = ” + (i – j));

          System.out.println(”    x – y = ” + (x – y));

          //pengalian angka

          System.out.println(“Pengalian…”);

          System.out.println(”    i * j = ” + (i * j));

          System.out.println(”    x * y = ” + (x * y));

           //pembagian angka

          System.out.println(“Pembagian…”);

          System.out.println(”    i / j = ” + (i / j));

          System.out.println(”    x / y = ” + (x / y));

//Penghitungan modulus (sisa pembagian)

       System.out.println(“Penghitungan modulus…”);

       System.out.println(”    i % j = ” + (i % j));

       System.out.println(”    x % y = ” + (x % y));

       //Penghitungan kombinasi variabel

       System.out.println(“kombinasi variabel…”);

       System.out.println(”    j + y = ” + (j + y));

       System.out.println(”    i * x = ” + (i * x));

    } 

Output Program:

Nilai variabel…

      i = 37
j = 42
x = 27.475

      y = 7.22
Penjumlahan…
i + j = 79
x + y = 34.695
Pengurangan…
i – j = -5
x – y = 20.255
Pengalian…
i * j = 1554
x * y = 198.37

Pembagian…
i / j = 0
x / y = 3.8054  Computing Nilai Modulus…
i % j = 37
x % y = 5.815 

 

 


Kombinasi variabel…
j + y = 49.22
i * x = 1016.58

 

(3)

public class RelationalDemo{

    public static void main(String[] args){

        //beberapa angka

        int i = 37;

        int j = 42;

        int k = 42;

        System.out.println(“Nilai variabel…”);

        System.out.println(”    i = ” +i);

        System.out.println(”    j = ” +j);

        System.out.println(”    k = ” +k);

        //lebih besar dari

        System.out.println(“Lebih besar…”);

        System.out.println(”    i > j = “+(i>j));//false

        System.out.println(”    j > i = “+(j>i));//true

        System.out.println(”    k > j = “+(k>j));//false

        //lebih besar atau sama dengan

       System.out.println(“lebih besar atau sama dengan…”);

       System.out.println(”    i >= j = “+(i>=j));//false

       System.out.println(”    j >= i = “+(j>=i));//true

       System.out.println(”    k >= j = “+(k>=j));//true

                //lebih kecil

       System.out.println(“lebih kecil…”);

       System.out.println(”    i < j = “+(i<j));//true

       System.out.println(”    j < i = “+(j<i));//false

       System.out.println(”    k < j = “+(k<j));//false

       //lebih kecil atau sama dengan

       System.out.println(“lebih kecil atau sama dengan…”);

       System.out.println(”    i <= j = “+(i<=j));//true

       System.out.println(”    j <= i = “+(j<=i));//false

       System.out.println(”    k <= j = “+(k<=j));//true 

       //sama dengan

     System.out.println(“sama dengan…”);

     System.out.println(”    i == j = ” + (i==j));//false

     System.out.println(”    k == j = ” + (k==j));//true

  //tidak sama dengan

     System.out.println(“tidak sama dengan…”);

     System.out.println(”    i != j = ” + (i!=j));//true

     System.out.println(”    k != j = ” + (k!=j));//false

    }

  } 

 

Output Program

Nilai variabel…

      i = 37

      j = 42

      k = 42

  Lebih besar…

      i > j = false

      j > i = true

      k > j = false

  Lebih besar atau sama dengan…

      i >= j = false

      j >= i = true

      k >= j = true

  Lebih kecil…

      i < j = true

      j < i = false

      k < j = false 

Lebih kecil atau sama dengan…

      i <= j = true

      j <= i = false

      k <= j = true

  Sama dengan…

      i == j = false

      k == j = true

  Tidak sama dengan…

      i != j = true

      k != j = false 

 

(4)

public class TestOR {

                 public static void main( String[] args ){

                                int  i  = 0;

                                int  j  = 10;

                                boolean test= false;

                                //contoh ||

                                test = (i < 10) || (j++ > 9);

                                System.out.println(i);

                                System.out.println(j);

                                System.out.println(test);

                                //contoh |

                                test = (i < 10) | (j++ > 9);

                                System.out.println(i);

                                System.out.println(j);

                                System.out.println(test);

                 }

}

 

Output program
 0
10
true
0
11
true

 

(5)

public class TestXOR {

                public static void main( String[] args ){

                                 boolean val1 = true;

                                 boolean val2 = true;

                                 System.out.println(val1 ^ val2);

                                 val1 = false; val2 = true;

                                 System.out.println(val1 ^ val2);

                                 val1 = false; val2 = false;

                                 System.out.println(val1 ^ val2);

                                 val1 = true; val2 = false;

                                 System.out.println(val1 ^ val2);

                }

}

 

Output Program :

false
true
false
true

 

(6)

public class ConditionalOperator {

                public static void main( String[] args ){

                                String  status = “”;

                                int grade = 80;

                                //Status dari siswa

                                status = (grade >= 60)?”Passed”:”Fail”;

                                //Cetak status

                                System.out.println( status );

                }

}

Output program:
Passed

 

 

Notasi Standard dan Scientific

PERBEDAAN NOTASI STANDARD & NOTASI SCIENTIFIC

Pada Notasi Standard  menggunakan titik untuk menandakan bahwa bilangan itu adalah pecahan biasanya bilangan ini ditulis menggunakan notasi standard contohnya 36.8, 10.2, 11.10. Sedangkan untuk notasi ilmiah atau disebut dengan scientific notation dapat digunakan untuk menambahkan lambang En pada standard floating-point contoh dari notasi scientific adalah 6.8285e2.

Untuk huruf E atau eksponensial artinya nilai dari floating point dikalikan dengan nilai 10 sebanyak n kali untuk mendapatkan nilai yang sebenarnya. Pada Default Floating point literals mempunyai tipe data double yang dinyatakan dalam 64-bit .Untuk menggunakan ketelitian yang lebih kecil (32-bit) untuk tipe data float dengan menambahkan karakter “f” atau “F”, dan D(d) untuk tipe data double

Algoritma Pemograman

Algoritma pemrograman

Pada kesempatan ini saya akan membahas tentang algoritma untuk menentukan bilangan genap dan ganjil serta algoritma untuk menampilkan bilangan prima dari 0 sampai 100 dan menampilkan jumlah bilangan Genap, Ganjil, Prima. Sebelum kita membahas algoritma diatas sebaiknya kita harus tahu dulu apa sejarah algoritma, pengertian algoritma dan kegunaan dari algoritma tersebut.

1.  Sejarah Algoritma

Algoritma berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhamma Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal- Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia,  kata algorithm diserap menjadi algoritma.

2.  Pengertian Algoritma

Algoritma adalah langkah – langkah logis yang disusun secara sistematis untuk menyelesaikan suatu masalah.Algoritma adalah dasar dan pondasi untuk membuat suatu program komputer yang baik. Pemahaman algoritma yang baik sangat menentukan kulitas dari suatu program yang kita buat, untuk itu jangan tergesa-gesa dalam membuat program atau bahkan malas menyusun algoritmaya bisa jadi program yang anda buat tidak berhasil atau error.

Algoritma pemograman yang baik memiliki ciri-ciri sebagai berikut:

  1. Tepat, benar, sederhana, dan efektif.
  2. Logis, terstruktur, dan sistematis.
  3. Semua operasi terdefinisi.
  4. Semua proses harus berakhir setelah sejumlah langkah dilakukan

Contoh algoritma sederhana dalam dunia nyata…

Jika seseorang ingin mengirim surat kepada temannya di tempat lain, langkah yang harus dilakukan adalah :

  1. Menulis surat.
  2. Surat dimasukkan ke dalam amplop tertutup
  3. Amplop ditempeli perangko secukupnya.
  4. Pergi ke Kantor Pos terdekat untuk mengirimkannya

3.  Kegunaan Algoritma

Algoritma sangat menbantu dalam pembuatan program. Pembuatan algoritma mempunyai banyak keuntungan di antaranya:

1)    Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.

2)   Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

3)   Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.

di bawah ini adalah macam-macam dari algoritma tersebut

1.      Menampilkan Bilangan Genap dan Ganjil dari 1 – 100

Judul : BilanganGenapGanjil
Spesifikasi : Program akan menampilkan bilangan genap dan ganjil dari 1 sampai 100 pada layar monitor
Deklarasi (kamus) :
   i : integer
Deskripsi :
   write (“Bilangan Ganjil = “)
   for i = 1 to 100
      if i mod 2 != 0 then
      write (i)
   write (“Bilangan Genap = “)
   for i = 1 to 100
      if i mod 2 = 0 then
      write(i)
 
2.  Menampilkan Bilangan Prima dari 1 – 100

Judul : BilanganPrima
Spesifikasi : Program akan menampilkan bilangan prima dari 1 – 100 pada layar monitor
Deklarasi (kamus)  :
   bilPrima : boolean
   i : int
   j : int
Deskripsi :
   write (“Program Menampilkan Bilangan Prima dari 1 – 100”)
   write (“Bilangan Prima 1 – 100 => “)
   for i = 1 to 100
      bilPrima <-- true
      if i > 1 then
      for j = 2 to j < i
         if i mod j = 0 then
            bilPrima <-- false
            break
      if bilPrima = true then
      write(i)

3.      Menghitung Jumlah Bilangan Ganjil, Genap, dan Prima dari 1 – 100

Judul : Menampilkan Ganjil Genap Prima
Spesifikasi : Program akan menghitung jumlah bilangan ganjil, genap, dan prima dari mulai 1 – 100. Selanjutnya jumlah bilangan ganjil, genap dan prima tersebut ditampilkan di layar monitor.
Deklarasi (kamus)  :
   bilPrima : boolean
   i : int
   j : int
   jumlahGanjil : int
   jumlahGenap : int
   jumlahPrima : int
   write (“Program Menampilkan Jumlah Bilangan Genap, Ganjil, dan Prima dari 1 – 100”)
   for i = 1 to 100
      bilPrima <-- true
      if i > 1 then
         for j = 2 to j < i
            if i mod j = 0 then
               bilPrima <-- false
               break
      if bilPrima = true then
         jumlahPrima <-- jumlahPrima + 1
      if i mod 2 = 0 then
         jumlahGenap <-- jumlahGenap + 1
      else
         jumlahGanjil <-- jumlahGanjil +1
   write (“Jumlah Bilangan Genap”, jumlahGenap)
   write (“Jumlah Bilangan Ganjil”, jumlahGanjil)
   write (“Jumlah Bilangan Prima”, jumlahPrima)