• Tidak ada hasil yang ditemukan

Studi Perbandingan Kinerja Teoretis Dan Rill AlgoritmaExact String Matching Shift-And

N/A
N/A
Protected

Academic year: 2017

Membagikan "Studi Perbandingan Kinerja Teoretis Dan Rill AlgoritmaExact String Matching Shift-And"

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

(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

(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

Maka metode peramalan analisis time series yang digunakan untuk meramalkan jumlah produksi karet pada pemecahan masalah ini adalah dengan menggunakan metode

Untuk dapat menggolongkan suatu dokumen kedalam suatu subyek dengan bantuan kata- kata atau kalimat-kalimat ( terms ) yang ditemukan didalam dokumen kedalam subyek, hal pertama

populasi yang homogen yang artinya peningkatan kemampuan penalaran adaptif siswa kelas eksperimen lebih baik daripada siswa kelas kontrol, dengan demikian terbukti bahwa

[r]

Jika asumsi kita terhadap sebuah model parametrik dibenarkan, fungsi regresi dapat diestimasi dengan cara yang lebih efisien daripada dengan menggunakan sebuah metode

Beberapa isu yang muncul dalam Journal of Qur’anic Studies adalah komparasi translasi Qur’an ke dalam bahasa Inggris karya Yusuf Ali dan Muhammad Asad, studi translasi literal

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.

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