LAMPIRAN LISTING PROGRAM
Form_utama.m (Halaman Utama)
function varargout = Form_utama(varargin)
% --- Executes just before form_utama is made visible.
function Form_utama_OpeningFcn(hObject, eventdata, handles, varargin)
gambar = imread('logo.jpg'); axes(handles.Logo);
imshow(gambar);
% fungsi keluar aplikasi
function Keluar_Callback(hObject, eventdata, handles) pilih = questdlg('Keluar dari aplikasi ?', 'Keluar',
'Ya', 'Tidak', 'Tidak'); switch pilih
case 'Ya', close case 'Tidak' otherwise end
% fungsi bantuan menu utama
function Bantuan_Callback(hObject, eventdata, handles) Bantuanmenuutama;
% fungsi menampilkan halaman pelatihan
function Pelatihan_Callback(hObject, eventdata, handles) close;
Pelatihan;
% fungsi menampilkan halaman pengujian
function Pengujian_Callback(hObject, eventdata, handles) close;
Pengujian;
Pelatihan.m (Halaman Pelatihan)
% menampilkan bantuan
function bantuan_Callback(hObject, eventdata, handles) Bantuanpelatihan
% fungsi keluar aplikasi
pilih = questdlg('Kembali ke menu utama ?', 'Keluar', 'Ya', 'Tidak', 'Ya');
switch pilih case 'Ya', close
Form_utama case 'Tidak' return end
% fungsi untuk membuka citra
function bukacitra_Callback(hObject, eventdata, handles) try
graf(1) = handles.axes1; graf(11) = handles.axes11; graf(2) = handles.axes2; graf(12) = handles.axes12; graf(3) = handles.axes3; graf(13) = handles.axes13; graf(4) = handles.axes4; graf(14) = handles.axes14; graf(5) = handles.axes5; graf(15) = handles.axes15; graf(6) = handles.axes6; graf(16) = handles.axes16; graf(7) = handles.axes7; graf(17) = handles.axes17; graf(8) = handles.axes8; graf(18) = handles.axes18; graf(9) = handles.axes9; graf(19) = handles.axes19; graf(10) = handles.axes10; graf(20) = handles.axes20;
[nama_file, nama_path, ~] = uigetfile({'*.jpg' , 'File jpeg (*.jpg)'} , 'Buka File Citra', 'MultiSelect', 'on');
if ~isequal(nama_file , 0) for a = 1 : 20
gambar = strcat(nama_path, nama_file{a});
set(graf(a), 'Visible', 'On'); axes(graf(a)); imshow(gambar);
end else
return; end
set(handles.bukacitra, 'Enable', 'Off'); set(handles.binerisasi, 'Enable', 'On'); catch
errordlg('Citra Tidak Sesuai', 'Error'); end
% fungsi binerisasi
function binerisasi_Callback(hObject, eventdata, handles) for a = 1 : 20
citralatihan = getimage(citralatih(a));
citra_biner = im2bw(citralatihan_abuabu, citra_thres);
[baris, kolom] = size(citra_biner); for x = 1 : baris
for y = 1 : kolom
if citra_biner(x, y) == 0 citra_biner1(x, y) = 1; elseif citra_biner(x, y) == 1 citra_biner1(x, y) = 0; end
end end
citra_biner1 = logical(citra_biner1);
axes(citralatih(a)); imshow(citra_biner1); end
set(handles.binerisasi,'Enable','Off'); set(handles.thinning, 'Enable', 'On');
% fungsi thinning
function thinning_Callback(hObject, eventdata, handles) for a = 1 : 20
citra_biner1 = getimage(citralatih(a));
axes(citralatih(a)); imshow(citralatihan_tipis); end
set(handles.thinning,'Enable','Off'); set(handles.pemotongan, 'Enable', 'On');
% fungsi pemotongan citra
function pemotongan_Callback(hObject, eventdata, handles) for a =1 : 20
citralatihan_tipis = getimage(citralatih(a)); [b, k] = find(citralatihan_tipis);
citralatihan_dipotong =
imresize(citralatihan_dipotong, [115 115]);
axes(citralatih(a)); imshow(citralatihan_dipotong); end
set(handles.pemotongan, 'Enable', 'Off'); set(handles.ekstraksifitur, 'Enable', 'On');
% fungsi ekstraksi citra
function ekstraksifitur_Callback(hObject, eventdata, handles)
baris_A = {'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10',...
'A11', 'A12', 'A13', 'A14', 'A15', 'A16', 'A17', 'A18', 'A19', 'A20'};
for a = 1 : 20
citralatihan_ap = reshape(citralatihan_ap, 1, 400); xlswrite('M:\Belajar\matlab\Pengenalan Pola Tanda
Tangan\Input Pelatihan.xlsx', citralatihan_ap, 'sheet1', baris_A{a});
end
msgbox('Pengolahan Citra Selesai');
set(handles.ekstraksifitur, 'Enable', 'Off');
% fungsi pelatihan
function latih_Callback(hObject, eventdata, handles) try
masukan = xlsread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Input Pelatihan.xlsx', 'sheet1'); pola_masukan = masukan_norm';
pola_masukan1 = logical(masukan);
iterasi_maks = str2double(get(handles.iterasi_maks, 'String'));
% pelatihan kohonen
baris_bobot = {'A1:OJ1', 'A2:OJ2', 'A3:OJ3', 'A4:OJ4', 'A5:OJ5', 'A6:OJ6', 'A7:OJ7' 'A8:OJ8', 'A9:OJ9', 'A10:OJ10',...
'A11:OJ11', 'A12:OJ12', 'A13:OJ13', 'A14:OJ14', 'A15:OJ15', 'A16:OJ16', 'A17:OJ17' 'A18:OJ18', 'A19:OJ19', 'A20:OJ20'};
laju_pemahaman = str2double(get(handles.laju_pemahaman, 'String'));
net = newsom(minmax(pola_masukan), [5 5], 'randtop', 'dist', laju_pemahaman, 1000, 0.5, 0);
net.trainFcn = 'trainr';
net.trainParam.epochs = iterasi_maks;
loading = waitbar(0, 'Sedang diproses...'); steps = 1;
for step = 1 : steps tic;
net = train(net, pola_masukan); elapsedTime = toc;
waitbar(0.25);
bobot = net.IW{1, 1};
nilai = sim(net, pola_masukan); keluaran = vec2ind(nilai);
% akhir pelatihan kohonen
waitbar(0.5);
% pelatihan art1
L = 10; n = 20;
b = (ones(20, 400) * (1/(1 + n))); t = ones(20, 400);
tic;
[b] = art1(pola_masukan1, p, L, b, t, iterasi_maks); elapsedTime1 = toc;
waitbar(0.75);
xlswrite('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Bobot ART1.xlsx', b, 'sheet1');
waitbar(step / steps); end
close(loading);
% akhir pelatihan art1
msgbox('Pelatihan Selesai', 'Berhasil');
set(handles.waktupelkhn, 'String', elapsedTime); set(handles.waktupelart, 'String', elapsedTime1); catch
msgbox('Citra Belum Diolah'); end
% fungsi reset citra
function resetcitra_Callback(hObject, eventdata, handles) set(handles.ekstraksifitur, 'Enable', 'Off');
for z = 1 : 20 cla(citra(z));
set(citra(z), 'Visible', 'Off'); end
set(handles.bukacitra, 'Enable', 'On'); set(handles.binerisasi, 'Enable', 'Off'); set(handles.thinning, 'Enable', 'Off'); set(handles.pemotongan, 'Enable', 'Off'); msgbox('Berhasil di reset', 'Berhasil');
% fungsi reset bobot
function resetbobot_Callback(hObject, eventdata, handles) n = 20;
b = (ones(20, 400) * (1/(1 + n)));
xlswrite('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Bobot ART1.xlsx', b, 'sheet1');
w = zeros(20, 400);
xlswrite('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Bobot Kohonen.xlsx', w, 'sheet1');
msgbox('Berhasil di reset', 'Berhasil');
% fungsi pelatihan art1
function [b] = art1(pola_masukan1, p, L, b, t, iterasi_maks)
iterasi = 0;
while iterasi <= iterasi_maks for i = 1 : 20
standar_s = sum(s); x = s;
for j = 1 : 20 y(j) = 0; if y(j) ~= -1
y(j) = sum(b(j, :) .* x); end
end
[m, j] = max(y); j = min(j); if y(j) == -1 p = 0.5 * p; else
x = s .* t(j, :);
standar_x = sum(x);
if (standar_x / standar_s) < p y(j) = -1;
p = 0.5 * p;
elseif (standar_x / standar_s) >= p b(j, :) = ((L * x) / (L - 1 +
standar_x));
t(j, :) = x; end
end end
iterasi = iterasi + 1; end
% akhir dari fungsi pelatihan art1
Pengujian.m (Halaman Pengujian)
% menampilkan bantuans
function bantuan_Callback(hObject, eventdata, handles) Bantuanpengujian
% fungsi tombol buka citra
function buka_citra_Callback(hObject, eventdata, handles) try
switch get(handles.jumlahcitra, 'Value') case 1
[nama_file, nama_path] = uigetfile({'*.jpg' , 'File jpeg (*.jpg)'} , 'Buka File Citra');
if ~isequal(nama_file , 0)
set(handles.citrauji, 'Visible', 'On'); gambar = imread(fullfile(nama_path ,
nama_file));
imshow(gambar); else
return; end; case 2
graf(1) = handles.citrauji; graf(11) = handles.citrauji10;
graf(2) = handles.citrauji1; graf(12) = handles.citrauji11;
graf(3) = handles.citrauji2; graf(13) = handles.citrauji12;
graf(4) = handles.citrauji3; graf(14) = handles.citrauji13;
graf(5) = handles.citrauji4; graf(15) = handles.citrauji14;
graf(6) = handles.citrauji5; graf(16) = handles.citrauji15;
graf(7) = handles.citrauji6; graf(17) = handles.citrauji16;
graf(8) = handles.citrauji7; graf(18) = handles.citrauji17;
graf(9) = handles.citrauji8; graf(19) = handles.citrauji18;
graf(10) = handles.citrauji9; graf(20) = handles.citrauji19;
[nama_file, nama_path] = uigetfile({'*.jpg' , 'File jpeg (*.jpg)'} , 'Buka File Citra',
'MultiSelect', 'on');
if ~isequal(nama_file , 0) for a = 1 : 20
gambar = strcat(nama_path, nama_file{a});
set(graf(a), 'Visible', 'On'); axes(graf(a)); imshow(gambar); end
else return; end otherwise end
set(handles.uji, 'Enable', 'On'); catch
errordlg('Citra Tidak Sesuai', 'Error'); end
% fungsi pengujian
function uji_Callback(hObject, eventdata, handles) loading = waitbar(0, 'Sedang diproses...');
for step = 1 : steps
% pengolahan citra
switch get(handles.jumlahcitra, 'Value') case 1
citra_uji = getimage(handles.citrauji); citra_uji = imresize(citra_uji, [115 115]); citrauji_abuabu = rgb2gray(citra_uji);
citrauji_thres = graythresh(citrauji_abuabu); citrauji_biner = im2bw(citrauji_abuabu,
citrauji_thres);
[baris, kolom] = size(citrauji_biner); for x = 1 : baris
for y = 1 : kolom
if citrauji_biner(x, y) == 0 citrauji_biner1(x, y) = 1; elseif citrauji_biner(x, y) == 1 citrauji_biner1(x, y) = 0; end
end end
citrauji_biner1 = logical(citrauji_biner1); citrauji_dipotong = imresize(citrauji_dipotong,
[115 115]);
citrauji_ap = reshape(citrauji_ap, 1, 400);
xlswrite('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Input Pengujian.xlsx', citrauji_ap, 'sheet1'); case 2
bariss_A = {'A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10',...
'A11', 'A12', 'A13', 'A14', 'A15', 'A16', 'A17', 'A18', 'A19', 'A20'};
for a = 1 : 20
citraujian = getimage(citra_uji(a));
citraujian = imresize(citraujian, [115 115]); citraujian_abuabu = rgb2gray(citraujian); citraujian_thres =
graythresh(citraujian_abuabu);
citraujian_biner = im2bw(citraujian_abuabu, citraujian_thres);
[brs, klm] = size(citraujian_biner); for x = 1 : brs
for y = 1 : klm
if citraujian_biner(x, y) == 0 citraujian_biner1(x, y) = 1; elseif citraujian_biner(x, y) == 1 citraujian_biner1(x, y) = 0; end
citraujian_biner1 = logical(citraujian_biner1); citraujian_dipotong =
imresize(citraujian_dipotong, [115 115]);
[C, S] = wavedec2(citraujian_dipotong, 3, 'sym4');
xlswrite('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Input Pengujian Banyak.xlsx',
citraujian_ap, 'sheet1', bariss_A{a}); end
otherwise end
switch get(handles.jumlahcitra, 'Value') case 1
jumlahcitra = 1;
masukan = xlsread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Input Pengujian.xlsx', 'sheet1'); case 2
jumlahcitra = 20;
masukan = xlsread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Input Pengujian Banyak.xlsx',
'sheet1'); otherwise end
pola_masukan = masukan_norm;
pola_masukan1 = logical(masukan);
waitbar(0.25);
global time1; global time2;
% pengujian kohonen
bobot = xlsread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Bobot Kohonen.xlsx', 'sheet1');
for b = 1 : jumlahcitra tic;
[nilai] = kohonen(pola_masukan(b, :), bobot); elapsedTime = toc;
% akhir pengujian kohonen
switch (nilai) case 1
nama = 'Abidah'; case 2
nama = 'Agung'; case 3
nama = 'Anandhini'; case 5
nama = 'Ema'; case 6
nama = 'Febri'; case 7
nama = 'Fikri'; case 8
nama = 'Ismail'; case 9
nama = 'Ita'; case 10
nama = 'Joshua'; case 11
nama = 'Khairun nisa'; case 12
nama = 'Martina'; case 13
nama = 'Mawaddah'; case 14
nama = 'Nurkholija'; case 15
nama = 'Retri'; case 16
nama = 'Richard'; case 17
nama = 'Ruth Mey'; case 18
nama = 'Sengli'; case 19
nama = 'Susi'; case 20
nama = 'Tifany'; otherwise
nama = 'Tidak Dikenali'; end
waitbar(0.5);
%pengujian art1
b_uji = xlsread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\Bobot ART1.xlsx', 'sheet1');
tic;
[kelompok] = art1(pola_masukan1(b, :), b_uji); elapsedTime1 = toc;
% akhir pengujian art1
switch (kelompok) case 1
nama1 = 'Agung'; case 3
nama1 = 'Al Mizfar'; case 4
nama1 = 'Anandhini'; case 5
nama1 = 'Ema'; case 6
nama1 = 'Febri'; case 7
nama1 = 'Fikri'; case 8
nama1 = 'Ismail'; case 9
nama1 = 'Ita'; case 10
nama1 = 'Joshua'; case 11
nama1 = 'Khairun nisa'; case 12
nama1 = 'Martina'; case 13
nama1 = 'Mawaddah'; case 14
nama1 = 'Nurkholija'; case 15
nama1 = 'Retri'; case 16
nama1 = 'Richard'; case 17
nama1 = 'Ruth Mey'; case 18
nama1 = 'Sengli'; case 19
nama1 = 'Susi'; case 20
nama1 = 'Tifany'; otherwise
nama1 = 'Tidak Dikenali'; end
nama = string(nama); nama1 = string(nama1); time1(b) = elapsedTime; time2(b) = elapsedTime1;
elapsedTime3 = num2str(elapsedTime); elapsedTime4 = num2str(elapsedTime1); hasilujikhn{b} = nama;
end
pemilikttduji = {'Abidah', 'Agung', 'Al Mizfar', 'Anandhini', 'Ema',...
'Febri', 'Fikri', 'Ismail', 'Ita', 'Joshua',...
'Khairun nisa', 'Martina', 'Mawaddah', 'Nurkholija', 'Retri',...
'Richard', 'Ruth Mey', 'Sengli', 'Susi', 'Tifany'};
keputusan1 = strcmp(pemilikttduji, hasilujikhn); keputusan2 = strcmp(pemilikttduji, hasilujiart1);
nilaikhn = 0; nilaiart1 = 0; for c = 1 : 20
if keputusan1(c) == 1
nilaikhn = nilaikhn + 1; kep = 'benar';
else
nilaikhn = nilaikhn + 0; kep = 'salah';
end
kep = string(kep); keptsnkhn{c} = kep; end
for d = 1 : 20
if keputusan2(d) == 1
nilaiart1 = nilaiart1 + 1; kep1 = 'benar';
else
nilaiart1 = nilaiart1 + 0; kep1 = 'salah';
end
kep1 = string(kep1); keptsnart1{d} = kep1; end
persentasikhn = (nilaikhn/20)*100; persentasiart1 = (nilaiart1/20)*100;
waitbar(step / steps); end
close(loading);
msgbox('Pengujian Selesai', 'Berhasil');
% menampilkan hasil pengujian
if jumlahcitra == 1
set(handles.waktupegart, 'String', elapsedTime4); set(handles.namapegart, 'String', nama1);
elseif jumlahcitra == 20
datahsl = [pemilikttduji; hasilujikhn; waktukhn; keptsnkhn;...
hasilujiart1; waktuart1; keptsnart1]; datahsl = datahsl';
set(handles.tabelhasil, 'Data', datahsl);
set(handles.persenkhn, 'String', persentasikhn); set(handles.persenart1, 'String', persentasiart1); set(handles.simpandata, 'Enable', 'On');
set(handles.grafikpeg, 'Enable', 'On'); end
% keluar aplikasi
function keluar_Callback(hObject, eventdata, handles) pilih = questdlg('Kembali ke menu utama ?', 'Keluar',
'Ya', 'Tidak', 'Tidak'); switch pilih
case 'Ya', close
Form_utama case 'Tidak' return end
% reset citra uji
function resetcitrauji_Callback(hObject, eventdata, handles)
set(handles.uji, 'Enable', 'Off'); for z = 1 : 20
cla(citra(z));
set(citra(z), 'Visible', 'Off'); end
set(handles.waktupegkhn, 'String', ''); set(handles.namapegkhn, 'String', ''); set(handles.waktupegart, 'String', ''); set(handles.namapegart, 'String', ''); set(handles.persenkhn, 'String', ''); set(handles.persenart1, 'String', ''); datahsl{20, 7} = '';
set(handles.tabelhasil, 'Data', datahsl); set(handles.simpandata, 'Enable', 'Off'); set(handles.grafikpeg, 'Enable', 'Off'); msgbox('Berhasil di reset', 'Berhasil');
% fungsi menampilkan grafik pengujian
global time2; x = 1 : 20; figure
plot(x, time1, 'r-*', x, time2, 'b-+'); set(gca, 'XTick', 1:20);
legend('metode Kohonen', 'metode ART1'); xlabel('Tanda Tangan');
ylabel('Waktu Pengujian');
% fungsi menyimpan data
function simpandata_Callback(hObject, eventdata, handles) data = get(handles.tabelhasil, 'Data');
data = cellstr(data);
[nama_file, nama_path] = uiputfile({'*.xls', 'File Excel (*.xls)'}, 'Simpan Data Tabel Hasil');
nama = fullfile(nama_path, nama_file); xlswrite(nama, data);
msgbox('Data Berhasil Disimpan', 'Berhasil');
% fungsi pengujian kohonen
function [nilai] = kohonen(pola_masukan, bobot) for i = 1
for j = 1 : 20
d(j) = sum((bobot(j, :) - pola_masukan(i, :)) .^ 2);
end
[m, j] = min(d); nilai = j;
end
% akhir dari fungsi pengujian kohonen
% fungsi pengujian art1
function [kelompok] = art1(pola_masukan1, b_uji) for i = 1
s = pola_masukan1(i, :); x = s;
for j = 1 : 20
y(j) = sum(b_uji(j, :) .* x); end
[m, j] = max(y); j = min(j); kelompok = j; end
% akhir dari fungsi pengujian art1
Bantuanmenuutama.m (Halaman Bantuan untuk Halaman Utama)
% --- Executes just before Bantuanmenuutama is made visible.
function Bantuanmenuutama_OpeningFcn(hObject, eventdata, handles, varargin)
gambar = imread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\New folder\Citra lain\menuutama.jpg');
axes(handles.axes1); imshow(gambar);
% keluar dari halaman bantuan
function keluar_Callback(hObject, eventdata, handles) close
Bantuanpelatihan.m (Halaman Bantuan untuk Halaman Pelatihan)
function varargout = Bantuanpelatihan(varargin)
% --- Executes just before Bantuanpelatihan is made visible.
function Bantuanpelatihan_OpeningFcn(hObject, eventdata, handles, varargin)
gambar = imread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\New folder\Citra lain\pelatihan.jpg');
gambar = imresize(gambar, [1000 400]); axes(handles.axes1);
imshow(gambar);
isi = {'1. Menu menampilkan halaman'...
' bantuan pada halaman pelatihan.'... '2. Menu keluar dari halaman'...
' pelatihan ke halaman utama.'... '3. Tombol membuka folder'...
' penyimpanan citra yang akan'... ' dipilih dan menampilkan citra'... ' pilihan.'...
'4. Tombol menghapus citra yang telah'... ' ditampilkan di panel citra.'...
'5. Tombol proses binerisasi citra.'... '6. Tombol proses penipisan (thinning)'... ' citra.'...
'7. Tombol proses pemotongan citra.'... '8. Tombol ekstraksi fitur citra.'... '9. Laju pemahaman Kohonen dengan'... ' rentang nilai : 0 < x < 1.'... '10. Parameter kewaspadaan'...
' (vigilance) ART1 rentang'... ' nilai : 0 < x < 1.'...
'11. Iterasi maksimum proses pelatihan'... ' Kohonen dan ART1.'...
'13. Tombol reset bobot Kohonen dan'... ' ART1 pada basis data.'};
set(handles.isipelatihan, 'String', isi);
function keluar_Callback(hObject, eventdata, handles) close
Pelatihan
Bantuanpengujian.m (Halaman Bantuan untuk Halaman Pengujian)
function varargout = Bantuanpengujian(varargin)
% --- Executes just before Bantuanpengujian is made visible.
function Bantuanpengujian_OpeningFcn(hObject, eventdata, handles, varargin)
gambar = imread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\New folder\Citra lain\peg1.jpg');
axes(handles.axes1); imshow(gambar);
gambar1 = imread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\New folder\Citra lain\peg2.jpg');
axes(handles.axes2); imshow(gambar1);
gambar2 = imread('M:\Belajar\matlab\Pengenalan Pola Tanda Tangan\New folder\Citra lain\peg3.jpg');
axes(handles.axes3); imshow(gambar2);
isi1 = {'1. Menu menampilkan'...
' bantuan pada halaman'... ' pengujian.'...
'2. Menu keluar dari'...
' halaman pengujian ke'... ' halaman utama.'};
set(handles.isipeg1, 'String', isi1); isi2 = {'1. Pilihan jumlah citra'... ' yang akan diuji.'... '2. Tombol membuka folder'... ' penyimpanan citra uji'... ' yang akan dipilih'... '3. Tombol menghapus citra'... ' pada panel citra uji.'... '4. Tombol proses pengujian'... ' jaringan saraf tiruan'... ' Kohonen dan ART1.'};
set(handles.isipeg2, 'String', isi2); isi3 = {'1. Tombol menyimpan data'...
' ke file excel.'... '2. Menampilkan grafik'... ' pengujian'};
set(handles.isipeg3, 'String', isi3);
function keluar_Callback(hObject, eventdata, handles) close
LAMPIRAN CITRA TANDA TANGAN
Gambar Nama Gambar Nama
Abidah1 Agung1
Abidah2 Agung2
Abidah3 Agung3
Abidah4 Agung4
Abidah5 Agung5
Al Mizfar1 Anandhini1
Al Mizfar2 Anandhini2
Al Mizfar3 Anandhini3
Al Mizfar4 Anandhini4
Al Mizfar5 Anandhini5
Ema2 Febri2
Ema3 Febri3
Ema4 Febri4
Ema5 Febri5
Fikri1 Ismail1
Fikri2 Ismail2
Fikri3 Ismail3
Fikri4 Ismail4
Fikri5 Ismail5
Ita1 Joshua1
Ita2 Joshua2
Ita3 Joshua3
Ita5 Joshua5
Khairun nisa1 Martina1
Khairun nisa2 Martina2
Khairun nisa3 Martina3
Khairun nisa4 Martina4
Khairun nisa5 Martina5
Mawaddah1 Nurkholija1
Mawaddah2 Nurkholija2
Mawaddah3 Nurkholija3
Mawaddah4 Nurkholija4
Mawaddah5 Nurkholija5
Retri1 Richard1
Retri3 Richard3
Retri4 Richard4
Retri5 Richard5
Ruth Mey1 Sengli1
Ruth Mey2 Sengli2
Ruth Mey3 Sengli3
Ruth Mey4 Sengli4
Ruth Mey5 Sengli5
Susi1 Tifany1
Susi2 Tifany2
Susi3 Tifany3
Susi4 Tifany4
CURRICULUM VITAE
Nama : Martina Abriani Sipayung
Tempat, Tanggal Lahir : Saribudulok, 05 Oktober 1992 Jenis Kelamin : Perempuan
Alamat : Jalan Jamin Ginting Pasar VII Perumahan Lingga No. C-1 Medan
Alamat Orang Tua : Jalan Sutomo No. 111 Saribudolok
Telp/Hp : 081264065851
Email : martinasipayung15@gmail.com
Riwayat Pendidikan
2011 – 2015 : S1 Ilmu Komputer Universitas Sumatera Utara 2008 – 2011 : SMA Santo Thomas 1 Medan
2005 – 2008 : SMP Bunda Mulia Saribudolok 1999 – 2005 : SD Don Bosco Saribudolok
Kursus
Kelas Toefl (Toefl Preparation) di YPPIA Medan
Kelas percakapan (Conversation Class) di YPPIA Medan
Seminar/Kegiatan
Peserta Workshop “Pengenalan Android Oleh Android Medan Community” Artechno Festival 2011 (Medan, 16 November 2011)
Peserta Seminar “How to Build Augmented Reality for Mobile Application” (Medan, 19 Desember 2012)
Peserta seminar nasional “Creative Animation and Gaming Industry” (Medan, 14 Desember 2013)
Peserta seminar nasional “Seminar Nasional Literasi Informasi (SENARAI) 2014” Fasilkom-TI USU (Medan, 1 Desember 2014)
Data Kemampuan
Bidang Bahasa Tingkat Kemampuan
Bahasa Inggris Intermediate
Bahasa Pemrograman Tingkat Kemampuan
Matlab Beginner/Advanced
C# Beginner/Advanced
Java Beginner