Lampiran 1. Diagram Alir Penelitian
Tidak Ya
Studi Pustaka
Pembuatan Program Model Neuron Fitzhugh-Nagumo
Berhasil
Penyusunan Laporan
Selesai
Analisis Hasil Dikaitkan dengan Keadaan Membran Neuron Variasi
Lampiran 2. Kegiatan Penelitian
Lampiran 3. Tampilan GUI Program Matlab Model Neuron Fitzhugh-Nagumo
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Studi Pustaka Penyusunan Proposal Penelitian Kolokium Pembuatan Program Model Neuron Fitzhugh Nagumo Variasi Variabel a, b, dan c Analisa Hasil Dikaitkan dengan Keadaan Membran Neuron Penyusunan Hasil Penelitian Seminar Sidang dan Penyusunan Skripsi Juni Juli Kegiatan Penelitian
Bulan Desember 2010 - Juli 2011 Desember Januari Februari Maret April Mei
15
Lampiran 4. Program Matlab Model Neuron Fitzhugh-Nagumo menggunakan Ode45
Program terdiri dari 4 program, yaitu program tampilan GUI, ode45, panggilan model Fitzhugh-Nagumo, dan program tampilan awal. Variasi dilakukan dengan mengubah nilai a, b, dan c pada tampilan GUI. Berikut keempat program tersebut:
1. Program GUI untuk menampilkan tampilan pengguna yang akan mempermudah proses variasi variabel.
% Program tampilan GUI Model Neuron Fitzhugh-Nagumo % Dibuat oleh:Ika Ikrima G74070024
% Departemen Fisika FMIPA IPB, 2010
% ---
% Mengosongkan memori MATLAB dari semua variabel yang pernah diolah clear all
% Membersihkan layar 'Command Window' clc;
% Menampilkan window
win1=figure('units','points','position',[100 80 550 480],'menubar',... 'none','resize','off','color',[.8 1 .8],'numbertitle','off',...
'name','Program Fitzhugh-Nagumo'); % Menampilkan lokasi grafik
grafik1=axes('parent',win1,'units','points','position',[60 55 345 355],... 'xgrid','on','ygrid','on','fontsize',14);
axis([1 13 -2 2.2])
xlabel('Waktu (ms)'), ylabel('Potensial Membran') % Menampilkan desain tampilan background
frame1=uicontrol('parent',win1,'units','points','position',... [0 440 550 35],'backgroundcolor',[0 .3 .2],'style','Frame'); frame2=uicontrol('parent',win1,'units','points','position',[0 5 550 8],... 'backgroundcolor',[0 .3 .2],'style','Frame'); frame3=uicontrol('parent',win1,'units','points','position',... [430 20 110 415],'backgroundcolor',[0 .3 .2],'style','Frame'); frame4=uicontrol('parent',win1,'units','points','position',... [440 270 90 115],'backgroundcolor',[.8 1 .8],'style','Frame'); % Menampilkan text yang ingin dimunculkan
text1=uicontrol('parent',win1,'units','points','position',...
[18 445 515 25],'backgroundcolor',[.8 1 .8],'style','Text','string',... 'Simulasi Model Neuron Fitzhugh-Nagumo',...
'fontname','MS Sans Serif','fontsize',18,'fontweight','bold'); label1=uicontrol('parent',win1,'units','points','position',...
[443 348 20 25],'backgroundcolor',[.8 1 .8],'style','Text','string',... 'a:','fontweight','bold','fontname','MS Sans Serif','fontsize',14); label2=uicontrol('parent',win1,'units','points','position',...
[443 310 20 25],'backgroundcolor',[.8 1 .8],'style','Text','string',... 'b:','fontweight','bold','fontname','MS Sans Serif','fontsize',14); label3=uicontrol('parent',win1,'units','points','position',...
[443 278 20 25],'backgroundcolor',[.8 1 .8],'style','Text','string',... 'c:','fontweight','bold','fontname','MS Sans Serif','fontsize',14); label5=uicontrol('parent',win1,'units','points','horizontalalignment',... 'left','position',[443 245 85 16],'backgroundcolor',[.8 1 .8],... 'style','Text','string','Warna :','fontweight','bold',...
'fontname','MS Sans Serif','fontsize',12); % Menampilkan lokasi inputan
edit1=uicontrol('parent',win1,'units','points','position',... [465 350 55 25],'backgroundcolor',[1 1 1],'style','Edit','string',... '0.7','fontname','Algerian','fontsize',12); edit2=uicontrol('parent',win1,'units','points','position',... [465 315 55 25],'backgroundcolor',[1 1 1],'style','Edit','string',... '0.8','fontname','Algerian','fontsize',12); edit3=uicontrol('parent',win1,'units','points','position',[465 280 55 25],...
Lanjutan Lampiran 4
'backgroundcolor',[1 1 1],'style','Edit','string','3',... 'fontname','Algerian','fontsize',12);
% Menampilkan pilihan warna grafik
popup2=uicontrol('parent',win1,'units','points',...
'position',[443 215 85 30],'backgroundcolor',[1 1 1],...
'style','popupmenu','string','Hitam|Merah|Biru|Hijau|Magenta|Sian|Kuning',... 'fontname','Arial','fontsize',12);
% Memanggil fungsi untuk tetap menampilkan keluaran sebelumnya Hold=uicontrol('parent',win1,'units','points','backgroundcolor',[.8 1 .8],... 'position',[443 190 85 25],'style','checkbox','callback','hold(grafik1)',... 'string','Tahan','fontweight','bold','fontname','arial','fontsize',12); % Memanggil program "FHN1" yang berisi fungsi ode45
proses=uicontrol('parent',win1,'units','points','position',[443 120 85 55],... 'style','pushbutton','callback','FHN1','string','Proses',...
'fontname','arial','fontweight','bold','fontsize',10); % Memanggil program "kembali"
reset=uicontrol('parent',win1,'units','points','fontweight','bold',... 'position',[443 90 85 25],'style','pushbutton','callback','kembali',... 'string','Kembali','fontname','arial','fontsize',10);
2. Program ode45: memanggil fungsi ode45 untuk menyelesaikan persamaan Fitzhugh-Nagumo secara numerik serta menampilkan hasilnya dalam bentuk grafik.
% Program ode45 Model Neuron Fitzhugh-Nagumo % Dibuat oleh:Ika Ikrima G74070024
% Departemen Fisika FMIPA IPB, 2010
% --- % Memanggil inputan a1=str2double(get(edit1,'string')); b1=str2double(get(edit2,'string')); c1=str2double(get(edit3,'string')); % Deklarasi parameter global a b c z a=a1; b=b1; c=c1; z=-0.4; % Memanggil fungsi ode45 [t,x]=ode45(@f,[0 100],[0 0]);
% Menampilkan grafik sesuai warna yang dipilih pilih2=get(popup2,'Value'); switch pilih2 case 1 plot (t,x(:,1),'k') case 2 plot (t,x(:,1),'r') case 3 plot (t,x(:,1),'b') case 4 plot (t,x(:,1),'g') case 5 plot (t,x(:,1),'m') case 6 plot (t,x(:,1),'c') case 7 plot (t,x(:,1),'y') end
xlabel('Waktu (ms)'), ylabel('Potensial Membran') grid on
axis([1 14 -2 2.2])
17
Lanjutan Lampiran 4
3. Program Panggilan: berisi persamaan diferensial Fitzhugh-Nagumo yang akan dicari solusinya
%Program Panggilan Model Neuron Fitzhugh-Nagumo %Dibuat oleh:Ika Ikrima G74070024
%Departemen Fisika FMIPA IPB, 2010
%--- function xprime = f(~,x)
global a b c z xprime=zeros(2,1);
% Persamaan diferensial Fitzhugh-Nagumo xprime(1)=c*(x(1)+x(2)-x(1)^3/3+z); xprime(2)=-(x(1)-a+b*x(2))/c;
4. Program tampilan awal: mengembalikan tampilan seperti keadaan semula % Program Tampilan Awal Model Neuron Fitzhugh-Nagumo
% Dibuat oleh:Ika Ikrima G74070024 % Departemen Fisika FMIPA IPB, 2010
% --- clc
% Menghapus grafik cla(grafik1)
% mengisi inputan pada keadaan awalnya set(edit1,'string',num2str(0.7));
set(edit2,'string',num2str(0.8)); set(edit3,'string',num2str(3));
% Menghentikan fungsi legend grafik legend('off')
1 I µA Arus total membran
2 C µF Kapasitansi arus
3 IK , INA , Il µA Arus K+, Na+, dan arus kebocoran
4 n - Variabel yang berkaitan dengan pembukaan saluran ion Na
5 m - Variabel yang berkaitan dengan pembukaan saluran ion K
6 h - Variabel yang berkaitan dengan penutupan saluran ion Na
7 , , , ,
, dan - Konstanta yang hanya tergantung pada potensial membran
8 V mV Potensial membran
9 VNa, VK, VL mV Potensial kesetimbangan Na+, K+, dan potensial kebocoran
10 gCa, gK,dan gL mS/cm2 Nilai konduktansi membran akibat arus ion Ca, K, dan arus kebocoran
11 - Fungsi posisi
12 - Turunan pertama fungsi posisi terhadap waktu
13 - Turunan kedua fungsi posisi terhadap waktu
14 k - Konstanta redaman
15 kn - Perhitungan persamaan pada pengulangan ke-n.
16 h - Selisih waktu pada saat iterasi dengan iterasi selanjutnya.
17 f - Fungsi yang akan diselesaaikan.
18 xk+1 - Nilai akhir yang akan dicari
19 z - Intensitas stimulus
20 a, b, dan c - Konstanta pada model Fitzhugh-Nagumo
21 y - Fungsi pemulih
22 - Turunan pertama dari y terhadap waktu
LAMPIRAN
Lampiran 1. Diagram Alir PenelitianTidak Ya
Studi Pustaka
Pembuatan Program Model Neuron Fitzhugh-Nagumo
Berhasil
Penyusunan Laporan
Selesai
Analisis Hasil Dikaitkan dengan Keadaan Membran Neuron Variasi
Lampiran 2. Kegiatan Penelitian
Lampiran 3. Tampilan GUI Program Matlab Model Neuron Fitzhugh-Nagumo
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Studi Pustaka Penyusunan Proposal Penelitian Kolokium Pembuatan Program Model Neuron Fitzhugh Nagumo Variasi Variabel a, b, dan c Analisa Hasil Dikaitkan dengan Keadaan Membran Neuron Penyusunan Hasil Penelitian Seminar Sidang dan Penyusunan Skripsi Juni Juli Kegiatan Penelitian
Bulan Desember 2010 - Juli 2011 Desember Januari Februari Maret April Mei
15
Lampiran 4. Program Matlab Model Neuron Fitzhugh-Nagumo menggunakan Ode45
Program terdiri dari 4 program, yaitu program tampilan GUI, ode45, panggilan model Fitzhugh-Nagumo, dan program tampilan awal. Variasi dilakukan dengan mengubah nilai a, b, dan c pada tampilan GUI. Berikut keempat program tersebut:
1. Program GUI untuk menampilkan tampilan pengguna yang akan mempermudah proses variasi variabel.
% Program tampilan GUI Model Neuron Fitzhugh-Nagumo % Dibuat oleh:Ika Ikrima G74070024
% Departemen Fisika FMIPA IPB, 2010
% ---
% Mengosongkan memori MATLAB dari semua variabel yang pernah diolah clear all
% Membersihkan layar 'Command Window' clc;
% Menampilkan window
win1=figure('units','points','position',[100 80 550 480],'menubar',... 'none','resize','off','color',[.8 1 .8],'numbertitle','off',...
'name','Program Fitzhugh-Nagumo'); % Menampilkan lokasi grafik
grafik1=axes('parent',win1,'units','points','position',[60 55 345 355],... 'xgrid','on','ygrid','on','fontsize',14);
axis([1 13 -2 2.2])
xlabel('Waktu (ms)'), ylabel('Potensial Membran') % Menampilkan desain tampilan background
frame1=uicontrol('parent',win1,'units','points','position',... [0 440 550 35],'backgroundcolor',[0 .3 .2],'style','Frame'); frame2=uicontrol('parent',win1,'units','points','position',[0 5 550 8],... 'backgroundcolor',[0 .3 .2],'style','Frame'); frame3=uicontrol('parent',win1,'units','points','position',... [430 20 110 415],'backgroundcolor',[0 .3 .2],'style','Frame'); frame4=uicontrol('parent',win1,'units','points','position',... [440 270 90 115],'backgroundcolor',[.8 1 .8],'style','Frame'); % Menampilkan text yang ingin dimunculkan
text1=uicontrol('parent',win1,'units','points','position',...
[18 445 515 25],'backgroundcolor',[.8 1 .8],'style','Text','string',... 'Simulasi Model Neuron Fitzhugh-Nagumo',...
'fontname','MS Sans Serif','fontsize',18,'fontweight','bold'); label1=uicontrol('parent',win1,'units','points','position',...
[443 348 20 25],'backgroundcolor',[.8 1 .8],'style','Text','string',... 'a:','fontweight','bold','fontname','MS Sans Serif','fontsize',14); label2=uicontrol('parent',win1,'units','points','position',...
[443 310 20 25],'backgroundcolor',[.8 1 .8],'style','Text','string',... 'b:','fontweight','bold','fontname','MS Sans Serif','fontsize',14); label3=uicontrol('parent',win1,'units','points','position',...
[443 278 20 25],'backgroundcolor',[.8 1 .8],'style','Text','string',... 'c:','fontweight','bold','fontname','MS Sans Serif','fontsize',14); label5=uicontrol('parent',win1,'units','points','horizontalalignment',... 'left','position',[443 245 85 16],'backgroundcolor',[.8 1 .8],... 'style','Text','string','Warna :','fontweight','bold',...
'fontname','MS Sans Serif','fontsize',12); % Menampilkan lokasi inputan
edit1=uicontrol('parent',win1,'units','points','position',... [465 350 55 25],'backgroundcolor',[1 1 1],'style','Edit','string',... '0.7','fontname','Algerian','fontsize',12); edit2=uicontrol('parent',win1,'units','points','position',... [465 315 55 25],'backgroundcolor',[1 1 1],'style','Edit','string',... '0.8','fontname','Algerian','fontsize',12); edit3=uicontrol('parent',win1,'units','points','position',[465 280 55 25],...
Lanjutan Lampiran 4
'backgroundcolor',[1 1 1],'style','Edit','string','3',... 'fontname','Algerian','fontsize',12);
% Menampilkan pilihan warna grafik
popup2=uicontrol('parent',win1,'units','points',...
'position',[443 215 85 30],'backgroundcolor',[1 1 1],...
'style','popupmenu','string','Hitam|Merah|Biru|Hijau|Magenta|Sian|Kuning',... 'fontname','Arial','fontsize',12);
% Memanggil fungsi untuk tetap menampilkan keluaran sebelumnya Hold=uicontrol('parent',win1,'units','points','backgroundcolor',[.8 1 .8],... 'position',[443 190 85 25],'style','checkbox','callback','hold(grafik1)',... 'string','Tahan','fontweight','bold','fontname','arial','fontsize',12); % Memanggil program "FHN1" yang berisi fungsi ode45
proses=uicontrol('parent',win1,'units','points','position',[443 120 85 55],... 'style','pushbutton','callback','FHN1','string','Proses',...
'fontname','arial','fontweight','bold','fontsize',10); % Memanggil program "kembali"
reset=uicontrol('parent',win1,'units','points','fontweight','bold',... 'position',[443 90 85 25],'style','pushbutton','callback','kembali',... 'string','Kembali','fontname','arial','fontsize',10);
2. Program ode45: memanggil fungsi ode45 untuk menyelesaikan persamaan Fitzhugh-Nagumo secara numerik serta menampilkan hasilnya dalam bentuk grafik.
% Program ode45 Model Neuron Fitzhugh-Nagumo % Dibuat oleh:Ika Ikrima G74070024
% Departemen Fisika FMIPA IPB, 2010
% --- % Memanggil inputan a1=str2double(get(edit1,'string')); b1=str2double(get(edit2,'string')); c1=str2double(get(edit3,'string')); % Deklarasi parameter global a b c z a=a1; b=b1; c=c1; z=-0.4; % Memanggil fungsi ode45 [t,x]=ode45(@f,[0 100],[0 0]);
% Menampilkan grafik sesuai warna yang dipilih pilih2=get(popup2,'Value'); switch pilih2 case 1 plot (t,x(:,1),'k') case 2 plot (t,x(:,1),'r') case 3 plot (t,x(:,1),'b') case 4 plot (t,x(:,1),'g') case 5 plot (t,x(:,1),'m') case 6 plot (t,x(:,1),'c') case 7 plot (t,x(:,1),'y') end
xlabel('Waktu (ms)'), ylabel('Potensial Membran') grid on
axis([1 14 -2 2.2])
17
Lanjutan Lampiran 4
3. Program Panggilan: berisi persamaan diferensial Fitzhugh-Nagumo yang akan dicari solusinya
%Program Panggilan Model Neuron Fitzhugh-Nagumo %Dibuat oleh:Ika Ikrima G74070024
%Departemen Fisika FMIPA IPB, 2010
%--- function xprime = f(~,x)
global a b c z xprime=zeros(2,1);
% Persamaan diferensial Fitzhugh-Nagumo xprime(1)=c*(x(1)+x(2)-x(1)^3/3+z); xprime(2)=-(x(1)-a+b*x(2))/c;
4. Program tampilan awal: mengembalikan tampilan seperti keadaan semula % Program Tampilan Awal Model Neuron Fitzhugh-Nagumo
% Dibuat oleh:Ika Ikrima G74070024 % Departemen Fisika FMIPA IPB, 2010
% --- clc
% Menghapus grafik cla(grafik1)
% mengisi inputan pada keadaan awalnya set(edit1,'string',num2str(0.7));
set(edit2,'string',num2str(0.8)); set(edit3,'string',num2str(3));
% Menghentikan fungsi legend grafik legend('off')
1 I µA Arus total membran
2 C µF Kapasitansi arus
3 IK , INA , Il µA Arus K+, Na+, dan arus kebocoran
4 n - Variabel yang berkaitan dengan pembukaan saluran ion Na
5 m - Variabel yang berkaitan dengan pembukaan saluran ion K
6 h - Variabel yang berkaitan dengan penutupan saluran ion Na
7 , , , ,
, dan - Konstanta yang hanya tergantung pada potensial membran
8 V mV Potensial membran
9 VNa, VK, VL mV Potensial kesetimbangan Na+, K+, dan potensial kebocoran
10 gCa, gK,dan gL mS/cm2 Nilai konduktansi membran akibat arus ion Ca, K, dan arus kebocoran
11 - Fungsi posisi
12 - Turunan pertama fungsi posisi terhadap waktu
13 - Turunan kedua fungsi posisi terhadap waktu
14 k - Konstanta redaman
15 kn - Perhitungan persamaan pada pengulangan ke-n.
16 h - Selisih waktu pada saat iterasi dengan iterasi selanjutnya.
17 f - Fungsi yang akan diselesaaikan.
18 xk+1 - Nilai akhir yang akan dicari
19 z - Intensitas stimulus
20 a, b, dan c - Konstanta pada model Fitzhugh-Nagumo
21 y - Fungsi pemulih
22 - Turunan pertama dari y terhadap waktu