Minggu, 03 November 2013

Menuju Kebebasan yang Membebaskan

Filled under:



By Romi Satria Wahono
Sebuah essay kecil yang saya susun untuk para mahasiswa dan generasi muda, khususnya yang bergerak di bidang computing. Essay yang berisi napak tilas perdjoeangan saya, dari jaman awal bersusah payah belajar dan bekerja, untuk meraih kemerdekaan dan kebebasan, hingga akhirnya saya pelan-pelan bisa membebaskan orang lain. Kemerdekaan dan kebebasan akan memberi ruang kepada kita untuk memiliki kebebasan berpikir, kebebasan dari berbagai ketergantungan, dan juga kebebasan finansial yang sering membelenggu kita. Tapi kebebasan yang sebenarnya adalah, ketika kita bisa menggunakan kebebasan yang kita miliki itu, untuk membebaskan orang lain. 
Membagi ilmu akan membebaskan orang lain dari pemikiran sempit yang selama ini membelenggunya. Membagi pengalaman dalam dunia industri akan membebaskan orang lain dari berbagai ketergantungan, terhadap teknologi dan alat yang selama ini mengungkungnya. Membuka lapangan kerja baru akan membebaskan orang lain dari belenggu dan masalah finansial yang dideritanya. Memberi beasiswa kepada anak muda yang cerdas tapi tidak mampu, adalah langkah membantu anak muda itu untuk mendapatkan hak yang seharusnya ia dapatkan. Itulah hakekat kebebasan dan kemerdekaan yang sebenarnya, dan itulah kebebasan yang membebaskan …
Mudah-mudahan kita semua tetap dalam perdjoeangan, perdjoeangan untuk membebaskan diri kita sendiri, dan perdjoeangan untuk juga membebaskan orang lain …
Silakan membaca artikel lengkapnya lewat: romi-kebebasanmembebaskan-2012.pdf

Penulis=> Unknown16.41

Konsep Dasar Pengolahan Citra

Filled under:

Definisi dan Tujuan Pengolahan Citra 
Pengolahan Citra / Image Processing : 
  • Proses memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau komputer
  • Teknik pengolahan citra dengan mentrasformasikan citra menjadi citra lain, contoh : pemampatan citra (image compression) 
  • Pengolahan citra merupakan proses awal (preprocessing) dari komputer visi. 
Pengenalan pola (pattern recognition) : 
  • Pengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh komputer agar suatu objek dalam citra dapat dikenali dan diinterpreasi. 
  • Pengenalan pola adalah tahapan selanjutnya atau analisis dari pengolahan citra.
Operasi Pengolahan Citra
1. Perbaikan kualitas citra (image enhacement)
Tujuan : memperbaiki kualitas citra dengan memanipulasi parameter-parameter citra.
Operasi perbaikan citra :
  • Perbaikan kontras gelap/terang 
  • Perbaikan tepian objek (edge enhancement) 
  • Penajaman (sharpening) • Pemberian warna semu(pseudocoloring) 
  • Penapisan derau (noise filtering)
2. Pemugaran citra (image restoration)
Tujuan : menghilangkan cacat pada citra. Perbedaannya dengan perbaikan citra : penyebab degradasi citra diketahui.
Operasi pemugaran citra :
  • Penghilangan kesamaran (deblurring) 
  • Penghilangan derau (noise) 
3. Pemampatan citra (image compression)
Tujuan : citra direpresentasikan dalam bentuk lebih kompak, sehingga keperluan memori lebih sedikit namun dengan tetap mempertahankan kualitas gambar (misal dari .BMP menjadi .JPG) .

4. Segmentasi citra (image segmentation)
Tujuan : memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Berkaitan erat dengan pengenalan pola.

5. Pengorakan citra (image analysis)
Tujuan : menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya.
Diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya Operasi pengorakan citra :
– Pendeteksian tepi objek (edge detection)
– Ekstraksi batas (boundary)
– Represenasi daerah (region)

6. Rekonstruksi citra (Image recontruction) Tujuan : membentuk ulang objek dari beberapa citra hasil proyeksi.

Aplikasi Pengolahan Citra dan Pengenalan Pola
• Bidang Perdagangan
   – Pembacaan bar code pada barang di supermarket
   – Pengenalan huruf/angka pada formulir secara otomatis
• Bidang Militer
   – Mengenali peluru kendali melalui sensor visual
   – Mengidentifikasi jenis pesawat musuh
• Bidang Kedokteran
   – Deteksi kanker dengan sinar X
   – Rekonstruksi foto janin hasil USG
• Bidang Biologi
   – Penenalan kromosom melalui gambar mikroskopik
• Komunikasi Data
   – Pemampatan citra transmisi
• Hiburan
   – Pemampatan video MPEG
• Robotika
   – Visual guided autonomous navigation
• Pemetaan
   – Klasifikasi penggunaan tanah melalui foto udara
• Geologi
   – Mengenali jenis bebatuan melalui foto udara
• Hukum
   – Pengenalan sidik jari – Pengenalan foto narapidana

Pembentukan Citra
Citra ada 2 macam : 
• Citra Kontinu
   – Dihasilkan dari sistem optik yang menerima sinyal analog.
   – Contoh : mata manusia, kamera analog
• Citra Diskrit / Citra Digital
   – Dihasilkan melalui proses digitalisasi terhadap citra kontinu.
   – Contoh : kamera digital, scanner

Model Citra
• Citra merupakan fungsi kontinu dari intensitas cahaya pada bidang 2D
• Secara matematis fungsi intensitas cahaya pada bidang 2D disimbolkan dengan f(x,y), dimana :
   – (x,y) : koordinat pada bidang 2D
   – f(x,y) : intensitas cahaya (brightness) pada titik (x,y)
• Karena cahaya merupakan bentuk energi, maka intensitas cahaya bernilai antara 0 sampai tidak berhingga,  0 ≤ f(x,y) ≤∞ • f(x,y)  =  i(x,y) . r(x,y) Dimana :
   – i(x,y) : jumlah cahaya yang berasal dari sumbernya (illumination) yang nilainya 0 ≤ i(x,y) ≤∞ Nilai  i(x,y) ditentukan oleh sumber cahaya
   – r(x,y) : derajat kemampuan obyek memantulkan cahaya (reflection) yang nilainya 0 ≤ r(x,y) ≤ 1 Nilai r(x,y) ditentukan oleh karakteristik obyek di dalam citra. r(x,y)=0 mengindikasikan penyerapan total. r(x,y)=1 mengindikasikan pemantulan total
• Derajat Keabuan (grey level) : intensitas f citra hitam-putih pada titik (x,y)
– Derajat keabuan bergerak dari hitam ke putih.
– Skala keabuan memiliki rentang :  lmin < f < lmax atau [0,L] , dimana intensitas 0 menyatakan hitam dan L menyatakan putih.
– Contoh : citra hitam-putih dengan 256 level, artinya mempunyai skala abu-abu dari 0 sampai 255 atau [0,255], dalam hal ini nilai 0 menyatakan hitam dan 255 menyatakan putih, nilai antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam dan putih.
• Citra hitam-putih : citra monokrom (monochrome image) atau citra satu kanal (satu fungsi intensitas)
• Citra berwarna : citra spektral , karena warna pada citra disusun oleh tiga komponen warna RGB (Red- Green-Blue)
– Intensitas suatu titik pada citra berwarna merupakan kombinasi dari intesitas : merah (fmerah(x,y)), merah (f hijau(x,y)) dan merah (fbiru(x,y)),

Penulis=> Unknown16.31

Jumat, 01 November 2013

Kode ASCII 7 BIT

Filled under:

Penulis=> Unknown14.37

Rabu, 30 Oktober 2013

Dasar-Dasar Pengolahan Citra Digital dengan MATLAB

Filled under:

Apa itu digital image processing?
Image atau gambar adalah representasi spasial dari suatu objek yang sebenarnya dalam bidang dua dimensi  yang biasanya ditulis dalam koordinat kartesian x-y, dan setiap koordinat merepresentasikan satu sinyal terkecil dari objek yang biasanya koordinat terkecil ini disebut sebagai piksel. Karena merupakan sistem koordinat yang memiliki nilai maka biasanya image dianggap sebagai sebuah matrik x-y yang berisi nilai piksel.

Pembacaan Image
Pada matlab fungsi untuk melakukan pembacaan image standar yaitu:
imread(‘filename’) 
Perintah ini digunakan untuk membaca beberapa format file diantaranya:

Format
Dieskripsi
Extentiont
TIFF
Tangged Image File Format
.tif
JPEG
Join Photographics Expert’s Group
.jpg
GIF
Graphics Interchange Format
.gif
BMP
Windows Bitmap
.bmp
PNG
Portable Network Graphics
.png
XWD
X-Windows Dump
.xwd
 
Hasil dari pembacaan imread(‘filename’) bisa berupa matriks dua dimensi jika gambar yang dibaca adalah gambar grayscale dan matrik 3 dimensi jika berupa gambar 3 dimensi.

Ekstraksi Nilai Piksel Red, Green dan Blue (RGB)
Hampir setiap pengolahan citra yang berbasis warna perlu dilakukan pemisahan band-band yang ada pada citra khususnya citra RGB, MATLAB menyediakan fasilitas yang cukup baik dalam memisahkan ketiga warna RGB, yaitu sebagai berikut:
Gambar Asli
gambar=imread(‘kelinci.tif’); %--------membaca file gambar 
red=gambar(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah 
green=gambar(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna merah 
blue=gambar(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna merah 
%----------menampilkan gambar--------------------- 
imshow(gambar) 
imshow(red)
imshow(green) 
imshow(blue)

Hasil Ekstrasi Nilai Piksel
Terlihat bahwa untuk mengambil nilai piksel merah memiliki indeks 1, warna hijau memiliki indeks 2 dan warna biru memiliki indeks 3.


Konversi Gambar RGB ke Grayscale
Untuk merubah gambar RGB ke gambar grayscale di MATLAB disediakan fungsi khusus yaitu rgb2gray(matrik_gambar),  tetapi kadangkala diinginkan untuk perubahan bentuk grayscale ini tidak menggunakan fungsi MATLAB yang sudah ada yang merupakan nilai rata-rata piksel RGB tetapi masing-masing nilai RGB diberi nilai bobot yang berbeda-beda, hal ini dengan mudah dilakukan dengan menggunakan pemisahan nilai seperti yang telah dilakukan diatas seperti contoh berikut:
%Konversi Gambar RGB ke Grayscale
%Untuk merubah gambar RGB ke gambar grayscale di MATLAB disediakan fungsi_
%khusus yaitu rgb2gray(matrik_gambar),  tetapi kadangkala diinginkan untuk_
%perubahan bentuk grayscale ini tidak menggunakan fungsi MATLAB yang sudah_
%ada yang merupakan nilai rata-rata piksel RGB tetapi masing-masing nilai_
%RGB diberi nilai bobot yang berbeda-beda, hal ini dengan mudah dilakukan_
%dengan menggunakan pemisahan nilai seperti yang telah dilakukan diatas seperti contoh berikut:

gambar=imread('kelinci.tif'); %--------membaca file gambar
red=gambar(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah
green=gambar(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna merah
blue=gambar(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna merah
gray2=0.3*red+0.5*green+0.2*blue;
Membuat Histogram Image

---bersambung--







Penulis=> Unknown15.06

Minggu, 13 Oktober 2013

(01) Pemrograman MATLAB

Filled under:

Dasar-Dasar Pemrograman Matlab
A. Langkah-langkah MATLAB
Untuk meminta MATLAB menghitung 1 + 1, anda perlu mengetikkan berikut ini pada command window seperti pada Gambar A.1 betikut ini :

Gambar A.1 MATLAB menghitung 1+1
Keberadan spasi dalam suatu formula tidak mempengaruhi apa pun. Contoh pada Gambar A.2 "SPASI" tidak mempengaruhi MATLAB dalam menghitung formula :
  • 1 + 3 * 2 / 5 - 1 dan
  • 1+3*2/5-1
  • dan hasilnya akan tetap sama yaitu "1,2000"
 
Gambar A.2 Spasi tidak mempengaruhi MATLAB dalam menghitung formula
 B. Operator-operator Aritmatika MATLAB
Evaluasi terhadap ekspressi dilakukan dengan penggunaan operator-operator aritmatika, yang ditampilkan pada Tabel B.1 berikut ini. Variabel a dan b berperan sebagai operand.



Operasi
Format Aljabar
MATLAB
Contoh
Penjumlahan
a + b
a + b
5+7
Pengurangan
a - b
a - b
3-4
Perkalian
a x b
a * b
8.13*5.3
Pembagian Kanan
a ÷ b
a / b
3.14/4.5
Pembagian Kiri
b ÷ a
b \ a
7\8
Pemangkatan
ab
a^b
3^9

Tabel B.1 Operator Aritmatika MATLAB

Contoh Aritmatika pada MATLAB :
  • Contoh 1:Ketik pada jendela command window MATLAB anda  seperti pada Gambar B.1!

Gambar B.1
  • Contoh 2

Gambar B.2

MATLAB tidak mengerti sembarang perintah yang salah, artinya Anda diminta untuk menuliskan perintah dengan sintaks yang benar. Perhatikan perintah yang tidak lengkap berikut ini:

>> 6+8-7*
 6+8-7*
      |
Error: Expression or statement is incomplete or incorrect.


Di sini MATLAB mengindikasikan terjadinya kesalhan sintaks. MATLAB menyatakan bahwa yang tidak lengkap.

C. Derajat Keutamaan Operator-Operator Aritmatika MATLAB
Derajat keutamaan operator2 aritmatika MATLAB dalam suatu ekspresi dinyatakan dengan urutan aturan-aturan berikut ini :
  1. Tanda kurang, dimulai dari yang paling dalam.
  2. Pemangkatan (^), dari kiri ke kanan.
  3. Perkalian (*) dan pembagian (/ atau \) dengan derajat keutamaan setingkat, dari kiri ke kanan.
  4. Penjumlahan (+) dan pengurangan (-) dengan derajat keutamaan setingkat, dari kiri ke kenan.
Ketika operator2 dalam suatu ekspresi memiliki derajat keutamaan yang sama, maka operasi akan dilakukan dengan urutan dari kiri ke kanan. Jadi 3*4/5 dievaluasi sebagai (3*4)/5 dan bukan sebagai 3*(4/5). Berikut adalah beberapa contoh ekivalensi derajat keutamaan dalam suatu ekspresi.
>> 3^5-6/5*7-2
ans =
  232.6000
>> 3^(5)-((6/5)*7)+2
ans =
  236.6000
>> 7+4^6*5/8^5-5
ans =
    2.6250
>> 7+(((4^(6))*5)/(8^(5)))-5
ans =
    2.6250
D. Variabel-Variabel MATLAB
Variabel-variabel dalam MATLAB merupakan objek-objek bernama yang ditugasi nilai dengan operator =. Nama variabel MATLAB dibatasi hanya terdiri dari 31 karakter (termasuk huruf besar dan huruf kecil), karakter garis bawah '_', dan angka 0 sampai 9. Penamaan variabel tidak bisa dimulai dengan angka. Berikut adalah beberapa contoh penugasan variabel-variabel secara benar.

>> cinta=4
cinta =
     4

>> seMangat_1=5
seMangat_1 =
     5

>> nama='Iwan Maksud'
nama =
Iwan Maksud
Berikut merupakan beberapa contoh penugasan yang sala.
>> 2_oke='aku'
 2_oke='aku'
 |
Error: The input character is not valid in MATLAB statements or expressions.

>> saya%1=5
Undefined function or variable 'saya'.

>> aku adalah=8.4
Undefined function 'aku' for input arguments of type 'char'.
 Untuk menugasi suatu variabel dengan suatu nilai tanpa menghasilkan kemunculan atau tampilan hasil penugasan, Anda bisa mengakhiri suatu penugasan dengan tanda titik koma (;). Coba Anda ketikan berikut ini dan perhatikan apa yang terjadi.
a=4
b=5;
c=a*b;
d=c/4;
d
who
whos
clear who
Penugasan-ulang  suatu variabel dilakukan dengan menugaskan kembali variabel tersebut dengan suatu nilai baru dalam suatu statemen penugasan yang baru. Perhatikan bahwa perintah sebelumnya yang melibatkan variabel yang telah ditugasi-ulang tersebut tida secara otomatis terevaluasi-ulang. Perhatikan contoh berikut ini.

>> klaten=3;
>> jogja=5.4;
>> balige=5.3;
>> total=klaten+jogja+balige
total =
   13.7000

>> klaten=5;
>> total
total =
   13.7000
Setelah menghitung total, nilai klaten ditugasi-ulang menjadi 5. Perhatikan bahwa nilai total tidak secara otomatis berubah. Pada contoh ini, untuk mengalkulasikan-ulang total, maka statemen penugasan total harus diberikan kembali.
>> total=klaten+jogja+balige
total =
   15.7000



Tabel 2.1 : Kunci-kunci dalam MATLAB untuk menghemat waktu pengetikan
Konci
Kontrol
Kunci
Ekivalen
Arti
#
Ctrl-p
Memanggil baris perintah sebelumnya
$
Ctrl-n
Memanggil baris perintah selanjutnya
!
Ctrl-b
Menggeser satu karakter ke belakang
"
Ctrl-f
Menggeser satu karakter ke depan
Ctrl - "
Ctrl-r
Menggeser satu kata ke kanan
Ctrl - !
Ctrl-l
Menggeser satu kata ke kiri
home
Ctrl-a
Menggeser ke awal baris
end
Ctrl-e
Menggeser ke akhir baris
esc
Ctrl-u
Mengosongkan baris perintah
del
Ctrl-d
Menghapus karakter-karakter mulai dari kursor ke kanan
backspace
Ctrl-h
Menghapus karakter-karakter sebelum kursor
 

E. Teknik Mengetik dalam MATLAB
Jika Anda melakukan kesalahan dalam mengetikkan perintah MATLAB, Anda tidak perlu mengetik ulang keseluruhan baris perintah tersebut. Kunci-kuci control yang bisa Anda gunakan untuk menghemat waktu pengetikan jika terjadi kesalahan pada Tabel 2.1

F. Format Keluaran
Format keluaran MATLAB dikendalikan oleh perintah-perintah seperti yang ditampilkan pada table 1.3. berikut ini :
Kunci Kontrol
Arti
format short
Akurasi 5 dijit
format long
Akurasi 15 dijit
format short e
Notasi saintifik, 5 dijit
format long e
Notasi saintifik, 15 dijit
format short g
Akurasi 6 dijit
format long g
Akurasi 16 dijit
format hex
Format heksadesimal
format ‘+’
+, -, dan kosong
format bank
Format bank, dolar dan sen
format rat
Menjadi rasio integer  terdekat


Perhatikan beberapa contoh format MATLAB berikut ini :


>>format short
>>e=123.345889
e =
      123.3459

>>format long
>>e=12329387293.345889
e=
      1.232938729334589e+010

>>format hex
>>e=12329387293. 345889
e=
     4206f71c28eac461

>>format rat
>>23.56
ans=
        589/25
>>Bersambung<<.. :)

Penulis=> Unknown11.32