Rabu, 27 Februari 2013

[cerpen] Arindi Sasmita


Kisah berikut ini bersifat fiksi (khayal). Apabila terdapat kesamaan karakter atau nama tokoh dan lokasi kejadian, hal tersebut semata-mata hanyalah kebetulan kosmis belaka.


Arindi Sasmita, pertemuanku dengannya sebenarnya agak mustahil terjadi di abad 21 ini. Sungguh kuno dan norak. Sore itu, angin muson barat bertiup dengan kencangnya dan menampar 12 jendela kayu rumahku (halah!). Baik lah, begini kisahnya. Sore itu, pengeras suara dari arah mushola mengakabarkan kematian seorang warga desa. Tetangga satu desa kami telah berpulang ke Rahmatulloh. Beliau wafat di usia ke-47 ,2 tahun, meninggalkan seorang istri yang masih cukup muda dan seorang anak laki-laki berusia 10 tahun.


Tiga jam kemudian, saat kami sedang makan malam, ibunda mulai ber-pidato. Malam itu, raut muka beliau tampak berkerut-kerut dan memancarkan aura menyeramkan. 

"Nak, ibu ingin menceritakan sebuah rahasia berkenaan dengan wafatnya Bapak Murdock." 

Deg! Kenapa ? Ada apa ? Aku keheranan. 

"Rahasia apa bu ?", tanyaku penasaran. Demi mendengar kata "rahasia" itu bulu hidungku merinding. Aku seperti terlempar ke jaman saat dimana ayah dan ibuku masih remaja dan dikejar-kejar pasukan Penjajah karena menyembunyikan surat rahasia negara. 

"Sebelumnya, ibu mau tanya, apa kamu sudah punya pacar ?" (gubrakkk) 

Tidak ada angin-tidak ada hujan-tidak ada petir, kenapa ibu bicara seperti ini ? 

"Tidak, memang kenapa bu ?" jawabku ringan dan santai.


Rabu, 13 Februari 2013

[bs] Interferensi Gelombang Elektromagnetik

Simulasi interferensi gelombang elektromagnetik menggunakan metode finite difference time domain.



Matlab code available by request to: andri84@yahoo.com or decepticon1022@gmail.com

Selasa, 12 Februari 2013

[bs] Radiasi Benda Hitam

Bila suhu radiator benda hitam meningkat, keseluruhan energi yang di radiasikan juga meningkat dan puncak kurva radiasi bergerak menuju panjang gelombang yang lebih kecil. Ketika panjang gelombang puncak ditinjau dengan rumus radiasi Planck, hasil kali panjang gelombang puncak dan suhu ditemukan berupa konstanta sebesar 2.898x10^(-3) m.K, disebut juga konstantan Wien.

Simulasi sektrum radiasi benda hitam berikut ini merujuk data dari hyperphysics dan wikipedia.



Senin, 11 Februari 2013

[bs] Dualisme Partikel-Gelombang : Difraksi dan Interferensi

Diringkas dari: Ian Cooper, "Quantum Mechanics Wave Particle Duality", Lecture Notes, School of Physics, University of Sydney.


Ketika cahaya melewati celah yang sangat sempit dan jatuh pada layar, gejala difraksi / interferensi yang terdiri dari pola pita terang dan gelap teramati. Kecerahan (intensitas) cahaya yang terdeteksi pada layar sebanding dengan kuadrat amplitudo gelombang. Untuk sebuah plane wave yang datang menuju celah, kita amati difraksi Fraunhoffer terjadi ketika jarak layar jauh lebih besar daripada lebar celah.

Intensitas cahaya yang mengenai layar dengan celah tunggal diberikan oleh persamaan


(1)
dengan

I           = Intensitas cahaya (Watt/m2)
Io         = Intensitas maksimum cahaya (Watt/m2)
beta      = k*b*sin(theta)/2  (rad)
k          = 2*pi/lambda  (rad/m)
lambda  = Panjang gelombang cahaya (m)
b          = Lebar celah (m)
theta     = sudut antara celah dengan sebuah titik pada layar
            = x/D
x           = posisi layar (m)
D          = jarak layar dengan celah (m)

Tabel spektrum cahaya tampak, ref: wikipedia


Difraksi Fraunhoffer pada celah tunggal dengan lebar (b) 20 mm, dan jarak layar-celah (D) 1 m ketika dikenai cahaya dengan lambda 700 nm (sinar merah),  tampak dalam gambar sbb



Selanjutnya, intensitas cahaya yang mencapai layar dari celah ganda diberikan oleh persamaan

(2)
dengan

alpha  = k*a*sin(theta)/2  (rad)
a        = Jarak pisah antara dua celah (m) 

Difraksi Fraunhoffer pada celah ganda dengan lebar (b) 20 mm, jarak pisah celah (a) 3b, dan jarak layar-celah (D) 1 m ketika dikenai cahaya dengan lambda 450 nm (sinar biru),  tampak dalam gambar sbb




PARTIKEL SEBAGAI SEBUAH GELOMBANG

Gelombang dapat dipandang sebagai mekanisme transfer energi melalui getaran yang merambat tanpa melibatkan transfer massa. Salah satu karakteristik gelombang yang tidak dimiliki partikel adalah bahwa, gelaja difraksi / interferensi muncul sebagaimana tampak pada Gambar (1) dan (2) di atas ketika gelombang melewati celah sempit. Namun, melalui pengaturan eksperimental yang analog dengan interferensi cahaya pada celah ganda, ketika berkas elektron datang mengenai biprisma (meniru dua celah untuk cahaya karena elektron memunyai panjang gelombang yang lebih kecil) pada layar terdeteksi gejala  difraksi / interferensi  yang serupa. Ketika jumlah elektron yang melintasi celah sedikit (sekitar 2000) gejala tersebut tak begitu jelas. Namun ketika jumlah elektron meningkat menjadi lebih dari 80,000 gejala difraksi menjadi semakin jelas seperti tampak dalam Gambar 3 berikut ini.


Panjang gelombang de Brolie (lambda) 0.1 nm, lebar celah (b) 3*lambda, jarak pisah celah (a) 12*lambda, dan jarak layar-celah (D) 60*lambda. 




Elektron bersifat partikel ketika mereka mengenai sebuah titik pada layar deteksi, namun distribusi dari titik-titik tersebut pada layar mengungkapkan sebuah pola interferensi yang merupakan karakter khas dari gelombang. Oleh karena itu, kita hanya dapat menyimpulkan bahwa elektron memiliki sifat ganda - mereka dapat berperilaku sebagai partikel dan sebagai gelombang. Kita tidak bisa memprediksi di mana sebuah elektron tunggal akan tiba di layar. Kita hanya tahu kemungkinan di mana elektron akan menubruk layar. Fenomena ini murni berasal dari dunia kuantum dan merupakan contoh yang baik dari interaksi antara indeterminisme dan determinisme.


Elektron diwakili oleh fungsi matematis yang disebut fungsi gelombang Psi(r,t) yang merupakan fungsi posisi dan waktu dari elektron. Evolusi dari fungsi gelombang untuk elektron tunggal diatur oleh persamaan Schrodinger. Namun, fungsi gelombang ini adalah kuantitas kompleks dan tidak dapat diukur secara langsung. Dari situ kita hanya dapat menentukan probabilitas menemukan elektron pada suatu ketika. Rapat probabilitas sebanding dengan kuantitas real |Psi(r,t)|^2. Kami sekarang dapat menafsirkan radiasi yang diberikan oleh Persamaan (2) sebagai kepadatan probabilitas elektron menubruk layar dan luas daerah di bawah kurva menjadi sebanding dengan probabilitas untuk menemukan elektron. Untuk sistem satu dimensi, probabilitas untuk menemukan sebuah elektron antara x1 dan x2 pada waktu t diberikan oleh 


(3)
     
dan untuk contoh celah ganda, kemungkinan memukul piksel pada posisi (x,y) pada layar deteksi pada waktu t adalah


(4)

di mana A adalah luas dari pixel.


Kita tidak bisa memprediksi di mana elektron itu akan menubruk layar tetapi pola yang dibentuk oleh banyak elektron dapat diprediksi oleh persamaan Schrodinger yang mengungkapkan bagaimana sebaran Psi dari celah ke layar. Ketika sebuah elektron tunggal telah meninggalkan celah dan sesaat sebelum menubruk layar, fungsi gelombangnya tersebar di wilayah yang luas dan mencakup banyak piksel, tetapi hanya satu piksel yang dipicu untuk merespon dan tidak ada piksel lain yang merespon. Ketika satu piksel telah dipicu kita dapat menganggap piksel tersebuut dapat menyebarkan berita kepada piksel yang lainya agar tidak merespon. Ini adalah contoh dari kuantum non-lokal, yakni apa yang terjadi di satu tempat memengaruhi apa yang terjadi di tempat lain dengan cara komunikasi yang tidak dapat dijelaskan pada kecepatan cahaya (kecepatan maksimum di mana informasi apapun itu dapat ditransmisikan). Kami mengatakan bahwa ketika elektron terdeteksi, fungsi gelombangnya runtuh. Dalam terminologi fisika kuantum, partikel ditafsirkan sebagai suatu entitas yang hanya ditemukan di satu tempat ketika posisinya diukur.


Untuk partikel bebas (energi total E = energi kinetik K, energi potensial V = 0) sifat gelombangnya digambarkan oleh nya panjang gelombang de Broglie


(5)


di mana h adalah konstanta Planck dan p adalah momentum partikel. Percobaan difraksi mengkonfirmasi bahwa panjang gelombang yang diberikan oleh Persamaan (5) sesuai dengan panjang gelombang yang diukur dalam percobaan ini.


Gelombang klasik dan gelombang (partikel) materi memiliki karakteristik yang sangat berbeda. Perhatikan, misalnya, pola interferensi yang dihasilkan oleh gelombang air melewati dua celah. Jika salah satu celah ditutup sepotong gabus yang mengambang di air hanya akan naik dan turun. Sedangkan ketika dua celag dibuka, terjadi pergeseran pada gabus besarnya ditentukan oleh penjumlahan dari perpindahan dua gelombang yang muncul dari celah. Pada lokasi tertentu gabus akan bergerak naik dan turun dengan perpindahan maksimum karena interferensi konstruktif dari dua gelombang. Di tempat lain, gabus akan tetap ditempat karena dua gelombang yang datang saling membatalkan satu sama lain (interferensi destruktif). Gambar (5) menunjukkan pola interferensi yang khas dari celah ganda pada satu waktu yang singkat.





Sabtu, 09 Februari 2013

[bs] Julia 2

Refernsi : wikipedia

%--------------------------------- Polinomial non kuadratik -----------------------------------

z = z^2 + 0.279;   % kuadratik



z = z^3 + 0.400;



z = z^4 + 0.484;



z = z^5 + 0.544;



z = exp(z^3)-0.59;



z = z^2*exp(z) + 0.21;



z = z^3*exp(z) + 0.33;


Matlab code untuk Julia 2 sama persis dengan Julia 1, dengan sedikit mofikasi yakni 

Pada File 1: Main programe
i = sqrt(-1);
c = i;

Pada File 2: Function, save dengan nama Julia_plot, gunakan z pada salah satu daftar sbb :

%z = z^2 + 0.279;               %fig 1
%z = z^3 + 0.400;               %fig 2
%z = z^4 + 0.484;               %fig 3
%z = z^5 + 0.544;               %fig 4
%z = exp(z^3)-0.59;             %fig 5
%z = z^2*exp(z) + 0.21;         %fig 6
%z = z^3*exp(z) + 0.33;         %fig 7

Bila warna kurang jelas, ubah parameter caxis nya, misal 

caxis([1  100]);

[bs] Julia 1

Referensi : wikipedia


----------------------------------------- Polinomial kuadratik ----------------------------------
golden_ratio = (1+sqrt(5))/2
z = z^2+c
i = sqrt(-1)
-----------------------------------------------------------------------------------------------------

c = 1-golden_ratio


c = (golden_ratio-2)+(golden_ratio-1)*i



c = 0.285+0*i;


c = 0.285+0.01*i


c = 0.45+0.1428*i;









c = -0.70176-0.3843*i

                 

c = -0.835-0.2321*i

                        

c = -0.8+0.156*i



Matlab code

File 1: Main programe

%-------------------------------------------- copy mulai dari sini ----------------------------------
% Julia Set_1
% Edited by Andri Husein

clc
clear all

i= sqrt(-1);
k = 100;      % Number of iterations 100
Xr = [-2 2];  % x-axis range value 
Yr = [-2 2];  % y-axis range value

% Reff : http://en.wikipedia.org/wiki/Julia_set
golden_ratio = (1+sqrt(5))/2;
c = 1-golden_ratio;                          % figure 1
%c = (golden_ratio-2)+(golden_ratio-1)*i;    % figure 2
%c = 0.285+0*i;                              % figure 3
%c = 0.285+0.01*i;                           % figure 4
%c = 0.45+0.1428*i;                          % figure 5
%c = -0.70176-0.3843*i;                      % figure 6
%c = -0.835-0.2321*i;                        % figure 7
%c = -0.8+0.156*i;                           % figure 8

Julia_plot(c,k,Xr,Yr)
xlabel('x-axis','FontSize',12)
ylabel('y-axis','FontSize',12)
title('Julia Set','FontSize',12)

%-------------------------------------------- copy sampai sini ------------------------------------

File 2: Function, save dengan nama Julia_plot

%-------------------------------------------- copy mulai dari sini ----------------------------------
function Julia_plot(c,k,Xr,Yr)
n = 400;
i = sqrt(-1);
x = linspace(Xr(1,1),Xr(1,2),n);
y = linspace(Yr(1,1),Yr(1,2),n);
[X,Y] = meshgrid(x,y);
W = zeros(length(X),length(Y));
for m = 1:size(X,2)
    for j = 1:size(Y,2)
        [w,iter] = Julia(X(m,j)+Y(m,j)*i,c,k);
        W(m,j) = W(m,j) + iter;
    end
end
hold on;
%axis off;

colormap(jet);       %pilihan warna 1
%colormap(summer);   %pilihan warna 2
%colormap(cool);     %pilihan warna 3

pcolor(W);
caxis([-20 180]);   % default [-20 180]
shading interp;
hold off;

%----------------------------------

function [pri,it] = Julia(z,c,k)

R = max(abs(c),2);
d = 0;
while d < k
    if abs(z) > R
        pri = 1;
        it = d;
        return;
    end
    
    %-------------------------------------
    z = z^2 + c; % Quadratic polynomials
    %------------------------------------
    
    d = d + 1;
end
pri = 0;
it = d;
%-------------------------------------------- copy sampai sini ------------------------------------

Copyright (c) 2006, Krzysztof Gdawiec
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution 


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Jumat, 08 Februari 2013

[bs] Ikeda Map

Referensi : wikipedia




Matlab code

clc
clear all

n=5000;
mu=0.9;
x0=0.1;
y0=0.1;

% Initialize
t=0.4-6/(1+x0^2+y0^2);
x(1,1)=1+mu*(x0*cos(t)-y0*sin(t));
y(1,1)=mu*(x0*sin(t)+y0*cos(t));

% Simulate
for i=2:n
    t=0.4-6/(1+x(i-1,1)^2+y(i-1,1)^2);
    x(i,1)=1+mu*(x(i-1,1)*cos(t)-y(i-1,1)*sin(t));
    y(i,1)=mu*(x(i-1,1)*sin(t)+y(i-1,1)*cos(t));
end

plot(x,y,'b.','MarkerSize',4)
axis equal
axis([1.1*min(x) 1.1*max(x) 1.1*min(y) 1.1*max(y)])
xlabel('X','FontSize',12);ylabel('Y','FontSize',12)
title('Ikeda Map','FontSize',12)



[bs] Mandelbrot Set

Referensi : wikipedia

The Mandelbrot set is a mathematical set of points whose boundary is a distinctive and easily recognizable two-dimensional fractalshape. The set is closely related to Julia sets (which include similarly complex shapes), and is named after the mathematician Benoit Mandelbrot, who studied and popularized it.


z = z^2+c



z = z^3+c



z = z^4+c



z = z^5+c



z = z^6+c




z = z^7+c



Matlab code untuk Mandelbrot Set

File 1 : Main Program

%---------------------------------copy mulai dari sini -----------------------------------------

clc
clear all
close all

% Mandelbrot Set
% Edited by Andri Husein

k = 80;       % Number of iterations 100
Xr = [-2 2];  % x-axis range value 
Yr = [-2 2];  % y-axis range value

Mandelbrot_plot(k,Xr,Yr)
xlabel('X-Axis','FontSize',16)
ylabel('Y-Axis','FontSize',16)
title('Mandelbrot Set','FontSize',16)

%---------------------------------copy sampai sini -------------------------------------------


File 2 : Function, simpan dengan nama: Mandelbrot_plot

%---------------------------------copy mulai dari sini -----------------------------------------


function Mandelbrot_plot(k,Xr,Yr)
n = 400;
x = linspace(Xr(1,1),Xr(1,2),n);
y = linspace(Yr(1,1),Yr(1,2),n);
[X,Y] = meshgrid(x,y);
W = zeros(length(X),length(Y));
i = sqrt(-1);
for m = 1:size(X,2)
    for j = 1:size(Y,2)
        [w,iter] = Mandelbrot(X(m,j)+Y(m,j)*i,k);
        W(m,j) = W(m,j) + iter;
    end
end
hold on;
%colormap(jet);     %pilihan warna 1
%colormap(winter);  %pilihan warna 2

colormap(hsv);      %pilihan warna 3

%colormap(cool);    %pilihan warna 4

pcolor(W);          %plot 2D

caxis([0 40]);      %rentang nilai warna
shading interp;     %melembutkan grafik

hold off;
%-----------------------------------
function [pri,it] = Mandelbrot(c,m)
k = 0;
z = c;
while k < m
    if abs(z) > 2
        pri = 1;
        it = k;
        return;
    end
    % Ref http://commons.wikimedia.org/wiki/Fractal
    z = z^2 + c;
    %z = z^3+c;
    %z = z^4+c;
    %z = z^5+c;
    %z = z^6+c;
    %z = z^7+c;    

    k = k + 1;
end
pri = 0;
it = k;

%---------------------------------copy sampai sini -----------------------------------------


Copyright (c) 2006, Krzysztof Gdawiec
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

[bs] Logistic map


Referensi : wikipedia

An example is the bifurcation diagram of the logistic map:

x(n+1) =  r*x(n)*(1-x(n))

The bifurcation parameter r is shown on the horizontal axis of the plot and the vertical axis shows the possible long-term population values of the logistic function.

The bifurcation diagram nicely shows the forking of the possible periods of stable orbits from 1 to 2 to 4 to 8 etc. Each of these bifurcation points is a period-doubling bifurcation. The ratio of the lengths of successive intervals between values of r for which bifurcation occursconverges to the first Feigenbaum constant.



Code matlab kita untuk logistic map sbb :

clc
clear all

r = 2.5:5e-4:4;
x = 0.4*ones(1,length(r));
k1 = 400;                   
k2 = 100;                   
f = zeros(k1+k2,length(r));
for i = 1:k1+k2
    x = r .* x .* (1 - x);
    f(i,:) = x;
end
f = f(k1+1:end,:);
figure(1)
plot(r,f,'b.','MarkerSize',1)
axis equal
xlabel('r','FontSize',16)
ylabel('x','FontSize',16);


Informasi sebelumnya mengenai chaotic map