Jumat, 13 Oktober 2017

Mengenal Perbedaan IP Publik dan IP Private Serta Jenisnya


Daftar Isi
 

A. Pengertian IP Address (Internet Protocol Address) 

Untuk bisa saling berkomunikasi komputer memerlukan IP Address,IP address merupakan alamat pengenal standar untuk semua perangkat di jaringan yang menggunakan standar protocol internet. IP address inilah yang menjadi label kemana paket data akan dikirim dan diterima.jadi semua perangkat yang terhubung ke jaringan harus mempunyai IP Address yang menjadi alamat standar pengiriman dan penerimaan data . untuk penjelasan lengkap bisa dilihat tentang penjelasan TCP/IP dan cara komputer berkomunikasi .Pada umumnya untuk memudahkan penyebutan  “IP address” sering juga disebut dengan istilah “IP” saja.  IP address yang sering digunakan adalah IPV4 seperti contoh : 192.168.100.102 dan IPV6 untuk saat ini hanya digunakan untuk server yang berada di jaringan internet.
  • B.IP Private (IP Local)

    Hanya digunakan pada jaringan LAN -Disebut private  karena IP ini hanya bisa diakses dari jaringan local saja dan tidak bisa diakses melalui jaringan internet secara langsung tanpa bantuan router(NAT).IP private digunakan untuk  jaringan local (LAN)agar sesama komputer dapat saling berkomunikasi,misalnya digunakan di jaringan sekolah,kantor,toko,dll . perangkat kantor /gadget seperti printer,komputer,laptop,smartdevice menggunakan ip private .Agar IP private dapat terhubung ke internet maka diperlukan router yang ditugaskan untuk nge NAT (agar semua IP local bisa terkoneksi ke internet dengan menggunakan IP Publik yang terkoneksi langsung ke Internet) , walau sudah terkoneksi ke internet IP private tetap tidak bisa diakses langsung dari jaringan internet, karena dari sudut pandang Internet, IP private mu terlihat seperti IP publik yang digunakan untuk NAT(karena kamu pake ip private dan menggunakan NAT IP publik untuk terkonek ke internet).
    ip private hanya digunakan oleh jaringan LAN
    IP private persis seperti nomer telepon local/interkom dalam sebuah kantor ,nomer local intercom tidak bisa digunakan untuk menelepon ke luar (katakanlah internet) . Diperlukan Nomer telepon yang terdaftar ke telkom (katakanlah 1 IP publik) agar pengguna intercom bisa menelepon ke semua nomer yang ada di dunia (katakanlah Berinternet)
    Dalam penggunaan nya IP private tidak perlu didaftarkan/registrasi ke pihak otoritas sebelum digunakan karena penggunaan IP private telah diatur,dialokasian  dan distandarkan oleh IANA (Lembaga yang mengatur penggunaan dan pengalokasian IP di planet bumi  ) dalam terbitan RFC 1918 seperti tertera di bawah ini.
    Alokasi IP v4  private sesuai standar internasional ketika  Internet Engineering Task Force (IETF) telah menunjuk  Internet Assigned Numbers Authority (IANA) untuk mengalokasikan IPv4 untuk jaringan private , yang diterbitkan dalam  RFC 1918 sebagai berikut:
    RFC1918 name Rentang IP Total jumlah IP largest CIDR block (subnet mask) host id size mask bits classful description[Note 1]
    24-bit block 10.0.0.0 – 10.255.255.255 16,777,216 10.0.0.0/8 (255.0.0.0) 24 bits 8 bits single class A network
    20-bit block 172.16.0.0 – 172.31.255.255 1,048,576 172.16.0.0/12 (255.240.0.0) 20 bits 12 bits 16 contiguous class B networks
    16-bit block 192.168.0.0 – 192.168.255.255 65,536 192.168.0.0/16 (255.255.0.0) 16 bits 16 bits 256 contiguous class C networks
    sedangkan untuk IPv6 diterbitkan dalam RFC 4193
    RFC 4193 Block Prefix/L Global ID (random) Subnet ID Number of addresses in subnet

    48 bits 16 bits 64 bits
    fd00::/8 fd xx:xxxx:xxxx yyyy 18,446,744,073,709,551,616

     

    C.IP Publik

    IP publik adalah IP yang digunakan dalam jaringan global Internet, karena kelas IP ini digunakan di dalam jaringan internet maka IP ini bisa diakses melalui jaringan internet secara langsung. Perangkat yang menggunakan IP public biasanya bertindak sebagai SERVER atau ROUTER , seperti web server,mailserver,DNS server,Game Server dan server yang lain dengan tujuan agar server bisa diakses dari jaringan manapun di dunia ini yang terkoneksi ke internet. Untuk dapat menggunakan IP public, suatu organisasi harus mendaftarkan diri agar mendapat alokasi IP public yang akan digunakan.IP public bisa didapat dari ISP (internet service provider).
    ip public digunakan untuk server dan router pada jaringan internet
    Komputer dengan IP public memerlukan pengamanan extra karena sangat rentan terhadap serangan dari hacker yang ada dalam jaringan internet.Alokasi IP public sudah diatur dan di distribusikan berdasar negara, artinya kita bisa mengenali negara pengguna internet dari IP 36.79.151.75 adalah ip indonesia yang dimiliki oleh telkom speedy. untuk mengeceknya kita  bisa menggunakan tool whois IP ,dengna kata lain penggunaan IP public diatur ketat oleh asosiai internet global dan setiap IP telah didaftarkan kepada pemegang yang sah dan hanya bisa dipakai oleh pemilik yang sah.

    D. Penggunaan dan pengalokasian IP Publik diatur secara ketat

    Perjalanan IPv4 dalam dunia internet dan jaringan bermula di awal tahun 1970, ketika itu projek DARPA (Defense Advanced Reserch Project Agency) yang menjadi cikal bakal internet saat ini. dikala itu karena jumlah komputer yang menggunakan internet belum seberapa jumlah nya maka digunakakanlah pengalamatan 32bit angka binary sebagai IPv4 untuk perangkat jaringan dan komputer. dengan 32bit IPv4 didapatkan 4,294,967,296 IP unik ini merupakan angka yang sangat banyak dikala itu dan lebih dari cukup. Semua berubah ketika negara api menyerang  diawal tahun 1990an pertumbuhan dunia komputer dan jaringan sangat pesat sedangkan pengalokasian IP disaat itu belum ada. karena menyadari bahwa IP bakal habis jika tidak diatur maka munculah ide untuk mengalokasikan IP khusus untuk perangkat Local network atau yang dikenal dengan IPv4 Private addresses, itu tersebut direalisasikan dalam terbitan RFC 1918 yang berisi deretan IP yang harus digunakan untuk perangkat Local Network /internal network.
    IP private telah ditentukan dan diatur dalam terbitan RFC 1918 , dan penggunaan nya tidak perlu registrasi karena ruang lingkupnya hanya jaringan local. beda dengan IP Public yang bisa diakses dari manapun /global ,untuk dapat menggunakan IP public seseorang/organisasi harus mendaftar dulu kepada otoritas terdekat seperti ISP untuk mendapat alokasi IP public yang akan digunakan.
    pengalokasian IP addresses public diatur oleh organisasi yang disebut IANA (Internet Assigned Numbers Authority). IANA bertanggung jawab atas pengalokasian IP address (baik IPv4 atapun IPv6) ,mengalokasikan IP khusus untuk keperluan Khusus seperti militer /penelitian,mengatur dan mendistribusikan IP berdasar regional /negara .
    Kedua jenis IPv4 ataupun IPv6 pada dasarnya dialokasikan secara terstruktur. pengguna/organisasi dapat mendapatkan IP address public dari ISP (Internet Service Provicer) , ISP mendapat Alokasi IP address dari LIR (Local Internet Registry) atau National Internet Registry (NIR) atau mendapat alokasi dari Regional Internet Registry (RIR). karena IP public dalam penggunaan nya memerlukan registrasi sebelum dialokasikan maka IP Public ketika di WHOIS (istilah untuk melihat kepada siapa IP /Domain diregister) akan muncul data dari pemilik/organisasi dan negara pemegang IP public tersebut.makanya keberadaan hacker dapt diketahui dari jejak /log IP yang tertinggal ketika melakukan hacking di TKP.
    Untuk saat ini dinia dibagi menjadi 5 region (RIR )untuk menagani pendistribusian dan registrasi IP public:


    Registry Area Covered
    AFRINIC Africa Region
    APNIC Asia/Pacific Region
    ARIN Canada, USA, and some Caribbean Islands
    LACNIC Latin America and some Caribbean Islands
    RIPE NCC Europe, the Middle East, and Central Asia

     

    E.Jenis-Jenis IP

    Ada 2 jenis IP berdasar persistensi ip tersebut menempel di perangkat komputer, yaitu IP Static dan IP Dynamic. (tidak peduli apakah IP Public atau IP private)
  • Dynamic IP Address
    Disebut IP Dynamic / dinamis karena IP yang didapat perangkat komputer akan berganti setiap kalo perangkat komputer direstart, seperti IP Address yang didapat modem speedy, akan berubah setiap kali modem direstart. dan IP yang kita dapat pada saat kita konek ke hotspot. IP dinamik tidak memerlukan settingan manual karena IP akan otomatis dialokasikan oleh Router(DHCP Server) ke perangkat yang terhubung ke perangkat komputer yang terhubung ke jaringan.
  • Static IP Address
    Static IP atau ip statis adalah ip yang dipasang secara manual atau  IP yang dialokasikan khusus oleh router untuk suatu perangkat komputer (router,tablet,smartphone,smart device dll),sehingga ketika perangkat direstart IP tidak berubah.
IP static atau dinamic bisa disetting dengan protocol DHCP, walaupun DHCP router bisa memberi IP statis kepada perangkat komputer berdasarkan mac address . Jadi ip static adalah ip yang tidak berubah walau perangkat direstart, bukan hanya ip yang disetting manual pada perangkat kompiuter saja.

F.Cara Mengetahui Jenis IP yang sedang kita gunakan

Jika kamu  pengin tau apakah IP private atau IP public yang sedang kamu gunakan, kamu bisa mengeceknya dengan mudah.
IP Public atau Private yang sedang kamu gunakan sekarang?
-Buka http://net.ipcalf.com/ untuk mengetahui IP Private yang sedang  digunakan sekarang

-Buka http://cmyip.com/ untuk mengetahui IP Public yang sedang digunakan sekarang

Jika ip yang muncul di kedua website tersebut sama, berarti kamu sekarang sedang menggunakan IP public secara langsung. dan jika berbeda berarti kamu sekarang sedang menggunakan IP private yang di NAT sehingga kamu bisa konek ke internet. menggunakan NAT akan lebih aman dibanding kita langsung menggunakan IP public secara langsung ke perangkat yang kita.
Terus IP dinamik atau statis yang sedang kamu gunakan saat ini ?
-Caranya gampang, tinggal restart modem dan komputer kamu lalu buka lagi website diatas.
-Jika IP  di website http://net.ipcalf.com/ berbeda deengan yang tadi maka IP Private mu bersifat dynamic, kalo sama berarti static
-Jika IP public mu berbeda dengan sebelum direstart modem/komputer maka jenis IP mu adalah Dynamic, kalo hasilnya gak berubah maka static

 

G.Banned IP

Banned atau blokir berdasar IP Address sangat umum digunakan oleh admin untuk membatasi akses untuk user nakal atau user yang berpotensi mengancam sistem. sistem blokir IP efektif diterapkan jika user menggunakan IP Static, jika menggunakan IP Dynamic maka sistem blokir IP akan sia-sia,karena setiap kali perangkat direstart user akan mendapat IP baru.
Dalam industri game online sistem banned IP juga digunakan untuk memabtasi akses game server berdasarkan negara, misalnya game TOS NA memblokir IP seluruh indonesia, sehingga player dari indonesia tidak bisa bermain di server NA. Banned IP juga digunakan untuk memblokir akses cheater dalam sebuah game.
Di indonesia penerapan banned IP sangat tidak efektif dan bisa salah sasaran ,Banned IP hanya bisa diterapkan ke IP Public,sedangkan user indonesia tidak memakai IP public secara dedicated.Karena rata-rata pengguna internet indonesia menggunakan IP Public secara nat (1 IP public dipakai banyak user misalnya pengguna internet seluler) dan IP public dialokasikan secara dynamic. untuk mengatasi hal ini biasanya publisher game akan memberlakukan banned berdasar Hardware ID (Identitas dari perangkat keras komputer) misalnya berdasar mac address dan serial Harddisk, tetapi user jarang sekali yang tau akan hal ini karena publisher game merahasiakan trik ini dan tetap menyampaikan kalu yang dilakukan nya adalah banned IP.

Jumat, 29 September 2017

PAYTREN

Klik link dibawah ini...
Dibaca, diterawang, dan di fahami...
http://www.aplikasipaytren.com/?reg=rosmawi

Sabtu, 29 Juli 2017

CITRA DIGITAL

Penerapan gambar di Citra Digital


Pengertian Pengolahan Citra Digital Dan Pemanfaatannya

Pengolahan Citra Digital----- Sebagai mahasiswa teknik Informatika kita harus Mengenal mata kuliah yang satu ini, Pengolahan Citra Digital. Biasanya Pengolahan Citra Digital di ajarkan di semester 6 atau 7, tergantung program studi masing-masing universitas. Pengertian dari Pengolahan Citra Digital adalah : proses yang bertujuan untuk memanipulasi dan menganalisis citra dengan bantuan komputer. Baik citra yang berdimensi 2 atau citra 3 dimensi. 

Pengolahan citra digital dapat dikelompokkan dalam dua jenis kegiatan :
1. Memperbaiki kualitas suatu gambar, sehingga dapat lebih mudah diinterpretasi oleh mata manusia. Perbaikan ini termasuk dalam image Enhancement, sehingga di dapati kualitas citra yang lebih bagus dari sebelumnya, ada banyak sekali metode dalam perbaikan citra digital. Nanti akan dijelaskan admin pada postingan, berikutnya. Tunggu dan sabar kuliah onlinenya yahh :D
2. Mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis. Sebagai contoh aplikatifnya, image detection, sebuah potret wajah seseorang yang telah disimpan dalam databse, akan dapat dikenali oleh sistem komputer yang telah memuat pengolahan citra digital. Sebagai contoh simplenya, dalam aplikasi facebook anda, ketika anda mengunggah sebuah foto, maka facebook akan mengenali wajah siapa saja yang ada dalam foto tersebut. Nah, dalam image detection, akan ada syarat serta ketentuan tertentu yang harus di penuhi.

Bidang aplikasi kedua yang sangat erat hubungannya dengan ilmu pengetahuan pola (pattern recognition) yang umumnya bertujuan mengenali suatu objek dengan cara mengekstrak informasi penting yang terdapat pada suatu citra. Bila pengenalan pola dihubungkan dengan pengolahan citra, diharapkan akan terbentuk suatu sistem yang dapat memproses citra masukan sehingga citra tersebut dapat dikenali polanya. Proses ini disebut pengenalan citra atau image recognition. Proses pengenalan citra ini sering diterapkan dalam kehidupan sehari-hari.

Pengolahan citra dan pengenalan pola menjadi bagian dari proses pengenalan citra. Kedua aplikasi ini akan saling melengkapi untuk mendapatkan ciri khas dari suatu citra yang hendak dikenali. Secara umum tahapan pengolahan citra digital meliputi akusisi citra, peningkatan kualitas citra, segmentasi citra, representasi dan uraian, pengenalan dan interpretasi.


1. program citra berwarna dll

a=imread('c:\image\MAWI 1.jpg');
 red=a(:,:,1);
 green=a(:,:,2);
 blue=a(:,:,3);
 subplot(2,2,1);imshow(a),title('empat bola')
 subplot(2,2,2);imshow(red),title('empat bola merah')
 subplot(2,2,3);imshow(green),title('empat bola hijau')
 subplot(2,2,4);imshow(blue),title('empat bola biru')


x=imread('c:\image\MAWI 1.jpg');
z=x + 80 ;
subplot(1,2,1);imshow(x)
subplot(1,2,2);imshow(z)
y=2.5 * x;
subplot(2,2,1);imshow(x)
subplot(2,2,1);imshow(x)
subplot(2,2,2);imshow(z)
subplot(2,2,3);imshow(y)
figure(1);imshow(x)
figure(1);imshow(x)
figure(2);imshow(z)
figure(3);imshow(y)


2. Program kode program mengubah citra berwarna ke citra abu-abu

img=imread('c:\image\MAWI 1.jpg');
x=uint8(0.2989 * double(img(:,:,1))...
 + 0.5870 *double(img(:,:,2)) + 0.1141 *double(img(:,:,3)));
subplot(2,2,1);imshow(img),title('Rosmawi')
subplot(2,2,2);imshow(x),title('Rosmawi Keluaran')

program mengetahui susunan warna pada citra

a=imread('c:\image\MAWI 1.jpg');
 red   =a(:,:,1);
 green=a(:,:,2);
 blue  =a(:,:,3);
 subplot(2,2,1);imshow(a),title('Masukan empat bola')
 subplot(2,2,2);imshow(red),title('empat bola merah')
 subplot(2,2,3);imshow(green),title('empat bola hijau')
 subplot(2,2,4);imshow(blue),title('empat bola biru')

program mengubah citra abu-abu ke citra biner

img=imread('c:\image\MAWI 1.jpg');
 [tinggi,lebar] = size(img);
 ambang=150;
 biner=zeros(tinggi, lebar);
for baris=1 : tinggi
for kolom=1 : lebar 
if  img(baris,kolom)  >=ambang
biner(baris, kolom) = 0;
else
biner(baris,kolom) =1;
end
end
end

subplot(1,2,1);imshow(img),title('Masukan citra abu-abu')
subplot(1,2,2);imshow(biner),title('citra biner')
imshow(biner)



RGB=imread('C:\Image\MAWI 1.jpg');
YCBCR = rgb2ntsc(RGB);
Y=YCBCR(:,:,1); %Ekstraksi matriks Y
Cb=YCBCR(:,:,2); %Ekstraksi matriks Bc
Cr=YCBCR(:,:,3); %Ekstraksi matriks Br
subplot(2,2,1); imshow(RGB);
subplot(2,2,2); imshow(Y);
subplot(2,2,3); imshow(Cb);
subplot(2,2,4); imshow(Cr);

















program pemotongan aras keabuan

f = imread('c:\image\mobil.tif');
[jum_baris, jum_kolom] = size(f);
g = f;
for baris=2 : jum_baris-1
    for kolom=2 : jum_kolom-1
        minpiksel = min([f(baris-1, kolom-1)       ...
            f(baris-1, kolom) f(baris, kolom+1)    ...
            f(baris, kolom-1)                      ...
            f(baris, kolom+1) f(baris+1, kolom-1)  ...
            f(baris+1, kolom) f(baris+1, kolom+1)]);
        makspiksel = max([f(baris-1, kolom-1)       ...
            f(baris-1, kolom) f(baris, kolom+1)    ...
            f(baris, kolom-1)                      ...
            f(baris, kolom+1) f(baris+1, kolom-1)  ...
            f(baris+1, kolom) f(baris+1, kolom+1)]);    
            
        if f(baris, kolom) < minpiksel
           g(baris, kolom) = minpiksel;
        else
            if f(baris, kolom) > makspiksel
                g(baris, kolom) = makspiksel;
            else
                g(baris, kolom) = f(baris, kolom);
            end
        end    
    end
end


Program filter Batas
==========================

f = imread('c:\image\mobil.tif');
[jum_baris, jum_kolom] = size(f);
g = f;
for baris=2 : jum_baris-1
    for kolom=2 : jum_kolom-1
        minpiksel = min([f(baris-1, kolom-1)       ...
            f(baris-1, kolom) f(baris, kolom+1)    ...
            f(baris, kolom-1)                      ...
            f(baris, kolom+1) f(baris+1, kolom-1)  ...
            f(baris+1, kolom) f(baris+1, kolom+1)]);
        makspiksel = max([f(baris-1, kolom-1)       ...
            f(baris-1, kolom) f(baris, kolom+1)    ...
            f(baris, kolom-1)                      ...
            f(baris, kolom+1) f(baris+1, kolom-1)  ...
            f(baris+1, kolom) f(baris+1, kolom+1)]);    
            
        if f(baris, kolom) < minpiksel
           g(baris, kolom) = minpiksel;
        else
            if f(baris, kolom) > makspiksel
                g(baris, kolom) = makspiksel;
            else
                g(baris, kolom) = f(baris, kolom);
            end
        end    
    end
end

subplot(1,2,1);imshow(f)
subplot(1,2,2);imshow(g)



Program Filter Pererataan
===============================
f = imread('c:\image\boneka2.tif');
[jum_baris, jum_kolom] = size(f);
f2=double(f);
for baris=2 : jum_baris - 1
      for kolom=2 : jum_kolom - 1
jumlah= f2 (baris - 1, kolom - 1) + ...
f2(baris - 1 , kolom) + ...
f2(baris - 1, kolom - 1) +  ...
f2(baris, kolom - 1) +  ...
f2(baris, kolom) +  ...
f2(baris, kolom + 1) +  ...
f2(baris +1, kolom - 1) +  ...
f2(baris+1, kolom) +  ...
f2(baris+1, kolom + 1) ;

g(baris, kolom) = uint8 ( 1/9  *  jumlah);
     end
end
subplot(1,2,1);imshow(f)
subplot(1,2,2);imshow(g)



program filter median
=======================
f = imread('c:\image\mobil.tif');
[jum_baris, jum_kolom] = size(f);
for baris=2 : jum_baris - 1
      for kolom=2 : jum_kolom - 1
data= [f(baris-1, kolom-1) ...
f(baris-1, kolom) ...
f(baris-1, kolom+1) ...
f(baris, kolom-1) ...
f(baris, kolom) ...
f(baris, kolom+1) ...
f(baris+1, kolom-1) ...
f(baris+1, kolom) ...
f(baris+1, kolom-1)];
%urutkan
for i=1 : 8
   for j=i+1 : 9
      if data(i) > data(j)
temp =data(i);
data(i)=data(j);
data(j)=temp;
     end
  end
end
%ambil nilai median
g(baris,kolom)=data(5);
end
end
subplot(1,2,1);imshow(f)
subplot(1,2,2);imshow(g)

program penggeseran citra
---------------------------------------------

f=imread('c:\image\kartun.tif');
[jum_baris,jum_kolom]=size(f);
sx=20;   %penggeseran arah horizontal
sy=60;  %penggeseran arah vertikal
f2=double(f);
g=zeros(size(f2));
for baris=1 : jum_baris
  for kolom=1: jum_kolom
xlama=baris - sx;
ylama=kolom - sy;
  if (xlama >=1) && (xlama<=jum_baris) && ...
  (ylama >=1) && (ylama<=jum_kolom)
  g(baris,kolom)=f2(xlama, ylama);
  else
  g(baris,kolom)=0;
  end
 end
end
h=uint8(g);
subplot(1,2,1);imshow(f)
subplot(1,2,2);imshow(h)

program memutar citra
============================
f=imread('c:\image\kartun.tif');
 [jum_baris, jum_kolom]=size(f);
sudut=10;  %sudut pemutaran
rad=pi * sudut/180;
cosa=cos(rad);
sina=sin(rad);
f2=f;
for y=1 : jum_baris
  for x=1 :jum_kolom
 x2=round(x * cosa + y * sina);
 y2=round(y * cosa - x * sina);

   if (x2>= 1) && (x2<=jum_kolom) && ...
   (y2 >=1)    && (y2<=jum_baris)
   g(y,x)=f2(y2,x2);
   else
   g(y,x)=0;
   end
 end
end
subplot(1,2,1);imshow(f)
subplot(1,2,2);imshow(g)


Program memperbesar Citra dengan fungsi
----------------------------------------------------
function g = perbesar(citra, sy, sx)
f = imread(citra);
[baris, kolom] = size(f);
baris_baru    = baris * sy;
kolom_baru = kolom * sx;
f2 = double(f);
for y=1 : baris_baru
    y2 = ((y-1) / sy) + 1;
    for x=1 : kolom_baru
        x2 = ((x-1) / sx) + 1; 
        g(y, x) = f(floor(y2), floor(x2));
    end
end

h = uint8(g);
end  %akhir fungsi
u=imread('c:\image\lena128.tif');
z=perbesar('c:\image\lena128.tif', 0.25, 0.25);
subplot(1,2,1);imshow(u),title('citra masukan')
subplot(1,2,2);imshow(z),title('citra perbesar')


program memperbesar citra cara tanpa fungsi 
=========================================
f=imread('c:\image\lena128.tif');
[baris, kolom] = size(f);
sy=0.5;
sx=2;
baris_baru    = baris * sy;
kolom_baru = kolom * sx;
f2=f;
for y=1 : baris_baru
    y2 = ((y-1) / sy) + 1;
    for x=1 : kolom_baru
        x2 = ((x-1) / sx) + 1; 
        g(y, x) = f(floor(y2), floor(x2));
    end
end
subplot(1,2,1);imshow(f),title('citra masukan')
subplot(1,2,2);imshow(g),title('citra perbesar')

program pencerminan citra secara horizontal dengan fungsi
==============================================
function g = cerminh(f)
[tinggi, lebar] = size(f);
for y=1 : tinggi
    for x=1 : lebar
        x2 = lebar - x + 1;
        y2 = y;
        g(y, x) = f(y2, x2); 
    end
end
h = uint8(g);
end   %akhir fungsi
f=imread('c:\image\kartun.tif');
h=cerminh(f);
subplot(1,2,1);imshow(f),title('citra masukan')
subplot(1,2,2);imshow(h),title('citra cermin horizontal')

program pencerminan citra secara horizontal dengan fungsi cara kedua
====================================================
function g = cerminh(f)
[jum_baris, jum_kolom] = size(f); 
for baris=1 : jum_baris
    for kolom=1 : jum_kolom
      
        x2 = jum_kolom - kolom + 1;
        y2 = baris;
        
        g(baris,kolom) = f(y2, x2); 
    end
end
%g = uint8(g);
end    %akhir fungsi
f=imread('c:\image\kartun.tif');
g=cerminh(f);
subplot(1,2,1);imshow(f),title('citra masukan')
subplot(1,2,2);imshow(g),title('citra cermin horizontal')
program pencerminan citra secara horizontal tanpa fungsi
==============================================
f=imread('c:\image\kartun.tif');
[jum_baris, jum_kolom] = size(f); 
for baris=1 : jum_baris
    for kolom=1 : jum_kolom
      
        x2 = jum_kolom - kolom + 1;
        y2 = baris;
        
        g(baris,kolom) = f(y2, x2); 
    end
end
subplot(1,2,1);imshow(f),title('citra masukan')
subplot(1,2,2);imshow(g),title('citra cermin horizontal')



program mencari tepi biner objek tanpa fungsi
===========================================

f=imread('c:\image\daun_bin.tif');
[jum_baris, jum_kolom] = size(f);
g=f;
g = zeros(jum_baris, jum_kolom);
for q = 2 : jum_baris - 1
    for p = 2 : jum_kolom - 1
        p0 = f(q, p+1);
        p1 = f(q-1, p+1);
        p2 = f(q-1, p);
        p3 = f(q-1, p-1);
        p4 = f(q, p-1);
        p5 = f(q+1, p-1);
        p6 = f(q+1, p);
        p7 = f(q+1, p+1);
        sigma = p0 + p1 + p2 + p3 + p4 + p5 + p6 + p7;
        if sigma == 8
            g(q, p) = 0;
        else
            g(q, p) = f(q, p);
        end
    end
end
subplot(1,2,1);imshow(f)
subplot(1,2,2);imshow(g)


function hasil=perim1(bw)
u=inbound_tracing(bw);
hasil=length(u) -1;
end  %akhir fungsi

img=imread('c:\image\daun_bin.tif');
perim1(img)

program pusat massa dan fitur menggunakan pusat massa dengan fungsi
==========================================================
function [pusat_x, pusat_y] = centroid(BW)
% CENTROID Untuk memperoleh pusat massa sebuah objek
%    yang terletak pada citra biner BW

[tinggi, lebar] = size(BW);
pusat_x = 0;
pusat_y = 0;
luas = 0;
for q = 1 : tinggi
   for p = 1 : lebar
      if BW(q, p) == 1
         luas = luas + 1;
         pusat_x = pusat_x + p;
         pusat_y = pusat_y + q;
      end
   end
end
pusat_x = pusat_x / luas;
pusat_y = pusat_y / luas;
end  %akhir fungsi

Daun = imread('C:\Image\daun_bin.tif');
[x, y] = centroid(Daun); imshow(Daun);
[panjang, lebar] = size(Daun);
line([0 lebar], [round(y) round(y)],’Color’,’b’)
line([round(x) round(x)], [0 panjang],’Color’,’b’)


Program Citra berwarna RGB Ke CMYK dengan fungsi sudah dimodifikasi
======================================================

function [c,m,y,k] = rgbkecmyk(r,g,b)
if max(max(r)) > 1.0 || max(max(g)) > 1.0 || max(max(b)) > 1.0
    r = double(r) / 255;
    g = double(g) / 255;
    b = double(b) / 255;
end

u = 0.5;
be = 1;
[tinggi, lebar] = size(r);
for baris=1: tinggi
    for kolom=1: lebar
        kb = min([(1-r(baris,kolom)) (1-g(baris,kolom)) (1-b(baris,kolom))]);
        if kb == 1
            c(baris,kolom) = 0;
            m(baris,kolom) = 0;
            y(baris,kolom) = 0;
        else  
            c(baris,kolom)  = (1.0 - r(baris,kolom) -  u * kb);
            m(baris,kolom) = (1.0 - g(baris,kolom) - u * kb);
            y(baris,kolom)  = (1.0 - b(baris,kolom) - u * kb);
            k(baris,kolom) = be * kb;
        end
    end
end

% Konversikan ke jangkauan [0,255]
c  = uint8(c * 255);
m = uint8(m * 255);
y  = uint8(y * 255);
k = uint8(k * 255);
end   %akhir fungsi
[c,m,y,k] = rgbkecmyk(171, 215, 170)

konversi rgb ke cmyk dengan nilai =
c = 64
m = 20
y = 65
k = 40

img = imread('c:\Image\lapangan.tif');
[c,m,y,k] = rgbkecmyk(img(:,:,1), img(:,:,2), img(:,:,3));
subplot(1,2,1);imshow(img)
subplot(1,2,2);imshow([c,m,y,k])

Program deteksi garis citra biner dengan fungsi
=================================

function [g] = deteksi(f, h, potong, pembulatan)
if nargin < 3
    potong = false;
end
if nargin < 4
    pembulatan = true;
end
[tinggi_f, lebar_f]  = size(f);
[tinggi_h, lebar_h] = size(h);
if rem(lebar_h, 2) == 0 || rem(tinggi_h, 2) == 0
    disp('lebar dan tinggi h harus ganjil');
    return;
end
m2 = floor(tinggi_h / 2);
n2  = floor(lebar_h / 2);

% Menentukan ukuran hasil beserta penentu  koordinat horizontal/vertikal/45/-45
if potong == true
    sisi_m2 = m2;
    sisi_n2  = n2;
    g = zeros(tinggi_f - 2 * m2, lebar_f - 2 * n2);
else
    sisi_m2 = 0;
    sisi_n2  = 0;
    g = zeros(size(f));
end
f2=double(f);
for y=m2+1 : tinggi_f-m2
    for x=n2+1 : lebar_f-n2
        % Pelaksanaan korelasi f(baris, kolom)
        jum = 0;
        for p= -m2 : m2
            for q= -n2 : n2
                jum = jum + h(p+m2+1,q+n2+1) * f2(y+p, x+q);
            end
        end  
        g(y - sisi_m2, x - sisi_n2) = jum;
    end
end
if pembulatan == true
    g = uint8(g);
end
end    %akhir fungsi

h1 = [-1 2 -1; -1 2 -1 ; -1 2 -1];
img = imread('C:\image\kotak.png');
g = deteksi(img, h1);
subplot(1,2,1);imshow(img)
subplot(1,2,2);imshow(g,[0 1])


Program Deteksi garis pada citra Biner
====================================
function [G] = deteksi(F, H, potong, pembulatan)
if nargin < 3
    potong = false;
end

if nargin < 4
    pembulatan = true;
end

[tinggi_f, lebar_f] = size(F);
[tinggi_h, lebar_h] = size(H);

if rem(lebar_h,2) == 0 || rem(tinggi_h,2) == 0
    disp('Lebar dan tinggi H harus ganjil');
    return;
end

m2 = floor(tinggi_h/2);
n2 = floor(lebar_h/2);

% Menentukan ukuran hasil beserta
%    penentu ofset koordinat
if potong == true
    sisi_m2 = m2;
    sisi_n2 = n2;
    G = zeros(tinggi_f - 2 * m2, lebar_f - 2 * n2);
else
    sisi_m2 = 0;
    sisi_n2 = 0;
    G = zeros(size(F));
end
F2=double(F);
for y=m2+1 : tinggi_f-m2
    for x=n2+1 : lebar_f-n2
        % Pelaksanaan korelasi F(baris, kolom)
        jum = 0;
        for p=-m2 : m2
            for q=-n2 : n2
                jum = jum + H(p+m2+1,q+n2+1) * ...
                      F2(y+p, x+q);
            end
        end  
        G(y - sisi_m2, x - sisi_n2) = jum;
    end
end
if pembulatan == true
    G = uint8(G);
end
end    %akhir fungsi

H1 = [-1 -1 2; -1 2 -1 ; 2 -1 -1];
img = imread('C:\image\kotak.png');
G = deteksi(img, H1);
subplot(1,2,1);imshow(img)
subplot(1,2,2);imshow(G,[0 1])

H1 = [-1 -1 -1; 2 2 2; -1 -1 -1];
img = imread('C:\image\kotak.png');
G = deteksi(img, H1);
subplot(1,2,1);imshow(img)
subplot(1,2,2);imshow(G,[0 1])

H1 = [-1 2 -1; -1 2 -1;-1 2 -1];
img = imread('C:\image\kotak.png');
G = deteksi(img, H1);
subplot(1,2,1);imshow(img)
subplot(1,2,2);imshow(G,[0 1])

H1 = [2 -1 -1; -1 2 -1;-1 -1 2];
img = imread('C:\image\kotak.png');
G = deteksi(img, H1);
subplot(1,2,1);imshow(img)
subplot(1,2,2);imshow(G,[0 1])



Program derau gaussian dengan fungsi
==================================================
function [g] = gaussian(f, sigma, mu)
%    g        = Menghasilkan citra yang telah diberi derau menggunakan gaussian.
%    f        = citra masukan berskala keabuan
%    sigma = standar deviasi fungsi gaussian
%    mu     = rerata fungsi Gaussian
if nargin < 3
    mu = 0;         % Nilai bawaan mu
end
if nargin < 2
    sigma = 1;      % Nilai bawaan standar deviasi
end
[m, n] = size(f);
g = double(f);
for i=1 : m
    for j=1 : n
        derau = randn * sigma + mu;
        g(i,j)  = round(f(i, j) + derau);  
        if g(i,j) >= 255
            g(i,j) = 255;
        elseif g(i,j) <= 0
            g(i,j) = 0;
        end
    end
end
g = uint8(g);
end   %akhir fungsi
f = imread('c:\image\kartun.tif');
g = gaussian(f, 150);
subplot(1,2,1);imshow(f), title('citra masukan')
subplot(1,2,2);imshow(g), title('citra keluaran')

Program garam dan merica dengan fungsi
=================================
function [g] = gamer(f, probabilitas)
if nargin < 2
    probabilitas = 0.05;        % Nilai bawaan
end;
[m, n] = size(f);
g = double(f);
for i=1 : m
    for j=1 : n
        nilai_acak = rand;
        if nilai_acak <= probabilitas / 2
            g(i,j) = 0;
        elseif (nilai_acak > probabilitas / 2) && ...
               (nilai_acak <= probabilitas)
            g(i,j) = 255;
        end
    end
end
g = uint8(g);
end   %akhir fungsi
f = imread('c:\image\boneka.tif');
g = gamer(f, 0.05);
subplot(1,2,1);imshow(f), title('citra masukan')
subplot(1,2,2);imshow(g), title('citra keluaran')





Sabtu, 15 Juli 2017

PROG MELIHAT WARNA RGB

salam hangat teman,
bertemu lagi dengan saya Rosmawi.
kali ini saya akan membagikan sebuah program citra digital
tentang melihat warna RGB (red, green dan blue )

berikut ini adalah bentuk program dan gambar yang dihasilkan dengan menggunakan aplikasi OCTAVE

%program melihat warna rgb
%
Y=imread('c:\image\MAWI 1.jpg');
X=imread('c:\image\MAWI 1.jpg');
X(:,:,1)=2 * X(:,:,1);
subplot(1,2,1);imshow(Y)%bentuk gambar original
subplot(1,2,2);imshow(X)%bentuk gambar yang sudah di rubah

%program melihat warna rgb
%rgb
%
Y=imread('c:\image\MAWI 1.jpg');
X=imread('c:\image\MAWI 1.jpg');
X(:,:,2)=2 * X(:,:,2);
subplot(1,2,1);imshow(Y)
subplot(1,2,2);imshow(X)

%program melihat warna rgb
%rgb sepia
%
A=imread('c:\image\MAWI 1.jpg');
B=imread('c:\image\MAWI 1.jpg');
B(:,:,3)=2 * B(:,:,3);
subplot(1,2,1);imshow(A)
subplot(1,2,2);imshow(B)

 RGB BLUE
 RGB GREEN
RGB RED



kode program mengubah citra berwarna ke citra abu-abu

img=imread('c:\image\MAWI 1.jpg');
x=uint8(0.2989 * double(img(:,:,1))...
 + 0.5870 *double(img(:,:,2)) + 0.1141 *double(img(:,:,3)));
subplot(2,2,1);imshow(img),title('Rosmawi')
subplot(2,2,2);imshow(x),title('Rosmawi Keluaran')

kode program mengetahui susunan warna pada citra

 a=imread('c:\image\MAWI 1.jpg');
 red   =a(:,:,1);
 green=a(:,:,2);
 blue  =a(:,:,3);
 subplot(2,2,1);imshow(a),title('Masukan empat bola')
 subplot(2,2,2);imshow(red),title('empat bola merah')
 subplot(2,2,3);imshow(green),title('empat bola hijau')
 subplot(2,2,4);imshow(blue),title('empat bola biru')


program histogram citra keabuan
=============================
img=imread('c:\image\boneka.tif');
[jum_baris,jum_kolom]=size(img);
histogram=zeros(256,1);
for baris=1 : jum_baris
for kolom=1 : jum_kolom
 histogram(img(baris,kolom) + 1) = ...
 histogram(img(baris,kolom) + 1) + 1;
end
end
horijontal=(0:255) ;
bar(horijontal,histogram);
subplot(1,2,1);imshow(img)
subplot(1,2,2);bar(horijontal,histogram)


program pemotongan aras keabuan (menghilangkan derau)
================================================
function [img] = potong(citra,f1,f2)
img=imread(citra);   
[jum_baris,jum_kolom]=size(img);
for baris=1 : jum_baris
for kolom=1 : jum_kolom
 if img(baris, kolom ) <=f1 
 img(baris,kolom)=0;
 end
  if img(baris,kolom) >=f2 
  img(baris,kolom)=255;
  end
end
end
end   %akhir fungsi
h=potong('c:\image\daun.tif',30,140);
imshow(h)
p=imread('c:\image\daun.tif');
subplot(1,2,1);imshow(p)
subplot(1,2,2);imshow(h)


PROGRAM CITRA BERWANA DAN KECERAHAN

salam hangat teman,
bertemu lagi dengan saya Rosmawi.
kali ini saya akan membagikan sebuah program citra digital
tentang citra berwarna dan kecerahan

berikut ini adalah bentuk program dan gambar yang dihasilkan dengan menggunakan aplikasi OCTAVE

Program Citra Berwarna

%program citra berwarna dll
%menampilkan gambar berwarna
%menampilkan gambar tidak berwarna
%menampilkan gambar tidak berwarna
%menampilkan gambar tidak berwarna
%
a=imread('c:\image\MAWI 1.jpg');
 red=a(:,:,1);
 green=a(:,:,2);
 blue=a(:,:,3);
 subplot(2,2,1);imshow(a),title('empat bola')
 subplot(2,2,2);imshow(red),title('empat bola merah')
 subplot(2,2,3);imshow(green),title('empat bola hijau')
 subplot(2,2,4);imshow(blue),title('empat bola biru')

%program menampilkan kererahan gambar
% program ini menghasilkan gambar
%original
%dicerahkan dengan prog citra
%dan dicerahkan lagi
%
%
x=imread('c:\image\MAWI 1.jpg');
z=x + 80 ;
subplot(1,2,1);imshow(x)
subplot(1,2,2);imshow(z)
y=2.5 * x;
subplot(2,2,1);imshow(x)
subplot(2,2,1);imshow(x)
subplot(2,2,2);imshow(z)
subplot(2,2,3);imshow(y)
figure(1);imshow(x)
figure(1);imshow(x)
figure(2);imshow(z)
figure(3);imshow(y)

"keterangan tanda % adalah sebagai pemberitahuan aja, tidak dimasukan kedalam programpun tidaka ada masalah. program akan tetap berjalan"

nah nampak jelaskan perbedaan dari gambar diaas...
ini adalah gambar citra kecerahan

sekian dari saya,

salam
Rosmawi


Jumat, 14 Juli 2017

PROGRAM PENGGABUNGAN CITRA

PROGRAM CITRA
penggabungan 6 scrip dijadikan 1 tampilan gambar CITRA

function [G] = roberts(F)
%pariabel dari semua ini harus berbeda jika
%untuk menampilkan keseluruhan gambar
[m, n] = size(F);

F=double(F);
for y=1 : m-1
    for x=1 : n-1
     
        G(y, x) = sqrt((F(y,x)-F(y+1,x+1))^2 + ...
                       (F(y+1,x)-F(y,x+1))^2) ;
    end
end
G = uint8(G);
end  %akhir fungsi

img = (imread('C:\Image\lena128.tif'));
G = roberts(img);


%

function [g] = roberts(f)
[jum_baris, jum_kolom] = size(f);
f=double(f);
for y=1 : jum_baris-1
    for x=1 : jum_kolom-1
        g(y, x) = sqrt((f(y,x)-f(y+1,x+1))^2 + ...
                       (f(y+1,x)-f(y,x+1))^2) ;
    end
end
g = uint8(g);
end  %akhir fungsi
f = imread('c:\image\boneka.tif');
g = roberts(f);


%

function [j] = freichen(k)
% FREICHEN Pemerolehan tepi objek pada citra F
%     melalui operator Frei-Chen
%     Hasil: citra G
[m, n] = size(k);
akar2 = sqrt(2);
k=double(F);
G=zeros(m,n);
for y=2 : m-1
    for x=2 : n-1
        j(y, x) = sqrt(...
             (k(y-1,x+1)+akar2*k(y,x+1)+k(y+1,x+1) - ...
             k(y-1,x-1)-k(y,x-1)-k(y+1,x-1))^2 + ...
             (k(y-1,x-1)+akar2*F(y-1,x)+k(y-1,x+1) - ...
             k(y+1,x-1)-akar2*k(y+1,x)-k(y+1,x+1))^2) ;
    end
end
j = uint8(j);
end   %akhir fungsi
img = imread('c:\image\lena128.tif');
j = prewitt(img);


%

function [d] = prewitt(c)
[jum_baris, jum_kolom] = size(c);
c=double(c);
d=zeros(jum_baris,jum_kolom);
for y=2 : jum_baris-1
    for x=2 : jum_kolom-1
        d(y, x) = sqrt((c(y-1,x-1) + c(y,x-1) + c(y+1,x-1) - ...
             c(y,x) - c(y,x+1) - c(y+1,x+1))^2 + ...
             (c(y+1,x-1)+ c(y+1,x) + c(y+1,x+1) - ...
             c(y-1,x-1) - c(y-1,x) - c(y-1,x+1))^2) ;
    end
end
d = uint8(d);
end    %akhir fungsi
c = imread('c:\image\boneka.tif');
d = prewitt(c);

%%

function [h] = sobel(i)
[m, n] = size(i);
i=double(i);
h=zeros(m,n);
for y=2 : m-1
    for x=2 : n-1
        h(y, x) = sqrt(...
             (i(y-1,x+1)+2*i(y,x+1)+i(y+1,x+1) - ...
             i(y-1,x-1)-i(y,x-1)-i(y+1,x-1))^2 + ...
             (i(y-1,x-1)+2*i(y-1,x)+i(y-1,x+1) - ...
             i(y+1,x-1)-2*i(y+1,x)-i(y+1,x+1))^2) ;
    end
end
h = uint8(h);
end %akhir fungsi
img = imread('c:\image\lena128.tif');
h = prewitt(img);

%%

img = imread('c:\image\lena128.tif');
Y=img;
[m, n] = size(Y);
X=zeros(m,n);
Y=double(Y);
for y=2 : m-1
    for x=2 : n-1
        X(y, x) = 8 * Y(y,x) - ...
             (Y(y-1,x)+ Y(y,x-1)+Y(y,x+1)+Y(y+1,x) + ...
              Y(y-1,x-1)+ Y(y-1,x+1)+Y(y+1,x-1)+Y(y+1,x+1));
    end
end
X = uint8(X);


subplot(6,2,1);imshow(img) % 6 adalah tampilan 6 gambar
subplot(6,2,2);imshow(G) % 2 adalah tampilan perbandingan 2 gambar
subplot(6,2,3);imshow(f)
subplot(6,2,4);imshow(g)
subplot(6,2,5);imshow(img)
subplot(6,2,6);imshow(j)
subplot(6,2,7);imshow(c)
subplot(6,2,8);imshow(d)
subplot(6,2,9);imshow(img)
subplot(6,2,10);imshow(h)
subplot(6,2,11);imshow(img)
subplot(6,2,12);imshow(X)

Gambar yang dihasilkan dari srip diata

demikian untuk program penggabungan 6 coding menjadi 1 

By : rosmawi

Fitur baru paytren

BERIKUT INI FITUR-FITUR YANG AKAN SEGERA DI SEMATKAN DALAM APLIKASI PAYTREN SETELAH PERIZINAN E-MONEY DARI BI DI TERBITKAN 1.Fasilitas Lay...