• Tidak ada hasil yang ditemukan

LISTING PROGRAM. Public m, n, i, j, result1, cocok1, mpnext(0 To 255) As Integer

N/A
N/A
Protected

Academic year: 2021

Membagikan "LISTING PROGRAM. Public m, n, i, j, result1, cocok1, mpnext(0 To 255) As Integer"

Copied!
8
0
0

Teks penuh

(1)

LISTING PROGRAM

Imports MySql.Data.MySqlClient Public Class Algoritma

Public x(), y() As Char Public p, t As String

Public m, n, i, j, result1, cocok1, mpNext(0 To 255) As Integer

Public result2, state, matched, matchMask, cocok2, flag, d, S(0 To 255) As Integer

Public t1, t2 As String Public t3, t4 As String

Dim conn As New MySqlConnection("server = localhost; user id = root; database = algo_pseudocode")

'Perhitungan Tabel Pergeseran preSA Public Sub preSA(p)

p = Cari.Text.ToUpper m = p.Length

Dim temp As Integer flag = 0 For i = 0 To 255 S(i) = 0 Next i For i = 0 To m - 1 temp = Asc(p(i)) S(temp) = S(temp) Or (1 << i) Next i End Sub 'Algoritma Shift-And Public Function SA(p, t) m = p.Length

n = t.Length t += "\0" preSA(p)

Dim temp As Integer d = 0

matchmask = 1 << m - 1 For i = 0 To n - 1 temp = Asc(t(i))

d = ((d << 1) Or 1) And (S(temp) Or 0) matched = (d And matchmask)

If (matched <> 0) Then state = (i - m + 1) flag = 1

(2)

Next i Return flag End Function

'Perhitungan Tabel Pergeseran mpNext Sub pre-MP(x) x = Cari.Text.ToUpper.ToCharArray m = x.Length i = 0 j = mpNext(0) mpNext(0) = -1 While (i < m)

While ((j > -1) AndAlso (x(i) <> x(j))) j = mpNext(j) End While i = (i + 1) j = (j + 1) mpNext(i) = j End While End Sub

'Algoritma Morris Pratt Public Function MP(x, y) m = x.Length n = y.Length y += "\0" pre-MP(x) j = 0 i = 0 result2 = 0 While (j < n)

Do While ((i > -1) AndAlso (x(i) <> y(j))) i = mpNext(i) Loop i = (i + 1) j = (j + 1) If (i >= m) Then result2 = 1 i = mpNext(i) End If End While Return result2 End Function

Private Sub Algoritma_Load(sender As Object, e As EventArgs) Handles MyBase.Load

conn.Open()

Dim cmd = New MySqlCommand("SELECT id, nama_algo from algoritma order by id ASC", conn)

Dim adapter = New MySqlDataAdapter(cmd) Dim dt As New DataTable

adapter.Fill(dt)

lb_SA.Items.Add("NO." & vbTab & "ALGORITMA") lb_MP.Items.Add("NO." & vbTab & "ALGORITMA")

(3)

lb_SA.Items.Add(dt.Rows(i)("id") & vbTab & dt.Rows(i)("nama_algo")) lb_MP.Items.Add(dt.Rows(i)("id") & vbTab & dt.Rows(i)("nama_algo")) Next

conn.Close() End Sub

'Jika user menekan Enter, maka sistem akan langsung melakukan proses pencarian walaupun button Cari tidak ditekan

Private Sub cari_keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Cari.KeyPress If Asc(e.KeyChar) = 13 Then

b_cari.PerformClick() End If

End Sub

Public Sub b_cari_Click(sender As Object, e As EventArgs) Handles b_cari.Click

lb_SA.Items.Clear() lb_MP.Items.Clear()

lb_SA.Items.Add("NO." & vbTab & "ALGORITMA") lb_MP.Items.Add("NO." & vbTab & "ALGORITMA") cocok1 = 0 cocok2 = 0 Try p = Cari.Text.ToUpper x = Cari.Text.ToUpper.ToCharArray conn.Open()

Dim cmd = New MySqlCommand("SELECT * from algoritma order by id ASC", conn)

Dim adapter = New MySqlDataAdapter(cmd) Dim dt As New DataTable

adapter.Fill(dt)

t1 = ((Now.TimeOfDay.Milliseconds)) For i As Integer = 0 To dt.Rows.Count - 1 Dim temp As String

Dim ketemu1 As Integer

temp = dt.Rows(i)("nama_algo") t = temp.ToUpper

ketemu1 = SA(p, t) If (ketemu1 = 1) Then

lb_SA.Items.Add(dt.Rows(i)("id") & vbTab & dt.Rows(i)("nama_algo")) cocok1 += 1 End If Next t2 = ((Now.TimeOfDay.Milliseconds) - t1) TextBox1.Text = t2.ToString t3 = ((Now.TimeOfDay.Milliseconds)) For i As Integer = 0 To dt.Rows.Count - 1 Dim temp As String

Dim ketemu2 As Integer

temp = dt.Rows(i)("nama_algo") y = temp.ToUpper.ToCharArray

(4)

ketemu2 = MP(x, y) If (ketemu2 = 1) Then

lb_MP.Items.Add(dt.Rows(i)("id") & vbTab & dt.Rows(i)("nama_algo")) cocok2 += 1 End If Next t4 = ((Now.TimeOfDay.Milliseconds) - t3) TextBox3.Text = t4.ToString If (cocok2 = 0) Then

MessageBox.Show("Kata Tidak Ditemukan!" + Chr(13) + "Running Time Shift-And : " & t2 & " ms" + Chr(13) + "Running Time Morris-Pratt : " & t4 & " ms")

Else

MessageBox.Show("Kata Ditemukan !" + Chr(13) + "Total Hasil Pencarian : " & cocok2)

End If conn.Close()

Catch myError As MySqlException

MessageBox.Show("Koneksi Error" & myError.Message) End Try

End Sub

Private Sub reset_Click(sender As Object, e As EventArgs) Handles b_reset.Click

conn.Open()

Dim cmd = New MySqlCommand("SELECT id, nama_algo from algoritma order by id ASC", conn)

Dim adapter = New MySqlDataAdapter(cmd) Dim dt As New DataTable

adapter.Fill(dt) Cari.Clear() lb_SA.Items.Clear() lb_MP.Items.Clear() TextBox1.Clear() TextBox3.Clear()

lb_SA.Items.Add("NO." & vbTab & "ALGORITMA") lb_MP.Items.Add("NO." & vbTab & "ALGORITMA") For i As Integer = 0 To dt.Rows.Count - 1

lb_SA.Items.Add(dt.Rows(i)("id") & vbTab & dt.Rows(i)("nama_algo")) lb_MP.Items.Add(dt.Rows(i)("id") & vbTab & dt.Rows(i)("nama_algo")) Next

conn.Close() End Sub

Private Sub lb_SA_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lb_SA.SelectedIndexChanged

(5)

conn.Open()

Dim cmd = New MySqlCommand("SELECT * from algoritma where id = " & Val(lb_SA.SelectedItem) & " order by id ASC", conn)

Dim adapter = New MySqlDataAdapter(cmd) Dim dt As New DataTable

adapter.Fill(dt) Try Pseudocode.nama_al.Text = dt.Rows(0)("nama_algo") Pseudocode.isi.Text = dt.Rows(0)("isi") Pseudocode.kata = Cari.Text Pseudocode.ShowDialog() Catch ex As Exception

MsgBox("Tidak ada nama algoritma yang cocok!") End Try

conn.Close() End Sub

Private Sub lb_MP_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lb_MP.SelectedIndexChanged

conn.Open()

Dim cmd = New MySqlCommand("SELECT * from algoritma where id = " & Val(lb_MP.SelectedItem) & " order by id ASC", conn)

Dim adapter = New MySqlDataAdapter(cmd) Dim dt As New DataTable

adapter.Fill(dt) Try Pseudocode.nama_al.Text = dt.Rows(0)("nama_algo") Pseudocode.isi.Text = dt.Rows(0)("isi") Pseudocode.kata = Cari.Text Pseudocode.ShowDialog() Catch ex As Exception

MsgBox("Tidak ada nama algoritma yang cocok!") End Try

conn.Close() End Sub

(6)

D

AFTAR

R

IWAYAT

H

IDUP

CURRICULUM VITAE

I.

DATA PRIBADI / Personal Identification

Nama Lengkap

:

Agustin Sri Intan Sinaga

Tempat /

Tanggal Lahir

:

Medan /

23 Agustus 1996

Jenis Kelamin

:

Perempuan

Agama

:

Kristen Protestan

Kebangsaan

:

Indonesia

Alamat

:

Jalan S. M. Raja Gang. Mesjid No. 34 Medan

Telepon

:

+6285761777710

Motto Hidup

:

Kerjakanlah apa yang anda cintai dan cintailah apa yang anda

kerjakan

Tinggi / Berat

:

157 cm / 58 kg

Email

:

agustinsinaga23@gmail.com

II.

KESEHATAN / Health

Tidak memiliki cacat fisik maupun mental dan tidak memiliki penyakit bawaan.

III. KEMAMPUAN / Capabilities

Bahasa

: Indonesia, Inggris, Korea

Bahasa Pemrograman

: Visual Basic

Database

: MySQL

(7)

IV. PENDIDIKAN FORMAL / Formal Education

[ 2013 – 2017 ]

“Studi Perbandingan Kinerja Teoretis dan Riil Algoritma Exact String Matching

Shift-And dan Morris-Pratt”

S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara

[ 2010 – 2013 ]

SMA Negeri 14 Medan

[ 2007 – 2010 ]

SMP Negeri 3 Medan

[ 2001 – 2007 ]

SD Negeri 064012 Medan

[2000 – 2001 ]

TK Prabudi Medan

V.

PENDIDIKAN NON-FORMAL / Informal Education

[ 2011 – 2013 ]

BT / BS Medica, Medan

[ 2010 – 2011 ]

BT / BS Ganesha Operation, Medan

[ 2007 – 2010 ]

BT / BS Medica, Medan

[ 2005 – 2007 ]

Essential English Course, Medan

BT / BS Bima, Medan

VI. PRESTASI / Achievements

(8)

VII. SEMINAR / Seminars

1)

Peserta Seminar Nasional Bank Indonesia , Universitas Sumatera Utara, Medan [2016]

2)

Peserta Seminar Nasional Literasi Informasi (SENARAI) Fakultas Ilmu Komputer dan

Teknologi Informasi, Universitas Sumatera Utara, Medan [2014]

VIII. PENGALAMAN ORGANISASI / Organizational Experiences

1)

Anggota Divisi Agama Kristen PEMA Fasilkom-TI USU [2015 – 2016]

2)

Koodinator Unit Kegiatan Mahasiswa Kristen Ilmu Komputer Universitas Sumatera

Utara [2014 – 2016]

IX. PENGALAMAN KEPANITIAAN / Committee Experiences

1)

Anggota Acara Retreat Fasilkom-TI USU [2016]

2)

Anggota Konsumsi Paskah Oikumene USU [2014]

3)

Panitia Pelaksana Natal Oikumene USU [2014]

4)

Anggota Kesehatan PORSENI IMILKOM USU [2014]

5)

Anggota Dana Paskah Fasilkom-TI USU [2013]

6)

Anggota Acara Natal S1 Ilmu Komputer USU [2013]

X.

PENGALAMAN BEKERJA / Working Experience

Referensi

Dokumen terkait

[r]

2014 melalui SPSE, dengan ini diumumkan bahwa pelaksanaan Pengadaan Kontrasepsi Intra Uterine Device (IUD) Tahap II TA. 2014 telah ditetapkan Pemenang

[r]

Perubahan kandungan SDS pati setelah modifikasi HMT terkait dengan perubahan tipe kristalin pati serta perubahan karakteristik permukaan pati menjadi lebih porus

Untuk selanjutnya keputusan Presiden RI Nomor 172, terhitung tanggal 1 Juni 1957 Kantor Pusat Statistik (KPS) diubah menjadi Biro Pusat Statistik yang semula menjadi

Pola Komunikasi Orang Tua dalam Mengatasi Kesulitan Berkomunikasi Anak Autis (Studi pada Orang Tua Anak Autis di Sekolah Dasar Swasta Khusus Autis Anak Mandiri Jalan Kutilang No.

Penilai kerugian asuransi dalam industri asuransi di Indonesia berdasarkan Undang-Undang Nomor 40 Tahun 2014, yaitu usaha jasa penilaian klaim dan/atau jasa konsultasi atas

Pengumpulan data dilakukan dengan menggunakan kuesioner yang meliputi kepatuhan berobat pasien dan variable- variabel yang mempengaruhi kepatuhan berobat pasien