A-1 LAMPIRAN I LISTING PROGRAM 1. Main form. Cs public partial class MainForm :Form public MainForm() InitializeComponent(); TODO: void Button1Click(object sender, System.EventArgs e) Artikata tampil = new Artikata(); tampil.showdialog(); 2. Arti Kata.Cs public partial class Artikata : Form public static List <string>[] lists = new List<string>[2]; string x,y; int a, b, c, p, p1, p2, q, q1, q2, d; public Artikata() InitializeComponent(); lists[0] = new List< string >(); lists[1] = new List< string >(); TODO: void HapusButtonClick(object sender, EventArgs e) input.clear(); artibitap.clear(); hasilbitapcombo.items.clear(); hasilnotsonaivecombo.items.clear(); artinotsonaive.clear(); waktubitap.clear(); waktunotsonaive.clear(); katabitap.clear(); katanotsonaive.clear(); void ProsesButtonClick(object sender, EventArgs e) hasilbitapcombo.items.clear(); hasilnotsonaivecombo.items.clear(); lists[0].clear();
A-2 lists[1].clear(); MySqlConnection connect = new MySqlConnection("server=localhost; database=kamusagamaislam; uid=root; password=;"); connect.open(); MySqlCommand command = new MySqlCommand("select * from kamus", connect); MySqlDataReader reader = command.executereader(); Stopwatch b = new Stopwatch(); a.start(); while (reader.read()) if (Bitap(input.Text.ToLower(), reader[1].tostring(). ToLower())) hasilbitapcombo.items.add(reader[1].tostring()); lists[0].add(reader[2].tostring()); a.stop(); waktubitap.text = (int.parse(a.elapsed.tostring("fffffff"))/10000f).tostring() + " ms "; reader.close(); reader = command.executereader(); b.start(); while (reader.read()) if(notsonaive(input.text.tolower(), reader[1].tostring().tolower())) hasilnotsonaivecombo.items.add(reader[1].tostring()); lists[1].add(reader[2].tostring()); b.stop(); waktunotsonaive.text = (int.parse(b.elapsed.tostring("fffffff"))/10000f).tostring() + " ms "; connect.close(); katabitap.text = hasilbitapcombo.items.count.tostring(); katanotsonaive.text = hasilnotsonaivecombo.items.count.tostring(); ------------------------------------PROSES ALGORITMA BITAP- -------------------------------- int prebitap(string x, Dictionary<char, int> S) int j, lim; int i; for (i=0; i<x.length; i++) if (!S.ContainsKey(x[i])) S.Add(x[i], ~0); S.Add('*', ~0); for (lim = i = 0, j=1; i<x.length; i++, j<<=1) S[x[i]] &= ~j; lim = j; lim = ~(lim >> 1); return lim;
A-3 bool Bitap(string x, string y) int lim, state; Dictionary<char, int> S = new Dictionary<char, int>(); int j,values; if (x.length > 32) return false; lim = prebitap(x, S); for (state= ~0, j=0; j < y.length; j++) state = S.TryGetValue(y[j], out values)? (state << 1) S[y[j]] : (state<<1) S ['*']; if (state<lim) return true; return false; unsafe bool notsonaive(string x, string y) int j, k, ell; if(x[0] == x[1]) k=2; ell=1; else k=1; ell=2; j=0; while(j<=y.length-x.length) if (x[1]!= y[j+1]) j+=k; else fixed (char* b1=x, b2=y) if (memcmp(b1+2, b2+j+2, x.length- 2) && x[0] == y[j]) return true; j+=ell; return false; unsafe bool memcmp(char* a, char* b, int count) int i=0; while (i<count) if(*(char *)a!= *(char*)b) return false; a++; b++; i++; return true; void ArtikataLoad(object sender, EventArgs e)
A-4 input.focus(); input.select(); void HasilbitapcomboSelectedIndexChanged(object sender, EventAr gs e) hasilbitapcombo.text = "Lihat Hasil Pencarian"; if (hasilbitapcombo.text == "Kata Tidak Ditemukan") return; artibitap.text = lists[0][hasilbitapcombo.selectedindex]; ----------------------------------------MENU STRIP------- ---------------------------------------- void updatekatatoolstripmenuitemclick(object sender, EventArgs e) updatekata tampil1 = new updatekata(); tampil1.showdialog(); void TentangToolStripMenuItemClick(object sender, Event Args e) tentang tampil2 = new tentang(); tampil2.showdialog(); void BantuanToolStripMenuItem1Click(object sender, Even targs e) Bantuan tampil3 = new Bantuan(); tampil3.showdialog(); void HasilnotsonaivecomboSelectedIndexChanged(object se nder, EventArgs e) hasilnotsonaivecombo.text = "Lihat Hasil Pencarian"; if (hasilnotsonaivecombo.text == "Kata Tidak Ditemukan") return; artinotsonaive.text = lists[0][hasilnotsonaivecombo.selectedindex]; void WaktuBitapTextChanged(object sender, EventArgs e)
A-5 3. Update kata.cs public partial class updatekata : Form public updatekata() The InitializeComponent() call is required for Windows Forms designer support. InitializeComponent(); TODO: Add constructor code after the InitializeComponent() call. void TampilkataClick(object sender, EventArgs e) MySqlConnection conn = koneksi.getkoneksi(); MySqlCommand command = conn.createcommand(); command.commandtext = "Select * from kamus"; conn.open(); DataSet ds = new DataSet(); MySqlDataAdapter da = new MySqlDataAdapter(command); da.fill(ds, "kamus"); datagridview1.datasource = ds; datagridview1.datamember = "kamus"; datagridview1.columns[0].headertext = "Nomor"; datagridview1.columns[1].headertext = "Kata"; datagridview1.columns[2].headertext = "Arti"; datagridview1.columns[0].width = 50; datagridview1.columns[1].width = 100; datagridview1.columns[2].width = 150; datagridview1.rowsdefaultcellstyle.alignment = DataGridViewContentAlignment.MiddleLeft; conn.close(); void SimpankataClick(object sender, EventArgs e) try MySqlConnection conn = koneksi.getkoneksi(); conn.open(); MySqlCommand cmd = conn.createcommand(); cmd.commandtext = "insert into kamus (NoKamus, Kata, Arti) values (@nomor, @kata, @arti)"; cmd.parameters.addwithvalue("@nomor", tb_nomorkata.text); cmd.parameters.addwithvalue("@kata", tb_namakata.text); cmd.parameters.addwithvalue("@arti", tb_artikata.text); cmd.executenonquery(); MessageBox.Show("Kata berhasil ditambahkan"); conn.close(); catch MessageBox.Show("ID sudah ada, masukkan ID yang lain");
A-6 e) void ResetClick(object sender, EventArgs e) tb_namakata.text =""; tb_nomorkata.text =""; tb_artikata.text =""; void CariKataToolStripMenuItemClick(object sender, EventArgs Artikata tampil2 = new Artikata(); tampil2.showdialog(); void TentangClick(object sender, EventArgs e) tentang tampil2 = new tentang(); tampil2.showdialog(); void HapuskataClick(object sender, EventArgs e) MySqlConnection conn = koneksi.getkoneksi(); conn.open(); MySqlCommand cmd = conn.createcommand(); cmd.parameters.addwithvalue("@nomor", tb_nomorkata.text) ; cmd.commandtext = "delete from kamus where nokamus= "+int.parse(tb_nomorkata.text)+""; cmd.executenonquery(); MessageBox.Show("Data berhasil dihapus"); conn.close(); void DataGridView1CellContentClick(object sender, DataGridVi ewcelleventargs e) tb_nomorkata.text = datagridview1.rows[e.rowindex].cells[0].value.tostring(); tb_namakata.text = datagridview1.rows[e.rowindex].cells[1].value.tostring(); tb_artikata.text = datagridview1.rows[e.rowindex].cells[2].value.tostring(); void BantuClick(object sender, EventArgs e) Bantuan tampil3 = new Bantuan(); tampil3.showdialog();
A-7 4. Tentang.cs public partial class tentang : Form public tentang() InitializeComponent(); e) void TentangToolStripMenuItemClick(object sender, EventArgs void CkClick(object sender, EventArgs e) Artikata tampil3 = new Artikata(); tampil3.showdialog(); void UkClick(object sender, EventArgs e) updatekata tampil1 = new updatekata(); tampil1.showdialog(); void BtClick(object sender, EventArgs e) Bantuan tampil3 = new Bantuan(); tampil3.showdialog(); 5.Bantuan.cs public partial class Bantuan : Form public Bantuan() InitializeComponent(); TODO: Add constructor code after the InitializeComponent() call. void CarkatClick(object sender, EventArgs e) Artikata tampil3 = new Artikata(); tampil3.showdialog();
A-8 void TekatClick(object sender, EventArgs e) tentang tampil2 = new tentang(); tampil2.showdialog(); void UpkatClick(object sender, EventArgs e) updatekata tampil1 = new updatekata(); tampil1.showdialog(); void BantuanToolStripMenuItemClick(object sender, EventArgs e)
B-1 LAMPIRAN II M. ILYAS DALIMAR DATA DIRI Nama Lengkap : M. Ilyas Dalimar Nama Panggilan : Ilyas Tempat/Tanggal Lahir : Medan/25 Maret 1995 Jenis Kelamin : Laki-Laki Kebangsaan : Indonesia Alamat :Jl. Eka Suka Gg. Eka Suka III No.14, Gedung Johor Nomor HP : 082113548157 E-mail : Dalimarilyas@gmail.com RIWAYAT PENDIDIKAN S1 Ilmu Komputer, Medan 131401126 Sekolah Menengah Atas SMAN 2 MEDAN 2010-2013 Sekolah Menengah Pertama MTsN 1 MODEL MEDAN 2007-2010 Sekolah Dasar SDN 060898 MEDAN 2001-2007 SEMINAR/KURSUS/WORKSHOP No. Nama Seminar/Kursus/Workshop Tahun 1. Workshop GIT Repository 2017 2. International Conference on Computing and Applied 2016 Informatics (ICCAI) 3. Seminar Nasional Literasi Informasi (SENARAI) 2014 4. Seminar Gelora Literasi Teknologi Informasi & Komunikasi 2013
B-2 KEAHLIAN Bahasa Pemrograman DMBS Software : C#, HTML : MySQL : Office Application PENGALAMAN ORGANISASI & KEPANITIAAN No. Organisasi Posisi Tahun 1. IMILKOM USU Anggota Departemen Dana Usaha 2016 - Sekarang 2. PEMA FASILKOM-TI USU Kepala Divisi isu media 2016 - Sekarang 3. Artechno 2016 Koordinator Pubdok 2015 4. IMM USU Ketua Umum 2016-2017 5. Ilmu Komputer Goes To School 2014 Anggota Humas 2014
B-3