Kajian Teoritis Gejala Indeks Bias Negatif Material

APENDIX A
PERSAMAAN MAXWELL

Persamaan Maxwell dalam bentuk differensial.


⃗ ⃗

Hukum Gauss

⃗ ⃗

Hukum Gauss untuk magnetisme



Hukum Induksi Faraday



Hukum Ampere


(A.1)
(A.2)





(A.3)




(A.4)

Persamaan Maxwell dalam bentuk integral
∮ ⃗

Hukum Gauss


∮ ⃗

Hukum Gauss untuk magnetisme

∮⃗

Hukum Induksi Faraday

∮⃗

Hukum Ampere




∫⃗

∫⃗

(A.5)

(A.6)
(A.7)


(A.8)

Karena (teorema Gauss dan Stokes)
∮ ⃗



∮ ⃗



Untuk medan listrik pada persamaan (A.5) dan (A.7) dalam keadaan konservatif
sehingga dapat ditulis :
⃗ ⃗

(A.9)


Selanjutnya hubungan vektornya






(A.11)

dan




⃗ ⃗

(A.12)

(A.10)


i

⃗ = kerapatan fluks listrik (C/m2)



∫⃗

(A.13)

= rapat volume muatan (C/m3)

⃗ = Medan Listrik (V/m)

⃗ = tegangan listrik (V)

 = permitivitas dielektrik (F/m)
Hubungkan persamaan (A.9), (A.11) dan (A.12) akan didapat persamaan Poisson :



Jika  konstan,

Jika

⃗⃗

(A.14a)



(A.14b)

maka menjadi persamaan Laplace :




⃗⃗


(A.15a)
(A.15b)

Karena (hukum Biot-Savart)
∮ ⃗
⃗ = fluks magnet (A/m)



∮⃗

⃗ = Medan magnet (T)

Maka persamaan (A.6) dan(A.8) menjadi

Dan



Dengan hubungan vector


⃗ ⃗

 = permeabilitas magnetic (H/m)
=konduktivitas (mhos/m)





(A.16)

(A.17)




(A.18)
(A.19)


Medan magnet pada potensial A


Dengan menggunakan vektor identitas


(⃗


⃗ (⃗

)

(A.20)
)

Jika (A.17) dan (A.18) dihubungkan dalam kondisi tanpa arus (ruang hampa) maka

Ketika


sehingga didapat persamaan Poisson :
(A.21)
maka
(A.22)

i

APENDIX B
PERSAMAAN GELOMBANG

Gelombang Elektromagnetik merambat secara transversal. Dengan medan listrik dan
medan magnet yang merambat saling tegak lurus. Misalkan gelombang elektromagnet
merambat ke sumbu-x dan arah gerak medan listrik ke sumbu-y sementara medan
magnetik ke sumbu-z sehingga diperoleh ⃗




⃗ ⃗


⃗ . Maka persamaan Maxwell akan berubah menjadi :






(B.1)

⃗ ⃗

(B.2)






(B.3)


(B.4)








⃗ ⃗





dan ⃗

(B.5)
⃗⃗



(B.6)

Persamaan (B.4) dan persamaan (B.6) bisa disimpulkan medan listrik dan medan
magnet hanya berpengaruh pada sumbu x dan gayut waktu.




Jika digabungkan maka menjadi :







Bandingkan dengan persamaan gelombang umum :

Atau
,

=0

Maka diperoleh nilai


Dengan v = c = kecepatan cahaya = 3 x 108 m
Dengan mengubah daerah waktu menjadi frekuensi maka

Dengan
Maka persawaan Maxwell dapat dituliskan








Dengan vektor perambatan elektromagnetik sebagai berikut :














Maka dapat disimpulkan bahwa





Dengan n adalah indeks bias.



i









APENDIX C
METODE FDTD (FINITE DIFFERENCE TIME DOMAIN)

Metode ini menggunakan turunan fungsi yang dihubungkan dengan beda hingga
seperti berikut
(C.1)
Dengan dihubungkan ke dalam medan listrik dan medan magnet, akan dihasilkan
persamaan FDTDnya misalkan untuk waktu penjalaran medan E dan medan H sebagai
berikut
untuk ⃗

untuk ⃗

dan letak pada sumbu z misalkan

untuk ⃗

untuk ⃗

Telah diketahui persamaan Maxwell

Dengan notasi ⃗



)





(C.2)





(C.3)

dan ⃗

⃗ (

Maka didapat :























Dengan menghubungkan ke dalam persamaan (C.2) dan (C.3) persamaan diatas
menjadi


Dengan



(

)

dan





(





)








(C.4)
(C.5)

dalam model Drude diberikan dalam persamaan

Substitusi model Drude dalam persamaan (C.5) akan didapat




(











)







(





)



(C.6)

nilai fungsi frekuensi dikonversikan menjadi fungsi waktu dengan hubungan
dan

. Dengan perkalian


merupakan waktu rata-rata. Maka :









Dengan cara yang sama sebelumnya akan di dapat :


(⃗

( ⃗





)



(⃗

)

)

(⃗



)

( ⃗

(C.7)



Nilai variabel tambahan dalam persamaan yang baru merupakan skalar yaitu

i

)

dan


(⃗



( ⃗

(⃗





)

(⃗

)

)



)

( ⃗



)

Maka persamaan FDTD gelombang yang merambat dalam arah z sebagai berikut


dan














Persamaan diatas memberikan algoritma FDTD untuk ⃗ dan ⃗ .

Untuk indeks bias FDTD dihubungkan dengan transformasi Fourier sebagai pengubah
ke FDTD :


Untuk medium yang homogen nilai  = 1 sehingga indeks bias hanya bergantung 
dan  bergantung kepada medan listrik.
̃

∫⃗

̃

∫⃗

Sehingga didapat bahwa hasil transformasi Fouriernya adalah
̃



Indeks bias merupakan perbandingan kecepatan antara dua medium maka persamaan
diatas dapat diubah menjadi :
̃

̃

|



|

|



|



Untuk simulasi dalam jubah silinder maka diperlukan persamaan dalam koordinat
silinder sebagai berikut:

(

Dari transformasi kartesius :

)
(C.13)
(C.14)
(C.15)

Sehingga







i





APENDIX D
PROGRAM MATLAB
clc
clear all
% Adimas Agung
% 110801001
% Simulasi Parameter.
SIZE = 4*1024; % Angka beda langkah
SlabLeft = round(SIZE/3); % Letak sebelah kiri lempengan
SlabRight = round(2*SIZE/3); % Letak sebelah kanan lempengan
MaxTime = 4*SIZE; % Jumlah langkah waktu
PulseWidth = round(SIZE/8); % Lebar Pulsa Gauss
td = PulseWidth; % tempo pulsa.
source = 10; % Letak Sumber
SaveFields = 1; % 0. No, 1. Ya menyimpan.
SnapshotInterval = 32; % jumlah waktu untuk memfoto (menangkap
layar).

% Memilih Sumber Gelombang.
% 1. Gaussian 2. Sine wave 3. Ricker wavelet
SourceChoice = 2;

% Konstanta yang digunakan.
c = 3e8;
pi = 3.141592654;
e0 = (1e-9)/(36*pi);
u0 = (1e-7)*4*pi;

dt = 0.5e-11;
dz = 3e-3;
Sc = c * dt/dz

l = PulseWidth*dz;
f = c/l
fmax = 1/(2*dt)
w = 2*pi*f;
k0 = w/c; % bilangan gelombang.

% Parameter dalam Ricker wavelet.
if SourceChoice == 3
fp = f; % puncak ke puncak frekuensi
dr = PulseWidth*dt*2; % Waktu tunggu
end

% Inisialisasi.
Ex = zeros(SIZE, 3); % komponen x untuk medan E
Dx = zeros(SIZE, 3); % komponen x untuk D
Hy = zeros(SIZE, 3); % komponen y untuk medan H
By = zeros(SIZE, 3); % komponen y medan B

% Medan datang dan transmisi.
Exi = zeros(MaxTime, 1);
Ext = zeros(MaxTime, 1);
Extt = zeros(MaxTime, 1);
x1 = SlabLeft+1; % letak observasi (posisi pengamatan).

% Penghitungan index Bias.
Z1 = SlabLeft + 50;
z1 = Z1*dz;
Z2 = SlabLeft + 60;
z2 = Z2*dz;
Exz1 = zeros(MaxTime, 1);
Exz2 = zeros(MaxTime, 1);

einf = ones(SIZE,1);
einf(SlabLeft:SlabRight) = 1; % einf(Drude) atau er di lempengan.
uinf = ones(SIZE,1);
uinf(SlabLeft:SlabRight) = 1; % uinf(Drude) atau ur di lempengan.
wpesq = zeros(SIZE,1);
wpesq(SlabLeft:SlabRight) = 2*w^2; % nilai DNG(Drude) untuk wpe
kuadrat pada lempengan.
wpmsq = zeros(SIZE,1);
wpmsq(SlabLeft:SlabRight) = 2*w^2; % nilai DNG(Drude) untuk wpm
kuadrat pada lempengan.
ge = zeros(SIZE,1);
ge(SlabLeft:SlabRight) = w/32; % frekuensi listrik pada lempengan.
gm = zeros(SIZE,1);

i

gm(SlabLeft:SlabRight) = w/32; % frekuensi magnet pada lempengan.

a0 = (4*dt^2)./(e0*(4*einf+dt^2*wpesq+2*dt*einf.*ge));
a = (1/dt^2)*a0;
b = (1/(2*dt))*ge.*a0;
c = (e0/dt^2)*einf.*a0;
d = (-1*e0/4).*wpesq.*a0;
e = (1/(2*dt))*e0*einf.*ge.*a0;
am0 = (4*dt^2)./(u0*(4*uinf+dt^2*wpmsq+2*dt*uinf.*gm));
am = (1/dt^2)*am0;
bm = (1/(2*dt))*gm.*am0;
cm = (u0/dt^2)*uinf.*am0;
dm = (-1*u0/4).*wpmsq.*am0;
em = (1/(2*dt))*u0*uinf.*gm.*am0;

if SaveFields == 1
ExSnapshots = zeros(SIZE, MaxTime/SnapshotInterval); % Data yang
akan diplot (bentuk kurva).
frame = 1;
end

n1 = 1;
n2 = 2;
linecount = 0;
% waktu keluar dari pengulangan.
tic
% uji pengulangan untuk medan datang pada ruang bebas.
for q = 0:MaxTime
% Penghitungan Hy menggunakan turunan persamaan Hy. Beda waktu q.
Hy(1:SIZE-1,n2) = Hy(1:SIZE-1,n1) + ( ( Ex(1:SIZE-1,n1) Ex(2:SIZE,n1) ) * dt/(u0*dz) );

% ABC untuk ukuran H.
Hy(SIZE,n2) = Hy(SIZE-1,n1) + (Sc-1)/(Sc+1)*(Hy(SIZE-1,n2) Hy(SIZE,n1) );

% Penghitungan Ex menggunakan turunan persamaan Ex. Beda waktu
q+1/2.

Ex(2:SIZE,n2) = Ex(2:SIZE, n1) + ( dt/(e0*dz)*(Hy(1:SIZE-1, n2) Hy(2:SIZE, n2)) );

% ABC untuk E di 1.
Ex(1,n2) = Ex(2,n1) + (Sc-1)/(Sc+1)*(Ex(2,n2) - Ex(2,n1));

% Sumber.
if SourceChoice == 1
Ex(source,n2) = Ex(source,n2) + exp( -1*((q-td)/(PulseWidth/4))^2
) * Sc;
elseif SourceChoice == 2
Ex(source,n2) = Ex(source,n2) + sin(2*pi*f*(q)*dt) * Sc;
elseif SourceChoice == 3
Ex(source,n2) = Ex(source,n2) + (1-2*(pi*fp*(q*dt-dr))^2)*exp(1*(pi*fp*(q*dt-dr))^2) * Sc;
end

Exi(q+1) = Ex(x1,n2); % Medan datang di kiri lempengan.

temp = n1;
n1 = n2;
n2 = temp;
end
% Pengulangan inisialisasi medan untuk simulasi.
Ex = zeros(SIZE, 3); % komponen x untuk medan E
Hy = zeros(SIZE, 3); % komponen y untuk medan H
% Simulasi dimulai.
fprintf ( 1, 'Simulation started... \n');
for q = 0:MaxTime

% Indikator.
fprintf(1, repmat('\b',1,linecount));
linecount = fprintf(1, '%g %%', (q*100)/MaxTime );

Ex(:,3) = Ex(:,n2);
Dx(:,3) = Dx(:,n2);
Hy(:,3) = Hy(:,n2);
By(:,3) = By(:,n2);

i

% Penghitungan Hy menggunakan turunan persamaan Hy. Beda waktu q.
By(1:SIZE-1,n2) = By(1:SIZE-1,n1) + ( ( Ex(1:SIZE-1,n1) Ex(2:SIZE,n1) ) * dt/(dz) );
Hy(:,n2) = am.*(By(:,n2)-2*By(:,n1)+By(:,3))+bm.*(By(:,n2)By(:,3))+cm.*(2*Hy(:,n1)Hy(:,3))+dm.*(2*Hy(:,n1)+Hy(:,3))+em.*(Hy(:,3));

% ABC untuk ukuran.
Hy(SIZE,n2) = Hy(SIZE-1,n1) + (Sc-1)/(Sc+1)*(Hy(SIZE-1,n2) Hy(SIZE,n1) );
By(SIZE,n2) = u0*Hy(SIZE,n2);

% Penghitungan Ex menggunakan persamaan diferensial Ex. Beda
waktu q+1/2.
Dx(2:SIZE,n2) = Dx(2:SIZE, n1) + ( dt/(dz)*(Hy(1:SIZE-1, n2) Hy(2:SIZE, n2)) );
Ex(:,n2) = a.*(Dx(:,n2)-2*Dx(:,n1)+Dx(:,3))+b.*(Dx(:,n2)Dx(:,3))+c.*(2*Ex(:,n1)Ex(:,3))+d.*(2*Ex(:,n1)+Ex(:,3))+e.*(Ex(:,3));
% ABC untuk E di 1.
Ex(1,n2) = Ex(2,n1) + (Sc-1)/(Sc+1)*(Ex(2,n2) - Ex(2,n1));
Dx(1,n2) = e0*Ex(1,n2);

% Sumber.
if SourceChoice == 1
Ex(source,n2) = Ex(source,n2) + exp( -1*((q-td)/(PulseWidth/4))^2
) * Sc;
elseif SourceChoice == 2
Ex(source,n2) = Ex(source,n2) + sin(2*pi*f*(q)*dt) * Sc;
elseif SourceChoice == 3
Ex(source,n2) = Ex(source,n2) + (1-2*(pi*fp*(q*dt-dr))^2)*exp(1*(pi*fp*(q*dt-dr))^2) * Sc;
end
Dx(source,n2) = e0*Ex(source,n2);

if (SaveFields == 1 && mod(q,SnapshotInterval) == 0)
ExSnapshots(:,frame) = Ex(:,n2);

frame=frame+1;
end

Ext(q+1) = Ex(x1,n2);
Extt(q+1) = Ex(SlabRight+10,n2);

% Medan untuk Penghitungan index bias.
Exz1(q+1) = Ex(Z1, n2);
Exz2(q+1) = Ex(Z2, n2);

temp = n1;
n1 = n2;
n2 = temp;
end
fprintf ( 1, '\nSimulation complete! \n');
toc
% Pengolahan.
Fs = 1/dt;

% pengambilan sampel frekuensi

T = dt;

% waktu sampel

L = length(Exi);

% Panjang sinyal

t = (0:L-1)*T;

% Vektor waktu

fspan = 100;

% Titik alur dalam daerah frekuensi

figure(1)
subplot(211)
plot(Fs*t, Exi, 'LineWidth', 2.0, 'Color', 'b')
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Medan Listrik Datang', 'FontSize', 12, 'FontWeight', 'b')
xlabel('waktu', 'FontSize', 11, 'FontWeight', 'b')
grid on
figure(2)
subplot(211)
plot(Fs*t, Ext, 'LineWidth', 2.0, 'Color', 'b')
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Transmisi Medan Listrik', 'FontSize', 12, 'FontWeight', 'b')
xlabel('waktu', 'FontSize', 11, 'FontWeight', 'b')
grid on
figure(3)
subplot(211)

i

plot(Fs*t, Extt, 'LineWidth', 2.0, 'Color', 'b')
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Transmisi Medan Listrik Melalui Lempeng', 'FontSize', 12,
'FontWeight', 'b')
xlabel('waktu', 'FontSize', 11, 'FontWeight', 'b')
grid on

NFFT = 2^nextpow2(L); % untuk tenaga kedua dari Exi
% Medan datang dan transmisi.
EXI = fft(Exi,NFFT)/L;
EXT = fft(Ext,NFFT)/L;
EXTT = fft(Extt,NFFT)/L;
% Penghitungan Index Bias.
EXZ1 = fft(Exz1,NFFT)/L;
EXZ2 = fft(Exz2,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
% Membuat alur spektrum amplitudo satu bagian.
figure(1)
subplot(212)
EXIp = 2*abs(EXI(1:NFFT/2+1));
plot(f(1:fspan), EXIp(1:fspan), 'LineWidth', 2.0, 'Color', 'r')
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Spektrum Amplitudo Exi(t)', 'FontSize', 12, 'FontWeight', 'b')
xlabel('Frekuensi (Hz)', 'FontSize', 11, 'FontWeight', 'b')
ylabel('|EXI(f)|', 'FontSize', 11, 'FontWeight', 'b')
grid on
figure(2)
subplot(212)
EXTp = 2*abs(EXT(1:NFFT/2+1));
plot(f(1:fspan), EXTp(1:fspan), 'LineWidth', 2.0, 'Color', 'r')
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Spektrum Amplitudo Ext(t)', 'FontSize', 12, 'FontWeight', 'b')
xlabel('Frekuensi (Hz)', 'FontSize', 11, 'FontWeight', 'b')
ylabel('|EXT(f)|', 'FontSize', 11, 'FontWeight', 'b')
grid on
figure(3)
subplot(212)
EXTTp = 2*abs(EXTT(1:NFFT/2+1));
plot(f(1:fspan), EXTTp(1:fspan), 'LineWidth', 2.0, 'Color', 'r')

set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Spektrum Amplitudo Extt(t)', 'FontSize', 12, 'FontWeight',
'b')
xlabel('Frekuensi(Hz)', 'FontSize', 11, 'FontWeight', 'b')
ylabel('|EXT(f)|', 'FontSize', 11, 'FontWeight', 'b')
grid on
% Koefisien Transmisi.
figure(4)
subplot(211)
TAU = abs(EXT(1:NFFT/2+1)./EXI(1:NFFT/2+1));
plot(f(1:fspan), TAU(1:fspan), 'LineWidth', 2.0, 'Color', 'b')
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Koefisien Transmisi', 'FontSize', 12, 'FontWeight', 'b')
xlabel('Frekuensi (Hz)', 'FontSize', 11, 'FontWeight', 'b')
ylabel('|EXT(f)/EXI(f)|', 'FontSize', 11, 'FontWeight', 'b')
axis([-1 1 -2 2])
axis 'auto x'
grid on
subplot(212)
plot(f(1:fspan), 1-TAU(1:fspan), 'LineWidth', 2.0, 'Color', 'b')
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Koefisien Refleksi', 'FontSize', 12, 'FontWeight', 'b')
xlabel('Frekuensi (Hz)', 'FontSize', 11, 'FontWeight', 'b')
ylabel('1-|EXT(f)/EXI(f)|', 'FontSize', 11, 'FontWeight', 'b')
axis([-1 1 -2 2])
axis 'auto x'
grid on
% Penghitungan Indeks Bias.
nFDTD = (1/(1i*k0*(z1-z2))).*log(EXZ2(1:NFFT/2+1)./EXZ1(1:NFFT/2+1));
figure(5)
subplot(211)
plot(f(1:fspan), real(nFDTD(1:fspan)), 'LineWidth', 2.0, 'Color',
'b');
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Indeks Bias re(n)', 'FontSize', 12, 'FontWeight', 'b')
xlabel('Frekuensi (Hz)', 'FontSize', 11)
ylabel('re(n)', 'FontSize', 11)
grid on
subplot(212)

i

plot(f(1:fspan), imag(nFDTD(1:fspan)), 'LineWidth', 2.0, 'Color',
'r');
set(gca, 'FontSize', 10, 'FontWeight', 'b')
title('Indeks Bias im(n)', 'FontSize', 12, 'FontWeight', 'b')
xlabel('Frekuensi (Hz)', 'FontSize', 11, 'FontWeight', 'b')
ylabel('im(n)', 'FontSize', 11, 'FontWeight', 'b')
grid on

if SaveFields == 1
% Simulasi Animasi.
for i=1:frame-1
figure (6)
% Batas penyebaran.
hold off
plot([SlabLeft SlabLeft], [-1 1], 'Color', 'r');
hold on
plot([SlabRight SlabRight], [-1 1], 'Color', 'r');
plot(ExSnapshots(:,i), 'LineWidth', 2.0, 'Color', 'b');
set(gca, 'FontSize', 10, 'FontWeight', 'b')
axis([0 SIZE -1 1])
title('Simulasi Fungsi Waktu', 'FontSize', 12, 'FontWeight',
'b')
xlabel('Beda Langkah(k)', 'FontSize', 11, 'FontWeight', 'b')
ylabel('Medan Listrik (Ex)', 'FontSize', 11, 'FontWeight',
'b')
grid on
end
end

APENDIX E
PROGRAM INVISIBLE CLOAK
clear all; close all;
% Nilai Konstanta
%*******************************************************************
c_0
= 3.0e8;
% Kecepatan cahaya
mu_0 = 4.0*pi*1.0e-7;
% Permeabilitas
eps_0 = 8.8542e-12;
% Permitivitas
losstangent = 0.0;
ie = 401;
je = 400;

% # Besar sel dalam arah x
% # Besar sel dalam arah y

ib = ie + 1;
jb = je + 1;
npmls = 20;
ip = ie - npmls;
jp = je - npmls;
xc = round(ie/2);
yc = round(je/2);
is = 25;
js = 25;

% Letak Sumber Gelombang

it = 30;
jt = 30;

% Daerah Medan atas atau bawah
% Daerah medan kiri atau kanan

freq = 6.0e14;
omega = 2*pi*freq;
k_0 = omega/c_0;
dx = c_0/freq/400;
dt = dx/c_0/sqrt(2);

% Beda waktu

R1 = c_0/freq/8/dx
R2 = 1.43*R1;

% dimensi Jubah

nmax = 400000;

% Jumlah beda waktu

aimp = sqrt(mu_0/eps_0);

% impedansi gelombang

threshold = 0.1;
step = ceil(nmax/10);

% FDTD error

% freq = 2.0e9;
% omega = 2*pi*freq;
tau = 1/freq;
delay = 3*tau/dt;

i

N = round(tau/dt); M = round(c_0/freq/dx);
source = zeros(1,nmax);
clear j;
ST = 300;
st = 20e3;
for n=1:nmax
if n < ST*N
x = 1.0 - (ST*N-n)/(ST*N);
g = 10.0*x^3 - 15.0*x^4 + 6.0*x^5;
%
sumber(n) = g * sin(2*pi*freq*n*dt);
source(n) = g * exp(j*2*pi*freq*n*dt);
else
%
sumber(n) = sin(2*pi*freq*n*dt);
source(n) = exp(j*2*pi*freq*n*dt);
end
%
sumber (n) = exp(-(((n-delay)*dt)/tau)^2) .*
exp(j*2*pi*freq*n*dt);
end
%*******************************************************************
% Inisialisasi matriks untuk komponen medan
%*******************************************************************
Dx = zeros(ie,jb); Dx_h1 = zeros(ie,jb); Dx_h2 = zeros(ie,jb);
Dxsynch = zeros(ie,jb); Dx_h1synch = zeros(ie,jb); Dx_h2synch =
zeros(ie,jb);
caDx = ones(ie,jb); cbDx = ones(ie,jb).*(dt/eps_0/dx);
Ex = zeros(ie,jb); Ex_h1 = zeros(ie,jb); Ex_h2 = zeros(ie,jb);
Ex_h1synch = zeros(ie,jb); Ex_h2synch = zeros(ie,jb);
Dy = zeros(ib,je); Dy_h1 = zeros(ib,je); Dy_h2 = zeros(ib,je);
Dysynch = zeros(ib,je); Dy_h1synch = zeros(ib,je); Dy_h2synch =
zeros(ib,je);
caDy = ones(ib,je); cbDy = ones(ib,je).*(dt/eps_0/dx);
Ey = zeros(ib,je); Ey_h1 = zeros(ib,je); Ey_h2 = zeros(ib,je);
Ey_h1synch = zeros(ib,je); Ey_h2synch = zeros(ib,je);
Bz = zeros(ie,je); Bz_h1 = zeros(ie,je); Bz_h2 = zeros(ie,je);
Bzx = zeros(ie,je); Bzy = zeros(ie,je); Hz_p = zeros(ie,je);
daBzx = ones(ie,je); dbBzx = ones(ie,je).*(dt/mu_0/dx);
daBzy = ones(ie,je); dbBzy = ones(ie,je).*(dt/mu_0/dx);
daBz = ones(ie,je); dbBz = ones(ie,je).*(dt/mu_0/dx);
Hz = zeros(ie,je); Hz_h1 = zeros(ie,je); Hz_h2 = zeros(ie,je);
%
%
%
%

HzsourceTF = zeros(length(it:ie-it),nmax);
HztransTF = zeros(length(it:ie-it),nmax);
HzsourceSF = zeros(length(it:ie-it),nmax);
HztransSF = zeros(length(it:ie-it),nmax);

% Coefficients for cloak
a0x = ones(ie,jb); b0x = ones(ie,jb); b0xy = zeros(ie,jb);
a1x = zeros(ie,jb); b1x = zeros(ie,jb); a1xy = zeros(ie,jb); b1xy =
zeros(ie,jb);
a2x = zeros(ie,jb); b2x = zeros(ie,jb); a2xy = zeros(ie,jb); b2xy =
zeros(ie,jb);
a0y = ones(ib,je); b0y = ones(ib,je); b0yx = zeros(ib,je);
a1y = zeros(ib,je); b1y = zeros(ib,je); a1yx = zeros(ib,je); b1yx =
zeros(ib,je);

a2y = zeros(ib,je); b2y = zeros(ib,je); a2yx = zeros(ib,je); b2yx =
zeros(ib,je);
a0z = ones(ie,je); b0z = ones(ie,je);
a1z = zeros(ie,je); b1z = zeros(ie,je);
a2z = zeros(ie,je); b2z = zeros(ie,je);
% Medan Datang
Ex_inc
= zeros(1,jb);
Hzx_inc = zeros(1,jb);
Ey_inc
= zeros(1,ib);
Hzy_inc = zeros(1,ib);
caEx_inc = ones(1,jb); cbEx_inc = ones(1,jb).*(dt/eps_0/dx);
caEy_inc = ones(1,ib); cbEy_inc = ones(1,ib).*(dt/eps_0/dx);
daHzx_inc = ones(1,je); dbHzx_inc = ones(1,je).*(dt/mu_0/dx);
daHzy_inc = ones(1,ie); dbHzy_inc = ones(1,ie).*(dt/mu_0/dx);
%*******************************************************************
% Jubah
%*******************************************************************
for i = 1 : ie
for j = 1 : je
r = sqrt((i - xc + 0.5).^2 + (j - yc).^2);
if (r=R1);
erx = ((r-R1) / (r));
ethetax = ((r) / (r-R1));
sigma_px =
ethetax*losstangent*((tan((omega*dt)/2))/(dt/2));
gamma_px = (2*losstangent*erx*sin((omega*dt)/2))/((1erx)*dt*cos((omega*dt)/2));
omega_px = sqrt((2*sin((omega*dt)/2)*(-2*(erx1)*sin((omega*dt)/2)+...
losstangent*erx*gamma_px*dt*cos((omega*dt)/2)))/((dt^2)*((cos((omega*
dt)/2))^2)));

sinx = (j - yc)/r;
cosx = (i - xc + 0.5)/r;
ax = ((cosx.^2) + (ethetax.*(sinx.^2))) ./ (dt^2);
bx = ((gamma_px.*(cosx.^2)) + ((sigma_px +
(ethetax*gamma_px)).*(sinx.^2))) ./ (2*dt);
cx = (((cosx.^2).*((omega_px)^2)) +
(sigma_px*gamma_px.*(sinx.^2))) ./ (4);
wx = ((1-ethetax).*sinx.*cosx) ./ (dt^2);
fx = ((gamma_px-sigma_px-(ethetax*gamma_px)).*sinx.*cosx)
./ (2*dt);
vx = ((((omega_px)^2)-(sigma_px*gamma_px)).*sinx.*cosx)
./ (4);
kx = 1 / (dt^2);
lx = gamma_px / (2*dt);

i

tx = ((sinx.^2) + (ethetax.*(cosx.^2))) ./ (dt^2);
qx = ((gamma_px.*(sinx.^2)) + ((sigma_px +
(ethetax*gamma_px)).*(cosx.^2))) ./ (2*dt);
px = (((sinx.^2).*((omega_px)^2)) +
(sigma_px*gamma_px.*(cosx.^2))) ./ (4);
Ax1
Bx1
Cx1
Dx1

=
=
=
=

ax+bx+cx; Ax2 = (2.*ax)-(2.*cx); Ax3 = ax-bx+cx;
wx+fx+vx; Bx2 = (2.*wx)-(2.*vx); Bx3 = wx-fx+vx;
kx+lx; Cx2 = (2.*kx); Cx3 = kx-lx;
tx+qx+px; Dx2 = (2.*tx)-(2.*px); Dx3 = tx-qx+px;

a0x(i, j) = Ax1 - (((Bx1).^2) ./ Dx1);
a1x(i, j) = Ax2 - ((Bx1.*Bx2) ./ Dx1);
a2x(i, j) = ((Bx1.*Bx3) ./ Dx1) - (Ax3);

a1xy(i, j) = Bx2 - ((Bx1.*Dx2) ./ Dx1);
a2xy(i, j) = ((Bx1.*Dx3) ./ Dx1) - (Bx3);

b0x(i, j) = Cx1;
b1x(i, j) = -Cx2;
b2x(i, j) = Cx3;

b0xy(i, j) = -(Bx1.*Cx1) ./ Dx1;
b1xy(i, j) = (Bx1.*Cx2) ./ Dx1;
b2xy(i, j) = -(Bx1.*Cx3) ./ Dx1;

elseif (r