Beruflich Dokumente
Kultur Dokumente
Disusun Oleh :
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.UIManager;
import org.jfree.data.category.DefaultCategoryDataset;
/**
*
* @author Ahmad Wildan Jauhari
*/
public class Praktek8 extends javax.swing.JFrame {
/**
* Creates new form Praktek8
*/
String srcIm = "Test1.jpg";
File input = new File(srcIm);
int width;
int height;
BufferedImage image = null;
ImageIcon imageIcon = null;
public Praktek8() {
initComponents();
}
@SuppressWarnings("unchecked")
UIManager.setLookAndFeel("com.jtattoo.plaf.aluminium.AluminiumLookAndFeel")
;
new Praktek8();
} catch (Exception ex) {
ex.printStackTrace();
}
Analisa: Merupakan Suatu Perintah Untuk Memasukan suatu Method atau perintah dalam
Bahasa Pemrograman Java sehingga perintah tersebut dapat Aktif dan digunakan atau
berfungsi.
1. Load
Analisa : Menampilkan gambar pada jLabel1 dengan membaca data pada variabel input yang
bernilai “file” yang memanggil gambar dengan srcImg. Dengan meamsukan souce code File
input = new File(srcIm);’ merupakan library pada java yang fungsinya untuk memanggil isi
variabel srcIm yang ada pada class praktem8. ‘image = ImageIO.read(input); ‘ image disana
merupakan variabel dari type BufferedImage yang fungsinya untuk membaca file yang dikirim
darivariabelinputpadatypeFile.‘Logger.getLogger(praktek8.class.getName()).log(Level.SEVE
RE, null, ex); ‘ fungsinya yaitu memanggil gambar (load image) dengan melalui location file
yang sudah dideklarasikan pada kelas praktek8.‘imageIcon=newImageIcon(image);dan
Label1.setIcon(imageIcon);‘merupakan variabel yang fungsinya saling memanggil atau
mengambil data dari variabel input lalu diproses pada variabel ImageIcon dengan type
ImageIcon selanjutnya proses akhir memberikan hasil yang diproses oleh source code
‘jLabel1.setIcon(imageIcon);’.
2. Grayscale
Analisa : menampilkan gambar citra warna derajat keabuan. ‘image = ImageIO.read(input);’
fungsinya yaitu untuk mengirim ulang data file yang ada pada variabel input dengan type data
File. For (int i = 0; i < width; i++) { for (int j = 0; j < height; j++){ Color w = new
Color(image.getRGB(i, j)); } ’ yang fungsinya untuk menyalin file gambar dengan ketentuan
pada tombol Load. ‘Color w = new Color(image.getRGB(i, j)); ’ berfungsi untuk menyalin atau
mengambil warna dan ukuran gambar yang ada pada variabel image. penambahan source code
‘int red = (int) (w.getRed(); int green = (int) (w.getGreen()); int blue = (int) (w.getBlue());’
yang gunanya untuk mengkonversikan warna rgb ke warna grayscale. int xg = (int) (red + green
+ blue) / 3; digunakan untuk menghasilkan warna grayscale harus dibagi rata rata , Color
newColor = new Color(xg, xg, xg); merupakan gabungan warna yang sudah dikonversi dan
pada source code ‘image.setRGB(i, j, newColor.getRGB());’ berguna untuk memanggil data
warna yang sudah digabungkan sehingga warna berubah menjadi grayscale namun tampilan
gambarnya.
3. Noise Gausian
Analisa : menampilkan gambar dengan ada gangguan pada gambar berupa bintik hitam dan
putih, Random r = new Random(); digunakan untuk pendeklarasian variabel ”r” karena pada
noise nilai akan di acak/random. For (int i = 0; i < width; i++) { for (int j = 0; j < height; j++){
Color w = new Color(image.getRGB(i, j)); } ’ yang fungsinya untuk menyalin file gambar
dengan ketentuan pada tombol Load. ‘Color w = new Color(image.getRGB(i, j)); ’ berfungsi
untuk menyalin atau mengambil warna dan ukuran gambar yang ada pada variabel image. int
xg = (int) (red + green + blue) / 3; berfungsi menjadikan wana gambar grayscale, int xb = xg;int
nr = r.nextInt(100); digunakan untuk tipe data interger dengan nilai xb sama dengan xg
sedangkan tipe data nr sama dengan “r”. if (nr < 20) { int ns = r.nextInt(256) - 128; xb = (int)
(xg + ns); berfungsi jika nilai nr kurang dari 20% maka akan diproses dengan ns yang nilainya
hasil pengurangan 256 (nilai total pixel) dengan 128 ( nilai tengah) hasilnya akan dijumlahkan
dengan xg(nilai grayscale) yang sama dengan xb. Dan if (xb < 0) { xb = -xb; } berfungsi jika
nilai kurang dari nol maka hasilnya sama dengan -xb. Sedangkan if (xb > 255) { xb = 255; }
berfungsi jika nilai kurang dari 255 hasilnya sama dengan 255. Color newColor = new
Color(xg, xg, xg); merupakan gabungan warna yang sudah dikonversi dan pada source code
‘image.setRGB(i, j, newColor.getRGB());’ berguna untuk memanggil data warna yang sudah
digabungkan sehingga warna berubah menjadi grayscale dengan bintik warna hitam putih.
4. Noise Speckle
Analisa : menampilkan gambar dengan ada gangguan pada gambar berupa bintik hitam,
Random r = new Random(); digunakan untuk pendeklarasian variabel ”r” karena pada noise
nilai akan di acak/random. For (int i = 0; i < width; i++) { for (int j = 0; j < height; j++){ Color
w = new Color(image.getRGB(i, j)); } ’ yang fungsinya untuk menyalin file gambar dengan
ketentuan pada tombol Load. ‘Color w = new Color(image.getRGB(i, j)); ’ berfungsi untuk
menyalin atau mengambil warna dan ukuran gambar yang ada pada variabel image. int xg =
(int) (red + green + blue) / 3; berfungsi menjadikan wana gambar grayscale, int xb = xg;int nr
= r.nextInt(100); digunakan untuk tipe data interger dengan nilai xb sama dengan xg sedangkan
tipe data nr sama dengan “r”. if (nr < 20) { xb = 0; } berfungsi jika nilai kurang dari 20% maka
nilai dari xb sama dengan 0. Color newColor = new Color(xg, xg, xg); merupakan gabungan
warna yang sudah dikonversi dan pada source code ‘image.setRGB(i, j, newColor.getRGB());’
berguna untuk memanggil data warna yang sudah digabungkan sehingga warna berubah
menjadi grayscale dengan bintik warna hitam.
5. Noise Salt and Paper
Analisa : menampilkan gambar dengan ada gangguan pada gambar berupa bintik putih,
Random r = new Random(); digunakan untuk pendeklarasian variabel ”r” karena pada noise
nilai akan di acak/random. For (int i = 0; i < width; i++) { for (int j = 0; j < height; j++){ Color
w = new Color(image.getRGB(i, j)); } ’ yang fungsinya untuk menyalin file gambar dengan
ketentuan pada tombol Load. ‘Color w = new Color(image.getRGB(i, j)); ’ berfungsi untuk
menyalin atau mengambil warna dan ukuran gambar yang ada pada variabel image. int xg =
(int) (red + green + blue) / 3; berfungsi menjadikan wana gambar grayscale, int xb = xg;int nr
= r.nextInt(100); digunakan untuk tipe data interger dengan nilai xb sama dengan xg sedangkan
tipe data nr sama dengan “r”. if (nr < 20) { xb = 255; } berfungsi jika nilai kurang dari 20%
maka nilai dari xb sama dengan 0. Color newColor = new Color(xg, xg, xg); merupakan
gabungan warna yang sudah dikonversi dan pada source code ‘image.setRGB(i, j,
newColor.getRGB());’ berguna untuk memanggil data warna yang sudah digabungkan
sehingga warna berubah menjadi grayscale dengan bintik warna putih.
Soruce code:
private void NoiseGausianActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
File input = new File(srcIm);
input = new File(srcIm);
width = image.getWidth();
height = image.getHeight();
Random r = new Random();
String buram = gusion.getText();
int nilaiBaru = Integer.parseInt(buram);
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
Color w = new Color(image.getRGB(i, j));