Selasa, 16 September 2008

Membedakan pemrograman OOP dengan pemrograman OOP.

Membedakan pemrograman OOP dengan pemrograman OOP.

Seringkali para instruktur kursus, ataupun bahkan dosen pengajar pemrograman objek merasa
bahwa kalau sudah memberikan materi program dalam bahasa java, maka otomatis sudah
memberikan matakuliah pemrograman berorientasi objek (OOP).
Ketika materi kursus atau kuliah tersebut dicermati, ternyata banyak sekali materi yang diberikan
ternyata bukan materi pemrograman berorientasi objek, namun sebenarnya hanya materi
pemrograman berorientasi prosedural (Non-OOP), yang biasa digunakan dalam bahasa
pemrograman terstruktur yang lama, seperti Pascal, COBOL maupun BASIC.
Untuk hal tersebut, perlu dibedakan dengan jelas, mana yang dimaksud dengan pemrograman
berorientasi objek yang sesuai konsepnya, maupun pemrograman dengan bahasa java, namun
sebenarnya bukan pemrograman berorientasi objek. Pemrograman berorientasi prosedural dalam
contoh materi ini disebut pemrograman Non-OOP. Contoh kasus dalam hal ini adalah
• materi kalkulasi berantai serta
• materi looping ganda.

Solusi dengan NON-OOP (Prosedural)
1. Kalkulasi.java
Penggunaan perhitungan dengan variabel memori:

package aakuliah.dasar;
class Kalkulasi {
public static void main(String[] args) {
int a = 12; int c = 5;
int b = 23; int d = a + b - c;
System.out.println("d = a + b - c = " + d);
}
}

2. Kalkulasi2.java
Penggunaan function hitung :

package aakuliah.dasar;
class Kalkulasi2 {
static int hitung (int x, int y, int z) {
return(x + y - z);
}
public static void main(String[] args) {
int a = 12; int b = 23;
int c = 5; int d = 0;
d = hitung(a, b, c);
System.out.println("d = a + b - c = " + d);
}
}

3. Kalkulasi3.java dan drvKalkulasi3.kava
Solusi dengan objek namun tanpa Enkapsulasi Atribut
Atribut objek dari kelas Kalkulasi3 diakses langsung secara publik dari modul lain
(drvKalkulasi).
package aakuliah.dasar;
class Kalkulasi3 {
int a = 12;
int b = 23;
int c = 5;
public Kalkulasi3() { }
}
class drvKalkulasi3 {
public static void main(String[] args) {
Kalkulasi3 ob01 = new Kalkulasi3();
int d = ob01.a + ob01.b - ob01.c ;
System.out.print("d = a + b - c = ");
System.out.println(d);
}
}

4. drvBintang.java
Contoh kasus program dengan double loop:

package aakuliah.dasar;
class drvBintang {
public static void main(String[] args)
{
System.out.println("Iterasisederhana- non OOP---");
System.out.println("----------------------------");
for (int z=1;z<5;z++ )
{
System.out.print(z);
for (int x=0;x<(5-z);x++ ) {
System.out.print("*");
}
System.out.println();
}
System.out.println("----------------------------");
}
}

Tidak ada komentar: