Sabtu, 15 September 2012

SEGMENTASI CITRA


Segmentasi citra adalah membagi suatu citra menjadi wilayah-wilayah yang homogen.



- EDGE DETECTION (DETEKSI TEPI)


Penentuan tepian suatu objek dalam citra merupakan salah satu wilayah pengolahan citra digital yang paling awal dan paling banyak diteliti. Proses ini seringkali ditempatkan sebagai langkah pertama dalam aplikasi segmentasi citra, yang bertujuan untuk mengenali objek-objek yang terdapat dalam citra ataupun konteks citra secara keseluruhan.

Deteksi tepi berfungsi untuk mengidentifikasi garis batas (boundary) dari suatu objek yang terdapat pada citra. Tepian dapat dipandang sebagai lokasi piksel dimana terdapat nilai perbedaan intensitas citra secara ekstrem. Sebuah edge detector bekerja dengan cara mengidentifikasi dan menonjolkan lokasi-lokasi piksel yang memiliki karakteristik tersebut.

Ada banyak cara-cara untuk mengintifikasikan bagian tepi suatu citra, diantaranya adalah sebagai berikut :

- OPERATOR GRADIEN


Pada citra digital f(x,y), turunan berarah sepanjang tepian objek akan bernilai maksimum pada arah normal dari kontur tepian yang bersesuaian. Sifat ini dipergunakan sebagai dasar pemanfaatan operator gradien sebagai edge detector.
Operator gradien citra konvensional melakukan diferensiasi intensitas piksel pada arah baris dan kolom, mengikuti persamaan local intensity variation berikut :



Nilai magnitudo gradien dari persamaan di atas dapat dinyatakan sebagai berikut:




Operator gradien dapat direpresentasikan oleh dua buah kernel konvolusi Gx dan Gy, yang masing-masing mendefinisikan operasi penghitungan gradien dalam arah sumbu x dan sumbu y yang saling tegak lurus.

Dalam kasus penghitungan gradien dengan persamaan local intensity variation, maka kernel Gx dan Gy dapat dirumuskan seperti berikut:



Dari operator gradien konvensional di atas, dapat diturunkan berbagai operator gradien berikut :
1.Operator Roberts
2.Operator Prewit
3.Operator Sobel

- OPERATOR LAPLACIAN

Dalam kondisi transisi tepian yang lebih tidak ekstrem, penggunaan operator turunan kedua lebih dianjurkan.




Turunan kedua memiliki sifat lebih sensitif terhadap noise, selain itu juga menghasilkan double edge. Oleh karena itu, operator Laplacian dalam deteksi tepi pada umumnya tidak dipergunakan secara langsung, namun dikombinasikan dengan suatu kernel Gaussian menjadi sebuah operator Laplacian of Gaussian.

Fungsi transfer dari kernel Laplacian of Gaussian dapat dirumuskan sebagai berikut:





- OPERATOR ZERRO CROSS
Metode Zero-cross menemukan edge dengan cara mencari zero crossings setelah memfilter I (Identitas) dengan filter a yang telah ditentukan.

- OPERATOR CANNY
Salah satu algoritma deteksi tepi modern adalah deteksi tepi dengan menggunakan metoda Canny. Berikut adalah diagram blok algoritma Canny :




II. CARA PEMAKAIAN PROGRAM

a)Cara memakai program GUI adalah :


1.Buka program Matlab 7.0 keatas (tapi disini kami memakai matlab 7.5)
2.Buka toolbar File → New → GUI



3.Kemudian Klik tab Open Existing GUI→ D:\FILE UI\SEMESTER 6 KULIAH EVI (2008)\CITRA\TUGAS SEGMENTASI CITRA\EVI_EDGE_DETECTION.fig→ klik open




4.Muncul tampilan window berikut:




5.Klik run , sehingga muncul window berikut :




6.Lalu kita mulai dengan memasukkan image dengan klik toolbar File lalu klik ‘open file’ lalu pilih image atau citra apa yang mau dicoba untuk berbagai jenis program Edge Detection.
Contoh : using Robert, caranya : Klik toolbar File →Open File→ambil image(citra)

Tampilannya awal :



lalu klik pushbutton ‘apply’



III.TAMPILAN PROGRAM

Berikut ini bentuk-bentuk tampilan program edge detection dari berbagai topik-topik yang dibahas dalam tugas ini :

1.OPERATOR ROBERTS

Untuk Citra tidak berwarna :



Untuk Citra berwarna :



2.OPERATOR PREWIT

Untuk Citra tidak berwarna :



Untuk Citra berwarna :




3.OPERATOR SOBEL


Untuk Citra tidak berwarna :



Untuk Citra berwarna :



4.OPERATOR LAPLACIAN GAUSIAN

Untuk Citra tidak berwarna :



Untuk Citra berwarna :



5.OPERATOR ZERRO CROSS

Untuk Citra tidak berwarna :



Untuk Citra berwarna :



6.OPERATOR CANNY

Untuk Citra tidak berwarna :



Untuk Citra berwarna :





***********************************
Dibawah ini, PROGRAM SEGMENTASI CITRA PADA M-FILE
***********************************

function varargout = EVI_EDGE_DETECTION(varargin)
% EVI_EDGE_DETECTION M-file for EVI_EDGE_DETECTION.fig
% EVI_EDGE_DETECTION, by itself, creates a new EVI_EDGE_DETECTION or raises the existing
% singleton*.
%
% H = EVI_EDGE_DETECTION returns the handle to a new EVI_EDGE_DETECTION or the handle to
% the existing singleton*.
%
% EVI_EDGE_DETECTION('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in EVI_EDGE_DETECTION.M with the given input arguments.
%
% EVI_EDGE_DETECTION('Property','Value',...) creates a new EVI_EDGE_DETECTION or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before roin_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to EVI_EDGE_DETECTION_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Copyright 2002-2003 The MathWorks, Inc.

% Edit the above text to modify the response to help EVI_EDGE_DETECTION

% Last Modified by GUIDE v2.5 21-Apr-2008 10:07:16

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @EVI_EDGE_DETECTION_OpeningFcn, ...
'gui_OutputFcn', @EVI_EDGE_DETECTION_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before EVI_EDGE_DETECTION is made visible.
function EVI_EDGE_DETECTION_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to EVI_EDGE_DETECTION (see VARARGIN)

% Choose default command line output for EVI_EDGE_DETECTION
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes EVI_EDGE_DETECTION wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = EVI_EDGE_DETECTION_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --------------------------------------------------------------------
function mnu_open_Callback(hObject, eventdata, handles)
% hObject handle to mnu_open (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global image_original;

[file_name, path_name]=uigetfile(...
{'*.bmp;*.jpg','Citra File (*.bmp,*.jpg)';
'*.bmp','File Bitmap(*.bmp)';...
'*.jpg','File jpeg (*.jpg)';
'*.*','All (*.*)'},...
'Buka File Citra Original');
% Check File Conditon Exist or Not
if ~isequal(file_name,0)
%handles.original=imread(fullfile(path_name,file_name));
%guidata(hObject,handles);
%axes(handles.gambar_aslie);
%imshow(handles.original);
image_original=imread(fullfile(path_name,file_name));
guidata(hObject,handles);
axes(handles.gambar_aslie);
imshow(image_original);
else
return
end

% --------------------------------------------------------------------
function mnu_exit_Callback(hObject, eventdata, handles)
% hObject handle to mnu_exit (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
option=questdlg(['Exit ',...
get(handles.figure1,'Name'),'?'],...
['Exit ',...
get(handles.figure1,'Name'),'...'],...
'Yes','No','Yes')
switch option,
case 'Yes',
delete(handles.figure1)
case 'No'
return;
end


% --------------------------------------------------------------------
function mnu_file_Callback(hObject, eventdata, handles)
% hObject handle to mnu_file (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)



% --- Executes on button press in btnapply.
function btnapply_Callback(hObject, eventdata, handles)
% hObject handle to btnapply (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global image_original metode_edge;

I = .2989*image_original(:,:,1)+.5870*image_original(:,:,2)+.1140*image_original(:,:,3);
J = edge(I, metode_edge);
%guidata(hObject,J);
axes(handles.axes9);
guidata(hObject,handles);
imshow(J);

% --------------------------------------------------------------------
function edge_methode_SelectionChangeFcn(hObject, eventdata, handles)
% hObject handle to edge_methode (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global metode_edge;

switch get(hObject,'Tag') % Get Tag of selected object
case 'optroberts'
metode_edge='roberts';

case 'optprewitt'
metode_edge='prewitt';

case 'optsobel'
metode_edge='sobel';

case 'opt_laplacian'
metode_edge='log';

case 'opt_zero_cross'
metode_edge='zerocross';

case 'opt_canny'
metode_edge='canny';

end




% --- Executes on button press in optroberts.
function optroberts_Callback(hObject, eventdata, handles)
% hObject handle to optroberts (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of optroberts

Rabu, 23 Mei 2012

Kriptografi dan VPN (Virtual Private Network)

KRIPTOGRAFI 

Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita [bruce Schneier - Applied Cryptography]. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data [A. Menezes, P. van Oorschot and S. Vanstone - Handbook of Applied Cryptography]. Tidak semua aspek keamanan informasi ditangani oleh kriptografi.
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
  • Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
  • Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
  • Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
  • Non-repudiasi., atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.

 
VPN 
 
Virtual private network atau disingkat VPN adalah variasi lain dari skema jaringan yang dibangun sebagai jaringan khusus dengan menggunakan jaringan internet umum. Karena menggunakan jaringan internet, sebuah perusahaan yang membuat WAN (Wide Area Network) berbasis VPN ini mampu menjangkau area yang sangat luas dan lintas geografi. VPN menyediakan koneksi poin-to-poin baik kepada kantor cabang maupun kepada seorang karyawan yang sedang bertugas ditempat lain.
Menghubungkan antar kantor pusat/cabang dengan menggunakan VPN jauh lebih ekonomis dengan keamanan yang dapat diandalkan daripada menyewa jaringan khusus (leased lines) atau dengan panggilan jarak jauh melalui modem.
VPN dapat menjadi jaringan khusus yang besar dan tidak terbatas. Sebuah WAN khusus yang jauh lebih efisien, aman dan berbiaya ekonomis dari WAN atau LAN tradisional. Sehingga telah banyak perusahaan-perusahaan yang menggunakan VPN sebagai infrastruktur jaringanya yang menghubungkan antara kantor pusat dengan kantor cabang dan dengan agen serta client nya.
Tidak ada standar tertentu untuk VPN, namun secara umum dapat disebut bahwa VPN menggunakan jaringan internet umum untuk satu atau beberapa keperluan dengan membentuk lorong khusus (jaringan khusus / tunnelling) secara virtual.
Dalam penggunaan sebagai jaringan khusus ini, VPN diset sedemikian rupa dengan sebuah software dan hardware dengan protocol tertentu yang akan digunakan untuk otentikasi antar user dan untuk penyandian jaringannya. Umumnya VPN dipasangi firewall di dekat servernya yang berfungsi untuk menyaring sehingga hanya client yang telah terdaftar saja yang dilayani.
VPN terbagi dalam 2 bagian yaitu bagian “dalam” yang diproteksi dengan sistem sandi tertentu dan bagian “luar” yang merupakan infrastruktur internet yang tidak diproteksi. Memproteksi data dengan penyandian selama perjalanan antar user dalam sebuah VPN telah sangat populer dan selalu digunakan.

Senin, 21 Mei 2012

“Motor Matic Injeksi Irit Harga Murah – Yamaha Mio J”


Saat ini, siapa yang tak tergiur ketika mendengar kata irit dan murah ??? waow, hal yang sangat menakjubkan dengan kondisi naiknya harga BBM yang santer terdengar beberapa akhir ini.
Ini dia, hadir dengan inovasi terbaru "Motor matic injeksi irit harga murah - Yamaha Mio J"
yang begitu unik dan penuh dengan keunggulan.
Yamaha Mio J tampak kian akrab dengan konsumen Indonesia. Mesin injeksi baru diterapkan Yamaha pada motor skubek terbarunya, Mio J.

Mio J  Semakin Cepat Semakin Irit...It’s Magic!


Kenapa Motor matic injeksi irit harga murah = Yamaha Mio J?
  1. Yamaha Mio J memiliki mesin baru yang diklaim lebih responsif
  2. Yamaha Mio J dinilai lebih irit dibandingkan produk sejenis dengan kompetitor, Yamaha sendiri berpendapat      kuantitas iritnya tahan lama
  3. Yamaha Mio J menggonakan teknologi Yamaha MJET-FI
  4. Yamaha Mio J memberikan garansi 5 (lima) tahun diasil cylinder and forged piston, yang berfungsi mengurangi kerugian tenaga, tegasnya menghasilkan tenaga yang besar namun irit bahan bakar
  5. Yamaha Mio J motor matic dengan performa tinggi secepat jet dengan konsumsi bahan bakar lebih irit sekitar 30% dengan tetap mempertahankan kelincahan yamaha mio pada umumnya.

     Teknologi canggih Yamaha MJET-FI (Yamaha Mixture Jet Fuel Injection) diasumsikan akan lebih irit pada sisi penggunaan bahan hingga 30%, disinilah letak perbedaan teknologi FI Yamaha dengan kompetitor sejenis, pada teknologi FI Yamaha injektor diarahkan langsung ke ruang bakar. Satu lagi keunggulan teknologi FI Yamaha adalah ramah lingkungan. Yamaha Mixture JET-Fuel Injection (YMJET-FI) teknologi canggih Yamaha dapat meningkatkan performa mesin dan tentu saja hemat bahan bakar. Artikel ini turut serta mempopulerkan Yamaha Mio J agar lebih sukses lagi. Team Yamaha Indonesia sendiri tetap semangat berpromosi walaupun Target penjualan Motor Motor matic injeksi irit Mio J melebihi target penjualan 25 ribu unit per bulan. Konklusi ini berdasarkan data AISI (Asosisasi Sepeda motor Indonesia), skutik berteknologi Yamaha Mixture Jet-Fuel Injection (YMJET-FI) itu terjual 29.356 unit. ”Pencapaian target ini menunjukkan Mio J diterima dengan sangat baik oleh pasar Indonesia. Dengan berbagai keunggulannya, kami harapkan memperkuat market share Yamaha dan menjadi nomor satu di kategori skutik yang saat ini paling diminati konsumen Indonesia". 

Yamaha Mio J memiliki 3 varian, yaitu:

1. Varian 1 : Yamaha Mio J CW Teen YMJET-FI (velg racing)
2. Varian 2 : Yamaha Mio J CW YMJET-FI (velg racing)
3. Varian 3 : Yamaha Mio J YMJET- FI (velg jari – jari)
 
Keunggulan dari Yamaha Mio J ini, yaitu:
  1. Teknologi YMJET-FI : dirancang memiliki dua katup butterfly, yang dapat meingkatkan performa mesin dan hemat bahan bakar
  2. DiAsil Cylinder dan Forged Piston memberikan manfaat kompresinya tinggi serta piston clearance stabil. Kompresi tinggi dapat dijelaskan dari material DiAsil Cylinder yang tidak full besi tapi dicampur dengan silikon sehingga saat terjadi tekanan atau kompresi, dinding DiAsil Cylinder jadi lebih dinamik (dindingnya fleksibel).
  3. Komponen lainnya yang mendukung seperti Fuel Pump yang sangat compact (padat), disrtai low electricity consumption (konsumsi energi listrik rendah), serta bisa mengontrol injeksi bensin dari tangki ke area mesin.
  4.  
     Situs Resmi Yamaha : http://www.yamaha-motor.co.id/
     

Selasa, 15 Mei 2012

it would be like this

when the phone rings
when a message is received
there is a name you
indeed it feels very happy

"nonsense"
hear you talk like that
remind the memories last longer
feels there is something different in the heart of this
atmosphere that comes back

whether, if such it would be like this
arggght,
it feels like screaming
why is it difficult to express feelings
why we are selfish

"I love you"
that's all I want to express this feeling of relief

Jumat, 04 Mei 2012

Static Route

Static Route adalah konsep yang menggambarkan salah satu cara untuk mengkonfigurasi pemilihan path dari router dalam jaringan komputer. Ini adalah jenis routing ditandai dengan tidak adanya komunikasi antara router mengenai topologi jaringan saat ini . Hal ini dicapai dengan menambahkan rute ke tabel routing. Kebalikan dari statis routing adalah routing dinamis, kadang-kadang juga disebut sebagai adaptif routing.

Dalam sistem ini, rute melalui jaringan data dijelaskan oleh jalan yang tetap (statis). Rute ini biasanya dimasukkan ke router oleh administrator sistem. Seluruh jaringan dapat dikonfigurasi menggunakan rute statis, tetapi jenis konfigurasi tidak fault tolerant. Bila ada perubahan dalam jaringan atau kegagalan terjadi antara dua node didefinisikan secara statis, lalu lintas tidak akan dialihkan. Ini berarti bahwa apa pun yang ingin mengambil jalan yang terkena akan baik harus menunggu kegagalan akan diperbaiki atau rute statis yang akan diperbarui oleh administrator sebelum restart perjalanannya. Kebanyakan permintaan akan waktu (akhirnya gagal) sebelum perbaikan ini dapat dibuat. Namun demikian, saat-saat ketika rute statis dapat meningkatkan kinerja jaringan. Beberapa di antaranya adalah jaringan stub dan rute default.

Task 4

Dear Mr. Arief, you can download task 4 in here(Task4_Rombel4_5302410190).
Thanks.

Kamis, 03 Mei 2012

VLAN

Sebuah jaringan area virtual lokal, virtual LAN atau VLAN, merupakan kelompok penghuni dengan suatu set umum persyaratan yang berkomunikasi seakan-akan mereka melekat pada domain broadcast yang sama, terlepas dari lokasi fisik mereka. Sebuah VLAN memiliki atribut yang sama seperti jaringan area fisik lokal (LAN), tetapi ini memungkinkan stasiun akhir untuk dikelompokkan bersama-sama bahkan jika tidak di switch jaringan yang sama. VLAN keanggotaan dapat dikonfigurasi melalui perangkat lunak, bukan perangkat fisik relokasi atau koneksi.
Untuk fisik meniru fungsi dari VLAN akan membutuhkan pengumpulan, terpisah paralel kabel jaringan dan peralatan yang terpisah dari jaringan primer. Namun, tidak seperti jaringan fisik terpisah, VLAN harus berbagi bandwidth; dua terpisah satu gigabit VLAN yang berbagi interkoneksi satu gigabit tunggal dapat menderita throughput yang berkurang dan kemacetan. Ini virtualizes perilaku VLAN (mengkonfigurasi port switch, frame tagging ketika memasuki VLAN, lookup tabel MAC untuk beralih / frame banjir untuk link trunk, dan untagging ketika keluar dari VLAN.)
Penggunaan
VLAN diciptakan untuk menyediakan layanan segmentasi secara tradisional disediakan oleh router di konfigurasi LAN. VLAN menangani masalah-masalah seperti skalabilitas, keamanan, dan manajemen jaringan. Router di topologi VLAN memberikan siaran penyaringan, keamanan, alamat summarization, dan manajemen arus lalu lintas. Menurut definisi, switch tidak dapat menjembatani lalu lintas IP antara VLAN karena akan melanggar integritas dari domain broadcast VLAN.
Ini juga berguna jika seseorang ingin membuat multiple layer 3 jaringan pada switch 2 lapisan yang sama. Sebagai contoh, jika sebuah server DHCP terhubung ke switch itu akan melayani semua host pada tombol yang dikonfigurasi untuk mendapatkan IP dari DHCP server. Dengan menggunakan VLAN Anda dengan mudah dapat membagi jaringan ke atas sehingga beberapa host tidak akan menggunakan server DHCP dan akan mendapatkan alamat link-lokal, atau memperoleh alamat dari server DHCP yang berbeda.
VLAN adalah lapisan 2 konstruksi, dibandingkan dengan subnet IP, yang merupakan lapisan 3 konstruksi. Dalam lingkungan mempekerjakan VLAN, hubungan satu-ke-satu sering ada antara VLAN dan IP subnet, meskipun ada kemungkinan untuk memiliki beberapa subnet pada satu VLAN. VLAN dan subnet IP independen menyediakan Layer 2 dan Layer 3 konstruksi yang peta untuk satu sama lain dan korespondensi ini berguna selama proses desain jaringan.
Dengan menggunakan VLAN, kita dapat mengontrol pola lalu lintas dan bereaksi cepat untuk relokasi. VLAN memberikan fleksibilitas untuk beradaptasi dengan perubahan dalam persyaratan jaringan dan memungkinkan untuk administrasi disederhanakan.Sejarah
Setelah percobaan sukses dengan Voice over Ethernet 1981-1984, Dr David W. Sincoskie bergabung Bellcore dan mulai mengatasi masalah scaling up jaringan Ethernet. Pukul 10 Mbit / s, Ethernet lebih cepat dari alternatif sebagian besar waktu, namun, Ethernet merupakan jaringan broadcast dan tidak ada cara yang baik untuk menghubungkan beberapa jaringan Ethernet bersama. Ini bandwidth terbatas total jaringan Ethernet sampai 10 Mbit / s dan jarak maksimum antara dua node untuk beberapa ratus kaki.
Sebaliknya, meskipun kecepatan puncak jaringan telepon yang ada untuk setiap sambungan terbatas pada 56 kbit / s (kurang dari seperseratus kecepatan Ethernet), total bandwidth dari jaringan yang diperkirakan pada 1 Tbit / s, mampu memindahkan lebih dari seratus seribu kali lebih informasi dalam skala waktu tertentu.
Meskipun hal itu mungkin untuk menggunakan IP routing untuk menghubungkan beberapa jaringan Ethernet bersama-sama, VAX-11/780 komputer yang biasa digunakan sebagai router biaya $ 400.000 masing-masing pada waktu itu, dan throughput total secara signifikan kurang dari kecepatan Ethernet. Sincoskie mulai mencari alternatif yang diperlukan pengolahan kurang per paket. Dalam proses ini ia secara independen diciptakan kembali saklar belajar mandiri ethernet [1].
Namun, dengan menggunakan switch untuk menghubungkan beberapa jaringan Ethernet dengan cara toleransi kegagalan memerlukan jalur berlebihan melalui jaringan itu, yang pada gilirannya memerlukan konfigurasi spanning tree. Hal ini menjamin bahwa hanya ada satu jalur aktif dari setiap node sumber ke tujuan manapun pada jaringan. Hal ini menyebabkan switch terpusat terletak menjadi kemacetan, yang membatasi skalabilitas sebagai jaringan lebih saling berhubungan.
Untuk membantu mengatasi masalah ini, Sincoskie diciptakan VLAN dengan menambahkan tag ke setiap paket Ethernet. Tag ini bisa dianggap sebagai warna, katakanlah merah, hijau, atau biru. Kemudian setiap switch dapat ditugaskan untuk menangani paket dari satu warna, dan mengabaikan sisanya. Jaringan dapat saling berhubungan dengan tiga pohon rentang yang berbeda: pohon rentang merah, pohon rentang hijau, dan pohon rentang biru. Dengan mengirimkan paket perpaduan warna yang berbeda, bandwidth agregat dapat ditingkatkan. Sincoskie disebut ini sebagai jembatan multitree. Dia dan Cotton Chase dibuat dan disempurnakan algoritma (disebut Algoritma Jembatan Extended untuk Jaringan Besar) yang diperlukan untuk membuat sistem yang layak. [2]
Ini "warna" adalah apa yang sekarang dikenal di frame Ethernet sebagai header 802.1Q, atau tag VLAN. Sedangkan VLAN yang umum digunakan dalam jaringan Ethernet modern, menggunakan mereka untuk tujuan awal akan agak tidak biasa.Pelaksanaan
Sebuah switch dasar tidak dikonfigurasi untuk VLAN memiliki fungsi VLAN cacat atau secara permanen diaktifkan dengan default VLAN yang berisi semua port pada perangkat sebagai anggota.
Konfigurasi dari grup VLAN pertama kustom pelabuhan biasanya melibatkan menghapus port dari VLAN default, sehingga kelompok adat pertama port VLAN sebenarnya VLAN kedua pada perangkat, selain VLAN default. VLAN default biasanya memiliki ID dari 1.
Jika VLAN pelabuhan kelompok yang ada hanya pada satu perangkat, tidak ada port yang menjadi anggota kelompok VLAN perlu ditandai. Port ini maka akan dianggap "untagged". Hanya ketika kelompok VLAN port adalah untuk memperluas ke perangkat lain bahwa tag yang digunakan. Karena komunikasi antara port pada dua switch yang berbeda perjalanan melalui port uplink setiap switch yang terlibat, setiap VLAN yang berisi port tersebut juga harus berisi port uplink setiap switch yang terlibat, dan port ini harus ditandai. Ini juga berlaku untuk VLAN default.
Beberapa switch baik membolehkan atau mengharuskan nama dibuat untuk VLAN, tetapi hanya kelompok VLAN jumlah yang penting dari satu beralih ke yang berikutnya.
Apabila suatu grup VLAN adalah hanya untuk melewati sebuah saklar antara melalui dua pass-melalui pelabuhan, hanya dua port harus menjadi anggota dari VLAN, dan ditandai untuk lulus baik VLAN dibutuhkan dan VLAN default pada switch menengah.
Pengelolaan switch mengharuskan fungsi administrasi terkait dengan salah satu VLAN dikonfigurasi. Jika VLAN default telah dihapus atau nomornya tanpa terlebih dahulu memindahkan koneksi manajemen untuk VLAN yang berbeda, adalah mungkin untuk teknisi yang akan terkunci dari konfigurasi switch, membutuhkan dipaksa kliring dari konfigurasi perangkat (mungkin ke default pabrik) untuk kembali akses.
Switch biasanya tidak memiliki metode built-in untuk menunjukkan VLAN anggota port untuk seseorang yang bekerja di dalam lemari kabel. Hal ini diperlukan untuk teknisi baik memiliki akses administratif ke perangkat untuk melihat konfigurasi, atau untuk tugas VLAN grafik port atau diagram untuk disimpan di sebelah switch di setiap lemari kabel. Grafik ini harus diperbarui secara manual oleh staf teknis setiap kali perubahan keanggotaan pelabuhan dapat dilakukan terhadap VLAN.
Konfigurasi jauh dari VLAN menyajikan beberapa peluang untuk teknisi untuk sengaja memotong komunikasi dan kehilangan konektivitas ke perangkat yang mereka sedang berusaha untuk mengkonfigurasi. Tindakan seperti pengelompokan VLAN default dengan memisahkan dari port switch uplink ke dalam VLAN yang baru terpisah tiba-tiba bisa menghentikan semua konektivitas remote, membutuhkan perangkat secara fisik diakses pada lokasi yang jauh untuk melanjutkan proses konfigurasi.

Rabu, 02 Mei 2012

J2ME


  Gambaran J2ME
J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen. Perangkat ini memiliki jumlah memori yang terbatas, menghabiskan sedikit daya dari baterei, layar yang kecil dan bandwith jaringan yang rendah.
Dengan perkembangbiakan perangkat mobile konsumer dari telepon, PDA, kotak permainan ke peralatan-peralatan rumah, Java menyediakan suatu lingkungan yang portable untuk mengembangkan dan menjalankan aplikasi pada perangkat ini. Program J2ME, seperti semua program JAVA adalah diterjemahkan oleh VM. Program-program tersebut dikompile ke dalam bytecode dan diterjemahkan denga Java Virtual Machine(JVM).Ini berarti bahwa program-program tersebut tidak berhubungan langsung dengan perangkat. J2ME menyediakan suatu interface yang sesuai dengan perangkat. Aplikasi-aplikasi tersebut tidak harus dikompile ulang supaya mampu dijalankan pada mesin yang berbeda. Inti dari J2ME terletak pada configuration dan profile-profile. Suatu configuration menggambarkan lingkungan runtime dasar dari suatu sistem J2ME. Ia menggambarkan core library, virtual machine, fitur keamanan dan jaringan.
 
Sebuah profile memberikan library tambahan untuk suatu kelas tertentu pada sebuah perangkat. profile-profile menyediakan user interface(UI) API,persistence, messaging library, dan sebagainya.
Satu set library tambahan atau package tambahan menyediakan kemampuan program tambahan. Pemasukan package ini ke dalam perangkat J2ME dapat berubah-ubah karena tergantung pada kemampuan sebuah perangkat. Sebagai contoh, beberapa perangkat MIDP tidak memiliki Bluetooth built-in, sehingga Bluetooth API tidak disediakan dalam perangkat ini.


 Konfigurasi
Suatu configuration menggambarkan fitur minimal dari lingkungan lengkap Java runtime. Untuk menjamin kemampuan portabilitas dan interoperabilitas optimal diantara berbagai macam perangkat yang dibatasi sumber dayanya(memory, prosesor, koneksi yang dibatasi), configuration tidak menggambarkan fitur tambahan. Suatu configuration J2ME menggambarkan suatu komplemen yang minimum dari teknologi JAVA. Adalah merupakan tugas profile-profile untuk menggambarkan tambahan library untuk suatu kategori perangkat tertentu.
configuration menggambarkan:
Subset bahasa pemrograman JAVA
Kemampuan Java Virtual Machine(JVM)
Core platform libraries
Fitur sekuriti dan jaringan
 Profil
Suatu profile menggambarkan set-set tambahan dari API dan fitur untuk pasar tertentu, kategori perangkat atau industri. Sementara configuration  menggambarkan library dasar, profile-profile menggambarkan library yang penting untuk membuat aplikasi-aplikasi efektif. Library ini memasukkan user interface, jaringan dan penyimpanan API.

CLDC
The Connected Limited Device Configuration (CLDC) menggambarkan dan menunjuk pada area berikut ini:
Fitur Bahasa Java dan Virtual Machine(VM)
Library dasar(java.lang.*,java.util.*)
Input/Output(java.io.*)
Kemanan
Jaringan
Internationalization

- Fitur Yang Hilang
Fitur tertentu dari J2SE yang dipindahkan dari CLDC adalah :
Finalization of class instances
Asynchronous exceptions
Beberapa error classes
User-defined class loaders
Reflection
Java Native Interface (JNI)
Thread groups dan daemon threads
Reflection, Java Native Interface (JNI) dan user-defined class loaders potensial menjadi lubang keamanan. JNI juga membutuhkan memory yang intensif sehingga dimungkinkan untuk tidak mendapat dukungan dari memory rendah sebuah perangkat mobile.

- Karakteristik Perangkat CLDC
Perangkat yang diincar oleh CLDC mempunyai karateristik sebagai berikut:
Memory minimal 192kb untuk platform Java.
Prosesor dengan 16 atau 32 bit.
Mengkonsumsi sedikit daya.
Terbatas, koneksi jaringan yang sementara dengan pembatasan bandwith(biasanya wireless).
CLDC tidak menggambarkan instalasi dan daur hidup sebuah aplikasi,  ntarmuka(UI) dan penanganan peristiwa(event handling). Adalah merupakan tugas profile yang berada di bawah CLDC untuk menggambarkan area ini. Secara khusus, spesifikasi MIDP menggambarkan daur hidup aplikasi MIDP (MIDlet), library UI dan event handling(javax.microedition.lcdui.*).

2.3.3                       - Verifikasi Class
Spesifikasi CLDC memerlukan semua class untuk melewati proses verifikasi dua tingkat. Verifikasi pertama dilaksanakan diluar perangkat sebelum instalasi pada perangkat. Verifikasi kedua terjadi pada perangkat selama runtime dan dilaksanakan oleh KVM.

 
 
2.2.2        Generic Connection Framework
The Generic Connection Framework menyediakan API dasar untuk koneksi dalam CLDC. Framework ini menyediakan suatu pondasi umum untuk koneksi seperti HTTP, Socket, dan Datagrams.GCF menyediakan suatu set API yang umum dan biasa yang memisahkan semua jenis koneksi. Perlu dicatat bahwa tidak semua jenis koneksi dibutuhkan untuk diterapkan oleh perangkat MIDP.
Hirarki interface yang dapat diperluas dari GFC membuat proses penyamarataan menjadi mungkin. Jenis koneksi baru mungkin bisa ditambahkan ke dalam framework ini dengan memperluas hirarki ini.

 
  CDC
Connected Device Configuration (CDC) adalah super set dari CLDC. CDC menyediakan lingkungan Java runtime yang lebih luas dibandingkan CLDC dan lebih dekat kepada lingkungan J2SE

CDC Java Virtual Machine (CVM) mendukung penuh Java Virtual Machine (JVM). CDC berisi semua API dari CLDC. CDC menyediakan suatu subset yang lebih besar dari semua class J2SE.
Seperti CLDC, CDC tidak menggambarkan setiap class UI. Library UI digambarkan oleh profileprofile di bawah configuration ini.
Semua class yang terdapat dalam CDC datang dari package ini:
java.io
java.lang
java.lang.ref
java.lang.math
java.net
java.security
java.security.cert
java.text
java.util
java.util.jar
java.util.zip
CDC juga memasukkan di dalamnya GCF. CDC memerlukan jenis koneksi tambahan seperti file dan dukungan datagram.

JTWI
The Java Technology for the Wireless Industry (JTWI) menetapkan satu set jasa dan spesifikasi standar. Berdasar spesifikasi JTWI, kata kuncinya adalah “untuk memperkecil fragmentasi API di dalam pasar telepon mobile, dan untuk mengirim spesifikasi yang dapat diprediksi,spesifikasi yang jelas untuk perangkat pabrik, operator, dan pengembang aplikasi”.
Dengan penyesuaian kepada JTWI, banyak aplikasi akan berjalan di suatu set yang lebih luas pada perangkat. Perangkat pabrik juga akan beruntung karena sebuah aplikasi yang besar akan tersedia untuk perangkat mereka.

 
  MIDP
The Mobile Information Device Profile (MIDP) berada di atas dari CLDC. Anda tidak bias menulis aplikasi mobile hanya dengan menggunakan CLDC API. Anda harus tetap memanfaatkan MIDP yang mendefinisikan UI.

Spesifikasi MIDP, kebanyakan seperti CLDC dan API lainnya sudah digambarkan melalui Java Community Process (JCP). JCP melibatkan sebuah kelompok ahli berasal dari lebih dari 50 erusahaan, yang terdiri atas pabrik perangkat mobile, pengembang software. MIDP terus berkembang, dengan versi-versi masa depan yang telah lulus dari proses ketat JCP.

Spesifikasi MIDP menggambarkan suatu perangkat MID yang memiliki karakteristikkarateristik
ini sebagai batas minimum:
· Tampilan:
· Ukuran Layar: 96x54
· kedalaman tampilan: 1-bit
· Ketajaman pixel: sekitar 1:1
· Masukan:
· Satu atau lebih mekanisme user-input: satu keybboard, dua keyboard, atau touch screen
· Memory:
· 256 kilobytes of non-volatile memory untuk implementasi MIDP.
· 8 kilobytes of non-volatile memory for application-created persistent data
· 128 kilobytes of volatile memory for the Java runtime (e.g., the Java heap)
· Jaringan:
· dua jalur, wireless, bandwidth terbatas
· Sound:                                                                                           
· Kemampuan untuk memainkan nada-nada
MIDP menggambarkan model aplikasi, UI API, penyimpanan dan jaringan yang kuat, permainan dan media API, kebijakan keamanan, penyebaran aplikasi dan ketetapan over-theair.

MIDLET
Suatu aplikasi MIDP disebut MIDlet. Perangkat application management software (AMS) berinteraksi langsung dengan MIDlet dengan method MIDlet create, start, pause, dan destroy.
MIDlet adalah bagian dari package javax.microedition.midlet. Sebuah MIDlet harus di-extend dengan class MIDlet. Dan dapat meminta parameter dari AMS seperti dirumuskan dalam application descriptor (JAD).
Suatu MIDlet tidak harus memiliki (dan memang harus tidak mempunyai) sebuah method public static void main(String[] argv).Method tersebut tidak akan dikenal lagi oleh AMS sebagai titik awal sebuah program.

Siklus MIDlet
Awal  MIDlet dimulai ketika di-instantiate oleh AMS. MIDlet pada awalnya masuk status “Pause” setelah perintah baru dibuat. AMS memanggil constructor public tanpa argumen dari MIDlet. Jika sebuah exception terjadi dalam constructor, MIDlet memasuki status “Destroyed” dan membuangnya segera.
MIDlet masuk ke dalam status “Active” atas pemanggilan method startUp() oleh AMS. MIDlet masuk ke dalam status “Destroyed” ketika AMS memanggil method destroyApp(). Status ini juga kembali diakses ketika method notifyDestroyed() kembali dengan sukses kepada aplikasi. Dengan catatan bahwa MIDlet hanya bisa memasuki status “Destroyed” sekali dalam masa hidupnya.
 
2.2.2                         MIDlet Suites
Aplikasi-aplikasi MIDlet dibungkus dan dikirim kedalam perangkat sebagai MIDlet suites. Sebuah MIDlet suite terdiri dari Java Archive (JAR) dan sebuah tambahan Java Application Descriptor (JAD).
File JAD adalah suatu file teks yang berisi satu set atribut-atribut, beberapa dibutuhkan.