beranda

Kamis, 12 April 2012

Enkapsulasi Java



1.  Enkapsulasi(Pembungkusan)

Enkapsulasi adalah pelindung program dan data yang sedang diolah.  Enkapsulasi mendefinisikan perilaku dan melindungi program dan data agar tidak diakses secara sembarangan oleh program lain.
Dalam Java, dasar enkapsulasi adalah class. Dalam menentukan control access dari suatu member class diperlukan access spesifier yaitu:
-          Public.
Siapa pun dapat mengakses member ini, baik kode yang ada di dalam class itu sendiri ataupun yang berada di luar class.
Dapat diakses oleh package yang berbeda.
-          Private.
Hanya dapat digunakan oleh internal member dari class tersebut saja.
Tidak ada kode satu pun dari luar class tersebut yang diizinkan mengakses/mengubah nilai dari member tersebut.
-          Protected
Dapat diakses oleh member class itu sendiri
Dapat diakses oleh member class turunannya
Dapat diakses oleh member dari class lain yang berada dalam package yang sama.
-          Tanpa access specifier (Default)
Akan diperlakukan seperti public, namun tidak dapat diakses oleh member class lain yang berada dalam package yang berbeda.

 
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.

Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.


B.    Contoh Program

class belajar {
public String x = "Pintar";
private String y = "Java";
}
public class pintar{
public static void main(String[] args){
belajar panggil = new belajar();
System.out.println("Panggil X : " + panggil.x);
System.out.println("Panggil Y : " + panggil.y);
}
}


C.   Logika Program

Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.


D.   Output Program


                                       
                                                                             

Kamis, 05 April 2012

Perbedaaan pemrograman terstruktur dengann OOP




Di sini saya akan menjelaskan tentang Perbedaan antara Pemrograman Berorientasi Objek (PBO) dan Pemrograman Terstruktur. OKe langsung aja biar lebih detailnya.

Pengertian Pemrograman Berorientasi Objek

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Jika dibandingkan dengan logika pemrograman terstruktur Maka setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Bahasa pemrograman yang mendukung OOP diantaranya adalah:
1. Java
2. Visual Foxpro
3. C++
4. Pascal (bahasa pemrograman)
5. Visual Basic.NET
6. SIMULA
7. Smalltalk
8. Ruby
9. Python
10. PHP
11. C#
12. Delphi
13. Eiffel
14. Perl
15. Adobe Flash AS 3.0

Pengertian Pemrograman Terstruktur

Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Untuk program yang simple / sederhana biasanya menggunakan pemrograman terstruktur karena masih mudah dan tidak banyak dilakukan perubahan yang berarti, sedangkan untuk line lebih dari 100 atau bisa dikatakan rumit, maka digunakan pemrograman berorientasi objek. Pemrograman Terstruktur terdiri dari pemecahan masalah yang besar menjadi masalah yang lebih kecil dan seterusnya, sedangkan untuk pemrograman berorientasi objek terdiri dari pengkelompokan kode dengan data yang mana setiap objek berfungsi secara independen sehingga untuk setiap perubahan kode tidak tergantung pada kode yang lainnya, atau lebih dikenal dengan modular. Terdapat juga perbedaan secara spesifik antara Pemrograman Berorientasi Objek dengan Pemrograman Terstruktur, yaitu pada kelas dan objek. Pada Pemrograman Terstruktur tidak terdapat kelas dan objek.
Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).
Bahasa pemrograman yang mendukung pemrograman terstruktur:
1. Cobol Turbo Prolog
2. C
3. Pascal
4. Delphi
5. Borland Delphi

Dilihat dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat seperti :
 
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri
Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2.pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
3.dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.
jadi, sangat jelas sekali bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.
Perbedaan antara pemrograman OOP dan pemrograman terstruktur

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur
Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ”modules”. Begitu pula halnya dengan “message” pada OOP dan “argument” pada terstruktur. “attribute” pada OOP juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
Pemrograman berorientasikan objek dikatakan lebih baik apabila 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.

Sumber :




Jumat, 30 Maret 2012

Konversi Biner ke ASCII dengan Python


Listing Program
import sys
file_in = open("biner.txt")
file_out = open("ascii.txt","wb") #wb = write back
bl = 8
bitlist = map(int,''.join(file_in.read().split()))
if len(bitlist)%bl != 0:
sys.exit("Error ! panjang dari bitlist bukan integer %s" % bl)
convert = ''.join([chr(sum(bit<<abs(idx-bl)-1 for idx,bit in enumerate(y)))
 for y in zip(*[bitlist[x::bl] for x in range(bl)])])
 file_out.write(convert)
 file_out.close()


Output Program



Logika Program


Pada program ini saya akan membuat konversi bilangan biner ke kode ASCII, maka saya  listing program di atas tersebut..

import  sys

perintah ini berguna untuk  Mengimport module sys pada python

file_in = open("biner.txt")                                                                                                                                                     file_out = open("ascii.txt","wb") #wb = write back                                                                                                                bl = 8
perintah diatas berguna untuk  Membuka file Biner.txt dan ASCII.txt sehingga dapat di read and write 

bitlist = map(int,''.join(file_in.read().split()))
if len(bitlist)%bl != 0:
sys.exit("Error ! panjang dari bitlist bukan integer %s" % bl)
Membaca input file byte, jika panjang byte kurang dari 8 maka akan muncul output error

convert = ''.join([chr(sum(bit<<abs(idx-bl)-1 for idx,bit in enumerate(y)))         
for y in zip(*[bitlist[x::bl] for x in range(bl)])])  
Membuat daftar byte dari variabel bitlist dan,  

Mengevaluasi nilai byte menjadi int dan merubahnya menjadi ascii

file_out.write(convert)   

Menulis hasil yang sudah diproses

file_out.close()                                 

Keluar dari file


       
 

Minggu, 25 Maret 2012

Program Sederhana java Mencari Nilai FPB

package fpb;
import java.io.*;
public class java {
    static String input;
    static int bil_1, bil_2;
    static DataInputStream in = new DataInputStream(System.in);
    public static int recurseFPB(int m, int n){
       if(m == 0)
           return n;
       else if (m<n)
           return recurseFPB(n,m);
       else
           return recurseFPB(m % n,n );
    }
    public static void main(String[] args) {
        try{// TODO code application logic here
            System.out.println("\nMenghitung FPB dari tiga Bilangan");
            System.out.print("masukkan bilangan ke-1: ");
            input = in.readLine();
            bil_1 = Integer.parseInt(input);

            System.out.print("masukkan bilangan ke-2: ");
            input = in.readLine();
            bil_2 = Integer.parseInt(input);

        }
        catch(Exception e){}
        recurseFPB(bil_1, bil_2);
        System.out.println();
        System.out.print("FPB dari " +bil_1+ " dan  " +bil_2+ "adalah ");
        System.out.print(recurseFPB(bil_1,bil_2));
    }
}

Minggu, 18 Maret 2012

BELAJAR DASAR MYSQL part 3

SINTAKS DML

Contoh dari table tamu :
CREATE TABLE tamu(
id INT(20) PRIMARY KEY AUTO_INCREMENT NOT NULL,
nama VARCHAR(20) NULL,
PESAN LONGTEXT
);


INSERT INTO TABLE
INSERT INTO tamu (id, nama, pesan) VALUE ('1', 'adi', 'saya adi');
INSERT INTO tamu (id, nama, pesan) VALUE ('3', 'coki', 'saya coki'),('4', 'dodi', 'saya dodi');
INSERT INTO tamu VALUE ('7', 'gani', 'saya gani');
INSERT INTO tamu (id) VALUES ('9');


DELETE FROM TABLE
DELETE FROM tamu;


DELETE FROM tamu WHERE id='1';
DELETE FROM tamu WHERE id in (3);
DELETE FROM tamu WHERE id in (4,7);



DELETE FROM tamu WHERE id <=’9';


UPDATE TABLE
UPDATE tamu SET id='11' WHERE id='1';


UPDATE tamu SET id='23', nama='jajang' WHERE id='3';


UPDATE tamu SET nama='jali' WHERE id in (3,4);



UPDATE tamu SET nama='zzzz';

BELAJAR DASAR MYSQL part 2

Melihat Table
SHOW TABLES;


  Merename Table
RENAME TABLE data_siswa TO identitas;


Mendeskripsi Table
DESCRIBE identitas;


Mengosongkan Table
TRUNCATE identitas;


Menghapus Table
DROP TABLE identitas;

BELAJAR DASAR MYSQL

SINTAKS DDL

Melihat Database
SHOW DATABASES;

                                                            Gambar 2.1

Membuat Database
CREATE DATABASE latihan;

                                                                   Gambar 2.2

Memakai Database
USE latihan;

                                                                   Gambar 2.3

Menghapus Database
DROP DATABASE latihan;

                                                               Gambar 2.4

Membuat Table
CREATE TABLE data_siswa(
id INT(20) PRIMARY KEY AUTO_INCREMENT NOT NULL,
nama VARCHAR(20) NULL,
kelas VARCHAR(20) NULL,
telephone VARCHAR(20) NULL
);