LISTING PROGRAM. Universitas Sumatera Utara. Form 1. Imports System.Math

LISTING PROGRAM Form 1 Imports System.Math Public Class Form1 Dim status, status1, info As Boolean Dim nilai() As Byte Dim posisi() As String Dim ulan...
9 downloads 0 Views 700KB Size
LISTING PROGRAM Form 1 Imports System.Math Public Class Form1 Dim status, status1, info As Boolean Dim nilai() As Byte Dim posisi() As String Dim ulang As Decimal Dim j, k, n As Decimal Dim nilai1() As Byte Dim worker As System.ComponentModel.BackgroundWorker Dim persen, panjang As Long Dim waktu As Long Dim objFSO As Scripting.FileSystemObject Dim objFile As Scripting.File Public Structure Walsh1 Public NWalsh As Long End Structure Public Structure Walsh2 Public NWalsh2 As Long End Structure Public Structure WKonversi Public NKonversi As String End Structure Public LWalsh1 As List(Of Walsh1) Public LWalsh2 As List(Of Walsh2) Public LKonversi As List(Of WKonversi) Private Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

Sub Decompress_Walsh_Hadamard() konversi As String konversi1 As Double konversi2 As Integer hasil, hasil1 As Long pangkat1, pangkat2 As Integer g(,) As Decimal W As Long W1 As Long LDWalsh As Walsh LDWalsh As Walsh LDKonversi As WKonversi MWaktu1, Swaktu, Mwaktu, Swaktu2 As String

LWalsh = New List(Of Walsh) LWalsh = New List(Of Walsh) LKonversi = New List(Of WKonversi) MWaktu = Minute(TimeOfDay) Swaktu = Second(TimeOfDay) n = Ceiling(Sqrt(panjang)) ReDim nilai1(panjang) konversi = ""

Universitas Sumatera Utara

For i = 0 To panjang - 54 - 1 konversi1 = i For l = 1 To n konversi2 = konversi1 Mod 2 konversi1 = Floor(konversi1 / 2) 'konversi(i) = konversi(i) & konversi2 konversi = konversi & konversi2 Next LDKonversi.NKonversi = konversi LKonversi.Add(LDKonversi) konversi = "" persen = (i / panjang) * 100 'BackgroundWorker1.ReportProgress(persen) 'RichTextBox5.Text = RichTextBox5.Text & LDKonversi.NKonversi & vbCrLf 'Application.DoEvents() Next konversi1 = 1 For i = 0 To panjang - 54 - 1 For l = 0 To panjang - 54 - 1 hasil = 0 'hasil = -1 'hasil1 = -1 'k = n For m = 1 To n pangkat1 = Val(Mid(LKonversi.Item(i).NKonversi, m, 1)) 'pangkat2 = Val(Mid(LKonversi.Item(l).NKonversi, k, 1)) pangkat2 = Val(Mid(LKonversi.Item(l).NKonversi, m, 1)) 'hasil = hasil * hasil1 ^ (pangkat1 * pangkat2) hasil = hasil + (pangkat1 * pangkat2) 'k -= 1 Next hasil1 = (-1) ^ hasil LDWalsh.NWalsh = hasil LWalsh1.Add(LDWalsh) 'RichTextBox4.Text = RichTextBox4.Text & LDWalsh.NWalsh & vbTab Next 'RichTextBox4.Text = RichTextBox4.Text & vbCrLf Next k = 0 j = 0 For i = 0 To panjang - 1 If i ulang Then LDWalsh2.NWalsh2 = 0 LWalsh2.Add(LDWalsh2) nilai1(j) = 0 j += 1 Else W1 = 0

Universitas Sumatera Utara

For m = 55 To ulang - 1 'W1 = W1 + (nilai(m) * (g(i, m))) W1 = W1 + (nilai(m) * LWalsh1.Item(k).NWalsh) k += 1 Next W = Round(W1 / panjang) LDWalsh.NWalsh = W LWalsh.Add(LDWalsh) If W > 255 Then W = 255 End If nilai1(j) = W j += 1 'If W < 0 Then ' nilai1(j) = 0 ' j += 1 ' nilai1(j) = Abs(W) ' j += 1 'ElseIf W > 0 And W 0 And i < ulang - 1 Then ' nilai1(j) = W ' j += 1 'Else ' nilai1(j) = W 'End If End If Next

'RichTextBox6.Text = RichTextBox6.Text & W & vbCrLf

Mwaktu2 = Minute(TimeOfDay) Swaktu2 = Second(TimeOfDay) MWaktu1 = Abs(Val(MWaktu1) - Val(Mwaktu2)) * 60 Swaktu1 = Abs(Val(Swaktu1) - Val(Swaktu2)) waktu = Val(MWaktu1) + Val(Swaktu1) End Sub Private Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim

Sub Compress_Walsh_Hadamard() konversi As String konversi1 As Double konversi2 As Integer hasil, hasil1 As Long pangkat1, pangkat2 As Integer g(,) As Decimal W As Long W1 As Long LDWalsh As Walsh LDWalsh2 As Walsh LDKonversi As WKonversi MWaktu, Swaktu, Mwaktu, Swaktu As String

LWalsh = New List(Of Walsh) LWalsh = New List(Of Walsh) LKonversi = New List(Of WKonversi) panjang = ulang MWaktu1 = Minute(TimeOfDay) Swaktu1 = Second(TimeOfDay) n = Ceiling(Sqrt(ulang))

Universitas Sumatera Utara

ReDim nilai1(ulang) konversi = "" For i = 0 To ulang - 54 - 1 konversi1 = i For l = 1 To n konversi2 = konversi1 Mod 2 konversi1 = Floor(konversi1 / 2) 'konversi(i) = konversi(i) & konversi2 konversi = konversi & konversi2 Next LDKonversi.NKonversi = konversi LKonversi.Add(LDKonversi) konversi = "" persen = (i / ulang) * 100 BackgroundWorker1.ReportProgress(persen) 'RichTextBox5.Text = RichTextBox5.Text & LDKonversi.NKonversi & vbCrLf 'Application.DoEvents() Next konversi1 = 1 For i = 0 To ulang - 54 - 1 For l = 0 To ulang - 54 - 1 hasil = 0 'hasil = -1 'hasil1 = -1 'k = n For m = 1 To n pangkat1 = Val(Mid(LKonversi.Item(i).NKonversi, m, 1)) 'pangkat2 = Val(Mid(LKonversi.Item(l).NKonversi, k, 1)) pangkat2 = Val(Mid(LKonversi.Item(l).NKonversi, m, 1)) 'hasil = hasil * hasil1 ^ (pangkat1 * pangkat2) hasil = hasil + (pangkat1 * pangkat2) 'k -= 1 Next hasil1 = (-1) ^ hasil LDWalsh.NWalsh = hasil LWalsh1.Add(LDWalsh) 'RichTextBox4.Text = RichTextBox4.Text & LDWalsh.NWalsh & vbTab Next 'RichTextBox4.Text = RichTextBox4.Text & vbCrLf Next k = 0 j = 0 For i = 0 To ulang - 1 If i

Suggest Documents