A-1. Universitas Sumatera Utara
|
|
- Yanti Budiaman
- 6 tahun lalu
- Tontonan:
Transkripsi
1 A-1 A. ASCII CONTROL CHARACTERS (0-31) ( DEC OCT HEX BIN Simbol No HTML Deskripsi NUL � Null Char SOH  Start of Heading STX  Start of Text ETX  End of Text EOT  End of Transmission ENQ  Enquiry ACK  Acknowledgment BEL  Bell BS  Back Space HT Horizontal Tab A LF Line Feed B VT  Vertical Tab C FF  Form Feed D CR Carriage Return E SO  Shift Out / X-On F SI  Shift In / X-Off DLE  Data Line Escape DC1  Device Control 1 (oft. XON) DC2  Device Control DC3  Device Control 3 (oft. XOFF) DC4  Device Control NAK  Negative Acknowledgement SYN  Synchronous Idle ETB  End of Transmit Block CAN  Cancel EM  End of Medium A SUB  Substitute B ESC  Escape C FS  Berkas Separator D GS  Group Separator E RS  Record Separator F US  Unit Separator
2 B-1 B. ASCII PRINTABEL CHARACTERS (32-127) ( DEC OCT HEX BIN Simbol No HTML Nama HTML Deskripsi Space !! Exclamation mark " " Double quotes (or speech marks) # # Number $ $ Dollar % % Procenttecken & & & Ampersand ' Single quote ( ( Open parenthesis (or open bracket) ) ) Close parenthesis (or close bracket) A * * Asterisk B Plus C ,, Comma D Hyphen E Period, dot or full stop F / / Slash or divide Zero One Two Three Four Five Six Seven Eight Nine A : : Colon B ; ; Semicolon C < < < Less than (or open angled bracket) D = = Equals E > > > Greater than (or close angled bracket) F ?? Question mark At symbol A A Uppercase A B B Uppercase B C C Uppercase C D D Uppercase D
3 B E E Uppercase E F F Uppercase F G G Uppercase G H H Uppercase H I I Uppercase I A J J Uppercase J B K K Uppercase K C L L Uppercase L D M M Uppercase M E N N Uppercase N F O O Uppercase O P P Uppercase P Q Q Uppercase Q R R Uppercase R S S Uppercase S T T Uppercase T U U Uppercase U V V Uppercase V W W Uppercase W X X Uppercase X Y Y Uppercase Y A Z Z Uppercase Z B [ [ Opening bracket C \ \ Backslash D ] ] Closing bracket E ^ ^ Caret - circumflex F Underscore ` ` Grave accent a a Lowercase a b b Lowercase b c c Lowercase c d d Lowercase d e e Lowercase e f f Lowercase f g g Lowercase g h h Lowercase h i i Lowercase i A j j Lowercase j B k k Lowercase k D l l Lowercase l C m m Lowercase m E n n Lowercase n F o o Lowercase o p p Lowercase p q q Lowercase q r r Lowercase r s s Lowercase s
4 B t t Lowercase t u u Lowercase u v v Lowercase v w w Lowercase w x x Lowercase x y y Lowercase y A z z Lowercase z B { { Opening brace C Vertical bar D } } Closing brace E ~ ~ Equivalency sign - tilde F  Delete
5 C-1 C. THE EXTENDED ASCII CODES ( ) ( DEC OCT HEX BIN Simbol No HTML Nama HTML Deskripsi € Euro sign ‚ Single low-9 quotation mark ƒ ƒ ƒ Latin small letter f with hook „ Double low-9 quotation mark … Horizontal ellipsis † Dagger ‡ Double dagger ˆ ˆ ˆ Modifier letter circumflex accent ‰ Per mille sign A Š Š Š Latin capital letter S with caron B ‹ Single left-pointing angle quotation C Œ Œ Œ Latin capital ligature OE D E Ž Ž Latin captial letter Z with caron F ‘ Left single quotation mark ’ Right single quotation mark “ Left double quotation mark ” Right double quotation mark • Bullet – En dash — Em dash ˜ Small tilde ™ Trade mark sign A š š š Latin small letter S with caron B › Single right-pointing angle quotation
6 C-2 mark C œ œ œ Latin small ligature oe D E ž ž Latin small letter z with caron F Ÿ Ÿ ÿ Latin capital letter Y with diaeresis A Non-breaking space A Inverted exclamation mark A Cent sign A Pound sign A Currency sign A Yen sign A Pipe, Broken vertical bar A Section sign A Spacing diaeresis - umlaut A Copyright sign AA ª ª ª Feminine ordinal indicator AB «««Left double angle quotes AC Not sign AD Soft hyphen AE Registered trade mark sign AF Spacing macron - overline B Degree sign B ± ± ± Plus-or-minus sign B ² ² ² Superscript two - squared B ³ ³ ³ Superscript three - cubed B Acute accent - spacing acute B µ µ µ Micro sign B Pilcrow sign - paragraph sign B Middle dot - Georgian comma B Spacing cedilla B ¹ ¹ ¹ Superscript one BA º º º Masculine ordinal indicator
7 C BB »»» Right double angle quotes BC ¼ ¼ ¼ Fraction one quarter BD ½ ½ ½ Fraction one half BE ¾ ¾ ¾ Fraction three quarters BF Inverted question mark C À À À Latin capital letter A with grave C Á Á Á Latin capital letter A with acute C Â Â Â Latin capital letter A with circumflex C Ã Ã Ã Latin capital letter A with tilde C Ä Ä Ä Latin capital letter A with diaeresis C Å Å Å Latin capital letter A with ring above C Æ Æ Æ Latin capital letter AE C Ç Ç Ç Latin capital letter C with cedilla C È È È Latin capital letter E with grave C É É É Latin capital letter E with acute CA Ê Ê Ê Latin capital letter E with circumflex CB Ë Ë Ë Latin capital letter E with diaeresis CD Ì Ì Ì Latin capital letter I with grave CC Í Í Í Latin capital letter I with acute CE Î Î Î Latin capital letter I with circumflex CF Ï Ï Ï Latin capital letter I with diaeresis D Ð Ð Ð Latin capital letter ETH D Ñ Ñ Ñ Latin capital letter N with tilde D Ò Ò Ò Latin capital letter O with grave D Ó Ó Ó Latin capital letter O with acute
8 C D Ô Ô Ô Latin capital letter O with circumflex D Õ Õ Õ Latin capital letter O with tilde D Ö Ö Ö Latin capital letter O with diaeresis D Multiplication sign D Ø Ø Ø Latin capital letter O with slash D Ù Ù Ù Latin capital letter U with grave DA Ú Ú Ú Latin capital letter U with acute DB Û Û Û Latin capital letter U with circumflex DC Ü Ü Ü Latin capital letter U with diaeresis DD Ý Ý Ý Latin capital letter Y with acute DE Þ Þ Þ Latin capital letter THORN DF ß ß ß Latin small letter sharp s - ess-zed E à à à Latin small letter a with grave E á á á Latin small letter a with acute E â â â Latin small letter a with circumflex E ã ã ã Latin small letter a with tilde E ä ä ä Latin small letter a with diaeresis E å å å Latin small letter a with ring above E æ æ æ Latin small letter ae E ç ç ç Latin small letter c with cedilla E è è è Latin small letter e with grave E é é é Latin small letter e with acute EA ê ê ê Latin small letter e with circumflex EB ë ë ë Latin small letter e with diaeresis EC ì ì ì Latin small letter i with grave
9 C ED í í í Latin small letter i with acute EE î î î Latin small letter i with circumflex EF ï ï ï Latin small letter i with diaeresis F ð ð ð Latin small letter eth F ñ ñ ñ Latin small letter n with tilde F ò ò ò Latin small letter o with grave F ó ó ó Latin small letter o with acute F ô ô ô Latin small letter o with circumflex F õ õ õ Latin small letter o with tilde F ö ö ö Latin small letter o with diaeresis F Division sign F ø ø ø Latin small letter o with slash F ù ù ù Latin small letter u with grave FA ú ú ú Latin small letter u with acute FB û û û Latin small letter u with circumflex FC ü ü ü Latin small letter u with diaeresis FD ý ý ý Latin small letter y with acute FE þ þ þ Latin small letter thorn FF ÿ ÿ ÿ Latin small letter y with diaeresis
10 D-1 SOURCE CODE frmmain Dim FN As String Private Sub cmdabout_click() frmabout.show End Sub Private Sub cmdexit_click() Unload Me End Sub Private Sub cmdkompres_click() Dim Tempstr$ Dim H, M, S As Integer t = Timer If CompressFile(FN, "huffman", False, Tempstr$) Then Dim Result As Integer cmdsimpan.enabled = True S = Int(Timer - t) MsgBox "Proses Kompresi Selesai...", vbokonly + vbinformation, "Kompresi Huffman" frahasil.caption = "Hasil Kompresi" If S > 60 Then M = S \ 60 If M > 60 Then H = M \ 60 M = M - (H * 60) S = S - (M * 60) H = 0 M = 0 lblwaktu.caption = Right("00" & H, 2) & ":" & Right("00" & M, 2) & ":" & Right("00" & S, 2) Result = FreeFile(0) Open TempFile For Binary As #Result lblukuran.caption = Round(LOF(Result) / 1024) Close #Result End Sub Private Sub cmddekompres_click() Dim Tempstr$ Dim H, M, S As Integer t = Timer If DecompressFile(FN, False, Tempstr$) Then Dim Result As Integer cmdsimpan.enabled = True S = Int(Timer - t)
11 D-2 MsgBox "Proses Dekompresi Selesai...", vbokonly + vbinformation, "Kompresi Huffman" frahasil.caption = "Hasil Dekompresi" If S > 60 Then M = S \ 60 If M > 60 Then H = M \ 60 M = M - (H * 60) S = S - (M * 60) H = 0 M = 0 lblwaktu.caption = Right("00" & H, 2) & ":" & Right("00" & M, 2) & ":" & Right("00" & S, 2) Result = FreeFile(0) Open TempFile For Binary As #Result lblukuran.caption = Round(LOF(Result) / 1024) Close #Result End Sub Private Sub cmdfile_click() cdfile.dialogtitle = "Pilih File" cdfile.filter = "Video File (FLV & MPEG) *.flv;*.mpeg;*.mp4" cdfile.showopen FN = cdfile.filename If Len(FN) <= 0 Then Exit Sub lblfile.caption = GetFileName(FN) cmdkompres.enabled = True cmddekompres.enabled = True End Sub Private Sub cmdsimpan_click() cdfile.dialogtitle = "Simpan File Sebagai" If UCase(GetExtName(TempFile)) = "FLV" Then cdfile.filter = "FLV *.flv" cdfile.filter = "MPEG *.MPEG" cdfile.filename = "" cdfile.showsave FN = cdfile.filename If Len(FN) <= 0 Then Exit Sub If CopyFile(TempFile, FN, 1) = 0 Then If MsgBox("File Lain Dengan Nama Ini Ditemukan. Timpa File Lama?", vbyesno + vbquestion, "Konfirmasi") = vbyes Then Kill FN Call CopyFile(TempFile, FN, 0) Kill TempFile MsgBox "File Berhasil Disimpan Pada Lokasi : " & FN, vbokonly + vbinformation, "Sukses" End Sub Private Sub Form_Load()
12 D-3 cmdkompres.enabled = False cmddekompres.enabled = False cmdsimpan.enabled = False End Sub mdlcompress Option Explicit Private Const WindowLength As Long = Private Const WindowLengthExtension As Long = Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpbuffer As String, ByVal nsize As Long) As Long Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvdest As Any, hpvsource As Any, ByVal cbcopy As Long) Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpexistingfilename As String, ByVal lpnewfilename As String, ByVal bfailifexists As Long) As Long Private Type CompControlStruct CallBackFormEnabledFlag As Boolean CallBackForm As Object End Type Public Type HeaderStruct GFCompressionHeaderString As String * 20 HeaderStructLength As Long BlockLengthCompressed As Long BlockLengthOriginal As Long End Type Dim CompControlStructVar As CompControlStruct Public TempFile As String Public Function CompressFile(ByVal CompressionName As String, ByVal CompressionMethodName As String, ByVal TempFileReturnEnabledFlag As Boolean, ByRef TempFileReturned As String) As Boolean On Error GoTo Error: Dim CompressionNameFileNumber As Integer Dim ByteStringLength As Long Dim ByteString() As Byte Dim BlockReadPos As Long Dim BlockLength As Long Dim BlockLengthMax As Long Dim BlockString As String Dim BlockLoop As Integer Dim TempFileNumber As Integer If (Dir$(CompressionName, vbnormal Or vbhidden Or vbsystem Or vbarchive) = "") Or (Right$(CompressionName, 1) = "\") Or (CompressionName = "") Then MsgBox "File " + CompressionName + " Tidak Ditemukan!", vbokonly + vbexclamation GoTo Error: TempFile = GetTempName(CompressionName) TempFileNumber = FreeFile(0) Open TempFile For Output As #TempFileNumber
13 D-4 Print #TempFileNumber, GetFileHeaderString(FileLen(CompressionName), CompressionName, CompressionMethodName); Close #TempFileNumber BlockReadPos = 1 CompressionNameFileNumber = FreeFile(0) Open CompressionName For Binary As #CompressionNameFileNumber BlockLengthMax = LOF(CompressionNameFileNumber) Do BlockLength = WindowLength If (BlockLength + BlockReadPos - 1) > BlockLengthMax Then BlockLength = (BlockLengthMax - BlockReadPos + 1) If BlockLength = 0 Then Exit Do BlockString = String(BlockLength, Chr$(0)) Get #CompressionNameFileNumber, BlockReadPos, BlockString ByteStringLength = BlockLength ReDim ByteString(1 To ByteStringLength) As Byte Call CopyMemory(ByteString(1), ByVal BlockString, BlockLength) If Huffman_CompressString(ByteStringLength, ByteString()) = False Then GoTo Error: BlockString = String$(ByteStringLength, Chr$(0)) Call CopyMemory(ByVal BlockString, ByteString(1), ByteStringLength) TempFileNumber = FreeFile(0) Open TempFile For Append As #TempFileNumber Print #TempFileNumber, BlockString; Close #TempFileNumber BlockReadPos = BlockReadPos + BlockLength BlockLoop = BlockLoop + 1 Loop Until (BlockLoop = 32767) Close #CompressionNameFileNumber Jump: CompressFile = True Exit Function Error: Close #CompressionNameFileNumber Close #TempFileNumber If Not ((Dir$(TempFile) = "") Or (Right$(TempFile, 1) = "\") Or (TempFile = "")) Then Kill TempFile 'make sure temp file is deleted CompressFile = False Exit Function Private Function GetFileHeaderString(ByVal InputNameSize As Long, ByVal InputName As String, ByVal CompressionMethodName As String) As String GetFileHeaderString = _ CompressionMethodName + String$(20 - Len(CompressionMethodName), Chr$(0)) + String$(5, Chr$(0)) Public Function DecompressFile(ByVal DecompressionName As String, ByVal TempFileReturnEnabledFlag As Boolean, ByRef TempFileReturned As String) As Boolean
14 D-5 On Error GoTo Error: Dim DecompressionNameFileNumber As Integer Dim CompressionMethodName As String Dim ByteStringLength As Long Dim ByteString() As Byte Dim BlockReadPos As Long Dim BlockLength As Long Dim BlockLengthMax As Long Dim BlockString As String Dim BlockLoop As Integer Dim TempFileNumber As Integer Dim BlockLengthProcessed1 As Long Dim BlockLengthProcessed2 As Long Dim BlockLengthProcessed3 As Long Dim Tempstr$ If (Dir$(DecompressionName) = "") Or (Right$(DecompressionName, 1) = "\") Or (DecompressionName = "") Then MsgBox "File " + DecompressionName + " Tidak Ditemukan!", vbokonly + vbexclamation GoTo Error: DecompressionNameFileNumber = FreeFile(0) Open DecompressionName For Binary As #DecompressionNameFileNumber Tempstr$ = String$(20, Chr$(0)) Get #DecompressionNameFileNumber, 1, Tempstr$ Close #DecompressionNameFileNumber If Not (InStr(1, Tempstr$, Chr$(0), vbbinarycompare) = 0) Then CompressionMethodName = Left$(Tempstr$, InStr(1, Tempstr$, Chr$(0), vbbinarycompare) - 1) CompressionMethodName = Tempstr$ TempFile = GetTempName(DecompressionName) TempFileNumber = FreeFile(0) Open TempFile For Output As #TempFileNumber Close #TempFileNumber BlockReadPos = 26 DecompressionNameFileNumber = FreeFile(0) Open DecompressionName For Binary As #DecompressionNameFileNumber BlockLengthMax = LOF(DecompressionNameFileNumber) Do BlockLength = MAX(WindowLength + WindowLengthExtension, 1024) If (BlockLength + BlockReadPos - 1) > BlockLengthMax Then BlockLength = (BlockLengthMax - BlockReadPos + 1) If BlockLength < 1 Then Exit Do BlockString = String$(BlockLength, Chr$(0)) Get #DecompressionNameFileNumber, BlockReadPos, BlockString ByteStringLength = BlockLength ReDim ByteString(1 To ByteStringLength) As Byte Call CopyMemory(ByteString(1), ByVal BlockString, BlockLength)
15 D-6 If Huffman_DecompressString(ByteStringLength, ByteString(), BlockLengthProcessed1) = False Then GoTo Error: BlockLength = BlockLengthProcessed1 BlockString = String$(ByteStringLength, Chr$(0)) Call CopyMemory(ByVal BlockString, ByteString(1), ByteStringLength) TempFileNumber = FreeFile(0) Open TempFile For Append As #TempFileNumber Print #TempFileNumber, BlockString; Close #TempFileNumber BlockReadPos = BlockReadPos + BlockLength Loop Until (BlockLoop = 32767) Close #DecompressionNameFileNumber Jump: DecompressFile = True Exit Function Error: Close #DecompressionNameFileNumber Close #TempFileNumber DecompressFile = False Exit Function Public Function PresetHeader(ByRef HeaderStructVar As HeaderStruct) As Boolean HeaderStructVar.HeaderStructLength = Len(HeaderStructVar) PresetHeader = True Exit Function Public Function WriteHeader(ByRef ByteStringLength As Long, ByRef ByteString() As Byte, ByVal BlockLengthCompressed As Long, ByVal BlockLengthOriginal As Long) As Boolean Dim HeaderStructVar As HeaderStruct HeaderStructVar.HeaderStructLength = Len(HeaderStructVar) HeaderStructVar.GFCompressionHeaderString = "GFCOMPRESSIONHEADER " HeaderStructVar.BlockLengthCompressed = BlockLengthCompressed HeaderStructVar.BlockLengthOriginal = BlockLengthOriginal ByteStringLength = HeaderStructVar.HeaderStructLength + BlockLengthCompressed ReDim Preserve ByteString(1 To ByteStringLength) As Byte Call CopyMemory(ByteString(1 + HeaderStructVar.HeaderStructLength), ByteString(1), BlockLengthCompressed) If Not (ByteStringLength < HeaderStructVar.HeaderStructLength) Then Call CopyMemory(ByteString(1), HeaderStructVar, HeaderStructVar.HeaderStructLength) WriteHeader = True WriteHeader = False Public Function ReadHeader(ByVal ByteStringLength As Long, ByRef ByteString() As Byte, ByRef BlockLengthCompressed As Long, ByRef BlockLengthOriginal As Long) As Boolean
16 D-7 Dim HeaderStructVar As HeaderStruct HeaderStructVar.HeaderStructLength = Len(HeaderStructVar) If Not (ByteStringLength < HeaderStructVar.HeaderStructLength) Then Call CopyMemory(HeaderStructVar, ByteString(1), HeaderStructVar.HeaderStructLength) If HeaderStructVar.GFCompressionHeaderString = "GFCOMPRESSIONHEADER " Then BlockLengthCompressed = HeaderStructVar.BlockLengthCompressed BlockLengthOriginal = HeaderStructVar.BlockLengthOriginal ReadHeader = True 'ok MsgBox "internal error in ReadHeader(): wrong compression header string:" + Chr$(10) + "'" + HeaderStructVar.GFCompressionHeaderString + "'!", vbokonly + vbexclamation GoTo Error: GoTo Error: Exit Function Error: BlockLengthCompressed = 0 BlockLengthOriginal = 0 ReadHeader = False Exit Function Public Function RemoveHeader(ByRef ByteStringLength As Long, ByRef ByteString() As Byte, ByRef HeaderStructVar As HeaderStruct, ByRef BlockLengthProcessed As Long) As Boolean BlockLengthProcessed = (HeaderStructVar.BlockLengthCompressed + HeaderStructVar.HeaderStructLength) Call CopyMemory(ByteString(1), ByteString(1 + HeaderStructVar.HeaderStructLength), HeaderStructVar.BlockLengthCompressed) 'we only need the original block ByteStringLength = HeaderStructVar.BlockLengthCompressed ReDim Preserve ByteString(1 To ByteStringLength) As Byte RemoveHeader = True Exit Function Public Function CompAvailable() As Boolean Dim WinSysDir As String WinSysDir = String$(260, Chr(0)) Call GetSystemDirectory(WinSysDir, 260) If Not (InStr(1, WinSysDir, Chr(0), vbbinarycompare)) = 0 Then WinSysDir = Left$(WinSysDir, InStr(1, WinSysDir, Chr(0), vbbinarycompare) - 1) If Not (Right$(WinSysDir, 1) = "\") Then WinSysDir = WinSysDir + "\" If Not (Dir$(WinSysDir + "cmprss10.dll") = "") Then
17 D-8 CompAvailable = True CompAvailable = False Public Function GetFileName(ByVal FileName As String) As String Dim GetFileNameLoop As Integer GetFileName = "" For GetFileNameLoop = Len(FileName) To 1 Step (-1) If Mid$(FileName, GetFileNameLoop, 1) = "\" Then GetFileName = Right$(FileName, Len(FileName) - GetFileNameLoop) Exit For Next GetFileNameLoop Public Function GetExtName(ByVal FileName As String) As String Dim GetFileNameLoop As Integer GetExtName = "" For GetFileNameLoop = Len(FileName) To 1 Step (-1) If Mid$(FileName, GetFileNameLoop, 1) = "." Then GetExtName = Right$(FileName, Len(FileName) - GetFileNameLoop) Exit For Next GetFileNameLoop Private Function GetDirectoryName(ByVal DirectoryName As String) As String Dim GetDirectoryNameLoop As Integer GetDirectoryName = "" For GetDirectoryNameLoop = Len(DirectoryName) To 1 Step (-1) If Mid$(DirectoryName, GetDirectoryNameLoop, 1) = "\" Then GetDirectoryName = Left$(DirectoryName, GetDirectoryNameLoop) Exit For Next GetDirectoryNameLoop Private Function GetTempName(ByVal TempFilePath As String) As String GetTempName = App.Path & "\Temp." & GetExtName(TempFilePath) Private Function MIN(ByVal Value1 As Long, ByVal Value2 As Long) As Long If Value1 < Value2 Then MIN = Value1 MIN = Value2
18 D-9 Private Function MAX(ByVal Value1 As Long, ByVal Value2 As Long) As Long If Value1 > Value2 Then MAX = Value1 MAX = Value2 mdlhuffman Option Explicit Private Declare Function DLLHuffman_CompressString Lib "cmprss10.dll" Alias "Huffman_CompressString" (ByRef HT_CodeStringStructArray As Any, ByVal ByteStringLength As Long, ByRef ByteString As Any, ByVal CompressedStringLength As Long, ByRef CompressedString As Any) As Long Private Declare Function DLLHuffman_DecompressString Lib "cmprss10.dll" Alias "Huffman_DecompressString" (ByRef HuffmanDecompressStructArray As Any, ByVal ByteStringLength As Long, ByRef ByteString As Any, ByVal BitReadStartPos As Long, ByVal OutputByteStringLength As Long, ByRef OutputByteString As Any) As Long Public Function Huffman_CompressString(ByRef ByteStringLength As Long, ByRef ByteString() As Byte) As Boolean Dim HT_CodeStringStructNumber As Integer Dim HT_CodeStringStructArray(0 To 255) As HT_CodeStringStruct Dim HT_CharInfoStructVar As HT_CharInfoStruct Dim CompressedStringLength As Long Dim CompressedString() As Byte Dim CompressedStringIndex As Long Dim TreeByteStringLength As Long Dim TreeByteString() As Byte Dim InputByteStringLength As Long Dim ByteStringLengthUnchanged As Long Dim HeaderStructVar As HeaderStruct Dim Temp As Long Dim Tempdbl# ByteStringLengthUnchanged = ByteStringLength HT_CodeStringStructNumber = 256 Call HTCS_HT_CodeStringStruct_Define(ByteStringLength, ByteString(), HT_CharInfoStructVar, HT_CodeStringStructNumber, HT_CodeStringStructArray()) For Temp = 0 To 255 Tempdbl# = Tempdbl# + _ CDbl(HT_CharInfoStructVar.CharFrequencyArray(Temp)) * _ CDbl(HT_CodeStringStructArray(Temp).CodeLength) Next Temp CompressedStringLength = CLng(-Int(-(Tempdbl# / 8#))) If Not (CompressedStringLength = 0) Then ReDim CompressedString(1 To CompressedStringLength) As Byte GoTo Error: If CompAvailable = True Then
19 D-10 Call Huffman_CompressString_VC(HT_CodeStringStructArray(), ByteStringLength, ByteString(), CompressedStringLength, CompressedString()) Call Huffman_CompressString_VB(HT_CodeStringStructArray(), ByteStringLength, ByteString(), CompressedStringLength, CompressedString()) Call HTCS_TreeCodeByteString_Define(HT_CodeStringStructArray(), TreeByteStringLength, TreeByteString()) InputByteStringLength = ByteStringLength ByteStringLength = 4 + CompressedStringLength + TreeByteStringLength ReDim ByteString(1 To ByteStringLength) As Byte Call CopyMemory(ByteString(1), InputByteStringLength, 4) Call CopyMemory(ByteString(5), TreeByteString(1), TreeByteStringLength) Call CopyMemory(ByteString(5 + TreeByteStringLength), CompressedString(1), CompressedStringLength) If PresetHeader(HeaderStructVar) = False Then GoTo Error: If WriteHeader(ByteStringLength, ByteString(), ByteStringLength, ByteStringLengthUnchanged) = False Then GoTo Error: Huffman_CompressString = True Exit Function Error: Huffman_CompressString = False Exit Function Private Sub Huffman_CompressString_VC(ByRef HT_CodeStringStructArray() As HT_CodeStringStruct, ByVal ByteStringLength As Long, ByRef ByteString() As Byte, ByVal CompressedStringLength As Long, ByRef CompressedString() As Byte) Call DLLHuffman_CompressString(HT_CodeStringStructArray(0), ByteStringLength, ByteString(1), CompressedStringLength, CompressedString(1)) End Sub Private Sub Huffman_CompressString_VB(ByRef HT_CodeStringStructArray() As HT_CodeStringStruct, ByVal ByteStringLength As Long, ByRef ByteString() As Byte, ByVal CompressedStringLength As Long, ByRef CompressedString() As Byte) Dim CompressedStringBitWritePos As Long Dim CompressedStringIndex As Long Dim Temp1 As Long Dim Temp2 As Long For Temp1 = 1& To ByteStringLength For Temp2 = 1& To HT_CodeStringStructArray(ByteString(Temp1)).CodeLength CompressedStringBitWritePos = CompressedStringBitWritePos + 1& If (HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2)) Then CompressedStringIndex = ((CompressedStringBitWritePos - 1&) \ 8&) + 1&
20 D-11 Select Case (CompressedStringBitWritePos Mod 8&) Case 1& CompressedString(CompressedStringIndex) = CompressedString(CompressedStringIndex) _ Or HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2) * 128& Case 2& CompressedString(CompressedStringIndex) = CompressedString(CompressedStringIndex) _ Or HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2) * 64& Case 3& CompressedString(CompressedStringIndex) = CompressedString(CompressedStringIndex) _ Or HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2) * 32& Case 4& CompressedString(CompressedStringIndex) = CompressedString(CompressedStringIndex) _ Or HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2) * 16& Case 5& CompressedString(CompressedStringIndex) = CompressedString(CompressedStringIndex) _ Or HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2) * 8& Case 6& CompressedString(CompressedStringIndex) = CompressedString(CompressedStringIndex) _ Or HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2) * 4& Case 7& CompressedString(CompressedStringIndex) = CompressedString(CompressedStringIndex) _ Or HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2) * 2& Case 0& CompressedString(CompressedStringIndex) = CompressedString(CompressedStringIndex) _ Or HT_CodeStringStructArray(ByteString(Temp1)).CodeArray(Temp2) End Select Next Temp2 End Sub Public Function Huffman_DecompressString(ByRef ByteStringLength As Long, ByRef ByteString() As Byte, ByRef BlockLengthProcessed As Long) As Boolean Dim HT_CodeStringStructNumber As Integer Dim HT_CodeStringStructArray(0 To 255) As HT_CodeStringStruct Dim HT_TreeStringStructVar As HT_TreeStringStruct Dim HTDC_CodeStringStructArray(0 To 255) As HTDC_CodeStringStruct Dim OutputStringStartPos As Long Dim OutputByteStringLength As Long Dim OutputByteString() As Byte
21 D-12 Dim HeaderStructVar As HeaderStruct If PresetHeader(HeaderStructVar) = False Then GoTo Error: If ReadHeader(ByteStringLength, ByteString(), HeaderStructVar.BlockLengthCompressed, HeaderStructVar.BlockLengthOriginal) = False Then GoTo Error: If RemoveHeader(ByteStringLength, ByteString(), HeaderStructVar, BlockLengthProcessed) = False Then GoTo Error: HT_CodeStringStructNumber = 256 Call HTDC_HT_TreeStringStructVar_Define(HT_TreeStringStructVar, ByteStringLength, ByteString()) Call HTDC_HT_CodeStringStruct_Define(HT_CodeStringStructArray(), HT_TreeStringStructVar) Call HTDC_CodeStringStruct_Define(HT_CodeStringStructArray(), HTDC_CodeStringStructArray()) Call CopyMemory(OutputByteStringLength, ByteString(1), 4) ReDim OutputByteString(1 To OutputByteStringLength) As Byte OutputStringStartPos = HT_TreeStringStructVar.TreeByteStringLength + 1 If CompAvailable = True Then Call Huffman_DecompressString_VC(HTDC_CodeStringStructArray(), ByteStringLength, ByteString(), _ (OutputStringStartPos * 8), OutputByteStringLength, OutputByteString()) Call Huffman_DecompressString_VB(HTDC_CodeStringStructArray(), ByteStringLength, ByteString(), _ (OutputStringStartPos * 8), OutputByteStringLength, OutputByteString()) ByteStringLength = OutputByteStringLength ReDim ByteString(1 To OutputByteStringLength) As Byte Call CopyMemory(ByteString(1), OutputByteString(1), OutputByteStringLength) Huffman_DecompressString = True Exit Function Error: Huffman_DecompressString = False Exit Function Private Sub Huffman_DecompressString_VC(ByRef HTDC_CodeStringStructArray() As HTDC_CodeStringStruct, ByVal ByteStringLength As Long, ByRef ByteString() As Byte, ByVal BitReadStartPos As Long, ByVal OutputByteStringLength As Long, ByRef OutputByteString() As Byte) Call DLLHuffman_DecompressString(HTDC_CodeStringStructArray(0), ByteStringLength, ByteString(1), BitReadStartPos, OutputByteStringLength, OutputByteString(1)) End Sub Private Sub Huffman_DecompressString_VB(ByRef HTDC_CodeStringStructArray() As HTDC_CodeStringStruct, ByVal ByteStringLength As Long, ByRef ByteString() As Byte, ByVal
22 D-13 BitReadStartPos As Long, ByVal OutputByteStringLength As Long, ByRef OutputByteString() As Byte) Dim CodeBufLength As Long Dim CodeBufArray(1 To 256) As Byte Dim ByteStringIndex As Long Dim ByteStringLong As Long Dim BitReadPos As Long Dim Temp1 As Long Dim Temp2 As Long Dim Temp3 As Long Dim Temp4 As Long BitReadPos = BitReadStartPos For Temp1 = 1& To OutputByteStringLength For Temp2 = 1& To 2048& BitReadPos = BitReadPos + 1& ByteStringIndex = ((BitReadPos - 1&) \ 8&) Select Case BitReadPos Mod 8& Case 1& If (ByteString(ByteStringIndex) And 128&) Then CodeBufArray(Temp2) = 1 CodeBufArray(Temp2) = 0 Case 2& If (ByteString(ByteStringIndex) And 64&) Then CodeBufArray(Temp2) = 1 CodeBufArray(Temp2) = 0 Case 3& If (ByteString(ByteStringIndex) And 32&) Then CodeBufArray(Temp2) = 1 CodeBufArray(Temp2) = 0 Case 4& If (ByteString(ByteStringIndex) And 16&) Then CodeBufArray(Temp2) = 1 CodeBufArray(Temp2) = 0 Case 5& If (ByteString(ByteStringIndex) And 8&) Then CodeBufArray(Temp2) = 1 CodeBufArray(Temp2) = 0 Case 6& If (ByteString(ByteStringIndex) And 4&) Then CodeBufArray(Temp2) = 1 CodeBufArray(Temp2) = 0 Case 7& If (ByteString(ByteStringIndex) And 2&) Then CodeBufArray(Temp2) = 1 CodeBufArray(Temp2) = 0
23 D-14 Case 0& If (ByteString(ByteStringIndex) And 1&) Then CodeBufArray(Temp2) = 1 CodeBufArray(Temp2) = 0 End Select ' For Temp3 = HTDC_CodeStringStructArray(1).StartIndexArray(Temp2) To HTDC_CodeStringStructArray(1).EndIndexArray(Temp2) If (Temp2 = HTDC_CodeStringStructArray(Temp3).CharCodeArrayLength) Then For Temp4 = 1& To HTDC_CodeStringStructArray(Temp3).CharCodeArrayLength If Not (HTDC_CodeStringStructArray(Temp3).CharCodeArray(Temp4) = CodeBufArray(Temp4)) Then GoTo Skip: Next Temp4 OutputByteString(Temp1) = HTDC_CodeStringStructArray(Temp3).Char GoTo Jump: Skip: Next Temp3 Next Temp2 Jump: End Sub mdlhufftree Option Explicit Public Type HT_CharInfoStruct CharArray(0 To 255) As Byte CharFrequencyArray(0 To 255) As Long End Type Public Type HT_CodeStringCreationStruct ByteStringLength As Long ByteString(1 To 256) As Byte ByteStringFrequency As Long End Type Public Type HT_CodeStringStruct CodeLength As Long CodeArray(1 To 256) As Byte End Type Public Type HT_TreeStringStruct TreeByteStringBitCount As Long TreeByteStringLength As Long TreeByteString() As Byte End Type
24 D-15 Public Type HTDC_CodeStringStruct Char As Byte CharCodeArrayLength As Long CharCodeArray(1 To 256) As Byte StartIndexArray(0 To 255) As Long EndIndexArray(0 To 255) As Long End Type Public Sub HTCS_HT_CodeStringStruct_Define(ByVal ByteStringLength As Long, ByRef ByteString() As Byte, ByRef HT_CharInfoStructVar As HT_CharInfoStruct, ByVal HT_CodeStringStructNumber As Integer, ByRef HT_CodeStringStructArray() As HT_CodeStringStruct) Dim HuffmanCharStructArray(0 To 255) As HT_CodeStringCreationStruct Dim HuffmanCharStructVar As HT_CodeStringCreationStruct Dim CharFrequencyMax As Double Dim LastUsedIndex As Long Dim TempHuffmanCharStruct As HT_CodeStringCreationStruct Dim TempByte As Byte Dim Temp1 As Long Dim Temp2 As Long Dim tmpstr As String For Temp1 = 0& To 255& HuffmanCharStructArray(Temp1).ByteStringLength = 1& HuffmanCharStructArray(Temp1).ByteString(1) = CByte(Temp1) HT_CharInfoStructVar.CharArray(Temp1) = CByte(Temp1) For Temp1 = 1& To ByteStringLength HuffmanCharStructArray(ByteString(Temp1)).ByteStringFrequency = _ HuffmanCharStructArray(ByteString(Temp1)).ByteStringFrequency + 1& HT_CharInfoStructVar.CharFrequencyArray(ByteString(Temp1)) = _ HuffmanCharStructArray(ByteString(Temp1)).ByteStringFrequency Do Temp2 = 0& LastUsedIndex = 255& ReDo: CharFrequencyMax = 0& For Temp1 = Temp2 To 255& If HuffmanCharStructArray(Temp1).ByteStringFrequency > CharFrequencyMax Then CharFrequencyMax = HuffmanCharStructArray(Temp1).ByteStringFrequency For Temp1 = Temp2 To 255& If HuffmanCharStructArray(Temp1).ByteStringFrequency = CharFrequencyMax Then If Not (Temp1 = Temp2) Then Call CopyMemory(TempHuffmanCharStruct, HuffmanCharStructArray(Temp2), Len(TempHuffmanCharStruct)) Call CopyMemory(HuffmanCharStructArray(Temp2), HuffmanCharStructArray(Temp1), Len(HuffmanCharStructArray(Temp1)))
25 D-16 Call CopyMemory(HuffmanCharStructArray(Temp1), TempHuffmanCharStruct, Len(TempHuffmanCharStruct)) If CharFrequencyMax > 0& Then LastUsedIndex = Temp2 Temp2 = Temp2 + 1& If Not (Temp2 = 256&) Then GoTo ReDo: If Not (LastUsedIndex > 0&) Then Exit Do For Temp1 = 1& To HuffmanCharStructArray(LastUsedIndex).ByteStringLength HT_CodeStringStructArray(HuffmanCharStructArray(LastUsedIndex).Byt estring(temp1)).codelength = _ HT_CodeStringStructArray(HuffmanCharStructArray(LastUsedIndex).Byt estring(temp1)).codelength + 1& HT_CodeStringStructArray(HuffmanCharStructArray(LastUsedIndex).Byt estring(temp1)).codearray( _ HT_CodeStringStructArray(HuffmanCharStructArray(LastUsedIndex).Byt estring(temp1)).codelength) = 0& For Temp1 = 1& To HuffmanCharStructArray(LastUsedIndex - 1&).ByteStringLength HT_CodeStringStructArray(HuffmanCharStructArray(LastUsedIndex - 1).ByteString(Temp1)).CodeLength = _ HT_CodeStringStructArray(HuffmanCharStructArray(LastUsedIndex - 1).ByteString(Temp1)).CodeLength + 1& HT_CodeStringStructArray(HuffmanCharStructArray(LastUsedIndex - 1).ByteString(Temp1)).CodeArray( _ HT_CodeStringStructArray(HuffmanCharStructArray(LastUsedIndex - 1).ByteString(Temp1)).CodeLength) = 1& Call CopyMemory(HuffmanCharStructArray(LastUsedIndex - 1&).ByteString(HuffmanCharStructArray(LastUsedIndex - 1&).ByteStringLength + 1&), _ HuffmanCharStructArray(LastUsedIndex).ByteString(1), HuffmanCharStructArray(LastUsedIndex).ByteStringLength) HuffmanCharStructArray(LastUsedIndex - 1&).ByteStringLength = _ HuffmanCharStructArray(LastUsedIndex - 1&).ByteStringLength + HuffmanCharStructArray(LastUsedIndex).ByteStringLength HuffmanCharStructArray(LastUsedIndex - 1&).ByteStringFrequency = _ HuffmanCharStructArray(LastUsedIndex - 1&).ByteStringFrequency + HuffmanCharStructArray(LastUsedIndex).ByteStringFrequency Call CopyMemory(HuffmanCharStructArray(LastUsedIndex), HuffmanCharStructVar, Len(HuffmanCharStructVar)) Loop For Temp1 = 0& To 255&
26 D-17 For Temp2 = 1& To (HT_CodeStringStructArray(Temp1).CodeLength \ 2&) TempByte = HT_CodeStringStructArray(Temp1).CodeArray(Temp2) HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = HT_CodeStringStructArray(Temp1).CodeArray(HT_CodeStringStructArray (Temp1).CodeLength - Temp2 + 1&) HT_CodeStringStructArray(Temp1).CodeArray(HT_CodeStringStructArray (Temp1).CodeLength - Temp2 + 1&) = TempByte Next Temp2 End Sub Public Function HTCS_TreeCodeByteString_Define(ByRef HT_CodeStringStructArray() As HT_CodeStringStruct, ByRef TreeCodeByteStringLength As Long, ByRef TreeCodeByteString() As Byte) As String Dim TreeCodeLengthTotal As Long Dim ByteStringBitWritePos As Long Dim ByteStringIndex As Long Dim Temp1 As Long Dim Temp2 As Long Dim TempByte As Byte For Temp1 = 0& To 255& TreeCodeLengthTotal = TreeCodeLengthTotal + _ HT_CodeStringStructArray(Temp1).CodeLength TreeCodeByteStringLength = 4& + 256& + (-Int(- TreeCodeLengthTotal / 8&)) ReDim TreeCodeByteString(1 To TreeCodeByteStringLength) As Byte Call CopyMemory(TreeCodeByteString(1), TreeCodeLengthTotal, 4) For Temp1 = 0& To 255& TempByte = CByte(HT_CodeStringStructArray(Temp1).CodeLength) Call CopyMemory(ByVal VarPtr(TreeCodeByteString(5 + Temp1)), TempByte, 1) ByteStringBitWritePos = (4& * 8&) + (256& * 8&) For Temp1 = 0& To 255& For Temp2 = 1& To HT_CodeStringStructArray(Temp1).CodeLength ByteStringBitWritePos = ByteStringBitWritePos + 1& If Not (HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0) Then ByteStringIndex = ((ByteStringBitWritePos - 1&) \ 8&) + 1& Select Case (ByteStringBitWritePos Mod 8&) Case 1& TreeCodeByteString(ByteStringIndex) = TreeCodeByteString(ByteStringIndex) _ Or HT_CodeStringStructArray(Temp1).CodeArray(Temp2) * 128& Case 2& TreeCodeByteString(ByteStringIndex) = TreeCodeByteString(ByteStringIndex) _
27 D-18 Or HT_CodeStringStructArray(Temp1).CodeArray(Temp2) * 64& Case 3& TreeCodeByteString(ByteStringIndex) = TreeCodeByteString(ByteStringIndex) _ Or HT_CodeStringStructArray(Temp1).CodeArray(Temp2) * 32& Case 4& TreeCodeByteString(ByteStringIndex) = TreeCodeByteString(ByteStringIndex) _ Or HT_CodeStringStructArray(Temp1).CodeArray(Temp2) * 16& Case 5& TreeCodeByteString(ByteStringIndex) = TreeCodeByteString(ByteStringIndex) _ Or HT_CodeStringStructArray(Temp1).CodeArray(Temp2) * 8& Case 6& TreeCodeByteString(ByteStringIndex) = TreeCodeByteString(ByteStringIndex) _ Or HT_CodeStringStructArray(Temp1).CodeArray(Temp2) * 4& Case 7& TreeCodeByteString(ByteStringIndex) = TreeCodeByteString(ByteStringIndex) _ Or HT_CodeStringStructArray(Temp1).CodeArray(Temp2) * 2& Case 0& TreeCodeByteString(ByteStringIndex) = TreeCodeByteString(ByteStringIndex) _ Or HT_CodeStringStructArray(Temp1).CodeArray(Temp2) End Select ' Next Temp2 Public Sub HTDC_HT_TreeStringStructVar_Define(ByRef HT_TreeStringStructVar As HT_TreeStringStruct, ByVal ByteStringLength As Long, ByRef ByteString() As Byte) If Not (ByteStringLength < 4) Then Call CopyMemory(HT_TreeStringStructVar.TreeByteStringBitCount, ByteString(5), 4) HT_TreeStringStructVar.TreeByteStringLength = Int(- HT_TreeStringStructVar.TreeByteStringBitCount / 8) ReDim HT_TreeStringStructVar.TreeByteString(1 To HT_TreeStringStructVar.TreeByteStringLength) As Byte Call CopyMemory(HT_TreeStringStructVar.TreeByteString(1), ByteString(9), HT_TreeStringStructVar.TreeByteStringLength) HT_TreeStringStructVar.TreeByteStringLength = 0 HT_TreeStringStructVar.TreeByteStringBitCount = 0 ReDim HT_TreeStringStructVar.TreeByteString(1 To 1) As Byte End Sub
28 D-19 Public Sub HTDC_HT_CodeStringStruct_Define(ByRef HT_CodeStringStructArray() As HT_CodeStringStruct, ByRef HT_TreeStringStructVar As HT_TreeStringStruct) Dim ByteStringIndex As Long Dim BitReadPos As Long Dim Temp1 As Long Dim Temp2 As Long For Temp1 = 0& To 255& HT_CodeStringStructArray(Temp1).CodeLength = CLng(HT_TreeStringStructVar.TreeByteString(Temp1 + 1&)) BitReadPos = (256& * 8&) With HT_TreeStringStructVar For Temp1 = 0& To 255& For Temp2 = 1& To HT_CodeStringStructArray(Temp1).CodeLength BitReadPos = BitReadPos + 1& ByteStringIndex = ((BitReadPos - 1&) \ 8&) + 1& Select Case BitReadPos Mod 8& Case 1& If (.TreeByteString(ByteStringIndex) And 128&) Then HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 1 HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0 Case 2& If (.TreeByteString(ByteStringIndex) And 64&) Then HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 1 HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0 Case 3& If (.TreeByteString(ByteStringIndex) And 32&) Then HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 1 HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0 Case 4& If (.TreeByteString(ByteStringIndex) And 16&) Then HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 1 HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0 Case 5&
29 D-20 Then If (.TreeByteString(ByteStringIndex) And 8&) HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 1 HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0 Case 6& If (.TreeByteString(ByteStringIndex) And 4&) Then HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 1 HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0 Case 7& If (.TreeByteString(ByteStringIndex) And 2&) Then HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 1& HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0& Case 0& If (.TreeByteString(ByteStringIndex) And 1&) Then HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 1 HT_CodeStringStructArray(Temp1).CodeArray(Temp2) = 0 End Select Next Temp2 End With End Sub Public Sub HTDC_CodeStringStruct_Define(ByRef HT_CodeStringStructArray() As HT_CodeStringStruct, ByRef HTDC_CodeStringStructArray() As HTDC_CodeStringStruct) Dim CodeLengthMin As Long Dim CodeLengthMayBeZeroFlag As Boolean Dim NonZeroLengthCharCodeNumber As Integer Dim TempHTDC_CodeStringStruct As HTDC_CodeStringStruct Dim Temp1 As Long Dim Temp2 As Long For Temp1 = 0& To 255& HTDC_CodeStringStructArray(Temp1).Char = CByte(Temp1) HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength = HT_CodeStringStructArray(Temp1).CodeLength Call CopyMemory(HTDC_CodeStringStructArray(Temp1).CharCodeArray(1), HT_CodeStringStructArray(Temp1).CodeArray(1), 256)
30 D-21 Temp2 = 0& ReDo: CodeLengthMin = 256& ^ 3& For Temp1 = Temp2 To 255& If CodeLengthMayBeZeroFlag = False Then If (HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength < CodeLengthMin) And _ (HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength > 0&) Then CodeLengthMin = HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength If HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength < CodeLengthMin Then CodeLengthMin = HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength If CodeLengthMin = 256& ^ 3& Then CodeLengthMayBeZeroFlag = True GoTo ReDo: If CodeLengthMayBeZeroFlag = False Then NonZeroLengthCharCodeNumber = NonZeroLengthCharCodeNumber + 1 For Temp1 = Temp2 To 255& If HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength = CodeLengthMin Then If Not (Temp1 = Temp2) Then TempHTDC_CodeStringStruct = HTDC_CodeStringStructArray(Temp1) HTDC_CodeStringStructArray(Temp1) = HTDC_CodeStringStructArray(Temp2) HTDC_CodeStringStructArray(Temp2) = TempHTDC_CodeStringStruct Temp2 = Temp2 + 1& If Not (Temp2 = 256&) Then GoTo ReDo: For Temp1 = 0& To 255& HTDC_CodeStringStructArray(1).StartIndexArray(Temp1) = 0& HTDC_CodeStringStructArray(1).EndIndexArray(Temp1) = -1& Temp2 = 0& For Temp1 = 0& To 255& If Not (HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength = Temp2) Then HTDC_CodeStringStructArray(1).EndIndexArray(Temp2) = (Temp1-1&)
31 D-22 Temp2 = HTDC_CodeStringStructArray(Temp1).CharCodeArrayLength HTDC_CodeStringStructArray(1).StartIndexArray(Temp2) = Temp1 If Temp1 = 255& Then HTDC_CodeStringStructArray(1).EndIndexArray(Temp2) = 255& HTDC_CodeStringStructArray(1).StartIndexArray(0) = 0& HTDC_CodeStringStructArray(1).EndIndexArray(0) = -1& End Sub
32 E-1 CURRICULUM VITAE Nama : Nuzul Sakinah Lubis Tempat/Tanggal Lahir : Jakarta/3 April 1990 Alamat Sekarang : Jl. Pintu air IV, Komplek POLMED no 8, Medan Alamat Orang Tua : Jl. Pintu air IV, Komplek POLMED no 8, Medan Telp/Hp : qinalubis@gmail.com Riwayat Pendidikan: SD Al-Azhar Medan dari Tahun 1996 s/d Tahun 2002 SMP Al-Azhar Medan dari Tahun 2002 s/d Tahun 2005 SMA Al-Azhar Medan dari Tahun 2005 s/d Tahun 2008 S1 Ilmu Komputer USU dari Tahun 2008 s/d Tahun 2013 Keahlian/Kursus yang diikuti: 1. Bahasa Inggris 2. Bahasa Pemrograman Pascal 3. Bahasa Pemrograman C++ 4. Extra kulikuler Basket Ball
BAB VI SISTEM BILANGAN
BAB VI SISTEM BILANGAN Sistem Bilangan adalah kumpulan simbol khusus yang digunakan dalam membangun sebua bilangan. Sistem bilangan yang umum dipakai manusia adalah Desimal yang terdiri dari sepuluh simbol
Lebih terperinciBAB II TINJAUAN PUSTAKA
BAB II TINJAUAN PUSTAKA II.1 Pengenalan Kriptografi II.1.1 Sejarah Kriptografi Kriptografi mempunyai sejarah yang panjang. Informasi yang lengkap mengenai sejarah kriptografi dapat di temukan di dalam
Lebih terperinciBAB II TINJAUAN PUSTAKA
BAB II TINJAUAN PUSTAKA II.1. Definisi Citra Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik
Lebih terperinciBAB III DATA KOMPUTASI
1 BAB III DATA KOMPUTASI 3.1. Tipe Data Dua permasalahan penting dalam data komputasi adalah tipe data dan penyimpanannya dalam memori komputer. Setiap bahasa pemrograman mempunyai cara yang berbeda-beda
Lebih terperinciSISTEM BILANGAN DAN SANDI
SISTEM BILANGAN DAN SANDI. Pendahuluan Sistem bilangan yang biasa kita pakai sehari-hari disebut bilangan berbasis posisi. Bilangan desimal disebut sistem basis (base system), karena sistem ini mempunyai
Lebih terperinciRANGKAIAN ARITMETIKA 2
RANGKAIAN ARITMETIKA 2 Pokok Bahasan : 1. Sistim Coding 2. Fungsi-fungsi Aritmetika Biner : penjumlahan, pengurangan, perkalian, pembagian 3. Implementasi fungsi Aritmetika pada sistim Bilangan yang lain
Lebih terperinciBAB IV SISTEM SANDI (CODING)
BAB IV SISTEM SANDI (CODING) Dalam meyalurkan data baik antar komputer yang sama pembuatnya maupun dengan komputer yang lain pembuatnya, data tersebut harus dimengerti oleh pihak pengirim maupun penerima.
Lebih terperinciBAB IV HASIL DAN PEMBAHASAN. Proses enkripsi dimulai dengan mengubah file input gambar RGB menjadi
BAB IV HASIL DAN PEMBAHASAN A. Hasil enkripsi dan deskripsi Proses enkripsi dimulai dengan mengubah file input gambar RGB menjadi susunan bit, Kemudian masukkan kunci Stegano dengan metode vigenere cipher,
Lebih terperincimenetapkan olahraga perlu makin ani bagi setiap anggota masyarakat, nasional yaitu memasyarakatkan masyarakat. Tak hanya itu saja
! " # $ $ %! & '! ( ) ) ' * % ) ' # + )! )! ' ),! &! ) % ( - ( " ( # + & ( )! &! ) %. % & ' (! # ' ) + #! ) ' $ ) ( / * * * 0 1 ) ' ( ( ) ( +! +! ' ( % $ ) ( & + / $ & 0 2 3 4 5 6 4 7 8 9 4 5 : ; 4 < =
Lebih terperinciBAB IV SISTEM SANDI (CODING)
BAB IV SISTEM SANDI (CODING) Dalam meyalurkan data baik antar komputer yang sama pembuatnya maupun dengan komputer yang lain pembuatnya, data tersebut harus dimengerti oleh pihak pengirim maupun penerima.
Lebih terperinciSISTEM BILANGAN Desimal, Biner, Oktal dan Heksadesimal
SISTEM BILANGAN Desimal, Biner, Oktal dan Heksadesimal Tujuan : Setelah mempelajari diharapkan dapat,. Memahami jenis-jenis sistem bilangan yang digunakan pada teknik mikroprosessor. Memahami konversi
Lebih terperinciRANGKAIAN ARITMETIKA 2
RANGKAIAN ARITMETIKA 2 Pokok Bahasan : 1. Sistim Coding 2. Fungsi-fungsi Aritmetika Biner : penjumlahan, pengurangan, perkalian, pembagian 3. Implementasi fungsi Aritmetika pada sistim Bilangan yang lain
Lebih terperinciPRAKTEK KOMUNIKASI DATA PENGKODEAN KARAKTER
PRAKTEK KOMUNIKASI DATA SEMESTER V TH 2008 / 2009 PENGKODEAN KARAKTER Disusun Oleh : FADLAN FAOZI (3306130171) NURINA PUTRI (3306130353) RETI ARI MURNI (3306130613) TANAGO (3306130505) PROGRAM STUDI JURUSAN
Lebih terperinciASCII (American Standart Code for Information Intercharge)
CODING CODING Suatu cara penggambaran himpunan simbol yang digunakan dalam komunikasi data agar data yang dikirimkan oleh peralatan pengirim dapat diterima dan dimengerti oleh peralatan penerima Jenis
Lebih terperinciRANGKAIAN ARITMETIKA
RANGKAIAN ARITMETIKA Materi :. Sistim Bilangan : Desimal, Biner, Oktal, Hexadesimal 2. Konversi Sistim Bilangan 3. Sistim Coding 4. Fungsi-fungsi Aritmetika Biner : penjumlahan, pengurangan, perkalian,
Lebih terperinciCODING. Komunikasi Data
CODING Komunikasi Data CODING Suatu cara penggambaran himpunan simbol yang digunakan dalam komunikasi data agar data yang dikirimkan oleh peralatan pengirim dapat diterima dan dimengerti oleh peralatan
Lebih terperinciBAB-2 : TIPE DATA, VARIABEL DAN OPERATOR
BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR Setelah selesai pembahasan pada bab ini, diharapkan Anda dapat : Mengenal dan dapat menggunakan tipe data Mengenal dan menggunakan variable Mengenal dan menggunakan
Lebih terperinciBAB 2 TINJAUAN PUSTAKA
7 BAB TINJAUAN PUSTAKA Pada bab ini penulis memaparkan teori-teori ilmiah yang didapat dari metode pencarian fakta yang digunakan untuk mendukung penulisan skripsi ini dan sebagai dasar pengembangan sistem
Lebih terperinciLISTING PROGRAM. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) ShowInputForm End Sub
LISTING PROGRAM 1. Listing Menu Utama Option Explicit Private ntime As Integer Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) ShowInputForm Private Sub Form_Load() ntime = 0 Private Sub
Lebih terperinciBAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah melakukan analisis dan perancangan terhadap aplikasi yang akan dibangun, tahapan selanjutnya adalah implementasi dan pengujian. Untuk mengimplementasikan
Lebih terperinciPenggunaan Sistem Bilangan dan Pengkodean -3-
Sistem Digital Penggunaan Sistem Bilangan dan Pengkodean -3- Missa Lamsani Hal 1 Penggunaan Bilangan Biner Bilangan biner digunakan dalam komputer yang biasa tidak terlihat oleh pengguna Namun kemampuan
Lebih terperinciBAB IV PENGUJIAN DAN ANALISIS
BAB IV PENGUJIAN DAN ANALISIS Pada bagian ini merupakan pembahasan mengenai pengujian sistem dimana hasil pengujian yang akan dilakukan oleh sistem nantinya akan dibandingkan dengan perhitungan secara
Lebih terperinciBAB IV IMPLEMENTASI DAN PENGUJIAN. dan tempat implementasi dari perangkat lunak ini adalah sebagai berikut :
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 IMPLEMENTASI PERANGKAT LUNAK Lingkungan perangkat keras yang digunakan untuk perancangan sistem dan tempat implementasi dari perangkat lunak ini adalah sebagai berikut
Lebih terperinciData Link Layer BAB 3
Data Link Layer BAB 3 Fungsi Data Link Layer Menyediakan antarmuka layanan untuk Network Layer Berurusan dengan kesalahan transmisi Pengaturan aliran data Lambat penerima tidak dibanjiri oleh pengirim
Lebih terperinciBAB 3 METODOLOGI PENELITIAN
BAB 3 METODOLOGI PENELITIAN 3.1. Pengantar Metodologi penelitian merupakan sekumpulan proses terstruktur mengenai peraturan, kegiatan, dan prosedur yang digunakan oleh pelaku suatu disiplin ilmu dalam
Lebih terperinciSTEGANOGRAFI PENYISIPAN TEKS PADA CITRA MENGGUNAKAN METODE END OF FILE
TUGAS AKHIR SM141501 STEGANOGRAFI PENYISIPAN TEKS PADA CITRA MENGGUNAKAN METODE END OF FILE JOKO SAPUTRA NRP 1211 100 065 Dosen Pembimbing Dr. Darmaji, S.Si, MT JURUSAN MATEMATIKA Fakultas Matematika dan
Lebih terperinciPre Processing. Memberikan gambaran jenis-jenis pre-processing
PRAKTIKUM II Pre Processing Tujuan Memberikan gambaran jenis-jenis pre-processing Teori Penunjang Prosedur Percobaan 1. Berikut ini percobaan konversi dari gambar RGB menjadi Gray Scale. 2. Gunakan proyek
Lebih terperinciLISTING PROGRAM. Script Menu Utama Pada Game Tebak Kata
LISTING PROGRAM Script Menu Utama Pada Game Tebak Kata Dim kesempatan As Integer Dim nilai As Integer Dim arrkataasli(20) As String Dim kataasli As String Dim arrhurufharushilang(20) As String Dim hurufharushilang
Lebih terperinciMENGENAL DAN MEMPELAJARI BARCODE (Bagian I)
MENGENAL DAN MEMPELAJARI BARCODE (Bagian I) 1. Berkenalan dengan Barcode. Mungkin tanpa disadari setiap hari kita akan menemui barcode, misalnya p ada produk makanan, obat, barang konsumer yang kita miliki,
Lebih terperinciKONEKSI VB DENGAN MYSQL (Wajib, S.Pd.)
KONEKSI VB DENGAN MYSQL (Wajib, S.Pd.) Membuat Database dengan nama Siswa NAMA FIELD NIS NAMA ALAMAT JURUSAN TYPE CHAR(5) VARCHAR(30) VARCHAR(40) VARCHAR(20) Membuat Desain Form pada Visual Basic Menentukan
Lebih terperinciVBSCRIPT TUTORIAL. 2. MEMASUKKAN KODE VBSCRIPT KE DALAM HALAMAN HTML Kode VBScript ditulis didalam pasangan tag <SCRIPT>.
VBSCRIPT TUTORIAL 1. APAKAH VBSCRIPT? Microsoft Visual Basic Scripting Edition, salah satu anggota bahasa pemrograman Visual Basic, adalah bahasa pemrograman active scripting, baik untuk web client scripting
Lebih terperinciField Tipe Data Size Keterangan userid Text 12 Primary key namauser Text 30 - password Text 8 - akses Text 10 -
Buatlah database baru dan beri nama penjualan Buat beberapa tabel berikut: 1. Barang Kodebrg Text 12 Primary key Namabrg Text 30 - Hargabl Currency - Input mask Hargajl Currency - Input mask Stok Number
Lebih terperinci1. Rancangan Input Program Form Menu Utama Form Data Barang [ Input Barang ]
1. Rancangan Input Program Form Menu Utama Form Data Barang [ Input Barang ] L-1 Form Data Barang [ Browse ] Form Produksi L-2 Form Faktur Penjualan Form Pembeli L-3 Form Pembeli [ Browse ] Properti Form
Lebih terperinciLAYER FISIK TERKAIT LAYER FISIK: 1. SINKRONISASI 2. PHYSICAL ENCODING : NRZI, NRZ, MANCHESTER, AMI 3. GANGGUAN LAYER FISIK
LAYER FISIK LAYER FISIK TERKAIT LAYER FISIK: 1. SINKRONISASI 2. PHYSICAL ENCODING : NRZI, NRZ, MANCHESTER, AMI 3. GANGGUAN LAYER FISIK MODE TRANSMISI Mode Transmisi merupakan cara suatu data dikirimkan:
Lebih terperinciBab 7 Komponen Dasar Visual Basic 29 BAB VII KOMPONEN DASAR VISUAL BASIC TUJUAN PRAKTIKUM
Bab 7 Komponen Dasar Visual Basic 29 BAB VII KOMPONEN DASAR VISUAL BASIC TUJUAN PRAKTIKUM 1. Mengerti tipe-tipe data yang dimiliki oleh Visual Basic 2. Memahami berbagai struktur kondisi yang terdapat
Lebih terperinciBAB II DASAR TEORI. Gambar 2.1. Proses Enkripsi Dekripsi
BAB II DASAR TEORI Pada bagian ini akan dibahas mengenai dasar teori yang digunakan dalam pembuatan sistem yang akan dirancang dalam skripsi ini. 2.1. Enkripsi dan Dekripsi Proses menyandikan plaintext
Lebih terperinciStruktur Data II. Bekerja Dengan Form.
Struktur Data II dengan Visual Basic Bekerja Dengan Form ptputraastawa@gmail.com Ptputraastawa.wordpress.com @2011 Data dan Variabel Penggunaan Data dan Variabel Informasi yang disimpan atau diolah oleh
Lebih terperinciKODE ASCII 7 BIT. American Standard Code for Information Iinterchange
KODE ASCII 7 BIT Dony Ariyus, Rum Muhamad Andri, Jurusan Teknik Informatika, STMIK AMIKOM Yogyakarta, Jl. Ring Road Utara, Condong Catur, Sleman, Yogyakarta - Indonesia ASCII dikenal dengan International
Lebih terperinciBAB V PROSEDUR DAN FUNGSI
BAB V PROSEDUR DAN FUNGSI Modul-modul dalam Visual Basic dibuat oleh suatu bagian/seksi deklarasi dimana anda mendeklarasikan tipe, konstan, dan variabel yang digunakan dalam modul serta kumpulan dari
Lebih terperinciPenggandaan Ke Sistem
Ketika virus dijalankan oleh seseorang maka virus tersebut akan mulai melakukan aktivitasnya sebagai virus yaitu dengan melakukan penggandaan ke system computer (Infeksi ke system). Hal ini dilakukan agar
Lebih terperinciKartu Bimbingan Tugas Akhir Mahhasiswa
KEMENTERIAN PENDIDIKAN NASIONAL UNIVERSITAS SUMATERA UTARA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM Jln. Bioteknologi No.1 Kampus USU Padang Bulan Medan-20155 Telp. (061) 8211050, 82144290, Fax. (061)
Lebih terperinciOBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment
OBJECT ORIENTED PROGRAMMING Day 3 : Operator dan Assignment TOPIK Membedakan antara instance dan local l variabel. Urutan pemrosesan Unary operator Arithmetic operator Shift operator: , dan >>> Comparison
Lebih terperinciVariable. Variable (cont) Variable (cont) Tipe Data
Variable Variable (cont) Variable dapat didefinisikan sebagai bagian dari memory untuk menyimpan nilai yang telah ditentukan. Setiap variable memrlukan identifier yang dapat membedakannya dari variable
Lebih terperinciOperator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek
Operator dan Assignment Pertemuan 3 Pemrograman Berbasis Obyek Topik Unary operator Arithmetic operator Shift operator: , dan >>> Comparison operator Bitwise operator: &, ^, dan. Short Circuit operator
Lebih terperinciTopik. Pengodean Data Teknik Pengodean
Konsep Pengodean Topik Pengodean Data Teknik Pengodean Introduction Ilustrasi : A B C Karakter Data Karakter Data Karakter Data Why mas bray????????? Jawaban Mas Bray Dikodekan dulu dong (dicoding) Coding
Lebih terperinciMODUL IV PERULANGAN ( LOOPING )
MODUL IV PERULANGAN ( LOOPING ) beberapa jenis perulangan dalam pemrograman Visual Basic pada umumnya tidak jauh berbeda dengan bahasa pemrograman lainnya, berikut ialah beberapa jenis looping ( perulangan
Lebih terperinci1. Buka Visual Basic 6 sobat. Buat project baru, masukkan componen Microsoft Winsock Control 2. Masukkan coding berikut
Membuat Sendiri DDoS Tool Dengan Visual Basic 6 Saat ini banyak bertebaran DDoS Tool yang bisa kita jumpai di dunia maya ini. DDoS ( Distributed Denial of Service ) adalah sebuah tipe serangan dari hacker
Lebih terperinciBAB III Struktur Program
BAB III Struktur Program Setelah mengenal masing-masing bagian pada window utama Visual Basic beserta fungsinya, selanjutnya akan dipelajari struktur yang diperlukan dalam pemrograman bahasa Visual Basic.
Lebih terperinciMenampilkan List Komputer dan User-nya dalam Jaringan Intranet Dengan Fungsi WNet API
Menampilkan List Komputer dan User-nya dalam Jaringan Intranet Dengan Fungsi WNet API Artikel ini telah dipublikasikan pada majalah Mikrodata Vol. 8 Series 17, Agustus 2002. Agus Kurniawan agusk@cs.ui.ac.id
Lebih terperinciBAB IV IMPLEMENTASI DAN PENGUJIAN. bagian dekompresi dan bagian client server yang dapat melakukan kompresi dan
1 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Program Program kompresi data ini terdiri dari beberapa bagian. Bagian kompresi, bagian dekompresi dan bagian client server yang dapat melakukan kompresi
Lebih terperinciTutorial, Source code, Request Program Visual Basic
Tutorial, Source code, Request Program Visual Basic Oleh : Moh. A Azis Membuat Form Transaksi Barang Keluar Program Persediaan Barang Form barang keluar digunakan untuk melakukan transaksi penginputan
Lebih terperinciBAB 2 LANDASAN TEORI Kriptografi
14 BAB 2 LANDASAN TEORI 2.1. Kriptografi Kriptografi memiliki sejarah yang sangat panjang di mana kriptografi telah ditemukan sejak 3600 tahun yang lalu di lihat dari sudah di temukannya simbol - simbol
Lebih terperinciAlgoritma Cipher Block EZPZ
Algoritma Cipher Block EZPZ easy to code hard to break Muhammad Visat Sutarno (13513037) Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganesha 10 Bandung
Lebih terperinciPertemuan III MENYIMPAN REKAMAN (RECORD) KE DALAM BASIS DATA
Pertemuan III MENYIMPAN REKAMAN (RECORD) KE DALAM BASIS DATA A. MAKSUD DAN TUJUAN 1. MAKSUD Memahami cara menyimpan data ke dalam basis data dengan kode program 2. TUJUAN Mahasiswa mampu membuat program
Lebih terperinci1.1 Mengenal Visual Basic (VB) 1.2 Mengenal Integrated Development Environment (IDE) VB 6
1.1 Mengenal Visual Basic (VB) Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintahperintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu.
Lebih terperinciOZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5
OZ: Algoritma Cipher Blok Kombinasi Lai-Massey dengan Fungsi Hash MD5 Fahziar Riesad Wutono Teknik Informatika Institut Teknologi Bandung Bandung, Indonesia fahziar@gmail.com Ahmad Zaky Teknik Informatika
Lebih terperinciBAB III ANALISIS SISTEM
BAB III ANALISIS SISTEM Analisis merupakan kegiatan berfikir untuk menguraikan suatu pokok menjadi bagian-bagian atau komponen sehingga dapat diketahui cirri atau tanda tiap bagian, kemudian hubungan satu
Lebih terperinciPraktekum VB 6.0 I. KOTAK PESAN. Contoh syntax kotak pesan
Praktekum VB 6.0 Oleh : Bohal K. Simorangkir, S.Kom STMIK Parna Raya, Manado ========================== I. KOTAK PESAN Contoh syntax kotak pesan Private Sub Command2_Click() Dim pesan As String pesan =
Lebih terperinciBAB 2 LANDASAN TEORI
BAB 2 LANDASAN TEORI 2.1. Kriptografi 2.1.1. Definisi Kriptografi Kriptografi (Cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kriptografi berasal dari bahasa
Lebih terperinciProgram Enkripsi & Dekripsi sederhana menggunakan Visual Basic 6.0
Program Enkripsi & Dekripsi sederhana menggunakan Visual Basic 6.0 Eko Riduwan eko@ekoriduwan.com http://blog.ekoriduwan.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi
Lebih terperinciPenggunaan Timing Attack Sebagai Salah Satu Jenis Serangan pada Kriptografi
Penggunaan Timing Attack Sebagai Salah Satu Jenis Serangan pada Kriptografi Widhi Ariandoko - 13508109 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Lebih terperinciDASAR PEMOGRAMAN JAVA
DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana
Lebih terperinciKARTU BIMBINGAN TUGAS AKHIR MAHASISWA
KEMENTERIAN PENDIDIKAN NASIONAL UNIVERSITAS SUMATERA UTARA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM PROGRAM STUDI D.III TEKNIK INFORMATIKA Jl. Bioteknologi No. 1 Kampus USU MEDAN Telp/FAX. 061-8214290
Lebih terperinciPrivate Sub cmdprint_click() WebBrowser1.ExecWB OLECMDID_PRINT,OLECMDEXECOPT_DODEFAULT End Sub
Lampiran 1 Form Utama Aplikasi Web Browser Dim counter As Integer Private Sub cmdback_click() WebBrowser1.GoBack Private Sub cmdbuka_click() CommonDialog1.CancelError = True On Error GoTo Cancel CommonDialog1.Filter
Lebih terperinciLISTING PROGRAM. Private Sub MDIParent1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
A-1 LISTING PROGRAM TAMPILAN UTAMA Public Class FormUtama Public lokasilsb As String Public lokasi2lsb As String Public besarfilelsb As Long Public besarfile2lsb As Long Public lokasieof As String Public
Lebih terperinci2.0 PERWAKILAN DATA PROGRAM LATIHAN GURU ASAS SAINS KOMPUTER TINGKATAN 1 BAHAGIAN PENDIDIKAN GURU KEMENTERIAN PENDIDIKAN MALAYSIA.
PROGRAM LATIHAN GURU ASAS SAINS KOMPUTER TINGKATAN 1 BAHAGIAN PENDIDIKAN GURU KEMENTERIAN PENDIDIKAN MALAYSIA Tajuk Topik 2.0 PERWAKILAN DATA 2.1 SISTEM NOMBOR PERDUAAN A. Objektif Pada akhir sesi ini,
Lebih terperinciDasar Pemrograman Java
Dasar Pemrograman Java Topik: Membedakan antara valid dan invalid identifiers. Mengetahui Java technology keywords. Mengetahui 8 tipe data primitif. Mendefinisikan literal value untuk tipe data numerik
Lebih terperinciKeterangan : Integer Long : tipe data untuk angka bulat Single, Double : tipe data untuk angka pecahan/desimal Currency : tipe data untuk angka mata
TIPE DATA, VARIABEL DAN KONSTANTA, OPERATOR DAN KONTROL PROGRAM Minggu ke-3 Tipe Data dalam Visual Basic Microsoft Visual Basic menyediakan beberapa tipe data seperti Integer, Long, Single, Double, Currency,
Lebih terperinciStandard IEEE 754 & Big Endian Litle Endian
Standard IEEE 754 & Big Endian Litle Endian Disusun oleh: Tim dosen SLD Diedit ulang oleh: Endro Ariyanto Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom September 2015 Floating Point
Lebih terperinciTeori Algoritma TIPE DATA
Alam Santosa Teori Algoritma Dasar Algoritma TIPE DATA Program komputer adalah deretan perintah untuk memanipulasi data input menjadi informasi yang bermanfaat bagi pengguna (user). Data yang diinput dapat
Lebih terperinciListing Program. 1. Loading. 2. Home. Option Explicit. Dim isplash As Integer. Private Sub Timer1_Timer() On Error Resume Next. isplash = isplash + 5
Listing Program 1. Loading Option Explicit Dim isplash As Integer Private Sub Timer1_Timer() On Error Resume Next isplash = isplash + 5 ProgressBar1.Value = ProgressBar1.Value + 400 / 400 If isplash >
Lebih terperinciGambar 1 Table Petugas. Gambar 2 Penambahan Komonen Pada Form
A. Pembutan input data petugas 1) Membuat table petugas Buat table dengan nama Tpetugas buat isi table seperti gambar di bawah ini Field name Data type Field size Index kd_ptgs Text 4 Primary key nama
Lebih terperinciPROSEDUR & PARAMETER PROSEDUR
PROSEDUR & PARAMETER PROSEDUR Prosedur - Merupakan sekumpulan statement yang dibungkus menjadi satu untuk melakukan suatu tugas tertentu - Merupakan sebuah blok program yang didalamnya, dapat dituliskan
Lebih terperinciAlgoritma Pemrograman 2 B
Algoritma Pemrograman 2 B Dr. Lily Wulandari Minggu 3 TIPE DATA, VARIABEL DAN KONSTANTA, OPERATOR DAN KONTROL PROGRAM 1 Tipe Data dalam Visual Basic Microsoft Visual Basic menyediakan beberapab tipe data
Lebih terperinciDAFTAR PUSTAKA. Multimedia Control, Steven Holzner. Diakses pada tanggal 14/09/2011 Dari
DAFTAR PUSTAKA CommonDialog Control, 2011.Visual Basic 6.0. Diakses pada tanggal 14/09/2011 http://msdn.microsoft.com/en-us/library/aa259661%28v=vs.60%29.aspx Forrest Moon Production, 2010. The Birth Of
Lebih terperinciBAB III PERENCANAAN DAN REALISASI
BAB III PERENCANAAN DAN REALISASI 3.1 Deskripsi Sistem Nama Sistem :Simulasi Monitoring Downtime Mesin Dengan Visual Basic 6.0 Fungsi :Pencatatan Downtime Mesin. Keunggulan : Mencatat Downtime Mesin Secara
Lebih terperinciTujuan Instruksional. Mahasiswa mampu :
Tujuan Instruksional Mahasiswa mampu : Mengulang dan mengingatkan kembali tentang Dasar Pemrograman Mengigatkan kembali pemahaman tentang Flow Control, Looping, dll Penting!! Kehadiran kurang dari 80%
Lebih terperinciModifikasi Blok Cipher
Modifikasi Blok Cipher TriTOLE Cipher Ivan Andrianto Teknik Informatika / Sekolah Tinggi Elektro dan Informatika Institut Teknologi Bandung Bandung, Indonesia andrianto.ivan@gmail.com Wilhelmus Andrian
Lebih terperinciBAHASA PEMROGRAMAN C
BAHASA PEMROGRAMAN C A. Pengenalan Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya
Lebih terperinciBlox: Algoritma Block Cipher
Blox: Algoritma Block Cipher Fikri Aulia(13513050) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, 13513050@std.stei.itb.ac.id
Lebih terperinciSCROLL BAR, PROGRESS BAR, MESSAGE BOX, DAN INPUT BOX SCROLL BAR
SCROLL BAR, PROGRESS BAR, MESSAGE BOX, DAN INPUT BOX SCROLL BAR Scroll Bar Merupakan kontrol penggulung Ada dua macam tipe: Vertical scroll bar Terletak disisi tegak suatu jendela Horizontal scroll bar
Lebih terperinciImam Fahrur Rozi. Algoritma dan Pemrograman. Pengantar C++
Imam Fahrur Rozi Algoritma dan Pemrograman Pengantar C++ LEARNING OUTCOME : 1. MEMAHAMI STRUKTUR DASAR PEMROGRAMAN C++ 2. MEMAHAMI SINTAKS OUTPUT 3. MEMAHAMI PREPROCESSOR DIRECTIVE 4. MEMAHAMI FUNGSI MAIN
Lebih terperinciStruktur kontrol terbagi dalam dua jenis yaitu : Struktur pengambilan keputusan Struktur pengulangan (Loooping)
BAB III STRUKTUR KONTROL Struktur kontrol yang dimiliki oleh visual basic hampir sama dengan bahasa pemograman lainnya. Struktur kontrol merupakan pengaturan aliran program, berbentuk rangkaian perintah
Lebih terperinciCopyright by : ipi-leppindo jambi all reserved 2014 (japikinfo.com)
1 FORM DATA BARANG Dim Db As Database Dim RsBarang As Recordset Sub Koneksi() 'Koneksi Database Set Db = OpenDatabase("Tentukan Lokasi Database\Barang.mdb") Set RsBarang = Db.OpenRecordset("Table_Stok")
Lebih terperinciPRAKTIKUM 4 ARRAY DAN SUB ROUTINE
PRAKTIKUM 4 ARRAY DAN SUB ROUTINE I. TUJUAN Tujuan praktikum 4 adalah mahasiswa bisa membuat program yang menggunakan variabel arrray dan menyusun program terstruktur yang terbagi dalam beberapa sub routine
Lebih terperinciMe.Picture = LoadPicture(App.Path & "\pakar.jpg") App.HelpFile = App.Path & "\Help.hlp" End Sub
LISTING PROGRAM Form Utama Option Explicit Private Sub MDIForm_Load() Me.imgIkon.ListImages.Remove "Pengetahuan" Me.imgIkon.ListImages.Remove "Penelusuran" Me.imgIkon.ListImages.Remove "Penjelasan" Me.imgIkon.ListImages.Clear
Lebih terperinciFPGA DAN VHDL TEORI, ANTARMUKA DAN APLIKASI
FPGA DAN VHDL TEORI, ANTARMUKA DAN APLIKASI Chapter 1 Prinsip-Prinsip Sistem Digital Ferry Wahyu Wibowo Outlines Sistem digital Persamaan dan perbedaan elektronika analog dan elektronika digital Sistem
Lebih terperinciSet Instruksi. Set Instruksi. Set Instruksi adalah kumpulan
Bab 10 Disusun Oleh : Rini Agustina, S.Kom, M.Pd Definisi: lengkap instruksi yang dapat adalah kumpulan dimengerti CPU Sifat2: 1. Merupakan Kode Mesin 2. Dinyatakan dalam Biner 3.Biasanya digunakan dalam
Lebih terperinciOPERATOR-OPERATOR DALAM JAVA
OPERATOR-OPERATOR DALAM JAVA Obyektif : 1. Memahami tentang operator-operator (aritmatic, logical, relational, assigment, bitwise) 2. Dapat membuat program sederhana dengan menggunakan operatoroperator
Lebih terperinciBAB 3 ANALISIS DAN PERANCANGAN
BAB 3 ANALISIS DAN PERANCANGAN 3.1.Analisis Sistem Pengertian dari analisis sistem (systems analysis) adalah tahap pertama dari pengembangan sistem yang menjadi fondasi menentukan keberhasilan sistem informasi
Lebih terperinciFILE URUT (Sequential File)
FILE URUT (Sequential File) 1. PENDAHULUAN Organisasi file secara urut memungkinkan pengaksesan record di file secara berurutan Ada 2 macam organisasi file secara urut : 1. Bentuk organisasi SEQUENTIAL
Lebih terperinciBasic Programing Visual Basic
Basic Programing Visual Basic Oleh : Aririk Japik, 1 Mengenal Visual Basic Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintahperintah yang dimengerti oleh komputer
Lebih terperinciMODUL D :// Mahasiswa memahami konsep pembuatan database. Mahasiswa memahami konsep pembuatan program dasar aplikasi database
MODUL D :// Mahasiswa memahami konsep pembuatan database. Mahasiswa memahami konsep pembuatan program dasar aplikasi database I. Membuat DataBase 1. Buatlah database di Access ->Pilih Blank Access Database
Lebih terperinciPHP mendukung komentar yang digunakan pada C, C++ dan Shell Unix. Sebagai contoh:
Perintah Dasar Tag PHP Ketika PHP membaca suatu file, proses akan berlangsung hingga ditemukan tag khusus yang berfungsi sebagai tanda dimulainya interpretasi teks tersebut sebagai kode PHP. PHP akan menjalankan
Lebih terperinciMODUL 2 Variabel, Val, If tunggal dan If bersarang + case
MODUL 2 Variabel, Val, If tunggal dan If bersarang + case 1. variabel suatu tempat dalam memori yang diberi nama (sebagai pengenal) dan dialokasikan untuk menampung data. Sintax : Dim_namavariabel_As_typedata
Lebih terperinci1. Kompetensi Memahami berbagai teknologi pemrograman basis data, khususnya MySQL, pada Visual Basic 6.0.
No. : LST/PTI/PTI 8/0 Revisi : 0 Tgl. : 5-3-009 Hal. dari 3 hal.. Kompetensi Memahami berbagai teknologi pemrograman basis data, khususnya MySQL, pada Visual Basic 6.0.. Sub Kompetensi Dapat mengakses
Lebih terperinciVARIABEL & TIPE DATA PEMROGRAMAN C++
VARIABEL & TIPE DATA PEMROGRAMAN C++ ruliriki@gmail.com VARIABEL Suatu nama yang menyatakan tempat dalam memori komputer Menyimpan nilai yang dapat diubah VARIABEL Pengenal (identifier) yang digunakan
Lebih terperinciMobile Programming. Python Script SL4A & Basic Python Script
Mobile Programming Python Script SL4A & Basic Python Script Tentang SL4A SL4A (The Scripting Layer for Android) : Aplikasi open source yang memungkinkan bahasa pemrograman intepreter dapat berjalan di
Lebih terperinciBAB IV PERANCANGAN. Gambar diatas adalah tampilang awal ketika ingin memulai project baru. Pilih Standart EXE untuk memulai project.
BAB IV PERANCANGAN 4.1 Perancangan Visual Basic 6.0 Dalam perancangan aplikasi perancangan data menggunakan visual basic 6.0 langkah pertama adalah dengan membuat Form Home Gambar 4.1 New Project Gambar
Lebih terperinciFORM LOGIN. Option Explicit. Private Sub cmdexit_click() End End Sub
1 FORM LOGIN Option Explicit Private Sub cmdexit_click() End Private Sub cmdlogin_click() On Error GoTo handleerror If (txtnama = "") Then MsgBox "Nama user harus diisi terlebih dahulu",, "Perhatian" txtnama.setfocus
Lebih terperinci