A. Pengertian
Hue adalah komponen yang menentukan warna apa yang digunakan. Dalam gradien, bila digunakan model warna yang menggunakan hue sebagai salah satu komponen, maka akan dapat dibuat efek pelangi.
Hue/Saturation adalah salah satu dari fasilitas yang ada pada Adobe
Photoshop, yang digunakan untuk melakukan penyesuaian warna. Dari sekian banyaknya
fasilitas yang ada pada menu Image > Adjustment, aku kategorikan sendiri menjadi dua
kategori, yaitu: pengaturan gelap/terang, dan pengaturan warna. Hue/Saturation
kumasukkan dalam kategori kedua, yaitu pengaturan warna.
Pada kotak dialog Hue/Saturation terdapat tiga pilihan pengaturan warna, yaitu:
1. Hue
Digunakan untuk melakukan pengaturan inti warna. Inti warna disini yang
kumaksud adalah sesuatu yang membuat sebuah obyek nampak berwarna.
Dengan menggeser posisi slider atau mengubah nilainya, maka akan mengubah
keseluruhan inti warna dari gambar
2.saturation
Saturation ini adalah sebuah nilai intensitas warna, dimana nilai Saturation
minimal berarti gambar nampak hitam-putih, sedangkan Saturation dalam nilai
maksimal membuat gambar nampak sangat berwarna-warni.
3.Lightness
Lightness digunakan untuk mengatur intensitas gelap-terang warna pada gambar.
Nilai minimal akan membuat gambar nampak gelap, demikian juga sebaliknya.
Pada tutorial Photoshop kali ini, akan kucoba untuk membahas tentang
Hue/Saturation. Hue/Saturation adalah salah satu dari fasilitas yang ada pada Adobe
Photoshop, yang digunakan untuk melakukan penyesuaian warna. Dari sekian banyaknya
fasilitas yang ada pada menu Image > Adjustment, aku kategorikan sendiri menjadi dua
kategori, yaitu: pengaturan gelap/terang, dan pengaturan warna. Hue/Saturation
kumasukkan dalam kategori kedua, yaitu pengaturan warna.
Pada kotak dialog Hue/Saturation terdapat tiga pilihan pengaturan warna, yaitu:
1.Hue
Digunakan untuk melakukan pengaturan inti warna. Inti warna disini yang
kumaksud adalah sesuatu yang membuat sebuah obyek nampak berwarna.
Dengan menggeser posisi slider atau mengubah nilainya, maka akan mengubah
keseluruhan inti warna dari gambar
2.saturation
Saturation ini adalah sebuah nilai intensitas warna, dimana nilai Saturation
minimal berarti gambar nampak hitam-putih, sedangkan Saturation dalam nilai
maksimal membuat gambar nampak sangat berwarna-warni.
3.Lightness
Lightness digunakan untuk mengatur intensitas gelap-terang warna pada gambar.
Nilai minimal akan membuat gambar nampak gelap, demikian juga sebaliknya.
Di sudut kanan bawah kotak dialog Hue/Saturation terdapat opsi atau pilihanC olorize.
Pilihan Colorize akan membuat proses pengubahan warna yang kita lakukan berpengaruh
pada keseluruhan gambar dengan menganggap bahwa warna asli gambar adalah setara.
Pilihan Colorize ini sering kugunakan, terutama untuk mengubah pewarnaan secara total
Ahmad Khoirul
Senin, 07 Juni 2010
Rabu, 07 April 2010
BINERISASI DENGAN METODE OTSU
1. PENDAHULUAN.
Geometri tangan merupakan salah satu jenis karakteristik biometrik yang banyak digunakan untuk sistem autentikasi baik untuk sistem verifikasi maupun sistem identifikasi. Yang termasuk ciri-ciri
geometri tangan antara lain: panjang dan lebar jarijari tangan, panjang dan lebar telapak tangan, luas telapak tangan, dan lain sebagainya.
Beberapa proses awal yang dapat dilakukan untuk mempermudah mendapatkan ciri-ciri geometri
tangan adalah binerisasi dan deteksi tepi citra tangan.
Proses binerisasi menghasilkan citra biner dengan memiliki dua nilai tingkat keabuan yaitu
hitam dan putih. Permasalahan utama dalam proses binerisasi adalah menentukan nilai ambang
(Threshold). Nilai ini digunakan untuk mempartisi citra gray scale kedalam dua nilai yaitu hitam dan putih.
Penentuan nilai ambang yang ditetapkan pada suatu nilai tertentu (fixed threshold) sangat berisiko
untuk diterapkan pada citra tangan karena dapat menghasilkan citra tangan biner yang kurang
sempurna sehingga mempersulit proses penentuan ciri-ciri geometri citra tangan.
2. DASAR TEORI
2.1 Citra Biner
Citra biner adalah citra yang memiliki dua nilai tingkat keabuan yaitu hitam dan putih. Secara umum proses binersisasi citra gray scale untuk menghasilkan citra biner adalah sebagai berikut.

dengan g(x,y) adalah citra biner dari citra gray scale f(x,y) dan T menyatakan nilai ambang.
Nilai T dapat ditentukan dengan salah satu dari 3 cara
berikut.
1. Nilai Ambang Global (Global Threshold)
T = T{f(x,y)}
dengan T tergantung pada nilai gray level dari pixel pada posisi x,y.
2. Nilai Ambang Lokal (Local Threshold)
T = T{A(x,y), f(x,y)}
dengan T tergantung pada properti pixel tetangga. A(x,y) menyatakan nilai pixel tetangga.
3. Nilai Ambang dinamis (Dynamic Threshold)
T = T{x,y, A(x,y), f(x,y)}
dengan T tergantung pada koordinat-koordinat pixel.
2.2 Metode Otsu
Tujuan dari metode otsu adalah membagi histogram citra gray level kedalam dua daerah yang berbeda secara otomatis tanpa membutuhkan bantuan user untuk memasukkan nilai ambang
Pendekatan yang dilakukan oleh metode otsu adalah dengan melakukan analisis diskriminan yaitu menentukan suatu variabel yang dapat membedakan antara dua atau lebih kelompok yang muncul secara
alami. Analisis Diskriminan akan memaksimumkan variable tersebut agar dapat membagi objek latardepan (foreground) dan latarbelakang (background).
Formulasi dari metode otsu adalah sebagai berikut. Nilai Ambang yang akan dicari dari suatu citra gray level dinyatakan dengan k. Nilai k berkisar antara 1 sampai dengan L, dengan nilai L = 255.
Probabilitas setiap pixel pada level ke i dapat dinyatakan:
Pi = n/N
dengan :
ni menyatakan jumlah pixel pada level ke i
N menyatakan total jumlah pixel pada citra.
Nilai Zeroth cumulative moment, First cumulative moment, dan total nilai mean
3. AKUISISI DATA CITRA TANGAN
Citra-citra Tangan diambil dengan menggunakan kamera digital sony tipe DSC-P72 dengan resolusi 640 x 480 pixel. Tangan diletakan di atas suatu alas berwarna hitam yang terdiri dari pegs dengan posisi tertentu, seperti yang ditunjukkan gambar 1. Tujuan dari pegs adalah untuk membatasi gerakan tangan sehingga akan diperoleh citra tangan dengan posisi yang hampir tidak mengalami perubahan. Kemudian citra-citra tangan dijadikan citra gray level 256 warna dengan aplikasi ACD FotoCanvas Lite 2.0. Aplikasi ini bagian dari aplikasi ACD See versi 5.0, yaitu suatu aplikasi pengolah gambar.

Gambar 1. Akuisisi Data Citra Tangan
4. ALGORITMA OTSU
Berikut ini disajikan algoritma otsu dengan
menggunakan kode C++.
tMean = 0;
variance = maxVariance = 0;
firstCM = zerothCM = 0;
for (i = 0; i < h; i++)
for (j = 0; j < w; j++) {
n = Image[j][i] ;
histogram[n]++;
}
for (k = 0; k < level; k++)
tMean += k * histogram[k] / (w * h);
for (k = 0; k < level; k++) {
zerothCM += histogram[k] / (w * h);
firstCM += k * histogram[k] / (w * h);
variance = (tMean * zerothCM - firstCM);
variance *= variance;
variance /= zerothCM * (1 - zerothCM);
if (maxVariance < variance){
maxVariance = variance;
T = k;
}
}
5. HASIL DAN ANALISIS
Gambar 2 menunjukkan citra gray level dan citrabiner hasil proses binerisasi.

metode Otsu mampu memberikan hasil yang sangat memuaskan. Metode ini berhasil menghasilkan citra tangan biner dengan area didalam citra tangan selalu dinyatakan dengan warna putih dan diluarnya berwarna hitam, sehingga bentuk geometri tangan dalam citra biner menjadi sangat jelas. Proses binersisasi citra tangan dengan
menetapkan nilai ambang T pada suatu nilai tertentu, sangat beresiko seperti yang ditunjukkan pada gambar 2c, dengan T ditetapkan 80.
Warna putih muncul diluar area tangan dan kondisi ini dapat menyulitkan dalam penentuan ciri-ciri geometri tangan. Citra biner yang ditunjukkan gambar 2d adalah hasil dari aplikasi ACD Fotocanvas lite 2.0. Sebenarnya hasil citra biner dari aplikasi ini sangat memuaskan. Aplikasi ini mampu menangkap beberapa garis-garis pada telapak tangan dan jari-jari tangan. Akan tetapi bila ditinjau dari segi penentuan ciri-ciri geometri tangan, munculnya warna abu-abu pada didalam area tangan dapat menyulitkan proses penentuan ciri-ciri geometri tangan.
Geometri tangan merupakan salah satu jenis karakteristik biometrik yang banyak digunakan untuk sistem autentikasi baik untuk sistem verifikasi maupun sistem identifikasi. Yang termasuk ciri-ciri
geometri tangan antara lain: panjang dan lebar jarijari tangan, panjang dan lebar telapak tangan, luas telapak tangan, dan lain sebagainya.
Beberapa proses awal yang dapat dilakukan untuk mempermudah mendapatkan ciri-ciri geometri
tangan adalah binerisasi dan deteksi tepi citra tangan.
Proses binerisasi menghasilkan citra biner dengan memiliki dua nilai tingkat keabuan yaitu
hitam dan putih. Permasalahan utama dalam proses binerisasi adalah menentukan nilai ambang
(Threshold). Nilai ini digunakan untuk mempartisi citra gray scale kedalam dua nilai yaitu hitam dan putih.
Penentuan nilai ambang yang ditetapkan pada suatu nilai tertentu (fixed threshold) sangat berisiko
untuk diterapkan pada citra tangan karena dapat menghasilkan citra tangan biner yang kurang
sempurna sehingga mempersulit proses penentuan ciri-ciri geometri citra tangan.
2. DASAR TEORI
2.1 Citra Biner
Citra biner adalah citra yang memiliki dua nilai tingkat keabuan yaitu hitam dan putih. Secara umum proses binersisasi citra gray scale untuk menghasilkan citra biner adalah sebagai berikut.

dengan g(x,y) adalah citra biner dari citra gray scale f(x,y) dan T menyatakan nilai ambang.
Nilai T dapat ditentukan dengan salah satu dari 3 cara
berikut.
1. Nilai Ambang Global (Global Threshold)
T = T{f(x,y)}
dengan T tergantung pada nilai gray level dari pixel pada posisi x,y.
2. Nilai Ambang Lokal (Local Threshold)
T = T{A(x,y), f(x,y)}
dengan T tergantung pada properti pixel tetangga. A(x,y) menyatakan nilai pixel tetangga.
3. Nilai Ambang dinamis (Dynamic Threshold)
T = T{x,y, A(x,y), f(x,y)}
dengan T tergantung pada koordinat-koordinat pixel.
2.2 Metode Otsu
Tujuan dari metode otsu adalah membagi histogram citra gray level kedalam dua daerah yang berbeda secara otomatis tanpa membutuhkan bantuan user untuk memasukkan nilai ambang
Pendekatan yang dilakukan oleh metode otsu adalah dengan melakukan analisis diskriminan yaitu menentukan suatu variabel yang dapat membedakan antara dua atau lebih kelompok yang muncul secara
alami. Analisis Diskriminan akan memaksimumkan variable tersebut agar dapat membagi objek latardepan (foreground) dan latarbelakang (background).
Formulasi dari metode otsu adalah sebagai berikut. Nilai Ambang yang akan dicari dari suatu citra gray level dinyatakan dengan k. Nilai k berkisar antara 1 sampai dengan L, dengan nilai L = 255.
Probabilitas setiap pixel pada level ke i dapat dinyatakan:
Pi = n/N
dengan :
ni menyatakan jumlah pixel pada level ke i
N menyatakan total jumlah pixel pada citra.
Nilai Zeroth cumulative moment, First cumulative moment, dan total nilai mean
3. AKUISISI DATA CITRA TANGAN
Citra-citra Tangan diambil dengan menggunakan kamera digital sony tipe DSC-P72 dengan resolusi 640 x 480 pixel. Tangan diletakan di atas suatu alas berwarna hitam yang terdiri dari pegs dengan posisi tertentu, seperti yang ditunjukkan gambar 1. Tujuan dari pegs adalah untuk membatasi gerakan tangan sehingga akan diperoleh citra tangan dengan posisi yang hampir tidak mengalami perubahan. Kemudian citra-citra tangan dijadikan citra gray level 256 warna dengan aplikasi ACD FotoCanvas Lite 2.0. Aplikasi ini bagian dari aplikasi ACD See versi 5.0, yaitu suatu aplikasi pengolah gambar.

Gambar 1. Akuisisi Data Citra Tangan
4. ALGORITMA OTSU
Berikut ini disajikan algoritma otsu dengan
menggunakan kode C++.
tMean = 0;
variance = maxVariance = 0;
firstCM = zerothCM = 0;
for (i = 0; i < h; i++)
for (j = 0; j < w; j++) {
n = Image[j][i] ;
histogram[n]++;
}
for (k = 0; k < level; k++)
tMean += k * histogram[k] / (w * h);
for (k = 0; k < level; k++) {
zerothCM += histogram[k] / (w * h);
firstCM += k * histogram[k] / (w * h);
variance = (tMean * zerothCM - firstCM);
variance *= variance;
variance /= zerothCM * (1 - zerothCM);
if (maxVariance < variance){
maxVariance = variance;
T = k;
}
}
5. HASIL DAN ANALISIS
Gambar 2 menunjukkan citra gray level dan citrabiner hasil proses binerisasi.

metode Otsu mampu memberikan hasil yang sangat memuaskan. Metode ini berhasil menghasilkan citra tangan biner dengan area didalam citra tangan selalu dinyatakan dengan warna putih dan diluarnya berwarna hitam, sehingga bentuk geometri tangan dalam citra biner menjadi sangat jelas. Proses binersisasi citra tangan dengan
menetapkan nilai ambang T pada suatu nilai tertentu, sangat beresiko seperti yang ditunjukkan pada gambar 2c, dengan T ditetapkan 80.
Warna putih muncul diluar area tangan dan kondisi ini dapat menyulitkan dalam penentuan ciri-ciri geometri tangan. Citra biner yang ditunjukkan gambar 2d adalah hasil dari aplikasi ACD Fotocanvas lite 2.0. Sebenarnya hasil citra biner dari aplikasi ini sangat memuaskan. Aplikasi ini mampu menangkap beberapa garis-garis pada telapak tangan dan jari-jari tangan. Akan tetapi bila ditinjau dari segi penentuan ciri-ciri geometri tangan, munculnya warna abu-abu pada didalam area tangan dapat menyulitkan proses penentuan ciri-ciri geometri tangan.
Kamis, 05 November 2009
Rekayasa Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Kegiatan Proses Perangkat Lunak
1. Model air terjun (waterfall) Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
2. Pengembangan evolusioner Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan.
3. Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program.
4. Pengembangan berdasarkan pemakaian ulang (Reusable) Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
Model Pengembangan Perangkat Lunak
Model pengembangan perangkat lunak digunakan untuk menyelesaikan masalah aktual di dalam sebuah industri dimana pengembang perangkat lunak harus menggabungkan strategi pengembangan yang meliputi : lapisan proses, metode serta alat bantu yang digambarkan dalam setiap fasenya. Model proses untuk rekayasa perangkat lunak, dipilih berdasarkan sifat aplikasi, proyek perangkat lunak, metode, alat bantu yang akan dipakai, kontrol serta penyampaian yang dibutuhkan.
Macam model pengembangan perangkat lunak, yaitu :
1. Model Sekuensial Linier
Model sekuensial linier, sering kali “Classic Life Cycle” atau “Waterfall model”. Pendekatan pengembangan perangkat lunak dimulai pada level sistem dan prosesnya melalui: Analysis, Design, Coding, Testing
2. Model prototyping
Model protyping dikembangkan karena sering terjadi customer menjabarkan objektif umum mengenai perangkat lunak yang diminta, tetapi tidak dapat mendefinisikan input, proses, output yang diminta secara detail. Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem operasi, atau bentuk interaksi mesin dengan orang. Untuk mengatasi situasi tersebut, bisa digunakan pendekatan dalam prototyping paradigma
3. Model RAD
Rapid Application Development (RAD) merupakan model proses pengembangan perangkat lunak yang linier sequencial dengan menggunakan siklus pengembangan yang singkat. Model RAD merupakan adaptasi “High-speed” dari model linier sequencial yang pengembangannya dilakukan dengan menggunakan pendekatan komponen-based. Proses RAD memungkinkan untuk membuat “fully functional System” dalam waktu yang sangat singkat (60 – 90 hari).
Kegiatan Proses Perangkat Lunak
1. Model air terjun (waterfall) Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
2. Pengembangan evolusioner Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan.
3. Pengembangan Sistem Formal Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program.
4. Pengembangan berdasarkan pemakaian ulang (Reusable) Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
Model Pengembangan Perangkat Lunak
Model pengembangan perangkat lunak digunakan untuk menyelesaikan masalah aktual di dalam sebuah industri dimana pengembang perangkat lunak harus menggabungkan strategi pengembangan yang meliputi : lapisan proses, metode serta alat bantu yang digambarkan dalam setiap fasenya. Model proses untuk rekayasa perangkat lunak, dipilih berdasarkan sifat aplikasi, proyek perangkat lunak, metode, alat bantu yang akan dipakai, kontrol serta penyampaian yang dibutuhkan.
Macam model pengembangan perangkat lunak, yaitu :
1. Model Sekuensial Linier
Model sekuensial linier, sering kali “Classic Life Cycle” atau “Waterfall model”. Pendekatan pengembangan perangkat lunak dimulai pada level sistem dan prosesnya melalui: Analysis, Design, Coding, Testing
2. Model prototyping
Model protyping dikembangkan karena sering terjadi customer menjabarkan objektif umum mengenai perangkat lunak yang diminta, tetapi tidak dapat mendefinisikan input, proses, output yang diminta secara detail. Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem operasi, atau bentuk interaksi mesin dengan orang. Untuk mengatasi situasi tersebut, bisa digunakan pendekatan dalam prototyping paradigma
3. Model RAD
Rapid Application Development (RAD) merupakan model proses pengembangan perangkat lunak yang linier sequencial dengan menggunakan siklus pengembangan yang singkat. Model RAD merupakan adaptasi “High-speed” dari model linier sequencial yang pengembangannya dilakukan dengan menggunakan pendekatan komponen-based. Proses RAD memungkinkan untuk membuat “fully functional System” dalam waktu yang sangat singkat (60 – 90 hari).
Variabel dan Tipe Data Java
VARIABEL JAVA
Variabel adalah item yang digunakan data untuk menyimpan pernyataan object.
variabel memiliki tipe data dan nama. tipe data mengindikasikan tipe dari nilai yang dapat dibentuk oleh variabel itu sendiri. nama variabel harus mengikuti aturan untuk pengidentifikasian.
Untuk deklarasi variabel adalah sebagai berikut,,
[=initial value];
Catatan: Nilainya berada diantara <> adalah nilai yang disyaratkan, sementara nilai dalam tanda [] bersifat optional.
Berikut ini adalah contoh program yang mendeklarasikan dan menginisialisasi beberapa variabel,
public class VariableSamples
{
public static void main( String[] args ){
//deklarasi a tipe data dengan nama variable
// result dan tipe data boolean
boolean result;
//deklarasi tipe data dengan nama variabel
// option dan tipe data char
char option;
option = 'C'; //menandai 'C' sebagai option
//deklarasi tipe data dengan nama variabel
//grade, double tipe data dan telah di inisialisasi
//to 0.0
double grade = 0.0;
}
}
Operators
Dalam Java, ada beberapa tipe operator. Ada operator arithmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti macam-macam prioritas yang pasti jadi compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
Operator Aritmatika
Berikut ini adalah dasar operator arithmatika yang dapat digunakan untuk membuat suatu program java,
Berikut ini adalah contoh program dalam penggunaan operator-operator ini :
public class aritmatikaDemo
{
public static void main(String[] args)
{
//sedikit angka
int i = 37;
int j = 42;
double x = 27.475;
double y = 7.22;
System.out.println("Variable values...");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" x = " + x);
System.out.println(" y = " + y); //penjumlahan angka
System.out.println("Adding...");
System.out.println(" i + j = " + (i + j));
System.out.println(" x + y = " + (x + y));
//pengurangan angka
System.out.println("Subtracting...");
System.out.println(" i - j = " + (i - j));
System.out.println(" x - y = " + (x - y));
//perkalian angka
System.out.println("Multiplying...");
System.out.println(" i * j = " + (i * j));
System.out.println(" x * y = " + (x * y));
//pembagian angka
System.out.println("Dividing...");
System.out.println(" i / j = " + (i / j));
System.out.println(" x / y = " + (x / y));
//menghitung hasil modulus dari pembagian
System.out.println("Computing the remainder...");
System.out.println(" i % j = " + (i % j));
System.out.println(" x % y = " + (x % y));
//tipe penggabungan
System.out.println("Mixing tipes...");
System.out.println(" j + y = " + (j + y));
System.out.println(" i * x = " + (i * x));
}
}
Berikut ini adalah output program,
Variable values...
i = 37
j = 42
x = 27.475
y = 7.22
i + j = 79
Adding...
x + y = 34.695
Subtracting...
i - j = -5
x - y = 20.255
Multiplying...
i * j = 1554
x * y = 198.37
Dividing...
i / j = 0
x / y = 3.8054
Computing the remainder...
i % j = 37
x % y = 5.815
Mixing tipes...
j + y = 49.22
i * x = 1016.58
Catatan: Ketika integer dan floating-point number digunakan sebagai operand untuk operasi aritmatika tunggal (a single aritmatika operation), hasilnya berupa floating point. integer adalah converter secara implisit ke bentuk angka floating-point sebelum operasi berperan mengambil tempat.
Dari sisi operator dasar aritmatika, java juga terdiri atas operator unary increment (++) dan operator unary decrement (--). operator increment dan decrement menambah dah mengurangi nilai yang tersimpan dalm bentuk variabel angka terhadap nilai 1.
Sebagai contoh, pernyataan,
count = count + 1; //increment nilai count dengan nilai 1
pernyataan tersebut ekivalen dengan,
count++;
Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand.
Ketika digunakan sebelum operand, akan menyebabkan variabel diincrement atau didecrement oleh nilai 1, dan kemudian nilai baru digunakan dalam pernyataan dimana dia ditambahkan. Sebagai contoh,
int i = 10,
int j = 3;
int k = 0;
k = ++j + i; //akan menghasilkan k = 4+10 = 14
Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yang
lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia ditambahkan. Sebagai contoh,
int i = 10,
int j = 3;
int k = 0;
k = j++ + i; //akan menghasilkan k = 3+10 = 13
Operator Relasi
Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilai-nilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.
Berikut ini adalah contoh program yang menggunakan operator Relasi,
public class RelasiDemo
{
public static void main(String[] args) {
//a few numbers
int i = 37;
int j = 42;
int k = 42;
System.out.println("Variable values...");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" k = " + k);
//lebih besar dari
System.out.println("Greater than...");
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("Greater than or equal to...");
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 dari
System.out.println("Less than...");
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("Less than or equal to...");
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("Equal to...");
System.out.println(" i == j = " + (i == j)); //false
System.out.println(" k == j = " + (k == j)); //true
//tidak sama dengan
System.out.println("Not equal to...");
System.out.println(" k != j = " + (k != j)); //false
}
}
Berikut adalah hasil keluaran dari program ini :
Nilai variabel...
i = 37
j = 42
k = 42
Lebih besar dari...
i > j = false
j > i = true
k > j = false
Lebih besar dari atau sama dengan...
i >= j = false
j >= i = true
k >= j = true
Lebih kecil dari...
i < j = true
j < i = false
k < j = false
Lebih kecil dari 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
Operator logika
Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean.Ada enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
Pernyataan dasar untuk operasi logika adalah,
x1 op x2
Dimana x1, x2 dapat menjadi pernyataan boolean.Variabel atau konstanta, dan op adalah salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi yang mungkin dari x1 dan x2.
Variabel adalah item yang digunakan data untuk menyimpan pernyataan object.
variabel memiliki tipe data dan nama. tipe data mengindikasikan tipe dari nilai yang dapat dibentuk oleh variabel itu sendiri. nama variabel harus mengikuti aturan untuk pengidentifikasian.
Untuk deklarasi variabel adalah sebagai berikut,,
Catatan: Nilainya berada diantara <> adalah nilai yang disyaratkan, sementara nilai dalam tanda [] bersifat optional.
Berikut ini adalah contoh program yang mendeklarasikan dan menginisialisasi beberapa variabel,
public class VariableSamples
{
public static void main( String[] args ){
//deklarasi a tipe data dengan nama variable
// result dan tipe data boolean
boolean result;
//deklarasi tipe data dengan nama variabel
// option dan tipe data char
char option;
option = 'C'; //menandai 'C' sebagai option
//deklarasi tipe data dengan nama variabel
//grade, double tipe data dan telah di inisialisasi
//to 0.0
double grade = 0.0;
}
}
Operators
Dalam Java, ada beberapa tipe operator. Ada operator arithmatika, operator relasi, operator logika, dan operator kondisi. Operator ini mengikuti macam-macam prioritas yang pasti jadi compilernya akan tahu yang mana operator untuk dijalankan lebih dulu dalam kasus beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
Operator Aritmatika
Berikut ini adalah dasar operator arithmatika yang dapat digunakan untuk membuat suatu program java,
Berikut ini adalah contoh program dalam penggunaan operator-operator ini :
public class aritmatikaDemo
{
public static void main(String[] args)
{
//sedikit angka
int i = 37;
int j = 42;
double x = 27.475;
double y = 7.22;
System.out.println("Variable values...");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" x = " + x);
System.out.println(" y = " + y); //penjumlahan angka
System.out.println("Adding...");
System.out.println(" i + j = " + (i + j));
System.out.println(" x + y = " + (x + y));
//pengurangan angka
System.out.println("Subtracting...");
System.out.println(" i - j = " + (i - j));
System.out.println(" x - y = " + (x - y));
//perkalian angka
System.out.println("Multiplying...");
System.out.println(" i * j = " + (i * j));
System.out.println(" x * y = " + (x * y));
//pembagian angka
System.out.println("Dividing...");
System.out.println(" i / j = " + (i / j));
System.out.println(" x / y = " + (x / y));
//menghitung hasil modulus dari pembagian
System.out.println("Computing the remainder...");
System.out.println(" i % j = " + (i % j));
System.out.println(" x % y = " + (x % y));
//tipe penggabungan
System.out.println("Mixing tipes...");
System.out.println(" j + y = " + (j + y));
System.out.println(" i * x = " + (i * x));
}
}
Berikut ini adalah output program,
Variable values...
i = 37
j = 42
x = 27.475
y = 7.22
i + j = 79
Adding...
x + y = 34.695
Subtracting...
i - j = -5
x - y = 20.255
Multiplying...
i * j = 1554
x * y = 198.37
Dividing...
i / j = 0
x / y = 3.8054
Computing the remainder...
i % j = 37
x % y = 5.815
Mixing tipes...
j + y = 49.22
i * x = 1016.58
Catatan: Ketika integer dan floating-point number digunakan sebagai operand untuk operasi aritmatika tunggal (a single aritmatika operation), hasilnya berupa floating point. integer adalah converter secara implisit ke bentuk angka floating-point sebelum operasi berperan mengambil tempat.
Dari sisi operator dasar aritmatika, java juga terdiri atas operator unary increment (++) dan operator unary decrement (--). operator increment dan decrement menambah dah mengurangi nilai yang tersimpan dalm bentuk variabel angka terhadap nilai 1.
Sebagai contoh, pernyataan,
count = count + 1; //increment nilai count dengan nilai 1
pernyataan tersebut ekivalen dengan,
count++;
Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand.
Ketika digunakan sebelum operand, akan menyebabkan variabel diincrement atau didecrement oleh nilai 1, dan kemudian nilai baru digunakan dalam pernyataan dimana dia ditambahkan. Sebagai contoh,
int i = 10,
int j = 3;
int k = 0;
k = ++j + i; //akan menghasilkan k = 4+10 = 14
Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel yang
lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan dimana dia ditambahkan. Sebagai contoh,
int i = 10,
int j = 3;
int k = 0;
k = j++ + i; //akan menghasilkan k = 3+10 = 13
Operator Relasi
Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilai-nilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.
Berikut ini adalah contoh program yang menggunakan operator Relasi,
public class RelasiDemo
{
public static void main(String[] args) {
//a few numbers
int i = 37;
int j = 42;
int k = 42;
System.out.println("Variable values...");
System.out.println(" i = " + i);
System.out.println(" j = " + j);
System.out.println(" k = " + k);
//lebih besar dari
System.out.println("Greater than...");
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("Greater than or equal to...");
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 dari
System.out.println("Less than...");
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("Less than or equal to...");
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("Equal to...");
System.out.println(" i == j = " + (i == j)); //false
System.out.println(" k == j = " + (k == j)); //true
//tidak sama dengan
System.out.println("Not equal to...");
System.out.println(" k != j = " + (k != j)); //false
}
}
Berikut adalah hasil keluaran dari program ini :
Nilai variabel...
i = 37
j = 42
k = 42
Lebih besar dari...
i > j = false
j > i = true
k > j = false
Lebih besar dari atau sama dengan...
i >= j = false
j >= i = true
k >= j = true
Lebih kecil dari...
i < j = true
j < i = false
k < j = false
Lebih kecil dari 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
Operator logika
Operator logika memiliki satu atau lebih operand boolean yang menghasilkan nilai boolean.Ada enam operator logika yaitu: && (logika AND), & (boolean logika AND), || (logika OR), | (boolean logika inclusive OR), ^ (boolean logika exclusive OR), dan ! (logika NOT).
Pernyataan dasar untuk operasi logika adalah,
x1 op x2
Dimana x1, x2 dapat menjadi pernyataan boolean.Variabel atau konstanta, dan op adalah salah satu dari operator &&, &, ||, | atau ^. Tabel kebenaran yang akan ditunjukkan selanjutnya, merupakan kesimpulan dari hasil dari setiap operasi untuk semua kombinasi yang mungkin dari x1 dan x2.
Rabu, 21 Oktober 2009
Langganan:
Komentar (Atom)