Laman

Minggu, 10 Maret 2013

Konsep Oop Di Java

Hallo Sobat Semua..

kali ini saya mau bahas tentang konsep Oop di Java, postingan kali ini untuk memenuhi kewajiban tugas kuliah, semoga dapet nilai nya bagus. amin.....

ok langsung aja kita ke topik bahasan.
apa sih yang dimaksud java?
Java adalah sebuah bahasa pemrograman pada komputer sama seperti pendahulunya c++ . Bahasa pemrograman ini dikembangkan oleh Sun microsystems yang dikembangkan pada tahun 1995 . Awalnya java diciptakan pada tahun 1991 oleh Patrick Naughton, Mike Sheridan , James Gosling dan Bill Joy beserta programer dari Sun Microsystems . Uniknya nama java diambil dari nama pulau jawa ( bahasa inggris dari jawa ) karena James Gosling menyukai kopi yang berasal dari pulau Jawa .

kenapa java itu oop?
Java sendiri merupakan bahasa pemrograman yang berbasis Oop (object oriented programming) atau pemrograman berorientasi objek yang merupakan paradigma 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.

Berapa hal yang harus di ketahui Di dalam OOP

Class adalah kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Kita juga dapat membuat diagram yang terdiri atas package.

Inheritance adalah pewarisan atau turunan. Dalam bahasa pemrograman java inheritance merupakan turunan dan  pengembangan dari class ke  class lainnya.  Dan saling berhubungan satu sama lain serta atribut dari class diwariskan dari  kelas sebelumnya yang dikenal dengan super class / parent  class / based class Sedangkan class baru yang menjadi turunannya  disebut dengan subclass / child class / derived class. Jadi kita cukup menuliskan kode method hanya sekali dan mereka dapat digunakan oleh semua subclass.

Enkapsulasi
Dalam istilah berorientasi-objek, enkapsulasi berkaitan dengan penyembunyian informasi. System-sistem yang tidak berorientasi-objek berdasarkan pada rutin dan subprogram yang berbagi-pakai data global, atau yang menerima data yang dikirimkan oleh pemanggil.Pendekatan berorientasi-objek, di pihak lain, mengadopsi konsep bahwa data dan fungsi mestinya dipaketkan bersama ke dalam sebuah kapsul tunggal. Bentuk kelas ini melayani maksud tersebut. Sebuah kelas terdiri dari elemen data dan elemen pemrosesan. Elemen data sebuah kelas disebut attribute, dan operasi pemrosesan disebut metodenya. Atribut dan metode merupakan anggota kelas: atribut adalah anggota data dan metode adalah fungsi anggota.
Maksud enkapsulasi disini adalah menyembunyikan detail implementasi sementara memusatkan pada antarmuka. Tujuannya adalah membuat sebuah abstraksi yang memaksa programmer berpikir secara konseptual. Biasanya, anggota – anggota data dari sebuah kelas terlihat oleh penggunanya. Jika sebuah anggota data harus dibuat agar dapat diakses oleh client kelas, maka kelas tersebut menyediakan sebuah metode yang memeriksanya dan mengembalikan nilainya. Saat sebuah kelas mengekspos anggota data, ia dikatakan memecahkan enkapsulasi.

Polimorfisme
Polimorfisme (polymorphism) erat kaitannya dengan Pewarisan. Polimorfisme adalah pemikiran bahwa objek dinamis suatu kelas dasar dapat berperilaku seperti kelas turunan. Ketika objek tersebut menunjuk kelas dasar, objek tersebut berperilaku seperti kelas dasar, tetapi ketika objek tersebut menunjuk kelas turunan, objek tersebut berperilaku seperti kelas turunan. Dalam hal ini objek dapat memiliki beberapa bentuk, tergantung pada saat itu kelas mana yang ditunjuk. Yang perlu menjadi catatan, bahwa perubahan perilaku ini dari kelas dasar kepada kelas turunan, tidak dapat objek kelas turunan menunjuk kelas dasar.
Polimorfisme dimungkinkan karena adanya mekanisme ikatan dinamis (dynamic binding). Ikatan dinamis adalah ikatan yang terjadi pada saat program dijalankan (run-time). Ikatan yang terjadi pada saat kompile disebut ikatan statis. Ikatan dinamis hanya dapat terjadi antara suatu objek dinamis dengan metode yang dinamis juga, dalam hal ini metode virtualnya (maya).

Hak Akses
OOP memberikan beberapa tipe hak akses terhadap variable (atribut), methode bahkan class. Tipe tipe hak akses tersebut yaitu Public, Private, atau Protected. Ini adalah salah satu bagian terpenting dari OOP, sehingga programmer yang hendak belajar OOP wajib memahami konsep pengaksesan data ini dalam OOP.

Dari pada bingung dan makin ga ngerti sama bahasan diatas ... Mending liat contoh program menghitung nilai akhir dan grade nya di bawah ini.. cekidot....!!!


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

/**
 *
 * @author andee
 */
import java.util.Scanner;
public class NilaiAkhir {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
       int absen , tgs , uts , uas;
       double na;
       System.out.println("Program Menghitung NIlai Akhir dan Grade");
       System.out.println("----------------------------------------");
       System.out.println();
       Scanner n = new Scanner (System.in);
        System.out.print("Masukan Nilai Absen:");
        absen = n.nextInt();
        System.out.print("Masukan Nilai Tugas:");
        tgs = n.nextInt();
        System.out.print("Masukan Nilai UTS:");
        uts = n.nextInt();
        System.out.print("Masukan Nilai UAS:");
        uas = n.nextInt();
     
        na = (0.10*absen)+(0.25*tgs)+(0.25*uts)+(0.40*uas);
        System.out.println();
        if (na > 85){
            System.out.println("Nilai Akhir = " + na + " Grade  = A");   
        } else if (na > 75){
            System.out.println("Nilai Akhir = " + na + " Grade  = B");
        } else if (na > 60){
            System.out.println("Nilai Akhir = " + na + " Grade  = C");
        } else if (na > 45){
            System.out.println("Nilai Akhir = " + na + " Grade  = D");
        } else{
            System.out.println("Nilai Akhir = " + na + " Grade  = E")       
        }
    }
}



Maaf jika banyak kesalahan atau kekeliruan dari tulisan di atas,, maklumin aja .. namanya juga baru belajar... hehe

Terima kasih Buat si mbah (google),, http://mas-anto.com/,, dan Blogger2 lain nya. yang udah memberikan pencerahan tentang konsep OOP dan Java... 

Selasa, 26 Februari 2013

Program Konversi suhu

uses wincrt;
var
   a,b,c,d:integer;

begin
     writeln('--------------------------------------------');
     writeln('    celcius   fahrenheit   reamur   kelvin');
     writeln('--------------------------------------------');
     for a:=0 to 10 do
     begin
          b:=18;
          c:=2;
          d:=273;
          write(a*10:10,a*b+32:10,a*4*c:10,a*10+273:10);
     writeln;
             end;
     writeln('--------------------------------------------');
     writeln(' daftar list celcius @andeebanditz......!!!!');
end.

Program Menghitung konversi Suhu Dengan Procedure


uses wincrt;

var
   cl,fh,rm,kv:integer;
   grs:string;

procedure hitung_konversi;
begin
for cl:=0 to 10 do
begin
     fh:=18*cl+32;
     rm:=2*cl*4;
     kv:=cl*10+273;
     write(cl*10:12,fh:12,rm:10,kv:12);
     writeln;
     end;
     end;
     begin
          grs:='-----------------------------------------------------------';
          writeln(grs);
          writeln('***           Program Menghitung konversi Suhu          ***');
          writeln(grs);
          writeln;
          writeln('         Celcius  Fahrenheit   reamur   Kelvin');
          writeln;
       
     hitung_konversi;
     writeln(grs);
     writeln('              Procedure Hitung Konversi Suhu @andeebanditz');
     end.

Program Penjumlahan_Matrik


Program Penjumlahan_Matrik;
Uses winCrt;
Var
Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
{ input matrik ke satu }
Writeln(' Elemen matrik satu');
For i := 1 to 3 Do
Begin
For j := 1 to 2 Do
Begin
Write('Elemen baris -',i,' Kolom -',j,'= ');
Readln(matrik1[i,j]);
End;
End;
{input matrik ke dua}
Writeln('input elemen matrik dua');
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write('Elemen baris -',i,' kolom -',j,'= ');
Readln(matrik2[i,j]);
End;
End;
{proses penjumlahan tiap elemen}
For i := 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j];
End;
End;
{proses cetak hasil}
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write(Hasil[i,j]:6);
End;
Writeln;
End;
Readln;
End.

program tranpose_matriks


program tranpose_matriks;

uses wincrt;
var
   nilai,hasil : array[1..2,1..2] of integer;
   a,b :integer;
   grs:string;
   begin
    clrscr;
    grs:='=================================================';
   { input matriks}
   writeln(grs);
   writeln('         Program Transpose Matriks ');
   writeln(grs);
   writeln('  NIM      : 1057201074 ');
   writeln('  NAMA     : TRI ANDI JUTAMA ');
   writeln('  PRODI    : SISTEM INFORMASI ');
   writeln(grs);
   write(' Masukan jumlah baris : ');readln(a);
   write(' Masukan jumlah kolom : ');readln(b);
   writeln;
   writeln('Masukan Data Matriks A ');
   for a:= 1 to 2 do
   begin
   for b:= 1 to 2 do
   begin
   write('Data ke [',a,',',b,'] : ');
   readln(nilai[a,b]);
   end;
   end;
   { Proses Tranpose Matriks}
   for a:=1 to 2 do
   begin
   for b:=1 to 2 do
   begin
   hasil[a,b]:=nilai[a,b];
   end;
   end;
   writeln;
   writeln('Menampilkan matriks tranpose A ');

   {output matriks}
   for a:=1 to 2 do
   begin
   for b:=1 to 2 do
   begin
   write('Data ke [',a,',',b,'] : ');
   write(hasil[b,a]);
   writeln;
   end;
   end;
   writeln;
   writeln('UTS Pemrograman Pascal,, @andeebanditz..!!!');
   writeln(grs);
   end.