BAB 2 LANDASAN TEORI. Image digital sebenarnya bukanlah sebuah data digital yang normal, melainkan sebuah

dokumen-dokumen yang mirip
LAPORAN 2 PEMOGRAMAN JAVA III APPLICATION PROGRAMMING INTERFACE

LAPORAN 4 PEMOGRAMAN JAVA III APPLICATION PROGRAMMING INTERFACE

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1 Universitas Kristen Maranatha

JAVA DAN APLIKASI TEKNOLOGI INFORMASI DI JURUSAN SISTEM INFORMASI

BAB II LANDASAN TEORI. Citra digital sebenarnya bukanlah sebuah data digital yang normal,

Pemrograman Berbasis Objek. Pengenalan Java. Entin Martiana. Politeknik Elektronika Negeri Surabaya

rancang bangun aplikasi web vulnerability scanner terhadap kelemahan sql injection dan xss menggunakan java

BAB 1 PENDAHULUAN. Bab 1 Pendahuluan

BAB II DASAR TEORI. 2.1 Citra Digital

Pengantar Pemrograman dengan Bahasa Java

PENERAPAN DISCRETE DAUBECHIS WAVELET TRANSFORM D A L A M W A T E R M A R K I N G C I T R A D I G I T A L

Studi Perbandingan Metode DCT dan SVD pada Image Watermarking

STUDI DAN IMPLEMENTASI WATERMARKING CITRA DIJITAL DENGAN PENDEKATAN DISCRETE COSINE TRANSFORM

Pengantar Pemrograman dengan Bahasa Java

Pemrograman Berbasis Objek. Pengenalan Java. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. linear sequential (waterfall). Metode ini terdiri dari empat tahapan yaitu analisis,

ANALISA DAN IMPLEMENTASI VIDEO WATERMARKING MENGGUNAKAN STANDAR H.751. Video Watermarking Analysis and Implementation Using H.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Membuat aplikasi sederhana menggunakan java NetBeans dan cara menginstal java NetBeans

Teknik Watermarking dalam Domain Wavelet untuk Proteksi Kepemilikan pada Data Citra Medis

BAB II TINJAUAN PUSTAKA. yang sebelumnya dengan penelitian sekarang. Cina dalam mengelola keuangan keluarga. Bagi keluarga Etnis Cina di Kya-

DIGITAL WATERMARKING PADA CITRA DIGITAL FOTOGRAFI METODE DISCRETE WAVELET TRANSFORM

Analisa Perbandingan Watermarking Image dengan menggunakan Metode Discrete Wavelet Transform TUGAS AKHIR

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

TUGAS SEKURITI KOMPUTER

BAB II TINJAUAN PUSTAKA

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209

PENYISIPAN WATERMARK MENGGUNAKAN METODE DISCRETE COSINE TRANSFORM PADA CITRA DIGITAL

BAB 3 ANALISIS DAN PERANCANGAN. Perancangan aplikasi yang dibuat dalam skripsi ini menggunakan aturan

OPTIMASI AUDIO WATERMARKING BERBASIS DISCRETE WAVELET TRANSFORM (DWT) DENGAN MENGGUNAKAN TEKNIK M-ARY MENGGUNAKAN ALGORTIMA GENETIKA

Diperkenalkan pertama oleh tim Sun System yang dipimpin Patrick Naughton dan James Gosling tahun 1991 dengan code

Pada akhir pembahasan, peserta diharapkan dapat :

OPTIMASI AUDIO WATERMARKING BERBASIS DISCRETE COSINE TRANSFORM DENGAN TEKNIK SINGULAR VALUE DECOMPOSITON MENGGUNAKAN ALGORITMA GENETIKA

ANALISIS DIGITAL AUDIO WATERMARKING BERBASIS LIFTING WAVELET TRANSFORM PADA DOMAIN FREKUENSI DENGAN METODE SPREAD SPECTRUM

ANALISA WATERMARKING MENGGUNAKAN TRASNFORMASI LAGUERRE

ijns.org Indonesian Journal on Networking and Security - Volume 5 No 3 Agustus 2016

BAB I PENDAHULUAN. menggunakan digital watermarking. Watermarking bekerja dengan menyisipkan

STUDI DAN IMPLEMENTASI WATERMARKING CITRA DIGITAL DENGAN MENGGUNAKAN FUNGSI HASH

BAB II. DASAR TEORI 2.1 CITRA DIGITAL

APLIKASI PENGAMANAN HAK CIPTA UNTUK GAMBAR DIGITAL DENGAN TEKNIK WATERMARKING MENGGUNAKAN METODE SVD (SINGULAR VALUE DECOMPOSITION)

BAB II DASAR TEORI II-1

BAB I. PENDAHULUAN 1.1 LATAR BELAKANG

PERANCANGAN AUDIO WATERMARKING BERBASIS DISCRETE WAVELETE TRANSFORM DAN MODIFIED DISCRETE COSINE TRANSFORM DENGAN OPTIMASI ALGORITMA GENETIKA

WATERMARKING PADA BEBERAPA KELUARGA WAVELET

BAB 3 ANALISIS DAN PERANCANGAN. perancangan dan pembuatan akan dibahas dalam bab 3 ini, sedangkan tahap

Studi dan Analisis Teknik-Teknik Steganografi Dalam Media Audio

Bab 2 LANDASAN TEORI

Kumpulan Artikel Mahasiswa Pendidikan Teknik Informatika (KARMAPATI) Volume 2, Nomor 1, Januari 2013

WATERMARKING PADA CITRA DIGITAL BERBASIS DISCRETE WAVELET TRANSFORM DAN SINGULAR VALUE DECOMPOSITION

PERBANDINGAN TEKNIK PENYEMBUNYIAN DATA DALAM DOMAIN SPASIAL DAN DOMAIN FREKUENSI PADA IMAGE WATERMARKING

BAB IV. ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

* Kriptografi, Week 13

BAB 2 TINJAUAN TEORETIS

LOGO PEMBERIAN TANDA AIR MENGGUNAKAN TEKNIK KUANTISASI RATA-RATA DENGAN DOMAIN TRANSFORMASI WAVELET DISKRIT. Tulus Sepdianto

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA

STMIK MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2011/2012

Digital Audio Watermarking dengan Fast Fourier Transform

PEMROGRAMAN BERORIENTASI OBJEK

BAB I PENDAHULUAN 1.1 Latar Belakang

Analisis dan Implementasi Watermark untuk Copyright Image Labelling

IMPLEMENTASI DISCRETE WAVELET TRANSFORM

BAB II. KAJIAN PUSTAKA

BAB I PENDAHULUAN. diakses dengan berbagai media seperti pada handphone, ipad, notebook, dan sebagainya

IMPLEMENTASI DIGITAL WATERMARKING PADA CITRA DIGITAL MENGGUNAKAN METODE DISCRETE HARTLEY TRANSFORM (DHT)

BAB I PENDAHULUAN. orang lain. Tuntutan keamanan menjadi semakin kompleks, apalagi bila data itu dikirimkan, dan

1. Pendahuluan. 1.1 Latar Belakang Masalah

BAB II LANDASAN TEORI

Pendahuluan. Media Penampung Data yang akan disembunyikan

BAB I PENDAHULUAN. di internet. Sisi negatifnya yaitu apabila pemilik tidak mempunyai hak cipta untuk

Pengantar: Prisoner s Problem

Digital Watermarking pada Gambar Digital dengan Metode Redundant Pattern Encoding

Studi Dan Implementasi Steganografi Pada Video Digital Di Mobile Phone Dengan DCT Modification

Cover Daftar isi Latar belakang Rumusan masalah Batasan masalah Tujuan Uml (Unified modelling language) Use case diagram Class diagram Activity

Watermarking Video Menggunakan Transformasi Wavelet Diskrit

BAB 2 LANDASAN TEORI. mencakup teori speaker recognition dan program Matlab. dari masalah pattern recognition, yang pada umumnya berguna untuk

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Adaptif Audio Watermarking Berdasarkan Nilai Snr Pada File Audio Dengan Informasi Sisipan Teks


BAB III METODOLOGI PENELITIAN. Alat yang digunakan dalam penelitian ini adalah: b. Memori : 8192 MB. c. Sistem Model : Lenovo G40-45

29 Februari Introduction Of Java

DAFTAR ISI. DAFTAR ISI... vii. DAFTAR GAMBAR... x. DAFTAR TABEL... xii I. PENDAHULUAN Latar Belakang Rumusan Masalah...

1.1 Latar Belakang Sejak zaman dahulu, pentingnya kerahasiaan suatu informasi telah menjadi suatu perhatian tersendiri. Manusia berusaha mencari cara

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. penelitian laboratorium. Studi kepustakaan dilakukan untuk mencari teori atau

Watermarking dengan Metode Dekomposisi Nilai Singular pada Citra Digital

Pengenalan J2ME (Java 2 Platform Micro Edition)

Perlindungan Hak Cipta Gambar dengan Watermarking berbasis MVQ

BAB V. IMPLEMENTASI DAN PENGUJIAN

Kombinasi Teknik Steganografi dan Kriptografi dengan Discrete Cosine Transform (DCT), One Time Pad (OTP) dan PN-Sequence pada Citra Digital

Kata kunci: Fourier, Wavelet, Citra

ADAPTIVE WATERMARKING CITRA DIGITAL DENGAN TEKNIK DISCRETE WAVELET TRANSFORM-DISCRETE COSINE TRANSFORM DAN NOISE VISIBILITY FUNCTION

BAB 2 LANDASAN TEORI

ALGORITMA DETEKSI ADAPTIF BLIND WATERMARKING PADA CITRA DIGITAL DALAM DOMAIN TRANSFORMASI

WATERMARKING CITRA DIGITAL MENGGUNAKAN TRANSFORMASI HYBRID DWT DAN DCT SKRIPSI. Oleh : Ali Ischam J2A

BAB I PENDAHULUAN Latar Belakang Masalah

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

KOMBINASI KRIPTOGRAFI DENGAN HILLCIPHER DAN STEGANOGRAFI DENGAN LSB UNTUK KEAMANAN DATA TEKS

Pengenalan JAVA. Farhat, ST., MMSI., MSc

Transkripsi:

BAB 2 LANDASAN TEORI 2.1 Image Digital Pengertian Image Digital Image digital sebenarnya bukanlah sebuah data digital yang normal, melainkan sebuah representasi dari image asal yang bersifat analog. Mengacu pada pendapat Ira Herawati (2010) pengertian citra dapat dikemukakan sebagai gambar pada bidang dua dimensi. Image digital ditampilkan pada layar komputer dengan berbagai macam susunan warna dan tingkat kecerahan. Susunan warna inilah yang menyebabkan sebuah image bersifat analog. Hal ini disebabkan karena susunan warna yang dimiliki dalam sebuah image mengandung jumlah warna dan tingkat kecerahan yang tidak terbatas. Image yang ditampilkan pada layar komputer ini, yang sebenarnya merupakan sebuah representasi analog, juga tersusun dari sebuah rentang tak terbatas dari nilai cahaya yang dipantulkan atau cahaya yang ditransmisikan. Jadi secara umum image memiliki sifat kontinu dalam tampilan warna dan tingkat kecerahannya. 2.2 Digital Watermarking `2.2.1 Latar Belakang Digital Watermarking Sebenarnya, konsep atau ide awal dari watermarking telah ada sejak tahun 1990- an, namun istilah watermark baru digunakan pada tahun 1993, diperkenalkan oleh A.Z.Tirkel dan teman-temannya. Digital watermarking didasarkan pada ilmu stenografi, yaitu ilmu yang mengkaji tentang penyembunyian data. Mengacu pada pendapat Skol(2001) istilah stenografi berasal dari Bahasa Yunani, yang berarti covered-

writing, atau tulisan tersembunyi. Teknik ini mengambil keuntungan dari keterbatasan indera manusia, khususnya penglihatan dan pendengaran, sehingga watermark yang dibubuhkan pada dokumen tidak akan disadari kehadirannya oleh manusia. 2.2.2 Jenis-jenis watermarking Secara garis besar, ada dua jenis watermarking : a. Robust watermarking Jenis watermark ini tahan terhadap serangan (attack), namun biasanya watermark yang dibubuhi ke dokumen masih dapat ditangkap oleh indera penglihatan atau pendengaran manusia. b. Fragile watermarking Jenis watermark ini akan mudah rusak jika terjadi serangan, namun kehadirannya tidak terdeteksi oleh indera manusia. Jika diinginkan untuk membuat suatu algoritma yang dapat mengimplementasikan watermarking yang memiliki fidelity yang tinggi (adanya watermark tidak disadari oleh pengamatan manusia) maka hasilnya akan semakin rentan terhadap serangan. Ada tiga tahap utama dalam proses watermarking : a. Mengintegrasikan watermark pada image (embedding) b. Serangan terhadap image yang telah dibubuhi watermark, baik yang disengaja (misalnya dikompresi, dipotong sebagian, di-filter, dan sebagainya) ataupun yang tidak disengaja (misalnya disebabkan oleh noise atau gangguan dalam saluran transmisi data).

c. Proses ekstraksi watermark dari dokumen yang akan diuji. 2.2.3 Syarat-syarat Digital Watermarking yang ideal Untuk mendapatkan suatu teknik digital watermarking yang baik, maka teknik tersebut harus dapat memenuhi kondisi di bawah ini: a. Elemen dari suatu data digital dapat secara langsung dimanipulasi dan informasi dapat ditumpangkan ke dalam data digital tersebut b. Penurunan kualitas dari data digital setelah dibubuhkan watermark, dapat seminimal mungkin. c. Watermark dapat dideteksi dan diperoleh kembali meskipun setelah data digital diubah sebagian, dikompresi, ataupun di-filter. d. Struktur dari watermark membuat penyerang sulit untuk mengubah informasi yang terkandung di dalamnya. e. Proses untuk membubuhkan watermark dan mendeteksinya cukup sederhana f. Jika watermark dihapus, maka kualitas dari data digital yang ditumpanginya akan berkurang jauh atau bahkan rusak sama sekali. g. Informasi watermark yang diselipkan dalam isi data digital dapat dideteksi ketika dibutuhkan. h. Label hak cipta yang unik mengandung informasi pembuatan, seperti nama, tanggal, dan sebagainya, atau sebuah kode hak cipta seperti halnya ISBN (International Standard for Book Notation) pada buku-buku.

i. Watermark tidak dapat diubah atau dihapus (robustness) secara langsung oleh orang lain atau dengan menggunakan software pengolahan sinyal sampai tingkatan tertentu. Watermarking yang diberikan lebih dari satu kali dapat merusak data digital aslinya. Cara ini dilakukan supaya orang lain tidak dapat melakukan pelabelan berulang terhadap data yang telah dilabel. Sampai saat ini, belum ada teknik watermarking yang dapat memenuhi seluruh kriteria di atas. 2.2.4 Metode Watermarking Domain dalam teknik Digital Image Watermarking yaitu domain spasial dan domain transform. Penyisipan watermark dalam domain spasial dilakukan secara langsung pada pixel-pixel penyusun sebuah image digital. Contoh metode yang termasuk dalam teknik dengan domain spasial adalah LSB (Least Significant Bit) yang mewatermark sebuah image digital dengan mengganti bit LSB-nya dengan bit data, metode lain dalam domain spasial yaitu metode patchwork yang menanamkan watermark sebesar 1 bit pada image digital dengan menggunakan pendekatan statistik. Untuk metode yang digunakan pada teknik dalam domain transform, biasanya berhubungan dengan transformasi sinyal yang digunakan dalam bidang matematika. Watermark disisipkan ke dalam koefisien transformasi tergantung dari jenis transformasi yang digunakan. Beberapa jenis transformasi yang sering digunakan yaitu Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT), Discrete Wavelet Transform (DWT), dan Discrete Laguerre

Transform (DLT). Inti watermarking dalam domain transform adalah sebuah transformasi balikan (inverse transform) harus dijalankan untuk mendapatkan image berwatermark. Spread spectrum merupakan salah satu contoh metode dalam domain transform. Metode ini memanfaatkan transformasi sinyal dengan cara mentransformasikan image digital ke dalam domain frekuensi, kemudian bit watermark disisipkan pada koefisien transformasi. Penyisipan watermark ini dilakukan dengan cara menyebarkan watermark diantara banyak komponen frekuensi. 2.3 Discrete Wavelet Transform Dasar dari DWT dimulai pada tahun 1976 dimana teknik untuk mendekomposisi sinyal waktu diskrit ditemukan. Di dalam CWT, sinyal dianalisis menggunakan seperangkat fungsi dasar yang saling berhubungan dengan penskalaan dan transisi sederhana. Sedangkan di dalam DWT, penggambaran sebuah skala waktu sinyal digital didapatkan dengan menggunakan teknik filterisasi digital. Secara garis besar proses dalam teknik ini adalah dengan melewatkan sinyal yang akan dianalisis pada filter dengan frekuensi dan skala yang berbeda. Filterisasi sendiri merupakan sebuah fungsi yang digunakan dalam pemrosesan sinyal. Wavelet dapat direalisasikan menggunakan iterasi filter dengan penskalaan. Resolusi dari sinyal, yang merupakan rata-rata dari jumlah detail informasi dalam sinyal, ditentukan melalui filterisasi ini dan skalanya didapatkan dengan upsampling dan downsampling (subsampling). Sebuah sinyal harus dilewatkan dalam dua filterisasi DWT yaitu highpass filter dan lowpass filter agar frekuensi dari sinyal tersebut dapat dianalisis. Analisis sinyal dilakukan

terhadap hasil filterisasi highpass filter dan lowpass filter di mana highpass filter digunakan untuk menganalisis frekuensi tinggi dan lowpass filter digunakan untuk menganalisis frekuensi rendah. Analisis terhadap frekuensi dilakukan dengan cara menggunakan resolusi yang dihasilkan setelah sinyal melewati filterisasi. Analisis frekuensi yang berbeda dengan menggunakan resolusi yang berbeda inilah yang disebut dengan multi-resolution analysis, seperti yang telah disinggung pada bagian Transformasi Wavelet. Pembagian sinyal menjadi frekuensi tinggi dan frekuensi rendah dalam proses filterisasi highpass filter dan lowpass filter disebut sebagai dekomposisi. Proses dekomposisi dimulai dengan melewatkan sinyal asal melewati highpass filter dan lowpass filter. Misalkan sinyal asal ini memiliki rentang frekuensi dari 0 sampai dengan π rad/s. Dalam melewati highpass filter dan lowpass filter ini, rentang frekuensi di-subsample menjadi dua, sehingga rentang frekuensi tertinggi pada masing-masing subsample menjadi /2 rad/s. Setelah filterisasi, setengah dari sampel atau salah satu subsample dapat dieliminasi berdasarkan aturan Nyquist. Sehingga sinyal dapat selalu di-subsample oleh 2 ( 2) dengan cara mengabaikan setiap sampel yang kedua. Proses dekomposisi ini dapat melalui satu atau lebih tingkatan. Dekomposisi satu tingkat ditulis dengan ekspresi matematika pada persamaan 2 dan 3 y tinggi [k] = x[n] h [2k - n] (2) y rendah [k] = x[n] g [2k - n] (3) y [k] tinggi dan y [k]rendah adalah hasil dari highpass filter dan lowpass filter, x[n] merupakan sinyal asal, h[n] adalah highpass filter, dan g[n] adalah lowpass filter. Untuk dekomposisi lebih dari satu tingkat, prosedur pada rumus 2 dan 3 dapat digunakan pada masing-masing tingkatan.

Contoh penggambaran dekomposisi dipaparkan pada Gambar 2.1 dengan menggunakan dekomposisi tiga tingkat. Gambar 2.1 Dekomposisi Wavelet 3 Tingkat DWT menganalisis sinyal pada frekuensi berbeda dengan resolusi yang berbeda melalui dekomposisi sinyal sehingga menjadi detail informasi dan taksiran kasar. DWT bekerja pada dua kumpulan fungsi yang disebut fungsi penskalaan dan fungsi wavelet yang masing-masing berhubungan dengan lowpass filter dan highpass filter. Seperti yang telah dijelaskan sebelumnya dekomposisi ini didasarkan pada aturan Nyquist yang salah satunya mengatakan bahwa frekuensi komponen sample harus kurang atau sama dengan setengah dari frekuensi sampling. Jadi diambil frekuensi sampel π /2 dari frekuensi sampling π dalam subsample oleh 2 pada dekomposisi wavelet. Sebagai penggambaran dekomposisi wavelet dengan sinyal asal x[n] yang memiliki frekuensi maksimum f = π dipaparkan pada Gambar 2.2.

Gambar 2.2 Dekomposisi Wavelet dengan frekuensi sinyal asal f=0 Proses rekonstruksi diawali dengan menggabungkan koefisien DWT dari yang berada pada akhir dekomposisi dengan sebelumnya meng-upsample oleh 2 ( 2) melalui highpass filter dan lowpass filter. Proses rekonstruksi ini sepenuhnya merupakan kebalikan dari proses dekomposisi sesuai dengan tingkatan pada proses dekomposisi. Sehingga persamaan rekonstruksi pada masing - masing tingkatan dapat ditulis sebagai berikut: X[n] = ( y tinggi [k] h [-n+2k] + y rendah [k] g [-n+2k]) Proses rekonstruksi wavelet untuk mendapatkan sinyal asal dengan tiga tingkatan digambarkan pada Gambar 2.3.

Gambar 2.3 Rekonstruksi Wavelet 3 Tingkat 2.4 Koefisien Korelasi Pearson product-moment correlation coefficient (dinotasikan dengan r) adalah ukuran korelasi (ketergantungan linear) antara 2 variabel x dan y, dengan memberikan nilai +1 dan -1 secara inklusif. Biasa dipakai dalam science untuk menentukan ukuran ketergantungan linear antara 2 variabel. Dikembangkan oleh Karl Pearson. Koefisien korelasi disebut juga Pearson r. Koefisien korelasi bernilai antara -1 dan 1. Nilai 1 berarti sebuah persamaan garis mendeskripsikan hubungan x dan y secara sempurna, di mana semua data terdapat pada garis yang mana y meningkat ketika x meningkat. Nilai -1 berarti semua data berada pada garis yang mana nilai y menurun ketika nilai x meningkat. Nilai 0 berarti tidak ada korelasi linear antara 2 varibel. Secara umum persamaan (X i X)(Y i Y) jika dan hanya jika x j dan y j berada pada sisi yang sama dari mean masing-masing. Koefisien korelasi positif jika x j dan y j cendderung berada pada sisi yang sama dari mean mereka. Koefisien korelasi negative jika x j dan y j cenderung berada pada sisi yang berlawanan dari mean mereka. 2.4 Java Programming Java adalah bahasa programmeran yang sudah umum penggunaannya dan dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystemssaat ini merupakan bagian dari Oracle dan dirilis tahun1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat

pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code(bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa programmeran yang bersifat umum/non-spesifik (general purpose), dan secara khusus didesain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa programmeran yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web. 2.4.1 Java system Platform Java terdiri dari kumpulan library, JVM, kelas- kelas loader yang dipaket dalam sebuah lingkungan rutin Java, dan sebuah compiler, debuger, dan perangkat lain yang dipaket dalam Java Development Kit (JDK). Java2 adalah generasi yang sekarang sedang berkembang dari platform Java. Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi ''.java'' harus dikompilasi menjadi file bytecode. Untuk menjalankan bytecode tersebut dibutuhkan JRE ( Java Runtime Environment) yang memungkinkan pemakai untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM dan library Java yang digunakan. Platform Java memiliki tiga buah edisi yang berbeda, yaitu J2EE ( Java2 Enterprose Edition), J2ME ( Java2 Micro Edition) dan J2SE ( Java2 Second Edition).

2.4.2 Kelebihan Bahasa Java a. Multiplatform. Kelebihan utama dari Java adalah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini programmer cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk menginterpretasikan bytecode tersebut. b. OOP (Object Oriented Programming - Programmer Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemprograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan programmer untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemprograman termudah, bahkan untuk fungsi-fungsi yang advance seperti komunikasi antara komputer sekalipun. c. Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan(kumpulan program-program yang disertakan

dalam programmeran java) yang sangat memudahkan dalam penggunaan oleh para programmer untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. d. Bergaya C++, memiliki sintaks seperti bahasa programmeran C++ sehingga menarik banyak programmer C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah programmer C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. e. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para programmer tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). Alasan memakai Java untuk design dan pengembangan projek adalah karena Java adalah bahasa programmeran populer yang dapat dijalankan di banyak platform dan juga merupakan bahasa programmeran OOP yang mempunyai ribuan kelas dengan fungsinya masing-masing. Java juga merupakan bahasa programmeran yang compatible dengan berbagai macam sistem operasi, sehingga user dengan sistem operasi apapun dapat menggunakan program aplikasi ini