How To Make Simple Photo Editor using Java Netbeans

DAFTAR ISI
I. Pengenalan
    1.1 Abstraksi
II. Implementasi Sistem
    2.1 Persyaratan Hardware
    2.2 Persyaratan Software
    2.3 Bahasa Pemrograman
2.3.1 Java
2.3.2 Netbeans
     2.4 Tampilan Program
III. Langkah - Langkah & Fungsi Coding
     3.1 Langkah - Langkah
     3.2 Coding & Fungsinya
IV. Kesimpulan




I. PENGENALAN


1.1 ABSTRAKSI

Judul proyek ini adalah "PHOTO EDITOR". Proyek ini bertujuan untuk menciptakan berbagai efek gambar didalam foto. Tujuannya adalah untuk memberikan pandangan yang jelas tentang berbagai operasi atau efek yang dapat memberikan sebuah gambar untuk mengubah tampilan aslinya. Disini saya menggunakan pemrograman java dengan tools netbeans sebagai software pendukung sementara dimulai proyek ini.
Image Processing adalah seni dan ilmu untuk memanipulasi gambar digital. Ia berdiri dengan satu kaki tegas dalam matematika dan lainnya dalam estetika dan merupakan komponen penting dari sistem komputer grafis. Ini adalah program mandiri yang benar-benar berguna API Java2D. Bagian pengolahan citra Java dimasukkan dalam paket java.awt.image.




II. IMPLEMENTASI SISTEM

2.1 PERSYARATAN HARDWARE
                             
            Dalam rangka mengimplementasikan sistem baru pilihan prosesor dengan kecepatan maksimum yang mungkin dibuat harus ada memori yang cukup untuk menyimpan data dan perangkat lunak untuk pengolahan efisien.

Processor                          :   Pentium IV atau di atasnya
Clock Speed                     :   800 MHz
Main Memory                  :   256 MB RAM
Disk Storage                    :   80 GB or above
Monitor                            :   SVGA Color
Key Board                        :   108 Keys
Floppy Disk Drive           :    3.5 floppy 1.44 MB
Compact Disk Drive        :    52 x max

2.2 PERSYARATAN SOFTWARE

Sistem operasi: Windows 2000 atau di atasnya
Tools: Java Netbeans 6.5 atau di atasnya, Microsoft Word

FITUR SISTEM OPERASI

Windows XP
                 
                 Windows XP adalah sistem desktop operasi paling canggih yang baru saja dirilis oleh Microsoft. Dirancang untuk bisnis dari semua ukuran dan untuk pengguna rumahan yang menginginkan yang terbaik dari pengalaman komputasi mereka, Windows XP Professional memberikan standar baru dalam kehandalan dan kinerja. Ini mencakup semua fitur yang besar dan desain visual baru Windows XP Home Edition, ditambah fitur keamanan utama dan privasi, opsi pemulihan canggih, meningkatkan kemampuan untuk terhubung ke jaringan besar dll.


2.3 BAHASA PEMROGRAMAN

 2.3.1 JAVA
       
                   Java adalah pertama dan terutama bahasa pemrograman berorientasi objek. Java adalah bahasa pemrograman yang awalnya dikembangkan oleh James Gosling di Sun Microsystems (yang sekarang menjadi anak perusahaan dari Oracle Corporation) dan dirilis pada tahun 1995 sebagai komponen inti dari platform Java Sun Microsystems '. bahasa berasal banyak dari sintaks dari C dan C ++ namun memiliki model objek sederhana dan fasilitas tingkat rendah lebih sedikit. aplikasi Java biasanya dikompilasi menjadi kode byte (file kelas) yang dapat berjalan pada Java Virtual Machine (JVM) terlepas dari arsitektur komputer. Java adalah tujuan umum, bersamaan, berbasis kelas, bahasa berorientasi objek yang dirancang khusus untuk memiliki beberapa dependensi implementasi mungkin. Hal ini dimaksudkan untuk memungkinkan pengembang aplikasi "tulis sekali, jalankan di mana saja". Saat ini Java merupakan salah satu bahasa pemrograman yang paling populer digunakan, dan secara luas digunakan dari perangkat lunak aplikasi untuk aplikasi web. Para penyusun asli dan implementasi referensi Java, mesin virtual, dan perpustakaan kelas yang dikembangkan oleh Sun dari 1995. Pada Mei 2007, sesuai dengan spesifikasi dari Java Community Process, Sun mengganti lisensi sebagian besar teknologi Java di bawah GNU General Public License . Lainnya juga telah mengembangkan implementasi alternatif teknologi Sun ini, seperti GNU Compiler untuk Java, GNU Kelas jalan, dan David Banyak programmer terkejut ketika mereka menemukan betapa mudahnya untuk mengikuti praktek-praktek desain berorientasi objek suara dengan Java. Bagian berikut memberikan pemahaman yang lebih baik dari apa yang ditawarkan Java.
Karakteristik utama dari Java:
                      Kemudahan yang Anda dapat transisi ke Jawa dari C atau C ++ dan kemampuan berorientasi objek Java adalah tidak hanya keuntungan, tetapi juga Jawa memiliki beberapa fitur lain seperti:
Simple
Berorientasi objek
Platform independen
Kuat
Aman
Terdistribusi
Dinamis
Portabel
Multithreading

2.3.2 NETBEANS

  NetBeans mengacu pada kedua kerangka platform untuk aplikasi desktop Java, dan sebuah lingkungan pengembangan terpadu (IDE) untuk mengembangkan dengan Java, JavaScript, PHP, Python, Ruby, Groovy, C, C ++, Skala, Clojure, dan lain-lain. NetBeans IDE ditulis dalam Java dan berjalan di mana-mana di mana JVM diinstal, termasuk Windows, Mac OS, Linux, dan Solaris. Sebuah JDK diperlukan untuk fungsi pengembangan Java, tetapi tidak diperlukan untuk pembangunan di bahasa pemrograman lain. NetBeans Platform memungkinkan aplikasi untuk dikembangkan dari satu set komponen perangkat lunak modular yang disebut modul. Aplikasi berbasis platform NetBeans (termasuk NetBeans IDE) dapat diperpanjang oleh pengembang pihak ketiga. NetBeans IDE 6.5, dirilis pada bulan November 2008, diperpanjang fitur Java EE yang ada (termasuk dukungan Java Persistence, EJB 3 dan JAX-WS). Selain itu, NetBeans Enterprise Pack mendukung pengembangan aplikasi Java EE 5 perusahaan, termasuk SOA alat desain visual, alat skema XML, layanan web orkestrasi (untuk BPEL), dan pemodelan UML. NetBeans IDE Bundle untuk C / C ++ mendukung C / C ++ pembangunan. NetBeans dimulai pada tahun 1996 sebagai Xelfi (kata bermain di Delphi), sebuah proyek mahasiswa Java IDE di bawah bimbingan Fakultas Matematika dan Fisika di Charles University di Praha. Pada tahun 1997 Roman Stanek membentuk perusahaan sekitar proyek dan menghasilkan versi komersial NetBeans IDE sampai dibeli oleh Sun Microsystems pada tahun 1999. Sun terbuka-bersumber NetBeans IDE pada bulan Juni tahun berikutnya.

                      Komunitas NetBeans sejak terus tumbuh, berkat individu dan perusahaan yang menggunakan dan berkontribusi dalam proyek ini. Selain dukungan penuh dari semua platform Java (Java SE, Java EE, Java ME, dan FX Java), NetBeans IDE 6.5 adalah alat yang ideal untuk pengembangan perangkat lunak dengan PHP, Ajax dan JavaScript, Groovy dan Grails, Ruby dan Ruby on Rails, dan C / C ++. Rilis 6.5 memberikan peningkatan dukungan untuk web kerangka kerja (Hibernate, musim semi, JSF, JPA), aplikasi server GlassFish, dan database. Selain itu termasuk IDE-macam shortcut baru Cepat Cari, antarmuka yang lebih user-friendly, dan otomatis Kompilasi Save. NetBeans IDE 6.5.1 rilis bug fix adalah minor update untuk NetBeans IDE 6.5. NetBeans IDE merupakan Integrated Development Environment tersedia untuk Windows, Mac, Linux, dan Solaris pemenang penghargaan. Proyek NetBeans terdiri dari IDE open-source dan platform aplikasi yang memungkinkan pengembang untuk secara cepat membuat web, perusahaan, desktop, dan aplikasi mobile menggunakan platform Java, serta PHP, JavaScript dan Ajax, Ruby dan Ruby on Rails, Groovy , dan C / C ++. Hal ini didukung oleh komunitas pengembang yang menawarkan beragam pilihan pihak ketiga plug-in.

NetBeans Platform

              NetBeans Platform adalah kerangka kerja dapat digunakan kembali untuk menyederhanakan pengembangan Java swing desktop yang. NetBeans IDE bundel untuk Java SE berisi apa yang dibutuhkan untuk mulai mengembangkan NetBeans plug-in dan NetBeans Platform aplikasi berbasis; tidak ada SDK tambahan diperlukan. Aplikasi dapat menginstal modul secara dinamis. Setiap aplikasi dapat mencakup modul Update Center untuk mengijinkan pengguna aplikasi untuk men-download upgrade digital-masuk dan fitur baru secara langsung ke dalam aplikasi yang berjalan. Menginstal ulang upgrade atau rilis baru tidak memaksa pengguna untuk men-download keseluruhan aplikasi lagi. Platform ini menawarkan layanan dapat digunakan kembali umum untuk aplikasi desktop, memungkinkan pengembang untuk fokus pada logika khusus untuk aplikasi mereka. Di antara fitur dari platform adalah:
• Manajemen antarmuka pengguna (mis menu dan toolbar)
• Manajemen Pengaturan pengguna
• Manajemen penyimpanan (menyimpan dan memuat segala jenis data)
• Kerangka Wizard (mendukung langkah-demi-langkah dialog)
• NetBeans Visual Library
License: From July 2006 through 2007, NetBeans IDE was licensed under Sun's Common Development and Distribution License (CDDL), a license based on the Mozilla Public License (MPL). In October 2007, Sun announced that NetBeans would henceforth be offered under a dual license of the CDDL and the GPL version 2 licenses, with the GPL linking exception for GNU Class path
           
NetBeans Profiler

               NetBeans Profiler adalah alat untuk pemantauan aplikasi Java: Ini membantu pengembang menemukan kebocoran memori dan mengoptimalkan kecepatan. Sebelumnya download secara terpisah, itu terintegrasi ke dalam IDE inti sejak versi 6.0.The Profiler didasarkan pada sebuah proyek penelitian Sun Laboratories yang bernama Fluid. penelitian yang menemukan teknik-teknik khusus yang dapat digunakan untuk menurunkan overhead profil aplikasi Java. Salah satu teknik adalah dinamis kode byte instrumentasi, yang sangat berguna untuk profiling aplikasi Java yang besar. Menggunakan dinamis kode byte instrumentasi dan algoritma tambahan, Netbeans Profiler mampu mendapatkan informasi runtime aplikasi yang terlalu besar atau
Kompleks untuk profiler lain. NetBeans juga mendukung Poin Profiling yang memungkinkan Anda profil poin yang tepat dari eksekusi dan mengukur waktu eksekusi.

GUI Design Tool

                Sebelumnya dikenal sebagai proyek Matisse, GUI desain-alat memungkinkan pengembang untuk prototipe dan GUI desain swing dengan menyeret dan komponen positioning GUI. Pembangun GUI juga memiliki built-in mendukung untuk JSR 296 (Swing Application Framework), dan JSR 295 (Beans Binding teknologi).

NetBeans JavaScript Editor

                 NetBeans JavaScript Editor menyediakan dukungan diperpanjang untuk JavaScript, Ajax, dan CSS. JavaScript fitur Editor terdiri sintaks, refactoring, penyelesaian kode untuk objek asli dan fungsi, generasi kerangka kelas JavaScript, generasi Ajax callback dari template; dan cek kompatibilitas browser otomatis. fitur CSS Editor terdiri penyelesaian kode untuk nama gaya, navigasi cepat melalui panel navigator, menampilkan deklarasi aturan CSS dalam Daftar View dan struktur file di Tree View, menyortir garis tampilan dengan nama, jenis atau urutan deklarasi (List & Tree) , menciptakan deklarasi aturan (Tree), refactoring bagian dari nama aturan (Tree).



III. LANGKAH – LANGKAH & FUNGSI CODING

3.1 LANGKAH – LANGKAH
Membuat project sesuai nama yang diinginkan.
Membuat form dengan nama yang diinginkan, disini saya membuat form dengan nama imgprocessing.
Membuat Class dengan nama yang diinginkan , disini saya membuat tform dengan  nama ImageClass.
Klik pada Form lalu pada Properties, lalu beri Title, disini saya memberi judul PHOTO EDITOR.
Membuat Panel untun Layer dan pilih background sesuai yang diinginkan, juga beri nama variabel yang diinginkan.
Buat 3 Menu Bar dan beri nama yang diinginkan, juga beri nama variabel yang diinginkan, disini saya memberi nama mnFile, mnEdit, & mnEffects.
Membuat Menu Item pada mnFile dengan nama sbb:
miOpen
miSave
miExit

Membuat Menu Item pada mnEffects dengan nama sbb:
miBiner
miDark
miGrayscale
miTest1
miTest2
miTest3
miTest4
miTest5

Membuat Menu Item pada mnEdit dengan nama:
MiReset


3.2 CODING & FUNGSINYA

Membuat parameter fungsi untuk di deklarasikan ke dalam script dan memanggil fungsi tersebut kedalam Class.


Fungsi ini menentukan ukuran gambar di hasil outputan dan menetukan ukuran dari piksel gambar.


Ini adalah fungsi perulangan untuk membuat efek Grayscale.
long x adalah lebar dari gambar.
long y adalah tinggi dari gambar.
Gr ay = (Red+Green+Blue)/3; adalah rumus transformasi warna RGB kedalam Grayscale (Pembagian).
tWarna = new Color (Gray,Gray,Gray); adalah script untuk menentukan hasil w arna yang akan muncul dioutputan yaitu Gray.


Grayscale Picture
Model : Army Ineke


Ini adalah fungsi perulangan untuk membuat efek Sharpen.
tWarna = new Color (0, Green, Blue); adalah rumus script untuk menentukan hasil warna yang akan muncul dioutputan yaitu Green + Blue = Sharpen.

Sharpen
Model : Army Ineke

               

Ini adalah fungsi perulangan untuk membuat efek Purple.
tWarna = new Color (Red, 0, Blue); adalah rumus script untuk menentukan hasil warna yang akan muncul dioutputan yaitu Red + Blue = Purple.

Purple
Model: Army Ineke

                 


Ini adalah fungsi perulangan untuk membuat efek Lomo / Dark.
tWarna = new Color (Red, 0, Blue); adalah rumus script untuk menentukan hasil warna yang akan muncul dioutputan. Hampir sama dengan Grayscale dan Biner tetapi hasil efek gambar lebih gelap.

Lomo / Dark
Model : Army Ineke

               


Ini adalah fungsi perulangan untuk membuat efek Sephia.
tWarna = new Color (Red / 2, Green / 3, Blue / 4); adalah rumus script untuk menentukan hasil warna yang akan muncul dioutputan yaitu Sephia.

Sephia
Model : Army Ineke

               

Ini adalah fungsi perulangan untuk membuat efek Lumia.
tWarna = new Color (Red, Green, 0); adalah rumus script untuk menentukan hasil warna yang akan muncul dioutputan yaitu Red + Green = Lumia / Kuning menyala.


Lumia
Model : Army Ineke
 .
Ini adalah fungsi perulangan untuk membuat efek Darken Color.
tWarna = new Color (Red / (4), Green / (3), Blue / (2)); adalah rumus script untuk menentukan hasil warna yang akan muncul dioutputan. Darken Color tidak begitu gelap daripada Lomo dan Grayscale, efek Darken Color lebih hitam kebiru – biruan.

Darken Color
           
Model : Army Ineke



Ini adalah fungsi perulangan untuk membuat efek Biner.
Gray = (Red + Green + Blue) / 3;
                if (Gray <= 128) {
                    Gray = 0;
                } else {
                    Gray = 255;
                }
 tWarna = new Color (Gray, Gray, Gray);
Biner berbeda dengan warna yang lain, biner adalah warna dari Grayscale / 3 dan mempunyai nilai dari Gray <= 128 / Gray = 255. Karena warna 255 = putih dan 128 = hitam maka hasil warna pada gambar akan terlihat berwarna hitam putih.

Biner
Model : Army Ineke



IV. KESIMPULAN

        Program ini dikembangkan dengan skalabilitas dalam pikiran. Program ini untuk memenuhi tugas akhir Pengolahan Citra Digital.  Modul tambahan dapat dengan mudah menambahkan bila diperlukan. Sistem ini sangat fleksibel dan dapat dimodifikasi untuk digunakan dalam setiap foto. Sehingga, bahkan pengguna dengan pengetahuan minimum dapat beroperasi sistem dengan mudah.

Comments